Commit 14c1e19e authored by pfeldman@chromium.org's avatar pfeldman@chromium.org

DevTools: update responsive design icon.

R=vsevik@chromium.org

Review URL: https://codereview.chromium.org/345713004

git-svn-id: svn://svn.chromium.org/blink/trunk@176514 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent b1999912
{
"statusbarButtonGlyphs.svg": "9717a272c3d0c6f9804f78fe5d65a1dd",
"statusbarButtonGlyphs.svg": "3f642dca97434b4cbb6491e2854dc69f",
"breakpoint.svg": "69cd92d807259c022791112809b97799",
"responsiveDesign.svg": "bc00a0a7fb0a47453929f94c9a4e003c",
"settingsListRemove.svg": "ce9e7c5c5cdaef28e6ee51d9478d5485",
......
<?xml version="1.0" encoding="utf-8"?><svg height="144" version="1.1" width="320" xml:space="preserve" xmlns="http://www.w3.org/2000/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"
><sodipodi:namedview showgrid="true"
><inkscape:grid dotted="false" empspacing="2" enabled="true" id="grid3327" snapvisiblegridlinesonly="true" spacingx="32px" spacingy="24px" type="xygrid" visible="true"/></sodipodi:namedview
><defs
><linearGradient id="a"
><stop offset="0" stop-color="#606eda"
/><stop offset="1" stop-color="#021db2"/></linearGradient
><linearGradient id="b"
><stop offset="0" stop-color="#e59290"
/><stop offset="1" stop-color="#e99890"/></linearGradient
><linearGradient id="c"
><stop offset="0" stop-color="#c0544f"
/><stop offset="1" stop-color="#d08481"/></linearGradient
><linearGradient id="d"
><stop offset="0" stop-color="#ffa801" stop-opacity="0"
/><stop offset="1" stop-color="#f0fb3d"/></linearGradient
><linearGradient id="e"
><stop offset="0" stop-color="#ffbd00" stop-opacity="0.65"
/><stop offset="1" stop-color="#fff" stop-opacity="0.91"/></linearGradient
><linearGradient id="f"
><stop offset="0" stop-color="#00d600" stop-opacity="0"
/><stop offset="1" stop-color="#d8fc7b" stop-opacity="0.81"/></linearGradient
><linearGradient id="g"
><stop offset="0" stop-color="#00ba00"
/><stop offset="1" stop-color="#fff" stop-opacity="0.91"/></linearGradient
><linearGradient id="h"
><stop offset="0" stop-color="#00a104"
/><stop offset="1" stop-color="#00c605"/></linearGradient
><linearGradient id="i"
><stop offset="0" stop-color="#f00" stop-opacity="0"
/><stop offset="1" stop-color="#f0cb68" stop-opacity="0.71"/></linearGradient
><linearGradient id="j"
><stop offset="0" stop-color="#e60000" stop-opacity="0.65"
/><stop offset="1" stop-color="#fff" stop-opacity="0.91"/></linearGradient
><linearGradient id="k"
><stop offset="0" stop-color="#a10000"
/><stop offset="1" stop-color="#c60000"/></linearGradient
><linearGradient id="l"
><stop offset="0" stop-color="#d7687d"
/><stop offset="1" stop-color="#b21402"/></linearGradient
><radialGradient cx="0" cy="0" fx="0" fy="0" gradientTransform="matrix(18,0,0,-18,680,341)" gradientUnits="userSpaceOnUse" id="z" r="1" spreadMethod="pad"
><stop offset="0"
/><stop offset="1" stop-opacity="0"/></radialGradient
><radialGradient cx="0" cy="0" fx="0" fy="0" gradientTransform="matrix(9,0,0,9,304,36)" gradientUnits="userSpaceOnUse" id="A" r="1" spreadMethod="pad" xlink:href="#z"
/><linearGradient gradientTransform="matrix(0,-0.58333333,-0.58333333,0,118,110)" gradientUnits="userSpaceOnUse" id="m" x1="0" x2="24" xlink:href="#l" y1="0" y2="0"
/><linearGradient gradientTransform="matrix(0,1,-1,0,206,0)" gradientUnits="userSpaceOnUse" id="n" x1="96.5" x2="109.5" xlink:href="#b" y1="103" y2="103"
/><linearGradient gradientTransform="matrix(0,1,-1,0,207,-17)" gradientUnits="userSpaceOnUse" id="o" x1="113" x2="127" xlink:href="#c" y1="104" y2="104"
/><linearGradient gradientTransform="matrix(0,-0.41666666,-0.41666666,0,218,106)" gradientUnits="userSpaceOnUse" id="p" x1="0" x2="24" xlink:href="#l" y1="0" y2="0"
/><linearGradient gradientTransform="matrix(0.71428571,0,0,0.71428571,132.28571,37.714287)" gradientUnits="userSpaceOnUse" id="q" x1="113" x2="127" xlink:href="#a" y1="104" y2="104"
/><linearGradient gradientTransform="matrix(0,1.3793103,-1.3008129,0,363.08462,-218.35335)" gradientUnits="userSpaceOnUse" id="r" x1="227.875" x2="235.125" xlink:href="#k" y1="103.15625" y2="103.15625"
/><linearGradient gradientTransform="matrix(0,-0.62931035,0.92682926,0,133.46895,244.52849)" gradientUnits="userSpaceOnUse" id="s" x1="227.875" x2="235.125" xlink:href="#j" y1="103.15625" y2="103.15625"
/><linearGradient gradientTransform="matrix(0,0.43965518,0.78048781,0,148.48744,2.1206316)" gradientUnits="userSpaceOnUse" id="t" x1="227.875" x2="235.125" xlink:href="#i" y1="103.15625" y2="103.15625"
/><linearGradient gradientTransform="matrix(-0.01506784,1.3792098,-1.3007182,-0.01421029,377.66542,-216.8212)" gradientUnits="userSpaceOnUse" id="u" x1="227.875" x2="235.125" xlink:href="#h" y1="103.15625" y2="103.15625"
/><linearGradient gradientTransform="matrix(0.00687469,-0.62926454,0.92676181,0.01012483,142.86511,243.44332)" gradientUnits="userSpaceOnUse" id="v" x1="227.875" x2="235.125" xlink:href="#g" y1="103.15625" y2="103.15625"
/><linearGradient gradientTransform="matrix(-0.00480288,0.43962318,0.780431,0.00852617,160.60265,1.1603253)" gradientUnits="userSpaceOnUse" id="w" x1="227.875" x2="235.125" xlink:href="#f" y1="103.15625" y2="103.15625"
/><linearGradient gradientTransform="matrix(0,-0.62931035,0.92682926,0,155.46895,244.52849)" gradientUnits="userSpaceOnUse" id="x" x1="227.875" x2="235.125" xlink:href="#e" y1="103.15625" y2="103.15625"
/><linearGradient gradientTransform="matrix(0,0.43965518,0.78048781,0,170.44325,2.076437)" gradientUnits="userSpaceOnUse" id="y" x1="227.875" x2="235.125" xlink:href="#d" y1="103.15625" y2="103.15625"/></defs
><path d="M57 12 53.5 8 39 8l0 8 14.5 0"
/><path d="m25 36-3.64-4-1.79 0-5.57 8 7.36 0 3.64-4z"
/><path d="m7 32 0 8 2.05 0 4.95-8-7 0z"
/><path d="m9.67 44.55-1.59-1.32 10.76-15.78 1.59 1.32-10.76 15.78z"
/><path d="M16 5L16 7C13.24 7 11 9.24 11 12C11 14.76 13.24 17 16 17C18.76 17 21 14.76 21 12L19.16 12C19.12 13.72 17.73 15.09 16 15.09C14.25 15.09 12.84 13.69 12.84 11.94C12.84 10.19 14.25 8.78 16 8.78L16 11L20.5 8L16 5z"
/><path d="m53 37-10 0 0-5 10 0 0 5zm-12 5 14 0 0-12-14 0 0 12z"
/><path d="m10 57-2 0 0 9 11 0 0-2-9 0z"
/><path d="m13 56 7 0 0 5-7 0zm-2-2 0 9 11 0 0-9z"
/><path d="m86 33-8 0 0-2 8 0 0 2z"
/><path d="m71.5 31.44 4.2 4.31-4.2 4.31 1.4 1.44 5.6-5.75L72.9 30z"
/><path d="m86 37-6 0 0-2 6 0 0 2z"
/><path d="m86 41-8 0 0-2 8 0 0 2z"
/><path d="m80.44 16.94c-2.48 0-4.5-2.02-4.5-4.5 0-0.88 0.26-1.7 0.69-2.39l6.2 6.2c-0.69 0.44-1.51 0.69-2.39 0.69m4.5-4.5c0 0.88-0.26 1.7-0.69 2.39l-6.2-6.2c0.69-0.44 1.51-0.69 2.39-0.69 2.48 0 4.5 2.02 4.5 4.5M80.5 6c-3.59 0-6.5 2.91-6.5 6.5 0 3.59 2.91 6.5 6.5 6.5 3.59 0 6.5-2.91 6.5-6.5 0-3.59-2.91-6.5-6.5-6.5"
/><path d="m117 65-10 0 0-10 10 0 0 10z"
/><path d="M149 8.33 147.67 7 144 10.67 140.33 7 139 8.33l3.67 3.67-3.67 3.67 1.33 1.33 3.67-3.67 3.67 3.67L149 15.67 145.33 12 149 8.33z"
/><path d="m44 59 2 3 0 4 4 0 0-4 2-3z" fill="#424242" opacity="0.5"
/><path d="m46.5 65.23c0.32 0.13 0.84 0.24 1.47 0.24 0.59 0 1.14-0.1 1.53-0.26l0-3.93 4-4.57 0-0.19-11 0 0 0.22 4 4.57 0 3.93zM47.97 67C46.81 66.91 45.82 66.71 45 66.01l0-4.12-4-4.57 0-2.32 14 0 0 2.35-4 4.57 0 4.13c-0.92 0.67-2.1 0.94-3.03 0.95"
/><path d="M86 60 76 55 76 65"
/><path d="m153 57-11 0 0-2 11 0 0 2z" opacity="0.2"
/><path d="m135 54 0-1-2 0 0 14 2 0 0-1-1 0 0-12z"
/><path d="m142 57-6 0 0-2 6 0 0 2z"
/><path d="m145 60-6 0 0-2 6 0 0 2z"
/><path d="m150 63-6 0 0-2 6 0 0 2z"
/><path d="m152 66-6 0 0-2 6 0 0 2z"
/><path d="m170 67-2 0 0-9 2 0 0 9z"
/><path d="m173 67-2 0 0-11 2 0 0 11z"
/><path d="m176 67-2 0 0-13 2 0 0 13z"
/><path d="m179 67-2 0 0-4 2 0 0 4z"
/><path d="m182 67-2 0 0-9 2 0 0 9z"
/><path d="m185 67-2 0 0-11 2 0 0 11z"
/><path d="m208 57-10 0 0-2 10 0 0 2z"
/><path d="m217 57-5 0 0-2 5 0 0 2z"
/><path d="m200 61-2 0 0-2 2 0 0 2z"
/><path d="m213 61-10 0 0-2 10 0 0 2z"
/><path d="m217 61-2 0 0-2 2 0 0 2z"
/><path d="m205 65-7 0 0-2 7 0 0 2z"
/><path d="m217 65-8 0 0-2 8 0 0 2z"
/><path d="m274 64-7 0 0-8 7 0 0 8zm-9 2 14 0 0-12-14 0 0 12z"
/><path d="m298 12c0 3.31 2.69 6 6 6 3.31 0 6-2.69 6-6 0-3.31-2.69-6-6-6-3.31 0-6 2.69-6 6"
/><path d="m295 36c0 4.97 4.03 9 9 9l0 0c4.97 0 9-4.03 9-9l0 0c0-4.97-4.03-9-9-9l0 0c-4.97 0-9 4.03-9 9" fill="url(#A)"
/><path d="m298 36c0 3.31 2.69 6 6 6 3.31 0 6-2.69 6-6 0-3.31-2.69-6-6-6-3.31 0-6 2.69-6 6"
/><path d="M239 30C236.24 30 234 32.24 234 35C234 37.76 236.24 40 239 40C240.03 40 240.96 39.69 241.75 39.16L245.56 43L247 41.56L243.19 37.75C243.71 36.96 244 36.02 244 35C244 32.24 241.76 30 239 30zM239 32C240.66 32 242 33.34 242 35C242 36.66 240.66 38 239 38C237.34 38 236 36.66 236 35C236 33.34 237.34 32 239 32z"
/><path d="m233.73 63.76 5.25-3.23 5.32 2.23 4.95-4.03" fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.48"
/><path d="m231 67 0-13-1 0 0 14 21 0 0-1z"
/><path d="m237 11-4 0 0-4 4 0 0 4z"
/><path d="m247 9-9 0 0-2 9 0 0 2z"
/><path d="m247 11-9 0 0-1 9 0 0 1z"
/><path d="m247 15-9 0 0-2 9 0 0 2z"
/><path d="m237 17-4 0 0-4 4 0 0 4z"
/><path d="m247 17-9 0 0-1 9 0 0 1z"
/><path d="m176 38.13c-1.18 0-2.13-0.96-2.13-2.13 0-1.18 0.96-2.13 2.13-2.13 1.18 0 2.13 0.96 2.13 2.13 0 1.18-0.96 2.13-2.13 2.13m8-3.73-2.93-0.53 1.72-2.39-2.26-2.26-2.46 1.79-0.47-3-3.2 0-0.4 3.13-2.53-1.92-2.26 2.26 1.99 2.59-3.2 0.33 0 3.2 3.33 0.33-2.12 2.59 2.26 2.26 2.53-2.12 0.4 3.33 3.2 0 0.4-3.2 2.53 1.99 2.26-2.26L181 38.07l3-0.47 0-3.2z"
/><path d="m268.01 35.99c0.61 0.28 1.07 0.9 1.07 1.58 0.11 0.85-0.05 1.72 0.12 2.57 0.27 0.54 1 0.28 1.43 0.55 0.49 0.24 0.48 1.01-0.06 1.18-0.56 0.22-1.18 0.08-1.74-0.05-0.71-0.2-1.41-0.72-1.5-1.5-0.18-0.89 0.01-1.8-0.16-2.68-0.22-0.64-0.94-0.9-1.57-0.93-0.58-0.1-0.83-0.94-0.35-1.3 0.51-0.35 1.26-0.14 1.69-0.66 0.44-0.48 0.29-1.18 0.32-1.78 0-0.81-0.02-1.77 0.65-2.34 0.66-0.54 1.58-0.71 2.41-0.63 0.63 0 0.98 0.87 0.4 1.22-0.44 0.37-1.2 0.06-1.51 0.65-0.14 0.56-0.05 1.15-0.07 1.73-0.01 0.75-0.05 1.64-0.72 2.13-0.12 0.1-0.26 0.19-0.4 0.26"
/><path d="m276.98 35.99c-0.67-0.3-1.08-1.02-1.08-1.75-0.07-0.76 0.03-1.52-0.06-2.28-0.24-0.58-0.98-0.4-1.46-0.59-0.59-0.24-0.48-1.18 0.14-1.31 0.73-0.15 1.52-0.01 2.18 0.32 0.56 0.28 0.95 0.86 0.99 1.48 0.13 0.83-0.03 1.68 0.13 2.5 0.2 0.68 0.94 0.83 1.54 0.9 0.56 0.07 0.86 0.8 0.46 1.21-0.44 0.46-1.2 0.2-1.65 0.66-0.51 0.46-0.4 1.21-0.4 1.83-0.03 0.78 0.06 1.69-0.52 2.3-0.74 0.65-1.8 0.86-2.75 0.68-0.52-0.16-0.69-1.01-0.15-1.25 0.44-0.23 1.02-0.08 1.41-0.45 0.26-0.45 0.09-0.98 0.14-1.47 0.01-0.76-0.07-1.63 0.43-2.26C276.51 36.3 276.75 36.14 276.99 36"
/><path d="m275 15-2 0 0-6 2 0zm-4 0-2 0 0-6 2 0zm4-10-6 0-4 4 0 6 4 4 6 0 4-4.12 0-5.88z"
/><path d="m112.03 15.5c-1.93 0-3.5-1.57-3.5-3.5 0-1.93 1.57-3.5 3.5-3.5 1.93 0 3.5 1.57 3.5 3.5 0 1.93-1.57 3.5-3.5 3.5m-0.03-8.5c-2.44 0-4.63 0.83-9 5 4.31 4.17 6.56 5 9 5 2.44 0 4.63-0.83 9-5-4.31-4.17-6.56-5-9-5"
/><path d="m110.5 12c0 0.83 0.67 1.5 1.5 1.5 0.83 0 1.5-0.67 1.5-1.5 0-0.83-0.67-1.5-1.5-1.5-0.83 0-1.5 0.67-1.5 1.5"
/><path d="m139.5 33 9 0-1.5 10-6 0"
/><path d="m147.5 30-2 0 0-1-3 0 0 1-2 0c-0.55 0-1 0.48-1 1l0 1 1 0 7 0 1 0 0-1c0-0.52-0.45-1-1-1"
/><path d="m317 69 0-5-5 5 5 0z"
/><path d="m23 84-8-5 0 10"
/><path d="m13 89-3 0 0-10 3 0 0 10z"
/><path d="m47 88-3 0 0-8 3 0 0 8z"
/><path d="m53 88-3 0 0-8 3 0 0 8z"
/><path d="m78.5 89c0 1.1 0.9 2 2 2 1.1 0 2-0.9 2-2 0-1.1-0.9-2-2-2-1.1 0-2 0.9-2 2"
/><path d="M79 78L79 82L76 82L80.5 86L85 82L82 82L82 78L79 78z"
/><path d="m110.5 89c0 1.1 0.9 2 2 2 1.1 0 2-0.9 2-2 0-1.1-0.9-2-2-2-1.1 0-2 0.9-2 2"
/><path d="M112.5 78L108 82L111 82L111 86L114 86L114 82L117 82L112.5 78z"
/><path d="m142 86.5c0 1.1 0.9 2 2 2 1.1 0 2-0.9 2-2 0-1.1-0.9-2-2-2-1.1 0-2 0.9-2 2"
/><path d="m137.25 87.03c2.55-8.43 11.4-8.73 13.94 0" fill="none" stroke="#000" stroke-width="2.5"
/><path d="m151.68 89-4.54-2.76 6.68-2.1"
/><path d="m12 102-7-4 0 8"
/><path d="m24 106 4-7-8 0"
/><path d="m8 111 4 7-8 0"
/><path d="m54 105 0 7-10 0 0-7zm1 8 0-11-12 0 0 11z"
/><rect height="3" opacity="0.82" ry="0" width="12" x="73" y="110"
/><rect fill="none" height="12" stroke="#000" width="14" x="168.5" y="78.5"
/><path d="m180 84.5-5-3.25 0 6.5"
/><rect height="13" width="1" x="172" y="78"
/><rect fill="none" height="12" stroke="#000" width="14" x="200.5" y="78.5"
/><path d="m207 84.5 5-3.25 0 6.5"
/><rect height="13" width="1" x="204" y="78"
/><rect fill="none" height="12" stroke="#000" width="14" x="264.5" y="78.5"
/><path d="m272 84.5-5-3.25 0 6.5"
/><rect height="13" width="1" x="274" y="78"
/><rect fill="none" height="12" stroke="#000" width="14" x="296.5" y="78.5"
/><path d="m299 84.5 5-3.25 0 6.5"
/><rect height="13" width="1" x="306" y="78"
/><path d="m118 96c-3.87 0-7 3.13-7 7 0 3.87 3.13 7 7 7 3.87 0 7-3.13 7-7 0-3.87-3.13-7-7-7" fill="url(#m)"
/><path d="m111.5 103c0 3.59 2.91 6.5 6.5 6.5 3.59 0 6.5-2.91 6.5-6.5 0-3.59-2.91-6.5-6.5-6.5-3.59 0-6.5 2.91-6.5 6.5" fill="#f27d82"
/><path d="m121.5 100.93-0.93-0.93-2.57 2.57-2.57-2.57-0.93 0.93 2.57 2.57L114.5 106.07 115.43 107 118 104.43 120.57 107 121.5 106.07 118.93 103.5 121.5 100.93z" fill-opacity="0.36"
/><path d="m121.5 100.43-0.93-0.93-2.57 2.57-2.57-2.57-0.93 0.93 2.57 2.57-2.57 2.57 0.93 0.93 2.57-2.57 2.57 2.57 0.93-0.93-2.57-2.57 2.57-2.57z" fill="#fff"
/><path d="m138.5 100.93-0.93-0.93-2.57 2.57-2.57-2.57-0.93 0.93 2.57 2.57L131.5 106.07 132.43 107 135 104.43 137.57 107 138.5 106.07 135.93 103.5 138.5 100.93z" fill-opacity="0.24"
/><path d="m138.5 100.43-0.93-0.93-2.57 2.57-2.57-2.57-0.93 0.93 2.57 2.57-2.57 2.57 0.93 0.93 2.57-2.57 2.57 2.57 0.93-0.93-2.57-2.57 2.57-2.57z" fill="#676767"
/><path d="m103 110c3.87 0 7-3.13 7-7 0-3.87-3.13-7-7-7-3.87 0-7 3.13-7 7 0 3.87 3.13 7 7 7" fill="url(#o)"
/><path d="m103 96.5c-3.59 0-6.5 2.91-6.5 6.5 0 3.59 2.91 6.5 6.5 6.5 3.59 0 6.5-2.91 6.5-6.5 0-3.59-2.91-6.5-6.5-6.5" fill="url(#n)"
/><path d="m106.5 100.93-0.93-0.93-2.57 2.57-2.57-2.57-0.93 0.93 2.57 2.57L99.5 106.07 100.43 107 103 104.43 105.57 107 106.5 106.07 103.93 103.5 106.5 100.93z" fill="#993c35"
/><path d="m106.5 100.43-0.93-0.93-2.57 2.57-2.57-2.57-0.93 0.93 2.57 2.57-2.57 2.57 0.93 0.93 2.57-2.57 2.57 2.57 0.93-0.93-2.57-2.57 2.57-2.57z" fill="#fff"
/><path d="m143 102.5c0 3.59 2.91 6.5 6.5 6.5 3.59 0 6.5-2.91 6.5-6.5 0-3.59-2.91-6.5-6.5-6.5-3.59 0-6.5 2.91-6.5 6.5" fill="#bebebe"
/><path d="m153 100.43-0.93-0.93-2.57 2.57L146.93 99.5 146 100.43 148.57 103 146 105.57 146.93 106.5 149.5 103.93 152.07 106.5 153 105.57 150.43 103 153 100.43z" fill-opacity="0.37"
/><path d="M153 99.93 152.07 99 149.5 101.57 146.93 99 146 99.93 148.57 102.5 146 105.07 146.93 106 149.5 103.43 152.07 106 153 105.07 150.43 102.5 153 99.93z" fill="#fff"
/><path d="m160 102.5c0 3.59 2.91 6.5 6.5 6.5 3.59 0 6.5-2.91 6.5-6.5 0-3.59-2.91-6.5-6.5-6.5-3.59 0-6.5 2.91-6.5 6.5" fill="#9f9f9f"
/><path d="m170 100.43-0.93-0.93-2.57 2.57L163.93 99.5 163 100.43 165.57 103 163 105.57 163.93 106.5 166.5 103.93 169.07 106.5 170 105.57 167.43 103 170 100.43z" fill-opacity="0.36"
/><path d="M170 99.93 169.07 99 166.5 101.57 163.93 99 163 99.93 165.57 102.5 163 105.07 163.93 106 166.5 103.43 169.07 106 170 105.07 167.43 102.5 170 99.93z" fill="#fff"
/><path d="m184.5 100.43-0.93-0.93-2.57 2.57-2.57-2.57-0.93 0.93 2.57 2.57-2.57 2.57 0.93 0.93 2.57-2.57 2.57 2.57 0.93-0.93-2.57-2.57 2.57-2.57z" fill-opacity="0.24"
/><path d="m184.5 99.93-0.93-0.93-2.57 2.57-2.57-2.57-0.93 0.93 2.57 2.57L177.5 105.07 178.43 106 181 103.43 183.57 106 184.5 105.07 181.93 102.5 184.5 99.93z" fill="#676767"
/><path d="m131.65 116.21-1.44-2.03-1.21 1.21 2.55 3.61 6.45-7.67-1.12-1.33z"
/><path d="m195.75 97.75 3.5 3.25-3.5 3.25" fill="none" stroke="#367cf1" stroke-width="1.5"
/><path d="m195.75 108.75 3.5 3.25-3.5 3.25" fill="none" stroke="#939393" stroke-width="1.5"
/><path d="m209 101c0 0.55 0.45 1 1 1 0.55 0 1-0.45 1-1 0-0.55-0.45-1-1-1-0.55 0-1 0.45-1 1" fill="#bababa"
/><path d="m208.25 97.75-3.5 3.25 3.5 3.25" fill="none" stroke="#bababa" stroke-width="1.5"
/><path d="m218 96c-2.76 0-5 2.24-5 5 0 2.76 2.24 5 5 5 2.76 0 5-2.24 5-5 0-2.76-2.24-5-5-5" fill="url(#p)"
/><path d="m213.36 101c0 2.56 2.08 4.64 4.64 4.64 2.56 0 4.64-2.08 4.64-4.64 0-2.56-2.08-4.64-4.64-4.64-2.56 0-4.64 2.08-4.64 4.64" fill="#eb3941"
/><path d="m216 99 4 4" stroke="#fff"
/><path d="m220 99-4 4" stroke="#fff"
/><path d="m203 116 4-8 4 8z" stroke="#c19600" stroke-linejoin="round" stroke-width="2"
/><path d="m203 116 4-8 4 8z" fill="#f4bd00" stroke="#f5bd00" stroke-linejoin="round" stroke-width="1.5"
/><path d="m205.75 109.75 2.5 0 0 2.5-0.5 1.75-1.5 0-0.5-1.75 0-2.5m0 5.25 2.5 0 0 1.25-2.5 0" fill="#ad8601"
/><path d="m206 110 2 0 0 2.25-0.5 1.75-1 0-0.5-1.75 0-2.25m0 5 2 0 0 1-2 0" fill="#fff"
/><path d="m229 106c-2.76 0-5-2.24-5-5 0-2.76 2.24-5 5-5 2.76 0 5 2.24 5 5 0 2.76-2.24 5-5 5z" fill="url(#r)"
/><path d="m233.5 101c0 2.49-2.01 4.5-4.5 4.5-2.49 0-4.5-2.01-4.5-4.5 0-2.49 2.01-4.5 4.5-4.5 2.49 0 4.5 2.01 4.5 4.5z" fill="#d00"
/><path d="m229.03 96.53c1.97 0 3.56 1.02 3.56 2.28 0 1.26-1.59 2.28-3.56 2.28-1.97 0-3.56-1.02-3.56-2.28 0-1.26 1.59-2.28 3.56-2.28z" fill="url(#s)"
/><path d="m229.03 105.47c1.66 0 3-0.71 3-1.59 0-0.88-1.34-1.59-3-1.59-1.66 0-3 0.71-3 1.59 0 0.88 1.34 1.59 3 1.59z" fill="url(#t)"
/><path d="m239.95 106c-2.76-0.03-4.98-2.29-4.95-5.05 0.03-2.76 2.29-4.98 5.05-4.95 2.76 0.03 4.98 2.29 4.95 5.05-0.03 2.76-2.29 4.98-5.05 4.95z" fill="url(#u)"
/><path d="m244.5 101.05c-0.03 2.49-2.06 4.48-4.55 4.45-2.49-0.03-4.48-2.06-4.45-4.55 0.03-2.49 2.06-4.48 4.55-4.45 2.49 0.03 4.48 2.06 4.45 4.55z" fill="#00be00"
/><path d="m240.08 96.53c1.97 0.02 3.55 1.06 3.54 2.32-0.01 1.26-1.62 2.26-3.59 2.24-1.97-0.02-3.55-1.06-3.54-2.32 0.01-1.26 1.62-2.26 3.59-2.24z" fill="url(#v)"
/><path d="m239.98 105.41c1.66 0.02 3.01-0.68 3.02-1.56 0.01-0.88-1.33-1.61-2.98-1.63-1.66-0.02-3.01 0.68-3.02 1.56-0.01 0.88 1.33 1.61 2.98 1.63z" fill="url(#w)"
/><path d="m251 106c-2.76 0-5-2.24-5-5 0-2.76 2.24-5 5-5 2.76 0 5 2.24 5 5 0 2.76-2.24 5-5 5z" fill="#e5a600"
/><path d="m255.5 101c0 2.49-2.01 4.5-4.5 4.5-2.49 0-4.5-2.01-4.5-4.5 0-2.49 2.01-4.5 4.5-4.5 2.49 0 4.5 2.01 4.5 4.5z" fill="#ffbd00"
/><path d="m251.03 96.53c1.97 0 3.56 1.02 3.56 2.28 0 1.26-1.59 2.28-3.56 2.28-1.97 0-3.56-1.02-3.56-2.28 0-1.26 1.59-2.28 3.56-2.28z" fill="url(#x)"
/><path d="m250.99 105.42c1.66 0 3-0.71 3-1.59 0-0.88-1.34-1.59-3-1.59-1.66 0-3 0.71-3 1.59 0 0.88 1.34 1.59 3 1.59z" fill="url(#y)"
/><rect height="12" rx="0.25" ry="0.25" style="fill-opacity:0.38;stroke-linejoin:round;stroke-miterlimit:0;stroke-width:2;stroke:#000" width="8" x="268" y="102"
/><path d="m218 107c-2.76 0-5 2.24-5 5 0 2.76 2.24 5 5 5 2.76 0 5-2.24 5-5 0-2.76-2.24-5-5-5" fill="url(#q)"
/><path d="m213.36 112c0 2.56 2.08 4.64 4.64 4.64 2.56 0 4.64-2.08 4.64-4.64 0-2.56-2.08-4.64-4.64-4.64-2.56 0-4.64 2.08-4.64 4.64" fill="#2a53cd"
/><path d="m216.93 109.14c-0.03-0.53 0.55-0.97 1.06-0.83 0.5 0.12 0.79 0.73 0.56 1.18-0.2 0.44-0.79 0.61-1.2 0.36C217.09 109.71 216.93 109.43 216.93 109.14zm1.7 5.46c0.22 0 0.45 0 0.67 0 0 0.18 0 0.35 0 0.53-0.96 0-1.93 0-2.89 0 0-0.18 0-0.35 0-0.53 0.22 0 0.44 0 0.66 0 0-1.2 0-2.41 0-3.61-0.22 0-0.44 0-0.66 0 0-0.18 0-0.35 0-0.53 0.74 0 1.48 0 2.22 0 0 1.38 0 2.76 0 4.14z" fill="#fff"
/><rect height="8" rx="0.25" ry="0.25" style="fill-opacity:0.38;stroke-linejoin:round;stroke-miterlimit:0;stroke-width:2;stroke:#000" width="12" x="298" y="104"
/><path d="m12.25 125c-0.68 0-1.25 0.57-1.25 1.25l0 9.69 2-3.31 0-5.63 3.38 0 1.19-2-5.31 0zm8.75 3.06-2 3.31 0 5.63-3.38 0-1.19 2 5.31 0c0.68 0 1.25-0.57 1.25-1.25l0-9.69z" stroke-width="2"
/><path d="m10.75 140.75 10.5-17.5" fill="none" stroke="#000" stroke-width="2"
/><path d="m46 128 7 0 0 8-7 0 0-8zm9-2-14 0 0 12 14 0 0-12z"
/><rect height="6" width="3" x="73" y="129"
/><rect height="6" width="3" x="77" y="129"
/><rect height="6" width="3" x="81" y="129"
/><rect fill="none" height="10" rx="1" ry="1" stroke="#000" stroke-linejoin="round" stroke-width="2" width="15" x="71" y="127"
/><path d="m86 129c3 0 3 0 3 3 0 3 0 3-3 3" fill="none" stroke="#000" stroke-width="2"
/><path d="m227.25 107c-0.7 0-1.25 0.5-1.25 1.25l0 7.5c0 0.7 0.5 1.25 1.25 1.25l3.5 0c0.7 0 1.25-0.5 1.25-1.25l0-7.5c0-0.7-0.5-1.25-1.25-1.25l-3.5 0zm-0.25 1 4 0 0 7-4 0 0-7zm2 7.25c0.4 0 0.75 0.3 0.75 0.75 0 0.4-0.3 0.75-0.75 0.75-0.4 0-0.75-0.3-0.75-0.75 0-0.4 0.3-0.75 0.75-0.75z"
/><rect height="3" stroke="#000" stroke-width="0" width="1" x="170" y="9"
/><path d="m182 9-13 0 0 7 13 0zm-14-2 15 0L183 17 168 17z"
/><rect height="5" stroke="#000" stroke-width="0" width="1" x="172" y="8"
/><rect height="3" stroke="#000" stroke-width="0" width="1" x="174" y="9"
/><rect height="5" stroke="#000" stroke-width="0" width="1" x="176" y="8"
/><rect height="3" stroke="#000" stroke-width="0" width="1" x="178" y="9"
/><rect height="5" stroke="#000" stroke-width="0" width="1" x="180" y="8"/></svg
>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
height="144"
version="1.1"
width="320"
xml:space="preserve"
id="svg3395"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="statusbarButtonGlyphs.svg"><metadata
id="metadata3773"><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><sodipodi:namedview
showgrid="true"
id="namedview3397"
inkscape:zoom="6.7175144"
inkscape:cx="177.68421"
inkscape:cy="134.39918"
inkscape:window-width="913"
inkscape:window-height="641"
inkscape:window-x="795"
inkscape:window-y="565"
inkscape:window-maximized="0"
inkscape:current-layer="svg3395"
inkscape:snap-global="false"><inkscape:grid
dotted="false"
empspacing="2"
enabled="true"
id="grid3327"
snapvisiblegridlinesonly="true"
spacingx="32px"
spacingy="24px"
type="xygrid"
visible="true" /></sodipodi:namedview><defs
id="defs3400"><linearGradient
id="a"><stop
offset="0"
stop-color="#606eda"
id="stop3403" /><stop
offset="1"
stop-color="#021db2"
id="stop3405" /></linearGradient><linearGradient
id="b"><stop
offset="0"
stop-color="#e59290"
id="stop3408" /><stop
offset="1"
stop-color="#e99890"
id="stop3410" /></linearGradient><linearGradient
id="c"><stop
offset="0"
stop-color="#c0544f"
id="stop3413" /><stop
offset="1"
stop-color="#d08481"
id="stop3415" /></linearGradient><linearGradient
id="d"><stop
offset="0"
stop-color="#ffa801"
stop-opacity="0"
id="stop3418" /><stop
offset="1"
stop-color="#f0fb3d"
id="stop3420" /></linearGradient><linearGradient
id="e"><stop
offset="0"
stop-color="#ffbd00"
stop-opacity="0.65"
id="stop3423" /><stop
offset="1"
stop-color="#fff"
stop-opacity="0.91"
id="stop3425" /></linearGradient><linearGradient
id="f"><stop
offset="0"
stop-color="#00d600"
stop-opacity="0"
id="stop3428" /><stop
offset="1"
stop-color="#d8fc7b"
stop-opacity="0.81"
id="stop3430" /></linearGradient><linearGradient
id="g"><stop
offset="0"
stop-color="#00ba00"
id="stop3433" /><stop
offset="1"
stop-color="#fff"
stop-opacity="0.91"
id="stop3435" /></linearGradient><linearGradient
id="h"><stop
offset="0"
stop-color="#00a104"
id="stop3438" /><stop
offset="1"
stop-color="#00c605"
id="stop3440" /></linearGradient><linearGradient
id="i"><stop
offset="0"
stop-color="#f00"
stop-opacity="0"
id="stop3443" /><stop
offset="1"
stop-color="#f0cb68"
stop-opacity="0.71"
id="stop3445" /></linearGradient><linearGradient
id="j"><stop
offset="0"
stop-color="#e60000"
stop-opacity="0.65"
id="stop3448" /><stop
offset="1"
stop-color="#fff"
stop-opacity="0.91"
id="stop3450" /></linearGradient><linearGradient
id="k"><stop
offset="0"
stop-color="#a10000"
id="stop3453" /><stop
offset="1"
stop-color="#c60000"
id="stop3455" /></linearGradient><linearGradient
id="l"><stop
offset="0"
stop-color="#d7687d"
id="stop3458" /><stop
offset="1"
stop-color="#b21402"
id="stop3460" /></linearGradient><radialGradient
cx="0"
cy="0"
fx="0"
fy="0"
gradientTransform="matrix(18,0,0,-18,680,341)"
gradientUnits="userSpaceOnUse"
id="z"
r="1"
spreadMethod="pad"><stop
offset="0"
id="stop3463" /><stop
offset="1"
stop-opacity="0"
id="stop3465" /></radialGradient><radialGradient
cx="0"
cy="0"
fx="0"
fy="0"
gradientTransform="matrix(9,0,0,9,304,36)"
gradientUnits="userSpaceOnUse"
id="A"
r="1"
spreadMethod="pad"
xlink:href="#z" /><linearGradient
gradientTransform="matrix(0,-0.58333333,-0.58333333,0,118,110)"
gradientUnits="userSpaceOnUse"
id="m"
x1="0"
x2="24"
xlink:href="#l"
y1="0"
y2="0" /><linearGradient
gradientTransform="matrix(0,1,-1,0,206,0)"
gradientUnits="userSpaceOnUse"
id="n"
x1="96.5"
x2="109.5"
xlink:href="#b"
y1="103"
y2="103" /><linearGradient
gradientTransform="matrix(0,1,-1,0,207,-17)"
gradientUnits="userSpaceOnUse"
id="o"
x1="113"
x2="127"
xlink:href="#c"
y1="104"
y2="104" /><linearGradient
gradientTransform="matrix(0,-0.41666666,-0.41666666,0,218,106)"
gradientUnits="userSpaceOnUse"
id="p"
x1="0"
x2="24"
xlink:href="#l"
y1="0"
y2="0" /><linearGradient
gradientTransform="matrix(0.71428571,0,0,0.71428571,132.28571,37.714287)"
gradientUnits="userSpaceOnUse"
id="q"
x1="113"
x2="127"
xlink:href="#a"
y1="104"
y2="104" /><linearGradient
gradientTransform="matrix(0,1.3793103,-1.3008129,0,363.08462,-218.35335)"
gradientUnits="userSpaceOnUse"
id="r"
x1="227.875"
x2="235.125"
xlink:href="#k"
y1="103.15625"
y2="103.15625" /><linearGradient
gradientTransform="matrix(0,-0.62931035,0.92682926,0,133.46895,244.52849)"
gradientUnits="userSpaceOnUse"
id="s"
x1="227.875"
x2="235.125"
xlink:href="#j"
y1="103.15625"
y2="103.15625" /><linearGradient
gradientTransform="matrix(0,0.43965518,0.78048781,0,148.48744,2.1206316)"
gradientUnits="userSpaceOnUse"
id="t"
x1="227.875"
x2="235.125"
xlink:href="#i"
y1="103.15625"
y2="103.15625" /><linearGradient
gradientTransform="matrix(-0.01506784,1.3792098,-1.3007182,-0.01421029,377.66542,-216.8212)"
gradientUnits="userSpaceOnUse"
id="u"
x1="227.875"
x2="235.125"
xlink:href="#h"
y1="103.15625"
y2="103.15625" /><linearGradient
gradientTransform="matrix(0.00687469,-0.62926454,0.92676181,0.01012483,142.86511,243.44332)"
gradientUnits="userSpaceOnUse"
id="v"
x1="227.875"
x2="235.125"
xlink:href="#g"
y1="103.15625"
y2="103.15625" /><linearGradient
gradientTransform="matrix(-0.00480288,0.43962318,0.780431,0.00852617,160.60265,1.1603253)"
gradientUnits="userSpaceOnUse"
id="w"
x1="227.875"
x2="235.125"
xlink:href="#f"
y1="103.15625"
y2="103.15625" /><linearGradient
gradientTransform="matrix(0,-0.62931035,0.92682926,0,155.46895,244.52849)"
gradientUnits="userSpaceOnUse"
id="x"
x1="227.875"
x2="235.125"
xlink:href="#e"
y1="103.15625"
y2="103.15625" /><linearGradient
gradientTransform="matrix(0,0.43965518,0.78048781,0,170.44325,2.076437)"
gradientUnits="userSpaceOnUse"
id="y"
x1="227.875"
x2="235.125"
xlink:href="#d"
y1="103.15625"
y2="103.15625" /></defs><path
d="M57 12 53.5 8 39 8l0 8 14.5 0"
id="path3481" /><path
d="m25 36-3.64-4-1.79 0-5.57 8 7.36 0 3.64-4z"
id="path3483" /><path
d="m7 32 0 8 2.05 0 4.95-8-7 0z"
id="path3485" /><path
d="m9.67 44.55-1.59-1.32 10.76-15.78 1.59 1.32-10.76 15.78z"
id="path3487" /><path
d="M16 5L16 7C13.24 7 11 9.24 11 12C11 14.76 13.24 17 16 17C18.76 17 21 14.76 21 12L19.16 12C19.12 13.72 17.73 15.09 16 15.09C14.25 15.09 12.84 13.69 12.84 11.94C12.84 10.19 14.25 8.78 16 8.78L16 11L20.5 8L16 5z"
id="path3489" /><path
d="m53 37-10 0 0-5 10 0 0 5zm-12 5 14 0 0-12-14 0 0 12z"
id="path3491" /><path
d="m10 57-2 0 0 9 11 0 0-2-9 0z"
id="path3493" /><path
d="m13 56 7 0 0 5-7 0zm-2-2 0 9 11 0 0-9z"
id="path3495" /><path
d="m86 33-8 0 0-2 8 0 0 2z"
id="path3497" /><path
d="m71.5 31.44 4.2 4.31-4.2 4.31 1.4 1.44 5.6-5.75L72.9 30z"
id="path3499" /><path
d="m86 37-6 0 0-2 6 0 0 2z"
id="path3501" /><path
d="m86 41-8 0 0-2 8 0 0 2z"
id="path3503" /><path
d="m80.44 16.94c-2.48 0-4.5-2.02-4.5-4.5 0-0.88 0.26-1.7 0.69-2.39l6.2 6.2c-0.69 0.44-1.51 0.69-2.39 0.69m4.5-4.5c0 0.88-0.26 1.7-0.69 2.39l-6.2-6.2c0.69-0.44 1.51-0.69 2.39-0.69 2.48 0 4.5 2.02 4.5 4.5M80.5 6c-3.59 0-6.5 2.91-6.5 6.5 0 3.59 2.91 6.5 6.5 6.5 3.59 0 6.5-2.91 6.5-6.5 0-3.59-2.91-6.5-6.5-6.5"
id="path3505" /><path
d="m117 65-10 0 0-10 10 0 0 10z"
id="path3507" /><path
d="M149 8.33 147.67 7 144 10.67 140.33 7 139 8.33l3.67 3.67-3.67 3.67 1.33 1.33 3.67-3.67 3.67 3.67L149 15.67 145.33 12 149 8.33z"
id="path3509" /><path
d="m44 59 2 3 0 4 4 0 0-4 2-3z"
fill="#424242"
opacity="0.5"
id="path3511" /><path
d="m46.5 65.23c0.32 0.13 0.84 0.24 1.47 0.24 0.59 0 1.14-0.1 1.53-0.26l0-3.93 4-4.57 0-0.19-11 0 0 0.22 4 4.57 0 3.93zM47.97 67C46.81 66.91 45.82 66.71 45 66.01l0-4.12-4-4.57 0-2.32 14 0 0 2.35-4 4.57 0 4.13c-0.92 0.67-2.1 0.94-3.03 0.95"
id="path3513" /><path
d="M86 60 76 55 76 65"
id="path3515" /><path
d="m153 57-11 0 0-2 11 0 0 2z"
opacity="0.2"
id="path3517" /><path
d="m142 57-6 0 0-2 6 0 0 2z"
id="path3519" /><path
d="m145 60-6 0 0-2 6 0 0 2z"
id="path3521" /><path
d="m150 63-6 0 0-2 6 0 0 2z"
id="path3523" /><path
d="m152 66-6 0 0-2 6 0 0 2z"
id="path3525" /><path
d="m170 67-2 0 0-9 2 0 0 9z"
id="path3527" /><path
d="m173 67-2 0 0-11 2 0 0 11z"
id="path3529" /><path
d="m176 67-2 0 0-13 2 0 0 13z"
id="path3531" /><path
d="m179 67-2 0 0-4 2 0 0 4z"
id="path3533" /><path
d="m182 67-2 0 0-9 2 0 0 9z"
id="path3535" /><path
d="m185 67-2 0 0-11 2 0 0 11z"
id="path3537" /><path
d="m208 57-10 0 0-2 10 0 0 2z"
id="path3539" /><path
d="m217 57-5 0 0-2 5 0 0 2z"
id="path3541" /><path
d="m200 61-2 0 0-2 2 0 0 2z"
id="path3543" /><path
d="m213 61-10 0 0-2 10 0 0 2z"
id="path3545" /><path
d="m217 61-2 0 0-2 2 0 0 2z"
id="path3547" /><path
d="m205 65-7 0 0-2 7 0 0 2z"
id="path3549" /><path
d="m217 65-8 0 0-2 8 0 0 2z"
id="path3551" /><path
d="m274 64-7 0 0-8 7 0 0 8zm-9 2 14 0 0-12-14 0 0 12z"
id="path3553" /><path
d="m298 12c0 3.31 2.69 6 6 6 3.31 0 6-2.69 6-6 0-3.31-2.69-6-6-6-3.31 0-6 2.69-6 6"
id="path3555" /><path
d="m295 36c0 4.97 4.03 9 9 9l0 0c4.97 0 9-4.03 9-9l0 0c0-4.97-4.03-9-9-9l0 0c-4.97 0-9 4.03-9 9"
fill="url(#A)"
id="path3557" /><path
d="m298 36c0 3.31 2.69 6 6 6 3.31 0 6-2.69 6-6 0-3.31-2.69-6-6-6-3.31 0-6 2.69-6 6"
id="path3559" /><path
d="M239 30C236.24 30 234 32.24 234 35C234 37.76 236.24 40 239 40C240.03 40 240.96 39.69 241.75 39.16L245.56 43L247 41.56L243.19 37.75C243.71 36.96 244 36.02 244 35C244 32.24 241.76 30 239 30zM239 32C240.66 32 242 33.34 242 35C242 36.66 240.66 38 239 38C237.34 38 236 36.66 236 35C236 33.34 237.34 32 239 32z"
id="path3561" /><path
d="m233.73 63.76 5.25-3.23 5.32 2.23 4.95-4.03"
fill="none"
stroke="#000"
stroke-miterlimit="10"
stroke-width="1.48"
id="path3563" /><path
d="m231 67 0-13-1 0 0 14 21 0 0-1z"
id="path3565" /><path
d="m237 11-4 0 0-4 4 0 0 4z"
id="path3567" /><path
d="m247 9-9 0 0-2 9 0 0 2z"
id="path3569" /><path
d="m247 11-9 0 0-1 9 0 0 1z"
id="path3571" /><path
d="m247 15-9 0 0-2 9 0 0 2z"
id="path3573" /><path
d="m237 17-4 0 0-4 4 0 0 4z"
id="path3575" /><path
d="m247 17-9 0 0-1 9 0 0 1z"
id="path3577" /><path
d="m176 38.13c-1.18 0-2.13-0.96-2.13-2.13 0-1.18 0.96-2.13 2.13-2.13 1.18 0 2.13 0.96 2.13 2.13 0 1.18-0.96 2.13-2.13 2.13m8-3.73-2.93-0.53 1.72-2.39-2.26-2.26-2.46 1.79-0.47-3-3.2 0-0.4 3.13-2.53-1.92-2.26 2.26 1.99 2.59-3.2 0.33 0 3.2 3.33 0.33-2.12 2.59 2.26 2.26 2.53-2.12 0.4 3.33 3.2 0 0.4-3.2 2.53 1.99 2.26-2.26L181 38.07l3-0.47 0-3.2z"
id="path3579" /><path
d="m268.01 35.99c0.61 0.28 1.07 0.9 1.07 1.58 0.11 0.85-0.05 1.72 0.12 2.57 0.27 0.54 1 0.28 1.43 0.55 0.49 0.24 0.48 1.01-0.06 1.18-0.56 0.22-1.18 0.08-1.74-0.05-0.71-0.2-1.41-0.72-1.5-1.5-0.18-0.89 0.01-1.8-0.16-2.68-0.22-0.64-0.94-0.9-1.57-0.93-0.58-0.1-0.83-0.94-0.35-1.3 0.51-0.35 1.26-0.14 1.69-0.66 0.44-0.48 0.29-1.18 0.32-1.78 0-0.81-0.02-1.77 0.65-2.34 0.66-0.54 1.58-0.71 2.41-0.63 0.63 0 0.98 0.87 0.4 1.22-0.44 0.37-1.2 0.06-1.51 0.65-0.14 0.56-0.05 1.15-0.07 1.73-0.01 0.75-0.05 1.64-0.72 2.13-0.12 0.1-0.26 0.19-0.4 0.26"
id="path3581" /><path
d="m276.98 35.99c-0.67-0.3-1.08-1.02-1.08-1.75-0.07-0.76 0.03-1.52-0.06-2.28-0.24-0.58-0.98-0.4-1.46-0.59-0.59-0.24-0.48-1.18 0.14-1.31 0.73-0.15 1.52-0.01 2.18 0.32 0.56 0.28 0.95 0.86 0.99 1.48 0.13 0.83-0.03 1.68 0.13 2.5 0.2 0.68 0.94 0.83 1.54 0.9 0.56 0.07 0.86 0.8 0.46 1.21-0.44 0.46-1.2 0.2-1.65 0.66-0.51 0.46-0.4 1.21-0.4 1.83-0.03 0.78 0.06 1.69-0.52 2.3-0.74 0.65-1.8 0.86-2.75 0.68-0.52-0.16-0.69-1.01-0.15-1.25 0.44-0.23 1.02-0.08 1.41-0.45 0.26-0.45 0.09-0.98 0.14-1.47 0.01-0.76-0.07-1.63 0.43-2.26C276.51 36.3 276.75 36.14 276.99 36"
id="path3583" /><path
d="m275 15-2 0 0-6 2 0zm-4 0-2 0 0-6 2 0zm4-10-6 0-4 4 0 6 4 4 6 0 4-4.12 0-5.88z"
id="path3585" /><path
d="m112.03 15.5c-1.93 0-3.5-1.57-3.5-3.5 0-1.93 1.57-3.5 3.5-3.5 1.93 0 3.5 1.57 3.5 3.5 0 1.93-1.57 3.5-3.5 3.5m-0.03-8.5c-2.44 0-4.63 0.83-9 5 4.31 4.17 6.56 5 9 5 2.44 0 4.63-0.83 9-5-4.31-4.17-6.56-5-9-5"
id="path3587" /><path
d="m110.5 12c0 0.83 0.67 1.5 1.5 1.5 0.83 0 1.5-0.67 1.5-1.5 0-0.83-0.67-1.5-1.5-1.5-0.83 0-1.5 0.67-1.5 1.5"
id="path3589" /><path
d="m139.5 33 9 0-1.5 10-6 0"
id="path3591" /><path
d="m147.5 30-2 0 0-1-3 0 0 1-2 0c-0.55 0-1 0.48-1 1l0 1 1 0 7 0 1 0 0-1c0-0.52-0.45-1-1-1"
id="path3593" /><path
d="m317 69 0-5-5 5 5 0z"
id="path3595" /><path
d="m23 84-8-5 0 10"
id="path3597" /><path
d="m13 89-3 0 0-10 3 0 0 10z"
id="path3599" /><path
d="m47 88-3 0 0-8 3 0 0 8z"
id="path3601" /><path
d="m53 88-3 0 0-8 3 0 0 8z"
id="path3603" /><path
d="m78.5 89c0 1.1 0.9 2 2 2 1.1 0 2-0.9 2-2 0-1.1-0.9-2-2-2-1.1 0-2 0.9-2 2"
id="path3605" /><path
d="M79 78L79 82L76 82L80.5 86L85 82L82 82L82 78L79 78z"
id="path3607" /><path
d="m110.5 89c0 1.1 0.9 2 2 2 1.1 0 2-0.9 2-2 0-1.1-0.9-2-2-2-1.1 0-2 0.9-2 2"
id="path3609" /><path
d="M112.5 78L108 82L111 82L111 86L114 86L114 82L117 82L112.5 78z"
id="path3611" /><path
d="m142 86.5c0 1.1 0.9 2 2 2 1.1 0 2-0.9 2-2 0-1.1-0.9-2-2-2-1.1 0-2 0.9-2 2"
id="path3613" /><path
d="m137.25 87.03c2.55-8.43 11.4-8.73 13.94 0"
fill="none"
stroke="#000"
stroke-width="2.5"
id="path3615" /><path
d="m151.68 89-4.54-2.76 6.68-2.1"
id="path3617" /><path
d="m12 102-7-4 0 8"
id="path3619" /><path
d="m24 106 4-7-8 0"
id="path3621" /><path
d="m8 111 4 7-8 0"
id="path3623" /><path
d="m54 105 0 7-10 0 0-7zm1 8 0-11-12 0 0 11z"
id="path3625" /><rect
height="3"
opacity="0.82"
ry="0"
width="12"
x="73"
y="110"
id="rect3627" /><rect
fill="none"
height="12"
stroke="#000"
width="14"
x="168.5"
y="78.5"
id="rect3629" /><path
d="m180 84.5-5-3.25 0 6.5"
id="path3631" /><rect
height="13"
width="1"
x="172"
y="78"
id="rect3633" /><rect
fill="none"
height="12"
stroke="#000"
width="14"
x="200.5"
y="78.5"
id="rect3635" /><path
d="m207 84.5 5-3.25 0 6.5"
id="path3637" /><rect
height="13"
width="1"
x="204"
y="78"
id="rect3639" /><rect
fill="none"
height="12"
stroke="#000"
width="14"
x="264.5"
y="78.5"
id="rect3641" /><path
d="m272 84.5-5-3.25 0 6.5"
id="path3643" /><rect
height="13"
width="1"
x="274"
y="78"
id="rect3645" /><rect
fill="none"
height="12"
stroke="#000"
width="14"
x="296.5"
y="78.5"
id="rect3647" /><path
d="m299 84.5 5-3.25 0 6.5"
id="path3649" /><rect
height="13"
width="1"
x="306"
y="78"
id="rect3651" /><path
d="m118 96c-3.87 0-7 3.13-7 7 0 3.87 3.13 7 7 7 3.87 0 7-3.13 7-7 0-3.87-3.13-7-7-7"
fill="url(#m)"
id="path3653" /><path
d="m111.5 103c0 3.59 2.91 6.5 6.5 6.5 3.59 0 6.5-2.91 6.5-6.5 0-3.59-2.91-6.5-6.5-6.5-3.59 0-6.5 2.91-6.5 6.5"
fill="#f27d82"
id="path3655" /><path
d="m121.5 100.93-0.93-0.93-2.57 2.57-2.57-2.57-0.93 0.93 2.57 2.57L114.5 106.07 115.43 107 118 104.43 120.57 107 121.5 106.07 118.93 103.5 121.5 100.93z"
fill-opacity="0.36"
id="path3657" /><path
d="m121.5 100.43-0.93-0.93-2.57 2.57-2.57-2.57-0.93 0.93 2.57 2.57-2.57 2.57 0.93 0.93 2.57-2.57 2.57 2.57 0.93-0.93-2.57-2.57 2.57-2.57z"
fill="#fff"
id="path3659" /><path
d="m138.5 100.93-0.93-0.93-2.57 2.57-2.57-2.57-0.93 0.93 2.57 2.57L131.5 106.07 132.43 107 135 104.43 137.57 107 138.5 106.07 135.93 103.5 138.5 100.93z"
fill-opacity="0.24"
id="path3661" /><path
d="m138.5 100.43-0.93-0.93-2.57 2.57-2.57-2.57-0.93 0.93 2.57 2.57-2.57 2.57 0.93 0.93 2.57-2.57 2.57 2.57 0.93-0.93-2.57-2.57 2.57-2.57z"
fill="#676767"
id="path3663" /><path
d="m103 110c3.87 0 7-3.13 7-7 0-3.87-3.13-7-7-7-3.87 0-7 3.13-7 7 0 3.87 3.13 7 7 7"
fill="url(#o)"
id="path3665" /><path
d="m103 96.5c-3.59 0-6.5 2.91-6.5 6.5 0 3.59 2.91 6.5 6.5 6.5 3.59 0 6.5-2.91 6.5-6.5 0-3.59-2.91-6.5-6.5-6.5"
fill="url(#n)"
id="path3667" /><path
d="m106.5 100.93-0.93-0.93-2.57 2.57-2.57-2.57-0.93 0.93 2.57 2.57L99.5 106.07 100.43 107 103 104.43 105.57 107 106.5 106.07 103.93 103.5 106.5 100.93z"
fill="#993c35"
id="path3669" /><path
d="m106.5 100.43-0.93-0.93-2.57 2.57-2.57-2.57-0.93 0.93 2.57 2.57-2.57 2.57 0.93 0.93 2.57-2.57 2.57 2.57 0.93-0.93-2.57-2.57 2.57-2.57z"
fill="#fff"
id="path3671" /><path
d="m143 102.5c0 3.59 2.91 6.5 6.5 6.5 3.59 0 6.5-2.91 6.5-6.5 0-3.59-2.91-6.5-6.5-6.5-3.59 0-6.5 2.91-6.5 6.5"
fill="#bebebe"
id="path3673" /><path
d="m153 100.43-0.93-0.93-2.57 2.57L146.93 99.5 146 100.43 148.57 103 146 105.57 146.93 106.5 149.5 103.93 152.07 106.5 153 105.57 150.43 103 153 100.43z"
fill-opacity="0.37"
id="path3675" /><path
d="M153 99.93 152.07 99 149.5 101.57 146.93 99 146 99.93 148.57 102.5 146 105.07 146.93 106 149.5 103.43 152.07 106 153 105.07 150.43 102.5 153 99.93z"
fill="#fff"
id="path3677" /><path
d="m160 102.5c0 3.59 2.91 6.5 6.5 6.5 3.59 0 6.5-2.91 6.5-6.5 0-3.59-2.91-6.5-6.5-6.5-3.59 0-6.5 2.91-6.5 6.5"
fill="#9f9f9f"
id="path3679" /><path
d="m170 100.43-0.93-0.93-2.57 2.57L163.93 99.5 163 100.43 165.57 103 163 105.57 163.93 106.5 166.5 103.93 169.07 106.5 170 105.57 167.43 103 170 100.43z"
fill-opacity="0.36"
id="path3681" /><path
d="M170 99.93 169.07 99 166.5 101.57 163.93 99 163 99.93 165.57 102.5 163 105.07 163.93 106 166.5 103.43 169.07 106 170 105.07 167.43 102.5 170 99.93z"
fill="#fff"
id="path3683" /><path
d="m184.5 100.43-0.93-0.93-2.57 2.57-2.57-2.57-0.93 0.93 2.57 2.57-2.57 2.57 0.93 0.93 2.57-2.57 2.57 2.57 0.93-0.93-2.57-2.57 2.57-2.57z"
fill-opacity="0.24"
id="path3685" /><path
d="m184.5 99.93-0.93-0.93-2.57 2.57-2.57-2.57-0.93 0.93 2.57 2.57L177.5 105.07 178.43 106 181 103.43 183.57 106 184.5 105.07 181.93 102.5 184.5 99.93z"
fill="#676767"
id="path3687" /><path
d="m131.65 116.21-1.44-2.03-1.21 1.21 2.55 3.61 6.45-7.67-1.12-1.33z"
id="path3689" /><path
d="m195.75 97.75 3.5 3.25-3.5 3.25"
fill="none"
stroke="#367cf1"
stroke-width="1.5"
id="path3691" /><path
d="m195.75 108.75 3.5 3.25-3.5 3.25"
fill="none"
stroke="#939393"
stroke-width="1.5"
id="path3693" /><path
d="m209 101c0 0.55 0.45 1 1 1 0.55 0 1-0.45 1-1 0-0.55-0.45-1-1-1-0.55 0-1 0.45-1 1"
fill="#bababa"
id="path3695" /><path
d="m208.25 97.75-3.5 3.25 3.5 3.25"
fill="none"
stroke="#bababa"
stroke-width="1.5"
id="path3697" /><path
d="m218 96c-2.76 0-5 2.24-5 5 0 2.76 2.24 5 5 5 2.76 0 5-2.24 5-5 0-2.76-2.24-5-5-5"
fill="url(#p)"
id="path3699" /><path
d="m213.36 101c0 2.56 2.08 4.64 4.64 4.64 2.56 0 4.64-2.08 4.64-4.64 0-2.56-2.08-4.64-4.64-4.64-2.56 0-4.64 2.08-4.64 4.64"
fill="#eb3941"
id="path3701" /><path
d="m216 99 4 4"
stroke="#fff"
id="path3703" /><path
d="m220 99-4 4"
stroke="#fff"
id="path3705" /><path
d="m203 116 4-8 4 8z"
stroke="#c19600"
stroke-linejoin="round"
stroke-width="2"
id="path3707" /><path
d="m203 116 4-8 4 8z"
fill="#f4bd00"
stroke="#f5bd00"
stroke-linejoin="round"
stroke-width="1.5"
id="path3709" /><path
d="m205.75 109.75 2.5 0 0 2.5-0.5 1.75-1.5 0-0.5-1.75 0-2.5m0 5.25 2.5 0 0 1.25-2.5 0"
fill="#ad8601"
id="path3711" /><path
d="m206 110 2 0 0 2.25-0.5 1.75-1 0-0.5-1.75 0-2.25m0 5 2 0 0 1-2 0"
fill="#fff"
id="path3713" /><path
d="m229 106c-2.76 0-5-2.24-5-5 0-2.76 2.24-5 5-5 2.76 0 5 2.24 5 5 0 2.76-2.24 5-5 5z"
fill="url(#r)"
id="path3715" /><path
d="m233.5 101c0 2.49-2.01 4.5-4.5 4.5-2.49 0-4.5-2.01-4.5-4.5 0-2.49 2.01-4.5 4.5-4.5 2.49 0 4.5 2.01 4.5 4.5z"
fill="#d00"
id="path3717" /><path
d="m229.03 96.53c1.97 0 3.56 1.02 3.56 2.28 0 1.26-1.59 2.28-3.56 2.28-1.97 0-3.56-1.02-3.56-2.28 0-1.26 1.59-2.28 3.56-2.28z"
fill="url(#s)"
id="path3719" /><path
d="m229.03 105.47c1.66 0 3-0.71 3-1.59 0-0.88-1.34-1.59-3-1.59-1.66 0-3 0.71-3 1.59 0 0.88 1.34 1.59 3 1.59z"
fill="url(#t)"
id="path3721" /><path
d="m239.95 106c-2.76-0.03-4.98-2.29-4.95-5.05 0.03-2.76 2.29-4.98 5.05-4.95 2.76 0.03 4.98 2.29 4.95 5.05-0.03 2.76-2.29 4.98-5.05 4.95z"
fill="url(#u)"
id="path3723" /><path
d="m244.5 101.05c-0.03 2.49-2.06 4.48-4.55 4.45-2.49-0.03-4.48-2.06-4.45-4.55 0.03-2.49 2.06-4.48 4.55-4.45 2.49 0.03 4.48 2.06 4.45 4.55z"
fill="#00be00"
id="path3725" /><path
d="m240.08 96.53c1.97 0.02 3.55 1.06 3.54 2.32-0.01 1.26-1.62 2.26-3.59 2.24-1.97-0.02-3.55-1.06-3.54-2.32 0.01-1.26 1.62-2.26 3.59-2.24z"
fill="url(#v)"
id="path3727" /><path
d="m239.98 105.41c1.66 0.02 3.01-0.68 3.02-1.56 0.01-0.88-1.33-1.61-2.98-1.63-1.66-0.02-3.01 0.68-3.02 1.56-0.01 0.88 1.33 1.61 2.98 1.63z"
fill="url(#w)"
id="path3729" /><path
d="m251 106c-2.76 0-5-2.24-5-5 0-2.76 2.24-5 5-5 2.76 0 5 2.24 5 5 0 2.76-2.24 5-5 5z"
fill="#e5a600"
id="path3731" /><path
d="m255.5 101c0 2.49-2.01 4.5-4.5 4.5-2.49 0-4.5-2.01-4.5-4.5 0-2.49 2.01-4.5 4.5-4.5 2.49 0 4.5 2.01 4.5 4.5z"
fill="#ffbd00"
id="path3733" /><path
d="m251.03 96.53c1.97 0 3.56 1.02 3.56 2.28 0 1.26-1.59 2.28-3.56 2.28-1.97 0-3.56-1.02-3.56-2.28 0-1.26 1.59-2.28 3.56-2.28z"
fill="url(#x)"
id="path3735" /><path
d="m250.99 105.42c1.66 0 3-0.71 3-1.59 0-0.88-1.34-1.59-3-1.59-1.66 0-3 0.71-3 1.59 0 0.88 1.34 1.59 3 1.59z"
fill="url(#y)"
id="path3737" /><rect
height="12"
rx="0.25"
ry="0.25"
style="fill-opacity:0.38;stroke-linejoin:round;stroke-miterlimit:0;stroke-width:2;stroke:#000"
width="8"
x="268"
y="102"
id="rect3739" /><path
d="m218 107c-2.76 0-5 2.24-5 5 0 2.76 2.24 5 5 5 2.76 0 5-2.24 5-5 0-2.76-2.24-5-5-5"
fill="url(#q)"
id="path3741" /><path
d="m213.36 112c0 2.56 2.08 4.64 4.64 4.64 2.56 0 4.64-2.08 4.64-4.64 0-2.56-2.08-4.64-4.64-4.64-2.56 0-4.64 2.08-4.64 4.64"
fill="#2a53cd"
id="path3743" /><path
d="m216.93 109.14c-0.03-0.53 0.55-0.97 1.06-0.83 0.5 0.12 0.79 0.73 0.56 1.18-0.2 0.44-0.79 0.61-1.2 0.36C217.09 109.71 216.93 109.43 216.93 109.14zm1.7 5.46c0.22 0 0.45 0 0.67 0 0 0.18 0 0.35 0 0.53-0.96 0-1.93 0-2.89 0 0-0.18 0-0.35 0-0.53 0.22 0 0.44 0 0.66 0 0-1.2 0-2.41 0-3.61-0.22 0-0.44 0-0.66 0 0-0.18 0-0.35 0-0.53 0.74 0 1.48 0 2.22 0 0 1.38 0 2.76 0 4.14z"
fill="#fff"
id="path3745" /><rect
height="8"
rx="0.25"
ry="0.25"
style="fill-opacity:0.38;stroke-linejoin:round;stroke-miterlimit:0;stroke-width:2;stroke:#000"
width="12"
x="298"
y="104"
id="rect3747" /><path
d="m12.25 125c-0.68 0-1.25 0.57-1.25 1.25l0 9.69 2-3.31 0-5.63 3.38 0 1.19-2-5.31 0zm8.75 3.06-2 3.31 0 5.63-3.38 0-1.19 2 5.31 0c0.68 0 1.25-0.57 1.25-1.25l0-9.69z"
stroke-width="2"
id="path3749" /><path
d="m10.75 140.75 10.5-17.5"
fill="none"
stroke="#000"
stroke-width="2"
id="path3751" /><path
d="m46 128 7 0 0 8-7 0 0-8zm9-2-14 0 0 12 14 0 0-12z"
id="path3753" /><rect
height="6"
width="3"
x="73"
y="129"
id="rect3755" /><rect
height="6"
width="3"
x="77"
y="129"
id="rect3757" /><rect
height="6"
width="3"
x="81"
y="129"
id="rect3759" /><rect
fill="none"
height="10"
rx="1"
ry="1"
stroke="#000"
stroke-linejoin="round"
stroke-width="2"
width="15"
x="71"
y="127"
id="rect3761" /><path
d="m86 129c3 0 3 0 3 3 0 3 0 3-3 3"
fill="none"
stroke="#000"
stroke-width="2"
id="path3763" /><path
d="m227.25 107c-0.7 0-1.25 0.5-1.25 1.25l0 7.5c0 0.7 0.5 1.25 1.25 1.25l3.5 0c0.7 0 1.25-0.5 1.25-1.25l0-7.5c0-0.7-0.5-1.25-1.25-1.25l-3.5 0zm-0.25 1 4 0 0 7-4 0 0-7zm2 7.25c0.4 0 0.75 0.3 0.75 0.75 0 0.4-0.3 0.75-0.75 0.75-0.4 0-0.75-0.3-0.75-0.75 0-0.4 0.3-0.75 0.75-0.75z"
id="path3765" /><path
d="m 180,6 0,11 -7,0 0,-11 z m 1,12.5 0,-14 c -3.61,-0.97 -5.62,-1.02 -9,0 l 0,14 c 3.41,0.68 5.43,0.9 9,0 z"
id="path3767"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc" /><rect
fill-opacity="0.49"
height="7"
transform="matrix(0.82509248,0.5649977,-0.5649977,0.82509248,0,0)"
width="1"
x="150.2782"
y="-94.72863"
id="rect3769" /><rect
fill-opacity="0.49"
height="3"
transform="matrix(0.82909395,0.55910931,-0.55910931,0.82909395,0,0)"
width="1"
x="148.78542"
y="-92.539734"
id="rect3771" /></svg>
\ No newline at end of file
{
"statusbarButtonGlyphs.svg": "9717a272c3d0c6f9804f78fe5d65a1dd",
"statusbarButtonGlyphs.svg": "3f642dca97434b4cbb6491e2854dc69f",
"breakpoint.svg": "69cd92d807259c022791112809b97799",
"responsiveDesign.svg": "bc00a0a7fb0a47453929f94c9a4e003c",
"settingsListRemove.svg": "ce9e7c5c5cdaef28e6ee51d9478d5485",
......
......@@ -2295,7 +2295,7 @@ body.inactive .sidebar-tree-item.selected {
}
.responsive-design-status-bar-item .glyph {
-webkit-mask-position: -160px 0px;
-webkit-mask-position: -164px 0px;
}
.delete-storage-status-bar-item .glyph {
......
......@@ -29,7 +29,6 @@
import devtools_file_hashes
import hashlib
import optimize_svg_file
import os
import os.path
import re
......@@ -50,16 +49,6 @@ def check_installed(app_name):
sys.exit(1)
def optimize_svg(svg_file_path):
errors = []
optimize_svg_file.optimize_svg(svg_file_path, errors)
if len(errors) != 0:
print "Failed to optimize '%s'" % (svg_file_path)
for error in errors:
print "ERROR: %s" % (error)
return True
return False
check_installed("inkscape")
scripts_path = os.path.dirname(os.path.abspath(__file__))
......@@ -73,10 +62,6 @@ hashes_file_path = image_sources_path + "/" + hashes_file_name
file_names = os.listdir(image_sources_path)
svg_file_paths = [image_sources_path + "/" + file_name for file_name in file_names if file_name.endswith(".svg")]
svg_optimization_failures = [optimize_svg(svg_file_path) for svg_file_path in svg_file_paths]
if any(svg_optimization_failures):
sys.exit(1)
svg_file_paths_to_convert = devtools_file_hashes.files_with_invalid_hashes(hashes_file_path, svg_file_paths)
svg_file_names = [re.sub(".svg$", "", re.sub(".*/", "", file_path)) for file_path in svg_file_paths_to_convert]
......
......@@ -79,7 +79,7 @@ check_installed("pngout", None, "Utility can be downloaded here: http://www.jono
def optimize_png(file_name):
png_full_path = images_path + "/" + file_name + ".png"
optimize_command = "%s -o2 %s" % (optimize_script_path, png_full_path)
optimize_command = "bash %s -o2 %s" % (optimize_script_path, png_full_path)
proc = subprocess.Popen(optimize_command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True, cwd=chromium_src_path)
return proc
......
#!/usr/bin/env python
# Copyright (c) 2014 Google Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following disclaimer
# in the documentation and/or other materials provided with the
# distribution.
# * Neither the name of Google Inc. nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
import re
import string
import sys
import xml.dom.minidom
def _optimize_number(value):
try:
if value[0] == "#" or value[0] == "n":
return value
numeric = round(float(value), 2)
short = int(numeric)
if short == numeric:
return str(short)
return str(numeric)
except:
return value
def _optimize_value(value, default):
value = value.strip()
if value.endswith("px"):
value = value[:-2]
if value.endswith("pt"):
print "WARNING: 'pt' size units are undesirable."
if len(value) == 7 and value[0] == "#" and value[1] == value[2] and value[3] == value[4] and value[6] == value[6]:
value = "#" + value[1] + value[3] + value[5]
value = _optimize_number(value)
if value == default:
value = ""
return value
def _optimize_values(node, defaults):
items = {}
if node.hasAttribute("style"):
for item in node.getAttribute("style").strip(";").split(";"):
[key, value] = item.split(":", 1)
key = key.strip()
if key not in defaults:
continue
items[key] = _optimize_value(value, defaults[key])
for key in defaults.keys():
if node.hasAttribute(key):
value = _optimize_value(node.getAttribute(key), defaults[key])
items[key] = value
if len([(key, value) for key, value in items.iteritems() if value != ""]) > 4:
style = []
for key, value in items.iteritems():
if node.hasAttribute(key):
node.removeAttribute(key)
if value != "":
style.append(key + ":" + value)
node.setAttribute("style", string.join(sorted(style), ";"))
else:
if node.hasAttribute("style"):
node.removeAttribute("style")
for key, value in items.iteritems():
if value == "":
if node.hasAttribute(key):
node.removeAttribute(key)
else:
node.setAttribute(key, value)
def _optimize_path(value):
path = []
commands = "mMzZlLhHvVcCsSqQtTaA"
last = 0
raw = " " + value + " "
for i in range(len(raw)):
if raw[i] in [" ", ","]:
if last < i:
path.append(raw[last:i])
# Consumed whitespace
last = i + 1
elif raw[i] == "-" and raw[i - 1] != "e" and raw[i - 1] != "e":
if last < i:
path.append(raw[last:i])
last = i
elif raw[i] in commands:
if last < i:
path.append(raw[last:i])
path.append(raw[i])
# Consumed command
last = i + 1
out = []
need_space = False
for item in path:
if item in commands:
need_space = False
else:
item = _optimize_number(item)
if need_space and item[0] != "-":
out.append(" ")
need_space = True
out.append(item)
return string.join(out, "")
def _optimize_paths(dom):
for node in dom.getElementsByTagName("path"):
path = node.getAttribute("d")
node.setAttribute("d", _optimize_path(path))
def _check_groups(dom, errors):
if len(dom.getElementsByTagName("g")) != 0:
errors.append("Groups are prohibited.")
def _check_text(dom, errors):
if len(dom.getElementsByTagName("text")) != 0:
errors.append("Text elements prohibited.")
def _check_transform(dom, errors):
if (any(path.hasAttribute("transform") for path in dom.getElementsByTagName("path")) or
any(rect.hasAttribute("transform") for rect in dom.getElementsByTagName("rect"))):
errors.append("Transforms are prohibited.")
def _cleanup_dom_recursively(node, dtd):
junk = []
for child in node.childNodes:
if child.nodeName in dtd:
_cleanup_dom_recursively(child, dtd[child.nodeName])
else:
junk.append(child)
for child in junk:
node.removeChild(child)
def _cleanup_dom(dom):
dtd = {
"svg": {
"sodipodi:namedview": {
"inkscape:grid": {}},
"defs": {
"linearGradient": {
"stop": {}},
"radialGradient": {
"stop": {}}},
"path": {},
"rect": {}}}
_cleanup_dom_recursively(dom, dtd)
def _cleanup_sodipodi(dom):
for node in dom.getElementsByTagName("svg"):
for key in node.attributes.keys():
if key not in ["height", "version", "width", "xml:space", "xmlns", "xmlns:xlink", "xmlns:sodipodi", "xmlns:inkscape"]:
node.removeAttribute(key)
for node in dom.getElementsByTagName("sodipodi:namedview"):
for key in node.attributes.keys():
if key != "showgrid":
node.removeAttribute(key)
for nodeName in ["defs", "linearGradient", "path", "radialGradient", "rect", "stop", "svg"]:
for node in dom.getElementsByTagName(nodeName):
for key in node.attributes.keys():
if key.startswith("sodipodi:") or key.startswith("inkscape:"):
node.removeAttribute(key)
def _cleanup_ids(dom):
for nodeName in ["defs", "path", "rect", "sodipodi:namedview", "stop", "svg"]:
for node in dom.getElementsByTagName(nodeName):
if node.hasAttribute("id"):
node.removeAttribute("id")
def _optimize_path_attributes(dom):
defaults = {
"fill": "#000",
"fill-opacity": "1",
"fill-rule": "nonzero",
"opacity": "1",
"stroke": "none",
"stroke-dasharray": "none",
"stroke-linecap": "butt",
"stroke-linejoin": "miter",
"stroke-miterlimit": "4",
"stroke-opacity": "1",
"stroke-width": "1"}
for nodeName in ["path", "rect"]:
for node in dom.getElementsByTagName(nodeName):
_optimize_values(node, defaults)
def _optimize_stop_attributes(dom):
defaults = {
"stop-color": "#000",
"stop-opacity": "1"}
for node in dom.getElementsByTagName("stop"):
_optimize_values(node, defaults)
def _cleanup_gradients(dom):
while True:
gradients = []
for nodeName in ["linearGradient", "radialGradient"]:
for node in dom.getElementsByTagName(nodeName):
name = node.getAttribute("id")
gradients.append({"node": node, "ref": "#" + name, "url": "url(#" + name + ")", "has_ref": False})
for nodeName in ["linearGradient", "path", "radialGradient", "rect"]:
for node in dom.getElementsByTagName(nodeName):
for key in node.attributes.keys():
if key == "id":
continue
value = node.getAttribute(key)
for gradient in gradients:
if gradient["has_ref"] == False:
if value == gradient["ref"] or value.find(gradient["url"]) != -1:
gradient["has_ref"] = True
finished = True
for gradient in gradients:
if gradient["has_ref"] == False:
gradient["node"].parentNode.removeChild(gradient["node"])
finished = False
if finished:
break
def _generate_name(num):
letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
n = len(letters)
if num < n:
return letters[num]
return letters[num / n] + letters[num % n]
def _optimize_gradient_ids(dom):
gradients = []
names = {}
for nodeName in ["linearGradient", "radialGradient"]:
for node in dom.getElementsByTagName(nodeName):
name = node.getAttribute("id")
gradients.append({"node": node, "name": name, "ref": "#" + name, "url": "url(#" + name + ")", "new_name": None})
names[name] = True
cntr = 0
for gradient in gradients:
if len(gradient["name"]) > 2:
while True:
new_name = _generate_name(cntr)
cntr = cntr + 1
if new_name not in names:
gradient["new_name"] = new_name
gradient["node"].setAttribute("id", new_name)
break
if cntr == 0:
return
gradients = [gradient for gradient in gradients if gradient["new_name"] is not None]
for nodeName in ["linearGradient", "path", "radialGradient", "rect"]:
for node in dom.getElementsByTagName(nodeName):
for key in node.attributes.keys():
if key == "id":
continue
value = node.getAttribute(key)
for gradient in gradients:
if value == gradient["ref"]:
node.setAttribute(key, "#" + gradient["new_name"])
elif value.find(gradient["url"]) != -1:
value = value.replace(gradient["url"], "url(#" + gradient["new_name"] + ")")
node.setAttribute(key, value)
def _build_xml(dom):
raw_xml = dom.toxml("utf-8")
# Turn to one-node-per-line
pretty_xml = re.sub("([^?])(/?>)(?!</)", "\\1\\n\\2", raw_xml)
return pretty_xml
def optimize_svg(file, errors):
try:
dom = xml.dom.minidom.parse(file)
except:
errors.append("Can't parse XML.")
return
_check_groups(dom, errors)
_check_text(dom, errors)
_check_transform(dom, errors)
if len(errors) != 0:
return
_cleanup_dom(dom)
_cleanup_ids(dom)
_cleanup_sodipodi(dom)
_cleanup_gradients(dom)
_optimize_gradient_ids(dom)
_optimize_path_attributes(dom)
_optimize_stop_attributes(dom)
_optimize_paths(dom)
# TODO: Bake nested gradients
# TODO: Optimize gradientTransform
with open(file, "w") as text_file:
text_file.write(_build_xml(dom))
if __name__ == '__main__':
if len(sys.argv) != 1:
print('usage: %s input_file' % sys.argv[0])
sys.exit(1)
errors = []
optimize_svg(sys.argv[1], errors)
for error in errors:
print "ERROR: %s" % (error)
if len(errors) != 0:
sys.exit(1)
else:
sys.exit(0)
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment