summary refs log blame commit diff stats
path: root/plugins/fishlim/irc.c
blob: deba545bd455c507b53439a4b5f6c05b0d463f90 (plain) (tree)
1
2
3

  
                                                               




















                                                                               

                   
                 






                                                                             
                                               





                                                                 
                                                               




                                           

                                          



                                     
                













                                                            



                             
                          


                                                             
                         
                          
                                      
 
/*

  Copyright (c) 2010 Samuel Lidén Borell <samuel@kodafritt.se>

  Permission is hereby granted, free of charge, to any person obtaining a copy
  of this software and associated documentation files (the "Software"), to deal
  in the Software without restriction, including without limitation the rights
  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  copies of the Software, and to permit persons to whom the Software is
  furnished to do so, subject to the following conditions:

  The above copyright notice and this permission notice shall be included in
  all copies or substantial portions of the Software.

  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  THE SOFTWARE.

*/

#include "config.h"

#include <glib.h>
#include "irc.h"

/**
 * Parses an IRC message. The words array should contain the message splitted
 * at spaces. The prefix and command is extracted from the message, and
 * parameters_offset is set to the index of the first parameter.
 */
gboolean irc_parse_message(const char *words[],
                       const char **prefix, const char **command,
                       size_t *parameters_offset) {
    size_t w = 1;
    if (prefix) *prefix = NULL;
    if (command) *command = NULL;
    
    /* See if the message starts with a prefix (sender user) */
    if (words[w][0] == ':') {
        if (prefix) *prefix = &words[w][1];
        w++;
    }
    
    /* Check command */
    if (words[w][0] == '\0') return FALSE;
    if (command) *command = words[w];
    w++;
    
    *parameters_offset = w;
    return TRUE;
}


/**
 * Finds the nick part of a "IRC prefix", which can have any
 * of the following forms:
 *
 *     nick
 *     nick@host
 *     nick!ident
 *     nick!ident@host
 */
char *irc_prefix_get_nick(const char *prefix) {
    const char *end;
    size_t length;
    
    if (!prefix) return NULL;
    
    /* Find end of nick */
    end = prefix;
    while (*end != '\0' && *end != '!' && *end != '@') end++;
    
    /* Allocate string */
    length = end - prefix;
    return g_strndup (prefix, length);
}
sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->

<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"
   sodipodi:docname="hexchat.svg"
   version="1.0"
   inkscape:version="0.48.4 r9939"
   sodipodi:version="0.32"
   id="svg2"
   height="64"
   width="64">
  <defs
     id="defs4">
    <linearGradient
       id="linearGradient2289">
      <stop
         style="stop-color:#ff2600;stop-opacity:1;"
         offset="0"
         id="stop2291" />
      <stop
         style="stop-color:#ffd600;stop-opacity:1;"
         offset="1"
         id="stop2293" />
    </linearGradient>
    <linearGradient
       inkscape:collect="always"
       xlink:href="#linearGradient2289"
       id="linearGradient1335"
       gradientUnits="userSpaceOnUse"
       gradientTransform="matrix(0.545166,0,0,0.544959,0.186963,35.29511)"
       x1="16.88862"
       y1="77.796608"
       x2="72.348671"
       y2="20.59322" />
    <linearGradient
       inkscape:collect="always"
       xlink:href="#linearGradient2289"
       id="linearGradient1337"
       gradientUnits="userSpaceOnUse"
       gradientTransform="matrix(0.545166,0,0,0.544959,0.186963,35.29511)"
       x1="16.88862"
       y1="77.796608"
       x2="16.88862"
       y2="19.001091" />
    <linearGradient
       inkscape:collect="always"
       xlink:href="#linearGradient2289"
       id="linearGradient1317"
       gradientUnits="userSpaceOnUse"
       gradientTransform="matrix(0.735969,0,0,0.735801,-2.052758,-16.66733)"
       x1="16.88862"
       y1="77.796608"
       x2="72.348671"
       y2="20.59322" />
    <linearGradient
       inkscape:collect="always"
       xlink:href="#linearGradient2289"
       id="linearGradient1319"
       gradientUnits="userSpaceOnUse"
       gradientTransform="matrix(0.735969,0,0,0.735801,-2.052758,-16.66733)"
       x1="16.88862"
       y1="77.796608"
       x2="16.88862"
       y2="19.001091" />
    <linearGradient
       inkscape:collect="always"
       xlink:href="#linearGradient2289"
       id="linearGradient1320"
       gradientUnits="userSpaceOnUse"
       gradientTransform="matrix(0.735969,0,0,0.735801,-2.172329,-1.111016)"
       x1="16.88862"
       y1="77.796608"
       x2="72.348671"
       y2="20.59322" />
    <linearGradient
       inkscape:collect="always"
       xlink:href="#linearGradient2289"
       id="linearGradient1322"
       gradientUnits="userSpaceOnUse"
       gradientTransform="matrix(0.735969,0,0,0.735801,-2.172329,-1.111016)"
       x1="16.88862"
       y1="77.796608"
       x2="16.88862"
       y2="19.001091" />
    <linearGradient
       inkscape:collect="always"
       xlink:href="#linearGradient2289"
       id="linearGradient2997"
       gradientUnits="userSpaceOnUse"
       gradientTransform="matrix(0.735969,0,0,0.735801,-160.10656,-7.1914058)"
       x1="130.2673"
       y1="78.743134"
       x2="129.2081"
       y2="25.771122" />
    <linearGradient
       inkscape:collect="always"
       xlink:href="#linearGradient2289"
       id="linearGradient3011"
       x1="34.62241"
       y1="53.508884"
       x2="34.466503"
       y2="5.4893961"
       gradientUnits="userSpaceOnUse" />
    <linearGradient
       inkscape:collect="always"
       xlink:href="#linearGradient2289"
       id="linearGradient3030"
       gradientUnits="userSpaceOnUse"
       x1="34.62241"
       y1="53.508884"
       x2="34.466503"
       y2="5.4893961" />
    <linearGradient
       inkscape:collect="always"
       xlink:href="#linearGradient2289"
       id="linearGradient3070"
       gradientUnits="userSpaceOnUse"
       x1="34.62241"
       y1="53.508884"
       x2="34.466503"
       y2="5.4893961"
       gradientTransform="matrix(0.99894925,0,0,0.97549134,-3.1829063,4.465557)" />
    <filter
       id="filter3281"
       style="color-interpolation-filters:sRGB;"
       inkscape:label="Drop Shadow">
      <feFlood
         id="feFlood3283"
         flood-opacity="0.33"
         flood-color="rgb(0,0,0)"
         result="flood" />
      <feComposite
         id="feComposite3285"
         in2="SourceGraphic"
         in="flood"
         operator="in"
         result="composite1" />
      <feGaussianBlur
         id="feGaussianBlur3287"
         in="composite"
         stdDeviation="2"
         result="blur" />
      <feOffset
         id="feOffset3289"
         dx="4"
         dy="1"
         result="offset" />
      <feComposite
         id="feComposite3291"
         in2="offset"
         in="SourceGraphic"
         operator="over"
         result="composite2" />
    </filter>
    <filter
       id="filter3293"
       style="color-interpolation-filters:sRGB;"
       inkscape:label="Drop Shadow">
      <feFlood
         id="feFlood3295"
         flood-opacity="0.33"
         flood-color="rgb(0,0,0)"
         result="flood" />
      <feComposite
         id="feComposite3297"
         in2="SourceGraphic"
         in="flood"
         operator="in"
         result="composite1" />
      <feGaussianBlur
         id="feGaussianBlur3299"
         in="composite"
         stdDeviation="2"
         result="blur" />
      <feOffset
         id="feOffset3301"
         dx="4"
         dy="1"
         result="offset" />
      <feComposite
         id="feComposite3303"
         in2="offset"
         in="SourceGraphic"
         operator="over"
         result="composite2" />
    </filter>
    <linearGradient
       inkscape:collect="always"
       xlink:href="#linearGradient2289"
       id="linearGradient4089"
       x1="99.348503"
       y1="59.934135"
       x2="100.40916"
       y2="10.613438"
       gradientUnits="userSpaceOnUse" />
    <linearGradient
       inkscape:collect="always"
       xlink:href="#linearGradient2289"
       id="linearGradient4093"
       gradientUnits="userSpaceOnUse"
       x1="99.348503"
       y1="59.934135"
       x2="100.40916"
       y2="10.613438" />
    <linearGradient
       inkscape:collect="always"
       xlink:href="#linearGradient2289"
       id="linearGradient4096"
       gradientUnits="userSpaceOnUse"
       x1="99.348503"
       y1="59.934135"
       x2="100.40916"
       y2="10.613438" />
    <linearGradient
       inkscape:collect="always"
       xlink:href="#linearGradient2289"
       id="linearGradient4098"
       gradientUnits="userSpaceOnUse"
       x1="99.348503"
       y1="59.934135"
       x2="100.40916"
       y2="10.613438"
       gradientTransform="translate(-70.003571,-2.298097)" />
    <linearGradient
       inkscape:collect="always"
       xlink:href="#linearGradient2289-4"
       id="linearGradient4101"
       gradientUnits="userSpaceOnUse"
       gradientTransform="matrix(0.94969205,0,0,0.89326813,1.6716955,2.7025635)"
       x1="31.372862"
       y1="60.111893"
       x2="31.559002"
       y2="5.6897221" />
    <filter
       id="filter4111"
       style="color-interpolation-filters:sRGB;"
       inkscape:label="Drop Shadow">
      <feFlood
         id="feFlood4113"
         flood-opacity="0.33"
         flood-color="rgb(0,0,0)"
         result="flood" />
      <feComposite
         id="feComposite4115"
         in2="SourceGraphic"
         in="flood"
         operator="in"
         result="composite1" />
      <feGaussianBlur
         id="feGaussianBlur4117"
         in="composite"
         stdDeviation="2"
         result="blur" />
      <feOffset
         id="feOffset4119"
         dx="4"
         dy="1"
         result="offset" />
      <feComposite
         id="feComposite4121"
         in2="offset"
         in="SourceGraphic"
         operator="over"
         result="composite2" />
    </filter>
    <filter
       id="filter4123"
       style="color-interpolation-filters:sRGB;"
       inkscape:label="Drop Shadow">
      <feFlood
         id="feFlood4125"
         flood-opacity="0.33"
         flood-color="rgb(0,0,0)"
         result="flood" />
      <feComposite
         id="feComposite4127"
         in2="SourceGraphic"
         in="flood"
         operator="in"
         result="composite1" />
      <feGaussianBlur
         id="feGaussianBlur4129"
         in="composite"
         stdDeviation="2"
         result="blur" />
      <feOffset
         id="feOffset4131"
         dx="4"
         dy="1"
         result="offset" />
      <feComposite
         id="feComposite4133"
         in2="offset"
         in="SourceGraphic"
         operator="over"
         result="composite2" />
    </filter>
    <linearGradient
       y2="19.001091"
       x2="16.88862"
       y1="77.796608"
       x1="16.88862"
       gradientTransform="matrix(0.735969,0,0,0.735801,-2.172329,-1.111016)"
       gradientUnits="userSpaceOnUse"
       id="linearGradient1330"
       xlink:href="#linearGradient2289-4"
       inkscape:collect="always" />
    <linearGradient
       y2="20.59322"
       x2="72.348671"
       y1="77.796608"
       x1="16.88862"
       gradientTransform="matrix(0.735969,0,0,0.735801,-2.172329,-1.111016)"
       gradientUnits="userSpaceOnUse"
       id="linearGradient1328"
       xlink:href="#linearGradient2289-4"
       inkscape:collect="always" />
    <linearGradient
       y2="19.001091"
       x2="16.88862"
       y1="77.796608"
       x1="16.88862"
       gradientTransform="matrix(0.735969,0,0,0.735801,-2.172329,-1.111016)"
       gradientUnits="userSpaceOnUse"
       id="linearGradient1322-5"
       xlink:href="#linearGradient2289-4"
       inkscape:collect="always" />
    <linearGradient
       y2="20.59322"
       x2="72.348671"
       y1="77.796608"
       x1="16.88862"
       gradientTransform="matrix(0.735969,0,0,0.735801,-2.172329,-1.111016)"
       gradientUnits="userSpaceOnUse"
       id="linearGradient1320-4"
       xlink:href="#linearGradient2289-4"
       inkscape:collect="always" />
    <linearGradient
       y2="19.001091"
       x2="16.88862"
       y1="77.796608"
       x1="16.88862"
       gradientTransform="matrix(0.735969,0,0,0.735801,-2.052758,-16.66733)"
       gradientUnits="userSpaceOnUse"
       id="linearGradient1319-2"
       xlink:href="#linearGradient2289-4"
       inkscape:collect="always" />
    <linearGradient
       y2="20.59322"
       x2="72.348671"
       y1="77.796608"
       x1="16.88862"
       gradientTransform="matrix(0.735969,0,0,0.735801,-2.052758,-16.66733)"
       gradientUnits="userSpaceOnUse"
       id="linearGradient1317-8"
       xlink:href="#linearGradient2289-4"
       inkscape:collect="always" />
    <linearGradient
       y2="19.001091"
       x2="16.88862"
       y1="77.796608"
       x1="16.88862"
       gradientTransform="matrix(0.545166,0,0,0.544959,0.186963,35.29511)"
       gradientUnits="userSpaceOnUse"
       id="linearGradient1337-8"
       xlink:href="#linearGradient2289-4"
       inkscape:collect="always" />
    <linearGradient
       y2="20.59322"
       x2="72.348671"
       y1="77.796608"
       x1="16.88862"
       gradientTransform="matrix(0.545166,0,0,0.544959,0.186963,35.29511)"
       gradientUnits="userSpaceOnUse"
       id="linearGradient1335-4"
       xlink:href="#linearGradient2289-4"
       inkscape:collect="always" />
    <linearGradient
       id="linearGradient2289-4">
      <stop
         id="stop2291-0"
         offset="0"
         style="stop-color:#ff2600;stop-opacity:1;" />
      <stop
         id="stop2293-9"
         offset="1"
         style="stop-color:#ffd600;stop-opacity:1;" />
    </linearGradient>
    <linearGradient
       inkscape:collect="always"
       xlink:href="#linearGradient2289-4"
       id="linearGradient3133"
       gradientUnits="userSpaceOnUse"
       gradientTransform="matrix(0.51445624,0,0,0.53856587,7.3477348,6.9450134)"
       x1="46.881573"
       y1="91.824585"
       x2="47.225189"
       y2="1.5596932" />
    <linearGradient
       inkscape:collect="always"
       xlink:href="#linearGradient2289-4"
       id="linearGradient3136"
       gradientUnits="userSpaceOnUse"
       gradientTransform="matrix(0.51445624,0,0,0.53856587,-120.3871,-29.360443)"
       x1="16.88862"
       y1="77.796608"
       x2="72.348671"
       y2="20.59322" />
    <filter
       id="filter3138"
       style="color-interpolation-filters:sRGB;"
       inkscape:label="Drop Shadow">
      <feFlood
         id="feFlood3140"
         flood-opacity="0.33"
         flood-color="rgb(0,0,0)"
         result="flood" />
      <feComposite
         id="feComposite3142"
         in2="SourceGraphic"
         in="flood"
         operator="in"
         result="composite1" />
      <feGaussianBlur
         id="feGaussianBlur3144"
         in="composite"
         stdDeviation="2"
         result="blur" />
      <feOffset
         id="feOffset3146"
         dx="4"
         dy="1"
         result="offset" />
      <feComposite
         id="feComposite3148"
         in2="offset"
         in="SourceGraphic"
         operator="over"
         result="composite2" />
    </filter>
    <filter
       id="filter3670"
       style="color-interpolation-filters:sRGB;"
       inkscape:label="Drop Shadow">
      <feFlood
         id="feFlood3672"
         flood-opacity="0.2"
         flood-color="rgb(0,0,0)"
         result="flood" />
      <feComposite
         id="feComposite3674"
         in2="SourceGraphic"
         in="flood"
         operator="in"
         result="composite1" />
      <feGaussianBlur
         id="feGaussianBlur3676"
         in="composite"
         stdDeviation="1.5"
         result="blur" />
      <feOffset
         id="feOffset3678"
         dx="0"
         dy="4"
         result="offset" />
      <feComposite
         id="feComposite3680"
         in2="offset"
         in="SourceGraphic"
         operator="over"
         result="fbSourceGraphic" />
      <feColorMatrix
         result="fbSourceGraphicAlpha"
         in="fbSourceGraphic"
         values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
         id="feColorMatrix3682" />
      <feFlood
         id="feFlood3684"
         flood-opacity="0.2"
         flood-color="rgb(0,0,0)"
         result="flood"
         in="fbSourceGraphic" />
      <feComposite
         id="feComposite3686"
         in2="fbSourceGraphic"
         in="flood"
         operator="in"
         result="composite1" />
      <feGaussianBlur
         id="feGaussianBlur3688"
         in="composite"
         stdDeviation="1.5"
         result="blur" />
      <feOffset
         id="feOffset3690"
         dx="0"
         dy="2"
         result="offset" />
      <feComposite
         id="feComposite3692"
         in2="offset"
         in="fbSourceGraphic"
         operator="over"
         result="fbSourceGraphic" />
      <feColorMatrix
         result="fbSourceGraphicAlpha"
         in="fbSourceGraphic"
         values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
         id="feColorMatrix3706" />
      <feFlood
         id="feFlood3708"
         flood-opacity="0.2"
         flood-color="rgb(255,255,255)"
         result="flood"
         in="fbSourceGraphic" />
      <feComposite
         id="feComposite3710"
         in2="fbSourceGraphic"
         in="flood"
         operator="in"
         result="composite1" />
      <feGaussianBlur
         id="feGaussianBlur3712"
         in="composite"
         stdDeviation="1"
         result="blur" />
      <feOffset
         id="feOffset3714"
         dx="0"
         dy="1"
         result="offset" />
      <feComposite
         id="feComposite3716"
         in2="offset"
         in="fbSourceGraphic"
         operator="over"
         result="fbSourceGraphic" />
      <feColorMatrix
         result="fbSourceGraphicAlpha"
         in="fbSourceGraphic"
         values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
         id="feColorMatrix3123" />
      <feFlood
         id="feFlood3125"
         flood-opacity="0.2"
         flood-color="rgb(0,0,0)"
         result="flood"
         in="fbSourceGraphic" />
      <feComposite
         id="feComposite3127"
         in2="fbSourceGraphic"
         in="flood"
         operator="in"
         result="composite1" />
      <feGaussianBlur
         id="feGaussianBlur3129"
         in="composite"
         stdDeviation="1"
         result="blur" />
      <feOffset
         id="feOffset3131"
         dx="0"
         dy="2"
         result="offset" />
      <feComposite
         id="feComposite3133"
         in2="offset"
         in="fbSourceGraphic"
         operator="over"
         result="composite2" />
    </filter>
    <filter
       id="filter3135"
       style="color-interpolation-filters:sRGB;"
       inkscape:label="Drop Shadow">
      <feFlood
         id="feFlood3137"
         flood-opacity="0.2"
         flood-color="rgb(0,0,0)"
         result="flood" />
      <feComposite
         id="feComposite3139"
         in2="SourceGraphic"
         in="flood"
         operator="in"
         result="composite1" />
      <feGaussianBlur
         id="feGaussianBlur3141"
         in="composite"
         stdDeviation="1"
         result="blur" />
      <feOffset
         id="feOffset3143"
         dx="0"
         dy="1"
         result="offset" />
      <feComposite
         id="feComposite3145"
         in2="offset"
         in="SourceGraphic"
         operator="over"
         result="composite2" />
    </filter>
    <filter
       id="filter3183"
       style="color-interpolation-filters:sRGB;"
       inkscape:label="Drop Shadow">
      <feFlood
         id="feFlood3185"
         flood-opacity="0.3"
         flood-color="rgb(0,0,0)"
         result="flood" />
      <feComposite
         id="feComposite3187"
         in2="SourceGraphic"
         in="flood"
         operator="in"
         result="composite1" />
      <feGaussianBlur
         id="feGaussianBlur3189"
         in="composite"
         stdDeviation="2"
         result="blur" />
      <feOffset
         id="feOffset3191"
         dx="0"
         dy="2"
         result="offset" />
      <feComposite
         id="feComposite3193"
         in2="offset"
         in="SourceGraphic"
         operator="over"
         result="composite2" />
    </filter>
  </defs>
  <sodipodi:namedview
     id="base"
     pagecolor="#ffffff"
     bordercolor="#666666"
     borderopacity="1.0"
     inkscape:pageopacity="0.0"
     inkscape:pageshadow="2"
     inkscape:zoom="7.9999999"
     inkscape:cx="61.011203"
     inkscape:cy="36.086679"
     inkscape:document-units="px"
     inkscape:current-layer="layer1"
     showgrid="false"
     inkscape:window-width="1270"
     inkscape:window-height="837"
     inkscape:window-x="287"
     inkscape:window-y="27"
     showguides="true"
     inkscape:guide-bbox="true"
     inkscape:window-maximized="0">
    <inkscape:grid
       type="xygrid"
       id="grid3001" />
  </sodipodi:namedview>
  <metadata
     id="metadata7">
    <rdf:RDF>
      <cc:Work
         rdf:about="">
        <dc:format>image/svg+xml</dc:format>
        <dc:type
           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
        <dc:title></dc:title>
        <dc:creator>
          <cc:Agent>
            <dc:title>Guglielmi David</dc:title>
          </cc:Agent>
        </dc:creator>
        <cc:license
           rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
        <dc:rights>
          <cc:Agent>
            <dc:title>Peter Zelezny</dc:title>
          </cc:Agent>
        </dc:rights>
      </cc:Work>
      <cc:License
         rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
        <cc:permits
           rdf:resource="http://web.resource.org/cc/Reproduction" />
        <cc:permits
           rdf:resource="http://web.resource.org/cc/Distribution" />
        <cc:requires
           rdf:resource="http://web.resource.org/cc/Notice" />
        <cc:permits
           rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
        <cc:requires
           rdf:resource="http://web.resource.org/cc/ShareAlike" />
        <cc:requires
           rdf:resource="http://web.resource.org/cc/SourceCode" />
      </cc:License>
    </rdf:RDF>
  </metadata>
  <g
     inkscape:label="Calque 1"
     inkscape:groupmode="layer"
     id="layer1">
    <g
       id="g3663">
      <path
         style="fill:#000000;fill-opacity:1;"
         d="m 31.404792,8.7464684 c -6.271873,0.05843 -12.553,0.431777 -13.735377,1.075609 C 15.304661,11.109737 4.1505773,29.32852 4.1783444,31.859522 c 0.02777,2.531005 11.5871596,20.543967 13.9796816,21.787309 2.392519,1.243342 25.106,1.037521 27.470753,-0.250141 C 47.993531,52.109028 59.147618,33.890246 59.119851,31.359242 59.092081,28.828238 47.532689,10.790262 45.140167,9.5469214 43.943907,8.9252504 37.676665,8.6880384 31.404792,8.7464684 z m 0.05429,4.5275596 c 4.90437,-0.047 9.786849,0.175368 10.722281,0.67538 1.870861,1.000021 10.917726,15.499216 10.939439,17.534904 C 53.142512,33.52 44.410541,48.158649 42.561393,49.194315 40.712245,50.229983 22.960549,50.419464 21.089689,49.419444 19.218826,48.419423 10.199106,33.920226 10.177392,31.884537 10.155682,29.84885 18.860508,15.185189 20.709656,14.14952 c 0.924575,-0.517833 5.845056,-0.828498 10.749425,-0.875492 z"
         id="path4107"
         inkscape:connector-curvature="0" />
      <path
         transform="matrix(0.97890109,0,0,0.98965389,0.52623659,-1.3159842)"
         style="fill:#000000;fill-opacity:1;"
         d="M 31.801142,5.3887159 C 24.358829,5.4607629 16.905535,5.9211193 15.502506,6.7149966 12.696449,8.3027513 -0.53918189,30.767467 -0.50623228,33.888328 -0.47328049,37.00919 13.243292,59.220118 16.0823,60.753225 18.921305,62.286332 45.873514,62.032541 48.67957,60.444787 51.485627,58.857032 64.721258,36.392315 64.688309,33.271454 64.655357,30.150593 50.938784,7.9088218 48.099776,6.3757155 46.680274,5.6091623 39.243454,5.3166688 31.801142,5.3887159 z m 0.06442,5.5827171 c 5.81961,-0.05795 11.613244,0.216241 12.723243,0.83278 2.219996,1.233079 12.955163,19.111349 12.980929,21.621461 0.02577,2.51011 -10.335747,20.560333 -12.529979,21.837366 -2.19423,1.277031 -23.2587,1.510671 -25.478697,0.277592 C 17.341063,54.307554 6.638107,36.429283 6.6123418,33.919173 6.5865755,31.409062 16.915878,13.327995 19.110109,12.050964 20.207224,11.412447 26.045952,11.02938 31.865563,10.971433 z"
         id="path4103"
         inkscape:connector-curvature="0" />
      <path
         inkscape:transform-center-y="2.25"
         inkscape:transform-center-x="2.25"
         style="fill:url(#linearGradient3133);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.31593215000000008;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;"
         d="m 10.723737,18.285684 7.623916,-7.935243 13.238019,13.886676 12.492701,-13.886676 8.576909,7.935243 -14.294847,14.878584 13.341856,11.902864 -6.670928,6.94334 L 31.585672,39.351071 18.573785,52.010472 11.676724,45.086347 24.065591,33.164268 10.723737,18.285684 z"
         id="path2297"
         sodipodi:nodetypes="ccccccccccccc"
         inkscape:connector-curvature="0" />
      <path
         inkscape:connector-curvature="0"
         id="path3305"
         d="M 31.293607,6.0952825 C 24.436514,6.1604875 17.569304,6.5771256 16.276601,7.2956116 13.691196,8.7325834 1.4963386,29.063913 1.5266972,31.888398 1.5570579,34.712884 14.195039,54.814527 16.810803,56.20204 19.426566,57.589553 44.25941,57.359866 46.844814,55.922894 49.430219,54.485922 61.625078,34.154591 61.594719,31.330106 61.564358,28.505621 48.926376,8.3760634 46.310612,6.9885506 45.002731,6.294794 38.150699,6.0300774 31.293607,6.0952825 z m 0.05936,5.0525485 c 5.36199,-0.05245 10.700046,0.195704 11.722761,0.753694 2.045429,1.115978 11.936445,17.296419 11.960184,19.568154 0.02374,2.271736 -9.523004,18.6078 -11.544693,19.763557 -2.02169,1.155758 -21.429773,1.36721 -23.475201,0.251232 C 17.970585,50.368491 8.1092472,34.188049 8.085508,31.916313 8.061768,29.644577 17.578834,13.2806 19.600523,12.124842 c 1.010846,-0.577879 6.39045,-0.924567 11.75244,-0.977011 z"
         style="fill:url(#linearGradient4101);fill-opacity:1;" />
      <path
         inkscape:connector-curvature="0"
         id="path3077"
         d="M 14.640198,55.682743 C 9.6971439,47.360612 2.8950957,35.733851 2.9419881,35.686959 c 0.031272,-0.03127 0.5023581,0.289334 1.0468575,0.712459 0.5444994,0.423125 1.0414462,0.769317 1.1043264,0.769317 0.06288,0 2.6329414,4.276521 5.711247,9.50338 l 5.59692,9.503379 2.159128,0.007 2.159126,0.007 -0.34365,-0.584653 C 20.186937,55.28323 17.303514,50.518786 13.968339,45.017137 10.633164,39.515488 7.9043842,34.929294 7.9043842,34.825595 c 0,-0.103699 0.2455542,-0.59277 0.545676,-1.086823 0.3001218,-0.494053 0.545676,-0.941721 0.545676,-0.994816 0,-0.05309 -0.2788317,-0.09654 -0.619626,-0.09654 -0.8505388,0 -1.0953557,-0.488405 -1.0953557,-2.185211 0,-1.90734 -0.048411,-1.868066 2.30512,-1.870072 l 1.9823345,-0.0017 1.052375,-1.721616 c 0.578806,-0.94689 1.052375,-1.785869 1.052375,-1.8644 0,-0.07853 -0.829918,-0.162484 -1.844262,-0.186561 l -1.8442631,-0.04378 4.4809551,-7.327649 4.480953,-7.32765 12.466741,-0.0399 12.466738,-0.0399 0.517892,0.854518 0.517892,0.854518 2.335995,0.04287 2.335994,0.04287 2.742626,4.521316 c 1.508447,2.486723 4.136212,6.819001 5.839482,9.627283 1.703268,2.808283 3.157599,5.105969 3.231846,5.105969 0.256907,0 0.13186,-0.393635 -0.411085,-1.294044 -0.299901,-0.497351 -0.545275,-0.935841 -0.545275,-0.974422 0,-0.03858 0.310833,-0.07015 0.69074,-0.07015 0.575204,0 0.699074,-0.05324 0.740561,-0.318272 0.03599,-0.229934 0.273254,0.06215 0.854835,1.052375 0.702767,1.196557 0.780303,1.410253 0.610448,1.682462 -0.107012,0.171499 -0.377881,0.627528 -0.601929,1.013399 l -0.407361,0.701583 0.533953,0.857491 c 0.293674,0.47162 0.535536,0.950306 0.537472,1.063747 0.0019,0.113441 -3.098537,5.322698 -6.889942,11.576127 l -6.893462,11.36987 -16.876654,0 -16.876655,0 -1.226996,-2.065773 z"
         style="fill:none;" />
    </g>
  </g>
</svg>