<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements.  See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<svg width="68" height="68" xmlns="http://www.w3.org/2000/svg" fill="none">
 <g>
  <title>Layer 1</title>
  <g stroke="null" id="svg_6">
   <circle stroke="null" id="svg_1" fill="#7497F7" r="34" cy="34" cx="34"/>
   <path stroke="null" id="svg_2" fill="white" d="m51.5049,40.00851c-2.1284,0.04944 -4.08283,-0.0901 -5.89135,-0.37712c2.0383,-1.83699 3.23694,-4.36432 3.08847,-7.09566c-0.14039,-2.58003 -1.45874,-4.86016 -3.48188,-6.477c2.71178,-1.15444 5.85296,-2.9563 7.47617,-5.5267c1.88346,-2.98251 0.72944,-5.49709 -0.19309,-6.79351c-0.36876,-0.51822 -1.23618,-0.56606 -1.77168,-0.09487l-11.37385,10.00973c-0.6018,-0.07253 -1.21862,-0.10129 -1.84592,-0.08528c1.9074,-2.25477 3.78278,-5.22212 4.29037,-8.55709c0.66073,-4.34115 -1.61217,-6.45391 -3.12205,-7.35801c-0.60336,-0.36116 -1.51867,0.07494 -1.86901,0.89533l-8.98606,20.48739c-0.76542,1.38323 -1.15798,2.9427 -1.06859,4.5747c0.28645,5.24521 5.4315,9.25622 11.49115,8.95971c1.05655,-0.05185 2.07088,-0.2312 3.02543,-0.51992c-1.51399,0.58607 -3.16823,0.90893 -4.90167,0.90893c-7.22642,0 -13.0849,-5.60561 -13.0849,-12.52022c0,-1.05159 0.13642,-2.07301 0.39185,-3.04881c-3.27448,-2.17175 -6.63907,-3.46573 -11.01232,-2.51302c-10.13299,2.20688 -6.30062,10.217 -0.98798,7.06463c2.03022,-1.20473 5.90155,-2.08491 6.75948,1.03884c1.11803,4.07008 -3.81707,3.17305 -8.00686,11.0636c8.21114,-2.99044 14.96425,-2.91947 22.94646,-0.57077c16.66892,4.90478 26.93267,2.49461 26.9144,-0.94081c-0.01757,-3.162 -4.2704,-2.62777 -8.78503,-2.52252l-0.00156,-0.00156z"/>
   <path stroke="null" id="svg_3" fill="#FF8B8B" d="m33.19831,30.66361c0,1.43508 1.16436,2.5976 2.60001,2.5976c1.4365,0 2.60015,-1.16252 2.60015,-2.5976c0,-1.43508 -1.16365,-2.59746 -2.60015,-2.59746c-1.4365,0 -2.60001,1.16237 -2.60001,2.59746z"/>
   <path stroke="null" id="svg_4" fill="white" d="m8.23296,56.18316c-1.78599,-2.07258 -3.32619,-4.36319 -4.57541,-6.82621c4.84245,-1.4467 11.40445,-2.79607 18.53708,-2.79607c5.38546,0 9.45993,1.00612 13.34996,1.96817l0.06177,0.0153c3.83492,0.94846 7.58129,1.8751 12.83089,2.10828c6.10541,0.27129 11.84333,-1.14155 16.49793,-2.52563c-1.63582,3.57623 -3.87359,6.81969 -6.58353,9.60061c-3.19727,0.54938 -6.6742,0.87706 -10.26063,0.71768c-6.02636,-0.26775 -10.39592,-1.34881 -14.2511,-2.30251l-0.16802,-0.04165c-3.86297,-0.95526 -7.12739,-1.74009 -11.47727,-1.74009c-5.23359,0 -10.09998,0.83796 -13.96167,1.82212z" clip-rule="evenodd" fill-rule="evenodd"/>
  </g>
 </g>
</svg>