xcratch-create 0.5.5 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,37 @@
1
+ #!/usr/bin/env node
2
+ 'use strict'
3
+
4
+ import path from 'path';
5
+ import fs from 'fs-extra';
6
+
7
+ // modify for your environment
8
+ const vmSrcDev = path.resolve(process.cwd(), './src/vm');
9
+ const vmSrcOrg = path.resolve(process.cwd(), '../scratch-vm/src');
10
+ const vmRefs = [
11
+ 'extension-support',
12
+ 'util',
13
+ ];
14
+
15
+ // Make symbolic link
16
+ const makeSymbolicLink = function (to, from) {
17
+ try {
18
+ const stats = fs.lstatSync(from);
19
+ if (stats.isSymbolicLink()) {
20
+ if (fs.readlinkSync(from) === to) {
21
+ console.log(`Already exists link: ${from} -> ${fs.readlinkSync(from)}`);
22
+ return;
23
+ }
24
+ fs.unlink(from);
25
+ } else {
26
+ fs.renameSync(from, `${from}~`);
27
+ }
28
+ } catch (err) {
29
+ // File not exists.
30
+ }
31
+ fs.symlinkSync(to, from, 'dir');
32
+ console.log(`Make link: ${from} -> ${fs.readlinkSync(from)}`);
33
+ }
34
+
35
+ vmRefs.forEach(dir => {
36
+ makeSymbolicLink(path.resolve(vmSrcOrg, dir), path.resolve(vmSrcDev, dir));
37
+ });
@@ -0,0 +1,25 @@
1
+ module.exports = {
2
+ root: true,
3
+ extends: ['scratch', 'scratch/es6', 'scratch/react', 'plugin:import/errors'],
4
+ env: {
5
+ browser: true
6
+ },
7
+ globals: {
8
+ process: true
9
+ },
10
+ rules: {
11
+ 'import/no-mutable-exports': 'error',
12
+ // 'import/no-commonjs': 'error',
13
+ 'import/no-amd': 'error',
14
+ 'import/no-nodejs-modules': 'error',
15
+ 'react/jsx-no-literals': 'error',
16
+ 'no-confusing-arrow': ['error', {
17
+ allowParens: true
18
+ }]
19
+ },
20
+ settings: {
21
+ react: {
22
+ version: '16.2' // Prevent 16.3 lifecycle method errors
23
+ }
24
+ }
25
+ };
@@ -18,7 +18,7 @@ const entry = {
18
18
  get name () {
19
19
  return formatMessage({
20
20
  id: '<<extensionID>>.entry.name',
21
- default: '<<extensionName>>',
21
+ defaultMessage: '<<extensionName>>',
22
22
  description: 'name of the extension'
23
23
  });
24
24
  },
@@ -0,0 +1,7 @@
1
+ module.exports = {
2
+ root: true,
3
+ extends: ['scratch', 'scratch/es6'],
4
+ env: {
5
+ browser: true
6
+ }
7
+ };
@@ -1,6 +1,7 @@
1
1
  import BlockType from '../../extension-support/block-type';
2
2
  import ArgumentType from '../../extension-support/argument-type';
3
3
  import Cast from '../../util/cast';
4
+ import log from '../../util/log';
4
5
  import translations from './translations.json';
5
6
  import blockIcon from './block-icon.png';
6
7
 
@@ -10,7 +11,7 @@ import blockIcon from './block-icon.png';
10
11
  * @param {object} messageData - format-message object
11
12
  * @returns {string} - message for the locale
12
13
  */
13
- let formatMessage = messageData => messageData.defaultMessage;
14
+ let formatMessage = messageData => messageData.default;
14
15
 
15
16
  /**
16
17
  * Setup format-message for this extension.
@@ -38,6 +39,14 @@ let extensionURL = 'https://<<account>>.github.io/<<repo>>/dist/<<extensionID>>.
38
39
  * Scratch 3.0 blocks for example of Xcratch.
39
40
  */
40
41
  class ExtensionBlocks {
42
+ /**
43
+ * A translation object which is used in this class.
44
+ * @param {FormatObject} formatter - translation object
45
+ */
46
+ static set formatMessage (formatter) {
47
+ formatMessage = formatter;
48
+ if (formatMessage) setupTranslations();
49
+ }
41
50
 
42
51
  /**
43
52
  * @return {string} - the name of this extension.
@@ -91,13 +100,6 @@ class ExtensionBlocks {
91
100
  }
92
101
  }
93
102
 
94
- doIt (args) {
95
- const func = new Function(`return (${Cast.toString(args.SCRIPT)})`);
96
- const result = func.call(this);
97
- console.log(result);
98
- return result;
99
- }
100
-
101
103
  /**
102
104
  * @returns {object} metadata for this extension and its blocks.
103
105
  */
@@ -132,9 +134,13 @@ class ExtensionBlocks {
132
134
  }
133
135
  };
134
136
  }
137
+
138
+ doIt (args) {
139
+ const statement = Cast.toString(args.SCRIPT);
140
+ const func = new Function(`return (${statement})`);
141
+ log.log(`doIt: ${statement}`);
142
+ return func.call(this);
143
+ }
135
144
  }
136
145
 
137
- export {
138
- ExtensionBlocks as default,
139
- ExtensionBlocks as blockClass
140
- };
146
+ export {ExtensionBlocks as default, ExtensionBlocks as blockClass};
@@ -0,0 +1,13 @@
1
+ module.exports = {
2
+ root: true,
3
+ plugins: ["mocha"],
4
+ extends: ["plugin:mocha/recommended"],
5
+ env: {
6
+ browser: true,
7
+ es6: true,
8
+ mocha: true,
9
+ },
10
+ parserOptions: {
11
+ sourceType: "module",
12
+ },
13
+ };
@@ -0,0 +1,4 @@
1
+ require.extensions[".png"] = function () {
2
+ return null;
3
+ };
4
+
@@ -0,0 +1,21 @@
1
+ import { describe, it } from "mocha";
2
+ import { expect } from "chai";
3
+ import { blockClass } from "../../src/vm/extensions/block/index.js";
4
+
5
+ describe("blockClass", () => {
6
+ const runtime = {
7
+ formatMessage: function (msg) {
8
+ return msg.default;
9
+ }
10
+ };
11
+ it("should create an instance of blockClass", () => {
12
+ const block = new blockClass(runtime);
13
+ expect(block).to.be.an.instanceOf(blockClass);
14
+ });
15
+
16
+ it("doIt('3 + 4') should return 7", () => {
17
+ const block = new blockClass(runtime);
18
+ const result = block.doIt({SCRIPT: "3 + 4"});
19
+ expect(result).to.equal(7);
20
+ });
21
+ });
@@ -1 +0,0 @@
1
- <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="145.45026" height="55.15591" viewBox="0,0,145.45026,55.15591"><g transform="translate(-167.41215,-152.45692)"><g data-paper-data="{&quot;isPaintingLayer&quot;:true}" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5" stroke-dasharray="" stroke-dashoffset="0" style="mix-blend-mode: normal"><path d="M241.31861,202.07002c-2.41236,-0.61431 -2.36561,0.47499 -3.99256,1.35392c-2.66482,1.43433 -6.28336,1.78497 -9.22869,1.46238c-6.62932,-0.72932 -11.56626,-2.93318 -13.87577,-9.12865c-3.38573,-9.09779 8.27496,-19.80288 17.1016,-16.58172c8.99494,3.27913 3.30999,6.24503 19.28021,13.78507c3.07623,1.45116 9.86451,3.88036 11.51015,7.74388c1.07528,2.51334 -0.84152,5.8224 -3.9271,5.49888c-2.34691,-0.24498 -3.18844,-0.37401 -5.47925,-0.94998c-3.82425,-0.96214 -7.56435,-2.21134 -11.3886,-3.18376z" fill="#faa51d" fill-rule="evenodd" stroke="#c48800" stroke-width="2.45912"/><path d="M259.55316,154.95511c2.29081,-0.57597 3.13234,-0.70501 5.47925,-0.94998c3.08558,-0.32352 5.00239,2.98554 3.9271,5.49888c-1.64565,3.86352 -8.43392,6.29272 -11.51015,7.74388c-15.97022,7.54004 -10.28527,10.50594 -19.28021,13.78507c-8.82664,3.22116 -20.48732,-7.48394 -17.1016,-16.58173c2.30951,-6.19547 7.24644,-8.39933 13.87577,-9.12865c2.94533,-0.32259 6.56387,0.02805 9.22869,1.46238c1.62695,0.87893 1.58019,1.96822 3.99256,1.35392c3.82425,-0.97242 7.56435,-2.22162 11.3886,-3.18376z" fill="#faa51d" fill-rule="evenodd" stroke="#c48800" stroke-width="2.45912"/><path d="M279.52869,187.16953c1.01918,0.83123 2.70222,3.10054 3.84295,3.73729c1.36514,0.75457 6.14311,0.94344 7.555,1.22675c5.75975,1.15195 8.08796,2.01404 13.2119,4.88644c2.78637,1.56242 5.17069,4.5143 3.00143,7.32685c-0.60777,0.78074 -1.68305,2.01217 -4.39462,1.01263c-4.28241,-1.58393 -5.8065,-3.11457 -10.24787,-4.32262c-3.7588,-1.02198 -7.91966,1.6737 -11.39795,2.21882c-5.8439,0.91352 -11.86546,-2.40395 -15.11935,-7.1305c-2.03836,-2.96216 -1.47734,-7.68403 1.27163,-10.03188c4.52552,-3.87942 8.48068,-2.03088 12.27688,1.07621z" fill="#faa51d" fill-rule="evenodd" stroke="#c48800" stroke-width="2.45912"/><path d="M260.40586,173.32721c-2.74897,-2.34785 -3.30998,-7.06972 -1.27163,-10.03188c3.25389,-4.72655 9.27545,-8.04402 15.11935,-7.1305c3.47829,0.54512 7.63915,3.2408 11.39795,2.21882c4.44137,-1.20805 5.96546,-2.73869 10.24787,-4.32262c2.71157,-0.99954 3.78685,0.23189 4.39462,1.01264c2.16926,2.81256 -0.21506,5.76442 -3.00143,7.32685c-5.12394,2.8724 -7.45215,3.73449 -13.2119,4.88644c-1.41189,0.28331 -6.18986,0.47219 -7.555,1.22675c-1.14073,0.63675 -2.82377,2.90606 -3.84295,3.73729c-3.7962,3.10709 -7.75136,4.95563 -12.27688,1.07621z" fill="#faa51d" fill-rule="evenodd" stroke="#c48800" stroke-width="2.45912"/><path d="M281.7825,171.65372c2.1225,4.61154 1.64564,10.51716 0.44881,13.57095c-1.9168,4.87241 -10.40683,8.07581 -14.95105,10.20299c-4.72187,2.21508 -11.26704,6.44419 -18.89684,6.01315c-9.01364,-0.50866 -16.11048,-3.92056 -20.5051,-7.16416c-4.51617,-3.33898 -10.69668,-4.66204 -10.72473,-14.24417c-0.00935,-8.25814 5.37639,-10.36288 10.11696,-13.44004c5.95611,-3.87194 11.00524,-6.81165 19.23346,-7.15574c9.36895,-0.39084 16.98005,3.29409 22.55279,5.25297c3.684,1.29501 10.70603,2.58721 12.72569,6.96406z" fill="#faa51d" fill-rule="evenodd" stroke="#c48800" stroke-width="2.50587"/><g fill-rule="evenodd"><path d="M220.65993,187.50426c-0.78542,-1.9355 -2.96402,-3.35768 -4.40396,-4.1057c-2.84248,-1.46705 -5.44371,-2.74336 -8.96034,-4.36376c-2.67417,-1.23143 -8.99681,-4.91262 -18.05252,-3.54001c-4.55824,0.69099 -7.84112,2.91822 -10.52558,4.76115c-3.1473,2.16178 -6.13095,3.02199 -7.84859,1.86537c-1.37261,-0.9238 -2.14776,-2.6003 -2.22723,-4.17488c-0.05329,-1.0491 0.06919,-2.00095 1.92802,-3.93552c1.57178,-1.63723 4.67326,-3.48764 6.07673,-4.25156c6.18893,-3.36796 15.08102,-4.58817 18.75286,-4.47129c3.9243,0.12436 7.91685,1.02759 12.016,2.57038c3.69896,1.39225 7.19502,3.33991 10.00009,4.25811c2.28146,0.74802 3.13234,1.48949 4.33852,0.48528" fill="#faa51d" stroke="#c48800" stroke-width="2.45912"/><path d="M182.42972,168.59748c3.45045,-1.0429 -0.12379,0.0083 0.71595,3.54407c0.94383,3.97503 4.72623,2.24223 1.44058,3.47126c-3.57818,1.33834 -4.94701,3.07645 -7.73276,4.61501c-2.0012,1.10544 -3.44887,1.4183 -4.26023,1.27171c-1.9192,-0.34647 -3.3992,-1.51184 -2.69902,-4.33675c1.10547,-4.45676 8.83981,-7.44829 12.53548,-8.56531z" fill="#ffffff" stroke="none" stroke-width="0.08287"/></g><g><g fill-rule="nonzero"><path d="M310.2053,180.0642c0.0252,2.58028 -0.90746,5.80582 -3.47205,7.76398c-1.71733,1.31052 -4.49561,6.089 -8.01269,9.78514c-3.08737,3.24428 -8.26115,4.3184 -13.47458,2.75871c-17.23127,-5.1545 -14.51751,-38.31385 -0.002,-41.58436c5.42337,-1.22187 10.11758,0.08215 13.47481,3.78771c2.79281,3.08285 6.32948,8.61594 8.01348,9.86927c2.43367,1.81152 3.4427,4.55644 3.4726,7.61954z" fill="#faa51d" stroke="#c48800" stroke-width="2.49956"/><path d="M309.44912,180.03724c0.0357,3.71925 -1.06263,4.87105 -3.09665,7.02623c-3.40682,3.61159 -7.14483,8.03245 -7.14483,8.03245c0,0 -1.37658,1.8409 -2.1233,0.5882c-1.2656,-2.12295 4.90841,-10.43989 4.90845,-15.64673c0.00003,-5.20677 -5.28517,-11.45132 -4.90823,-15.59349c0.16372,-1.80272 2.12309,0.67153 2.12309,0.67153c0,0 3.90759,4.97596 7.14524,8.12806c1.94244,1.89138 3.05516,2.54415 3.09623,6.79375z" fill="#ffffff" stroke="none" stroke-width="0.06885"/></g><path d="M309.68071,182.93474c-0.6068,0 -2.16895,-1.44664 -2.16627,-2.61517c0.003,-1.14437 1.55947,-2.63159 2.16627,-2.63159c0.60681,0 1.42453,0.17805 1.47457,2.63159c0.0429,2.15491 -0.86776,2.61517 -1.47457,2.61517z" fill="#5e4a42" fill-rule="evenodd" stroke="none" stroke-width="0.07691"/><g><path d="M285.05286,198.98781c-1.14657,3.61479 -14.64556,9.19625 -16.19807,6.69821c-1.55251,-2.49804 4.18358,-20.57026 6.88302,-21.68645" fill="#faa51d" fill-rule="nonzero" stroke="#c48800" stroke-width="2.6075"/><path d="M272.64002,202.17073c0.44161,-2.67022 2.02488,-9.27921 4.6256,-11.53911c2.34855,-2.04064 3.16025,3.53472 6.03196,7.94488c-2.16162,2.93019 -11.23842,7.11641 -10.65756,3.59422z" fill="#ffffff" fill-rule="evenodd" stroke="none" stroke-width="0.14017"/></g><g><path d="M275.73781,176.00993c-2.69944,-1.11619 -8.43553,-19.18841 -6.88302,-21.68645c1.55251,-2.49804 15.0515,3.08342 16.19807,6.69821" fill="#faa51d" fill-rule="nonzero" stroke="#c48800" stroke-width="2.6075"/><path d="M283.29758,161.4328c-2.87171,4.41017 -3.68341,9.98552 -6.03196,7.94488c-2.60072,-2.2599 -4.18399,-8.86889 -4.6256,-11.53911c-0.58086,-3.52219 8.49594,0.66403 10.65756,3.59423z" fill="#ffffff" fill-rule="evenodd" stroke="none" stroke-width="0.14017"/></g><path d="M312.24529,190.75062c-1.36513,-0.80412 -3.20713,-2.53672 -4.30111,-4.02341" fill="none" fill-rule="evenodd" stroke="#000000" stroke-width="1.23423"/><path d="M310.3328,193.53619c-1.38383,-0.89389 -3.45024,-3.78498 -4.22631,-5.82146" fill="none" fill-rule="evenodd" stroke="#000000" stroke-width="1.23423"/><path d="M307.94418,173.9893c1.09398,-1.48669 2.93598,-3.21929 4.30111,-4.02341" fill="none" fill-rule="evenodd" stroke="#000000" stroke-width="1.23423"/><path d="M306.10649,173.00178c0.77607,-2.03648 2.84248,-4.92758 4.22631,-5.82147" fill="none" fill-rule="evenodd" stroke="#000000" stroke-width="1.23423"/><g fill-rule="evenodd"><path d="M300.59193,190.3495c-1.24973,1.60082 -3.35451,2.04626 -4.70117,0.99495c-1.34666,-1.05131 -1.42525,-3.20129 -0.17553,-4.80211c1.24973,-1.60082 3.35451,-2.04626 4.70118,-0.99495c1.34666,1.05131 1.42525,3.20129 0.17552,4.80211z" fill="#ffffff" stroke="#faa51d" stroke-width="0.20093"/><path d="M300.32878,189.93996c-0.98113,1.25677 -2.63357,1.60648 -3.69081,0.78111c-1.05725,-0.82537 -1.11894,-2.51328 -0.13781,-3.77005c0.98113,-1.25677 2.63357,-1.60648 3.69081,-0.78111c1.05725,0.82537 1.11894,2.51328 0.13781,3.77005z" fill="#000000" stroke="none" stroke-width="0.15315"/></g><g fill-rule="evenodd"><path d="M300.4164,175.18195c-1.34666,1.05131 -3.45145,0.60586 -4.70118,-0.99495c-1.24973,-1.60082 -1.17114,-3.7508 0.17553,-4.80211c1.34666,-1.05131 3.45145,-0.60586 4.70117,0.99495c1.24973,1.60082 1.17114,3.7508 -0.17552,4.80211z" fill="#ffffff" stroke="#faa51d" stroke-width="0.20093"/><path d="M300.19097,174.55944c-1.05725,0.82537 -2.70968,0.47565 -3.69081,-0.78111c-0.98113,-1.25677 -0.91944,-2.94467 0.1378,-3.77004c1.05725,-0.82537 2.70968,-0.47565 3.69081,0.78111c0.98113,1.25677 0.91944,2.94467 -0.13781,3.77004z" fill="#000000" stroke="none" stroke-width="0.15315"/></g></g></g></g></svg>
@@ -1 +0,0 @@
1
- <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="145.45026" height="55.1559" viewBox="0,0,145.45026,55.1559"><g transform="translate(-167.41215,-152.45693)"><g data-paper-data="{&quot;isPaintingLayer&quot;:true}" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5" stroke-dasharray="" stroke-dashoffset="0" style="mix-blend-mode: normal"><path d="M248.16456,202.07001c-2.41236,-0.61431 -2.36561,0.47499 -3.99256,1.35392c-2.66482,1.43433 -6.28336,1.78497 -9.22869,1.46238c-6.62932,-0.72932 -11.56626,-2.93318 -13.87577,-9.12865c-3.38573,-9.09779 8.27496,-19.80288 17.1016,-16.58172c8.99494,3.27913 3.30999,6.24503 19.28021,13.78507c3.07623,1.45116 9.86451,3.88036 11.51015,7.74388c1.07528,2.51334 -0.84152,5.8224 -3.9271,5.49888c-2.34691,-0.24498 -3.18844,-0.37401 -5.47925,-0.94998c-3.82425,-0.96214 -7.56435,-2.21134 -11.3886,-3.18376z" fill="#faa51d" fill-rule="evenodd" stroke="#c48800" stroke-width="2.45912"/><path d="M252.70721,154.9551c2.29081,-0.57597 3.13234,-0.70501 5.47925,-0.94998c3.08558,-0.32352 5.00239,2.98554 3.9271,5.49888c-1.64565,3.86352 -8.43392,6.29272 -11.51015,7.74388c-15.97022,7.54004 -10.28527,10.50594 -19.28021,13.78507c-8.82664,3.22116 -20.48732,-7.48394 -17.1016,-16.58173c2.30951,-6.19547 7.24644,-8.39933 13.87577,-9.12865c2.94533,-0.32259 6.56387,0.02805 9.22869,1.46238c1.62695,0.87893 1.58019,1.96822 3.99256,1.35392c3.82425,-0.97242 7.56435,-2.22162 11.3886,-3.18376z" fill="#faa51d" fill-rule="evenodd" stroke="#c48800" stroke-width="2.45912"/><path d="M272.68274,187.16952c1.01918,0.83123 2.70222,3.10054 3.84295,3.73729c1.36514,0.75457 6.14311,0.94344 7.555,1.22675c5.75975,1.15195 8.08796,2.01404 13.2119,4.88644c2.78637,1.56242 5.17069,4.5143 3.00143,7.32685c-0.60777,0.78074 -1.68305,2.01217 -4.39462,1.01263c-4.28241,-1.58393 -5.8065,-3.11457 -10.24787,-4.32262c-3.7588,-1.02198 -7.91966,1.6737 -11.39795,2.21882c-5.8439,0.91352 -11.86546,-2.40395 -15.11935,-7.1305c-2.03836,-2.96216 -1.47734,-7.68403 1.27163,-10.03188c4.52552,-3.87942 8.48068,-2.03088 12.27688,1.07621z" fill="#faa51d" fill-rule="evenodd" stroke="#c48800" stroke-width="2.45912"/><path d="M267.25181,173.32721c-2.74897,-2.34785 -3.30998,-7.06972 -1.27163,-10.03188c3.25389,-4.72655 9.27545,-8.04402 15.11935,-7.1305c3.47829,0.54512 7.63915,3.2408 11.39795,2.21882c4.44137,-1.20805 5.96546,-2.73869 10.24787,-4.32262c2.71157,-0.99954 3.78685,0.23189 4.39462,1.01264c2.16926,2.81256 -0.21506,5.76442 -3.00143,7.32685c-5.12394,2.8724 -7.45215,3.73449 -13.2119,4.88644c-1.41189,0.28331 -6.18986,0.47219 -7.555,1.22675c-1.14073,0.63675 -2.82377,2.90606 -3.84295,3.73729c-3.7962,3.10709 -7.75136,4.95563 -12.27688,1.07621z" fill="#faa51d" fill-rule="evenodd" stroke="#c48800" stroke-width="2.45912"/><path d="M281.7825,171.65371c2.1225,4.61154 1.64564,10.51716 0.44881,13.57095c-1.9168,4.87241 -10.40683,8.07581 -14.95105,10.20299c-4.72187,2.21508 -11.26704,6.44419 -18.89684,6.01315c-9.01364,-0.50866 -16.11048,-3.92056 -20.5051,-7.16416c-4.51617,-3.33898 -10.69668,-4.66204 -10.72473,-14.24417c-0.00935,-8.25814 5.37639,-10.36288 10.11696,-13.44004c5.95611,-3.87194 11.00524,-6.81165 19.23346,-7.15574c9.36895,-0.39084 16.98005,3.29409 22.55279,5.25297c3.684,1.29501 10.70603,2.58721 12.72569,6.96406z" fill="#faa51d" fill-rule="evenodd" stroke="#c48800" stroke-width="2.50587"/><g data-paper-data="{&quot;index&quot;:null}" fill-rule="evenodd"><path d="M221.75393,187.02883c-1.20618,-1.00421 -2.05706,-0.26274 -4.33852,0.48528c-2.80507,0.9182 -6.30113,2.86586 -10.00009,4.25811c-4.09915,1.54279 -8.0917,2.44602 -12.016,2.57038c-3.67184,0.11688 -12.56393,-1.10333 -18.75286,-4.47129c-1.40347,-0.76392 -4.50495,-2.61433 -6.07673,-4.25156c-1.85883,-1.93457 -1.98131,-2.88642 -1.92802,-3.93552c0.07947,-1.57458 0.85462,-3.25108 2.22723,-4.17488c1.71764,-1.15662 4.70129,-0.29641 7.84859,1.86537c2.68446,1.84293 5.96734,4.07016 10.52558,4.76115c9.05571,1.37261 15.37835,-2.30858 18.05252,-3.54001c3.51663,-1.6204 6.11786,-2.89671 8.96034,-4.36376c1.43994,-0.74802 3.61854,-2.1702 4.40396,-4.1057" fill="#faa51d" stroke="#c48800" stroke-width="2.45912"/><path d="M182.42972,191.03319c-3.69567,-1.11702 -11.43001,-4.10855 -12.53548,-8.56531c-0.70018,-2.82491 0.77982,-3.99028 2.69902,-4.33675c0.81136,-0.14659 2.25903,0.16627 4.26023,1.27171c2.78575,1.53856 4.15458,3.27667 7.73276,4.61501c3.28565,1.22903 -0.49675,-0.50377 -1.44058,3.47126c-0.83974,3.53577 2.7345,4.58697 -0.71595,3.54407z" fill="#ffffff" stroke="none" stroke-width="0.08287"/></g><g><g fill-rule="nonzero"><path d="M310.2053,180.06419c0.0252,2.58028 -0.90746,5.80582 -3.47205,7.76398c-1.71733,1.31052 -4.49561,6.089 -8.01269,9.78514c-3.08737,3.24428 -8.26115,4.3184 -13.47458,2.75871c-17.23127,-5.1545 -14.51751,-38.31385 -0.002,-41.58436c5.42337,-1.22187 10.11758,0.08215 13.47481,3.78771c2.79281,3.08285 6.32948,8.61594 8.01348,9.86927c2.43367,1.81152 3.4427,4.55644 3.4726,7.61954z" fill="#faa51d" stroke="#c48800" stroke-width="2.49956"/><path d="M309.44912,180.03723c0.0357,3.71925 -1.06263,4.87105 -3.09665,7.02623c-3.40682,3.61159 -7.14483,8.03245 -7.14483,8.03245c0,0 -1.37658,1.8409 -2.1233,0.5882c-1.2656,-2.12295 4.90841,-10.43989 4.90845,-15.64673c0.00003,-5.20677 -5.28517,-11.45132 -4.90823,-15.59349c0.16372,-1.80272 2.12309,0.67153 2.12309,0.67153c0,0 3.90759,4.97596 7.14524,8.12806c1.94244,1.89138 3.05516,2.54415 3.09623,6.79375z" fill="#ffffff" stroke="none" stroke-width="0.06885"/></g><path d="M309.68071,182.93473c-0.6068,0 -2.16895,-1.44664 -2.16627,-2.61517c0.003,-1.14437 1.55947,-2.63159 2.16627,-2.63159c0.60681,0 1.42453,0.17805 1.47457,2.63159c0.0429,2.15491 -0.86776,2.61517 -1.47457,2.61517z" fill="#5e4a42" fill-rule="evenodd" stroke="none" stroke-width="0.07691"/><g><path d="M285.05286,198.9878c-1.14657,3.61479 -14.64556,9.19625 -16.19807,6.69821c-1.55251,-2.49804 4.18358,-20.57026 6.88302,-21.68645" fill="#faa51d" fill-rule="nonzero" stroke="#c48800" stroke-width="2.6075"/><path d="M272.64002,202.17072c0.44161,-2.67022 2.02488,-9.27921 4.6256,-11.53911c2.34855,-2.04064 3.16025,3.53472 6.03196,7.94488c-2.16162,2.93019 -11.23842,7.11641 -10.65756,3.59422z" fill="#ffffff" fill-rule="evenodd" stroke="none" stroke-width="0.14017"/></g><g><path d="M275.73781,176.00992c-2.69944,-1.11619 -8.43553,-19.18841 -6.88302,-21.68645c1.55251,-2.49804 15.0515,3.08342 16.19807,6.69821" fill="#faa51d" fill-rule="nonzero" stroke="#c48800" stroke-width="2.6075"/><path d="M283.29758,161.43279c-2.87171,4.41017 -3.68341,9.98552 -6.03196,7.94488c-2.60072,-2.2599 -4.18399,-8.86889 -4.6256,-11.53911c-0.58086,-3.52219 8.49594,0.66403 10.65756,3.59423z" fill="#ffffff" fill-rule="evenodd" stroke="none" stroke-width="0.14017"/></g><path d="M312.24529,190.75061c-1.36513,-0.80412 -3.20713,-2.53672 -4.30111,-4.02341" fill="none" fill-rule="evenodd" stroke="#000000" stroke-width="1.23423"/><path d="M310.3328,193.53618c-1.38383,-0.89389 -3.45024,-3.78498 -4.22631,-5.82146" fill="none" fill-rule="evenodd" stroke="#000000" stroke-width="1.23423"/><path d="M307.94418,173.98929c1.09398,-1.48669 2.93598,-3.21929 4.30111,-4.02341" fill="none" fill-rule="evenodd" stroke="#000000" stroke-width="1.23423"/><path d="M306.10649,173.00177c0.77607,-2.03648 2.84248,-4.92758 4.22631,-5.82147" fill="none" fill-rule="evenodd" stroke="#000000" stroke-width="1.23423"/><g fill-rule="evenodd"><path d="M300.59193,190.34949c-1.24973,1.60082 -3.35451,2.04626 -4.70117,0.99495c-1.34666,-1.05131 -1.42525,-3.20129 -0.17553,-4.80211c1.24973,-1.60082 3.35451,-2.04626 4.70118,-0.99495c1.34666,1.05131 1.42525,3.20129 0.17552,4.80211z" fill="#ffffff" stroke="#faa51d" stroke-width="0.20093"/><path d="M300.32878,189.93995c-0.98113,1.25677 -2.63357,1.60648 -3.69081,0.78111c-1.05725,-0.82537 -1.11894,-2.51328 -0.13781,-3.77005c0.98113,-1.25677 2.63357,-1.60648 3.69081,-0.78111c1.05725,0.82537 1.11894,2.51328 0.13781,3.77005z" fill="#000000" stroke="none" stroke-width="0.15315"/></g><g fill-rule="evenodd"><path d="M300.4164,175.18194c-1.34666,1.05131 -3.45145,0.60586 -4.70118,-0.99495c-1.24973,-1.60082 -1.17114,-3.7508 0.17553,-4.80211c1.34666,-1.05131 3.45145,-0.60586 4.70117,0.99495c1.24973,1.60082 1.17114,3.7508 -0.17552,4.80211z" fill="#ffffff" stroke="#faa51d" stroke-width="0.20093"/><path d="M300.19097,174.55943c-1.05725,0.82537 -2.70968,0.47565 -3.69081,-0.78111c-0.98113,-1.25677 -0.91944,-2.94467 0.1378,-3.77004c1.05725,-0.82537 2.70968,-0.47565 3.69081,0.78111c0.98113,1.25677 0.91944,2.94467 -0.13781,3.77004z" fill="#000000" stroke="none" stroke-width="0.15315"/></g></g></g></g></svg>