resin 0.3.1 → 0.4.0
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.
- data/amber/bin/amberc +10 -350
 - data/amber/js/Benchfib.deploy.js +80 -89
 - data/amber/js/Benchfib.js +80 -89
 - data/amber/js/Canvas.deploy.js +558 -545
 - data/amber/js/Canvas.js +563 -545
 - data/amber/js/Compiler-AST.deploy.js +431 -243
 - data/amber/js/Compiler-AST.js +487 -244
 - data/amber/js/Compiler-Core.deploy.js +201 -1045
 - data/amber/js/Compiler-Core.js +208 -1207
 - data/amber/js/Compiler-Exceptions.deploy.js +37 -18
 - data/amber/js/Compiler-Exceptions.js +42 -18
 - data/amber/js/Compiler-IR.deploy.js +1071 -774
 - data/amber/js/Compiler-IR.js +1194 -848
 - data/amber/js/Compiler-Inlining.deploy.js +395 -373
 - data/amber/js/Compiler-Inlining.js +395 -373
 - data/amber/js/Compiler-Interpreter.deploy.js +1202 -0
 - data/amber/js/Compiler-Interpreter.js +1631 -0
 - data/amber/js/Compiler-Semantic.deploy.js +695 -600
 - data/amber/js/Compiler-Semantic.js +721 -611
 - data/amber/js/Compiler-Tests.deploy.js +699 -376
 - data/amber/js/Compiler-Tests.js +834 -381
 - data/amber/js/Compiler.deploy.js +8563 -1805
 - data/amber/js/Compiler.js +11476 -2633
 - data/amber/js/Examples.deploy.js +29 -29
 - data/amber/js/Examples.js +29 -29
 - data/amber/js/IDE.deploy.js +3292 -2649
 - data/amber/js/IDE.js +3318 -2710
 - data/amber/js/Importer-Exporter.deploy.js +393 -349
 - data/amber/js/Importer-Exporter.js +398 -354
 - data/amber/js/Kernel-Announcements.deploy.js +53 -44
 - data/amber/js/Kernel-Announcements.js +55 -44
 - data/amber/js/Kernel-Classes.deploy.js +566 -368
 - data/amber/js/Kernel-Classes.js +660 -402
 - data/amber/js/Kernel-Collections.deploy.js +1149 -1098
 - data/amber/js/Kernel-Collections.js +1183 -1116
 - data/amber/js/Kernel-Exceptions.deploy.js +173 -75
 - data/amber/js/Kernel-Exceptions.js +215 -77
 - data/amber/js/Kernel-Methods.deploy.js +530 -313
 - data/amber/js/Kernel-Methods.js +632 -338
 - data/amber/js/Kernel-Objects.deploy.js +1734 -1577
 - data/amber/js/Kernel-Objects.js +1867 -1654
 - data/amber/js/Kernel-Tests.deploy.js +1416 -973
 - data/amber/js/Kernel-Tests.js +1495 -981
 - data/amber/js/Kernel-Transcript.deploy.js +23 -24
 - data/amber/js/Kernel-Transcript.js +25 -26
 - data/amber/js/SUnit-Tests.deploy.js +402 -0
 - data/amber/js/SUnit-Tests.js +518 -0
 - data/amber/js/SUnit.deploy.js +535 -237
 - data/amber/js/SUnit.js +634 -246
 - data/amber/js/amber.js +90 -53
 - data/amber/js/boot.js +441 -255
 - data/amber/js/init.js +1 -3
 - data/amber/js/lib/CodeMirror/codemirror.css +3 -0
 - data/amber/js/lib/CodeMirror/codemirror.js +104 -55
 - data/amber/js/lib/peg-0.7.0.min.js +9 -0
 - data/amber/js/parser.js +1504 -802
 - data/amber/js/parser.pegjs +170 -165
 - data/amber/st/Canvas.st +6 -0
 - data/amber/st/Compiler-AST.st +54 -3
 - data/amber/st/Compiler-Core.st +6 -551
 - data/amber/st/Compiler-Exceptions.st +4 -0
 - data/amber/st/Compiler-IR.st +205 -87
 - data/amber/st/Compiler-Interpreter.st +597 -0
 - data/amber/st/Compiler-Semantic.st +46 -21
 - data/amber/st/Compiler-Tests.st +254 -7
 - data/amber/st/Compiler.st +3172 -1541
 - data/amber/st/IDE.st +57 -93
 - data/amber/st/Importer-Exporter.st +4 -7
 - data/amber/st/Kernel-Announcements.st +8 -0
 - data/amber/st/Kernel-Classes.st +149 -40
 - data/amber/st/Kernel-Collections.st +43 -32
 - data/amber/st/Kernel-Exceptions.st +70 -1
 - data/amber/st/Kernel-Methods.st +165 -27
 - data/amber/st/Kernel-Objects.st +215 -140
 - data/amber/st/Kernel-Tests.st +195 -10
 - data/amber/st/Kernel-Transcript.st +1 -3
 - data/amber/st/SUnit-Tests.st +186 -0
 - data/amber/st/SUnit.st +186 -14
 - data/bin/resin +6 -0
 - data/lib/resin/cli.rb +19 -0
 - metadata +41 -25
 - data/amber/js/lib/peg-0.6.2.min.js +0 -2
 - data/bin/resin-compile +0 -6
 - data/bin/runresin +0 -12
 
| 
         @@ -7,14 +7,14 @@ selector: "=", 
     | 
|
| 
       7 
7 
     | 
    
         
             
            category: 'comparing',
         
     | 
| 
       8 
8 
     | 
    
         
             
            fn: function (anAssociation){
         
     | 
| 
       9 
9 
     | 
    
         
             
            var self=this;
         
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
            $1= 
     | 
| 
       12 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       13 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       14 
     | 
    
         
            -
            }) 
     | 
| 
       15 
     | 
    
         
            -
            }) 
     | 
| 
       16 
     | 
    
         
            -
            return $1;
         
     | 
| 
       17 
     | 
    
         
            -
            },
         
     | 
| 
      
 10 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 11 
     | 
    
         
            +
            $1=_st(_st(_st(self)._class()).__eq(_st(anAssociation)._class()))._and_((function(){
         
     | 
| 
      
 12 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 13 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx3) {
         
     | 
| 
      
 14 
     | 
    
         
            +
            }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
         
     | 
| 
      
 15 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
         
     | 
| 
      
 16 
     | 
    
         
            +
            return $1;
         
     | 
| 
      
 17 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"=",{anAssociation:anAssociation}, smalltalk.Association)})},
         
     | 
| 
       18 
18 
     | 
    
         
             
            args: ["anAssociation"],
         
     | 
| 
       19 
19 
     | 
    
         
             
            source: "= anAssociation\x0a\x09^self class = anAssociation class and: [\x0a\x09    self key = anAssociation key and: [\x0a\x09\x09self value = anAssociation value]]",
         
     | 
| 
       20 
20 
     | 
    
         
             
            messageSends: ["and:", "=", "value", "key", "class"],
         
     | 
| 
         @@ -29,8 +29,10 @@ selector: "key", 
     | 
|
| 
       29 
29 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       30 
30 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       31 
31 
     | 
    
         
             
            var self=this;
         
     | 
| 
       32 
     | 
    
         
            -
            return  
     | 
| 
       33 
     | 
    
         
            -
             
     | 
| 
      
 32 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 33 
     | 
    
         
            +
            $1=self["@key"];
         
     | 
| 
      
 34 
     | 
    
         
            +
            return $1;
         
     | 
| 
      
 35 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"key",{}, smalltalk.Association)})},
         
     | 
| 
       34 
36 
     | 
    
         
             
            args: [],
         
     | 
| 
       35 
37 
     | 
    
         
             
            source: "key\x0a\x09^key",
         
     | 
| 
       36 
38 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -45,8 +47,8 @@ selector: "key:", 
     | 
|
| 
       45 
47 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       46 
48 
     | 
    
         
             
            fn: function (aKey){
         
     | 
| 
       47 
49 
     | 
    
         
             
            var self=this;
         
     | 
| 
       48 
     | 
    
         
            -
             
     | 
| 
       49 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 50 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 51 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"key:",{aKey:aKey}, smalltalk.Association)})},
         
     | 
| 
       50 
52 
     | 
    
         
             
            args: ["aKey"],
         
     | 
| 
       51 
53 
     | 
    
         
             
            source: "key: aKey\x0a\x09key := aKey",
         
     | 
| 
       52 
54 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -61,12 +63,12 @@ selector: "printString", 
     | 
|
| 
       61 
63 
     | 
    
         
             
            category: 'printing',
         
     | 
| 
       62 
64 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       63 
65 
     | 
    
         
             
            var self=this;
         
     | 
| 
       64 
     | 
    
         
            -
             
     | 
| 
       65 
     | 
    
         
            -
            $1= 
     | 
| 
       66 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       67 
     | 
    
         
            -
            }) 
     | 
| 
      
 66 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 67 
     | 
    
         
            +
            $1=_st((smalltalk.String || String))._streamContents_((function(aStream){
         
     | 
| 
      
 68 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 69 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({aStream:aStream},$ctx1)})}));
         
     | 
| 
       68 
70 
     | 
    
         
             
            return $1;
         
     | 
| 
       69 
     | 
    
         
            -
            },
         
     | 
| 
      
 71 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"printString",{}, smalltalk.Association)})},
         
     | 
| 
       70 
72 
     | 
    
         
             
            args: [],
         
     | 
| 
       71 
73 
     | 
    
         
             
            source: "printString\x0a\x09\x22print the contents of the Association into a string and return the string\x22\x0a\x09^String streamContents: [:aStream |\x0a\x09\x09self storeOn: aStream]",
         
     | 
| 
       72 
74 
     | 
    
         
             
            messageSends: ["streamContents:", "storeOn:"],
         
     | 
| 
         @@ -81,10 +83,10 @@ selector: "storeOn:", 
     | 
|
| 
       81 
83 
     | 
    
         
             
            category: 'printing',
         
     | 
| 
       82 
84 
     | 
    
         
             
            fn: function (aStream){
         
     | 
| 
       83 
85 
     | 
    
         
             
            var self=this;
         
     | 
| 
       84 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       85 
     | 
    
         
            -
             
     | 
| 
       86 
     | 
    
         
            -
             
     | 
| 
       87 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 86 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 87 
     | 
    
         
            +
            _st(aStream)._nextPutAll_("->");
         
     | 
| 
      
 88 
     | 
    
         
            +
            _st(self["@value"])._storeOn_(aStream);
         
     | 
| 
      
 89 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"storeOn:",{aStream:aStream}, smalltalk.Association)})},
         
     | 
| 
       88 
90 
     | 
    
         
             
            args: ["aStream"],
         
     | 
| 
       89 
91 
     | 
    
         
             
            source: "storeOn: aStream\x0a\x09\x22Store in the format: key->value\x22\x0a\x0a\x09key storeOn: aStream.\x0a\x09aStream nextPutAll: '->'.\x0a\x09value storeOn: aStream.",
         
     | 
| 
       90 
92 
     | 
    
         
             
            messageSends: ["storeOn:", "nextPutAll:"],
         
     | 
| 
         @@ -99,8 +101,10 @@ selector: "value", 
     | 
|
| 
       99 
101 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       100 
102 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       101 
103 
     | 
    
         
             
            var self=this;
         
     | 
| 
       102 
     | 
    
         
            -
            return  
     | 
| 
       103 
     | 
    
         
            -
             
     | 
| 
      
 104 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 105 
     | 
    
         
            +
            $1=self["@value"];
         
     | 
| 
      
 106 
     | 
    
         
            +
            return $1;
         
     | 
| 
      
 107 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"value",{}, smalltalk.Association)})},
         
     | 
| 
       104 
108 
     | 
    
         
             
            args: [],
         
     | 
| 
       105 
109 
     | 
    
         
             
            source: "value\x0a\x09^value",
         
     | 
| 
       106 
110 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -115,8 +119,8 @@ selector: "value:", 
     | 
|
| 
       115 
119 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       116 
120 
     | 
    
         
             
            fn: function (aValue){
         
     | 
| 
       117 
121 
     | 
    
         
             
            var self=this;
         
     | 
| 
       118 
     | 
    
         
            -
             
     | 
| 
       119 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 122 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 123 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"value:",{aValue:aValue}, smalltalk.Association)})},
         
     | 
| 
       120 
124 
     | 
    
         
             
            args: ["aValue"],
         
     | 
| 
       121 
125 
     | 
    
         
             
            source: "value: aValue\x0a\x09value := aValue",
         
     | 
| 
       122 
126 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -132,14 +136,14 @@ selector: "key:value:", 
     | 
|
| 
       132 
136 
     | 
    
         
             
            category: 'instance creation',
         
     | 
| 
       133 
137 
     | 
    
         
             
            fn: function (aKey,aValue){
         
     | 
| 
       134 
138 
     | 
    
         
             
            var self=this;
         
     | 
| 
       135 
     | 
    
         
            -
             
     | 
| 
       136 
     | 
    
         
            -
            $2= 
     | 
| 
       137 
     | 
    
         
            -
             
     | 
| 
       138 
     | 
    
         
            -
             
     | 
| 
       139 
     | 
    
         
            -
            $3= 
     | 
| 
      
 139 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 140 
     | 
    
         
            +
            $2=_st(self)._new();
         
     | 
| 
      
 141 
     | 
    
         
            +
            _st($2)._key_(aKey);
         
     | 
| 
      
 142 
     | 
    
         
            +
            _st($2)._value_(aValue);
         
     | 
| 
      
 143 
     | 
    
         
            +
            $3=_st($2)._yourself();
         
     | 
| 
       140 
144 
     | 
    
         
             
            $1=$3;
         
     | 
| 
       141 
145 
     | 
    
         
             
            return $1;
         
     | 
| 
       142 
     | 
    
         
            -
            },
         
     | 
| 
      
 146 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"key:value:",{aKey:aKey,aValue:aValue}, smalltalk.Association.klass)})},
         
     | 
| 
       143 
147 
     | 
    
         
             
            args: ["aKey", "aValue"],
         
     | 
| 
       144 
148 
     | 
    
         
             
            source: "key: aKey value: aValue\x0a\x09    ^self new\x0a\x09\x09key: aKey;\x0a\x09\x09value: aValue;\x0a\x09\x09yourself",
         
     | 
| 
       145 
149 
     | 
    
         
             
            messageSends: ["key:", "new", "value:", "yourself"],
         
     | 
| 
         @@ -156,13 +160,13 @@ selector: ",", 
     | 
|
| 
       156 
160 
     | 
    
         
             
            category: 'copying',
         
     | 
| 
       157 
161 
     | 
    
         
             
            fn: function (aCollection){
         
     | 
| 
       158 
162 
     | 
    
         
             
            var self=this;
         
     | 
| 
       159 
     | 
    
         
            -
             
     | 
| 
       160 
     | 
    
         
            -
            $2= 
     | 
| 
       161 
     | 
    
         
            -
             
     | 
| 
       162 
     | 
    
         
            -
            $3= 
     | 
| 
      
 163 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 164 
     | 
    
         
            +
            $2=_st(self)._copy();
         
     | 
| 
      
 165 
     | 
    
         
            +
            _st($2)._addAll_(aCollection);
         
     | 
| 
      
 166 
     | 
    
         
            +
            $3=_st($2)._yourself();
         
     | 
| 
       163 
167 
     | 
    
         
             
            $1=$3;
         
     | 
| 
       164 
168 
     | 
    
         
             
            return $1;
         
     | 
| 
       165 
     | 
    
         
            -
            },
         
     | 
| 
      
 169 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,",",{aCollection:aCollection}, smalltalk.Collection)})},
         
     | 
| 
       166 
170 
     | 
    
         
             
            args: ["aCollection"],
         
     | 
| 
       167 
171 
     | 
    
         
             
            source: ", aCollection\x0a\x09^self copy \x0a\x09    addAll: aCollection; \x0a\x09    yourself",
         
     | 
| 
       168 
172 
     | 
    
         
             
            messageSends: ["addAll:", "copy", "yourself"],
         
     | 
| 
         @@ -177,8 +181,8 @@ selector: "add:", 
     | 
|
| 
       177 
181 
     | 
    
         
             
            category: 'adding/removing',
         
     | 
| 
       178 
182 
     | 
    
         
             
            fn: function (anObject){
         
     | 
| 
       179 
183 
     | 
    
         
             
            var self=this;
         
     | 
| 
       180 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       181 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 184 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 185 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"add:",{anObject:anObject}, smalltalk.Collection)})},
         
     | 
| 
       182 
186 
     | 
    
         
             
            args: ["anObject"],
         
     | 
| 
       183 
187 
     | 
    
         
             
            source: "add: anObject\x0a\x09self subclassResponsibility",
         
     | 
| 
       184 
188 
     | 
    
         
             
            messageSends: ["subclassResponsibility"],
         
     | 
| 
         @@ -193,11 +197,13 @@ selector: "addAll:", 
     | 
|
| 
       193 
197 
     | 
    
         
             
            category: 'adding/removing',
         
     | 
| 
       194 
198 
     | 
    
         
             
            fn: function (aCollection){
         
     | 
| 
       195 
199 
     | 
    
         
             
            var self=this;
         
     | 
| 
       196 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       197 
     | 
    
         
            -
             
     | 
| 
       198 
     | 
    
         
            -
             
     | 
| 
       199 
     | 
    
         
            -
             
     | 
| 
       200 
     | 
    
         
            -
             
     | 
| 
      
 200 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 201 
     | 
    
         
            +
            _st(aCollection)._do_((function(each){
         
     | 
| 
      
 202 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 203 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
         
     | 
| 
      
 204 
     | 
    
         
            +
            $1=aCollection;
         
     | 
| 
      
 205 
     | 
    
         
            +
            return $1;
         
     | 
| 
      
 206 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"addAll:",{aCollection:aCollection}, smalltalk.Collection)})},
         
     | 
| 
       201 
207 
     | 
    
         
             
            args: ["aCollection"],
         
     | 
| 
       202 
208 
     | 
    
         
             
            source: "addAll: aCollection\x0a\x09aCollection do: [:each |\x0a\x09    self add: each].\x0a\x09^aCollection",
         
     | 
| 
       203 
209 
     | 
    
         
             
            messageSends: ["do:", "add:"],
         
     | 
| 
         @@ -212,10 +218,10 @@ selector: "asArray", 
     | 
|
| 
       212 
218 
     | 
    
         
             
            category: 'converting',
         
     | 
| 
       213 
219 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       214 
220 
     | 
    
         
             
            var self=this;
         
     | 
| 
       215 
     | 
    
         
            -
             
     | 
| 
       216 
     | 
    
         
            -
            $1= 
     | 
| 
      
 221 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 222 
     | 
    
         
            +
            $1=_st((smalltalk.Array || Array))._withAll_(self);
         
     | 
| 
       217 
223 
     | 
    
         
             
            return $1;
         
     | 
| 
       218 
     | 
    
         
            -
            },
         
     | 
| 
      
 224 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"asArray",{}, smalltalk.Collection)})},
         
     | 
| 
       219 
225 
     | 
    
         
             
            args: [],
         
     | 
| 
       220 
226 
     | 
    
         
             
            source: "asArray\x0a\x09^Array withAll: self",
         
     | 
| 
       221 
227 
     | 
    
         
             
            messageSends: ["withAll:"],
         
     | 
| 
         @@ -230,12 +236,12 @@ selector: "asJSON", 
     | 
|
| 
       230 
236 
     | 
    
         
             
            category: 'converting',
         
     | 
| 
       231 
237 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       232 
238 
     | 
    
         
             
            var self=this;
         
     | 
| 
       233 
     | 
    
         
            -
             
     | 
| 
       234 
     | 
    
         
            -
            $1= 
     | 
| 
       235 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       236 
     | 
    
         
            -
            }) 
     | 
| 
      
 239 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 240 
     | 
    
         
            +
            $1=_st(_st(self)._asArray())._collect_((function(each){
         
     | 
| 
      
 241 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 242 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
         
     | 
| 
       237 
243 
     | 
    
         
             
            return $1;
         
     | 
| 
       238 
     | 
    
         
            -
            },
         
     | 
| 
      
 244 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"asJSON",{}, smalltalk.Collection)})},
         
     | 
| 
       239 
245 
     | 
    
         
             
            args: [],
         
     | 
| 
       240 
246 
     | 
    
         
             
            source: "asJSON\x0a\x09^self asArray collect: [:each | each asJSON]",
         
     | 
| 
       241 
247 
     | 
    
         
             
            messageSends: ["collect:", "asJSON", "asArray"],
         
     | 
| 
         @@ -250,10 +256,10 @@ selector: "asOrderedCollection", 
     | 
|
| 
       250 
256 
     | 
    
         
             
            category: 'converting',
         
     | 
| 
       251 
257 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       252 
258 
     | 
    
         
             
            var self=this;
         
     | 
| 
       253 
     | 
    
         
            -
             
     | 
| 
       254 
     | 
    
         
            -
            $1= 
     | 
| 
      
 259 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 260 
     | 
    
         
            +
            $1=_st(self)._asArray();
         
     | 
| 
       255 
261 
     | 
    
         
             
            return $1;
         
     | 
| 
       256 
     | 
    
         
            -
            },
         
     | 
| 
      
 262 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"asOrderedCollection",{}, smalltalk.Collection)})},
         
     | 
| 
       257 
263 
     | 
    
         
             
            args: [],
         
     | 
| 
       258 
264 
     | 
    
         
             
            source: "asOrderedCollection\x0a\x09^self asArray",
         
     | 
| 
       259 
265 
     | 
    
         
             
            messageSends: ["asArray"],
         
     | 
| 
         @@ -268,10 +274,10 @@ selector: "asSet", 
     | 
|
| 
       268 
274 
     | 
    
         
             
            category: 'converting',
         
     | 
| 
       269 
275 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       270 
276 
     | 
    
         
             
            var self=this;
         
     | 
| 
       271 
     | 
    
         
            -
             
     | 
| 
       272 
     | 
    
         
            -
            $1= 
     | 
| 
      
 277 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 278 
     | 
    
         
            +
            $1=_st((smalltalk.Set || Set))._withAll_(self);
         
     | 
| 
       273 
279 
     | 
    
         
             
            return $1;
         
     | 
| 
       274 
     | 
    
         
            -
            },
         
     | 
| 
      
 280 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"asSet",{}, smalltalk.Collection)})},
         
     | 
| 
       275 
281 
     | 
    
         
             
            args: [],
         
     | 
| 
       276 
282 
     | 
    
         
             
            source: "asSet\x0a\x09^Set withAll: self",
         
     | 
| 
       277 
283 
     | 
    
         
             
            messageSends: ["withAll:"],
         
     | 
| 
         @@ -286,15 +292,15 @@ selector: "collect:", 
     | 
|
| 
       286 
292 
     | 
    
         
             
            category: 'enumerating',
         
     | 
| 
       287 
293 
     | 
    
         
             
            fn: function (aBlock){
         
     | 
| 
       288 
294 
     | 
    
         
             
            var self=this;
         
     | 
| 
       289 
     | 
    
         
            -
            var $1;
         
     | 
| 
       290 
295 
     | 
    
         
             
            var stream;
         
     | 
| 
       291 
     | 
    
         
            -
             
     | 
| 
       292 
     | 
    
         
            -
             
     | 
| 
       293 
     | 
    
         
            -
             
     | 
| 
       294 
     | 
    
         
            -
             
     | 
| 
       295 
     | 
    
         
            -
            $ 
     | 
| 
      
 296 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 297 
     | 
    
         
            +
            stream=_st(_st(_st(self)._class())._new())._writeStream();
         
     | 
| 
      
 298 
     | 
    
         
            +
            _st(self)._do_((function(each){
         
     | 
| 
      
 299 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 300 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
         
     | 
| 
      
 301 
     | 
    
         
            +
            $1=_st(stream)._contents();
         
     | 
| 
       296 
302 
     | 
    
         
             
            return $1;
         
     | 
| 
       297 
     | 
    
         
            -
            },
         
     | 
| 
      
 303 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"collect:",{aBlock:aBlock,stream:stream}, smalltalk.Collection)})},
         
     | 
| 
       298 
304 
     | 
    
         
             
            args: ["aBlock"],
         
     | 
| 
       299 
305 
     | 
    
         
             
            source: "collect: aBlock\x0a\x09| stream |\x0a\x09stream := self class new writeStream.\x0a\x09self do: [ :each |\x0a\x09\x09stream nextPut: (aBlock value: each) ].\x0a\x09^stream contents",
         
     | 
| 
       300 
306 
     | 
    
         
             
            messageSends: ["writeStream", "new", "class", "do:", "nextPut:", "value:", "contents"],
         
     | 
| 
         @@ -309,13 +315,13 @@ selector: "copyWith:", 
     | 
|
| 
       309 
315 
     | 
    
         
             
            category: 'copying',
         
     | 
| 
       310 
316 
     | 
    
         
             
            fn: function (anObject){
         
     | 
| 
       311 
317 
     | 
    
         
             
            var self=this;
         
     | 
| 
       312 
     | 
    
         
            -
             
     | 
| 
       313 
     | 
    
         
            -
            $2= 
     | 
| 
       314 
     | 
    
         
            -
             
     | 
| 
       315 
     | 
    
         
            -
            $3= 
     | 
| 
      
 318 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 319 
     | 
    
         
            +
            $2=_st(self)._copy();
         
     | 
| 
      
 320 
     | 
    
         
            +
            _st($2)._add_(anObject);
         
     | 
| 
      
 321 
     | 
    
         
            +
            $3=_st($2)._yourself();
         
     | 
| 
       316 
322 
     | 
    
         
             
            $1=$3;
         
     | 
| 
       317 
323 
     | 
    
         
             
            return $1;
         
     | 
| 
       318 
     | 
    
         
            -
            },
         
     | 
| 
      
 324 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"copyWith:",{anObject:anObject}, smalltalk.Collection)})},
         
     | 
| 
       319 
325 
     | 
    
         
             
            args: ["anObject"],
         
     | 
| 
       320 
326 
     | 
    
         
             
            source: "copyWith: anObject\x0a\x09^self copy add: anObject; yourself",
         
     | 
| 
       321 
327 
     | 
    
         
             
            messageSends: ["add:", "copy", "yourself"],
         
     | 
| 
         @@ -330,13 +336,13 @@ selector: "copyWithAll:", 
     | 
|
| 
       330 
336 
     | 
    
         
             
            category: 'copying',
         
     | 
| 
       331 
337 
     | 
    
         
             
            fn: function (aCollection){
         
     | 
| 
       332 
338 
     | 
    
         
             
            var self=this;
         
     | 
| 
       333 
     | 
    
         
            -
             
     | 
| 
       334 
     | 
    
         
            -
            $2= 
     | 
| 
       335 
     | 
    
         
            -
             
     | 
| 
       336 
     | 
    
         
            -
            $3= 
     | 
| 
      
 339 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 340 
     | 
    
         
            +
            $2=_st(self)._copy();
         
     | 
| 
      
 341 
     | 
    
         
            +
            _st($2)._addAll_(aCollection);
         
     | 
| 
      
 342 
     | 
    
         
            +
            $3=_st($2)._yourself();
         
     | 
| 
       337 
343 
     | 
    
         
             
            $1=$3;
         
     | 
| 
       338 
344 
     | 
    
         
             
            return $1;
         
     | 
| 
       339 
     | 
    
         
            -
            },
         
     | 
| 
      
 345 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"copyWithAll:",{aCollection:aCollection}, smalltalk.Collection)})},
         
     | 
| 
       340 
346 
     | 
    
         
             
            args: ["aCollection"],
         
     | 
| 
       341 
347 
     | 
    
         
             
            source: "copyWithAll: aCollection\x0a\x09^self copy addAll: aCollection; yourself",
         
     | 
| 
       342 
348 
     | 
    
         
             
            messageSends: ["addAll:", "copy", "yourself"],
         
     | 
| 
         @@ -351,12 +357,12 @@ selector: "copyWithoutAll:", 
     | 
|
| 
       351 
357 
     | 
    
         
             
            category: 'copying',
         
     | 
| 
       352 
358 
     | 
    
         
             
            fn: function (aCollection){
         
     | 
| 
       353 
359 
     | 
    
         
             
            var self=this;
         
     | 
| 
       354 
     | 
    
         
            -
             
     | 
| 
       355 
     | 
    
         
            -
            $1= 
     | 
| 
       356 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       357 
     | 
    
         
            -
            }) 
     | 
| 
      
 360 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 361 
     | 
    
         
            +
            $1=_st(self)._reject_((function(each){
         
     | 
| 
      
 362 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 363 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
         
     | 
| 
       358 
364 
     | 
    
         
             
            return $1;
         
     | 
| 
       359 
     | 
    
         
            -
            },
         
     | 
| 
      
 365 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"copyWithoutAll:",{aCollection:aCollection}, smalltalk.Collection)})},
         
     | 
| 
       360 
366 
     | 
    
         
             
            args: ["aCollection"],
         
     | 
| 
       361 
367 
     | 
    
         
             
            source: "copyWithoutAll: aCollection\x0a\x09\x22Answer a copy of the receiver that does not contain any elements \x0a\x09equal to those in aCollection.\x22\x0a\x0a\x09^ self reject: [:each | aCollection includes: each]",
         
     | 
| 
       362 
368 
     | 
    
         
             
            messageSends: ["reject:", "includes:"],
         
     | 
| 
         @@ -371,12 +377,12 @@ selector: "detect:", 
     | 
|
| 
       371 
377 
     | 
    
         
             
            category: 'enumerating',
         
     | 
| 
       372 
378 
     | 
    
         
             
            fn: function (aBlock){
         
     | 
| 
       373 
379 
     | 
    
         
             
            var self=this;
         
     | 
| 
       374 
     | 
    
         
            -
             
     | 
| 
       375 
     | 
    
         
            -
            $1= 
     | 
| 
       376 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       377 
     | 
    
         
            -
            }) 
     | 
| 
      
 380 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 381 
     | 
    
         
            +
            $1=_st(self)._detect_ifNone_(aBlock,(function(){
         
     | 
| 
      
 382 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 383 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
         
     | 
| 
       378 
384 
     | 
    
         
             
            return $1;
         
     | 
| 
       379 
     | 
    
         
            -
            },
         
     | 
| 
      
 385 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"detect:",{aBlock:aBlock}, smalltalk.Collection)})},
         
     | 
| 
       380 
386 
     | 
    
         
             
            args: ["aBlock"],
         
     | 
| 
       381 
387 
     | 
    
         
             
            source: "detect: aBlock\x0a\x09^self detect: aBlock ifNone: [self errorNotFound]",
         
     | 
| 
       382 
388 
     | 
    
         
             
            messageSends: ["detect:ifNone:", "errorNotFound"],
         
     | 
| 
         @@ -391,14 +397,13 @@ selector: "detect:ifNone:", 
     | 
|
| 
       391 
397 
     | 
    
         
             
            category: 'enumerating',
         
     | 
| 
       392 
398 
     | 
    
         
             
            fn: function (aBlock,anotherBlock){
         
     | 
| 
       393 
399 
     | 
    
         
             
            var self=this;
         
     | 
| 
       394 
     | 
    
         
            -
             
     | 
| 
      
 400 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
       395 
401 
     | 
    
         
             
            		for(var i = 0; i < self.length; i++)
         
     | 
| 
       396 
402 
     | 
    
         
             
            			if(aBlock(self[i]))
         
     | 
| 
       397 
403 
     | 
    
         
             
            				return self[i];
         
     | 
| 
       398 
404 
     | 
    
         
             
            		return anotherBlock();
         
     | 
| 
       399 
405 
     | 
    
         
             
            	;
         
     | 
| 
       400 
     | 
    
         
            -
             
     | 
| 
       401 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 406 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"detect:ifNone:",{aBlock:aBlock,anotherBlock:anotherBlock}, smalltalk.Collection)})},
         
     | 
| 
       402 
407 
     | 
    
         
             
            args: ["aBlock", "anotherBlock"],
         
     | 
| 
       403 
408 
     | 
    
         
             
            source: "detect: aBlock ifNone: anotherBlock\x0a\x09<\x0a\x09\x09for(var i = 0; i < self.length; i++)\x0a\x09\x09\x09if(aBlock(self[i]))\x0a\x09\x09\x09\x09return self[i];\x0a\x09\x09return anotherBlock();\x0a\x09>",
         
     | 
| 
       404 
409 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -413,9 +418,8 @@ selector: "do:", 
     | 
|
| 
       413 
418 
     | 
    
         
             
            category: 'enumerating',
         
     | 
| 
       414 
419 
     | 
    
         
             
            fn: function (aBlock){
         
     | 
| 
       415 
420 
     | 
    
         
             
            var self=this;
         
     | 
| 
       416 
     | 
    
         
            -
             
     | 
| 
       417 
     | 
    
         
            -
             
     | 
| 
       418 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 421 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 422 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"do:",{aBlock:aBlock}, smalltalk.Collection)})},
         
     | 
| 
       419 
423 
     | 
    
         
             
            args: ["aBlock"],
         
     | 
| 
       420 
424 
     | 
    
         
             
            source: "do: aBlock\x0a\x09<for(var i=0;i<self.length;i++){aBlock(self[i]);}>",
         
     | 
| 
       421 
425 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -431,17 +435,21 @@ category: 'enumerating', 
     | 
|
| 
       431 
435 
     | 
    
         
             
            fn: function (aBlock,anotherBlock){
         
     | 
| 
       432 
436 
     | 
    
         
             
            var self=this;
         
     | 
| 
       433 
437 
     | 
    
         
             
            var first;
         
     | 
| 
      
 438 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
       434 
439 
     | 
    
         
             
            first=true;
         
     | 
| 
       435 
     | 
    
         
            -
             
     | 
| 
       436 
     | 
    
         
            -
             
     | 
| 
      
 440 
     | 
    
         
            +
            $1=self;
         
     | 
| 
      
 441 
     | 
    
         
            +
            $2=(function(each){
         
     | 
| 
      
 442 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 443 
     | 
    
         
            +
            if(smalltalk.assert($3)){
         
     | 
| 
       437 
444 
     | 
    
         
             
            first=false;
         
     | 
| 
       438 
445 
     | 
    
         
             
            first;
         
     | 
| 
       439 
446 
     | 
    
         
             
            } else {
         
     | 
| 
       440 
     | 
    
         
            -
             
     | 
| 
      
 447 
     | 
    
         
            +
            _st(anotherBlock)._value();
         
     | 
| 
       441 
448 
     | 
    
         
             
            };
         
     | 
| 
       442 
     | 
    
         
            -
            return  
     | 
| 
       443 
     | 
    
         
            -
            }) 
     | 
| 
       444 
     | 
    
         
            -
             
     | 
| 
      
 449 
     | 
    
         
            +
            return _st(aBlock)._value_(each);
         
     | 
| 
      
 450 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})});
         
     | 
| 
      
 451 
     | 
    
         
            +
            _st($1)._do_($2);
         
     | 
| 
      
 452 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"do:separatedBy:",{aBlock:aBlock,anotherBlock:anotherBlock,first:first}, smalltalk.Collection)})},
         
     | 
| 
       445 
453 
     | 
    
         
             
            args: ["aBlock", "anotherBlock"],
         
     | 
| 
       446 
454 
     | 
    
         
             
            source: "do: aBlock separatedBy: anotherBlock\x0a\x09| first |\x0a\x09first := true.\x0a\x09self do: [:each |\x0a\x09    first\x0a\x09\x09ifTrue: [first := false]\x0a\x09\x09ifFalse: [anotherBlock value].\x0a\x09    aBlock value: each]",
         
     | 
| 
       447 
455 
     | 
    
         
             
            messageSends: ["do:", "ifTrue:ifFalse:", "value", "value:"],
         
     | 
| 
         @@ -456,8 +464,8 @@ selector: "errorNotFound", 
     | 
|
| 
       456 
464 
     | 
    
         
             
            category: 'error handling',
         
     | 
| 
       457 
465 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       458 
466 
     | 
    
         
             
            var self=this;
         
     | 
| 
       459 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       460 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 467 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 468 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"errorNotFound",{}, smalltalk.Collection)})},
         
     | 
| 
       461 
469 
     | 
    
         
             
            args: [],
         
     | 
| 
       462 
470 
     | 
    
         
             
            source: "errorNotFound\x0a\x09self error: 'Object is not in the collection'",
         
     | 
| 
       463 
471 
     | 
    
         
             
            messageSends: ["error:"],
         
     | 
| 
         @@ -472,15 +480,15 @@ selector: "ifEmpty:", 
     | 
|
| 
       472 
480 
     | 
    
         
             
            category: 'testing',
         
     | 
| 
       473 
481 
     | 
    
         
             
            fn: function (aBlock){
         
     | 
| 
       474 
482 
     | 
    
         
             
            var self=this;
         
     | 
| 
       475 
     | 
    
         
            -
             
     | 
| 
       476 
     | 
    
         
            -
            $2= 
     | 
| 
      
 483 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 484 
     | 
    
         
            +
            $2=_st(self)._isEmpty();
         
     | 
| 
       477 
485 
     | 
    
         
             
            if(smalltalk.assert($2)){
         
     | 
| 
       478 
     | 
    
         
            -
            $1= 
     | 
| 
      
 486 
     | 
    
         
            +
            $1=_st(aBlock)._value();
         
     | 
| 
       479 
487 
     | 
    
         
             
            } else {
         
     | 
| 
       480 
488 
     | 
    
         
             
            $1=self;
         
     | 
| 
       481 
489 
     | 
    
         
             
            };
         
     | 
| 
       482 
490 
     | 
    
         
             
            return $1;
         
     | 
| 
       483 
     | 
    
         
            -
            },
         
     | 
| 
      
 491 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"ifEmpty:",{aBlock:aBlock}, smalltalk.Collection)})},
         
     | 
| 
       484 
492 
     | 
    
         
             
            args: ["aBlock"],
         
     | 
| 
       485 
493 
     | 
    
         
             
            source: "ifEmpty: aBlock\x0a\x09\x22Evaluate the given block with the receiver as argument, answering its value if the receiver is empty, otherwise answer the receiver. Note that the fact that this method returns its argument in case the receiver is not empty allows one to write expressions like the following ones: self classifyMethodAs: \x0a\x09\x09(myProtocol ifEmpty: ['As yet unclassified'])\x22\x0a\x09^ self isEmpty \x0a\x09\x09ifTrue: [ aBlock value ]\x0a\x09\x09ifFalse: [ self ]",
         
     | 
| 
       486 
494 
     | 
    
         
             
            messageSends: ["ifTrue:ifFalse:", "value", "isEmpty"],
         
     | 
| 
         @@ -495,10 +503,10 @@ selector: "ifNotEmpty:", 
     | 
|
| 
       495 
503 
     | 
    
         
             
            category: 'testing',
         
     | 
| 
       496 
504 
     | 
    
         
             
            fn: function (aBlock){
         
     | 
| 
       497 
505 
     | 
    
         
             
            var self=this;
         
     | 
| 
       498 
     | 
    
         
            -
             
     | 
| 
       499 
     | 
    
         
            -
            $1= 
     | 
| 
       500 
     | 
    
         
            -
             
     | 
| 
       501 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 506 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 507 
     | 
    
         
            +
            $1=_st(self)._notEmpty();
         
     | 
| 
      
 508 
     | 
    
         
            +
            _st($1)._ifTrue_(aBlock);
         
     | 
| 
      
 509 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"ifNotEmpty:",{aBlock:aBlock}, smalltalk.Collection)})},
         
     | 
| 
       502 
510 
     | 
    
         
             
            args: ["aBlock"],
         
     | 
| 
       503 
511 
     | 
    
         
             
            source: "ifNotEmpty: aBlock\x0a\x09self notEmpty ifTrue: aBlock.",
         
     | 
| 
       504 
512 
     | 
    
         
             
            messageSends: ["ifTrue:", "notEmpty"],
         
     | 
| 
         @@ -513,19 +521,20 @@ selector: "includes:", 
     | 
|
| 
       513 
521 
     | 
    
         
             
            category: 'testing',
         
     | 
| 
       514 
522 
     | 
    
         
             
            fn: function (anObject){
         
     | 
| 
       515 
523 
     | 
    
         
             
            var self=this;
         
     | 
| 
       516 
     | 
    
         
            -
             
     | 
| 
       517 
     | 
    
         
            -
             
     | 
| 
       518 
     | 
    
         
            -
             
     | 
| 
       519 
     | 
    
         
            -
             
     | 
| 
       520 
     | 
    
         
            -
             
     | 
| 
       521 
     | 
    
         
            -
             
     | 
| 
       522 
     | 
    
         
            -
             
     | 
| 
       523 
     | 
    
         
            -
            ;
         
     | 
| 
       524 
     | 
    
         
            -
            return  
     | 
| 
      
 524 
     | 
    
         
            +
            var sentinel;
         
     | 
| 
      
 525 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 526 
     | 
    
         
            +
            sentinel=_st((smalltalk.Object || Object))._new();
         
     | 
| 
      
 527 
     | 
    
         
            +
            $1=_st(_st(self)._detect_ifNone_((function(each){
         
     | 
| 
      
 528 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 529 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
         
     | 
| 
      
 530 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 531 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))).__tild_eq(sentinel);
         
     | 
| 
      
 532 
     | 
    
         
            +
            return $1;
         
     | 
| 
      
 533 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"includes:",{anObject:anObject,sentinel:sentinel}, smalltalk.Collection)})},
         
     | 
| 
       525 
534 
     | 
    
         
             
            args: ["anObject"],
         
     | 
| 
       526 
     | 
    
         
            -
            source: "includes: anObject\x0a\x09 
     | 
| 
       527 
     | 
    
         
            -
            messageSends: [],
         
     | 
| 
       528 
     | 
    
         
            -
            referencedClasses: []
         
     | 
| 
      
 535 
     | 
    
         
            +
            source: "includes: anObject\x0a\x09| sentinel |\x0a    sentinel := Object new.\x0a    ^(self detect: [ :each | each = anObject] ifNone: [ sentinel ]) ~= sentinel",
         
     | 
| 
      
 536 
     | 
    
         
            +
            messageSends: ["new", "~=", "detect:ifNone:", "="],
         
     | 
| 
      
 537 
     | 
    
         
            +
            referencedClasses: ["Object"]
         
     | 
| 
       529 
538 
     | 
    
         
             
            }),
         
     | 
| 
       530 
539 
     | 
    
         
             
            smalltalk.Collection);
         
     | 
| 
       531 
540 
     | 
    
         | 
| 
         @@ -537,13 +546,15 @@ category: 'enumerating', 
     | 
|
| 
       537 
546 
     | 
    
         
             
            fn: function (anObject,aBlock){
         
     | 
| 
       538 
547 
     | 
    
         
             
            var self=this;
         
     | 
| 
       539 
548 
     | 
    
         
             
            var result;
         
     | 
| 
      
 549 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
       540 
550 
     | 
    
         
             
            result=anObject;
         
     | 
| 
       541 
     | 
    
         
            -
             
     | 
| 
       542 
     | 
    
         
            -
             
     | 
| 
      
 551 
     | 
    
         
            +
            _st(self)._do_((function(each){
         
     | 
| 
      
 552 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
       543 
553 
     | 
    
         
             
            return result;
         
     | 
| 
       544 
     | 
    
         
            -
            }) 
     | 
| 
       545 
     | 
    
         
            -
             
     | 
| 
       546 
     | 
    
         
            -
             
     | 
| 
      
 554 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
         
     | 
| 
      
 555 
     | 
    
         
            +
            $1=result;
         
     | 
| 
      
 556 
     | 
    
         
            +
            return $1;
         
     | 
| 
      
 557 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"inject:into:",{anObject:anObject,aBlock:aBlock,result:result}, smalltalk.Collection)})},
         
     | 
| 
       547 
558 
     | 
    
         
             
            args: ["anObject", "aBlock"],
         
     | 
| 
       548 
559 
     | 
    
         
             
            source: "inject: anObject into: aBlock\x0a\x09| result |\x0a\x09result := anObject.\x0a\x09self do: [:each | \x0a\x09    result := aBlock value: result value: each].\x0a\x09^result",
         
     | 
| 
       549 
560 
     | 
    
         
             
            messageSends: ["do:", "value:value:"],
         
     | 
| 
         @@ -558,22 +569,23 @@ selector: "intersection:", 
     | 
|
| 
       558 
569 
     | 
    
         
             
            category: 'enumerating',
         
     | 
| 
       559 
570 
     | 
    
         
             
            fn: function (aCollection){
         
     | 
| 
       560 
571 
     | 
    
         
             
            var self=this;
         
     | 
| 
       561 
     | 
    
         
            -
            var  
     | 
| 
       562 
     | 
    
         
            -
             
     | 
| 
       563 
     | 
    
         
            -
             
     | 
| 
       564 
     | 
    
         
            -
             
     | 
| 
       565 
     | 
    
         
            -
             
     | 
| 
       566 
     | 
    
         
            -
             
     | 
| 
       567 
     | 
    
         
            -
             
     | 
| 
       568 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       569 
     | 
    
         
            -
            }) 
     | 
| 
       570 
     | 
    
         
            -
            if(smalltalk.assert($ 
     | 
| 
       571 
     | 
    
         
            -
            return  
     | 
| 
      
 572 
     | 
    
         
            +
            var set,outputSet;
         
     | 
| 
      
 573 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 574 
     | 
    
         
            +
            set=_st(self)._asSet();
         
     | 
| 
      
 575 
     | 
    
         
            +
            outputSet=_st((smalltalk.Set || Set))._new();
         
     | 
| 
      
 576 
     | 
    
         
            +
            $1=aCollection;
         
     | 
| 
      
 577 
     | 
    
         
            +
            $2=(function(each){
         
     | 
| 
      
 578 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 579 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx3) {
         
     | 
| 
      
 580 
     | 
    
         
            +
            }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
         
     | 
| 
      
 581 
     | 
    
         
            +
            if(smalltalk.assert($3)){
         
     | 
| 
      
 582 
     | 
    
         
            +
            return _st(outputSet)._add_(each);
         
     | 
| 
       572 
583 
     | 
    
         
             
            };
         
     | 
| 
       573 
     | 
    
         
            -
            }) 
     | 
| 
       574 
     | 
    
         
            -
            $ 
     | 
| 
       575 
     | 
    
         
            -
             
     | 
| 
       576 
     | 
    
         
            -
             
     | 
| 
      
 584 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})});
         
     | 
| 
      
 585 
     | 
    
         
            +
            _st($1)._do_($2);
         
     | 
| 
      
 586 
     | 
    
         
            +
            $4=_st(_st(self)._class())._withAll_(_st(outputSet)._asArray());
         
     | 
| 
      
 587 
     | 
    
         
            +
            return $4;
         
     | 
| 
      
 588 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"intersection:",{aCollection:aCollection,set:set,outputSet:outputSet}, smalltalk.Collection)})},
         
     | 
| 
       577 
589 
     | 
    
         
             
            args: ["aCollection"],
         
     | 
| 
       578 
590 
     | 
    
         
             
            source: "intersection: aCollection\x0a\x09\x22Answer the set theoretic intersection of two collections.\x22\x0a\x0a\x09| set outputSet |\x0a\x09\x0a\x09set := self asSet.\x0a\x09outputSet := Set new.\x0a\x09\x0a\x09aCollection do: [ :each |\x0a\x09\x09((set includes: each) and: [(outputSet includes: each) not])\x0a\x09\x09\x09ifTrue: [ \x0a\x09\x09\x09\x09outputSet add: each]].\x0a\x09\x09\x0a\x09^ self class withAll: outputSet asArray",
         
     | 
| 
       579 
591 
     | 
    
         
             
            messageSends: ["asSet", "new", "do:", "ifTrue:", "add:", "and:", "not", "includes:", "withAll:", "asArray", "class"],
         
     | 
| 
         @@ -588,10 +600,10 @@ selector: "isEmpty", 
     | 
|
| 
       588 
600 
     | 
    
         
             
            category: 'testing',
         
     | 
| 
       589 
601 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       590 
602 
     | 
    
         
             
            var self=this;
         
     | 
| 
       591 
     | 
    
         
            -
             
     | 
| 
       592 
     | 
    
         
            -
            $1= 
     | 
| 
      
 603 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 604 
     | 
    
         
            +
            $1=_st(_st(self)._size()).__eq((0));
         
     | 
| 
       593 
605 
     | 
    
         
             
            return $1;
         
     | 
| 
       594 
     | 
    
         
            -
            },
         
     | 
| 
      
 606 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"isEmpty",{}, smalltalk.Collection)})},
         
     | 
| 
       595 
607 
     | 
    
         
             
            args: [],
         
     | 
| 
       596 
608 
     | 
    
         
             
            source: "isEmpty\x0a\x09^self size = 0",
         
     | 
| 
       597 
609 
     | 
    
         
             
            messageSends: ["=", "size"],
         
     | 
| 
         @@ -606,10 +618,10 @@ selector: "notEmpty", 
     | 
|
| 
       606 
618 
     | 
    
         
             
            category: 'testing',
         
     | 
| 
       607 
619 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       608 
620 
     | 
    
         
             
            var self=this;
         
     | 
| 
       609 
     | 
    
         
            -
             
     | 
| 
       610 
     | 
    
         
            -
            $1= 
     | 
| 
      
 621 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 622 
     | 
    
         
            +
            $1=_st(_st(self)._isEmpty())._not();
         
     | 
| 
       611 
623 
     | 
    
         
             
            return $1;
         
     | 
| 
       612 
     | 
    
         
            -
            },
         
     | 
| 
      
 624 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"notEmpty",{}, smalltalk.Collection)})},
         
     | 
| 
       613 
625 
     | 
    
         
             
            args: [],
         
     | 
| 
       614 
626 
     | 
    
         
             
            source: "notEmpty\x0a\x09^self isEmpty not",
         
     | 
| 
       615 
627 
     | 
    
         
             
            messageSends: ["not", "isEmpty"],
         
     | 
| 
         @@ -624,18 +636,21 @@ selector: "occurrencesOf:", 
     | 
|
| 
       624 
636 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       625 
637 
     | 
    
         
             
            fn: function (anObject){
         
     | 
| 
       626 
638 
     | 
    
         
             
            var self=this;
         
     | 
| 
       627 
     | 
    
         
            -
            var $1;
         
     | 
| 
       628 
639 
     | 
    
         
             
            var tally;
         
     | 
| 
      
 640 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
       629 
641 
     | 
    
         
             
            tally=(0);
         
     | 
| 
       630 
     | 
    
         
            -
             
     | 
| 
       631 
     | 
    
         
            -
            $ 
     | 
| 
       632 
     | 
    
         
            -
             
     | 
| 
       633 
     | 
    
         
            -
             
     | 
| 
      
 642 
     | 
    
         
            +
            $1=self;
         
     | 
| 
      
 643 
     | 
    
         
            +
            $2=(function(each){
         
     | 
| 
      
 644 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 645 
     | 
    
         
            +
            if(smalltalk.assert($3)){
         
     | 
| 
      
 646 
     | 
    
         
            +
            tally=_st(tally).__plus((1));
         
     | 
| 
       634 
647 
     | 
    
         
             
            return tally;
         
     | 
| 
       635 
648 
     | 
    
         
             
            };
         
     | 
| 
       636 
     | 
    
         
            -
            }) 
     | 
| 
       637 
     | 
    
         
            -
             
     | 
| 
       638 
     | 
    
         
            -
             
     | 
| 
      
 649 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})});
         
     | 
| 
      
 650 
     | 
    
         
            +
            _st($1)._do_($2);
         
     | 
| 
      
 651 
     | 
    
         
            +
            $4=tally;
         
     | 
| 
      
 652 
     | 
    
         
            +
            return $4;
         
     | 
| 
      
 653 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"occurrencesOf:",{anObject:anObject,tally:tally}, smalltalk.Collection)})},
         
     | 
| 
       639 
654 
     | 
    
         
             
            args: ["anObject"],
         
     | 
| 
       640 
655 
     | 
    
         
             
            source: "occurrencesOf: anObject \x0a\x09\x22Answer how many of the receiver's elements are equal to anObject.\x22\x0a\x0a\x09| tally |\x0a\x09tally := 0.\x0a\x09self do: [:each | anObject = each ifTrue: [tally := tally + 1]].\x0a\x09^tally",
         
     | 
| 
       641 
656 
     | 
    
         
             
            messageSends: ["do:", "ifTrue:", "+", "="],
         
     | 
| 
         @@ -650,18 +665,18 @@ selector: "printString", 
     | 
|
| 
       650 
665 
     | 
    
         
             
            category: 'printing',
         
     | 
| 
       651 
666 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       652 
667 
     | 
    
         
             
            var self=this;
         
     | 
| 
       653 
     | 
    
         
            -
             
     | 
| 
       654 
     | 
    
         
            -
            $1= 
     | 
| 
       655 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       656 
     | 
    
         
            -
             
     | 
| 
       657 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       658 
     | 
    
         
            -
            }),(function(){
         
     | 
| 
       659 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       660 
     | 
    
         
            -
            }) 
     | 
| 
       661 
     | 
    
         
            -
            return  
     | 
| 
       662 
     | 
    
         
            -
            }) 
     | 
| 
       663 
     | 
    
         
            -
            return $1;
         
     | 
| 
       664 
     | 
    
         
            -
            },
         
     | 
| 
      
 668 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 669 
     | 
    
         
            +
            $1=_st((smalltalk.String || String))._streamContents_((function(aStream){
         
     | 
| 
      
 670 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 671 
     | 
    
         
            +
            _st(self)._do_separatedBy_((function(each){
         
     | 
| 
      
 672 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx3) {
         
     | 
| 
      
 673 
     | 
    
         
            +
            }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}),(function(){
         
     | 
| 
      
 674 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx3) {
         
     | 
| 
      
 675 
     | 
    
         
            +
            }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
         
     | 
| 
      
 676 
     | 
    
         
            +
            return _st(aStream)._nextPutAll_(")");
         
     | 
| 
      
 677 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({aStream:aStream},$ctx1)})}));
         
     | 
| 
      
 678 
     | 
    
         
            +
            return $1;
         
     | 
| 
      
 679 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"printString",{}, smalltalk.Collection)})},
         
     | 
| 
       665 
680 
     | 
    
         
             
            args: [],
         
     | 
| 
       666 
681 
     | 
    
         
             
            source: "printString\x0a\x09\x22print the contents of the Collection into a string and return it\x22\x0a\x09^String streamContents: [:aStream |\x0a\x09\x09aStream\x0a\x09\x09\x09nextPutAll: super printString, ' ('.\x0a\x09\x09self do: [:each | aStream nextPutAll: each printString]\x0a\x09\x09\x09separatedBy: [aStream nextPutAll: ' '].\x0a\x09\x09aStream nextPutAll: ')']",
         
     | 
| 
       667 
682 
     | 
    
         
             
            messageSends: ["streamContents:", "nextPutAll:", ",", "printString", "do:separatedBy:"],
         
     | 
| 
         @@ -676,10 +691,10 @@ selector: "readStream", 
     | 
|
| 
       676 
691 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       677 
692 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       678 
693 
     | 
    
         
             
            var self=this;
         
     | 
| 
       679 
     | 
    
         
            -
             
     | 
| 
       680 
     | 
    
         
            -
            $1= 
     | 
| 
      
 694 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 695 
     | 
    
         
            +
            $1=_st(self)._stream();
         
     | 
| 
       681 
696 
     | 
    
         
             
            return $1;
         
     | 
| 
       682 
     | 
    
         
            -
            },
         
     | 
| 
      
 697 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"readStream",{}, smalltalk.Collection)})},
         
     | 
| 
       683 
698 
     | 
    
         
             
            args: [],
         
     | 
| 
       684 
699 
     | 
    
         
             
            source: "readStream\x0a\x09^self stream",
         
     | 
| 
       685 
700 
     | 
    
         
             
            messageSends: ["stream"],
         
     | 
| 
         @@ -694,12 +709,12 @@ selector: "reject:", 
     | 
|
| 
       694 
709 
     | 
    
         
             
            category: 'enumerating',
         
     | 
| 
       695 
710 
     | 
    
         
             
            fn: function (aBlock){
         
     | 
| 
       696 
711 
     | 
    
         
             
            var self=this;
         
     | 
| 
       697 
     | 
    
         
            -
             
     | 
| 
       698 
     | 
    
         
            -
            $1= 
     | 
| 
       699 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       700 
     | 
    
         
            -
            }) 
     | 
| 
      
 712 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 713 
     | 
    
         
            +
            $1=_st(self)._select_((function(each){
         
     | 
| 
      
 714 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 715 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
         
     | 
| 
       701 
716 
     | 
    
         
             
            return $1;
         
     | 
| 
       702 
     | 
    
         
            -
            },
         
     | 
| 
      
 717 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"reject:",{aBlock:aBlock}, smalltalk.Collection)})},
         
     | 
| 
       703 
718 
     | 
    
         
             
            args: ["aBlock"],
         
     | 
| 
       704 
719 
     | 
    
         
             
            source: "reject: aBlock\x0a\x09^self select: [:each | (aBlock value: each) = false]",
         
     | 
| 
       705 
720 
     | 
    
         
             
            messageSends: ["select:", "=", "value:"],
         
     | 
| 
         @@ -714,12 +729,12 @@ selector: "remove:", 
     | 
|
| 
       714 
729 
     | 
    
         
             
            category: 'adding/removing',
         
     | 
| 
       715 
730 
     | 
    
         
             
            fn: function (anObject){
         
     | 
| 
       716 
731 
     | 
    
         
             
            var self=this;
         
     | 
| 
       717 
     | 
    
         
            -
             
     | 
| 
       718 
     | 
    
         
            -
            $1= 
     | 
| 
       719 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       720 
     | 
    
         
            -
            }) 
     | 
| 
      
 732 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 733 
     | 
    
         
            +
            $1=_st(self)._remove_ifAbsent_(anObject,(function(){
         
     | 
| 
      
 734 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 735 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
         
     | 
| 
       721 
736 
     | 
    
         
             
            return $1;
         
     | 
| 
       722 
     | 
    
         
            -
            },
         
     | 
| 
      
 737 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"remove:",{anObject:anObject}, smalltalk.Collection)})},
         
     | 
| 
       723 
738 
     | 
    
         
             
            args: ["anObject"],
         
     | 
| 
       724 
739 
     | 
    
         
             
            source: "remove: anObject\x0a    ^self remove: anObject ifAbsent: [self errorNotFound]",
         
     | 
| 
       725 
740 
     | 
    
         
             
            messageSends: ["remove:ifAbsent:", "errorNotFound"],
         
     | 
| 
         @@ -734,8 +749,8 @@ selector: "remove:ifAbsent:", 
     | 
|
| 
       734 
749 
     | 
    
         
             
            category: 'adding/removing',
         
     | 
| 
       735 
750 
     | 
    
         
             
            fn: function (anObject,aBlock){
         
     | 
| 
       736 
751 
     | 
    
         
             
            var self=this;
         
     | 
| 
       737 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       738 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 752 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 753 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"remove:ifAbsent:",{anObject:anObject,aBlock:aBlock}, smalltalk.Collection)})},
         
     | 
| 
       739 
754 
     | 
    
         
             
            args: ["anObject", "aBlock"],
         
     | 
| 
       740 
755 
     | 
    
         
             
            source: "remove: anObject ifAbsent: aBlock\x0a    self subclassResponsibility",
         
     | 
| 
       741 
756 
     | 
    
         
             
            messageSends: ["subclassResponsibility"],
         
     | 
| 
         @@ -750,18 +765,20 @@ selector: "select:", 
     | 
|
| 
       750 
765 
     | 
    
         
             
            category: 'enumerating',
         
     | 
| 
       751 
766 
     | 
    
         
             
            fn: function (aBlock){
         
     | 
| 
       752 
767 
     | 
    
         
             
            var self=this;
         
     | 
| 
       753 
     | 
    
         
            -
            var $1,$2;
         
     | 
| 
       754 
768 
     | 
    
         
             
            var stream;
         
     | 
| 
       755 
     | 
    
         
            -
             
     | 
| 
       756 
     | 
    
         
            -
             
     | 
| 
       757 
     | 
    
         
            -
            $1= 
     | 
| 
       758 
     | 
    
         
            -
             
     | 
| 
       759 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
      
 769 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 770 
     | 
    
         
            +
            stream=_st(_st(_st(self)._class())._new())._writeStream();
         
     | 
| 
      
 771 
     | 
    
         
            +
            $1=self;
         
     | 
| 
      
 772 
     | 
    
         
            +
            $2=(function(each){
         
     | 
| 
      
 773 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 774 
     | 
    
         
            +
            if(smalltalk.assert($3)){
         
     | 
| 
      
 775 
     | 
    
         
            +
            return _st(stream)._nextPut_(each);
         
     | 
| 
       760 
776 
     | 
    
         
             
            };
         
     | 
| 
       761 
     | 
    
         
            -
            }) 
     | 
| 
       762 
     | 
    
         
            -
            $ 
     | 
| 
       763 
     | 
    
         
            -
             
     | 
| 
       764 
     | 
    
         
            -
             
     | 
| 
      
 777 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})});
         
     | 
| 
      
 778 
     | 
    
         
            +
            _st($1)._do_($2);
         
     | 
| 
      
 779 
     | 
    
         
            +
            $4=_st(stream)._contents();
         
     | 
| 
      
 780 
     | 
    
         
            +
            return $4;
         
     | 
| 
      
 781 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"select:",{aBlock:aBlock,stream:stream}, smalltalk.Collection)})},
         
     | 
| 
       765 
782 
     | 
    
         
             
            args: ["aBlock"],
         
     | 
| 
       766 
783 
     | 
    
         
             
            source: "select: aBlock\x0a\x09| stream |\x0a\x09stream := self class new writeStream.\x0a\x09self do: [:each |\x0a\x09    (aBlock value: each) ifTrue: [\x0a\x09\x09stream nextPut: each]].\x0a\x09^stream contents",
         
     | 
| 
       767 
784 
     | 
    
         
             
            messageSends: ["writeStream", "new", "class", "do:", "ifTrue:", "nextPut:", "value:", "contents"],
         
     | 
| 
         @@ -776,8 +793,8 @@ selector: "size", 
     | 
|
| 
       776 
793 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       777 
794 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       778 
795 
     | 
    
         
             
            var self=this;
         
     | 
| 
       779 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       780 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 796 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 797 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"size",{}, smalltalk.Collection)})},
         
     | 
| 
       781 
798 
     | 
    
         
             
            args: [],
         
     | 
| 
       782 
799 
     | 
    
         
             
            source: "size\x0a\x09self subclassResponsibility",
         
     | 
| 
       783 
800 
     | 
    
         
             
            messageSends: ["subclassResponsibility"],
         
     | 
| 
         @@ -792,10 +809,10 @@ selector: "stream", 
     | 
|
| 
       792 
809 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       793 
810 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       794 
811 
     | 
    
         
             
            var self=this;
         
     | 
| 
       795 
     | 
    
         
            -
             
     | 
| 
       796 
     | 
    
         
            -
            $1= 
     | 
| 
      
 812 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 813 
     | 
    
         
            +
            $1=_st(_st(self)._streamClass())._on_(self);
         
     | 
| 
       797 
814 
     | 
    
         
             
            return $1;
         
     | 
| 
       798 
     | 
    
         
            -
            },
         
     | 
| 
      
 815 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"stream",{}, smalltalk.Collection)})},
         
     | 
| 
       799 
816 
     | 
    
         
             
            args: [],
         
     | 
| 
       800 
817 
     | 
    
         
             
            source: "stream\x0a\x09^self streamClass on: self",
         
     | 
| 
       801 
818 
     | 
    
         
             
            messageSends: ["on:", "streamClass"],
         
     | 
| 
         @@ -810,10 +827,10 @@ selector: "streamClass", 
     | 
|
| 
       810 
827 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       811 
828 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       812 
829 
     | 
    
         
             
            var self=this;
         
     | 
| 
       813 
     | 
    
         
            -
             
     | 
| 
       814 
     | 
    
         
            -
            $1= 
     | 
| 
      
 830 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 831 
     | 
    
         
            +
            $1=_st(_st(self)._class())._streamClass();
         
     | 
| 
       815 
832 
     | 
    
         
             
            return $1;
         
     | 
| 
       816 
     | 
    
         
            -
            },
         
     | 
| 
      
 833 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"streamClass",{}, smalltalk.Collection)})},
         
     | 
| 
       817 
834 
     | 
    
         
             
            args: [],
         
     | 
| 
       818 
835 
     | 
    
         
             
            source: "streamClass\x0a\x09^self class streamClass",
         
     | 
| 
       819 
836 
     | 
    
         
             
            messageSends: ["streamClass", "class"],
         
     | 
| 
         @@ -828,10 +845,10 @@ selector: "writeStream", 
     | 
|
| 
       828 
845 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       829 
846 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       830 
847 
     | 
    
         
             
            var self=this;
         
     | 
| 
       831 
     | 
    
         
            -
             
     | 
| 
       832 
     | 
    
         
            -
            $1= 
     | 
| 
      
 848 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 849 
     | 
    
         
            +
            $1=_st(self)._stream();
         
     | 
| 
       833 
850 
     | 
    
         
             
            return $1;
         
     | 
| 
       834 
     | 
    
         
            -
            },
         
     | 
| 
      
 851 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"writeStream",{}, smalltalk.Collection)})},
         
     | 
| 
       835 
852 
     | 
    
         
             
            args: [],
         
     | 
| 
       836 
853 
     | 
    
         
             
            source: "writeStream\x0a\x09^self stream",
         
     | 
| 
       837 
854 
     | 
    
         
             
            messageSends: ["stream"],
         
     | 
| 
         @@ -847,10 +864,10 @@ selector: "new:", 
     | 
|
| 
       847 
864 
     | 
    
         
             
            category: 'instance creation',
         
     | 
| 
       848 
865 
     | 
    
         
             
            fn: function (anInteger){
         
     | 
| 
       849 
866 
     | 
    
         
             
            var self=this;
         
     | 
| 
       850 
     | 
    
         
            -
             
     | 
| 
       851 
     | 
    
         
            -
            $1= 
     | 
| 
      
 867 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 868 
     | 
    
         
            +
            $1=_st(self)._new();
         
     | 
| 
       852 
869 
     | 
    
         
             
            return $1;
         
     | 
| 
       853 
     | 
    
         
            -
            },
         
     | 
| 
      
 870 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"new:",{anInteger:anInteger}, smalltalk.Collection.klass)})},
         
     | 
| 
       854 
871 
     | 
    
         
             
            args: ["anInteger"],
         
     | 
| 
       855 
872 
     | 
    
         
             
            source: "new: anInteger\x0a\x09^self new",
         
     | 
| 
       856 
873 
     | 
    
         
             
            messageSends: ["new"],
         
     | 
| 
         @@ -865,8 +882,10 @@ selector: "streamClass", 
     | 
|
| 
       865 
882 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       866 
883 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       867 
884 
     | 
    
         
             
            var self=this;
         
     | 
| 
       868 
     | 
    
         
            -
            return  
     | 
| 
       869 
     | 
    
         
            -
             
     | 
| 
      
 885 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 886 
     | 
    
         
            +
            $1=(smalltalk.Stream || Stream);
         
     | 
| 
      
 887 
     | 
    
         
            +
            return $1;
         
     | 
| 
      
 888 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"streamClass",{}, smalltalk.Collection.klass)})},
         
     | 
| 
       870 
889 
     | 
    
         
             
            args: [],
         
     | 
| 
       871 
890 
     | 
    
         
             
            source: "streamClass\x0a\x09    ^Stream",
         
     | 
| 
       872 
891 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -881,13 +900,13 @@ selector: "with:", 
     | 
|
| 
       881 
900 
     | 
    
         
             
            category: 'instance creation',
         
     | 
| 
       882 
901 
     | 
    
         
             
            fn: function (anObject){
         
     | 
| 
       883 
902 
     | 
    
         
             
            var self=this;
         
     | 
| 
       884 
     | 
    
         
            -
             
     | 
| 
       885 
     | 
    
         
            -
            $2= 
     | 
| 
       886 
     | 
    
         
            -
             
     | 
| 
       887 
     | 
    
         
            -
            $3= 
     | 
| 
      
 903 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 904 
     | 
    
         
            +
            $2=_st(self)._new();
         
     | 
| 
      
 905 
     | 
    
         
            +
            _st($2)._add_(anObject);
         
     | 
| 
      
 906 
     | 
    
         
            +
            $3=_st($2)._yourself();
         
     | 
| 
       888 
907 
     | 
    
         
             
            $1=$3;
         
     | 
| 
       889 
908 
     | 
    
         
             
            return $1;
         
     | 
| 
       890 
     | 
    
         
            -
            },
         
     | 
| 
      
 909 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"with:",{anObject:anObject}, smalltalk.Collection.klass)})},
         
     | 
| 
       891 
910 
     | 
    
         
             
            args: ["anObject"],
         
     | 
| 
       892 
911 
     | 
    
         
             
            source: "with: anObject\x0a\x09    ^self new\x0a\x09\x09add: anObject;\x0a\x09\x09yourself",
         
     | 
| 
       893 
912 
     | 
    
         
             
            messageSends: ["add:", "new", "yourself"],
         
     | 
| 
         @@ -902,14 +921,14 @@ selector: "with:with:", 
     | 
|
| 
       902 
921 
     | 
    
         
             
            category: 'instance creation',
         
     | 
| 
       903 
922 
     | 
    
         
             
            fn: function (anObject,anotherObject){
         
     | 
| 
       904 
923 
     | 
    
         
             
            var self=this;
         
     | 
| 
       905 
     | 
    
         
            -
             
     | 
| 
       906 
     | 
    
         
            -
            $2= 
     | 
| 
       907 
     | 
    
         
            -
             
     | 
| 
       908 
     | 
    
         
            -
             
     | 
| 
       909 
     | 
    
         
            -
            $3= 
     | 
| 
      
 924 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 925 
     | 
    
         
            +
            $2=_st(self)._new();
         
     | 
| 
      
 926 
     | 
    
         
            +
            _st($2)._add_(anObject);
         
     | 
| 
      
 927 
     | 
    
         
            +
            _st($2)._add_(anotherObject);
         
     | 
| 
      
 928 
     | 
    
         
            +
            $3=_st($2)._yourself();
         
     | 
| 
       910 
929 
     | 
    
         
             
            $1=$3;
         
     | 
| 
       911 
930 
     | 
    
         
             
            return $1;
         
     | 
| 
       912 
     | 
    
         
            -
            },
         
     | 
| 
      
 931 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"with:with:",{anObject:anObject,anotherObject:anotherObject}, smalltalk.Collection.klass)})},
         
     | 
| 
       913 
932 
     | 
    
         
             
            args: ["anObject", "anotherObject"],
         
     | 
| 
       914 
933 
     | 
    
         
             
            source: "with: anObject with: anotherObject\x0a\x09    ^self new\x0a\x09\x09add: anObject;\x0a\x09\x09add: anotherObject;\x0a\x09\x09yourself",
         
     | 
| 
       915 
934 
     | 
    
         
             
            messageSends: ["add:", "new", "yourself"],
         
     | 
| 
         @@ -924,15 +943,15 @@ selector: "with:with:with:", 
     | 
|
| 
       924 
943 
     | 
    
         
             
            category: 'instance creation',
         
     | 
| 
       925 
944 
     | 
    
         
             
            fn: function (firstObject,secondObject,thirdObject){
         
     | 
| 
       926 
945 
     | 
    
         
             
            var self=this;
         
     | 
| 
       927 
     | 
    
         
            -
             
     | 
| 
       928 
     | 
    
         
            -
            $2= 
     | 
| 
       929 
     | 
    
         
            -
             
     | 
| 
       930 
     | 
    
         
            -
             
     | 
| 
       931 
     | 
    
         
            -
             
     | 
| 
       932 
     | 
    
         
            -
            $3= 
     | 
| 
      
 946 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 947 
     | 
    
         
            +
            $2=_st(self)._new();
         
     | 
| 
      
 948 
     | 
    
         
            +
            _st($2)._add_(firstObject);
         
     | 
| 
      
 949 
     | 
    
         
            +
            _st($2)._add_(secondObject);
         
     | 
| 
      
 950 
     | 
    
         
            +
            _st($2)._add_(thirdObject);
         
     | 
| 
      
 951 
     | 
    
         
            +
            $3=_st($2)._yourself();
         
     | 
| 
       933 
952 
     | 
    
         
             
            $1=$3;
         
     | 
| 
       934 
953 
     | 
    
         
             
            return $1;
         
     | 
| 
       935 
     | 
    
         
            -
            },
         
     | 
| 
      
 954 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"with:with:with:",{firstObject:firstObject,secondObject:secondObject,thirdObject:thirdObject}, smalltalk.Collection.klass)})},
         
     | 
| 
       936 
955 
     | 
    
         
             
            args: ["firstObject", "secondObject", "thirdObject"],
         
     | 
| 
       937 
956 
     | 
    
         
             
            source: "with: firstObject with: secondObject with: thirdObject\x0a\x09    ^self new\x0a\x09\x09add: firstObject;\x0a\x09\x09add: secondObject;\x0a\x09\x09add: thirdObject;\x0a\x09\x09yourself",
         
     | 
| 
       938 
957 
     | 
    
         
             
            messageSends: ["add:", "new", "yourself"],
         
     | 
| 
         @@ -947,13 +966,13 @@ selector: "withAll:", 
     | 
|
| 
       947 
966 
     | 
    
         
             
            category: 'instance creation',
         
     | 
| 
       948 
967 
     | 
    
         
             
            fn: function (aCollection){
         
     | 
| 
       949 
968 
     | 
    
         
             
            var self=this;
         
     | 
| 
       950 
     | 
    
         
            -
             
     | 
| 
       951 
     | 
    
         
            -
            $2= 
     | 
| 
       952 
     | 
    
         
            -
             
     | 
| 
       953 
     | 
    
         
            -
            $3= 
     | 
| 
      
 969 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 970 
     | 
    
         
            +
            $2=_st(self)._new();
         
     | 
| 
      
 971 
     | 
    
         
            +
            _st($2)._addAll_(aCollection);
         
     | 
| 
      
 972 
     | 
    
         
            +
            $3=_st($2)._yourself();
         
     | 
| 
       954 
973 
     | 
    
         
             
            $1=$3;
         
     | 
| 
       955 
974 
     | 
    
         
             
            return $1;
         
     | 
| 
       956 
     | 
    
         
            -
            },
         
     | 
| 
      
 975 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"withAll:",{aCollection:aCollection}, smalltalk.Collection.klass)})},
         
     | 
| 
       957 
976 
     | 
    
         
             
            args: ["aCollection"],
         
     | 
| 
       958 
977 
     | 
    
         
             
            source: "withAll: aCollection\x0a\x09    ^self new\x0a\x09\x09addAll: aCollection;\x0a\x09\x09yourself",
         
     | 
| 
       959 
978 
     | 
    
         
             
            messageSends: ["addAll:", "new", "yourself"],
         
     | 
| 
         @@ -971,8 +990,8 @@ selector: ",", 
     | 
|
| 
       971 
990 
     | 
    
         
             
            category: 'copying',
         
     | 
| 
       972 
991 
     | 
    
         
             
            fn: function (aCollection){
         
     | 
| 
       973 
992 
     | 
    
         
             
            var self=this;
         
     | 
| 
       974 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       975 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 993 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 994 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,",",{aCollection:aCollection}, smalltalk.HashedCollection)})},
         
     | 
| 
       976 
995 
     | 
    
         
             
            args: ["aCollection"],
         
     | 
| 
       977 
996 
     | 
    
         
             
            source: ", aCollection\x0a\x09self shouldNotImplement",
         
     | 
| 
       978 
997 
     | 
    
         
             
            messageSends: ["shouldNotImplement"],
         
     | 
| 
         @@ -987,18 +1006,18 @@ selector: "=", 
     | 
|
| 
       987 
1006 
     | 
    
         
             
            category: 'comparing',
         
     | 
| 
       988 
1007 
     | 
    
         
             
            fn: function (aHashedCollection){
         
     | 
| 
       989 
1008 
     | 
    
         
             
            var self=this;
         
     | 
| 
       990 
     | 
    
         
            -
             
     | 
| 
       991 
     | 
    
         
            -
            $1= 
     | 
| 
      
 1009 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1010 
     | 
    
         
            +
            $1=_st(_st(self)._class()).__eq(_st(aHashedCollection)._class());
         
     | 
| 
       992 
1011 
     | 
    
         
             
            if(! smalltalk.assert($1)){
         
     | 
| 
       993 
1012 
     | 
    
         
             
            return false;
         
     | 
| 
       994 
1013 
     | 
    
         
             
            };
         
     | 
| 
       995 
     | 
    
         
            -
            $2= 
     | 
| 
      
 1014 
     | 
    
         
            +
            $2=_st(_st(self)._size()).__eq(_st(aHashedCollection)._size());
         
     | 
| 
       996 
1015 
     | 
    
         
             
            if(! smalltalk.assert($2)){
         
     | 
| 
       997 
1016 
     | 
    
         
             
            return false;
         
     | 
| 
       998 
1017 
     | 
    
         
             
            };
         
     | 
| 
       999 
     | 
    
         
            -
            $3= 
     | 
| 
      
 1018 
     | 
    
         
            +
            $3=_st(_st(self)._associations()).__eq(_st(aHashedCollection)._associations());
         
     | 
| 
       1000 
1019 
     | 
    
         
             
            return $3;
         
     | 
| 
       1001 
     | 
    
         
            -
            },
         
     | 
| 
      
 1020 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"=",{aHashedCollection:aHashedCollection}, smalltalk.HashedCollection)})},
         
     | 
| 
       1002 
1021 
     | 
    
         
             
            args: ["aHashedCollection"],
         
     | 
| 
       1003 
1022 
     | 
    
         
             
            source: "= aHashedCollection\x0a\x09self class = aHashedCollection class ifFalse: [^false].\x0a\x09self size = aHashedCollection size ifFalse: [^false].\x0a\x09^self associations = aHashedCollection associations",
         
     | 
| 
       1004 
1023 
     | 
    
         
             
            messageSends: ["ifFalse:", "=", "class", "size", "associations"],
         
     | 
| 
         @@ -1013,8 +1032,8 @@ selector: "add:", 
     | 
|
| 
       1013 
1032 
     | 
    
         
             
            category: 'adding/removing',
         
     | 
| 
       1014 
1033 
     | 
    
         
             
            fn: function (anAssociation){
         
     | 
| 
       1015 
1034 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1016 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       1017 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 1035 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1036 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"add:",{anAssociation:anAssociation}, smalltalk.HashedCollection)})},
         
     | 
| 
       1018 
1037 
     | 
    
         
             
            args: ["anAssociation"],
         
     | 
| 
       1019 
1038 
     | 
    
         
             
            source: "add: anAssociation\x0a\x09self at: anAssociation key put: anAssociation value",
         
     | 
| 
       1020 
1039 
     | 
    
         
             
            messageSends: ["at:put:", "key", "value"],
         
     | 
| 
         @@ -1029,9 +1048,11 @@ selector: "addAll:", 
     | 
|
| 
       1029 
1048 
     | 
    
         
             
            category: 'adding/removing',
         
     | 
| 
       1030 
1049 
     | 
    
         
             
            fn: function (aHashedCollection){
         
     | 
| 
       1031 
1050 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1032 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       1033 
     | 
    
         
            -
             
     | 
| 
       1034 
     | 
    
         
            -
             
     | 
| 
      
 1051 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1052 
     | 
    
         
            +
            smalltalk.Collection.fn.prototype._addAll_.apply(_st(self), [_st(aHashedCollection)._associations()]);
         
     | 
| 
      
 1053 
     | 
    
         
            +
            $1=aHashedCollection;
         
     | 
| 
      
 1054 
     | 
    
         
            +
            return $1;
         
     | 
| 
      
 1055 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"addAll:",{aHashedCollection:aHashedCollection}, smalltalk.HashedCollection)})},
         
     | 
| 
       1035 
1056 
     | 
    
         
             
            args: ["aHashedCollection"],
         
     | 
| 
       1036 
1057 
     | 
    
         
             
            source: "addAll: aHashedCollection\x0a\x09super addAll: aHashedCollection associations.\x0a\x09^aHashedCollection",
         
     | 
| 
       1037 
1058 
     | 
    
         
             
            messageSends: ["addAll:", "associations"],
         
     | 
| 
         @@ -1046,10 +1067,10 @@ selector: "asDictionary", 
     | 
|
| 
       1046 
1067 
     | 
    
         
             
            category: 'converting',
         
     | 
| 
       1047 
1068 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       1048 
1069 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1049 
     | 
    
         
            -
             
     | 
| 
       1050 
     | 
    
         
            -
            $1= 
     | 
| 
      
 1070 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1071 
     | 
    
         
            +
            $1=_st((smalltalk.Dictionary || Dictionary))._fromPairs_(_st(self)._associations());
         
     | 
| 
       1051 
1072 
     | 
    
         
             
            return $1;
         
     | 
| 
       1052 
     | 
    
         
            -
            },
         
     | 
| 
      
 1073 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"asDictionary",{}, smalltalk.HashedCollection)})},
         
     | 
| 
       1053 
1074 
     | 
    
         
             
            args: [],
         
     | 
| 
       1054 
1075 
     | 
    
         
             
            source: "asDictionary\x0a\x09^Dictionary fromPairs: self associations",
         
     | 
| 
       1055 
1076 
     | 
    
         
             
            messageSends: ["fromPairs:", "associations"],
         
     | 
| 
         @@ -1065,12 +1086,14 @@ category: 'converting', 
     | 
|
| 
       1065 
1086 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       1066 
1087 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1067 
1088 
     | 
    
         
             
            var c;
         
     | 
| 
       1068 
     | 
    
         
            -
             
     | 
| 
       1069 
     | 
    
         
            -
             
     | 
| 
       1070 
     | 
    
         
            -
             
     | 
| 
       1071 
     | 
    
         
            -
             
     | 
| 
       1072 
     | 
    
         
            -
             
     | 
| 
       1073 
     | 
    
         
            -
             
     | 
| 
      
 1089 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1090 
     | 
    
         
            +
            c=_st(_st(self)._class())._new();
         
     | 
| 
      
 1091 
     | 
    
         
            +
            _st(self)._keysAndValuesDo_((function(key,value){
         
     | 
| 
      
 1092 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 1093 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1)})}));
         
     | 
| 
      
 1094 
     | 
    
         
            +
            $1=c;
         
     | 
| 
      
 1095 
     | 
    
         
            +
            return $1;
         
     | 
| 
      
 1096 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"asJSON",{c:c}, smalltalk.HashedCollection)})},
         
     | 
| 
       1074 
1097 
     | 
    
         
             
            args: [],
         
     | 
| 
       1075 
1098 
     | 
    
         
             
            source: "asJSON\x0a\x09| c |\x0a\x09c := self class new.\x0a\x09self keysAndValuesDo: [:key :value |\x0a\x09\x09c at: key put: value asJSON].\x0a\x09^c",
         
     | 
| 
       1076 
1099 
     | 
    
         
             
            messageSends: ["new", "class", "keysAndValuesDo:", "at:put:", "asJSON"],
         
     | 
| 
         @@ -1086,12 +1109,14 @@ category: 'accessing', 
     | 
|
| 
       1086 
1109 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       1087 
1110 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1088 
1111 
     | 
    
         
             
            var associations;
         
     | 
| 
      
 1112 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
       1089 
1113 
     | 
    
         
             
            associations=[];
         
     | 
| 
       1090 
     | 
    
         
            -
             
     | 
| 
       1091 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       1092 
     | 
    
         
            -
            }) 
     | 
| 
       1093 
     | 
    
         
            -
             
     | 
| 
       1094 
     | 
    
         
            -
             
     | 
| 
      
 1114 
     | 
    
         
            +
            _st(_st(self)._keys())._do_((function(each){
         
     | 
| 
      
 1115 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 1116 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
         
     | 
| 
      
 1117 
     | 
    
         
            +
            $1=associations;
         
     | 
| 
      
 1118 
     | 
    
         
            +
            return $1;
         
     | 
| 
      
 1119 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"associations",{associations:associations}, smalltalk.HashedCollection)})},
         
     | 
| 
       1095 
1120 
     | 
    
         
             
            args: [],
         
     | 
| 
       1096 
1121 
     | 
    
         
             
            source: "associations\x0a\x09| associations |\x0a\x09associations := #().\x0a\x09self keys do: [:each |\x0a\x09    associations add: (Association key: each value: (self at: each))].\x0a\x09^associations",
         
     | 
| 
       1097 
1122 
     | 
    
         
             
            messageSends: ["do:", "add:", "key:value:", "at:", "keys"],
         
     | 
| 
         @@ -1106,8 +1131,8 @@ selector: "associationsDo:", 
     | 
|
| 
       1106 
1131 
     | 
    
         
             
            category: 'enumerating',
         
     | 
| 
       1107 
1132 
     | 
    
         
             
            fn: function (aBlock){
         
     | 
| 
       1108 
1133 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1109 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       1110 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 1134 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1135 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"associationsDo:",{aBlock:aBlock}, smalltalk.HashedCollection)})},
         
     | 
| 
       1111 
1136 
     | 
    
         
             
            args: ["aBlock"],
         
     | 
| 
       1112 
1137 
     | 
    
         
             
            source: "associationsDo: aBlock\x0a\x09self associations do: aBlock",
         
     | 
| 
       1113 
1138 
     | 
    
         
             
            messageSends: ["do:", "associations"],
         
     | 
| 
         @@ -1122,12 +1147,12 @@ selector: "at:", 
     | 
|
| 
       1122 
1147 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       1123 
1148 
     | 
    
         
             
            fn: function (aKey){
         
     | 
| 
       1124 
1149 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1125 
     | 
    
         
            -
             
     | 
| 
       1126 
     | 
    
         
            -
            $1= 
     | 
| 
       1127 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       1128 
     | 
    
         
            -
            }) 
     | 
| 
      
 1150 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1151 
     | 
    
         
            +
            $1=_st(self)._at_ifAbsent_(aKey,(function(){
         
     | 
| 
      
 1152 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 1153 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
         
     | 
| 
       1129 
1154 
     | 
    
         
             
            return $1;
         
     | 
| 
       1130 
     | 
    
         
            -
            },
         
     | 
| 
      
 1155 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"at:",{aKey:aKey}, smalltalk.HashedCollection)})},
         
     | 
| 
       1131 
1156 
     | 
    
         
             
            args: ["aKey"],
         
     | 
| 
       1132 
1157 
     | 
    
         
             
            source: "at: aKey\x0a\x09^self at: aKey ifAbsent: [self errorNotFound]",
         
     | 
| 
       1133 
1158 
     | 
    
         
             
            messageSends: ["at:ifAbsent:", "errorNotFound"],
         
     | 
| 
         @@ -1142,13 +1167,13 @@ selector: "at:ifAbsent:", 
     | 
|
| 
       1142 
1167 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       1143 
1168 
     | 
    
         
             
            fn: function (aKey,aBlock){
         
     | 
| 
       1144 
1169 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1145 
     | 
    
         
            -
             
     | 
| 
       1146 
     | 
    
         
            -
            $2= 
     | 
| 
       1147 
     | 
    
         
            -
            $1= 
     | 
| 
       1148 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       1149 
     | 
    
         
            -
            }),aBlock 
     | 
| 
      
 1170 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1171 
     | 
    
         
            +
            $2=_st(self)._includesKey_(aKey);
         
     | 
| 
      
 1172 
     | 
    
         
            +
            $1=_st($2)._ifTrue_ifFalse_((function(){
         
     | 
| 
      
 1173 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 1174 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),aBlock);
         
     | 
| 
       1150 
1175 
     | 
    
         
             
            return $1;
         
     | 
| 
       1151 
     | 
    
         
            -
            },
         
     | 
| 
      
 1176 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"at:ifAbsent:",{aKey:aKey,aBlock:aBlock}, smalltalk.HashedCollection)})},
         
     | 
| 
       1152 
1177 
     | 
    
         
             
            args: ["aKey", "aBlock"],
         
     | 
| 
       1153 
1178 
     | 
    
         
             
            source: "at: aKey ifAbsent: aBlock\x0a\x09^(self includesKey: aKey)\x0a\x09\x09ifTrue: [self basicAt: aKey]\x0a\x09\x09ifFalse: aBlock",
         
     | 
| 
       1154 
1179 
     | 
    
         
             
            messageSends: ["ifTrue:ifFalse:", "basicAt:", "includesKey:"],
         
     | 
| 
         @@ -1163,12 +1188,12 @@ selector: "at:ifAbsentPut:", 
     | 
|
| 
       1163 
1188 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       1164 
1189 
     | 
    
         
             
            fn: function (aKey,aBlock){
         
     | 
| 
       1165 
1190 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1166 
     | 
    
         
            -
             
     | 
| 
       1167 
     | 
    
         
            -
            $1= 
     | 
| 
       1168 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       1169 
     | 
    
         
            -
            }) 
     | 
| 
      
 1191 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1192 
     | 
    
         
            +
            $1=_st(self)._at_ifAbsent_(aKey,(function(){
         
     | 
| 
      
 1193 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 1194 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
         
     | 
| 
       1170 
1195 
     | 
    
         
             
            return $1;
         
     | 
| 
       1171 
     | 
    
         
            -
            },
         
     | 
| 
      
 1196 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"at:ifAbsentPut:",{aKey:aKey,aBlock:aBlock}, smalltalk.HashedCollection)})},
         
     | 
| 
       1172 
1197 
     | 
    
         
             
            args: ["aKey", "aBlock"],
         
     | 
| 
       1173 
1198 
     | 
    
         
             
            source: "at: aKey ifAbsentPut: aBlock\x0a\x09^self at: aKey ifAbsent: [\x0a\x09    self at: aKey put: aBlock value]",
         
     | 
| 
       1174 
1199 
     | 
    
         
             
            messageSends: ["at:ifAbsent:", "at:put:", "value"],
         
     | 
| 
         @@ -1183,15 +1208,15 @@ selector: "at:ifPresent:", 
     | 
|
| 
       1183 
1208 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       1184 
1209 
     | 
    
         
             
            fn: function (aKey,aBlock){
         
     | 
| 
       1185 
1210 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1186 
     | 
    
         
            -
             
     | 
| 
       1187 
     | 
    
         
            -
            $2= 
     | 
| 
      
 1211 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1212 
     | 
    
         
            +
            $2=_st(self)._includesKey_(aKey);
         
     | 
| 
       1188 
1213 
     | 
    
         
             
            if(smalltalk.assert($2)){
         
     | 
| 
       1189 
     | 
    
         
            -
            $1= 
     | 
| 
      
 1214 
     | 
    
         
            +
            $1=_st(aBlock)._value_(_st(self)._at_(aKey));
         
     | 
| 
       1190 
1215 
     | 
    
         
             
            } else {
         
     | 
| 
       1191 
1216 
     | 
    
         
             
            $1=nil;
         
     | 
| 
       1192 
1217 
     | 
    
         
             
            };
         
     | 
| 
       1193 
1218 
     | 
    
         
             
            return $1;
         
     | 
| 
       1194 
     | 
    
         
            -
            },
         
     | 
| 
      
 1219 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"at:ifPresent:",{aKey:aKey,aBlock:aBlock}, smalltalk.HashedCollection)})},
         
     | 
| 
       1195 
1220 
     | 
    
         
             
            args: ["aKey", "aBlock"],
         
     | 
| 
       1196 
1221 
     | 
    
         
             
            source: "at: aKey ifPresent: aBlock\x0a\x09\x22Lookup the given key in the receiver. \x0a\x09If it is present, answer the value of evaluating the given block with the value associated with the key. \x0a\x09Otherwise, answer nil.\x22\x0a\x09^(self includesKey: aKey)\x0a\x09\x09ifTrue: [ aBlock value: (self at: aKey) ]\x0a\x09\x09ifFalse: [ nil ]",
         
     | 
| 
       1197 
1222 
     | 
    
         
             
            messageSends: ["ifTrue:ifFalse:", "value:", "at:", "includesKey:"],
         
     | 
| 
         @@ -1206,13 +1231,13 @@ selector: "at:ifPresent:ifAbsent:", 
     | 
|
| 
       1206 
1231 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       1207 
1232 
     | 
    
         
             
            fn: function (aKey,aBlock,anotherBlock){
         
     | 
| 
       1208 
1233 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1209 
     | 
    
         
            -
             
     | 
| 
       1210 
     | 
    
         
            -
            $2= 
     | 
| 
       1211 
     | 
    
         
            -
            $1= 
     | 
| 
       1212 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       1213 
     | 
    
         
            -
            }),anotherBlock 
     | 
| 
      
 1234 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1235 
     | 
    
         
            +
            $2=_st(self)._includesKey_(aKey);
         
     | 
| 
      
 1236 
     | 
    
         
            +
            $1=_st($2)._ifTrue_ifFalse_((function(){
         
     | 
| 
      
 1237 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 1238 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),anotherBlock);
         
     | 
| 
       1214 
1239 
     | 
    
         
             
            return $1;
         
     | 
| 
       1215 
     | 
    
         
            -
            },
         
     | 
| 
      
 1240 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"at:ifPresent:ifAbsent:",{aKey:aKey,aBlock:aBlock,anotherBlock:anotherBlock}, smalltalk.HashedCollection)})},
         
     | 
| 
       1216 
1241 
     | 
    
         
             
            args: ["aKey", "aBlock", "anotherBlock"],
         
     | 
| 
       1217 
1242 
     | 
    
         
             
            source: "at: aKey ifPresent: aBlock ifAbsent: anotherBlock\x0a\x09\x22Lookup the given key in the receiver. \x0a\x09If it is present, answer the value of evaluating the oneArgBlock with the value associated with the key, \x0a\x09otherwise answer the value of absentBlock.\x22\x0a\x09^(self includesKey: aKey)\x0a\x09\x09ifTrue: [ aBlock value: (self at: aKey) ]\x0a\x09\x09ifFalse: anotherBlock",
         
     | 
| 
       1218 
1243 
     | 
    
         
             
            messageSends: ["ifTrue:ifFalse:", "value:", "at:", "includesKey:"],
         
     | 
| 
         @@ -1227,10 +1252,10 @@ selector: "at:put:", 
     | 
|
| 
       1227 
1252 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       1228 
1253 
     | 
    
         
             
            fn: function (aKey,aValue){
         
     | 
| 
       1229 
1254 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1230 
     | 
    
         
            -
             
     | 
| 
       1231 
     | 
    
         
            -
            $1= 
     | 
| 
      
 1255 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1256 
     | 
    
         
            +
            $1=_st(self)._basicAt_put_(aKey,aValue);
         
     | 
| 
       1232 
1257 
     | 
    
         
             
            return $1;
         
     | 
| 
       1233 
     | 
    
         
            -
            },
         
     | 
| 
      
 1258 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"at:put:",{aKey:aKey,aValue:aValue}, smalltalk.HashedCollection)})},
         
     | 
| 
       1234 
1259 
     | 
    
         
             
            args: ["aKey", "aValue"],
         
     | 
| 
       1235 
1260 
     | 
    
         
             
            source: "at: aKey put: aValue\x0a\x09^self basicAt: aKey put: aValue",
         
     | 
| 
       1236 
1261 
     | 
    
         
             
            messageSends: ["basicAt:put:"],
         
     | 
| 
         @@ -1246,12 +1271,14 @@ category: 'enumerating', 
     | 
|
| 
       1246 
1271 
     | 
    
         
             
            fn: function (aBlock){
         
     | 
| 
       1247 
1272 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1248 
1273 
     | 
    
         
             
            var newDict;
         
     | 
| 
       1249 
     | 
    
         
            -
             
     | 
| 
       1250 
     | 
    
         
            -
             
     | 
| 
       1251 
     | 
    
         
            -
             
     | 
| 
       1252 
     | 
    
         
            -
             
     | 
| 
       1253 
     | 
    
         
            -
             
     | 
| 
       1254 
     | 
    
         
            -
             
     | 
| 
      
 1274 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1275 
     | 
    
         
            +
            newDict=_st(_st(self)._class())._new();
         
     | 
| 
      
 1276 
     | 
    
         
            +
            _st(self)._keysAndValuesDo_((function(key,value){
         
     | 
| 
      
 1277 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 1278 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1)})}));
         
     | 
| 
      
 1279 
     | 
    
         
            +
            $1=newDict;
         
     | 
| 
      
 1280 
     | 
    
         
            +
            return $1;
         
     | 
| 
      
 1281 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"collect:",{aBlock:aBlock,newDict:newDict}, smalltalk.HashedCollection)})},
         
     | 
| 
       1255 
1282 
     | 
    
         
             
            args: ["aBlock"],
         
     | 
| 
       1256 
1283 
     | 
    
         
             
            source: "collect: aBlock\x0a\x09| newDict |\x0a\x09newDict := self class new.\x0a\x09self keysAndValuesDo: [:key :value |\x0a\x09    newDict at: key put: (aBlock value: value)].\x0a\x09^newDict",
         
     | 
| 
       1257 
1284 
     | 
    
         
             
            messageSends: ["new", "class", "keysAndValuesDo:", "at:put:", "value:"],
         
     | 
| 
         @@ -1266,8 +1293,8 @@ selector: "copyFrom:to:", 
     | 
|
| 
       1266 
1293 
     | 
    
         
             
            category: 'copying',
         
     | 
| 
       1267 
1294 
     | 
    
         
             
            fn: function (anIndex,anotherIndex){
         
     | 
| 
       1268 
1295 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1269 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       1270 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 1296 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1297 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"copyFrom:to:",{anIndex:anIndex,anotherIndex:anotherIndex}, smalltalk.HashedCollection)})},
         
     | 
| 
       1271 
1298 
     | 
    
         
             
            args: ["anIndex", "anotherIndex"],
         
     | 
| 
       1272 
1299 
     | 
    
         
             
            source: "copyFrom: anIndex to: anotherIndex\x0a\x09self shouldNotImplement",
         
     | 
| 
       1273 
1300 
     | 
    
         
             
            messageSends: ["shouldNotImplement"],
         
     | 
| 
         @@ -1283,12 +1310,14 @@ category: 'copying', 
     | 
|
| 
       1283 
1310 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       1284 
1311 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1285 
1312 
     | 
    
         
             
            var copy;
         
     | 
| 
       1286 
     | 
    
         
            -
             
     | 
| 
       1287 
     | 
    
         
            -
             
     | 
| 
       1288 
     | 
    
         
            -
             
     | 
| 
       1289 
     | 
    
         
            -
             
     | 
| 
       1290 
     | 
    
         
            -
             
     | 
| 
       1291 
     | 
    
         
            -
             
     | 
| 
      
 1313 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1314 
     | 
    
         
            +
            copy=_st(_st(self)._class())._new();
         
     | 
| 
      
 1315 
     | 
    
         
            +
            _st(self)._associationsDo_((function(each){
         
     | 
| 
      
 1316 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 1317 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
         
     | 
| 
      
 1318 
     | 
    
         
            +
            $1=copy;
         
     | 
| 
      
 1319 
     | 
    
         
            +
            return $1;
         
     | 
| 
      
 1320 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"deepCopy",{copy:copy}, smalltalk.HashedCollection)})},
         
     | 
| 
       1292 
1321 
     | 
    
         
             
            args: [],
         
     | 
| 
       1293 
1322 
     | 
    
         
             
            source: "deepCopy\x0a\x09| copy |\x0a\x09copy := self class new.\x0a\x09self associationsDo: [:each |\x0a\x09    copy at: each key  put: each value deepCopy].\x0a\x09^copy",
         
     | 
| 
       1294 
1323 
     | 
    
         
             
            messageSends: ["new", "class", "associationsDo:", "at:put:", "key", "deepCopy", "value"],
         
     | 
| 
         @@ -1303,10 +1332,10 @@ selector: "detect:ifNone:", 
     | 
|
| 
       1303 
1332 
     | 
    
         
             
            category: 'enumerating',
         
     | 
| 
       1304 
1333 
     | 
    
         
             
            fn: function (aBlock,anotherBlock){
         
     | 
| 
       1305 
1334 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1306 
     | 
    
         
            -
             
     | 
| 
       1307 
     | 
    
         
            -
            $1= 
     | 
| 
      
 1335 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1336 
     | 
    
         
            +
            $1=_st(_st(self)._values())._detect_ifNone_(aBlock,anotherBlock);
         
     | 
| 
       1308 
1337 
     | 
    
         
             
            return $1;
         
     | 
| 
       1309 
     | 
    
         
            -
            },
         
     | 
| 
      
 1338 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"detect:ifNone:",{aBlock:aBlock,anotherBlock:anotherBlock}, smalltalk.HashedCollection)})},
         
     | 
| 
       1310 
1339 
     | 
    
         
             
            args: ["aBlock", "anotherBlock"],
         
     | 
| 
       1311 
1340 
     | 
    
         
             
            source: "detect: aBlock ifNone: anotherBlock\x0a\x09^self values detect: aBlock ifNone: anotherBlock",
         
     | 
| 
       1312 
1341 
     | 
    
         
             
            messageSends: ["detect:ifNone:", "values"],
         
     | 
| 
         @@ -1321,8 +1350,8 @@ selector: "do:", 
     | 
|
| 
       1321 
1350 
     | 
    
         
             
            category: 'enumerating',
         
     | 
| 
       1322 
1351 
     | 
    
         
             
            fn: function (aBlock){
         
     | 
| 
       1323 
1352 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1324 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       1325 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 1353 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1354 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"do:",{aBlock:aBlock}, smalltalk.HashedCollection)})},
         
     | 
| 
       1326 
1355 
     | 
    
         
             
            args: ["aBlock"],
         
     | 
| 
       1327 
1356 
     | 
    
         
             
            source: "do: aBlock\x0a\x09self values do: aBlock",
         
     | 
| 
       1328 
1357 
     | 
    
         
             
            messageSends: ["do:", "values"],
         
     | 
| 
         @@ -1337,10 +1366,10 @@ selector: "includes:", 
     | 
|
| 
       1337 
1366 
     | 
    
         
             
            category: 'enumerating',
         
     | 
| 
       1338 
1367 
     | 
    
         
             
            fn: function (anObject){
         
     | 
| 
       1339 
1368 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1340 
     | 
    
         
            -
             
     | 
| 
       1341 
     | 
    
         
            -
            $1= 
     | 
| 
      
 1369 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1370 
     | 
    
         
            +
            $1=_st(_st(self)._values())._includes_(anObject);
         
     | 
| 
       1342 
1371 
     | 
    
         
             
            return $1;
         
     | 
| 
       1343 
     | 
    
         
            -
            },
         
     | 
| 
      
 1372 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"includes:",{anObject:anObject}, smalltalk.HashedCollection)})},
         
     | 
| 
       1344 
1373 
     | 
    
         
             
            args: ["anObject"],
         
     | 
| 
       1345 
1374 
     | 
    
         
             
            source: "includes: anObject\x0a\x09^self values includes: anObject",
         
     | 
| 
       1346 
1375 
     | 
    
         
             
            messageSends: ["includes:", "values"],
         
     | 
| 
         @@ -1355,9 +1384,8 @@ selector: "includesKey:", 
     | 
|
| 
       1355 
1384 
     | 
    
         
             
            category: 'testing',
         
     | 
| 
       1356 
1385 
     | 
    
         
             
            fn: function (aKey){
         
     | 
| 
       1357 
1386 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1358 
     | 
    
         
            -
            return  
     | 
| 
       1359 
     | 
    
         
            -
             
     | 
| 
       1360 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 1387 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1388 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"includesKey:",{aKey:aKey}, smalltalk.HashedCollection)})},
         
     | 
| 
       1361 
1389 
     | 
    
         
             
            args: ["aKey"],
         
     | 
| 
       1362 
1390 
     | 
    
         
             
            source: "includesKey: aKey\x0a\x09<return self.hasOwnProperty(aKey)>",
         
     | 
| 
       1363 
1391 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -1372,7 +1400,7 @@ selector: "keys", 
     | 
|
| 
       1372 
1400 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       1373 
1401 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       1374 
1402 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1375 
     | 
    
         
            -
             
     | 
| 
      
 1403 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
       1376 
1404 
     | 
    
         
             
            		if ('function'===typeof Object.keys) return Object.keys(self);
         
     | 
| 
       1377 
1405 
     | 
    
         
             
            		var keys = [];
         
     | 
| 
       1378 
1406 
     | 
    
         
             
            		for(var i in self) {
         
     | 
| 
         @@ -1382,8 +1410,7 @@ var self=this; 
     | 
|
| 
       1382 
1410 
     | 
    
         
             
            		};
         
     | 
| 
       1383 
1411 
     | 
    
         
             
            		return keys;
         
     | 
| 
       1384 
1412 
     | 
    
         
             
            	;
         
     | 
| 
       1385 
     | 
    
         
            -
             
     | 
| 
       1386 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 1413 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"keys",{}, smalltalk.HashedCollection)})},
         
     | 
| 
       1387 
1414 
     | 
    
         
             
            args: [],
         
     | 
| 
       1388 
1415 
     | 
    
         
             
            source: "keys\x0a\x09<\x0a\x09\x09if ('function'===typeof Object.keys) return Object.keys(self);\x0a\x09\x09var keys = [];\x0a\x09\x09for(var i in self) {\x0a\x09\x09\x09if(self.hasOwnProperty(i)) {\x0a\x09\x09\x09\x09keys.push(i);\x0a\x09\x09\x09}\x0a\x09\x09};\x0a\x09\x09return keys;\x0a\x09>",
         
     | 
| 
       1389 
1416 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -1398,10 +1425,10 @@ selector: "keysAndValuesDo:", 
     | 
|
| 
       1398 
1425 
     | 
    
         
             
            category: 'enumerating',
         
     | 
| 
       1399 
1426 
     | 
    
         
             
            fn: function (aBlock){
         
     | 
| 
       1400 
1427 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1401 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       1402 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       1403 
     | 
    
         
            -
            }) 
     | 
| 
       1404 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 1428 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1429 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 1430 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
         
     | 
| 
      
 1431 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"keysAndValuesDo:",{aBlock:aBlock}, smalltalk.HashedCollection)})},
         
     | 
| 
       1405 
1432 
     | 
    
         
             
            args: ["aBlock"],
         
     | 
| 
       1406 
1433 
     | 
    
         
             
            source: "keysAndValuesDo: aBlock\x0a\x09self associationsDo: [:each |\x0a\x09    aBlock value: each key value: each value]",
         
     | 
| 
       1407 
1434 
     | 
    
         
             
            messageSends: ["associationsDo:", "value:value:", "key", "value"],
         
     | 
| 
         @@ -1416,18 +1443,18 @@ selector: "printString", 
     | 
|
| 
       1416 
1443 
     | 
    
         
             
            category: 'printing',
         
     | 
| 
       1417 
1444 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       1418 
1445 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1419 
     | 
    
         
            -
             
     | 
| 
       1420 
     | 
    
         
            -
            $1= 
     | 
| 
       1421 
     | 
    
         
            -
             
     | 
| 
       1422 
     | 
    
         
            -
             
     | 
| 
       1423 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       1424 
     | 
    
         
            -
            }),(function(){
         
     | 
| 
       1425 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       1426 
     | 
    
         
            -
            }) 
     | 
| 
       1427 
     | 
    
         
            -
            return  
     | 
| 
       1428 
     | 
    
         
            -
            }) 
     | 
| 
       1429 
     | 
    
         
            -
            return $1;
         
     | 
| 
       1430 
     | 
    
         
            -
            },
         
     | 
| 
      
 1446 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1447 
     | 
    
         
            +
            $1=_st((smalltalk.String || String))._streamContents_((function(aStream){
         
     | 
| 
      
 1448 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 1449 
     | 
    
         
            +
            _st(_st(self)._associations())._do_separatedBy_((function(each){
         
     | 
| 
      
 1450 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx3) {
         
     | 
| 
      
 1451 
     | 
    
         
            +
            }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}),(function(){
         
     | 
| 
      
 1452 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx3) {
         
     | 
| 
      
 1453 
     | 
    
         
            +
            }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
         
     | 
| 
      
 1454 
     | 
    
         
            +
            return _st(aStream)._nextPutAll_(")");
         
     | 
| 
      
 1455 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({aStream:aStream},$ctx1)})}));
         
     | 
| 
      
 1456 
     | 
    
         
            +
            return $1;
         
     | 
| 
      
 1457 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"printString",{}, smalltalk.HashedCollection)})},
         
     | 
| 
       1431 
1458 
     | 
    
         
             
            args: [],
         
     | 
| 
       1432 
1459 
     | 
    
         
             
            source: "printString\x0a\x09\x22print the contents of the HashedCollection into a string and return the string\x22\x0a\x09^String streamContents: [:aStream |\x0a\x09\x09aStream nextPutAll: 'a ', self class name, '('.\x0a\x09\x09self associations\x0a\x09\x09\x09do: [:each | each storeOn: aStream]\x0a\x09\x09\x09separatedBy: [ aStream nextPutAll: ' , '].\x0a\x09\x09aStream nextPutAll: ')']",
         
     | 
| 
       1433 
1460 
     | 
    
         
             
            messageSends: ["streamContents:", "nextPutAll:", ",", "name", "class", "do:separatedBy:", "storeOn:", "associations"],
         
     | 
| 
         @@ -1442,10 +1469,10 @@ selector: "remove:ifAbsent:", 
     | 
|
| 
       1442 
1469 
     | 
    
         
             
            category: 'adding/removing',
         
     | 
| 
       1443 
1470 
     | 
    
         
             
            fn: function (aKey,aBlock){
         
     | 
| 
       1444 
1471 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1445 
     | 
    
         
            -
             
     | 
| 
       1446 
     | 
    
         
            -
            $1= 
     | 
| 
      
 1472 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1473 
     | 
    
         
            +
            $1=_st(self)._removeKey_ifAbsent_(aKey,aBlock);
         
     | 
| 
       1447 
1474 
     | 
    
         
             
            return $1;
         
     | 
| 
       1448 
     | 
    
         
            -
            },
         
     | 
| 
      
 1475 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"remove:ifAbsent:",{aKey:aKey,aBlock:aBlock}, smalltalk.HashedCollection)})},
         
     | 
| 
       1449 
1476 
     | 
    
         
             
            args: ["aKey", "aBlock"],
         
     | 
| 
       1450 
1477 
     | 
    
         
             
            source: "remove: aKey ifAbsent: aBlock\x0a    ^self removeKey: aKey ifAbsent: aBlock",
         
     | 
| 
       1451 
1478 
     | 
    
         
             
            messageSends: ["removeKey:ifAbsent:"],
         
     | 
| 
         @@ -1460,10 +1487,10 @@ selector: "removeKey:", 
     | 
|
| 
       1460 
1487 
     | 
    
         
             
            category: 'adding/removing',
         
     | 
| 
       1461 
1488 
     | 
    
         
             
            fn: function (aKey){
         
     | 
| 
       1462 
1489 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1463 
     | 
    
         
            -
             
     | 
| 
       1464 
     | 
    
         
            -
            $1= 
     | 
| 
      
 1490 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1491 
     | 
    
         
            +
            $1=_st(self)._remove_(aKey);
         
     | 
| 
       1465 
1492 
     | 
    
         
             
            return $1;
         
     | 
| 
       1466 
     | 
    
         
            -
            },
         
     | 
| 
      
 1493 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"removeKey:",{aKey:aKey}, smalltalk.HashedCollection)})},
         
     | 
| 
       1467 
1494 
     | 
    
         
             
            args: ["aKey"],
         
     | 
| 
       1468 
1495 
     | 
    
         
             
            source: "removeKey: aKey\x0a    ^self remove: aKey",
         
     | 
| 
       1469 
1496 
     | 
    
         
             
            messageSends: ["remove:"],
         
     | 
| 
         @@ -1478,15 +1505,15 @@ selector: "removeKey:ifAbsent:", 
     | 
|
| 
       1478 
1505 
     | 
    
         
             
            category: 'adding/removing',
         
     | 
| 
       1479 
1506 
     | 
    
         
             
            fn: function (aKey,aBlock){
         
     | 
| 
       1480 
1507 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1481 
     | 
    
         
            -
             
     | 
| 
       1482 
     | 
    
         
            -
            $2= 
     | 
| 
      
 1508 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1509 
     | 
    
         
            +
            $2=_st(self)._includesKey_(aKey);
         
     | 
| 
       1483 
1510 
     | 
    
         
             
            if(smalltalk.assert($2)){
         
     | 
| 
       1484 
     | 
    
         
            -
            $1= 
     | 
| 
      
 1511 
     | 
    
         
            +
            $1=_st(self)._basicDelete_(aKey);
         
     | 
| 
       1485 
1512 
     | 
    
         
             
            } else {
         
     | 
| 
       1486 
     | 
    
         
            -
            $1= 
     | 
| 
      
 1513 
     | 
    
         
            +
            $1=_st(aBlock)._value();
         
     | 
| 
       1487 
1514 
     | 
    
         
             
            };
         
     | 
| 
       1488 
1515 
     | 
    
         
             
            return $1;
         
     | 
| 
       1489 
     | 
    
         
            -
            },
         
     | 
| 
      
 1516 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"removeKey:ifAbsent:",{aKey:aKey,aBlock:aBlock}, smalltalk.HashedCollection)})},
         
     | 
| 
       1490 
1517 
     | 
    
         
             
            args: ["aKey", "aBlock"],
         
     | 
| 
       1491 
1518 
     | 
    
         
             
            source: "removeKey: aKey ifAbsent: aBlock\x0a\x09^(self includesKey: aKey) \x0a\x09\x09ifFalse: [aBlock value]\x0a\x09\x09ifTrue: [self basicDelete: aKey]",
         
     | 
| 
       1492 
1519 
     | 
    
         
             
            messageSends: ["ifFalse:ifTrue:", "value", "basicDelete:", "includesKey:"],
         
     | 
| 
         @@ -1501,17 +1528,20 @@ selector: "select:", 
     | 
|
| 
       1501 
1528 
     | 
    
         
             
            category: 'enumerating',
         
     | 
| 
       1502 
1529 
     | 
    
         
             
            fn: function (aBlock){
         
     | 
| 
       1503 
1530 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1504 
     | 
    
         
            -
            var $1;
         
     | 
| 
       1505 
1531 
     | 
    
         
             
            var newDict;
         
     | 
| 
       1506 
     | 
    
         
            -
             
     | 
| 
       1507 
     | 
    
         
            -
             
     | 
| 
       1508 
     | 
    
         
            -
            $1= 
     | 
| 
       1509 
     | 
    
         
            -
             
     | 
| 
       1510 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
      
 1532 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1533 
     | 
    
         
            +
            newDict=_st(_st(self)._class())._new();
         
     | 
| 
      
 1534 
     | 
    
         
            +
            $1=self;
         
     | 
| 
      
 1535 
     | 
    
         
            +
            $2=(function(key,value){
         
     | 
| 
      
 1536 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 1537 
     | 
    
         
            +
            if(smalltalk.assert($3)){
         
     | 
| 
      
 1538 
     | 
    
         
            +
            return _st(newDict)._at_put_(key,value);
         
     | 
| 
       1511 
1539 
     | 
    
         
             
            };
         
     | 
| 
       1512 
     | 
    
         
            -
            }) 
     | 
| 
       1513 
     | 
    
         
            -
             
     | 
| 
       1514 
     | 
    
         
            -
             
     | 
| 
      
 1540 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1)})});
         
     | 
| 
      
 1541 
     | 
    
         
            +
            _st($1)._keysAndValuesDo_($2);
         
     | 
| 
      
 1542 
     | 
    
         
            +
            $4=newDict;
         
     | 
| 
      
 1543 
     | 
    
         
            +
            return $4;
         
     | 
| 
      
 1544 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"select:",{aBlock:aBlock,newDict:newDict}, smalltalk.HashedCollection)})},
         
     | 
| 
       1515 
1545 
     | 
    
         
             
            args: ["aBlock"],
         
     | 
| 
       1516 
1546 
     | 
    
         
             
            source: "select: aBlock\x0a\x09| newDict |\x0a\x09newDict := self class new.\x0a\x09self keysAndValuesDo: [:key :value |\x0a\x09    (aBlock value: value) ifTrue: [newDict at: key put: value]].\x0a\x09^newDict",
         
     | 
| 
       1517 
1547 
     | 
    
         
             
            messageSends: ["new", "class", "keysAndValuesDo:", "ifTrue:", "at:put:", "value:"],
         
     | 
| 
         @@ -1527,12 +1557,14 @@ category: 'copying', 
     | 
|
| 
       1527 
1557 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       1528 
1558 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1529 
1559 
     | 
    
         
             
            var copy;
         
     | 
| 
       1530 
     | 
    
         
            -
             
     | 
| 
       1531 
     | 
    
         
            -
             
     | 
| 
       1532 
     | 
    
         
            -
             
     | 
| 
       1533 
     | 
    
         
            -
             
     | 
| 
       1534 
     | 
    
         
            -
             
     | 
| 
       1535 
     | 
    
         
            -
             
     | 
| 
      
 1560 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1561 
     | 
    
         
            +
            copy=_st(_st(self)._class())._new();
         
     | 
| 
      
 1562 
     | 
    
         
            +
            _st(self)._associationsDo_((function(each){
         
     | 
| 
      
 1563 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 1564 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
         
     | 
| 
      
 1565 
     | 
    
         
            +
            $1=copy;
         
     | 
| 
      
 1566 
     | 
    
         
            +
            return $1;
         
     | 
| 
      
 1567 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"shallowCopy",{copy:copy}, smalltalk.HashedCollection)})},
         
     | 
| 
       1536 
1568 
     | 
    
         
             
            args: [],
         
     | 
| 
       1537 
1569 
     | 
    
         
             
            source: "shallowCopy\x0a\x09| copy |\x0a\x09copy := self class new.\x0a\x09self associationsDo: [:each |\x0a\x09    copy at: each key  put: each value].\x0a\x09^copy",
         
     | 
| 
       1538 
1570 
     | 
    
         
             
            messageSends: ["new", "class", "associationsDo:", "at:put:", "key", "value"],
         
     | 
| 
         @@ -1547,10 +1579,10 @@ selector: "size", 
     | 
|
| 
       1547 
1579 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       1548 
1580 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       1549 
1581 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1550 
     | 
    
         
            -
             
     | 
| 
       1551 
     | 
    
         
            -
            $1= 
     | 
| 
      
 1582 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1583 
     | 
    
         
            +
            $1=_st(_st(self)._keys())._size();
         
     | 
| 
       1552 
1584 
     | 
    
         
             
            return $1;
         
     | 
| 
       1553 
     | 
    
         
            -
            },
         
     | 
| 
      
 1585 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"size",{}, smalltalk.HashedCollection)})},
         
     | 
| 
       1554 
1586 
     | 
    
         
             
            args: [],
         
     | 
| 
       1555 
1587 
     | 
    
         
             
            source: "size\x0a\x09^self keys size",
         
     | 
| 
       1556 
1588 
     | 
    
         
             
            messageSends: ["size", "keys"],
         
     | 
| 
         @@ -1565,14 +1597,14 @@ selector: "storeOn:", 
     | 
|
| 
       1565 
1597 
     | 
    
         
             
            category: 'printing',
         
     | 
| 
       1566 
1598 
     | 
    
         
             
            fn: function (aStream){
         
     | 
| 
       1567 
1599 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1568 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       1569 
     | 
    
         
            -
             
     | 
| 
       1570 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       1571 
     | 
    
         
            -
            }),(function(){
         
     | 
| 
       1572 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       1573 
     | 
    
         
            -
            }) 
     | 
| 
       1574 
     | 
    
         
            -
             
     | 
| 
       1575 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 1600 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1601 
     | 
    
         
            +
            _st(_st(self)._associations())._do_separatedBy_((function(each){
         
     | 
| 
      
 1602 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 1603 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
         
     | 
| 
      
 1604 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 1605 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
         
     | 
| 
      
 1606 
     | 
    
         
            +
            _st(aStream)._nextPutAll_("}");
         
     | 
| 
      
 1607 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"storeOn:",{aStream:aStream}, smalltalk.HashedCollection)})},
         
     | 
| 
       1576 
1608 
     | 
    
         
             
            args: ["aStream"],
         
     | 
| 
       1577 
1609 
     | 
    
         
             
            source: "storeOn: aStream\x0a\x09aStream nextPutAll: '#{'.\x0a\x09self associations\x0a\x09\x09do: [:each | each storeOn: aStream]\x0a\x09\x09separatedBy: [ aStream nextPutAll: '. '].\x0a\x09aStream nextPutAll: '}'",
         
     | 
| 
       1578 
1610 
     | 
    
         
             
            messageSends: ["nextPutAll:", "do:separatedBy:", "storeOn:", "associations"],
         
     | 
| 
         @@ -1587,12 +1619,12 @@ selector: "values", 
     | 
|
| 
       1587 
1619 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       1588 
1620 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       1589 
1621 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1590 
     | 
    
         
            -
             
     | 
| 
       1591 
     | 
    
         
            -
            $1= 
     | 
| 
       1592 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       1593 
     | 
    
         
            -
            }) 
     | 
| 
      
 1622 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1623 
     | 
    
         
            +
            $1=_st(_st(self)._keys())._collect_((function(each){
         
     | 
| 
      
 1624 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 1625 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
         
     | 
| 
       1594 
1626 
     | 
    
         
             
            return $1;
         
     | 
| 
       1595 
     | 
    
         
            -
            },
         
     | 
| 
      
 1627 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"values",{}, smalltalk.HashedCollection)})},
         
     | 
| 
       1596 
1628 
     | 
    
         
             
            args: [],
         
     | 
| 
       1597 
1629 
     | 
    
         
             
            source: "values\x0a\x09^self keys collect: [:each | self at: each]",
         
     | 
| 
       1598 
1630 
     | 
    
         
             
            messageSends: ["collect:", "at:", "keys"],
         
     | 
| 
         @@ -1609,12 +1641,14 @@ category: 'instance creation', 
     | 
|
| 
       1609 
1641 
     | 
    
         
             
            fn: function (aCollection){
         
     | 
| 
       1610 
1642 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1611 
1643 
     | 
    
         
             
            var dict;
         
     | 
| 
       1612 
     | 
    
         
            -
             
     | 
| 
       1613 
     | 
    
         
            -
             
     | 
| 
       1614 
     | 
    
         
            -
             
     | 
| 
       1615 
     | 
    
         
            -
             
     | 
| 
       1616 
     | 
    
         
            -
             
     | 
| 
       1617 
     | 
    
         
            -
             
     | 
| 
      
 1644 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1645 
     | 
    
         
            +
            dict=_st(self)._new();
         
     | 
| 
      
 1646 
     | 
    
         
            +
            _st(aCollection)._do_((function(each){
         
     | 
| 
      
 1647 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 1648 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
         
     | 
| 
      
 1649 
     | 
    
         
            +
            $1=dict;
         
     | 
| 
      
 1650 
     | 
    
         
            +
            return $1;
         
     | 
| 
      
 1651 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"fromPairs:",{aCollection:aCollection,dict:dict}, smalltalk.HashedCollection.klass)})},
         
     | 
| 
       1618 
1652 
     | 
    
         
             
            args: ["aCollection"],
         
     | 
| 
       1619 
1653 
     | 
    
         
             
            source: "fromPairs: aCollection\x0a\x09| dict |\x0a\x09dict := self new.\x0a\x09aCollection do: [:each | dict add: each].\x0a\x09^dict",
         
     | 
| 
       1620 
1654 
     | 
    
         
             
            messageSends: ["new", "do:", "add:"],
         
     | 
| 
         @@ -1631,10 +1665,10 @@ selector: "asHashedCollection", 
     | 
|
| 
       1631 
1665 
     | 
    
         
             
            category: 'converting',
         
     | 
| 
       1632 
1666 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       1633 
1667 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1634 
     | 
    
         
            -
             
     | 
| 
       1635 
     | 
    
         
            -
            $1= 
     | 
| 
      
 1668 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1669 
     | 
    
         
            +
            $1=_st((smalltalk.HashedCollection || HashedCollection))._fromPairs_(_st(self)._associations());
         
     | 
| 
       1636 
1670 
     | 
    
         
             
            return $1;
         
     | 
| 
       1637 
     | 
    
         
            -
            },
         
     | 
| 
      
 1671 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"asHashedCollection",{}, smalltalk.Dictionary)})},
         
     | 
| 
       1638 
1672 
     | 
    
         
             
            args: [],
         
     | 
| 
       1639 
1673 
     | 
    
         
             
            source: "asHashedCollection\x0a\x09^HashedCollection fromPairs: self associations",
         
     | 
| 
       1640 
1674 
     | 
    
         
             
            messageSends: ["fromPairs:", "associations"],
         
     | 
| 
         @@ -1649,10 +1683,10 @@ selector: "asJSON", 
     | 
|
| 
       1649 
1683 
     | 
    
         
             
            category: 'converting',
         
     | 
| 
       1650 
1684 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       1651 
1685 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1652 
     | 
    
         
            -
             
     | 
| 
       1653 
     | 
    
         
            -
            $1= 
     | 
| 
      
 1686 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1687 
     | 
    
         
            +
            $1=_st(_st(self)._asHashedCollection())._asJSON();
         
     | 
| 
       1654 
1688 
     | 
    
         
             
            return $1;
         
     | 
| 
       1655 
     | 
    
         
            -
            },
         
     | 
| 
      
 1689 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"asJSON",{}, smalltalk.Dictionary)})},
         
     | 
| 
       1656 
1690 
     | 
    
         
             
            args: [],
         
     | 
| 
       1657 
1691 
     | 
    
         
             
            source: "asJSON\x0a\x09^self asHashedCollection asJSON",
         
     | 
| 
       1658 
1692 
     | 
    
         
             
            messageSends: ["asJSON", "asHashedCollection"],
         
     | 
| 
         @@ -1667,7 +1701,7 @@ selector: "at:ifAbsent:", 
     | 
|
| 
       1667 
1701 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       1668 
1702 
     | 
    
         
             
            fn: function (aKey,aBlock){
         
     | 
| 
       1669 
1703 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1670 
     | 
    
         
            -
             
     | 
| 
      
 1704 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
       1671 
1705 
     | 
    
         
             
            		var index;
         
     | 
| 
       1672 
1706 
     | 
    
         
             
            		for(var i=0;i<self['@keys'].length;i++){
         
     | 
| 
       1673 
1707 
     | 
    
         
             
            			if(self['@keys'][i].__eq(aKey)) {index = i;}
         
     | 
| 
         @@ -1678,8 +1712,7 @@ var self=this; 
     | 
|
| 
       1678 
1712 
     | 
    
         
             
            			return self['@values'][index];
         
     | 
| 
       1679 
1713 
     | 
    
         
             
            		}
         
     | 
| 
       1680 
1714 
     | 
    
         
             
            	;
         
     | 
| 
       1681 
     | 
    
         
            -
             
     | 
| 
       1682 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 1715 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"at:ifAbsent:",{aKey:aKey,aBlock:aBlock}, smalltalk.Dictionary)})},
         
     | 
| 
       1683 
1716 
     | 
    
         
             
            args: ["aKey", "aBlock"],
         
     | 
| 
       1684 
1717 
     | 
    
         
             
            source: "at: aKey ifAbsent: aBlock\x0a\x09<\x0a\x09\x09var index;\x0a\x09\x09for(var i=0;i<self['@keys'].length;i++){\x0a\x09\x09\x09if(self['@keys'][i].__eq(aKey)) {index = i;}\x0a\x09\x09};\x0a\x09\x09if(typeof index === 'undefined') {\x0a\x09\x09\x09return aBlock();\x0a\x09\x09} else {\x0a\x09\x09\x09return self['@values'][index];\x0a\x09\x09}\x0a\x09>",
         
     | 
| 
       1685 
1718 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -1694,7 +1727,7 @@ selector: "at:put:", 
     | 
|
| 
       1694 
1727 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       1695 
1728 
     | 
    
         
             
            fn: function (aKey,aValue){
         
     | 
| 
       1696 
1729 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1697 
     | 
    
         
            -
             
     | 
| 
      
 1730 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
       1698 
1731 
     | 
    
         
             
            		var index = self['@keys'].indexOf(aKey);
         
     | 
| 
       1699 
1732 
     | 
    
         
             
            		if(index === -1) {
         
     | 
| 
       1700 
1733 
     | 
    
         
             
            			self['@values'].push(aValue);
         
     | 
| 
         @@ -1705,8 +1738,7 @@ var self=this; 
     | 
|
| 
       1705 
1738 
     | 
    
         | 
| 
       1706 
1739 
     | 
    
         
             
            		return aValue;
         
     | 
| 
       1707 
1740 
     | 
    
         
             
            	;
         
     | 
| 
       1708 
     | 
    
         
            -
             
     | 
| 
       1709 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 1741 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"at:put:",{aKey:aKey,aValue:aValue}, smalltalk.Dictionary)})},
         
     | 
| 
       1710 
1742 
     | 
    
         
             
            args: ["aKey", "aValue"],
         
     | 
| 
       1711 
1743 
     | 
    
         
             
            source: "at: aKey put: aValue\x0a\x09<\x0a\x09\x09var index = self['@keys'].indexOf(aKey);\x0a\x09\x09if(index === -1) {\x0a\x09\x09\x09self['@values'].push(aValue);\x0a\x09\x09\x09self['@keys'].push(aKey);\x0a\x09\x09} else {\x0a\x09\x09\x09self['@values'][index] = aValue;\x0a\x09\x09};\x0a\x0a\x09\x09return aValue;\x0a\x09>",
         
     | 
| 
       1712 
1744 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -1721,10 +1753,10 @@ selector: "includesKey:", 
     | 
|
| 
       1721 
1753 
     | 
    
         
             
            category: 'testing',
         
     | 
| 
       1722 
1754 
     | 
    
         
             
            fn: function (aKey){
         
     | 
| 
       1723 
1755 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1724 
     | 
    
         
            -
             
     | 
| 
       1725 
     | 
    
         
            -
            $1= 
     | 
| 
      
 1756 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1757 
     | 
    
         
            +
            $1=_st(self["@keys"])._includes_(aKey);
         
     | 
| 
       1726 
1758 
     | 
    
         
             
            return $1;
         
     | 
| 
       1727 
     | 
    
         
            -
            },
         
     | 
| 
      
 1759 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"includesKey:",{aKey:aKey}, smalltalk.Dictionary)})},
         
     | 
| 
       1728 
1760 
     | 
    
         
             
            args: ["aKey"],
         
     | 
| 
       1729 
1761 
     | 
    
         
             
            source: "includesKey: aKey\x0a\x09^keys includes: aKey",
         
     | 
| 
       1730 
1762 
     | 
    
         
             
            messageSends: ["includes:"],
         
     | 
| 
         @@ -1739,10 +1771,10 @@ selector: "initialize", 
     | 
|
| 
       1739 
1771 
     | 
    
         
             
            category: 'initialization',
         
     | 
| 
       1740 
1772 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       1741 
1773 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1742 
     | 
    
         
            -
            smalltalk. 
     | 
| 
      
 1774 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
       1743 
1775 
     | 
    
         
             
            self["@keys"]=[];
         
     | 
| 
       1744 
1776 
     | 
    
         
             
            self["@values"]=[];
         
     | 
| 
       1745 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 1777 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.Dictionary)})},
         
     | 
| 
       1746 
1778 
     | 
    
         
             
            args: [],
         
     | 
| 
       1747 
1779 
     | 
    
         
             
            source: "initialize\x0a\x09super initialize.\x0a\x09keys := #().\x0a\x09values := #()",
         
     | 
| 
       1748 
1780 
     | 
    
         
             
            messageSends: ["initialize"],
         
     | 
| 
         @@ -1757,14 +1789,14 @@ selector: "keyAtValue:", 
     | 
|
| 
       1757 
1789 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       1758 
1790 
     | 
    
         
             
            fn: function (anObject){
         
     | 
| 
       1759 
1791 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1760 
     | 
    
         
            -
             
     | 
| 
       1761 
     | 
    
         
            -
            $1= 
     | 
| 
       1762 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       1763 
     | 
    
         
            -
            }),(function(){
         
     | 
| 
       1764 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       1765 
     | 
    
         
            -
            }) 
     | 
| 
      
 1792 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1793 
     | 
    
         
            +
            $1=_st(_st(_st(self)._associations())._detect_ifNone_((function(k,v){
         
     | 
| 
      
 1794 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 1795 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({k:k,v:v},$ctx1)})}),(function(){
         
     | 
| 
      
 1796 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 1797 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._key();
         
     | 
| 
       1766 
1798 
     | 
    
         
             
            return $1;
         
     | 
| 
       1767 
     | 
    
         
            -
            },
         
     | 
| 
      
 1799 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"keyAtValue:",{anObject:anObject}, smalltalk.Dictionary)})},
         
     | 
| 
       1768 
1800 
     | 
    
         
             
            args: ["anObject"],
         
     | 
| 
       1769 
1801 
     | 
    
         
             
            source: "keyAtValue: anObject\x0a\x0a\x09^ (self associations \x0a    \x09detect:[:k :v| v == anObject] \x0a    \x09ifNone:[self error: 'Not found']) key",
         
     | 
| 
       1770 
1802 
     | 
    
         
             
            messageSends: ["key", "detect:ifNone:", "==", "error:", "associations"],
         
     | 
| 
         @@ -1779,10 +1811,10 @@ selector: "keys", 
     | 
|
| 
       1779 
1811 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       1780 
1812 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       1781 
1813 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1782 
     | 
    
         
            -
             
     | 
| 
       1783 
     | 
    
         
            -
            $1= 
     | 
| 
      
 1814 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1815 
     | 
    
         
            +
            $1=_st(self["@keys"])._copy();
         
     | 
| 
       1784 
1816 
     | 
    
         
             
            return $1;
         
     | 
| 
       1785 
     | 
    
         
            -
            },
         
     | 
| 
      
 1817 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"keys",{}, smalltalk.Dictionary)})},
         
     | 
| 
       1786 
1818 
     | 
    
         
             
            args: [],
         
     | 
| 
       1787 
1819 
     | 
    
         
             
            source: "keys\x0a\x09^keys copy",
         
     | 
| 
       1788 
1820 
     | 
    
         
             
            messageSends: ["copy"],
         
     | 
| 
         @@ -1797,7 +1829,7 @@ selector: "removeKey:ifAbsent:", 
     | 
|
| 
       1797 
1829 
     | 
    
         
             
            category: 'adding/removing',
         
     | 
| 
       1798 
1830 
     | 
    
         
             
            fn: function (aKey,aBlock){
         
     | 
| 
       1799 
1831 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1800 
     | 
    
         
            -
             
     | 
| 
      
 1832 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
       1801 
1833 
     | 
    
         
             
                        var index = self['@keys'].indexOf(aKey);
         
     | 
| 
       1802 
1834 
     | 
    
         
             
                        if(index === -1) {
         
     | 
| 
       1803 
1835 
     | 
    
         
             
                            return aBlock()
         
     | 
| 
         @@ -1808,8 +1840,7 @@ var self=this; 
     | 
|
| 
       1808 
1840 
     | 
    
         
             
                            return value[0];
         
     | 
| 
       1809 
1841 
     | 
    
         
             
                        };
         
     | 
| 
       1810 
1842 
     | 
    
         
             
                ;
         
     | 
| 
       1811 
     | 
    
         
            -
             
     | 
| 
       1812 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 1843 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"removeKey:ifAbsent:",{aKey:aKey,aBlock:aBlock}, smalltalk.Dictionary)})},
         
     | 
| 
       1813 
1844 
     | 
    
         
             
            args: ["aKey", "aBlock"],
         
     | 
| 
       1814 
1845 
     | 
    
         
             
            source: "removeKey: aKey ifAbsent: aBlock\x0a    <\x0a            var index = self['@keys'].indexOf(aKey);\x0a            if(index === -1) {\x0a                return aBlock()\x0a            } else {\x0a                var value;\x0a                self['@keys'].splice(index, 1);\x0a                value = self['@values'].splice(index, 1);\x0a                return value[0];\x0a            };\x0a    >",
         
     | 
| 
       1815 
1846 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -1824,10 +1855,10 @@ selector: "valueAt:", 
     | 
|
| 
       1824 
1855 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       1825 
1856 
     | 
    
         
             
            fn: function (anObject){
         
     | 
| 
       1826 
1857 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1827 
     | 
    
         
            -
             
     | 
| 
       1828 
     | 
    
         
            -
            $1= 
     | 
| 
      
 1858 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1859 
     | 
    
         
            +
            $1=_st(self)._associationsDo_((2));
         
     | 
| 
       1829 
1860 
     | 
    
         
             
            return $1;
         
     | 
| 
       1830 
     | 
    
         
            -
            },
         
     | 
| 
      
 1861 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"valueAt:",{anObject:anObject}, smalltalk.Dictionary)})},
         
     | 
| 
       1831 
1862 
     | 
    
         
             
            args: ["anObject"],
         
     | 
| 
       1832 
1863 
     | 
    
         
             
            source: "valueAt: anObject\x0a\x0a\x09^ self associationsDo:2",
         
     | 
| 
       1833 
1864 
     | 
    
         
             
            messageSends: ["associationsDo:"],
         
     | 
| 
         @@ -1842,10 +1873,10 @@ selector: "values", 
     | 
|
| 
       1842 
1873 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       1843 
1874 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       1844 
1875 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1845 
     | 
    
         
            -
             
     | 
| 
       1846 
     | 
    
         
            -
            $1= 
     | 
| 
      
 1876 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1877 
     | 
    
         
            +
            $1=_st(self["@values"])._copy();
         
     | 
| 
       1847 
1878 
     | 
    
         
             
            return $1;
         
     | 
| 
       1848 
     | 
    
         
            -
            },
         
     | 
| 
      
 1879 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"values",{}, smalltalk.Dictionary)})},
         
     | 
| 
       1849 
1880 
     | 
    
         
             
            args: [],
         
     | 
| 
       1850 
1881 
     | 
    
         
             
            source: "values\x0a\x09^values copy",
         
     | 
| 
       1851 
1882 
     | 
    
         
             
            messageSends: ["copy"],
         
     | 
| 
         @@ -1863,25 +1894,27 @@ selector: "=", 
     | 
|
| 
       1863 
1894 
     | 
    
         
             
            category: 'comparing',
         
     | 
| 
       1864 
1895 
     | 
    
         
             
            fn: function (aCollection){
         
     | 
| 
       1865 
1896 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1866 
     | 
    
         
            -
             
     | 
| 
      
 1897 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
       1867 
1898 
     | 
    
         
             
            var $early={};
         
     | 
| 
       1868 
1899 
     | 
    
         
             
            try {
         
     | 
| 
       1869 
     | 
    
         
            -
            $1= 
     | 
| 
       1870 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       1871 
     | 
    
         
            -
            }) 
     | 
| 
      
 1900 
     | 
    
         
            +
            $1=_st(_st(_st(self)._class()).__eq(_st(aCollection)._class()))._and_((function(){
         
     | 
| 
      
 1901 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 1902 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
         
     | 
| 
       1872 
1903 
     | 
    
         
             
            if(! smalltalk.assert($1)){
         
     | 
| 
       1873 
1904 
     | 
    
         
             
            return false;
         
     | 
| 
       1874 
1905 
     | 
    
         
             
            };
         
     | 
| 
       1875 
     | 
    
         
            -
             
     | 
| 
       1876 
     | 
    
         
            -
            $ 
     | 
| 
       1877 
     | 
    
         
            -
             
     | 
| 
      
 1906 
     | 
    
         
            +
            $2=self;
         
     | 
| 
      
 1907 
     | 
    
         
            +
            $3=(function(each,i){
         
     | 
| 
      
 1908 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 1909 
     | 
    
         
            +
            if(! smalltalk.assert($4)){
         
     | 
| 
       1878 
1910 
     | 
    
         
             
            throw $early=[false];
         
     | 
| 
       1879 
1911 
     | 
    
         
             
            };
         
     | 
| 
       1880 
     | 
    
         
            -
            }) 
     | 
| 
      
 1912 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({each:each,i:i},$ctx1)})});
         
     | 
| 
      
 1913 
     | 
    
         
            +
            _st($2)._withIndexDo_($3);
         
     | 
| 
       1881 
1914 
     | 
    
         
             
            return true;
         
     | 
| 
       1882 
1915 
     | 
    
         
             
            }
         
     | 
| 
       1883 
1916 
     | 
    
         
             
            catch(e) {if(e===$early)return e[0]; throw e}
         
     | 
| 
       1884 
     | 
    
         
            -
            },
         
     | 
| 
      
 1917 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"=",{aCollection:aCollection}, smalltalk.SequenceableCollection)})},
         
     | 
| 
       1885 
1918 
     | 
    
         
             
            args: ["aCollection"],
         
     | 
| 
       1886 
1919 
     | 
    
         
             
            source: "= aCollection\x0a\x09(self class = aCollection class and: [\x0a\x09\x09self size = aCollection size]) ifFalse: [^false].\x0a\x09self withIndexDo: [:each :i |\x0a                 (aCollection at: i) = each ifFalse: [^false]].\x0a\x09^true",
         
     | 
| 
       1887 
1920 
     | 
    
         
             
            messageSends: ["ifFalse:", "and:", "=", "size", "class", "withIndexDo:", "at:"],
         
     | 
| 
         @@ -1896,8 +1929,8 @@ selector: "addLast:", 
     | 
|
| 
       1896 
1929 
     | 
    
         
             
            category: 'adding',
         
     | 
| 
       1897 
1930 
     | 
    
         
             
            fn: function (anObject){
         
     | 
| 
       1898 
1931 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1899 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       1900 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 1932 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1933 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"addLast:",{anObject:anObject}, smalltalk.SequenceableCollection)})},
         
     | 
| 
       1901 
1934 
     | 
    
         
             
            args: ["anObject"],
         
     | 
| 
       1902 
1935 
     | 
    
         
             
            source: "addLast: anObject\x0a\x09self add: anObject",
         
     | 
| 
       1903 
1936 
     | 
    
         
             
            messageSends: ["add:"],
         
     | 
| 
         @@ -1912,10 +1945,10 @@ selector: "allButFirst", 
     | 
|
| 
       1912 
1945 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       1913 
1946 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       1914 
1947 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1915 
     | 
    
         
            -
             
     | 
| 
       1916 
     | 
    
         
            -
            $1= 
     | 
| 
      
 1948 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1949 
     | 
    
         
            +
            $1=_st(self)._copyFrom_to_((2),_st(self)._size());
         
     | 
| 
       1917 
1950 
     | 
    
         
             
            return $1;
         
     | 
| 
       1918 
     | 
    
         
            -
            },
         
     | 
| 
      
 1951 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"allButFirst",{}, smalltalk.SequenceableCollection)})},
         
     | 
| 
       1919 
1952 
     | 
    
         
             
            args: [],
         
     | 
| 
       1920 
1953 
     | 
    
         
             
            source: "allButFirst\x0a\x09^self copyFrom: 2 to: self size",
         
     | 
| 
       1921 
1954 
     | 
    
         
             
            messageSends: ["copyFrom:to:", "size"],
         
     | 
| 
         @@ -1930,10 +1963,10 @@ selector: "allButLast", 
     | 
|
| 
       1930 
1963 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       1931 
1964 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       1932 
1965 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1933 
     | 
    
         
            -
             
     | 
| 
       1934 
     | 
    
         
            -
            $1= 
     | 
| 
      
 1966 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1967 
     | 
    
         
            +
            $1=_st(self)._copyFrom_to_((1),_st(_st(self)._size()).__minus((1)));
         
     | 
| 
       1935 
1968 
     | 
    
         
             
            return $1;
         
     | 
| 
       1936 
     | 
    
         
            -
            },
         
     | 
| 
      
 1969 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"allButLast",{}, smalltalk.SequenceableCollection)})},
         
     | 
| 
       1937 
1970 
     | 
    
         
             
            args: [],
         
     | 
| 
       1938 
1971 
     | 
    
         
             
            source: "allButLast\x0a\x09^self copyFrom: 1 to: self size - 1",
         
     | 
| 
       1939 
1972 
     | 
    
         
             
            messageSends: ["copyFrom:to:", "-", "size"],
         
     | 
| 
         @@ -1948,12 +1981,12 @@ selector: "at:", 
     | 
|
| 
       1948 
1981 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       1949 
1982 
     | 
    
         
             
            fn: function (anIndex){
         
     | 
| 
       1950 
1983 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1951 
     | 
    
         
            -
             
     | 
| 
       1952 
     | 
    
         
            -
            $1= 
     | 
| 
       1953 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       1954 
     | 
    
         
            -
            }) 
     | 
| 
      
 1984 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 1985 
     | 
    
         
            +
            $1=_st(self)._at_ifAbsent_(anIndex,(function(){
         
     | 
| 
      
 1986 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 1987 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
         
     | 
| 
       1955 
1988 
     | 
    
         
             
            return $1;
         
     | 
| 
       1956 
     | 
    
         
            -
            },
         
     | 
| 
      
 1989 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"at:",{anIndex:anIndex}, smalltalk.SequenceableCollection)})},
         
     | 
| 
       1957 
1990 
     | 
    
         
             
            args: ["anIndex"],
         
     | 
| 
       1958 
1991 
     | 
    
         
             
            source: "at: anIndex\x0a\x09^self at: anIndex ifAbsent: [\x0a\x09    self errorNotFound]",
         
     | 
| 
       1959 
1992 
     | 
    
         
             
            messageSends: ["at:ifAbsent:", "errorNotFound"],
         
     | 
| 
         @@ -1968,8 +2001,8 @@ selector: "at:ifAbsent:", 
     | 
|
| 
       1968 
2001 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       1969 
2002 
     | 
    
         
             
            fn: function (anIndex,aBlock){
         
     | 
| 
       1970 
2003 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1971 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       1972 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 2004 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2005 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"at:ifAbsent:",{anIndex:anIndex,aBlock:aBlock}, smalltalk.SequenceableCollection)})},
         
     | 
| 
       1973 
2006 
     | 
    
         
             
            args: ["anIndex", "aBlock"],
         
     | 
| 
       1974 
2007 
     | 
    
         
             
            source: "at: anIndex ifAbsent: aBlock\x0a\x09self subclassResponsibility",
         
     | 
| 
       1975 
2008 
     | 
    
         
             
            messageSends: ["subclassResponsibility"],
         
     | 
| 
         @@ -1984,8 +2017,8 @@ selector: "at:put:", 
     | 
|
| 
       1984 
2017 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       1985 
2018 
     | 
    
         
             
            fn: function (anIndex,anObject){
         
     | 
| 
       1986 
2019 
     | 
    
         
             
            var self=this;
         
     | 
| 
       1987 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       1988 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 2020 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2021 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"at:put:",{anIndex:anIndex,anObject:anObject}, smalltalk.SequenceableCollection)})},
         
     | 
| 
       1989 
2022 
     | 
    
         
             
            args: ["anIndex", "anObject"],
         
     | 
| 
       1990 
2023 
     | 
    
         
             
            source: "at: anIndex put: anObject\x0a\x09self subclassResponsibility",
         
     | 
| 
       1991 
2024 
     | 
    
         
             
            messageSends: ["subclassResponsibility"],
         
     | 
| 
         @@ -2000,10 +2033,10 @@ selector: "atRandom", 
     | 
|
| 
       2000 
2033 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       2001 
2034 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       2002 
2035 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2003 
     | 
    
         
            -
             
     | 
| 
       2004 
     | 
    
         
            -
            $1= 
     | 
| 
      
 2036 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2037 
     | 
    
         
            +
            $1=_st(self)._at_(_st(_st(self)._size())._atRandom());
         
     | 
| 
       2005 
2038 
     | 
    
         
             
            return $1;
         
     | 
| 
       2006 
     | 
    
         
            -
            },
         
     | 
| 
      
 2039 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"atRandom",{}, smalltalk.SequenceableCollection)})},
         
     | 
| 
       2007 
2040 
     | 
    
         
             
            args: [],
         
     | 
| 
       2008 
2041 
     | 
    
         
             
            source: "atRandom\x0a\x09^ self at: self size atRandom",
         
     | 
| 
       2009 
2042 
     | 
    
         
             
            messageSends: ["at:", "atRandom", "size"],
         
     | 
| 
         @@ -2018,15 +2051,16 @@ selector: "copyFrom:to:", 
     | 
|
| 
       2018 
2051 
     | 
    
         
             
            category: 'copying',
         
     | 
| 
       2019 
2052 
     | 
    
         
             
            fn: function (anIndex,anotherIndex){
         
     | 
| 
       2020 
2053 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2021 
     | 
    
         
            -
            var range;
         
     | 
| 
       2022 
     | 
    
         
            -
             
     | 
| 
       2023 
     | 
    
         
            -
            range= 
     | 
| 
       2024 
     | 
    
         
            -
            newCollection= 
     | 
| 
       2025 
     | 
    
         
            -
             
     | 
| 
       2026 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       2027 
     | 
    
         
            -
            }) 
     | 
| 
       2028 
     | 
    
         
            -
             
     | 
| 
       2029 
     | 
    
         
            -
             
     | 
| 
      
 2054 
     | 
    
         
            +
            var range,newCollection;
         
     | 
| 
      
 2055 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2056 
     | 
    
         
            +
            range=_st(anIndex)._to_(anotherIndex);
         
     | 
| 
      
 2057 
     | 
    
         
            +
            newCollection=_st(_st(self)._class())._new_(_st(range)._size());
         
     | 
| 
      
 2058 
     | 
    
         
            +
            _st(range)._withIndexDo_((function(each,i){
         
     | 
| 
      
 2059 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 2060 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({each:each,i:i},$ctx1)})}));
         
     | 
| 
      
 2061 
     | 
    
         
            +
            $1=newCollection;
         
     | 
| 
      
 2062 
     | 
    
         
            +
            return $1;
         
     | 
| 
      
 2063 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"copyFrom:to:",{anIndex:anIndex,anotherIndex:anotherIndex,range:range,newCollection:newCollection}, smalltalk.SequenceableCollection)})},
         
     | 
| 
       2030 
2064 
     | 
    
         
             
            args: ["anIndex", "anotherIndex"],
         
     | 
| 
       2031 
2065 
     | 
    
         
             
            source: "copyFrom: anIndex to: anotherIndex\x0a\x09| range newCollection |\x0a\x09range := anIndex to: anotherIndex.\x0a\x09newCollection := self class new: range size.\x0a\x09range withIndexDo: [:each :i |\x0a\x09    newCollection at: i put: (self at: each)].\x0a\x09^newCollection",
         
     | 
| 
       2032 
2066 
     | 
    
         
             
            messageSends: ["to:", "new:", "size", "class", "withIndexDo:", "at:put:", "at:"],
         
     | 
| 
         @@ -2042,12 +2076,14 @@ category: 'copying', 
     | 
|
| 
       2042 
2076 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       2043 
2077 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2044 
2078 
     | 
    
         
             
            var newCollection;
         
     | 
| 
       2045 
     | 
    
         
            -
             
     | 
| 
       2046 
     | 
    
         
            -
             
     | 
| 
       2047 
     | 
    
         
            -
             
     | 
| 
       2048 
     | 
    
         
            -
             
     | 
| 
       2049 
     | 
    
         
            -
             
     | 
| 
       2050 
     | 
    
         
            -
             
     | 
| 
      
 2079 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2080 
     | 
    
         
            +
            newCollection=_st(_st(self)._class())._new_(_st(self)._size());
         
     | 
| 
      
 2081 
     | 
    
         
            +
            _st(self)._withIndexDo_((function(each,index){
         
     | 
| 
      
 2082 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 2083 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({each:each,index:index},$ctx1)})}));
         
     | 
| 
      
 2084 
     | 
    
         
            +
            $1=newCollection;
         
     | 
| 
      
 2085 
     | 
    
         
            +
            return $1;
         
     | 
| 
      
 2086 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"deepCopy",{newCollection:newCollection}, smalltalk.SequenceableCollection)})},
         
     | 
| 
       2051 
2087 
     | 
    
         
             
            args: [],
         
     | 
| 
       2052 
2088 
     | 
    
         
             
            source: "deepCopy\x0a\x09| newCollection |\x0a\x09newCollection := self class new: self size.\x0a\x09self withIndexDo: [:each :index | \x0a\x09\x09newCollection at: index put: each deepCopy].\x0a\x09^newCollection",
         
     | 
| 
       2053 
2089 
     | 
    
         
             
            messageSends: ["new:", "size", "class", "withIndexDo:", "at:put:", "deepCopy"],
         
     | 
| 
         @@ -2062,10 +2098,10 @@ selector: "first", 
     | 
|
| 
       2062 
2098 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       2063 
2099 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       2064 
2100 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2065 
     | 
    
         
            -
             
     | 
| 
       2066 
     | 
    
         
            -
            $1= 
     | 
| 
      
 2101 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2102 
     | 
    
         
            +
            $1=_st(self)._at_((1));
         
     | 
| 
       2067 
2103 
     | 
    
         
             
            return $1;
         
     | 
| 
       2068 
     | 
    
         
            -
            },
         
     | 
| 
      
 2104 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"first",{}, smalltalk.SequenceableCollection)})},
         
     | 
| 
       2069 
2105 
     | 
    
         
             
            args: [],
         
     | 
| 
       2070 
2106 
     | 
    
         
             
            source: "first\x0a\x09^self at: 1",
         
     | 
| 
       2071 
2107 
     | 
    
         
             
            messageSends: ["at:"],
         
     | 
| 
         @@ -2080,10 +2116,10 @@ selector: "first:", 
     | 
|
| 
       2080 
2116 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       2081 
2117 
     | 
    
         
             
            fn: function (n){
         
     | 
| 
       2082 
2118 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2083 
     | 
    
         
            -
             
     | 
| 
       2084 
     | 
    
         
            -
            $1= 
     | 
| 
      
 2119 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2120 
     | 
    
         
            +
            $1=_st(self)._copyFrom_to_((1),n);
         
     | 
| 
       2085 
2121 
     | 
    
         
             
            return $1;
         
     | 
| 
       2086 
     | 
    
         
            -
            },
         
     | 
| 
      
 2122 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"first:",{n:n}, smalltalk.SequenceableCollection)})},
         
     | 
| 
       2087 
2123 
     | 
    
         
             
            args: ["n"],
         
     | 
| 
       2088 
2124 
     | 
    
         
             
            source: "first: n\x0a\x09\x22Answer the first n elements of the receiver.\x0a\x09Raise an error if there are not enough elements.\x22\x0a\x0a\x09^ self copyFrom: 1 to: n",
         
     | 
| 
       2089 
2125 
     | 
    
         
             
            messageSends: ["copyFrom:to:"],
         
     | 
| 
         @@ -2098,10 +2134,10 @@ selector: "fourth", 
     | 
|
| 
       2098 
2134 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       2099 
2135 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       2100 
2136 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2101 
     | 
    
         
            -
             
     | 
| 
       2102 
     | 
    
         
            -
            $1= 
     | 
| 
      
 2137 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2138 
     | 
    
         
            +
            $1=_st(self)._at_((4));
         
     | 
| 
       2103 
2139 
     | 
    
         
             
            return $1;
         
     | 
| 
       2104 
     | 
    
         
            -
            },
         
     | 
| 
      
 2140 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"fourth",{}, smalltalk.SequenceableCollection)})},
         
     | 
| 
       2105 
2141 
     | 
    
         
             
            args: [],
         
     | 
| 
       2106 
2142 
     | 
    
         
             
            source: "fourth\x0a\x09^self at: 4",
         
     | 
| 
       2107 
2143 
     | 
    
         
             
            messageSends: ["at:"],
         
     | 
| 
         @@ -2109,6 +2145,26 @@ referencedClasses: [] 
     | 
|
| 
       2109 
2145 
     | 
    
         
             
            }),
         
     | 
| 
       2110 
2146 
     | 
    
         
             
            smalltalk.SequenceableCollection);
         
     | 
| 
       2111 
2147 
     | 
    
         | 
| 
      
 2148 
     | 
    
         
            +
            smalltalk.addMethod(
         
     | 
| 
      
 2149 
     | 
    
         
            +
            "_includes_",
         
     | 
| 
      
 2150 
     | 
    
         
            +
            smalltalk.method({
         
     | 
| 
      
 2151 
     | 
    
         
            +
            selector: "includes:",
         
     | 
| 
      
 2152 
     | 
    
         
            +
            category: 'testing',
         
     | 
| 
      
 2153 
     | 
    
         
            +
            fn: function (anObject){
         
     | 
| 
      
 2154 
     | 
    
         
            +
            var self=this;
         
     | 
| 
      
 2155 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2156 
     | 
    
         
            +
            $1=_st(_st(self)._indexOf_ifAbsent_(anObject,(function(){
         
     | 
| 
      
 2157 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 2158 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._notNil();
         
     | 
| 
      
 2159 
     | 
    
         
            +
            return $1;
         
     | 
| 
      
 2160 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"includes:",{anObject:anObject}, smalltalk.SequenceableCollection)})},
         
     | 
| 
      
 2161 
     | 
    
         
            +
            args: ["anObject"],
         
     | 
| 
      
 2162 
     | 
    
         
            +
            source: "includes: anObject\x0a\x09^(self indexOf: anObject ifAbsent: [nil]) notNil",
         
     | 
| 
      
 2163 
     | 
    
         
            +
            messageSends: ["notNil", "indexOf:ifAbsent:"],
         
     | 
| 
      
 2164 
     | 
    
         
            +
            referencedClasses: []
         
     | 
| 
      
 2165 
     | 
    
         
            +
            }),
         
     | 
| 
      
 2166 
     | 
    
         
            +
            smalltalk.SequenceableCollection);
         
     | 
| 
      
 2167 
     | 
    
         
            +
             
     | 
| 
       2112 
2168 
     | 
    
         
             
            smalltalk.addMethod(
         
     | 
| 
       2113 
2169 
     | 
    
         
             
            "_indexOf_",
         
     | 
| 
       2114 
2170 
     | 
    
         
             
            smalltalk.method({
         
     | 
| 
         @@ -2116,12 +2172,12 @@ selector: "indexOf:", 
     | 
|
| 
       2116 
2172 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       2117 
2173 
     | 
    
         
             
            fn: function (anObject){
         
     | 
| 
       2118 
2174 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2119 
     | 
    
         
            -
             
     | 
| 
       2120 
     | 
    
         
            -
            $1= 
     | 
| 
       2121 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       2122 
     | 
    
         
            -
            }) 
     | 
| 
      
 2175 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2176 
     | 
    
         
            +
            $1=_st(self)._indexOf_ifAbsent_(anObject,(function(){
         
     | 
| 
      
 2177 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 2178 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
         
     | 
| 
       2123 
2179 
     | 
    
         
             
            return $1;
         
     | 
| 
       2124 
     | 
    
         
            -
            },
         
     | 
| 
      
 2180 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"indexOf:",{anObject:anObject}, smalltalk.SequenceableCollection)})},
         
     | 
| 
       2125 
2181 
     | 
    
         
             
            args: ["anObject"],
         
     | 
| 
       2126 
2182 
     | 
    
         
             
            source: "indexOf: anObject\x0a\x09^self indexOf: anObject ifAbsent: [self errorNotFound]",
         
     | 
| 
       2127 
2183 
     | 
    
         
             
            messageSends: ["indexOf:ifAbsent:", "errorNotFound"],
         
     | 
| 
         @@ -2136,16 +2192,15 @@ selector: "indexOf:ifAbsent:", 
     | 
|
| 
       2136 
2192 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       2137 
2193 
     | 
    
         
             
            fn: function (anObject,aBlock){
         
     | 
| 
       2138 
2194 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2139 
     | 
    
         
            -
             
     | 
| 
      
 2195 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
       2140 
2196 
     | 
    
         
             
            		for(var i=0;i<self.length;i++) {
         
     | 
| 
       2141 
     | 
    
         
            -
            			if( 
     | 
| 
      
 2197 
     | 
    
         
            +
            			if(self[i].__eq(anObject)) {return i+1}
         
     | 
| 
       2142 
2198 
     | 
    
         
             
            		};
         
     | 
| 
       2143 
2199 
     | 
    
         
             
            		return aBlock();
         
     | 
| 
       2144 
2200 
     | 
    
         
             
            	;
         
     | 
| 
       2145 
     | 
    
         
            -
             
     | 
| 
       2146 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 2201 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"indexOf:ifAbsent:",{anObject:anObject,aBlock:aBlock}, smalltalk.SequenceableCollection)})},
         
     | 
| 
       2147 
2202 
     | 
    
         
             
            args: ["anObject", "aBlock"],
         
     | 
| 
       2148 
     | 
    
         
            -
            source: "indexOf: anObject ifAbsent: aBlock\x0a\x09<\x0a\x09\x09for(var i=0;i<self.length;i++) {\x0a\x09\x09\x09if( 
     | 
| 
      
 2203 
     | 
    
         
            +
            source: "indexOf: anObject ifAbsent: aBlock\x0a\x09<\x0a\x09\x09for(var i=0;i<self.length;i++) {\x0a\x09\x09\x09if(self[i].__eq(anObject)) {return i+1}\x0a\x09\x09};\x0a\x09\x09return aBlock();\x0a\x09>",
         
     | 
| 
       2149 
2204 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
       2150 
2205 
     | 
    
         
             
            referencedClasses: []
         
     | 
| 
       2151 
2206 
     | 
    
         
             
            }),
         
     | 
| 
         @@ -2158,12 +2213,12 @@ selector: "indexOf:startingAt:", 
     | 
|
| 
       2158 
2213 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       2159 
2214 
     | 
    
         
             
            fn: function (anObject,start){
         
     | 
| 
       2160 
2215 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2161 
     | 
    
         
            -
             
     | 
| 
       2162 
     | 
    
         
            -
            $1= 
     | 
| 
       2163 
     | 
    
         
            -
            return ( 
     | 
| 
       2164 
     | 
    
         
            -
            }) 
     | 
| 
      
 2216 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2217 
     | 
    
         
            +
            $1=_st(self)._indexOf_startingAt_ifAbsent_(anObject,start,(function(){
         
     | 
| 
      
 2218 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 2219 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
         
     | 
| 
       2165 
2220 
     | 
    
         
             
            return $1;
         
     | 
| 
       2166 
     | 
    
         
            -
            },
         
     | 
| 
      
 2221 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"indexOf:startingAt:",{anObject:anObject,start:start}, smalltalk.SequenceableCollection)})},
         
     | 
| 
       2167 
2222 
     | 
    
         
             
            args: ["anObject", "start"],
         
     | 
| 
       2168 
2223 
     | 
    
         
             
            source: "indexOf: anObject startingAt: start\x0a\x09\x22Answer the index of the first occurence of anElement after start\x0a\x09within the receiver. If the receiver does not contain anElement, \x0a\x09answer 0.\x22\x0a\x09^self indexOf: anObject startingAt: start ifAbsent: [0]",
         
     | 
| 
       2169 
2224 
     | 
    
         
             
            messageSends: ["indexOf:startingAt:ifAbsent:"],
         
     | 
| 
         @@ -2178,14 +2233,13 @@ selector: "indexOf:startingAt:ifAbsent:", 
     | 
|
| 
       2178 
2233 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       2179 
2234 
     | 
    
         
             
            fn: function (anObject,start,aBlock){
         
     | 
| 
       2180 
2235 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2181 
     | 
    
         
            -
             
     | 
| 
      
 2236 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
       2182 
2237 
     | 
    
         
             
            		for(var i=start-1;i<self.length;i++){
         
     | 
| 
       2183 
2238 
     | 
    
         
             
            			if(self[i].__eq(anObject)) {return i+1}
         
     | 
| 
       2184 
2239 
     | 
    
         
             
            		}
         
     | 
| 
       2185 
2240 
     | 
    
         
             
            		return aBlock();
         
     | 
| 
       2186 
2241 
     | 
    
         
             
            	;
         
     | 
| 
       2187 
     | 
    
         
            -
             
     | 
| 
       2188 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 2242 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"indexOf:startingAt:ifAbsent:",{anObject:anObject,start:start,aBlock:aBlock}, smalltalk.SequenceableCollection)})},
         
     | 
| 
       2189 
2243 
     | 
    
         
             
            args: ["anObject", "start", "aBlock"],
         
     | 
| 
       2190 
2244 
     | 
    
         
             
            source: "indexOf: anObject startingAt: start ifAbsent: aBlock\x0a\x09<\x0a\x09\x09for(var i=start-1;i<self.length;i++){\x0a\x09\x09\x09if(self[i].__eq(anObject)) {return i+1}\x0a\x09\x09}\x0a\x09\x09return aBlock();\x0a\x09>",
         
     | 
| 
       2191 
2245 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -2200,10 +2254,10 @@ selector: "last", 
     | 
|
| 
       2200 
2254 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       2201 
2255 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       2202 
2256 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2203 
     | 
    
         
            -
             
     | 
| 
       2204 
     | 
    
         
            -
            $1= 
     | 
| 
      
 2257 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2258 
     | 
    
         
            +
            $1=_st(self)._at_(_st(self)._size());
         
     | 
| 
       2205 
2259 
     | 
    
         
             
            return $1;
         
     | 
| 
       2206 
     | 
    
         
            -
            },
         
     | 
| 
      
 2260 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"last",{}, smalltalk.SequenceableCollection)})},
         
     | 
| 
       2207 
2261 
     | 
    
         
             
            args: [],
         
     | 
| 
       2208 
2262 
     | 
    
         
             
            source: "last\x0a\x09^self at: self size",
         
     | 
| 
       2209 
2263 
     | 
    
         
             
            messageSends: ["at:", "size"],
         
     | 
| 
         @@ -2218,8 +2272,8 @@ selector: "removeLast", 
     | 
|
| 
       2218 
2272 
     | 
    
         
             
            category: 'adding',
         
     | 
| 
       2219 
2273 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       2220 
2274 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2221 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       2222 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 2275 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2276 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"removeLast",{}, smalltalk.SequenceableCollection)})},
         
     | 
| 
       2223 
2277 
     | 
    
         
             
            args: [],
         
     | 
| 
       2224 
2278 
     | 
    
         
             
            source: "removeLast\x0a\x09self remove: self last",
         
     | 
| 
       2225 
2279 
     | 
    
         
             
            messageSends: ["remove:", "last"],
         
     | 
| 
         @@ -2234,8 +2288,8 @@ selector: "reversed", 
     | 
|
| 
       2234 
2288 
     | 
    
         
             
            category: 'converting',
         
     | 
| 
       2235 
2289 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       2236 
2290 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2237 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       2238 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 2291 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2292 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"reversed",{}, smalltalk.SequenceableCollection)})},
         
     | 
| 
       2239 
2293 
     | 
    
         
             
            args: [],
         
     | 
| 
       2240 
2294 
     | 
    
         
             
            source: "reversed\x0a\x09self subclassResponsibility",
         
     | 
| 
       2241 
2295 
     | 
    
         
             
            messageSends: ["subclassResponsibility"],
         
     | 
| 
         @@ -2250,10 +2304,10 @@ selector: "second", 
     | 
|
| 
       2250 
2304 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       2251 
2305 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       2252 
2306 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2253 
     | 
    
         
            -
             
     | 
| 
       2254 
     | 
    
         
            -
            $1= 
     | 
| 
      
 2307 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2308 
     | 
    
         
            +
            $1=_st(self)._at_((2));
         
     | 
| 
       2255 
2309 
     | 
    
         
             
            return $1;
         
     | 
| 
       2256 
     | 
    
         
            -
            },
         
     | 
| 
      
 2310 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"second",{}, smalltalk.SequenceableCollection)})},
         
     | 
| 
       2257 
2311 
     | 
    
         
             
            args: [],
         
     | 
| 
       2258 
2312 
     | 
    
         
             
            source: "second\x0a\x09^self at: 2",
         
     | 
| 
       2259 
2313 
     | 
    
         
             
            messageSends: ["at:"],
         
     | 
| 
         @@ -2269,12 +2323,14 @@ category: 'copying', 
     | 
|
| 
       2269 
2323 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       2270 
2324 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2271 
2325 
     | 
    
         
             
            var newCollection;
         
     | 
| 
       2272 
     | 
    
         
            -
             
     | 
| 
       2273 
     | 
    
         
            -
             
     | 
| 
       2274 
     | 
    
         
            -
             
     | 
| 
       2275 
     | 
    
         
            -
             
     | 
| 
       2276 
     | 
    
         
            -
             
     | 
| 
       2277 
     | 
    
         
            -
             
     | 
| 
      
 2326 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2327 
     | 
    
         
            +
            newCollection=_st(_st(self)._class())._new_(_st(self)._size());
         
     | 
| 
      
 2328 
     | 
    
         
            +
            _st(self)._withIndexDo_((function(each,index){
         
     | 
| 
      
 2329 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 2330 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({each:each,index:index},$ctx1)})}));
         
     | 
| 
      
 2331 
     | 
    
         
            +
            $1=newCollection;
         
     | 
| 
      
 2332 
     | 
    
         
            +
            return $1;
         
     | 
| 
      
 2333 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"shallowCopy",{newCollection:newCollection}, smalltalk.SequenceableCollection)})},
         
     | 
| 
       2278 
2334 
     | 
    
         
             
            args: [],
         
     | 
| 
       2279 
2335 
     | 
    
         
             
            source: "shallowCopy\x0a\x09| newCollection |\x0a\x09newCollection := self class new: self size.\x0a\x09self withIndexDo: [ :each :index | \x0a\x09\x09newCollection at: index put: each].\x0a\x09^newCollection",
         
     | 
| 
       2280 
2336 
     | 
    
         
             
            messageSends: ["new:", "size", "class", "withIndexDo:", "at:put:"],
         
     | 
| 
         @@ -2289,10 +2345,10 @@ selector: "third", 
     | 
|
| 
       2289 
2345 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       2290 
2346 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       2291 
2347 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2292 
     | 
    
         
            -
             
     | 
| 
       2293 
     | 
    
         
            -
            $1= 
     | 
| 
      
 2348 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2349 
     | 
    
         
            +
            $1=_st(self)._at_((3));
         
     | 
| 
       2294 
2350 
     | 
    
         
             
            return $1;
         
     | 
| 
       2295 
     | 
    
         
            -
            },
         
     | 
| 
      
 2351 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"third",{}, smalltalk.SequenceableCollection)})},
         
     | 
| 
       2296 
2352 
     | 
    
         
             
            args: [],
         
     | 
| 
       2297 
2353 
     | 
    
         
             
            source: "third\x0a\x09^self at: 3",
         
     | 
| 
       2298 
2354 
     | 
    
         
             
            messageSends: ["at:"],
         
     | 
| 
         @@ -2307,9 +2363,8 @@ selector: "withIndexDo:", 
     | 
|
| 
       2307 
2363 
     | 
    
         
             
            category: 'enumerating',
         
     | 
| 
       2308 
2364 
     | 
    
         
             
            fn: function (aBlock){
         
     | 
| 
       2309 
2365 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2310 
     | 
    
         
            -
             
     | 
| 
       2311 
     | 
    
         
            -
             
     | 
| 
       2312 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 2366 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2367 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"withIndexDo:",{aBlock:aBlock}, smalltalk.SequenceableCollection)})},
         
     | 
| 
       2313 
2368 
     | 
    
         
             
            args: ["aBlock"],
         
     | 
| 
       2314 
2369 
     | 
    
         
             
            source: "withIndexDo: aBlock\x0a\x09<for(var i=0;i<self.length;i++){aBlock(self[i], i+1);}>",
         
     | 
| 
       2315 
2370 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -2327,9 +2382,8 @@ selector: "add:", 
     | 
|
| 
       2327 
2382 
     | 
    
         
             
            category: 'adding/removing',
         
     | 
| 
       2328 
2383 
     | 
    
         
             
            fn: function (anObject){
         
     | 
| 
       2329 
2384 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2330 
     | 
    
         
            -
             
     | 
| 
       2331 
     | 
    
         
            -
             
     | 
| 
       2332 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 2385 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2386 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"add:",{anObject:anObject}, smalltalk.Array)})},
         
     | 
| 
       2333 
2387 
     | 
    
         
             
            args: ["anObject"],
         
     | 
| 
       2334 
2388 
     | 
    
         
             
            source: "add: anObject\x0a\x09<self.push(anObject); return anObject;>",
         
     | 
| 
       2335 
2389 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -2344,12 +2398,12 @@ selector: "asJavascript", 
     | 
|
| 
       2344 
2398 
     | 
    
         
             
            category: 'converting',
         
     | 
| 
       2345 
2399 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       2346 
2400 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2347 
     | 
    
         
            -
             
     | 
| 
       2348 
     | 
    
         
            -
            $1= 
     | 
| 
       2349 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       2350 
     | 
    
         
            -
            }) 
     | 
| 
      
 2401 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2402 
     | 
    
         
            +
            $1=_st(_st("[").__comma(_st(_st(self)._collect_((function(each){
         
     | 
| 
      
 2403 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 2404 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})))._join_(", "))).__comma("]");
         
     | 
| 
       2351 
2405 
     | 
    
         
             
            return $1;
         
     | 
| 
       2352 
     | 
    
         
            -
            },
         
     | 
| 
      
 2406 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"asJavascript",{}, smalltalk.Array)})},
         
     | 
| 
       2353 
2407 
     | 
    
         
             
            args: [],
         
     | 
| 
       2354 
2408 
     | 
    
         
             
            source: "asJavascript\x0a\x09^'[', ((self collect: [:each | each asJavascript]) join: ', '),  ']'",
         
     | 
| 
       2355 
2409 
     | 
    
         
             
            messageSends: [",", "join:", "collect:", "asJavascript"],
         
     | 
| 
         @@ -2364,12 +2418,11 @@ selector: "at:ifAbsent:", 
     | 
|
| 
       2364 
2418 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       2365 
2419 
     | 
    
         
             
            fn: function (anIndex,aBlock){
         
     | 
| 
       2366 
2420 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2367 
     | 
    
         
            -
             
     | 
| 
      
 2421 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
       2368 
2422 
     | 
    
         
             
            		if((anIndex < 1) || (self.length < anIndex)) {return aBlock()};
         
     | 
| 
       2369 
2423 
     | 
    
         
             
            		return self[anIndex - 1];
         
     | 
| 
       2370 
2424 
     | 
    
         
             
            	;
         
     | 
| 
       2371 
     | 
    
         
            -
             
     | 
| 
       2372 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 2425 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"at:ifAbsent:",{anIndex:anIndex,aBlock:aBlock}, smalltalk.Array)})},
         
     | 
| 
       2373 
2426 
     | 
    
         
             
            args: ["anIndex", "aBlock"],
         
     | 
| 
       2374 
2427 
     | 
    
         
             
            source: "at: anIndex ifAbsent: aBlock\x0a\x09<\x0a\x09\x09if((anIndex < 1) || (self.length < anIndex)) {return aBlock()};\x0a\x09\x09return self[anIndex - 1];\x0a\x09>",
         
     | 
| 
       2375 
2428 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -2384,9 +2437,8 @@ selector: "at:put:", 
     | 
|
| 
       2384 
2437 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       2385 
2438 
     | 
    
         
             
            fn: function (anIndex,anObject){
         
     | 
| 
       2386 
2439 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2387 
     | 
    
         
            -
            return  
     | 
| 
       2388 
     | 
    
         
            -
             
     | 
| 
       2389 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 2440 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2441 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"at:put:",{anIndex:anIndex,anObject:anObject}, smalltalk.Array)})},
         
     | 
| 
       2390 
2442 
     | 
    
         
             
            args: ["anIndex", "anObject"],
         
     | 
| 
       2391 
2443 
     | 
    
         
             
            source: "at: anIndex put: anObject\x0a\x09<return self[anIndex - 1] = anObject>",
         
     | 
| 
       2392 
2444 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -2401,9 +2453,8 @@ selector: "join:", 
     | 
|
| 
       2401 
2453 
     | 
    
         
             
            category: 'enumerating',
         
     | 
| 
       2402 
2454 
     | 
    
         
             
            fn: function (aString){
         
     | 
| 
       2403 
2455 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2404 
     | 
    
         
            -
            return  
     | 
| 
       2405 
     | 
    
         
            -
             
     | 
| 
       2406 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 2456 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2457 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"join:",{aString:aString}, smalltalk.Array)})},
         
     | 
| 
       2407 
2458 
     | 
    
         
             
            args: ["aString"],
         
     | 
| 
       2408 
2459 
     | 
    
         
             
            source: "join: aString\x0a\x09<return self.join(aString)>",
         
     | 
| 
       2409 
2460 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -2418,20 +2469,19 @@ selector: "remove:ifAbsent:", 
     | 
|
| 
       2418 
2469 
     | 
    
         
             
            category: 'adding/removing',
         
     | 
| 
       2419 
2470 
     | 
    
         
             
            fn: function (anObject,aBlock){
         
     | 
| 
       2420 
2471 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2421 
     | 
    
         
            -
             
     | 
| 
      
 2472 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
       2422 
2473 
     | 
    
         
             
            		for(var i=0;i<self.length;i++) {
         
     | 
| 
       2423 
2474 
     | 
    
         
             
            			if(self[i] == anObject) {
         
     | 
| 
       2424 
2475 
     | 
    
         
             
            				self.splice(i,1);
         
     | 
| 
       2425 
2476 
     | 
    
         
             
            				return self;
         
     | 
| 
       2426 
2477 
     | 
    
         
             
            			}
         
     | 
| 
       2427 
     | 
    
         
            -
            		}
         
     | 
| 
      
 2478 
     | 
    
         
            +
            		};
         
     | 
| 
      
 2479 
     | 
    
         
            +
                    aBlock._value();
         
     | 
| 
       2428 
2480 
     | 
    
         
             
            	;
         
     | 
| 
       2429 
     | 
    
         
            -
             
     | 
| 
       2430 
     | 
    
         
            -
            smalltalk.send(aBlock,"_value",[]);
         
     | 
| 
       2431 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 2481 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"remove:ifAbsent:",{anObject:anObject,aBlock:aBlock}, smalltalk.Array)})},
         
     | 
| 
       2432 
2482 
     | 
    
         
             
            args: ["anObject", "aBlock"],
         
     | 
| 
       2433 
     | 
    
         
            -
            source: "remove: anObject ifAbsent: aBlock\x0a\x09<\x0a\x09\x09for(var i=0;i<self.length;i++) {\x0a\x09\x09\x09if(self[i] == anObject) {\x0a\x09\x09\x09\x09self.splice(i,1);\x0a\x09\x09\x09\x09return self;\x0a\x09\x09\x09}\x0a\x09\x09} 
     | 
| 
       2434 
     | 
    
         
            -
            messageSends: [ 
     | 
| 
      
 2483 
     | 
    
         
            +
            source: "remove: anObject ifAbsent: aBlock\x0a\x09<\x0a\x09\x09for(var i=0;i<self.length;i++) {\x0a\x09\x09\x09if(self[i] == anObject) {\x0a\x09\x09\x09\x09self.splice(i,1);\x0a\x09\x09\x09\x09return self;\x0a\x09\x09\x09}\x0a\x09\x09};\x0a        aBlock._value();\x0a\x09>",
         
     | 
| 
      
 2484 
     | 
    
         
            +
            messageSends: [],
         
     | 
| 
       2435 
2485 
     | 
    
         
             
            referencedClasses: []
         
     | 
| 
       2436 
2486 
     | 
    
         
             
            }),
         
     | 
| 
       2437 
2487 
     | 
    
         
             
            smalltalk.Array);
         
     | 
| 
         @@ -2443,9 +2493,8 @@ selector: "removeFrom:to:", 
     | 
|
| 
       2443 
2493 
     | 
    
         
             
            category: 'adding/removing',
         
     | 
| 
       2444 
2494 
     | 
    
         
             
            fn: function (aNumber,anotherNumber){
         
     | 
| 
       2445 
2495 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2446 
     | 
    
         
            -
             
     | 
| 
       2447 
     | 
    
         
            -
             
     | 
| 
       2448 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 2496 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2497 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"removeFrom:to:",{aNumber:aNumber,anotherNumber:anotherNumber}, smalltalk.Array)})},
         
     | 
| 
       2449 
2498 
     | 
    
         
             
            args: ["aNumber", "anotherNumber"],
         
     | 
| 
       2450 
2499 
     | 
    
         
             
            source: "removeFrom: aNumber to: anotherNumber\x0a\x09<self.splice(aNumber - 1,anotherNumber - 1)>",
         
     | 
| 
       2451 
2500 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -2460,9 +2509,8 @@ selector: "reversed", 
     | 
|
| 
       2460 
2509 
     | 
    
         
             
            category: 'converting',
         
     | 
| 
       2461 
2510 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       2462 
2511 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2463 
     | 
    
         
            -
            return  
     | 
| 
       2464 
     | 
    
         
            -
             
     | 
| 
       2465 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 2512 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2513 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"reversed",{}, smalltalk.Array)})},
         
     | 
| 
       2466 
2514 
     | 
    
         
             
            args: [],
         
     | 
| 
       2467 
2515 
     | 
    
         
             
            source: "reversed\x0a\x09<return self._copy().reverse()>",
         
     | 
| 
       2468 
2516 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -2477,9 +2525,8 @@ selector: "size", 
     | 
|
| 
       2477 
2525 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       2478 
2526 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       2479 
2527 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2480 
     | 
    
         
            -
            return  
     | 
| 
       2481 
     | 
    
         
            -
             
     | 
| 
       2482 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 2528 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2529 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"size",{}, smalltalk.Array)})},
         
     | 
| 
       2483 
2530 
     | 
    
         
             
            args: [],
         
     | 
| 
       2484 
2531 
     | 
    
         
             
            source: "size\x0a\x09<return self.length>",
         
     | 
| 
       2485 
2532 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -2494,10 +2541,10 @@ selector: "sort", 
     | 
|
| 
       2494 
2541 
     | 
    
         
             
            category: 'enumerating',
         
     | 
| 
       2495 
2542 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       2496 
2543 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2497 
     | 
    
         
            -
             
     | 
| 
       2498 
     | 
    
         
            -
            $1= 
     | 
| 
      
 2544 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2545 
     | 
    
         
            +
            $1=_st(self)._basicPerform_("sort");
         
     | 
| 
       2499 
2546 
     | 
    
         
             
            return $1;
         
     | 
| 
       2500 
     | 
    
         
            -
            },
         
     | 
| 
      
 2547 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"sort",{}, smalltalk.Array)})},
         
     | 
| 
       2501 
2548 
     | 
    
         
             
            args: [],
         
     | 
| 
       2502 
2549 
     | 
    
         
             
            source: "sort\x0a    ^self basicPerform: 'sort'",
         
     | 
| 
       2503 
2550 
     | 
    
         
             
            messageSends: ["basicPerform:"],
         
     | 
| 
         @@ -2512,13 +2559,12 @@ selector: "sort:", 
     | 
|
| 
       2512 
2559 
     | 
    
         
             
            category: 'enumerating',
         
     | 
| 
       2513 
2560 
     | 
    
         
             
            fn: function (aBlock){
         
     | 
| 
       2514 
2561 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2515 
     | 
    
         
            -
             
     | 
| 
      
 2562 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
       2516 
2563 
     | 
    
         
             
            		return self.sort(function(a, b) {
         
     | 
| 
       2517 
2564 
     | 
    
         
             
            			if(aBlock(a,b)) {return -1} else {return 1}
         
     | 
| 
       2518 
2565 
     | 
    
         
             
            		})
         
     | 
| 
       2519 
2566 
     | 
    
         
             
            	;
         
     | 
| 
       2520 
     | 
    
         
            -
             
     | 
| 
       2521 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 2567 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"sort:",{aBlock:aBlock}, smalltalk.Array)})},
         
     | 
| 
       2522 
2568 
     | 
    
         
             
            args: ["aBlock"],
         
     | 
| 
       2523 
2569 
     | 
    
         
             
            source: "sort: aBlock\x0a\x09<\x0a\x09\x09return self.sort(function(a, b) {\x0a\x09\x09\x09if(aBlock(a,b)) {return -1} else {return 1}\x0a\x09\x09})\x0a\x09>",
         
     | 
| 
       2524 
2570 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -2533,10 +2579,10 @@ selector: "sorted", 
     | 
|
| 
       2533 
2579 
     | 
    
         
             
            category: 'enumerating',
         
     | 
| 
       2534 
2580 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       2535 
2581 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2536 
     | 
    
         
            -
             
     | 
| 
       2537 
     | 
    
         
            -
            $1= 
     | 
| 
      
 2582 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2583 
     | 
    
         
            +
            $1=_st(_st(self)._copy())._sort();
         
     | 
| 
       2538 
2584 
     | 
    
         
             
            return $1;
         
     | 
| 
       2539 
     | 
    
         
            -
            },
         
     | 
| 
      
 2585 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"sorted",{}, smalltalk.Array)})},
         
     | 
| 
       2540 
2586 
     | 
    
         
             
            args: [],
         
     | 
| 
       2541 
2587 
     | 
    
         
             
            source: "sorted\x0a\x09^self copy sort",
         
     | 
| 
       2542 
2588 
     | 
    
         
             
            messageSends: ["sort", "copy"],
         
     | 
| 
         @@ -2551,10 +2597,10 @@ selector: "sorted:", 
     | 
|
| 
       2551 
2597 
     | 
    
         
             
            category: 'enumerating',
         
     | 
| 
       2552 
2598 
     | 
    
         
             
            fn: function (aBlock){
         
     | 
| 
       2553 
2599 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2554 
     | 
    
         
            -
             
     | 
| 
       2555 
     | 
    
         
            -
            $1= 
     | 
| 
      
 2600 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2601 
     | 
    
         
            +
            $1=_st(_st(self)._copy())._sort_(aBlock);
         
     | 
| 
       2556 
2602 
     | 
    
         
             
            return $1;
         
     | 
| 
       2557 
     | 
    
         
            -
            },
         
     | 
| 
      
 2603 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"sorted:",{aBlock:aBlock}, smalltalk.Array)})},
         
     | 
| 
       2558 
2604 
     | 
    
         
             
            args: ["aBlock"],
         
     | 
| 
       2559 
2605 
     | 
    
         
             
            source: "sorted: aBlock\x0a\x09^self copy sort: aBlock",
         
     | 
| 
       2560 
2606 
     | 
    
         
             
            messageSends: ["sort:", "copy"],
         
     | 
| 
         @@ -2570,9 +2616,8 @@ selector: "new:", 
     | 
|
| 
       2570 
2616 
     | 
    
         
             
            category: 'instance creation',
         
     | 
| 
       2571 
2617 
     | 
    
         
             
            fn: function (anInteger){
         
     | 
| 
       2572 
2618 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2573 
     | 
    
         
            -
            return  
     | 
| 
       2574 
     | 
    
         
            -
             
     | 
| 
       2575 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 2619 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2620 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"new:",{anInteger:anInteger}, smalltalk.Array.klass)})},
         
     | 
| 
       2576 
2621 
     | 
    
         
             
            args: ["anInteger"],
         
     | 
| 
       2577 
2622 
     | 
    
         
             
            source: "new: anInteger\x0a\x09<return new Array(anInteger)>",
         
     | 
| 
       2578 
2623 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -2587,13 +2632,13 @@ selector: "with:", 
     | 
|
| 
       2587 
2632 
     | 
    
         
             
            category: 'instance creation',
         
     | 
| 
       2588 
2633 
     | 
    
         
             
            fn: function (anObject){
         
     | 
| 
       2589 
2634 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2590 
     | 
    
         
            -
             
     | 
| 
       2591 
     | 
    
         
            -
            $2= 
     | 
| 
       2592 
     | 
    
         
            -
             
     | 
| 
       2593 
     | 
    
         
            -
            $3= 
     | 
| 
      
 2635 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2636 
     | 
    
         
            +
            $2=_st(self)._new_((1));
         
     | 
| 
      
 2637 
     | 
    
         
            +
            _st($2)._at_put_((1),anObject);
         
     | 
| 
      
 2638 
     | 
    
         
            +
            $3=_st($2)._yourself();
         
     | 
| 
       2594 
2639 
     | 
    
         
             
            $1=$3;
         
     | 
| 
       2595 
2640 
     | 
    
         
             
            return $1;
         
     | 
| 
       2596 
     | 
    
         
            -
            },
         
     | 
| 
      
 2641 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"with:",{anObject:anObject}, smalltalk.Array.klass)})},
         
     | 
| 
       2597 
2642 
     | 
    
         
             
            args: ["anObject"],
         
     | 
| 
       2598 
2643 
     | 
    
         
             
            source: "with: anObject\x0a\x09    ^(self new: 1)\x0a\x09\x09at: 1 put: anObject;\x0a\x09\x09yourself",
         
     | 
| 
       2599 
2644 
     | 
    
         
             
            messageSends: ["at:put:", "new:", "yourself"],
         
     | 
| 
         @@ -2608,14 +2653,14 @@ selector: "with:with:", 
     | 
|
| 
       2608 
2653 
     | 
    
         
             
            category: 'instance creation',
         
     | 
| 
       2609 
2654 
     | 
    
         
             
            fn: function (anObject,anObject2){
         
     | 
| 
       2610 
2655 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2611 
     | 
    
         
            -
             
     | 
| 
       2612 
     | 
    
         
            -
            $2= 
     | 
| 
       2613 
     | 
    
         
            -
             
     | 
| 
       2614 
     | 
    
         
            -
             
     | 
| 
       2615 
     | 
    
         
            -
            $3= 
     | 
| 
      
 2656 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2657 
     | 
    
         
            +
            $2=_st(self)._new_((2));
         
     | 
| 
      
 2658 
     | 
    
         
            +
            _st($2)._at_put_((1),anObject);
         
     | 
| 
      
 2659 
     | 
    
         
            +
            _st($2)._at_put_((2),anObject2);
         
     | 
| 
      
 2660 
     | 
    
         
            +
            $3=_st($2)._yourself();
         
     | 
| 
       2616 
2661 
     | 
    
         
             
            $1=$3;
         
     | 
| 
       2617 
2662 
     | 
    
         
             
            return $1;
         
     | 
| 
       2618 
     | 
    
         
            -
            },
         
     | 
| 
      
 2663 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"with:with:",{anObject:anObject,anObject2:anObject2}, smalltalk.Array.klass)})},
         
     | 
| 
       2619 
2664 
     | 
    
         
             
            args: ["anObject", "anObject2"],
         
     | 
| 
       2620 
2665 
     | 
    
         
             
            source: "with: anObject with: anObject2\x0a\x09    ^(self new: 2)\x0a\x09\x09at: 1 put: anObject;\x0a\x09\x09at: 2 put: anObject2;\x0a\x09\x09yourself",
         
     | 
| 
       2621 
2666 
     | 
    
         
             
            messageSends: ["at:put:", "new:", "yourself"],
         
     | 
| 
         @@ -2630,15 +2675,15 @@ selector: "with:with:with:", 
     | 
|
| 
       2630 
2675 
     | 
    
         
             
            category: 'instance creation',
         
     | 
| 
       2631 
2676 
     | 
    
         
             
            fn: function (anObject,anObject2,anObject3){
         
     | 
| 
       2632 
2677 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2633 
     | 
    
         
            -
             
     | 
| 
       2634 
     | 
    
         
            -
            $2= 
     | 
| 
       2635 
     | 
    
         
            -
             
     | 
| 
       2636 
     | 
    
         
            -
             
     | 
| 
       2637 
     | 
    
         
            -
             
     | 
| 
       2638 
     | 
    
         
            -
            $3= 
     | 
| 
      
 2678 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2679 
     | 
    
         
            +
            $2=_st(self)._new_((3));
         
     | 
| 
      
 2680 
     | 
    
         
            +
            _st($2)._at_put_((1),anObject);
         
     | 
| 
      
 2681 
     | 
    
         
            +
            _st($2)._at_put_((2),anObject2);
         
     | 
| 
      
 2682 
     | 
    
         
            +
            _st($2)._at_put_((3),anObject3);
         
     | 
| 
      
 2683 
     | 
    
         
            +
            $3=_st($2)._yourself();
         
     | 
| 
       2639 
2684 
     | 
    
         
             
            $1=$3;
         
     | 
| 
       2640 
2685 
     | 
    
         
             
            return $1;
         
     | 
| 
       2641 
     | 
    
         
            -
            },
         
     | 
| 
      
 2686 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"with:with:with:",{anObject:anObject,anObject2:anObject2,anObject3:anObject3}, smalltalk.Array.klass)})},
         
     | 
| 
       2642 
2687 
     | 
    
         
             
            args: ["anObject", "anObject2", "anObject3"],
         
     | 
| 
       2643 
2688 
     | 
    
         
             
            source: "with: anObject with: anObject2 with: anObject3\x0a\x09    ^(self new: 3)\x0a\x09\x09at: 1 put: anObject;\x0a\x09\x09at: 2 put: anObject2;\x0a\x09\x09at: 3 put: anObject3;\x0a\x09\x09yourself",
         
     | 
| 
       2644 
2689 
     | 
    
         
             
            messageSends: ["at:put:", "new:", "yourself"],
         
     | 
| 
         @@ -2653,17 +2698,18 @@ selector: "withAll:", 
     | 
|
| 
       2653 
2698 
     | 
    
         
             
            category: 'instance creation',
         
     | 
| 
       2654 
2699 
     | 
    
         
             
            fn: function (aCollection){
         
     | 
| 
       2655 
2700 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2656 
     | 
    
         
            -
            var instance;
         
     | 
| 
       2657 
     | 
    
         
            -
             
     | 
| 
      
 2701 
     | 
    
         
            +
            var instance,index;
         
     | 
| 
      
 2702 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
       2658 
2703 
     | 
    
         
             
            index=(1);
         
     | 
| 
       2659 
     | 
    
         
            -
            instance= 
     | 
| 
       2660 
     | 
    
         
            -
             
     | 
| 
       2661 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       2662 
     | 
    
         
            -
            index= 
     | 
| 
      
 2704 
     | 
    
         
            +
            instance=_st(self)._new_(_st(aCollection)._size());
         
     | 
| 
      
 2705 
     | 
    
         
            +
            _st(aCollection)._do_((function(each){
         
     | 
| 
      
 2706 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 2707 
     | 
    
         
            +
            index=_st(index).__plus((1));
         
     | 
| 
       2663 
2708 
     | 
    
         
             
            return index;
         
     | 
| 
       2664 
     | 
    
         
            -
            }) 
     | 
| 
       2665 
     | 
    
         
            -
             
     | 
| 
       2666 
     | 
    
         
            -
             
     | 
| 
      
 2709 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
         
     | 
| 
      
 2710 
     | 
    
         
            +
            $1=instance;
         
     | 
| 
      
 2711 
     | 
    
         
            +
            return $1;
         
     | 
| 
      
 2712 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"withAll:",{aCollection:aCollection,instance:instance,index:index}, smalltalk.Array.klass)})},
         
     | 
| 
       2667 
2713 
     | 
    
         
             
            args: ["aCollection"],
         
     | 
| 
       2668 
2714 
     | 
    
         
             
            source: "withAll: aCollection\x0a\x09| instance index |\x0a\x09index := 1.\x0a\x09instance := self new: aCollection size.\x0a\x09aCollection do: [:each  |\x0a\x09\x09instance at: index put: each.\x0a\x09\x09index := index + 1].\x0a\x09^instance",
         
     | 
| 
       2669 
2715 
     | 
    
         
             
            messageSends: ["new:", "size", "do:", "at:put:", "+"],
         
     | 
| 
         @@ -2680,10 +2726,10 @@ selector: ",", 
     | 
|
| 
       2680 
2726 
     | 
    
         
             
            category: 'copying',
         
     | 
| 
       2681 
2727 
     | 
    
         
             
            fn: function (aString){
         
     | 
| 
       2682 
2728 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2683 
     | 
    
         
            -
             
     | 
| 
       2684 
     | 
    
         
            -
            $1= 
     | 
| 
      
 2729 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2730 
     | 
    
         
            +
            $1=_st(_st(self)._asString()).__comma(_st(aString)._asString());
         
     | 
| 
       2685 
2731 
     | 
    
         
             
            return $1;
         
     | 
| 
       2686 
     | 
    
         
            -
            },
         
     | 
| 
      
 2732 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,",",{aString:aString}, smalltalk.CharacterArray)})},
         
     | 
| 
       2687 
2733 
     | 
    
         
             
            args: ["aString"],
         
     | 
| 
       2688 
2734 
     | 
    
         
             
            source: ", aString\x0a\x09^self asString, aString asString",
         
     | 
| 
       2689 
2735 
     | 
    
         
             
            messageSends: [",", "asString"],
         
     | 
| 
         @@ -2698,8 +2744,8 @@ selector: "add:", 
     | 
|
| 
       2698 
2744 
     | 
    
         
             
            category: 'adding',
         
     | 
| 
       2699 
2745 
     | 
    
         
             
            fn: function (anObject){
         
     | 
| 
       2700 
2746 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2701 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       2702 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 2747 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2748 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"add:",{anObject:anObject}, smalltalk.CharacterArray)})},
         
     | 
| 
       2703 
2749 
     | 
    
         
             
            args: ["anObject"],
         
     | 
| 
       2704 
2750 
     | 
    
         
             
            source: "add: anObject\x0a\x09self errorReadOnly",
         
     | 
| 
       2705 
2751 
     | 
    
         
             
            messageSends: ["errorReadOnly"],
         
     | 
| 
         @@ -2714,10 +2760,10 @@ selector: "asLowercase", 
     | 
|
| 
       2714 
2760 
     | 
    
         
             
            category: 'converting',
         
     | 
| 
       2715 
2761 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       2716 
2762 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2717 
     | 
    
         
            -
             
     | 
| 
       2718 
     | 
    
         
            -
            $1= 
     | 
| 
      
 2763 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2764 
     | 
    
         
            +
            $1=_st(_st(self)._class())._fromString_(_st(_st(self)._asString())._asLowercase());
         
     | 
| 
       2719 
2765 
     | 
    
         
             
            return $1;
         
     | 
| 
       2720 
     | 
    
         
            -
            },
         
     | 
| 
      
 2766 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"asLowercase",{}, smalltalk.CharacterArray)})},
         
     | 
| 
       2721 
2767 
     | 
    
         
             
            args: [],
         
     | 
| 
       2722 
2768 
     | 
    
         
             
            source: "asLowercase\x0a\x09^self class fromString: self asString asLowercase",
         
     | 
| 
       2723 
2769 
     | 
    
         
             
            messageSends: ["fromString:", "asLowercase", "asString", "class"],
         
     | 
| 
         @@ -2732,10 +2778,10 @@ selector: "asNumber", 
     | 
|
| 
       2732 
2778 
     | 
    
         
             
            category: 'converting',
         
     | 
| 
       2733 
2779 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       2734 
2780 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2735 
     | 
    
         
            -
             
     | 
| 
       2736 
     | 
    
         
            -
            $1= 
     | 
| 
      
 2781 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2782 
     | 
    
         
            +
            $1=_st(_st(self)._asString())._asNumber();
         
     | 
| 
       2737 
2783 
     | 
    
         
             
            return $1;
         
     | 
| 
       2738 
     | 
    
         
            -
            },
         
     | 
| 
      
 2784 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"asNumber",{}, smalltalk.CharacterArray)})},
         
     | 
| 
       2739 
2785 
     | 
    
         
             
            args: [],
         
     | 
| 
       2740 
2786 
     | 
    
         
             
            source: "asNumber\x0a\x09^self asString asNumber",
         
     | 
| 
       2741 
2787 
     | 
    
         
             
            messageSends: ["asNumber", "asString"],
         
     | 
| 
         @@ -2750,10 +2796,10 @@ selector: "asString", 
     | 
|
| 
       2750 
2796 
     | 
    
         
             
            category: 'converting',
         
     | 
| 
       2751 
2797 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       2752 
2798 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2753 
     | 
    
         
            -
             
     | 
| 
       2754 
     | 
    
         
            -
            $1= 
     | 
| 
      
 2799 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2800 
     | 
    
         
            +
            $1=_st(self)._subclassResponsibility();
         
     | 
| 
       2755 
2801 
     | 
    
         
             
            return $1;
         
     | 
| 
       2756 
     | 
    
         
            -
            },
         
     | 
| 
      
 2802 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"asString",{}, smalltalk.CharacterArray)})},
         
     | 
| 
       2757 
2803 
     | 
    
         
             
            args: [],
         
     | 
| 
       2758 
2804 
     | 
    
         
             
            source: "asString\x0a\x09^self subclassResponsibility",
         
     | 
| 
       2759 
2805 
     | 
    
         
             
            messageSends: ["subclassResponsibility"],
         
     | 
| 
         @@ -2768,10 +2814,10 @@ selector: "asSymbol", 
     | 
|
| 
       2768 
2814 
     | 
    
         
             
            category: 'converting',
         
     | 
| 
       2769 
2815 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       2770 
2816 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2771 
     | 
    
         
            -
             
     | 
| 
       2772 
     | 
    
         
            -
            $1= 
     | 
| 
      
 2817 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2818 
     | 
    
         
            +
            $1=_st(self)._subclassResponsibility();
         
     | 
| 
       2773 
2819 
     | 
    
         
             
            return $1;
         
     | 
| 
       2774 
     | 
    
         
            -
            },
         
     | 
| 
      
 2820 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"asSymbol",{}, smalltalk.CharacterArray)})},
         
     | 
| 
       2775 
2821 
     | 
    
         
             
            args: [],
         
     | 
| 
       2776 
2822 
     | 
    
         
             
            source: "asSymbol\x0a\x09^self subclassResponsibility",
         
     | 
| 
       2777 
2823 
     | 
    
         
             
            messageSends: ["subclassResponsibility"],
         
     | 
| 
         @@ -2786,10 +2832,10 @@ selector: "asUppercase", 
     | 
|
| 
       2786 
2832 
     | 
    
         
             
            category: 'converting',
         
     | 
| 
       2787 
2833 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       2788 
2834 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2789 
     | 
    
         
            -
             
     | 
| 
       2790 
     | 
    
         
            -
            $1= 
     | 
| 
      
 2835 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2836 
     | 
    
         
            +
            $1=_st(_st(self)._class())._fromString_(_st(_st(self)._asString())._asUppercase());
         
     | 
| 
       2791 
2837 
     | 
    
         
             
            return $1;
         
     | 
| 
       2792 
     | 
    
         
            -
            },
         
     | 
| 
      
 2838 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"asUppercase",{}, smalltalk.CharacterArray)})},
         
     | 
| 
       2793 
2839 
     | 
    
         
             
            args: [],
         
     | 
| 
       2794 
2840 
     | 
    
         
             
            source: "asUppercase\x0a\x09^self class fromString: self asString asUppercase",
         
     | 
| 
       2795 
2841 
     | 
    
         
             
            messageSends: ["fromString:", "asUppercase", "asString", "class"],
         
     | 
| 
         @@ -2804,8 +2850,8 @@ selector: "at:put:", 
     | 
|
| 
       2804 
2850 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       2805 
2851 
     | 
    
         
             
            fn: function (anIndex,anObject){
         
     | 
| 
       2806 
2852 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2807 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       2808 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 2853 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2854 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"at:put:",{anIndex:anIndex,anObject:anObject}, smalltalk.CharacterArray)})},
         
     | 
| 
       2809 
2855 
     | 
    
         
             
            args: ["anIndex", "anObject"],
         
     | 
| 
       2810 
2856 
     | 
    
         
             
            source: "at: anIndex put: anObject\x0a\x09self errorReadOnly",
         
     | 
| 
       2811 
2857 
     | 
    
         
             
            messageSends: ["errorReadOnly"],
         
     | 
| 
         @@ -2820,8 +2866,8 @@ selector: "errorReadOnly", 
     | 
|
| 
       2820 
2866 
     | 
    
         
             
            category: 'error handling',
         
     | 
| 
       2821 
2867 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       2822 
2868 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2823 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       2824 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 2869 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2870 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"errorReadOnly",{}, smalltalk.CharacterArray)})},
         
     | 
| 
       2825 
2871 
     | 
    
         
             
            args: [],
         
     | 
| 
       2826 
2872 
     | 
    
         
             
            source: "errorReadOnly\x0a\x09self error: 'Object is read-only'",
         
     | 
| 
       2827 
2873 
     | 
    
         
             
            messageSends: ["error:"],
         
     | 
| 
         @@ -2836,10 +2882,10 @@ selector: "printString", 
     | 
|
| 
       2836 
2882 
     | 
    
         
             
            category: 'printing',
         
     | 
| 
       2837 
2883 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       2838 
2884 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2839 
     | 
    
         
            -
             
     | 
| 
       2840 
     | 
    
         
            -
            $1= 
     | 
| 
      
 2885 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2886 
     | 
    
         
            +
            $1=_st(_st(self)._asString())._printString();
         
     | 
| 
       2841 
2887 
     | 
    
         
             
            return $1;
         
     | 
| 
       2842 
     | 
    
         
            -
            },
         
     | 
| 
      
 2888 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"printString",{}, smalltalk.CharacterArray)})},
         
     | 
| 
       2843 
2889 
     | 
    
         
             
            args: [],
         
     | 
| 
       2844 
2890 
     | 
    
         
             
            source: "printString\x0a\x09^self asString printString",
         
     | 
| 
       2845 
2891 
     | 
    
         
             
            messageSends: ["printString", "asString"],
         
     | 
| 
         @@ -2854,8 +2900,8 @@ selector: "remove:", 
     | 
|
| 
       2854 
2900 
     | 
    
         
             
            category: 'adding',
         
     | 
| 
       2855 
2901 
     | 
    
         
             
            fn: function (anObject){
         
     | 
| 
       2856 
2902 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2857 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       2858 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 2903 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2904 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"remove:",{anObject:anObject}, smalltalk.CharacterArray)})},
         
     | 
| 
       2859 
2905 
     | 
    
         
             
            args: ["anObject"],
         
     | 
| 
       2860 
2906 
     | 
    
         
             
            source: "remove: anObject\x0a\x09self errorReadOnly",
         
     | 
| 
       2861 
2907 
     | 
    
         
             
            messageSends: ["errorReadOnly"],
         
     | 
| 
         @@ -2871,8 +2917,8 @@ selector: "fromString:", 
     | 
|
| 
       2871 
2917 
     | 
    
         
             
            category: 'instance creation',
         
     | 
| 
       2872 
2918 
     | 
    
         
             
            fn: function (aString){
         
     | 
| 
       2873 
2919 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2874 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       2875 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 2920 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2921 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"fromString:",{aString:aString}, smalltalk.CharacterArray.klass)})},
         
     | 
| 
       2876 
2922 
     | 
    
         
             
            args: ["aString"],
         
     | 
| 
       2877 
2923 
     | 
    
         
             
            source: "fromString: aString\x0a\x09self subclassResponsibility",
         
     | 
| 
       2878 
2924 
     | 
    
         
             
            messageSends: ["subclassResponsibility"],
         
     | 
| 
         @@ -2889,9 +2935,8 @@ selector: ",", 
     | 
|
| 
       2889 
2935 
     | 
    
         
             
            category: 'copying',
         
     | 
| 
       2890 
2936 
     | 
    
         
             
            fn: function (aString){
         
     | 
| 
       2891 
2937 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2892 
     | 
    
         
            -
            return  
     | 
| 
       2893 
     | 
    
         
            -
             
     | 
| 
       2894 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 2938 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2939 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,",",{aString:aString}, smalltalk.String)})},
         
     | 
| 
       2895 
2940 
     | 
    
         
             
            args: ["aString"],
         
     | 
| 
       2896 
2941 
     | 
    
         
             
            source: ", aString\x0a\x09<return self + aString>",
         
     | 
| 
       2897 
2942 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -2906,9 +2951,8 @@ selector: "<", 
     | 
|
| 
       2906 
2951 
     | 
    
         
             
            category: 'comparing',
         
     | 
| 
       2907 
2952 
     | 
    
         
             
            fn: function (aString){
         
     | 
| 
       2908 
2953 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2909 
     | 
    
         
            -
            return  
     | 
| 
       2910 
     | 
    
         
            -
             
     | 
| 
       2911 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 2954 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2955 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"<",{aString:aString}, smalltalk.String)})},
         
     | 
| 
       2912 
2956 
     | 
    
         
             
            args: ["aString"],
         
     | 
| 
       2913 
2957 
     | 
    
         
             
            source: "< aString\x0a\x09<return String(self) < aString._asString()>",
         
     | 
| 
       2914 
2958 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -2923,9 +2967,8 @@ selector: "<=", 
     | 
|
| 
       2923 
2967 
     | 
    
         
             
            category: 'comparing',
         
     | 
| 
       2924 
2968 
     | 
    
         
             
            fn: function (aString){
         
     | 
| 
       2925 
2969 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2926 
     | 
    
         
            -
            return  
     | 
| 
       2927 
     | 
    
         
            -
             
     | 
| 
       2928 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 2970 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2971 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"<=",{aString:aString}, smalltalk.String)})},
         
     | 
| 
       2929 
2972 
     | 
    
         
             
            args: ["aString"],
         
     | 
| 
       2930 
2973 
     | 
    
         
             
            source: "<= aString\x0a\x09<return String(self) <= aString._asString()>",
         
     | 
| 
       2931 
2974 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -2940,17 +2983,16 @@ selector: "=", 
     | 
|
| 
       2940 
2983 
     | 
    
         
             
            category: 'comparing',
         
     | 
| 
       2941 
2984 
     | 
    
         
             
            fn: function (aString){
         
     | 
| 
       2942 
2985 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2943 
     | 
    
         
            -
             
     | 
| 
       2944 
     | 
    
         
            -
             
     | 
| 
       2945 
     | 
    
         
            -
             
     | 
| 
       2946 
     | 
    
         
            -
             
     | 
| 
       2947 
     | 
    
         
            -
             
     | 
| 
       2948 
     | 
    
         
            -
             
     | 
| 
       2949 
     | 
    
         
            -
             
     | 
| 
       2950 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 2986 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 2987 
     | 
    
         
            +
                	if(! aString._isString || ! aString._isString()) {
         
     | 
| 
      
 2988 
     | 
    
         
            +
                    	return false;
         
     | 
| 
      
 2989 
     | 
    
         
            +
                    }
         
     | 
| 
      
 2990 
     | 
    
         
            +
                	return String(self) === String(aString)
         
     | 
| 
      
 2991 
     | 
    
         
            +
                ;
         
     | 
| 
      
 2992 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"=",{aString:aString}, smalltalk.String)})},
         
     | 
| 
       2951 
2993 
     | 
    
         
             
            args: ["aString"],
         
     | 
| 
       2952 
     | 
    
         
            -
            source: "= aString\x0a\ 
     | 
| 
       2953 
     | 
    
         
            -
            messageSends: [ 
     | 
| 
      
 2994 
     | 
    
         
            +
            source: "= aString\x0a\x09<\x0a    \x09if(! aString._isString || ! aString._isString()) {\x0a        \x09return false;\x0a        }\x0a    \x09return String(self) === String(aString)\x0a    >",
         
     | 
| 
      
 2995 
     | 
    
         
            +
            messageSends: [],
         
     | 
| 
       2954 
2996 
     | 
    
         
             
            referencedClasses: []
         
     | 
| 
       2955 
2997 
     | 
    
         
             
            }),
         
     | 
| 
       2956 
2998 
     | 
    
         
             
            smalltalk.String);
         
     | 
| 
         @@ -2962,10 +3004,10 @@ selector: "==", 
     | 
|
| 
       2962 
3004 
     | 
    
         
             
            category: 'comparing',
         
     | 
| 
       2963 
3005 
     | 
    
         
             
            fn: function (aString){
         
     | 
| 
       2964 
3006 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2965 
     | 
    
         
            -
             
     | 
| 
       2966 
     | 
    
         
            -
            $1= 
     | 
| 
      
 3007 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3008 
     | 
    
         
            +
            $1=_st(self).__eq(aString);
         
     | 
| 
       2967 
3009 
     | 
    
         
             
            return $1;
         
     | 
| 
       2968 
     | 
    
         
            -
            },
         
     | 
| 
      
 3010 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"==",{aString:aString}, smalltalk.String)})},
         
     | 
| 
       2969 
3011 
     | 
    
         
             
            args: ["aString"],
         
     | 
| 
       2970 
3012 
     | 
    
         
             
            source: "== aString\x0a\x09^self = aString",
         
     | 
| 
       2971 
3013 
     | 
    
         
             
            messageSends: ["="],
         
     | 
| 
         @@ -2980,9 +3022,8 @@ selector: ">", 
     | 
|
| 
       2980 
3022 
     | 
    
         
             
            category: 'comparing',
         
     | 
| 
       2981 
3023 
     | 
    
         
             
            fn: function (aString){
         
     | 
| 
       2982 
3024 
     | 
    
         
             
            var self=this;
         
     | 
| 
       2983 
     | 
    
         
            -
            return  
     | 
| 
       2984 
     | 
    
         
            -
             
     | 
| 
       2985 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 3025 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3026 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,">",{aString:aString}, smalltalk.String)})},
         
     | 
| 
       2986 
3027 
     | 
    
         
             
            args: ["aString"],
         
     | 
| 
       2987 
3028 
     | 
    
         
             
            source: "> aString\x0a\x09<return String(self) >> aString._asString()>",
         
     | 
| 
       2988 
3029 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -2997,9 +3038,8 @@ selector: ">=", 
     | 
|
| 
       2997 
3038 
     | 
    
         
             
            category: 'comparing',
         
     | 
| 
       2998 
3039 
     | 
    
         
             
            fn: function (aString){
         
     | 
| 
       2999 
3040 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3000 
     | 
    
         
            -
            return  
     | 
| 
       3001 
     | 
    
         
            -
             
     | 
| 
       3002 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 3041 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3042 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,">=",{aString:aString}, smalltalk.String)})},
         
     | 
| 
       3003 
3043 
     | 
    
         
             
            args: ["aString"],
         
     | 
| 
       3004 
3044 
     | 
    
         
             
            source: ">= aString\x0a\x09<return String(self) >>= aString._asString()>",
         
     | 
| 
       3005 
3045 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -3014,8 +3054,10 @@ selector: "asJSON", 
     | 
|
| 
       3014 
3054 
     | 
    
         
             
            category: 'converting',
         
     | 
| 
       3015 
3055 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       3016 
3056 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3017 
     | 
    
         
            -
            return  
     | 
| 
       3018 
     | 
    
         
            -
             
     | 
| 
      
 3057 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3058 
     | 
    
         
            +
            $1=self;
         
     | 
| 
      
 3059 
     | 
    
         
            +
            return $1;
         
     | 
| 
      
 3060 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"asJSON",{}, smalltalk.String)})},
         
     | 
| 
       3019 
3061 
     | 
    
         
             
            args: [],
         
     | 
| 
       3020 
3062 
     | 
    
         
             
            source: "asJSON\x0a\x09^self",
         
     | 
| 
       3021 
3063 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -3030,10 +3072,10 @@ selector: "asJavaScriptSelector", 
     | 
|
| 
       3030 
3072 
     | 
    
         
             
            category: 'converting',
         
     | 
| 
       3031 
3073 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       3032 
3074 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3033 
     | 
    
         
            -
             
     | 
| 
       3034 
     | 
    
         
            -
            $1= 
     | 
| 
      
 3075 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3076 
     | 
    
         
            +
            $1=_st(_st(_st(self)._asSelector())._replace_with_("^_",""))._replace_with_("_.*","");
         
     | 
| 
       3035 
3077 
     | 
    
         
             
            return $1;
         
     | 
| 
       3036 
     | 
    
         
            -
            },
         
     | 
| 
      
 3078 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"asJavaScriptSelector",{}, smalltalk.String)})},
         
     | 
| 
       3037 
3079 
     | 
    
         
             
            args: [],
         
     | 
| 
       3038 
3080 
     | 
    
         
             
            source: "asJavaScriptSelector\x0a\x09^(self asSelector replace: '^_' with: '') replace: '_.*' with: ''.",
         
     | 
| 
       3039 
3081 
     | 
    
         
             
            messageSends: ["replace:with:", "asSelector"],
         
     | 
| 
         @@ -3048,14 +3090,13 @@ selector: "asJavascript", 
     | 
|
| 
       3048 
3090 
     | 
    
         
             
            category: 'converting',
         
     | 
| 
       3049 
3091 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       3050 
3092 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3051 
     | 
    
         
            -
             
     | 
| 
      
 3093 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
       3052 
3094 
     | 
    
         
             
            		if(self.search(/^[a-zA-Z0-9_:.$ ]*$/) == -1)
         
     | 
| 
       3053 
3095 
     | 
    
         
             
            			return "\"" + self.replace(/[\x00-\x1f"\\\x7f-\x9f]/g, function(ch){var c=ch.charCodeAt(0);return "\\x"+("0"+c.toString(16)).slice(-2)}) + "\"";
         
     | 
| 
       3054 
3096 
     | 
    
         
             
            		else
         
     | 
| 
       3055 
3097 
     | 
    
         
             
            			return "\"" + self + "\"";
         
     | 
| 
       3056 
3098 
     | 
    
         
             
            	;
         
     | 
| 
       3057 
     | 
    
         
            -
             
     | 
| 
       3058 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 3099 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"asJavascript",{}, smalltalk.String)})},
         
     | 
| 
       3059 
3100 
     | 
    
         
             
            args: [],
         
     | 
| 
       3060 
3101 
     | 
    
         
             
            source: "asJavascript\x0a\x09<\x0a\x09\x09if(self.search(/^[a-zA-Z0-9_:.$ ]*$/) == -1)\x0a\x09\x09\x09return \x22\x5c\x22\x22 + self.replace(/[\x5cx00-\x5cx1f\x22\x5c\x5c\x5cx7f-\x5cx9f]/g, function(ch){var c=ch.charCodeAt(0);return \x22\x5c\x5cx\x22+(\x220\x22+c.toString(16)).slice(-2)}) + \x22\x5c\x22\x22;\x0a\x09\x09else\x0a\x09\x09\x09return \x22\x5c\x22\x22 + self + \x22\x5c\x22\x22;\x0a\x09>",
         
     | 
| 
       3061 
3102 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -3070,9 +3111,8 @@ selector: "asLowercase", 
     | 
|
| 
       3070 
3111 
     | 
    
         
             
            category: 'converting',
         
     | 
| 
       3071 
3112 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       3072 
3113 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3073 
     | 
    
         
            -
            return  
     | 
| 
       3074 
     | 
    
         
            -
             
     | 
| 
       3075 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 3114 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3115 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"asLowercase",{}, smalltalk.String)})},
         
     | 
| 
       3076 
3116 
     | 
    
         
             
            args: [],
         
     | 
| 
       3077 
3117 
     | 
    
         
             
            source: "asLowercase\x0a\x09<return self.toLowerCase()>",
         
     | 
| 
       3078 
3118 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -3087,9 +3127,8 @@ selector: "asNumber", 
     | 
|
| 
       3087 
3127 
     | 
    
         
             
            category: 'converting',
         
     | 
| 
       3088 
3128 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       3089 
3129 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3090 
     | 
    
         
            -
            return  
     | 
| 
       3091 
     | 
    
         
            -
             
     | 
| 
       3092 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 3130 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3131 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"asNumber",{}, smalltalk.String)})},
         
     | 
| 
       3093 
3132 
     | 
    
         
             
            args: [],
         
     | 
| 
       3094 
3133 
     | 
    
         
             
            source: "asNumber\x0a\x09<return Number(self)>",
         
     | 
| 
       3095 
3134 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -3097,6 +3136,24 @@ referencedClasses: [] 
     | 
|
| 
       3097 
3136 
     | 
    
         
             
            }),
         
     | 
| 
       3098 
3137 
     | 
    
         
             
            smalltalk.String);
         
     | 
| 
       3099 
3138 
     | 
    
         | 
| 
      
 3139 
     | 
    
         
            +
            smalltalk.addMethod(
         
     | 
| 
      
 3140 
     | 
    
         
            +
            "_asRegexp",
         
     | 
| 
      
 3141 
     | 
    
         
            +
            smalltalk.method({
         
     | 
| 
      
 3142 
     | 
    
         
            +
            selector: "asRegexp",
         
     | 
| 
      
 3143 
     | 
    
         
            +
            category: 'converting',
         
     | 
| 
      
 3144 
     | 
    
         
            +
            fn: function (){
         
     | 
| 
      
 3145 
     | 
    
         
            +
            var self=this;
         
     | 
| 
      
 3146 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3147 
     | 
    
         
            +
            $1=_st((smalltalk.RegularExpression || RegularExpression))._fromString_(self);
         
     | 
| 
      
 3148 
     | 
    
         
            +
            return $1;
         
     | 
| 
      
 3149 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"asRegexp",{}, smalltalk.String)})},
         
     | 
| 
      
 3150 
     | 
    
         
            +
            args: [],
         
     | 
| 
      
 3151 
     | 
    
         
            +
            source: "asRegexp\x0a\x09^ RegularExpression fromString: self",
         
     | 
| 
      
 3152 
     | 
    
         
            +
            messageSends: ["fromString:"],
         
     | 
| 
      
 3153 
     | 
    
         
            +
            referencedClasses: ["RegularExpression"]
         
     | 
| 
      
 3154 
     | 
    
         
            +
            }),
         
     | 
| 
      
 3155 
     | 
    
         
            +
            smalltalk.String);
         
     | 
| 
      
 3156 
     | 
    
         
            +
             
     | 
| 
       3100 
3157 
     | 
    
         
             
            smalltalk.addMethod(
         
     | 
| 
       3101 
3158 
     | 
    
         
             
            "_asSelector",
         
     | 
| 
       3102 
3159 
     | 
    
         
             
            smalltalk.method({
         
     | 
| 
         @@ -3104,23 +3161,11 @@ selector: "asSelector", 
     | 
|
| 
       3104 
3161 
     | 
    
         
             
            category: 'converting',
         
     | 
| 
       3105 
3162 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       3106 
3163 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3107 
     | 
    
         
            -
             
     | 
| 
       3108 
     | 
    
         
            -
             
     | 
| 
       3109 
     | 
    
         
            -
            selector=smalltalk.send(selector,"_replace_with_",[":","_"]);
         
     | 
| 
       3110 
     | 
    
         
            -
            selector=smalltalk.send(selector,"_replace_with_",["[+]","_plus"]);
         
     | 
| 
       3111 
     | 
    
         
            -
            selector=smalltalk.send(selector,"_replace_with_",["-","_minus"]);
         
     | 
| 
       3112 
     | 
    
         
            -
            selector=smalltalk.send(selector,"_replace_with_",["[*]","_star"]);
         
     | 
| 
       3113 
     | 
    
         
            -
            selector=smalltalk.send(selector,"_replace_with_",["[/]","_slash"]);
         
     | 
| 
       3114 
     | 
    
         
            -
            selector=smalltalk.send(selector,"_replace_with_",[">","_gt"]);
         
     | 
| 
       3115 
     | 
    
         
            -
            selector=smalltalk.send(selector,"_replace_with_",["<","_lt"]);
         
     | 
| 
       3116 
     | 
    
         
            -
            selector=smalltalk.send(selector,"_replace_with_",["=","_eq"]);
         
     | 
| 
       3117 
     | 
    
         
            -
            selector=smalltalk.send(selector,"_replace_with_",[",","_comma"]);
         
     | 
| 
       3118 
     | 
    
         
            -
            selector=smalltalk.send(selector,"_replace_with_",["[@]","_at"]);
         
     | 
| 
       3119 
     | 
    
         
            -
            return selector;
         
     | 
| 
       3120 
     | 
    
         
            -
            },
         
     | 
| 
      
 3164 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3165 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"asSelector",{}, smalltalk.String)})},
         
     | 
| 
       3121 
3166 
     | 
    
         
             
            args: [],
         
     | 
| 
       3122 
     | 
    
         
            -
            source: "asSelector\x0a\x09 
     | 
| 
       3123 
     | 
    
         
            -
            messageSends: [ 
     | 
| 
      
 3167 
     | 
    
         
            +
            source: "asSelector\x0a\x09<return smalltalk.selector(self)>",
         
     | 
| 
      
 3168 
     | 
    
         
            +
            messageSends: [],
         
     | 
| 
       3124 
3169 
     | 
    
         
             
            referencedClasses: []
         
     | 
| 
       3125 
3170 
     | 
    
         
             
            }),
         
     | 
| 
       3126 
3171 
     | 
    
         
             
            smalltalk.String);
         
     | 
| 
         @@ -3132,8 +3177,10 @@ selector: "asString", 
     | 
|
| 
       3132 
3177 
     | 
    
         
             
            category: 'converting',
         
     | 
| 
       3133 
3178 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       3134 
3179 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3135 
     | 
    
         
            -
            return  
     | 
| 
       3136 
     | 
    
         
            -
             
     | 
| 
      
 3180 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3181 
     | 
    
         
            +
            $1=self;
         
     | 
| 
      
 3182 
     | 
    
         
            +
            return $1;
         
     | 
| 
      
 3183 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"asString",{}, smalltalk.String)})},
         
     | 
| 
       3137 
3184 
     | 
    
         
             
            args: [],
         
     | 
| 
       3138 
3185 
     | 
    
         
             
            source: "asString\x0a\x09^self",
         
     | 
| 
       3139 
3186 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -3148,10 +3195,10 @@ selector: "asSymbol", 
     | 
|
| 
       3148 
3195 
     | 
    
         
             
            category: 'converting',
         
     | 
| 
       3149 
3196 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       3150 
3197 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3151 
     | 
    
         
            -
             
     | 
| 
       3152 
     | 
    
         
            -
            $1= 
     | 
| 
      
 3198 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3199 
     | 
    
         
            +
            $1=_st((smalltalk.Symbol || Symbol))._lookup_(self);
         
     | 
| 
       3153 
3200 
     | 
    
         
             
            return $1;
         
     | 
| 
       3154 
     | 
    
         
            -
            },
         
     | 
| 
      
 3201 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"asSymbol",{}, smalltalk.String)})},
         
     | 
| 
       3155 
3202 
     | 
    
         
             
            args: [],
         
     | 
| 
       3156 
3203 
     | 
    
         
             
            source: "asSymbol\x0a\x09^Symbol lookup: self",
         
     | 
| 
       3157 
3204 
     | 
    
         
             
            messageSends: ["lookup:"],
         
     | 
| 
         @@ -3166,9 +3213,8 @@ selector: "asUppercase", 
     | 
|
| 
       3166 
3213 
     | 
    
         
             
            category: 'converting',
         
     | 
| 
       3167 
3214 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       3168 
3215 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3169 
     | 
    
         
            -
            return  
     | 
| 
       3170 
     | 
    
         
            -
             
     | 
| 
       3171 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 3216 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3217 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"asUppercase",{}, smalltalk.String)})},
         
     | 
| 
       3172 
3218 
     | 
    
         
             
            args: [],
         
     | 
| 
       3173 
3219 
     | 
    
         
             
            source: "asUppercase\x0a\x09<return self.toUpperCase()>",
         
     | 
| 
       3174 
3220 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -3183,9 +3229,8 @@ selector: "asciiValue", 
     | 
|
| 
       3183 
3229 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       3184 
3230 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       3185 
3231 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3186 
     | 
    
         
            -
            return  
     | 
| 
       3187 
     | 
    
         
            -
             
     | 
| 
       3188 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 3232 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3233 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"asciiValue",{}, smalltalk.String)})},
         
     | 
| 
       3189 
3234 
     | 
    
         
             
            args: [],
         
     | 
| 
       3190 
3235 
     | 
    
         
             
            source: "asciiValue\x0a\x09<return self.charCodeAt(0);>",
         
     | 
| 
       3191 
3236 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -3200,9 +3245,8 @@ selector: "at:ifAbsent:", 
     | 
|
| 
       3200 
3245 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       3201 
3246 
     | 
    
         
             
            fn: function (anIndex,aBlock){
         
     | 
| 
       3202 
3247 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3203 
     | 
    
         
            -
            return  
     | 
| 
       3204 
     | 
    
         
            -
             
     | 
| 
       3205 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 3248 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3249 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"at:ifAbsent:",{anIndex:anIndex,aBlock:aBlock}, smalltalk.String)})},
         
     | 
| 
       3206 
3250 
     | 
    
         
             
            args: ["anIndex", "aBlock"],
         
     | 
| 
       3207 
3251 
     | 
    
         
             
            source: "at: anIndex ifAbsent: aBlock\x0a\x09<return String(self).charAt(anIndex - 1) || aBlock()>",
         
     | 
| 
       3208 
3252 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -3217,9 +3261,8 @@ selector: "copyFrom:to:", 
     | 
|
| 
       3217 
3261 
     | 
    
         
             
            category: 'copying',
         
     | 
| 
       3218 
3262 
     | 
    
         
             
            fn: function (anIndex,anotherIndex){
         
     | 
| 
       3219 
3263 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3220 
     | 
    
         
            -
            return  
     | 
| 
       3221 
     | 
    
         
            -
             
     | 
| 
       3222 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 3264 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3265 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"copyFrom:to:",{anIndex:anIndex,anotherIndex:anotherIndex}, smalltalk.String)})},
         
     | 
| 
       3223 
3266 
     | 
    
         
             
            args: ["anIndex", "anotherIndex"],
         
     | 
| 
       3224 
3267 
     | 
    
         
             
            source: "copyFrom: anIndex to: anotherIndex\x0a\x09<return self.substring(anIndex - 1, anotherIndex)>",
         
     | 
| 
       3225 
3268 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -3234,10 +3277,10 @@ selector: "deepCopy", 
     | 
|
| 
       3234 
3277 
     | 
    
         
             
            category: 'copying',
         
     | 
| 
       3235 
3278 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       3236 
3279 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3237 
     | 
    
         
            -
             
     | 
| 
       3238 
     | 
    
         
            -
            $1= 
     | 
| 
      
 3280 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3281 
     | 
    
         
            +
            $1=_st(self)._shallowCopy();
         
     | 
| 
       3239 
3282 
     | 
    
         
             
            return $1;
         
     | 
| 
       3240 
     | 
    
         
            -
            },
         
     | 
| 
      
 3283 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"deepCopy",{}, smalltalk.String)})},
         
     | 
| 
       3241 
3284 
     | 
    
         
             
            args: [],
         
     | 
| 
       3242 
3285 
     | 
    
         
             
            source: "deepCopy\x0a\x09^self shallowCopy",
         
     | 
| 
       3243 
3286 
     | 
    
         
             
            messageSends: ["shallowCopy"],
         
     | 
| 
         @@ -3252,9 +3295,8 @@ selector: "do:", 
     | 
|
| 
       3252 
3295 
     | 
    
         
             
            category: 'enumerating',
         
     | 
| 
       3253 
3296 
     | 
    
         
             
            fn: function (aBlock){
         
     | 
| 
       3254 
3297 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3255 
     | 
    
         
            -
             
     | 
| 
       3256 
     | 
    
         
            -
             
     | 
| 
       3257 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 3298 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3299 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"do:",{aBlock:aBlock}, smalltalk.String)})},
         
     | 
| 
       3258 
3300 
     | 
    
         
             
            args: ["aBlock"],
         
     | 
| 
       3259 
3301 
     | 
    
         
             
            source: "do: aBlock\x0a\x09<for(var i=0;i<self.length;i++){aBlock(self.charAt(i));}>",
         
     | 
| 
       3260 
3302 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -3269,9 +3311,8 @@ selector: "escaped", 
     | 
|
| 
       3269 
3311 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       3270 
3312 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       3271 
3313 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3272 
     | 
    
         
            -
            return  
     | 
| 
       3273 
     | 
    
         
            -
             
     | 
| 
       3274 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 3314 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3315 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"escaped",{}, smalltalk.String)})},
         
     | 
| 
       3275 
3316 
     | 
    
         
             
            args: [],
         
     | 
| 
       3276 
3317 
     | 
    
         
             
            source: "escaped\x0a\x09<return escape(self)>",
         
     | 
| 
       3277 
3318 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -3286,9 +3327,8 @@ selector: "includesSubString:", 
     | 
|
| 
       3286 
3327 
     | 
    
         
             
            category: 'testing',
         
     | 
| 
       3287 
3328 
     | 
    
         
             
            fn: function (subString){
         
     | 
| 
       3288 
3329 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3289 
     | 
    
         
            -
             
     | 
| 
       3290 
     | 
    
         
            -
            ;
         
     | 
| 
       3291 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 3330 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
       3292 
3331 
     | 
    
         
             
            return self.indexOf(subString) != -1 ;
         
     | 
| 
      
 3332 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"includesSubString:",{subString:subString}, smalltalk.String)})},
         
     | 
| 
       3293 
3333 
     | 
    
         
             
            args: ["subString"],
         
     | 
| 
       3294 
3334 
     | 
    
         
             
            source: "includesSubString: subString\x0a\x09< return self.indexOf(subString) != -1 >",
         
     | 
| 
       3295 
3335 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -3303,8 +3343,8 @@ selector: "isString", 
     | 
|
| 
       3303 
3343 
     | 
    
         
             
            category: 'testing',
         
     | 
| 
       3304 
3344 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       3305 
3345 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3306 
     | 
    
         
            -
            return  
     | 
| 
       3307 
     | 
    
         
            -
            },
         
     | 
| 
      
 3346 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3347 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"isString",{}, smalltalk.String)})},
         
     | 
| 
       3308 
3348 
     | 
    
         
             
            args: [],
         
     | 
| 
       3309 
3349 
     | 
    
         
             
            source: "isString\x0a\x09^true",
         
     | 
| 
       3310 
3350 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -3319,16 +3359,16 @@ selector: "join:", 
     | 
|
| 
       3319 
3359 
     | 
    
         
             
            category: 'split join',
         
     | 
| 
       3320 
3360 
     | 
    
         
             
            fn: function (aCollection){
         
     | 
| 
       3321 
3361 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3322 
     | 
    
         
            -
             
     | 
| 
       3323 
     | 
    
         
            -
            $1= 
     | 
| 
       3324 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       3325 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       3326 
     | 
    
         
            -
            }),(function(){
         
     | 
| 
       3327 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       3328 
     | 
    
         
            -
            }) 
     | 
| 
       3329 
     | 
    
         
            -
            }) 
     | 
| 
      
 3362 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3363 
     | 
    
         
            +
            $1=_st((smalltalk.String || String))._streamContents_((function(stream){
         
     | 
| 
      
 3364 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 3365 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx3) {
         
     | 
| 
      
 3366 
     | 
    
         
            +
            }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}),(function(){
         
     | 
| 
      
 3367 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx3) {
         
     | 
| 
      
 3368 
     | 
    
         
            +
            }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
         
     | 
| 
      
 3369 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})}));
         
     | 
| 
       3330 
3370 
     | 
    
         
             
            return $1;
         
     | 
| 
       3331 
     | 
    
         
            -
            },
         
     | 
| 
      
 3371 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"join:",{aCollection:aCollection}, smalltalk.String)})},
         
     | 
| 
       3332 
3372 
     | 
    
         
             
            args: ["aCollection"],
         
     | 
| 
       3333 
3373 
     | 
    
         
             
            source: "join: aCollection \x0a\x09^ String\x0a\x09\x09streamContents: [:stream | aCollection\x0a\x09\x09\x09\x09do: [:each | stream nextPutAll: each asString] \x0a\x09\x09\x09\x09separatedBy: [stream nextPutAll: self]]",
         
     | 
| 
       3334 
3374 
     | 
    
         
             
            messageSends: ["streamContents:", "do:separatedBy:", "nextPutAll:", "asString"],
         
     | 
| 
         @@ -3343,64 +3383,64 @@ selector: "lineIndicesDo:", 
     | 
|
| 
       3343 
3383 
     | 
    
         
             
            category: 'split join',
         
     | 
| 
       3344 
3384 
     | 
    
         
             
            fn: function (aBlock){
         
     | 
| 
       3345 
3385 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3346 
     | 
    
         
            -
            var  
     | 
| 
      
 3386 
     | 
    
         
            +
            var cr,lf,start,sz,nextLF,nextCR;
         
     | 
| 
      
 3387 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
       3347 
3388 
     | 
    
         
             
            var $early={};
         
     | 
| 
       3348 
3389 
     | 
    
         
             
            try {
         
     | 
| 
       3349 
     | 
    
         
            -
            var cr;
         
     | 
| 
       3350 
     | 
    
         
            -
            var lf;
         
     | 
| 
       3351 
     | 
    
         
            -
            var start;
         
     | 
| 
       3352 
     | 
    
         
            -
            var sz;
         
     | 
| 
       3353 
     | 
    
         
            -
            var nextLF;
         
     | 
| 
       3354 
     | 
    
         
            -
            var nextCR;
         
     | 
| 
       3355 
3390 
     | 
    
         
             
            start=(1);
         
     | 
| 
       3356 
     | 
    
         
            -
            sz= 
     | 
| 
       3357 
     | 
    
         
            -
            cr= 
     | 
| 
       3358 
     | 
    
         
            -
            nextCR= 
     | 
| 
       3359 
     | 
    
         
            -
            lf= 
     | 
| 
       3360 
     | 
    
         
            -
            nextLF= 
     | 
| 
       3361 
     | 
    
         
            -
             
     | 
| 
       3362 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       3363 
     | 
    
         
            -
            } 
     | 
| 
       3364 
     | 
    
         
            -
            $ 
     | 
| 
       3365 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       3366 
     | 
    
         
            -
             
     | 
| 
       3367 
     | 
    
         
            -
             
     | 
| 
       3368 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       3369 
     | 
    
         
            -
             
     | 
| 
      
 3391 
     | 
    
         
            +
            sz=_st(self)._size();
         
     | 
| 
      
 3392 
     | 
    
         
            +
            cr=_st((smalltalk.String || String))._cr();
         
     | 
| 
      
 3393 
     | 
    
         
            +
            nextCR=_st(self)._indexOf_startingAt_(cr,(1));
         
     | 
| 
      
 3394 
     | 
    
         
            +
            lf=_st((smalltalk.String || String))._lf();
         
     | 
| 
      
 3395 
     | 
    
         
            +
            nextLF=_st(self)._indexOf_startingAt_(lf,(1));
         
     | 
| 
      
 3396 
     | 
    
         
            +
            $1=(function(){
         
     | 
| 
      
 3397 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 3398 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})});
         
     | 
| 
      
 3399 
     | 
    
         
            +
            $2=(function(){
         
     | 
| 
      
 3400 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 3401 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx3) {
         
     | 
| 
      
 3402 
     | 
    
         
            +
            }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
         
     | 
| 
      
 3403 
     | 
    
         
            +
            if(smalltalk.assert($3)){
         
     | 
| 
      
 3404 
     | 
    
         
            +
            _st(aBlock)._value_value_value_(start,sz,sz);
         
     | 
| 
      
 3405 
     | 
    
         
            +
            $4=self;
         
     | 
| 
      
 3406 
     | 
    
         
            +
            throw $early=[$4];
         
     | 
| 
       3370 
3407 
     | 
    
         
             
            };
         
     | 
| 
       3371 
     | 
    
         
            -
            $ 
     | 
| 
       3372 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       3373 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       3374 
     | 
    
         
            -
            }) 
     | 
| 
       3375 
     | 
    
         
            -
            }) 
     | 
| 
       3376 
     | 
    
         
            -
             
     | 
| 
       3377 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       3378 
     | 
    
         
            -
            start= 
     | 
| 
      
 3408 
     | 
    
         
            +
            $5=_st(_st(nextCR).__eq((0)))._or_((function(){
         
     | 
| 
      
 3409 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx3) {
         
     | 
| 
      
 3410 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx4) {
         
     | 
| 
      
 3411 
     | 
    
         
            +
            }, function($ctx4) {$ctx4.fillBlock({},$ctx1)})}));
         
     | 
| 
      
 3412 
     | 
    
         
            +
            }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
         
     | 
| 
      
 3413 
     | 
    
         
            +
            $6=(function(){
         
     | 
| 
      
 3414 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx3) {
         
     | 
| 
      
 3415 
     | 
    
         
            +
            start=_st((1)).__plus(nextLF);
         
     | 
| 
       3379 
3416 
     | 
    
         
             
            start;
         
     | 
| 
       3380 
     | 
    
         
            -
            nextLF= 
     | 
| 
      
 3417 
     | 
    
         
            +
            nextLF=_st(self)._indexOf_startingAt_(lf,start);
         
     | 
| 
       3381 
3418 
     | 
    
         
             
            return nextLF;
         
     | 
| 
       3382 
     | 
    
         
            -
            }  
     | 
| 
       3383 
     | 
    
         
            -
            $ 
     | 
| 
       3384 
     | 
    
         
            -
             
     | 
| 
       3385 
     | 
    
         
            -
             
     | 
| 
       3386 
     | 
    
         
            -
            start 
     | 
| 
      
 3419 
     | 
    
         
            +
            }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})});
         
     | 
| 
      
 3420 
     | 
    
         
            +
            $7=(function(){
         
     | 
| 
      
 3421 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx3) {
         
     | 
| 
      
 3422 
     | 
    
         
            +
            if(smalltalk.assert($8)){
         
     | 
| 
      
 3423 
     | 
    
         
            +
            _st(aBlock)._value_value_value_(start,_st(nextCR).__minus((1)),nextLF);
         
     | 
| 
      
 3424 
     | 
    
         
            +
            start=_st((1)).__plus(nextLF);
         
     | 
| 
       3387 
3425 
     | 
    
         
             
            start;
         
     | 
| 
       3388 
     | 
    
         
            -
            nextCR= 
     | 
| 
      
 3426 
     | 
    
         
            +
            nextCR=_st(self)._indexOf_startingAt_(cr,start);
         
     | 
| 
       3389 
3427 
     | 
    
         
             
            nextCR;
         
     | 
| 
       3390 
     | 
    
         
            -
            nextLF= 
     | 
| 
      
 3428 
     | 
    
         
            +
            nextLF=_st(self)._indexOf_startingAt_(lf,start);
         
     | 
| 
       3391 
3429 
     | 
    
         
             
            return nextLF;
         
     | 
| 
       3392 
3430 
     | 
    
         
             
            } else {
         
     | 
| 
       3393 
     | 
    
         
            -
             
     | 
| 
       3394 
     | 
    
         
            -
            start= 
     | 
| 
      
 3431 
     | 
    
         
            +
            _st(aBlock)._value_value_value_(start,_st(nextCR).__minus((1)),nextCR);
         
     | 
| 
      
 3432 
     | 
    
         
            +
            start=_st((1)).__plus(nextCR);
         
     | 
| 
       3395 
3433 
     | 
    
         
             
            start;
         
     | 
| 
       3396 
     | 
    
         
            -
            nextCR= 
     | 
| 
      
 3434 
     | 
    
         
            +
            nextCR=_st(self)._indexOf_startingAt_(cr,start);
         
     | 
| 
       3397 
3435 
     | 
    
         
             
            return nextCR;
         
     | 
| 
       3398 
3436 
     | 
    
         
             
            };
         
     | 
| 
       3399 
     | 
    
         
            -
            };
         
     | 
| 
       3400 
     | 
    
         
            -
             
     | 
| 
      
 3437 
     | 
    
         
            +
            }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})});
         
     | 
| 
      
 3438 
     | 
    
         
            +
            return _st($5)._ifTrue_ifFalse_($6,$7);
         
     | 
| 
      
 3439 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})});
         
     | 
| 
      
 3440 
     | 
    
         
            +
            _st($1)._whileTrue_($2);
         
     | 
| 
       3401 
3441 
     | 
    
         
             
            return self}
         
     | 
| 
       3402 
3442 
     | 
    
         
             
            catch(e) {if(e===$early)return e[0]; throw e}
         
     | 
| 
       3403 
     | 
    
         
            -
            },
         
     | 
| 
      
 3443 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"lineIndicesDo:",{aBlock:aBlock,cr:cr,lf:lf,start:start,sz:sz,nextLF:nextLF,nextCR:nextCR}, smalltalk.String)})},
         
     | 
| 
       3404 
3444 
     | 
    
         
             
            args: ["aBlock"],
         
     | 
| 
       3405 
3445 
     | 
    
         
             
            source: "lineIndicesDo: aBlock\x0a\x09\x22execute aBlock with 3 arguments for each line:\x0a\x09- start index of line\x0a\x09- end index of line without line delimiter\x0a\x09- end index of line including line delimiter(s) CR, LF or CRLF\x22\x0a\x09\x0a\x09| cr lf start sz nextLF nextCR |\x0a\x09start := 1.\x0a\x09sz := self size.\x0a\x09cr := String cr.\x0a\x09nextCR := self indexOf: cr startingAt: 1.\x0a\x09lf := String lf.\x0a\x09nextLF := self indexOf: lf startingAt: 1.\x0a\x09[ start <= sz ] whileTrue: [\x0a\x09\x09(nextLF = 0 and: [ nextCR = 0 ])\x0a\x09\x09\x09ifTrue: [ \x22No more CR, nor LF, the string is over\x22\x0a\x09\x09\x09\x09\x09aBlock value: start value: sz value: sz.\x0a\x09\x09\x09\x09\x09^self ].\x0a\x09\x09(nextCR = 0 or: [ 0 < nextLF and: [ nextLF < nextCR ] ])\x0a\x09\x09\x09ifTrue: [ \x22Found a LF\x22\x0a\x09\x09\x09\x09\x09aBlock value: start value: nextLF - 1 value: nextLF.\x0a\x09\x09\x09\x09\x09start := 1 + nextLF.\x0a\x09\x09\x09\x09\x09nextLF := self indexOf: lf startingAt: start ]\x0a\x09\x09\x09ifFalse: [ 1 + nextCR = nextLF\x0a\x09\x09\x09\x09ifTrue: [ \x22Found a CR-LF pair\x22\x0a\x09\x09\x09\x09\x09aBlock value: start value: nextCR - 1 value: nextLF.\x0a\x09\x09\x09\x09\x09start := 1 + nextLF.\x0a\x09\x09\x09\x09\x09nextCR := self indexOf: cr startingAt: start.\x0a\x09\x09\x09\x09\x09nextLF := self indexOf: lf startingAt: start ]\x0a\x09\x09\x09\x09ifFalse: [ \x22Found a CR\x22\x0a\x09\x09\x09\x09\x09aBlock value: start value: nextCR - 1 value: nextCR.\x0a\x09\x09\x09\x09\x09start := 1 + nextCR.\x0a\x09\x09\x09\x09\x09nextCR := self indexOf: cr startingAt: start ]]]",
         
     | 
| 
       3406 
3446 
     | 
    
         
             
            messageSends: ["size", "cr", "indexOf:startingAt:", "lf", "whileTrue:", "ifTrue:", "value:value:value:", "and:", "=", "ifTrue:ifFalse:", "-", "+", "or:", "<", "<="],
         
     | 
| 
         @@ -3415,23 +3455,25 @@ selector: "lineNumber:", 
     | 
|
| 
       3415 
3455 
     | 
    
         
             
            category: 'split join',
         
     | 
| 
       3416 
3456 
     | 
    
         
             
            fn: function (anIndex){
         
     | 
| 
       3417 
3457 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3418 
     | 
    
         
            -
            var  
     | 
| 
      
 3458 
     | 
    
         
            +
            var lineCount;
         
     | 
| 
      
 3459 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
       3419 
3460 
     | 
    
         
             
            var $early={};
         
     | 
| 
       3420 
3461 
     | 
    
         
             
            try {
         
     | 
| 
       3421 
     | 
    
         
            -
            var lineCount;
         
     | 
| 
       3422 
3462 
     | 
    
         
             
            lineCount=(0);
         
     | 
| 
       3423 
     | 
    
         
            -
             
     | 
| 
       3424 
     | 
    
         
            -
             
     | 
| 
       3425 
     | 
    
         
            -
             
     | 
| 
       3426 
     | 
    
         
            -
             
     | 
| 
       3427 
     | 
    
         
            -
             
     | 
| 
       3428 
     | 
    
         
            -
             
     | 
| 
      
 3463 
     | 
    
         
            +
            $1=self;
         
     | 
| 
      
 3464 
     | 
    
         
            +
            $2=(function(start,endWithoutDelimiters,end){
         
     | 
| 
      
 3465 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 3466 
     | 
    
         
            +
            $3=_st(lineCount).__eq(anIndex);
         
     | 
| 
      
 3467 
     | 
    
         
            +
            if(smalltalk.assert($3)){
         
     | 
| 
      
 3468 
     | 
    
         
            +
            $4=_st(self)._copyFrom_to_(start,endWithoutDelimiters);
         
     | 
| 
      
 3469 
     | 
    
         
            +
            throw $early=[$4];
         
     | 
| 
       3429 
3470 
     | 
    
         
             
            };
         
     | 
| 
       3430 
     | 
    
         
            -
            }) 
     | 
| 
      
 3471 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({start:start,endWithoutDelimiters:endWithoutDelimiters,end:end},$ctx1)})});
         
     | 
| 
      
 3472 
     | 
    
         
            +
            _st($1)._lineIndicesDo_($2);
         
     | 
| 
       3431 
3473 
     | 
    
         
             
            return nil;
         
     | 
| 
       3432 
3474 
     | 
    
         
             
            }
         
     | 
| 
       3433 
3475 
     | 
    
         
             
            catch(e) {if(e===$early)return e[0]; throw e}
         
     | 
| 
       3434 
     | 
    
         
            -
            },
         
     | 
| 
      
 3476 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"lineNumber:",{anIndex:anIndex,lineCount:lineCount}, smalltalk.String)})},
         
     | 
| 
       3435 
3477 
     | 
    
         
             
            args: ["anIndex"],
         
     | 
| 
       3436 
3478 
     | 
    
         
             
            source: "lineNumber: anIndex\x0a\x09\x22Answer a string containing the characters in the given line number.\x22\x0a\x0a\x09| lineCount |\x0a\x09lineCount := 0.\x0a\x09self lineIndicesDo: [:start :endWithoutDelimiters :end |\x0a\x09\x09(lineCount := lineCount + 1) = anIndex ifTrue: [^self copyFrom: start to: endWithoutDelimiters]].\x0a\x09^nil",
         
     | 
| 
       3437 
3479 
     | 
    
         
             
            messageSends: ["lineIndicesDo:", "ifTrue:", "copyFrom:to:", "=", "+"],
         
     | 
| 
         @@ -3447,12 +3489,14 @@ category: 'split join', 
     | 
|
| 
       3447 
3489 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       3448 
3490 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3449 
3491 
     | 
    
         
             
            var lines;
         
     | 
| 
       3450 
     | 
    
         
            -
             
     | 
| 
       3451 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       3452 
     | 
    
         
            -
             
     | 
| 
       3453 
     | 
    
         
            -
             
     | 
| 
       3454 
     | 
    
         
            -
             
     | 
| 
       3455 
     | 
    
         
            -
             
     | 
| 
      
 3492 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3493 
     | 
    
         
            +
            lines=_st((smalltalk.Array || Array))._new();
         
     | 
| 
      
 3494 
     | 
    
         
            +
            _st(self)._linesDo_((function(aLine){
         
     | 
| 
      
 3495 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 3496 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({aLine:aLine},$ctx1)})}));
         
     | 
| 
      
 3497 
     | 
    
         
            +
            $1=lines;
         
     | 
| 
      
 3498 
     | 
    
         
            +
            return $1;
         
     | 
| 
      
 3499 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"lines",{lines:lines}, smalltalk.String)})},
         
     | 
| 
       3456 
3500 
     | 
    
         
             
            args: [],
         
     | 
| 
       3457 
3501 
     | 
    
         
             
            source: "lines\x0a\x09\x22Answer an array of lines composing this receiver without the line ending delimiters.\x22\x0a\x0a\x09| lines |\x0a\x09lines := Array new.\x0a\x09self linesDo: [:aLine | lines add: aLine].\x0a\x09^lines",
         
     | 
| 
       3458 
3502 
     | 
    
         
             
            messageSends: ["new", "linesDo:", "add:"],
         
     | 
| 
         @@ -3467,10 +3511,10 @@ selector: "linesDo:", 
     | 
|
| 
       3467 
3511 
     | 
    
         
             
            category: 'split join',
         
     | 
| 
       3468 
3512 
     | 
    
         
             
            fn: function (aBlock){
         
     | 
| 
       3469 
3513 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3470 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       3471 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       3472 
     | 
    
         
            -
            }) 
     | 
| 
       3473 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 3514 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3515 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 3516 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({start:start,endWithoutDelimiters:endWithoutDelimiters,end:end},$ctx1)})}));
         
     | 
| 
      
 3517 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"linesDo:",{aBlock:aBlock}, smalltalk.String)})},
         
     | 
| 
       3474 
3518 
     | 
    
         
             
            args: ["aBlock"],
         
     | 
| 
       3475 
3519 
     | 
    
         
             
            source: "linesDo: aBlock\x0a\x09\x22Execute aBlock with each line in this string. The terminating line\x0a\x09delimiters CR, LF or CRLF pairs are not included in what is passed to aBlock\x22\x0a\x0a\x09self lineIndicesDo: [:start :endWithoutDelimiters :end |\x0a\x09\x09aBlock value: (self copyFrom: start to: endWithoutDelimiters)]",
         
     | 
| 
       3476 
3520 
     | 
    
         
             
            messageSends: ["lineIndicesDo:", "value:", "copyFrom:to:"],
         
     | 
| 
         @@ -3485,9 +3529,8 @@ selector: "match:", 
     | 
|
| 
       3485 
3529 
     | 
    
         
             
            category: 'regular expressions',
         
     | 
| 
       3486 
3530 
     | 
    
         
             
            fn: function (aRegexp){
         
     | 
| 
       3487 
3531 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3488 
     | 
    
         
            -
            return  
     | 
| 
       3489 
     | 
    
         
            -
             
     | 
| 
       3490 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 3532 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3533 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"match:",{aRegexp:aRegexp}, smalltalk.String)})},
         
     | 
| 
       3491 
3534 
     | 
    
         
             
            args: ["aRegexp"],
         
     | 
| 
       3492 
3535 
     | 
    
         
             
            source: "match: aRegexp\x0a\x09<return self.search(aRegexp) != -1>",
         
     | 
| 
       3493 
3536 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -3502,9 +3545,8 @@ selector: "matchesOf:", 
     | 
|
| 
       3502 
3545 
     | 
    
         
             
            category: 'regular expressions',
         
     | 
| 
       3503 
3546 
     | 
    
         
             
            fn: function (aRegularExpression){
         
     | 
| 
       3504 
3547 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3505 
     | 
    
         
            -
            return  
     | 
| 
       3506 
     | 
    
         
            -
             
     | 
| 
       3507 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 3548 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3549 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"matchesOf:",{aRegularExpression:aRegularExpression}, smalltalk.String)})},
         
     | 
| 
       3508 
3550 
     | 
    
         
             
            args: ["aRegularExpression"],
         
     | 
| 
       3509 
3551 
     | 
    
         
             
            source: "matchesOf: aRegularExpression\x0a      <return self.match(aRegularExpression)>",
         
     | 
| 
       3510 
3552 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -3519,9 +3561,8 @@ selector: "printNl", 
     | 
|
| 
       3519 
3561 
     | 
    
         
             
            category: 'printing',
         
     | 
| 
       3520 
3562 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       3521 
3563 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3522 
     | 
    
         
            -
             
     | 
| 
       3523 
     | 
    
         
            -
             
     | 
| 
       3524 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 3564 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3565 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"printNl",{}, smalltalk.String)})},
         
     | 
| 
       3525 
3566 
     | 
    
         
             
            args: [],
         
     | 
| 
       3526 
3567 
     | 
    
         
             
            source: "printNl\x0a\x09<console.log(self)>",
         
     | 
| 
       3527 
3568 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -3536,10 +3577,10 @@ selector: "printString", 
     | 
|
| 
       3536 
3577 
     | 
    
         
             
            category: 'printing',
         
     | 
| 
       3537 
3578 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       3538 
3579 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3539 
     | 
    
         
            -
             
     | 
| 
       3540 
     | 
    
         
            -
            $1= 
     | 
| 
      
 3580 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3581 
     | 
    
         
            +
            $1=_st(_st("'").__comma(self)).__comma("'");
         
     | 
| 
       3541 
3582 
     | 
    
         
             
            return $1;
         
     | 
| 
       3542 
     | 
    
         
            -
            },
         
     | 
| 
      
 3583 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"printString",{}, smalltalk.String)})},
         
     | 
| 
       3543 
3584 
     | 
    
         
             
            args: [],
         
     | 
| 
       3544 
3585 
     | 
    
         
             
            source: "printString\x0a\x09^'''', self, ''''",
         
     | 
| 
       3545 
3586 
     | 
    
         
             
            messageSends: [","],
         
     | 
| 
         @@ -3554,10 +3595,10 @@ selector: "replace:with:", 
     | 
|
| 
       3554 
3595 
     | 
    
         
             
            category: 'regular expressions',
         
     | 
| 
       3555 
3596 
     | 
    
         
             
            fn: function (aString,anotherString){
         
     | 
| 
       3556 
3597 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3557 
     | 
    
         
            -
             
     | 
| 
       3558 
     | 
    
         
            -
            $1= 
     | 
| 
      
 3598 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3599 
     | 
    
         
            +
            $1=_st(self)._replaceRegexp_with_(_st((smalltalk.RegularExpression || RegularExpression))._fromString_flag_(aString,"g"),anotherString);
         
     | 
| 
       3559 
3600 
     | 
    
         
             
            return $1;
         
     | 
| 
       3560 
     | 
    
         
            -
            },
         
     | 
| 
      
 3601 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"replace:with:",{aString:aString,anotherString:anotherString}, smalltalk.String)})},
         
     | 
| 
       3561 
3602 
     | 
    
         
             
            args: ["aString", "anotherString"],
         
     | 
| 
       3562 
3603 
     | 
    
         
             
            source: "replace: aString with: anotherString\x0a\x09^self replaceRegexp: (RegularExpression fromString: aString flag: 'g') with: anotherString",
         
     | 
| 
       3563 
3604 
     | 
    
         
             
            messageSends: ["replaceRegexp:with:", "fromString:flag:"],
         
     | 
| 
         @@ -3572,9 +3613,8 @@ selector: "replaceRegexp:with:", 
     | 
|
| 
       3572 
3613 
     | 
    
         
             
            category: 'regular expressions',
         
     | 
| 
       3573 
3614 
     | 
    
         
             
            fn: function (aRegexp,aString){
         
     | 
| 
       3574 
3615 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3575 
     | 
    
         
            -
            return  
     | 
| 
       3576 
     | 
    
         
            -
             
     | 
| 
       3577 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 3616 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3617 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"replaceRegexp:with:",{aRegexp:aRegexp,aString:aString}, smalltalk.String)})},
         
     | 
| 
       3578 
3618 
     | 
    
         
             
            args: ["aRegexp", "aString"],
         
     | 
| 
       3579 
3619 
     | 
    
         
             
            source: "replaceRegexp: aRegexp with: aString\x0a\x09<return self.replace(aRegexp, aString)>",
         
     | 
| 
       3580 
3620 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -3589,9 +3629,8 @@ selector: "reversed", 
     | 
|
| 
       3589 
3629 
     | 
    
         
             
            category: 'converting',
         
     | 
| 
       3590 
3630 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       3591 
3631 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3592 
     | 
    
         
            -
            return  
     | 
| 
       3593 
     | 
    
         
            -
             
     | 
| 
       3594 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 3632 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3633 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"reversed",{}, smalltalk.String)})},
         
     | 
| 
       3595 
3634 
     | 
    
         
             
            args: [],
         
     | 
| 
       3596 
3635 
     | 
    
         
             
            source: "reversed\x0a\x09<return self.split(\x22\x22).reverse().join(\x22\x22)>",
         
     | 
| 
       3597 
3636 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -3606,10 +3645,10 @@ selector: "shallowCopy", 
     | 
|
| 
       3606 
3645 
     | 
    
         
             
            category: 'copying',
         
     | 
| 
       3607 
3646 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       3608 
3647 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3609 
     | 
    
         
            -
             
     | 
| 
       3610 
     | 
    
         
            -
            $1= 
     | 
| 
      
 3648 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3649 
     | 
    
         
            +
            $1=_st(_st(self)._class())._fromString_(self);
         
     | 
| 
       3611 
3650 
     | 
    
         
             
            return $1;
         
     | 
| 
       3612 
     | 
    
         
            -
            },
         
     | 
| 
      
 3651 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"shallowCopy",{}, smalltalk.String)})},
         
     | 
| 
       3613 
3652 
     | 
    
         
             
            args: [],
         
     | 
| 
       3614 
3653 
     | 
    
         
             
            source: "shallowCopy\x0a\x09^self class fromString: self",
         
     | 
| 
       3615 
3654 
     | 
    
         
             
            messageSends: ["fromString:", "class"],
         
     | 
| 
         @@ -3624,9 +3663,8 @@ selector: "size", 
     | 
|
| 
       3624 
3663 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       3625 
3664 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       3626 
3665 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3627 
     | 
    
         
            -
            return  
     | 
| 
       3628 
     | 
    
         
            -
             
     | 
| 
       3629 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 3666 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3667 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"size",{}, smalltalk.String)})},
         
     | 
| 
       3630 
3668 
     | 
    
         
             
            args: [],
         
     | 
| 
       3631 
3669 
     | 
    
         
             
            source: "size\x0a\x09<return self.length>",
         
     | 
| 
       3632 
3670 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -3641,9 +3679,8 @@ selector: "tokenize:", 
     | 
|
| 
       3641 
3679 
     | 
    
         
             
            category: 'converting',
         
     | 
| 
       3642 
3680 
     | 
    
         
             
            fn: function (aString){
         
     | 
| 
       3643 
3681 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3644 
     | 
    
         
            -
            return  
     | 
| 
       3645 
     | 
    
         
            -
             
     | 
| 
       3646 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 3682 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3683 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"tokenize:",{aString:aString}, smalltalk.String)})},
         
     | 
| 
       3647 
3684 
     | 
    
         
             
            args: ["aString"],
         
     | 
| 
       3648 
3685 
     | 
    
         
             
            source: "tokenize: aString\x0a\x09<return self.split(aString)>",
         
     | 
| 
       3649 
3686 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -3658,10 +3695,10 @@ selector: "trimBoth", 
     | 
|
| 
       3658 
3695 
     | 
    
         
             
            category: 'regular expressions',
         
     | 
| 
       3659 
3696 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       3660 
3697 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3661 
     | 
    
         
            -
             
     | 
| 
       3662 
     | 
    
         
            -
            $1= 
     | 
| 
      
 3698 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3699 
     | 
    
         
            +
            $1=_st(self)._trimBoth_("\x5cs");
         
     | 
| 
       3663 
3700 
     | 
    
         
             
            return $1;
         
     | 
| 
       3664 
     | 
    
         
            -
            },
         
     | 
| 
      
 3701 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"trimBoth",{}, smalltalk.String)})},
         
     | 
| 
       3665 
3702 
     | 
    
         
             
            args: [],
         
     | 
| 
       3666 
3703 
     | 
    
         
             
            source: "trimBoth\x0a\x09^self trimBoth: '\x5cs'",
         
     | 
| 
       3667 
3704 
     | 
    
         
             
            messageSends: ["trimBoth:"],
         
     | 
| 
         @@ -3676,10 +3713,10 @@ selector: "trimBoth:", 
     | 
|
| 
       3676 
3713 
     | 
    
         
             
            category: 'regular expressions',
         
     | 
| 
       3677 
3714 
     | 
    
         
             
            fn: function (separators){
         
     | 
| 
       3678 
3715 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3679 
     | 
    
         
            -
             
     | 
| 
       3680 
     | 
    
         
            -
            $1= 
     | 
| 
      
 3716 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3717 
     | 
    
         
            +
            $1=_st(_st(self)._trimLeft_(separators))._trimRight_(separators);
         
     | 
| 
       3681 
3718 
     | 
    
         
             
            return $1;
         
     | 
| 
       3682 
     | 
    
         
            -
            },
         
     | 
| 
      
 3719 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"trimBoth:",{separators:separators}, smalltalk.String)})},
         
     | 
| 
       3683 
3720 
     | 
    
         
             
            args: ["separators"],
         
     | 
| 
       3684 
3721 
     | 
    
         
             
            source: "trimBoth: separators\x0a\x0a\x09^(self trimLeft: separators) trimRight: separators",
         
     | 
| 
       3685 
3722 
     | 
    
         
             
            messageSends: ["trimRight:", "trimLeft:"],
         
     | 
| 
         @@ -3694,10 +3731,10 @@ selector: "trimLeft", 
     | 
|
| 
       3694 
3731 
     | 
    
         
             
            category: 'regular expressions',
         
     | 
| 
       3695 
3732 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       3696 
3733 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3697 
     | 
    
         
            -
             
     | 
| 
       3698 
     | 
    
         
            -
            $1= 
     | 
| 
      
 3734 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3735 
     | 
    
         
            +
            $1=_st(self)._trimLeft_("\x5cs");
         
     | 
| 
       3699 
3736 
     | 
    
         
             
            return $1;
         
     | 
| 
       3700 
     | 
    
         
            -
            },
         
     | 
| 
      
 3737 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"trimLeft",{}, smalltalk.String)})},
         
     | 
| 
       3701 
3738 
     | 
    
         
             
            args: [],
         
     | 
| 
       3702 
3739 
     | 
    
         
             
            source: "trimLeft\x0a\x09^self trimLeft: '\x5cs'",
         
     | 
| 
       3703 
3740 
     | 
    
         
             
            messageSends: ["trimLeft:"],
         
     | 
| 
         @@ -3712,10 +3749,10 @@ selector: "trimLeft:", 
     | 
|
| 
       3712 
3749 
     | 
    
         
             
            category: 'regular expressions',
         
     | 
| 
       3713 
3750 
     | 
    
         
             
            fn: function (separators){
         
     | 
| 
       3714 
3751 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3715 
     | 
    
         
            -
             
     | 
| 
       3716 
     | 
    
         
            -
            $1= 
     | 
| 
      
 3752 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3753 
     | 
    
         
            +
            $1=_st(self)._replaceRegexp_with_(_st((smalltalk.RegularExpression || RegularExpression))._fromString_flag_(_st(_st("^[").__comma(separators)).__comma("]+"),"g"),"");
         
     | 
| 
       3717 
3754 
     | 
    
         
             
            return $1;
         
     | 
| 
       3718 
     | 
    
         
            -
            },
         
     | 
| 
      
 3755 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"trimLeft:",{separators:separators}, smalltalk.String)})},
         
     | 
| 
       3719 
3756 
     | 
    
         
             
            args: ["separators"],
         
     | 
| 
       3720 
3757 
     | 
    
         
             
            source: "trimLeft: separators\x0a\x0a\x09^self replaceRegexp: (RegularExpression fromString: '^[', separators, ']+' flag: 'g') with: ''",
         
     | 
| 
       3721 
3758 
     | 
    
         
             
            messageSends: ["replaceRegexp:with:", "fromString:flag:", ","],
         
     | 
| 
         @@ -3730,10 +3767,10 @@ selector: "trimRight", 
     | 
|
| 
       3730 
3767 
     | 
    
         
             
            category: 'regular expressions',
         
     | 
| 
       3731 
3768 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       3732 
3769 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3733 
     | 
    
         
            -
             
     | 
| 
       3734 
     | 
    
         
            -
            $1= 
     | 
| 
      
 3770 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3771 
     | 
    
         
            +
            $1=_st(self)._trimRight_("\x5cs");
         
     | 
| 
       3735 
3772 
     | 
    
         
             
            return $1;
         
     | 
| 
       3736 
     | 
    
         
            -
            },
         
     | 
| 
      
 3773 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"trimRight",{}, smalltalk.String)})},
         
     | 
| 
       3737 
3774 
     | 
    
         
             
            args: [],
         
     | 
| 
       3738 
3775 
     | 
    
         
             
            source: "trimRight\x0a\x09^self trimRight: '\x5cs'",
         
     | 
| 
       3739 
3776 
     | 
    
         
             
            messageSends: ["trimRight:"],
         
     | 
| 
         @@ -3748,10 +3785,10 @@ selector: "trimRight:", 
     | 
|
| 
       3748 
3785 
     | 
    
         
             
            category: 'regular expressions',
         
     | 
| 
       3749 
3786 
     | 
    
         
             
            fn: function (separators){
         
     | 
| 
       3750 
3787 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3751 
     | 
    
         
            -
             
     | 
| 
       3752 
     | 
    
         
            -
            $1= 
     | 
| 
      
 3788 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3789 
     | 
    
         
            +
            $1=_st(self)._replaceRegexp_with_(_st((smalltalk.RegularExpression || RegularExpression))._fromString_flag_(_st(_st("[").__comma(separators)).__comma("]+$"),"g"),"");
         
     | 
| 
       3753 
3790 
     | 
    
         
             
            return $1;
         
     | 
| 
       3754 
     | 
    
         
            -
            },
         
     | 
| 
      
 3791 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"trimRight:",{separators:separators}, smalltalk.String)})},
         
     | 
| 
       3755 
3792 
     | 
    
         
             
            args: ["separators"],
         
     | 
| 
       3756 
3793 
     | 
    
         
             
            source: "trimRight: separators\x0a\x0a\x09^self replaceRegexp: (RegularExpression fromString: '[', separators, ']+$' flag: 'g') with: ''",
         
     | 
| 
       3757 
3794 
     | 
    
         
             
            messageSends: ["replaceRegexp:with:", "fromString:flag:", ","],
         
     | 
| 
         @@ -3766,9 +3803,8 @@ selector: "unescaped", 
     | 
|
| 
       3766 
3803 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       3767 
3804 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       3768 
3805 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3769 
     | 
    
         
            -
            return  
     | 
| 
       3770 
     | 
    
         
            -
             
     | 
| 
       3771 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 3806 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3807 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"unescaped",{}, smalltalk.String)})},
         
     | 
| 
       3772 
3808 
     | 
    
         
             
            args: [],
         
     | 
| 
       3773 
3809 
     | 
    
         
             
            source: "unescaped\x0a\x09<return unescape(self)>",
         
     | 
| 
       3774 
3810 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -3783,9 +3819,8 @@ selector: "withIndexDo:", 
     | 
|
| 
       3783 
3819 
     | 
    
         
             
            category: 'enumerating',
         
     | 
| 
       3784 
3820 
     | 
    
         
             
            fn: function (aBlock){
         
     | 
| 
       3785 
3821 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3786 
     | 
    
         
            -
             
     | 
| 
       3787 
     | 
    
         
            -
             
     | 
| 
       3788 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 3822 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3823 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"withIndexDo:",{aBlock:aBlock}, smalltalk.String)})},
         
     | 
| 
       3789 
3824 
     | 
    
         
             
            args: ["aBlock"],
         
     | 
| 
       3790 
3825 
     | 
    
         
             
            source: "withIndexDo: aBlock\x0a\x09<for(var i=0;i<self.length;i++){aBlock(self.charAt(i), i+1);}>",
         
     | 
| 
       3791 
3826 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -3801,9 +3836,8 @@ selector: "cr", 
     | 
|
| 
       3801 
3836 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       3802 
3837 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       3803 
3838 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3804 
     | 
    
         
            -
            return  
     | 
| 
       3805 
     | 
    
         
            -
             
     | 
| 
       3806 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 3839 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3840 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"cr",{}, smalltalk.String.klass)})},
         
     | 
| 
       3807 
3841 
     | 
    
         
             
            args: [],
         
     | 
| 
       3808 
3842 
     | 
    
         
             
            source: "cr\x0a\x09<return '\x5cr'>",
         
     | 
| 
       3809 
3843 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -3818,9 +3852,8 @@ selector: "crlf", 
     | 
|
| 
       3818 
3852 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       3819 
3853 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       3820 
3854 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3821 
     | 
    
         
            -
            return  
     | 
| 
       3822 
     | 
    
         
            -
             
     | 
| 
       3823 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 3855 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3856 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"crlf",{}, smalltalk.String.klass)})},
         
     | 
| 
       3824 
3857 
     | 
    
         
             
            args: [],
         
     | 
| 
       3825 
3858 
     | 
    
         
             
            source: "crlf\x0a\x09<return '\x5cr\x5cn'>",
         
     | 
| 
       3826 
3859 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -3835,9 +3868,8 @@ selector: "fromCharCode:", 
     | 
|
| 
       3835 
3868 
     | 
    
         
             
            category: 'instance creation',
         
     | 
| 
       3836 
3869 
     | 
    
         
             
            fn: function (anInteger){
         
     | 
| 
       3837 
3870 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3838 
     | 
    
         
            -
            return  
     | 
| 
       3839 
     | 
    
         
            -
             
     | 
| 
       3840 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 3871 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3872 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"fromCharCode:",{anInteger:anInteger}, smalltalk.String.klass)})},
         
     | 
| 
       3841 
3873 
     | 
    
         
             
            args: ["anInteger"],
         
     | 
| 
       3842 
3874 
     | 
    
         
             
            source: "fromCharCode: anInteger\x0a\x09<return String.fromCharCode(anInteger)>",
         
     | 
| 
       3843 
3875 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -3852,9 +3884,8 @@ selector: "fromString:", 
     | 
|
| 
       3852 
3884 
     | 
    
         
             
            category: 'instance creation',
         
     | 
| 
       3853 
3885 
     | 
    
         
             
            fn: function (aString){
         
     | 
| 
       3854 
3886 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3855 
     | 
    
         
            -
            return  
     | 
| 
       3856 
     | 
    
         
            -
             
     | 
| 
       3857 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 3887 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3888 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"fromString:",{aString:aString}, smalltalk.String.klass)})},
         
     | 
| 
       3858 
3889 
     | 
    
         
             
            args: ["aString"],
         
     | 
| 
       3859 
3890 
     | 
    
         
             
            source: "fromString: aString\x0a\x09    <return new self.fn(aString)>",
         
     | 
| 
       3860 
3891 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -3869,9 +3900,8 @@ selector: "lf", 
     | 
|
| 
       3869 
3900 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       3870 
3901 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       3871 
3902 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3872 
     | 
    
         
            -
            return  
     | 
| 
       3873 
     | 
    
         
            -
             
     | 
| 
       3874 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 3903 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3904 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"lf",{}, smalltalk.String.klass)})},
         
     | 
| 
       3875 
3905 
     | 
    
         
             
            args: [],
         
     | 
| 
       3876 
3906 
     | 
    
         
             
            source: "lf\x0a\x09<return '\x5cn'>",
         
     | 
| 
       3877 
3907 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -3886,9 +3916,8 @@ selector: "space", 
     | 
|
| 
       3886 
3916 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       3887 
3917 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       3888 
3918 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3889 
     | 
    
         
            -
            return  
     | 
| 
       3890 
     | 
    
         
            -
             
     | 
| 
       3891 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 3919 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3920 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"space",{}, smalltalk.String.klass)})},
         
     | 
| 
       3892 
3921 
     | 
    
         
             
            args: [],
         
     | 
| 
       3893 
3922 
     | 
    
         
             
            source: "space\x0a\x09<return ' '>",
         
     | 
| 
       3894 
3923 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -3903,8 +3932,10 @@ selector: "streamClass", 
     | 
|
| 
       3903 
3932 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       3904 
3933 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       3905 
3934 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3906 
     | 
    
         
            -
            return  
     | 
| 
       3907 
     | 
    
         
            -
             
     | 
| 
      
 3935 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3936 
     | 
    
         
            +
            $1=(smalltalk.StringStream || StringStream);
         
     | 
| 
      
 3937 
     | 
    
         
            +
            return $1;
         
     | 
| 
      
 3938 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"streamClass",{}, smalltalk.String.klass)})},
         
     | 
| 
       3908 
3939 
     | 
    
         
             
            args: [],
         
     | 
| 
       3909 
3940 
     | 
    
         
             
            source: "streamClass\x0a\x09    ^StringStream",
         
     | 
| 
       3910 
3941 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -3919,13 +3950,13 @@ selector: "streamContents:", 
     | 
|
| 
       3919 
3950 
     | 
    
         
             
            category: 'instance creation',
         
     | 
| 
       3920 
3951 
     | 
    
         
             
            fn: function (blockWithArg){
         
     | 
| 
       3921 
3952 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3922 
     | 
    
         
            -
            var $1;
         
     | 
| 
       3923 
3953 
     | 
    
         
             
            var stream;
         
     | 
| 
       3924 
     | 
    
         
            -
             
     | 
| 
       3925 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       3926 
     | 
    
         
            -
             
     | 
| 
      
 3954 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3955 
     | 
    
         
            +
            stream=_st(_st(self)._streamClass())._on_(_st((smalltalk.String || String))._new());
         
     | 
| 
      
 3956 
     | 
    
         
            +
            _st(blockWithArg)._value_(stream);
         
     | 
| 
      
 3957 
     | 
    
         
            +
            $1=_st(stream)._contents();
         
     | 
| 
       3927 
3958 
     | 
    
         
             
            return $1;
         
     | 
| 
       3928 
     | 
    
         
            -
            },
         
     | 
| 
      
 3959 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"streamContents:",{blockWithArg:blockWithArg,stream:stream}, smalltalk.String.klass)})},
         
     | 
| 
       3929 
3960 
     | 
    
         
             
            args: ["blockWithArg"],
         
     | 
| 
       3930 
3961 
     | 
    
         
             
            source: "streamContents: blockWithArg\x0a\x09|stream|\x0a\x09stream := (self streamClass on: String new).\x0a\x09blockWithArg value: stream.\x0a\x09^ stream contents",
         
     | 
| 
       3931 
3962 
     | 
    
         
             
            messageSends: ["on:", "new", "streamClass", "value:", "contents"],
         
     | 
| 
         @@ -3940,9 +3971,8 @@ selector: "tab", 
     | 
|
| 
       3940 
3971 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       3941 
3972 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       3942 
3973 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3943 
     | 
    
         
            -
            return  
     | 
| 
       3944 
     | 
    
         
            -
             
     | 
| 
       3945 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 3974 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3975 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"tab",{}, smalltalk.String.klass)})},
         
     | 
| 
       3946 
3976 
     | 
    
         
             
            args: [],
         
     | 
| 
       3947 
3977 
     | 
    
         
             
            source: "tab\x0a\x09<return '\x5ct'>",
         
     | 
| 
       3948 
3978 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -3957,9 +3987,8 @@ selector: "value:", 
     | 
|
| 
       3957 
3987 
     | 
    
         
             
            category: 'instance creation',
         
     | 
| 
       3958 
3988 
     | 
    
         
             
            fn: function (aUTFCharCode){
         
     | 
| 
       3959 
3989 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3960 
     | 
    
         
            -
            return  
     | 
| 
       3961 
     | 
    
         
            -
             
     | 
| 
       3962 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 3990 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 3991 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"value:",{aUTFCharCode:aUTFCharCode}, smalltalk.String.klass)})},
         
     | 
| 
       3963 
3992 
     | 
    
         
             
            args: ["aUTFCharCode"],
         
     | 
| 
       3964 
3993 
     | 
    
         
             
            source: "value: aUTFCharCode\x0a\x0a\x09<return String.fromCharCode(aUTFCharCode);>",
         
     | 
| 
       3965 
3994 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -3976,10 +4005,10 @@ selector: "<", 
     | 
|
| 
       3976 
4005 
     | 
    
         
             
            category: 'comparing',
         
     | 
| 
       3977 
4006 
     | 
    
         
             
            fn: function (aSymbol){
         
     | 
| 
       3978 
4007 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3979 
     | 
    
         
            -
             
     | 
| 
       3980 
     | 
    
         
            -
            $1= 
     | 
| 
      
 4008 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4009 
     | 
    
         
            +
            $1=_st(_st(self)._asString()).__lt(_st(aSymbol)._asString());
         
     | 
| 
       3981 
4010 
     | 
    
         
             
            return $1;
         
     | 
| 
       3982 
     | 
    
         
            -
            },
         
     | 
| 
      
 4011 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"<",{aSymbol:aSymbol}, smalltalk.Symbol)})},
         
     | 
| 
       3983 
4012 
     | 
    
         
             
            args: ["aSymbol"],
         
     | 
| 
       3984 
4013 
     | 
    
         
             
            source: "< aSymbol\x0a\x09^self asString < aSymbol asString",
         
     | 
| 
       3985 
4014 
     | 
    
         
             
            messageSends: ["<", "asString"],
         
     | 
| 
         @@ -3994,10 +4023,10 @@ selector: "<=", 
     | 
|
| 
       3994 
4023 
     | 
    
         
             
            category: 'comparing',
         
     | 
| 
       3995 
4024 
     | 
    
         
             
            fn: function (aSymbol){
         
     | 
| 
       3996 
4025 
     | 
    
         
             
            var self=this;
         
     | 
| 
       3997 
     | 
    
         
            -
             
     | 
| 
       3998 
     | 
    
         
            -
            $1= 
     | 
| 
      
 4026 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4027 
     | 
    
         
            +
            $1=_st(_st(self)._asString()).__lt_eq(_st(aSymbol)._asString());
         
     | 
| 
       3999 
4028 
     | 
    
         
             
            return $1;
         
     | 
| 
       4000 
     | 
    
         
            -
            },
         
     | 
| 
      
 4029 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"<=",{aSymbol:aSymbol}, smalltalk.Symbol)})},
         
     | 
| 
       4001 
4030 
     | 
    
         
             
            args: ["aSymbol"],
         
     | 
| 
       4002 
4031 
     | 
    
         
             
            source: "<= aSymbol\x0a\x09^self asString <= aSymbol asString",
         
     | 
| 
       4003 
4032 
     | 
    
         
             
            messageSends: ["<=", "asString"],
         
     | 
| 
         @@ -4012,14 +4041,14 @@ selector: "=", 
     | 
|
| 
       4012 
4041 
     | 
    
         
             
            category: 'comparing',
         
     | 
| 
       4013 
4042 
     | 
    
         
             
            fn: function (aSymbol){
         
     | 
| 
       4014 
4043 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4015 
     | 
    
         
            -
             
     | 
| 
       4016 
     | 
    
         
            -
            $1= 
     | 
| 
      
 4044 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4045 
     | 
    
         
            +
            $1=_st(_st(aSymbol)._class()).__eq(_st(self)._class());
         
     | 
| 
       4017 
4046 
     | 
    
         
             
            if(! smalltalk.assert($1)){
         
     | 
| 
       4018 
4047 
     | 
    
         
             
            return false;
         
     | 
| 
       4019 
4048 
     | 
    
         
             
            };
         
     | 
| 
       4020 
     | 
    
         
            -
            $2= 
     | 
| 
      
 4049 
     | 
    
         
            +
            $2=_st(_st(self)._asString()).__eq(_st(aSymbol)._asString());
         
     | 
| 
       4021 
4050 
     | 
    
         
             
            return $2;
         
     | 
| 
       4022 
     | 
    
         
            -
            },
         
     | 
| 
      
 4051 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"=",{aSymbol:aSymbol}, smalltalk.Symbol)})},
         
     | 
| 
       4023 
4052 
     | 
    
         
             
            args: ["aSymbol"],
         
     | 
| 
       4024 
4053 
     | 
    
         
             
            source: "= aSymbol\x0a\x09aSymbol class = self class ifFalse: [^false].\x0a\x09^self asString = aSymbol asString",
         
     | 
| 
       4025 
4054 
     | 
    
         
             
            messageSends: ["ifFalse:", "=", "class", "asString"],
         
     | 
| 
         @@ -4034,10 +4063,10 @@ selector: ">", 
     | 
|
| 
       4034 
4063 
     | 
    
         
             
            category: 'comparing',
         
     | 
| 
       4035 
4064 
     | 
    
         
             
            fn: function (aSymbol){
         
     | 
| 
       4036 
4065 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4037 
     | 
    
         
            -
             
     | 
| 
       4038 
     | 
    
         
            -
            $1= 
     | 
| 
      
 4066 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4067 
     | 
    
         
            +
            $1=_st(_st(self)._asString()).__gt(_st(aSymbol)._asString());
         
     | 
| 
       4039 
4068 
     | 
    
         
             
            return $1;
         
     | 
| 
       4040 
     | 
    
         
            -
            },
         
     | 
| 
      
 4069 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,">",{aSymbol:aSymbol}, smalltalk.Symbol)})},
         
     | 
| 
       4041 
4070 
     | 
    
         
             
            args: ["aSymbol"],
         
     | 
| 
       4042 
4071 
     | 
    
         
             
            source: "> aSymbol\x0a\x09^self asString > aSymbol asString",
         
     | 
| 
       4043 
4072 
     | 
    
         
             
            messageSends: [">", "asString"],
         
     | 
| 
         @@ -4052,10 +4081,10 @@ selector: ">=", 
     | 
|
| 
       4052 
4081 
     | 
    
         
             
            category: 'comparing',
         
     | 
| 
       4053 
4082 
     | 
    
         
             
            fn: function (aSymbol){
         
     | 
| 
       4054 
4083 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4055 
     | 
    
         
            -
             
     | 
| 
       4056 
     | 
    
         
            -
            $1= 
     | 
| 
      
 4084 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4085 
     | 
    
         
            +
            $1=_st(_st(self)._asString()).__gt_eq(_st(aSymbol)._asString());
         
     | 
| 
       4057 
4086 
     | 
    
         
             
            return $1;
         
     | 
| 
       4058 
     | 
    
         
            -
            },
         
     | 
| 
      
 4087 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,">=",{aSymbol:aSymbol}, smalltalk.Symbol)})},
         
     | 
| 
       4059 
4088 
     | 
    
         
             
            args: ["aSymbol"],
         
     | 
| 
       4060 
4089 
     | 
    
         
             
            source: ">= aSymbol\x0a\x09^self asString >= aSymbol asString",
         
     | 
| 
       4061 
4090 
     | 
    
         
             
            messageSends: [">=", "asString"],
         
     | 
| 
         @@ -4070,10 +4099,10 @@ selector: "asJSON", 
     | 
|
| 
       4070 
4099 
     | 
    
         
             
            category: 'converting',
         
     | 
| 
       4071 
4100 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       4072 
4101 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4073 
     | 
    
         
            -
             
     | 
| 
       4074 
     | 
    
         
            -
            $1= 
     | 
| 
      
 4102 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4103 
     | 
    
         
            +
            $1=_st(_st(self)._asString())._asJSON();
         
     | 
| 
       4075 
4104 
     | 
    
         
             
            return $1;
         
     | 
| 
       4076 
     | 
    
         
            -
            },
         
     | 
| 
      
 4105 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"asJSON",{}, smalltalk.Symbol)})},
         
     | 
| 
       4077 
4106 
     | 
    
         
             
            args: [],
         
     | 
| 
       4078 
4107 
     | 
    
         
             
            source: "asJSON\x0a\x09^self asString asJSON",
         
     | 
| 
       4079 
4108 
     | 
    
         
             
            messageSends: ["asJSON", "asString"],
         
     | 
| 
         @@ -4088,10 +4117,10 @@ selector: "asJavascript", 
     | 
|
| 
       4088 
4117 
     | 
    
         
             
            category: 'converting',
         
     | 
| 
       4089 
4118 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       4090 
4119 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4091 
     | 
    
         
            -
             
     | 
| 
       4092 
     | 
    
         
            -
            $1= 
     | 
| 
      
 4120 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4121 
     | 
    
         
            +
            $1=_st(_st("smalltalk.symbolFor(\x22").__comma(_st(self)._asString())).__comma("\x22)");
         
     | 
| 
       4093 
4122 
     | 
    
         
             
            return $1;
         
     | 
| 
       4094 
     | 
    
         
            -
            },
         
     | 
| 
      
 4123 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"asJavascript",{}, smalltalk.Symbol)})},
         
     | 
| 
       4095 
4124 
     | 
    
         
             
            args: [],
         
     | 
| 
       4096 
4125 
     | 
    
         
             
            source: "asJavascript\x0a\x09^'smalltalk.symbolFor(\x22', self asString, '\x22)'",
         
     | 
| 
       4097 
4126 
     | 
    
         
             
            messageSends: [",", "asString"],
         
     | 
| 
         @@ -4106,10 +4135,10 @@ selector: "asSelector", 
     | 
|
| 
       4106 
4135 
     | 
    
         
             
            category: 'converting',
         
     | 
| 
       4107 
4136 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       4108 
4137 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4109 
     | 
    
         
            -
             
     | 
| 
       4110 
     | 
    
         
            -
            $1= 
     | 
| 
      
 4138 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4139 
     | 
    
         
            +
            $1=_st(_st(self)._asString())._asSelector();
         
     | 
| 
       4111 
4140 
     | 
    
         
             
            return $1;
         
     | 
| 
       4112 
     | 
    
         
            -
            },
         
     | 
| 
      
 4141 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"asSelector",{}, smalltalk.Symbol)})},
         
     | 
| 
       4113 
4142 
     | 
    
         
             
            args: [],
         
     | 
| 
       4114 
4143 
     | 
    
         
             
            source: "asSelector\x0a\x09^self asString asSelector",
         
     | 
| 
       4115 
4144 
     | 
    
         
             
            messageSends: ["asSelector", "asString"],
         
     | 
| 
         @@ -4124,9 +4153,8 @@ selector: "asString", 
     | 
|
| 
       4124 
4153 
     | 
    
         
             
            category: 'converting',
         
     | 
| 
       4125 
4154 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       4126 
4155 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4127 
     | 
    
         
            -
            return  
     | 
| 
       4128 
     | 
    
         
            -
             
     | 
| 
       4129 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 4156 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4157 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"asString",{}, smalltalk.Symbol)})},
         
     | 
| 
       4130 
4158 
     | 
    
         
             
            args: [],
         
     | 
| 
       4131 
4159 
     | 
    
         
             
            source: "asString\x0a\x09<return self.value>",
         
     | 
| 
       4132 
4160 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -4134,6 +4162,24 @@ referencedClasses: [] 
     | 
|
| 
       4134 
4162 
     | 
    
         
             
            }),
         
     | 
| 
       4135 
4163 
     | 
    
         
             
            smalltalk.Symbol);
         
     | 
| 
       4136 
4164 
     | 
    
         | 
| 
      
 4165 
     | 
    
         
            +
            smalltalk.addMethod(
         
     | 
| 
      
 4166 
     | 
    
         
            +
            "_asSuperSelector",
         
     | 
| 
      
 4167 
     | 
    
         
            +
            smalltalk.method({
         
     | 
| 
      
 4168 
     | 
    
         
            +
            selector: "asSuperSelector",
         
     | 
| 
      
 4169 
     | 
    
         
            +
            category: 'converting',
         
     | 
| 
      
 4170 
     | 
    
         
            +
            fn: function (){
         
     | 
| 
      
 4171 
     | 
    
         
            +
            var self=this;
         
     | 
| 
      
 4172 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4173 
     | 
    
         
            +
            $1=_st(_st(self)._asString())._asSuperSelector();
         
     | 
| 
      
 4174 
     | 
    
         
            +
            return $1;
         
     | 
| 
      
 4175 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"asSuperSelector",{}, smalltalk.Symbol)})},
         
     | 
| 
      
 4176 
     | 
    
         
            +
            args: [],
         
     | 
| 
      
 4177 
     | 
    
         
            +
            source: "asSuperSelector\x0a\x09^self asString asSuperSelector",
         
     | 
| 
      
 4178 
     | 
    
         
            +
            messageSends: ["asSuperSelector", "asString"],
         
     | 
| 
      
 4179 
     | 
    
         
            +
            referencedClasses: []
         
     | 
| 
      
 4180 
     | 
    
         
            +
            }),
         
     | 
| 
      
 4181 
     | 
    
         
            +
            smalltalk.Symbol);
         
     | 
| 
      
 4182 
     | 
    
         
            +
             
     | 
| 
       4137 
4183 
     | 
    
         
             
            smalltalk.addMethod(
         
     | 
| 
       4138 
4184 
     | 
    
         
             
            "_asSymbol",
         
     | 
| 
       4139 
4185 
     | 
    
         
             
            smalltalk.method({
         
     | 
| 
         @@ -4141,8 +4187,10 @@ selector: "asSymbol", 
     | 
|
| 
       4141 
4187 
     | 
    
         
             
            category: 'converting',
         
     | 
| 
       4142 
4188 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       4143 
4189 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4144 
     | 
    
         
            -
            return  
     | 
| 
       4145 
     | 
    
         
            -
             
     | 
| 
      
 4190 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4191 
     | 
    
         
            +
            $1=self;
         
     | 
| 
      
 4192 
     | 
    
         
            +
            return $1;
         
     | 
| 
      
 4193 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"asSymbol",{}, smalltalk.Symbol)})},
         
     | 
| 
       4146 
4194 
     | 
    
         
             
            args: [],
         
     | 
| 
       4147 
4195 
     | 
    
         
             
            source: "asSymbol\x0a\x09^self",
         
     | 
| 
       4148 
4196 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -4157,10 +4205,10 @@ selector: "at:ifAbsent:", 
     | 
|
| 
       4157 
4205 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       4158 
4206 
     | 
    
         
             
            fn: function (anIndex,aBlock){
         
     | 
| 
       4159 
4207 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4160 
     | 
    
         
            -
             
     | 
| 
       4161 
     | 
    
         
            -
            $1= 
     | 
| 
      
 4208 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4209 
     | 
    
         
            +
            $1=_st(_st(self)._asString())._at_ifAbsent_(anIndex,aBlock);
         
     | 
| 
       4162 
4210 
     | 
    
         
             
            return $1;
         
     | 
| 
       4163 
     | 
    
         
            -
            },
         
     | 
| 
      
 4211 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"at:ifAbsent:",{anIndex:anIndex,aBlock:aBlock}, smalltalk.Symbol)})},
         
     | 
| 
       4164 
4212 
     | 
    
         
             
            args: ["anIndex", "aBlock"],
         
     | 
| 
       4165 
4213 
     | 
    
         
             
            source: "at: anIndex ifAbsent: aBlock\x0a\x09^self asString at: anIndex ifAbsent: aBlock",
         
     | 
| 
       4166 
4214 
     | 
    
         
             
            messageSends: ["at:ifAbsent:", "asString"],
         
     | 
| 
         @@ -4175,10 +4223,10 @@ selector: "collect:", 
     | 
|
| 
       4175 
4223 
     | 
    
         
             
            category: 'enumerating',
         
     | 
| 
       4176 
4224 
     | 
    
         
             
            fn: function (aBlock){
         
     | 
| 
       4177 
4225 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4178 
     | 
    
         
            -
             
     | 
| 
       4179 
     | 
    
         
            -
            $1= 
     | 
| 
      
 4226 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4227 
     | 
    
         
            +
            $1=_st(_st(_st(self)._asString())._collect_(aBlock))._asSymbol();
         
     | 
| 
       4180 
4228 
     | 
    
         
             
            return $1;
         
     | 
| 
       4181 
     | 
    
         
            -
            },
         
     | 
| 
      
 4229 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"collect:",{aBlock:aBlock}, smalltalk.Symbol)})},
         
     | 
| 
       4182 
4230 
     | 
    
         
             
            args: ["aBlock"],
         
     | 
| 
       4183 
4231 
     | 
    
         
             
            source: "collect: aBlock\x0a\x09^ (self asString collect: aBlock) asSymbol",
         
     | 
| 
       4184 
4232 
     | 
    
         
             
            messageSends: ["asSymbol", "collect:", "asString"],
         
     | 
| 
         @@ -4193,10 +4241,10 @@ selector: "copyFrom:to:", 
     | 
|
| 
       4193 
4241 
     | 
    
         
             
            category: 'copying',
         
     | 
| 
       4194 
4242 
     | 
    
         
             
            fn: function (anIndex,anotherIndex){
         
     | 
| 
       4195 
4243 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4196 
     | 
    
         
            -
             
     | 
| 
       4197 
     | 
    
         
            -
            $1= 
     | 
| 
      
 4244 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4245 
     | 
    
         
            +
            $1=_st(_st(self)._class())._fromString_(_st(_st(self)._asString())._copyFrom_to_(anIndex,anotherIndex));
         
     | 
| 
       4198 
4246 
     | 
    
         
             
            return $1;
         
     | 
| 
       4199 
     | 
    
         
            -
            },
         
     | 
| 
      
 4247 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"copyFrom:to:",{anIndex:anIndex,anotherIndex:anotherIndex}, smalltalk.Symbol)})},
         
     | 
| 
       4200 
4248 
     | 
    
         
             
            args: ["anIndex", "anotherIndex"],
         
     | 
| 
       4201 
4249 
     | 
    
         
             
            source: "copyFrom: anIndex to: anotherIndex\x0a\x09^self class fromString: (self asString copyFrom: anIndex to: anotherIndex)",
         
     | 
| 
       4202 
4250 
     | 
    
         
             
            messageSends: ["fromString:", "copyFrom:to:", "asString", "class"],
         
     | 
| 
         @@ -4211,8 +4259,10 @@ selector: "deepCopy", 
     | 
|
| 
       4211 
4259 
     | 
    
         
             
            category: 'copying',
         
     | 
| 
       4212 
4260 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       4213 
4261 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4214 
     | 
    
         
            -
            return  
     | 
| 
       4215 
     | 
    
         
            -
             
     | 
| 
      
 4262 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4263 
     | 
    
         
            +
            $1=self;
         
     | 
| 
      
 4264 
     | 
    
         
            +
            return $1;
         
     | 
| 
      
 4265 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"deepCopy",{}, smalltalk.Symbol)})},
         
     | 
| 
       4216 
4266 
     | 
    
         
             
            args: [],
         
     | 
| 
       4217 
4267 
     | 
    
         
             
            source: "deepCopy\x0a\x09^self",
         
     | 
| 
       4218 
4268 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -4227,10 +4277,10 @@ selector: "detect:", 
     | 
|
| 
       4227 
4277 
     | 
    
         
             
            category: 'enumerating',
         
     | 
| 
       4228 
4278 
     | 
    
         
             
            fn: function (aBlock){
         
     | 
| 
       4229 
4279 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4230 
     | 
    
         
            -
             
     | 
| 
       4231 
     | 
    
         
            -
            $1= 
     | 
| 
      
 4280 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4281 
     | 
    
         
            +
            $1=_st(_st(self)._asString())._detect_(aBlock);
         
     | 
| 
       4232 
4282 
     | 
    
         
             
            return $1;
         
     | 
| 
       4233 
     | 
    
         
            -
            },
         
     | 
| 
      
 4283 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"detect:",{aBlock:aBlock}, smalltalk.Symbol)})},
         
     | 
| 
       4234 
4284 
     | 
    
         
             
            args: ["aBlock"],
         
     | 
| 
       4235 
4285 
     | 
    
         
             
            source: "detect: aBlock\x0a\x09^ self asString detect: aBlock",
         
     | 
| 
       4236 
4286 
     | 
    
         
             
            messageSends: ["detect:", "asString"],
         
     | 
| 
         @@ -4245,8 +4295,8 @@ selector: "do:", 
     | 
|
| 
       4245 
4295 
     | 
    
         
             
            category: 'enumerating',
         
     | 
| 
       4246 
4296 
     | 
    
         
             
            fn: function (aBlock){
         
     | 
| 
       4247 
4297 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4248 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       4249 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 4298 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4299 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"do:",{aBlock:aBlock}, smalltalk.Symbol)})},
         
     | 
| 
       4250 
4300 
     | 
    
         
             
            args: ["aBlock"],
         
     | 
| 
       4251 
4301 
     | 
    
         
             
            source: "do: aBlock\x0a\x09self asString do: aBlock",
         
     | 
| 
       4252 
4302 
     | 
    
         
             
            messageSends: ["do:", "asString"],
         
     | 
| 
         @@ -4261,8 +4311,8 @@ selector: "isSymbol", 
     | 
|
| 
       4261 
4311 
     | 
    
         
             
            category: 'printing',
         
     | 
| 
       4262 
4312 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       4263 
4313 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4264 
     | 
    
         
            -
            return  
     | 
| 
       4265 
     | 
    
         
            -
            },
         
     | 
| 
      
 4314 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4315 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"isSymbol",{}, smalltalk.Symbol)})},
         
     | 
| 
       4266 
4316 
     | 
    
         
             
            args: [],
         
     | 
| 
       4267 
4317 
     | 
    
         
             
            source: "isSymbol\x0a\x09^true",
         
     | 
| 
       4268 
4318 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -4277,10 +4327,10 @@ selector: "printString", 
     | 
|
| 
       4277 
4327 
     | 
    
         
             
            category: 'printing',
         
     | 
| 
       4278 
4328 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       4279 
4329 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4280 
     | 
    
         
            -
             
     | 
| 
       4281 
     | 
    
         
            -
            $1= 
     | 
| 
      
 4330 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4331 
     | 
    
         
            +
            $1=_st("#").__comma(_st(self)._asString());
         
     | 
| 
       4282 
4332 
     | 
    
         
             
            return $1;
         
     | 
| 
       4283 
     | 
    
         
            -
            },
         
     | 
| 
      
 4333 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"printString",{}, smalltalk.Symbol)})},
         
     | 
| 
       4284 
4334 
     | 
    
         
             
            args: [],
         
     | 
| 
       4285 
4335 
     | 
    
         
             
            source: "printString\x0a\x09^'#', self asString",
         
     | 
| 
       4286 
4336 
     | 
    
         
             
            messageSends: [",", "asString"],
         
     | 
| 
         @@ -4295,10 +4345,10 @@ selector: "select:", 
     | 
|
| 
       4295 
4345 
     | 
    
         
             
            category: 'enumerating',
         
     | 
| 
       4296 
4346 
     | 
    
         
             
            fn: function (aBlock){
         
     | 
| 
       4297 
4347 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4298 
     | 
    
         
            -
             
     | 
| 
       4299 
     | 
    
         
            -
            $1= 
     | 
| 
      
 4348 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4349 
     | 
    
         
            +
            $1=_st(_st(_st(self)._asString())._select_(aBlock))._asSymbol();
         
     | 
| 
       4300 
4350 
     | 
    
         
             
            return $1;
         
     | 
| 
       4301 
     | 
    
         
            -
            },
         
     | 
| 
      
 4351 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"select:",{aBlock:aBlock}, smalltalk.Symbol)})},
         
     | 
| 
       4302 
4352 
     | 
    
         
             
            args: ["aBlock"],
         
     | 
| 
       4303 
4353 
     | 
    
         
             
            source: "select: aBlock\x0a\x09^ (self asString select: aBlock) asSymbol",
         
     | 
| 
       4304 
4354 
     | 
    
         
             
            messageSends: ["asSymbol", "select:", "asString"],
         
     | 
| 
         @@ -4313,8 +4363,10 @@ selector: "shallowCopy", 
     | 
|
| 
       4313 
4363 
     | 
    
         
             
            category: 'copying',
         
     | 
| 
       4314 
4364 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       4315 
4365 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4316 
     | 
    
         
            -
            return  
     | 
| 
       4317 
     | 
    
         
            -
             
     | 
| 
      
 4366 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4367 
     | 
    
         
            +
            $1=self;
         
     | 
| 
      
 4368 
     | 
    
         
            +
            return $1;
         
     | 
| 
      
 4369 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"shallowCopy",{}, smalltalk.Symbol)})},
         
     | 
| 
       4318 
4370 
     | 
    
         
             
            args: [],
         
     | 
| 
       4319 
4371 
     | 
    
         
             
            source: "shallowCopy\x0a\x09^self",
         
     | 
| 
       4320 
4372 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -4329,10 +4381,10 @@ selector: "size", 
     | 
|
| 
       4329 
4381 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       4330 
4382 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       4331 
4383 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4332 
     | 
    
         
            -
             
     | 
| 
       4333 
     | 
    
         
            -
            $1= 
     | 
| 
      
 4384 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4385 
     | 
    
         
            +
            $1=_st(_st(self)._asString())._size();
         
     | 
| 
       4334 
4386 
     | 
    
         
             
            return $1;
         
     | 
| 
       4335 
     | 
    
         
            -
            },
         
     | 
| 
      
 4387 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"size",{}, smalltalk.Symbol)})},
         
     | 
| 
       4336 
4388 
     | 
    
         
             
            args: [],
         
     | 
| 
       4337 
4389 
     | 
    
         
             
            source: "size\x0a\x09^self asString size",
         
     | 
| 
       4338 
4390 
     | 
    
         
             
            messageSends: ["size", "asString"],
         
     | 
| 
         @@ -4347,10 +4399,10 @@ selector: "value:", 
     | 
|
| 
       4347 
4399 
     | 
    
         
             
            category: 'evaluating',
         
     | 
| 
       4348 
4400 
     | 
    
         
             
            fn: function (anObject){
         
     | 
| 
       4349 
4401 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4350 
     | 
    
         
            -
             
     | 
| 
       4351 
     | 
    
         
            -
            $1= 
     | 
| 
      
 4402 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4403 
     | 
    
         
            +
            $1=_st(anObject)._perform_(self);
         
     | 
| 
       4352 
4404 
     | 
    
         
             
            return $1;
         
     | 
| 
       4353 
     | 
    
         
            -
            },
         
     | 
| 
      
 4405 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"value:",{anObject:anObject}, smalltalk.Symbol)})},
         
     | 
| 
       4354 
4406 
     | 
    
         
             
            args: ["anObject"],
         
     | 
| 
       4355 
4407 
     | 
    
         
             
            source: "value: anObject \x0a\x09^anObject perform: self",
         
     | 
| 
       4356 
4408 
     | 
    
         
             
            messageSends: ["perform:"],
         
     | 
| 
         @@ -4365,8 +4417,8 @@ selector: "withIndexDo:", 
     | 
|
| 
       4365 
4417 
     | 
    
         
             
            category: 'enumerating',
         
     | 
| 
       4366 
4418 
     | 
    
         
             
            fn: function (aBlock){
         
     | 
| 
       4367 
4419 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4368 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       4369 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 4420 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4421 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"withIndexDo:",{aBlock:aBlock}, smalltalk.Symbol)})},
         
     | 
| 
       4370 
4422 
     | 
    
         
             
            args: ["aBlock"],
         
     | 
| 
       4371 
4423 
     | 
    
         
             
            source: "withIndexDo: aBlock\x0a\x09self asString withIndexDo: aBlock",
         
     | 
| 
       4372 
4424 
     | 
    
         
             
            messageSends: ["withIndexDo:", "asString"],
         
     | 
| 
         @@ -4382,8 +4434,8 @@ selector: "basicNew", 
     | 
|
| 
       4382 
4434 
     | 
    
         
             
            category: 'instance creation',
         
     | 
| 
       4383 
4435 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       4384 
4436 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4385 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       4386 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 4437 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4438 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"basicNew",{}, smalltalk.Symbol.klass)})},
         
     | 
| 
       4387 
4439 
     | 
    
         
             
            args: [],
         
     | 
| 
       4388 
4440 
     | 
    
         
             
            source: "basicNew\x0a\x09self shouldNotImplement",
         
     | 
| 
       4389 
4441 
     | 
    
         
             
            messageSends: ["shouldNotImplement"],
         
     | 
| 
         @@ -4398,10 +4450,10 @@ selector: "fromString:", 
     | 
|
| 
       4398 
4450 
     | 
    
         
             
            category: 'instance creation',
         
     | 
| 
       4399 
4451 
     | 
    
         
             
            fn: function (aString){
         
     | 
| 
       4400 
4452 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4401 
     | 
    
         
            -
             
     | 
| 
       4402 
     | 
    
         
            -
            $1= 
     | 
| 
      
 4453 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4454 
     | 
    
         
            +
            $1=_st(self)._lookup_(aString);
         
     | 
| 
       4403 
4455 
     | 
    
         
             
            return $1;
         
     | 
| 
       4404 
     | 
    
         
            -
            },
         
     | 
| 
      
 4456 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"fromString:",{aString:aString}, smalltalk.Symbol.klass)})},
         
     | 
| 
       4405 
4457 
     | 
    
         
             
            args: ["aString"],
         
     | 
| 
       4406 
4458 
     | 
    
         
             
            source: "fromString: aString\x0a\x09^self lookup: aString",
         
     | 
| 
       4407 
4459 
     | 
    
         
             
            messageSends: ["lookup:"],
         
     | 
| 
         @@ -4416,9 +4468,8 @@ selector: "lookup:", 
     | 
|
| 
       4416 
4468 
     | 
    
         
             
            category: 'instance creation',
         
     | 
| 
       4417 
4469 
     | 
    
         
             
            fn: function (aString){
         
     | 
| 
       4418 
4470 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4419 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       4420 
     | 
    
         
            -
             
     | 
| 
       4421 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 4471 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4472 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"lookup:",{aString:aString}, smalltalk.Symbol.klass)})},
         
     | 
| 
       4422 
4473 
     | 
    
         
             
            args: ["aString"],
         
     | 
| 
       4423 
4474 
     | 
    
         
             
            source: "lookup: aString\x0a\x09<return smalltalk.symbolFor(aString);>",
         
     | 
| 
       4424 
4475 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -4435,12 +4486,12 @@ selector: "=", 
     | 
|
| 
       4435 
4486 
     | 
    
         
             
            category: 'comparing',
         
     | 
| 
       4436 
4487 
     | 
    
         
             
            fn: function (aCollection){
         
     | 
| 
       4437 
4488 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4438 
     | 
    
         
            -
             
     | 
| 
       4439 
     | 
    
         
            -
            $1= 
     | 
| 
       4440 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       4441 
     | 
    
         
            -
            }) 
     | 
| 
      
 4489 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4490 
     | 
    
         
            +
            $1=_st(_st(_st(self)._class()).__eq(_st(aCollection)._class()))._and_((function(){
         
     | 
| 
      
 4491 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 4492 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
         
     | 
| 
       4442 
4493 
     | 
    
         
             
            return $1;
         
     | 
| 
       4443 
     | 
    
         
            -
            },
         
     | 
| 
      
 4494 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"=",{aCollection:aCollection}, smalltalk.Set)})},
         
     | 
| 
       4444 
4495 
     | 
    
         
             
            args: ["aCollection"],
         
     | 
| 
       4445 
4496 
     | 
    
         
             
            source: "= aCollection\x0a\x09^self class = aCollection class and: [\x0a\x09\x09elements = aCollection asArray]",
         
     | 
| 
       4446 
4497 
     | 
    
         
             
            messageSends: ["and:", "=", "asArray", "class"],
         
     | 
| 
         @@ -4455,7 +4506,7 @@ selector: "add:", 
     | 
|
| 
       4455 
4506 
     | 
    
         
             
            category: 'adding/removing',
         
     | 
| 
       4456 
4507 
     | 
    
         
             
            fn: function (anObject){
         
     | 
| 
       4457 
4508 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4458 
     | 
    
         
            -
             
     | 
| 
      
 4509 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
       4459 
4510 
     | 
    
         
             
            		var found;
         
     | 
| 
       4460 
4511 
     | 
    
         
             
            		for(var i=0; i < self['@elements'].length; i++) {
         
     | 
| 
       4461 
4512 
     | 
    
         
             
            			if(anObject == self['@elements'][i]) {
         
     | 
| 
         @@ -4465,8 +4516,7 @@ var self=this; 
     | 
|
| 
       4465 
4516 
     | 
    
         
             
            		}
         
     | 
| 
       4466 
4517 
     | 
    
         
             
            		if(!found) {self['@elements'].push(anObject)}
         
     | 
| 
       4467 
4518 
     | 
    
         
             
            	;
         
     | 
| 
       4468 
     | 
    
         
            -
             
     | 
| 
       4469 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 4519 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"add:",{anObject:anObject}, smalltalk.Set)})},
         
     | 
| 
       4470 
4520 
     | 
    
         
             
            args: ["anObject"],
         
     | 
| 
       4471 
4521 
     | 
    
         
             
            source: "add: anObject\x0a\x09<\x0a\x09\x09var found;\x0a\x09\x09for(var i=0; i < self['@elements'].length; i++) {\x0a\x09\x09\x09if(anObject == self['@elements'][i]) {\x0a\x09\x09\x09\x09found = true;\x0a\x09\x09\x09\x09break;\x0a\x09\x09\x09}\x0a\x09\x09}\x0a\x09\x09if(!found) {self['@elements'].push(anObject)}\x0a\x09>",
         
     | 
| 
       4472 
4522 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -4481,10 +4531,10 @@ selector: "asArray", 
     | 
|
| 
       4481 
4531 
     | 
    
         
             
            category: 'converting',
         
     | 
| 
       4482 
4532 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       4483 
4533 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4484 
     | 
    
         
            -
             
     | 
| 
       4485 
     | 
    
         
            -
            $1= 
     | 
| 
      
 4534 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4535 
     | 
    
         
            +
            $1=_st(self["@elements"])._copy();
         
     | 
| 
       4486 
4536 
     | 
    
         
             
            return $1;
         
     | 
| 
       4487 
     | 
    
         
            -
            },
         
     | 
| 
      
 4537 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"asArray",{}, smalltalk.Set)})},
         
     | 
| 
       4488 
4538 
     | 
    
         
             
            args: [],
         
     | 
| 
       4489 
4539 
     | 
    
         
             
            source: "asArray\x0a\x09^elements copy",
         
     | 
| 
       4490 
4540 
     | 
    
         
             
            messageSends: ["copy"],
         
     | 
| 
         @@ -4499,10 +4549,10 @@ selector: "detect:ifNone:", 
     | 
|
| 
       4499 
4549 
     | 
    
         
             
            category: 'enumerating',
         
     | 
| 
       4500 
4550 
     | 
    
         
             
            fn: function (aBlock,anotherBlock){
         
     | 
| 
       4501 
4551 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4502 
     | 
    
         
            -
             
     | 
| 
       4503 
     | 
    
         
            -
            $1= 
     | 
| 
      
 4552 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4553 
     | 
    
         
            +
            $1=_st(self["@elements"])._detect_ifNone_(aBlock,anotherBlock);
         
     | 
| 
       4504 
4554 
     | 
    
         
             
            return $1;
         
     | 
| 
       4505 
     | 
    
         
            -
            },
         
     | 
| 
      
 4555 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"detect:ifNone:",{aBlock:aBlock,anotherBlock:anotherBlock}, smalltalk.Set)})},
         
     | 
| 
       4506 
4556 
     | 
    
         
             
            args: ["aBlock", "anotherBlock"],
         
     | 
| 
       4507 
4557 
     | 
    
         
             
            source: "detect: aBlock ifNone: anotherBlock\x0a\x09^elements detect: aBlock ifNone: anotherBlock",
         
     | 
| 
       4508 
4558 
     | 
    
         
             
            messageSends: ["detect:ifNone:"],
         
     | 
| 
         @@ -4517,8 +4567,8 @@ selector: "do:", 
     | 
|
| 
       4517 
4567 
     | 
    
         
             
            category: 'enumerating',
         
     | 
| 
       4518 
4568 
     | 
    
         
             
            fn: function (aBlock){
         
     | 
| 
       4519 
4569 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4520 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       4521 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 4570 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4571 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"do:",{aBlock:aBlock}, smalltalk.Set)})},
         
     | 
| 
       4522 
4572 
     | 
    
         
             
            args: ["aBlock"],
         
     | 
| 
       4523 
4573 
     | 
    
         
             
            source: "do: aBlock\x0a\x09elements do: aBlock",
         
     | 
| 
       4524 
4574 
     | 
    
         
             
            messageSends: ["do:"],
         
     | 
| 
         @@ -4533,10 +4583,10 @@ selector: "includes:", 
     | 
|
| 
       4533 
4583 
     | 
    
         
             
            category: 'testing',
         
     | 
| 
       4534 
4584 
     | 
    
         
             
            fn: function (anObject){
         
     | 
| 
       4535 
4585 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4536 
     | 
    
         
            -
             
     | 
| 
       4537 
     | 
    
         
            -
            $1= 
     | 
| 
      
 4586 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4587 
     | 
    
         
            +
            $1=_st(self["@elements"])._includes_(anObject);
         
     | 
| 
       4538 
4588 
     | 
    
         
             
            return $1;
         
     | 
| 
       4539 
     | 
    
         
            -
            },
         
     | 
| 
      
 4589 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"includes:",{anObject:anObject}, smalltalk.Set)})},
         
     | 
| 
       4540 
4590 
     | 
    
         
             
            args: ["anObject"],
         
     | 
| 
       4541 
4591 
     | 
    
         
             
            source: "includes: anObject\x0a\x09^elements includes: anObject",
         
     | 
| 
       4542 
4592 
     | 
    
         
             
            messageSends: ["includes:"],
         
     | 
| 
         @@ -4551,9 +4601,9 @@ selector: "initialize", 
     | 
|
| 
       4551 
4601 
     | 
    
         
             
            category: 'initialization',
         
     | 
| 
       4552 
4602 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       4553 
4603 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4554 
     | 
    
         
            -
            smalltalk. 
     | 
| 
      
 4604 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
       4555 
4605 
     | 
    
         
             
            self["@elements"]=[];
         
     | 
| 
       4556 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 4606 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.Set)})},
         
     | 
| 
       4557 
4607 
     | 
    
         
             
            args: [],
         
     | 
| 
       4558 
4608 
     | 
    
         
             
            source: "initialize\x0a\x09super initialize.\x0a\x09elements := #()",
         
     | 
| 
       4559 
4609 
     | 
    
         
             
            messageSends: ["initialize"],
         
     | 
| 
         @@ -4568,8 +4618,8 @@ selector: "remove:", 
     | 
|
| 
       4568 
4618 
     | 
    
         
             
            category: 'adding/removing',
         
     | 
| 
       4569 
4619 
     | 
    
         
             
            fn: function (anObject){
         
     | 
| 
       4570 
4620 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4571 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       4572 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 4621 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4622 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"remove:",{anObject:anObject}, smalltalk.Set)})},
         
     | 
| 
       4573 
4623 
     | 
    
         
             
            args: ["anObject"],
         
     | 
| 
       4574 
4624 
     | 
    
         
             
            source: "remove: anObject\x0a\x09elements remove: anObject",
         
     | 
| 
       4575 
4625 
     | 
    
         
             
            messageSends: ["remove:"],
         
     | 
| 
         @@ -4584,17 +4634,20 @@ selector: "select:", 
     | 
|
| 
       4584 
4634 
     | 
    
         
             
            category: 'enumerating',
         
     | 
| 
       4585 
4635 
     | 
    
         
             
            fn: function (aBlock){
         
     | 
| 
       4586 
4636 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4587 
     | 
    
         
            -
            var $1;
         
     | 
| 
       4588 
4637 
     | 
    
         
             
            var collection;
         
     | 
| 
       4589 
     | 
    
         
            -
             
     | 
| 
       4590 
     | 
    
         
            -
             
     | 
| 
       4591 
     | 
    
         
            -
            $1= 
     | 
| 
       4592 
     | 
    
         
            -
             
     | 
| 
       4593 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
      
 4638 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4639 
     | 
    
         
            +
            collection=_st(_st(self)._class())._new();
         
     | 
| 
      
 4640 
     | 
    
         
            +
            $1=self;
         
     | 
| 
      
 4641 
     | 
    
         
            +
            $2=(function(each){
         
     | 
| 
      
 4642 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 4643 
     | 
    
         
            +
            if(smalltalk.assert($3)){
         
     | 
| 
      
 4644 
     | 
    
         
            +
            return _st(collection)._add_(each);
         
     | 
| 
       4594 
4645 
     | 
    
         
             
            };
         
     | 
| 
       4595 
     | 
    
         
            -
            }) 
     | 
| 
       4596 
     | 
    
         
            -
             
     | 
| 
       4597 
     | 
    
         
            -
             
     | 
| 
      
 4646 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})});
         
     | 
| 
      
 4647 
     | 
    
         
            +
            _st($1)._do_($2);
         
     | 
| 
      
 4648 
     | 
    
         
            +
            $4=collection;
         
     | 
| 
      
 4649 
     | 
    
         
            +
            return $4;
         
     | 
| 
      
 4650 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"select:",{aBlock:aBlock,collection:collection}, smalltalk.Set)})},
         
     | 
| 
       4598 
4651 
     | 
    
         
             
            args: ["aBlock"],
         
     | 
| 
       4599 
4652 
     | 
    
         
             
            source: "select: aBlock\x0a\x09| collection |\x0a\x09collection := self class new. \x0a\x09self do: [:each |\x0a\x09\x09(aBlock value: each) ifTrue: [\x0a\x09\x09\x09collection add: each]].\x0a\x09^collection",
         
     | 
| 
       4600 
4653 
     | 
    
         
             
            messageSends: ["new", "class", "do:", "ifTrue:", "add:", "value:"],
         
     | 
| 
         @@ -4609,10 +4662,10 @@ selector: "size", 
     | 
|
| 
       4609 
4662 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       4610 
4663 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       4611 
4664 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4612 
     | 
    
         
            -
             
     | 
| 
       4613 
     | 
    
         
            -
            $1= 
     | 
| 
      
 4665 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4666 
     | 
    
         
            +
            $1=_st(self["@elements"])._size();
         
     | 
| 
       4614 
4667 
     | 
    
         
             
            return $1;
         
     | 
| 
       4615 
     | 
    
         
            -
            },
         
     | 
| 
      
 4668 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"size",{}, smalltalk.Set)})},
         
     | 
| 
       4616 
4669 
     | 
    
         
             
            args: [],
         
     | 
| 
       4617 
4670 
     | 
    
         
             
            source: "size\x0a\x09^elements size",
         
     | 
| 
       4618 
4671 
     | 
    
         
             
            messageSends: ["size"],
         
     | 
| 
         @@ -4623,6 +4676,7 @@ smalltalk.Set); 
     | 
|
| 
       4623 
4676 
     | 
    
         | 
| 
       4624 
4677 
     | 
    
         | 
| 
       4625 
4678 
     | 
    
         
             
            smalltalk.addClass('Queue', smalltalk.Object, ['read', 'readIndex', 'write'], 'Kernel-Collections');
         
     | 
| 
      
 4679 
     | 
    
         
            +
            smalltalk.Queue.comment="A Queue am a one-sided queue.\x0a\x0aA Queue uses two OrderedCollections inside,\x0a`read` is at the front, is not modified and only read using `readIndex`.\x0a`write` is at the back and is appended new items.\x0aWhen `read` is exhausted, `write` is promoted to `read` and new `write` is created.\x0a\x0aAs a consequence, no data moving is done by the Queue; write appending may do data moving\x0awhen growing `write`, but this is left to engine to implement as good as it chooses to."
         
     | 
| 
       4626 
4680 
     | 
    
         
             
            smalltalk.addMethod(
         
     | 
| 
       4627 
4681 
     | 
    
         
             
            "_back_",
         
     | 
| 
       4628 
4682 
     | 
    
         
             
            smalltalk.method({
         
     | 
| 
         @@ -4630,10 +4684,10 @@ selector: "back:", 
     | 
|
| 
       4630 
4684 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       4631 
4685 
     | 
    
         
             
            fn: function (anObject){
         
     | 
| 
       4632 
4686 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4633 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       4634 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 4687 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4688 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"back:",{anObject:anObject}, smalltalk.Queue)})},
         
     | 
| 
       4635 
4689 
     | 
    
         
             
            args: ["anObject"],
         
     | 
| 
       4636 
     | 
    
         
            -
            source: "back: anObject\x0a\x09write add: anObject 
     | 
| 
      
 4690 
     | 
    
         
            +
            source: "back: anObject\x0a\x09write add: anObject",
         
     | 
| 
       4637 
4691 
     | 
    
         
             
            messageSends: ["add:"],
         
     | 
| 
       4638 
4692 
     | 
    
         
             
            referencedClasses: []
         
     | 
| 
       4639 
4693 
     | 
    
         
             
            }),
         
     | 
| 
         @@ -4646,14 +4700,14 @@ selector: "front", 
     | 
|
| 
       4646 
4700 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       4647 
4701 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       4648 
4702 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4649 
     | 
    
         
            -
             
     | 
| 
       4650 
     | 
    
         
            -
            $1= 
     | 
| 
       4651 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       4652 
     | 
    
         
            -
            }) 
     | 
| 
      
 4703 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4704 
     | 
    
         
            +
            $1=_st(self)._frontIfAbsent_((function(){
         
     | 
| 
      
 4705 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 4706 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
         
     | 
| 
       4653 
4707 
     | 
    
         
             
            return $1;
         
     | 
| 
       4654 
     | 
    
         
            -
            },
         
     | 
| 
      
 4708 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"front",{}, smalltalk.Queue)})},
         
     | 
| 
       4655 
4709 
     | 
    
         
             
            args: [],
         
     | 
| 
       4656 
     | 
    
         
            -
            source: "front\x0a    ^self frontIfAbsent: [ self error: 'Cannot read from empty Queue.'] 
     | 
| 
      
 4710 
     | 
    
         
            +
            source: "front\x0a    ^self frontIfAbsent: [ self error: 'Cannot read from empty Queue.' ]",
         
     | 
| 
       4657 
4711 
     | 
    
         
             
            messageSends: ["frontIfAbsent:", "error:"],
         
     | 
| 
       4658 
4712 
     | 
    
         
             
            referencedClasses: []
         
     | 
| 
       4659 
4713 
     | 
    
         
             
            }),
         
     | 
| 
         @@ -4666,39 +4720,44 @@ selector: "frontIfAbsent:", 
     | 
|
| 
       4666 
4720 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       4667 
4721 
     | 
    
         
             
            fn: function (aBlock){
         
     | 
| 
       4668 
4722 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4669 
     | 
    
         
            -
            var  
     | 
| 
      
 4723 
     | 
    
         
            +
            var result;
         
     | 
| 
      
 4724 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
       4670 
4725 
     | 
    
         
             
            var $early={};
         
     | 
| 
       4671 
4726 
     | 
    
         
             
            try {
         
     | 
| 
       4672 
     | 
    
         
            -
             
     | 
| 
       4673 
     | 
    
         
            -
             
     | 
| 
       4674 
     | 
    
         
            -
            $ 
     | 
| 
       4675 
     | 
    
         
            -
             
     | 
| 
       4676 
     | 
    
         
            -
            $ 
     | 
| 
       4677 
     | 
    
         
            -
             
     | 
| 
      
 4727 
     | 
    
         
            +
            $1=self["@read"];
         
     | 
| 
      
 4728 
     | 
    
         
            +
            $2=self["@readIndex"];
         
     | 
| 
      
 4729 
     | 
    
         
            +
            $3=(function(){
         
     | 
| 
      
 4730 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 4731 
     | 
    
         
            +
            $5=(function(){
         
     | 
| 
      
 4732 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx3) {
         
     | 
| 
      
 4733 
     | 
    
         
            +
            if(smalltalk.assert($6)){
         
     | 
| 
       4678 
4734 
     | 
    
         
             
            self["@read"]=[];
         
     | 
| 
       4679 
4735 
     | 
    
         
             
            self["@read"];
         
     | 
| 
       4680 
4736 
     | 
    
         
             
            self["@readIndex"]=(1);
         
     | 
| 
       4681 
4737 
     | 
    
         
             
            self["@readIndex"];
         
     | 
| 
       4682 
4738 
     | 
    
         
             
            };
         
     | 
| 
       4683 
     | 
    
         
            -
            $ 
     | 
| 
       4684 
     | 
    
         
            -
            throw $early=[$ 
     | 
| 
       4685 
     | 
    
         
            -
            };
         
     | 
| 
      
 4739 
     | 
    
         
            +
            $7=_st(aBlock)._value();
         
     | 
| 
      
 4740 
     | 
    
         
            +
            throw $early=[$7];
         
     | 
| 
      
 4741 
     | 
    
         
            +
            }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})});
         
     | 
| 
      
 4742 
     | 
    
         
            +
            _st($4)._ifTrue_($5);
         
     | 
| 
       4686 
4743 
     | 
    
         
             
            self["@read"]=self["@write"];
         
     | 
| 
       4687 
4744 
     | 
    
         
             
            self["@read"];
         
     | 
| 
       4688 
4745 
     | 
    
         
             
            self["@readIndex"]=(1);
         
     | 
| 
       4689 
4746 
     | 
    
         
             
            self["@readIndex"];
         
     | 
| 
       4690 
     | 
    
         
            -
            self["@write"]= 
     | 
| 
      
 4747 
     | 
    
         
            +
            self["@write"]=_st((smalltalk.OrderedCollection || OrderedCollection))._new();
         
     | 
| 
       4691 
4748 
     | 
    
         
             
            self["@write"];
         
     | 
| 
       4692 
     | 
    
         
            -
            return  
     | 
| 
       4693 
     | 
    
         
            -
            }) 
     | 
| 
       4694 
     | 
    
         
            -
             
     | 
| 
       4695 
     | 
    
         
            -
            self["@ 
     | 
| 
       4696 
     | 
    
         
            -
             
     | 
| 
      
 4749 
     | 
    
         
            +
            return _st(self["@read"])._first();
         
     | 
| 
      
 4750 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})});
         
     | 
| 
      
 4751 
     | 
    
         
            +
            result=_st($1)._at_ifAbsent_($2,$3);
         
     | 
| 
      
 4752 
     | 
    
         
            +
            _st(self["@read"])._at_put_(self["@readIndex"],nil);
         
     | 
| 
      
 4753 
     | 
    
         
            +
            self["@readIndex"]=_st(self["@readIndex"]).__plus((1));
         
     | 
| 
      
 4754 
     | 
    
         
            +
            $8=result;
         
     | 
| 
      
 4755 
     | 
    
         
            +
            return $8;
         
     | 
| 
       4697 
4756 
     | 
    
         
             
            }
         
     | 
| 
       4698 
4757 
     | 
    
         
             
            catch(e) {if(e===$early)return e[0]; throw e}
         
     | 
| 
       4699 
     | 
    
         
            -
            },
         
     | 
| 
      
 4758 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"frontIfAbsent:",{aBlock:aBlock,result:result}, smalltalk.Queue)})},
         
     | 
| 
       4700 
4759 
     | 
    
         
             
            args: ["aBlock"],
         
     | 
| 
       4701 
     | 
    
         
            -
            source: "frontIfAbsent: aBlock\x0a\x09| result |\x0a\x09result := read at: readIndex ifAbsent: [\x0a\x09\x09write isEmpty ifTrue: [\x0a\x09\x09\x09readIndex > 1 ifTrue: [ read := #(). readIndex := 1 ].\x0a\x09\x09\x09^aBlock value ].\x0a    \x09read := write.\x0a    \x09readIndex := 1.\x0a    \x09write := OrderedCollection new.\x0a    \x09read first ].\x0a    read at: readIndex put: nil.\x0a    readIndex := readIndex + 1.\x0a    ^result 
     | 
| 
      
 4760 
     | 
    
         
            +
            source: "frontIfAbsent: aBlock\x0a\x09| result |\x0a\x09result := read at: readIndex ifAbsent: [\x0a\x09\x09write isEmpty ifTrue: [\x0a\x09\x09\x09readIndex > 1 ifTrue: [ read := #(). readIndex := 1 ].\x0a\x09\x09\x09^aBlock value ].\x0a    \x09read := write.\x0a    \x09readIndex := 1.\x0a    \x09write := OrderedCollection new.\x0a    \x09read first ].\x0a    read at: readIndex put: nil.\x0a    readIndex := readIndex + 1.\x0a    ^result",
         
     | 
| 
       4702 
4761 
     | 
    
         
             
            messageSends: ["at:ifAbsent:", "ifTrue:", ">", "value", "isEmpty", "new", "first", "at:put:", "+"],
         
     | 
| 
       4703 
4762 
     | 
    
         
             
            referencedClasses: ["OrderedCollection"]
         
     | 
| 
       4704 
4763 
     | 
    
         
             
            }),
         
     | 
| 
         @@ -4711,13 +4770,14 @@ selector: "initialize", 
     | 
|
| 
       4711 
4770 
     | 
    
         
             
            category: 'initialization',
         
     | 
| 
       4712 
4771 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       4713 
4772 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4714 
     | 
    
         
            -
             
     | 
| 
      
 4773 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4774 
     | 
    
         
            +
            self["@read"]=_st((smalltalk.OrderedCollection || OrderedCollection))._new();
         
     | 
| 
      
 4775 
     | 
    
         
            +
            self["@write"]=_st((smalltalk.OrderedCollection || OrderedCollection))._new();
         
     | 
| 
       4715 
4776 
     | 
    
         
             
            self["@readIndex"]=(1);
         
     | 
| 
       4716 
     | 
    
         
            -
            self 
     | 
| 
       4717 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 4777 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.Queue)})},
         
     | 
| 
       4718 
4778 
     | 
    
         
             
            args: [],
         
     | 
| 
       4719 
     | 
    
         
            -
            source: "initialize\x0a\x09read :=  
     | 
| 
       4720 
     | 
    
         
            -
            messageSends: ["new"],
         
     | 
| 
      
 4779 
     | 
    
         
            +
            source: "initialize\x0a\x09super initialize.\x0a\x09read := OrderedCollection new.\x0a    write := OrderedCollection new.\x0a    readIndex := 1",
         
     | 
| 
      
 4780 
     | 
    
         
            +
            messageSends: ["initialize", "new"],
         
     | 
| 
       4721 
4781 
     | 
    
         
             
            referencedClasses: ["OrderedCollection"]
         
     | 
| 
       4722 
4782 
     | 
    
         
             
            }),
         
     | 
| 
       4723 
4783 
     | 
    
         
             
            smalltalk.Queue);
         
     | 
| 
         @@ -4732,9 +4792,8 @@ selector: "compile:", 
     | 
|
| 
       4732 
4792 
     | 
    
         
             
            category: 'evaluating',
         
     | 
| 
       4733 
4793 
     | 
    
         
             
            fn: function (aString){
         
     | 
| 
       4734 
4794 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4735 
     | 
    
         
            -
            return  
     | 
| 
       4736 
     | 
    
         
            -
             
     | 
| 
       4737 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 4795 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4796 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"compile:",{aString:aString}, smalltalk.RegularExpression)})},
         
     | 
| 
       4738 
4797 
     | 
    
         
             
            args: ["aString"],
         
     | 
| 
       4739 
4798 
     | 
    
         
             
            source: "compile: aString\x0a\x09<return self.compile(aString)>",
         
     | 
| 
       4740 
4799 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -4749,9 +4808,8 @@ selector: "exec:", 
     | 
|
| 
       4749 
4808 
     | 
    
         
             
            category: 'evaluating',
         
     | 
| 
       4750 
4809 
     | 
    
         
             
            fn: function (aString){
         
     | 
| 
       4751 
4810 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4752 
     | 
    
         
            -
            return  
     | 
| 
       4753 
     | 
    
         
            -
             
     | 
| 
       4754 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 4811 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4812 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"exec:",{aString:aString}, smalltalk.RegularExpression)})},
         
     | 
| 
       4755 
4813 
     | 
    
         
             
            args: ["aString"],
         
     | 
| 
       4756 
4814 
     | 
    
         
             
            source: "exec: aString\x0a\x09<return self.exec(aString) || nil>",
         
     | 
| 
       4757 
4815 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -4766,9 +4824,8 @@ selector: "test:", 
     | 
|
| 
       4766 
4824 
     | 
    
         
             
            category: 'evaluating',
         
     | 
| 
       4767 
4825 
     | 
    
         
             
            fn: function (aString){
         
     | 
| 
       4768 
4826 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4769 
     | 
    
         
            -
            return  
     | 
| 
       4770 
     | 
    
         
            -
             
     | 
| 
       4771 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 4827 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4828 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"test:",{aString:aString}, smalltalk.RegularExpression)})},
         
     | 
| 
       4772 
4829 
     | 
    
         
             
            args: ["aString"],
         
     | 
| 
       4773 
4830 
     | 
    
         
             
            source: "test: aString\x0a\x09<return self.test(aString)>",
         
     | 
| 
       4774 
4831 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -4784,10 +4841,10 @@ selector: "fromString:", 
     | 
|
| 
       4784 
4841 
     | 
    
         
             
            category: 'instance creation',
         
     | 
| 
       4785 
4842 
     | 
    
         
             
            fn: function (aString){
         
     | 
| 
       4786 
4843 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4787 
     | 
    
         
            -
             
     | 
| 
       4788 
     | 
    
         
            -
            $1= 
     | 
| 
      
 4844 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4845 
     | 
    
         
            +
            $1=_st(self)._fromString_flag_(aString,"");
         
     | 
| 
       4789 
4846 
     | 
    
         
             
            return $1;
         
     | 
| 
       4790 
     | 
    
         
            -
            },
         
     | 
| 
      
 4847 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"fromString:",{aString:aString}, smalltalk.RegularExpression.klass)})},
         
     | 
| 
       4791 
4848 
     | 
    
         
             
            args: ["aString"],
         
     | 
| 
       4792 
4849 
     | 
    
         
             
            source: "fromString: aString\x0a\x09    ^self fromString: aString flag: ''",
         
     | 
| 
       4793 
4850 
     | 
    
         
             
            messageSends: ["fromString:flag:"],
         
     | 
| 
         @@ -4802,9 +4859,8 @@ selector: "fromString:flag:", 
     | 
|
| 
       4802 
4859 
     | 
    
         
             
            category: 'instance creation',
         
     | 
| 
       4803 
4860 
     | 
    
         
             
            fn: function (aString,anotherString){
         
     | 
| 
       4804 
4861 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4805 
     | 
    
         
            -
            return  
     | 
| 
       4806 
     | 
    
         
            -
             
     | 
| 
       4807 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 4862 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4863 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"fromString:flag:",{aString:aString,anotherString:anotherString}, smalltalk.RegularExpression.klass)})},
         
     | 
| 
       4808 
4864 
     | 
    
         
             
            args: ["aString", "anotherString"],
         
     | 
| 
       4809 
4865 
     | 
    
         
             
            source: "fromString: aString flag: anotherString\x0a\x09<return new RegExp(aString, anotherString)>",
         
     | 
| 
       4810 
4866 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -4821,10 +4877,10 @@ selector: "atEnd", 
     | 
|
| 
       4821 
4877 
     | 
    
         
             
            category: 'testing',
         
     | 
| 
       4822 
4878 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       4823 
4879 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4824 
     | 
    
         
            -
             
     | 
| 
       4825 
     | 
    
         
            -
            $1= 
     | 
| 
      
 4880 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4881 
     | 
    
         
            +
            $1=_st(_st(self)._position()).__eq(_st(self)._size());
         
     | 
| 
       4826 
4882 
     | 
    
         
             
            return $1;
         
     | 
| 
       4827 
     | 
    
         
            -
            },
         
     | 
| 
      
 4883 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"atEnd",{}, smalltalk.Stream)})},
         
     | 
| 
       4828 
4884 
     | 
    
         
             
            args: [],
         
     | 
| 
       4829 
4885 
     | 
    
         
             
            source: "atEnd\x0a\x09^self position = self size",
         
     | 
| 
       4830 
4886 
     | 
    
         
             
            messageSends: ["=", "size", "position"],
         
     | 
| 
         @@ -4839,10 +4895,10 @@ selector: "atStart", 
     | 
|
| 
       4839 
4895 
     | 
    
         
             
            category: 'testing',
         
     | 
| 
       4840 
4896 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       4841 
4897 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4842 
     | 
    
         
            -
             
     | 
| 
       4843 
     | 
    
         
            -
            $1= 
     | 
| 
      
 4898 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4899 
     | 
    
         
            +
            $1=_st(_st(self)._position()).__eq((0));
         
     | 
| 
       4844 
4900 
     | 
    
         
             
            return $1;
         
     | 
| 
       4845 
     | 
    
         
            -
            },
         
     | 
| 
      
 4901 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"atStart",{}, smalltalk.Stream)})},
         
     | 
| 
       4846 
4902 
     | 
    
         
             
            args: [],
         
     | 
| 
       4847 
4903 
     | 
    
         
             
            source: "atStart\x0a\x09^self position = 0",
         
     | 
| 
       4848 
4904 
     | 
    
         
             
            messageSends: ["=", "position"],
         
     | 
| 
         @@ -4857,7 +4913,7 @@ selector: "close", 
     | 
|
| 
       4857 
4913 
     | 
    
         
             
            category: 'actions',
         
     | 
| 
       4858 
4914 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       4859 
4915 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4860 
     | 
    
         
            -
            return  
     | 
| 
      
 4916 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
       4861 
4917 
     | 
    
         
             
            args: [],
         
     | 
| 
       4862 
4918 
     | 
    
         
             
            source: "close",
         
     | 
| 
       4863 
4919 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -4872,8 +4928,10 @@ selector: "collection", 
     | 
|
| 
       4872 
4928 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       4873 
4929 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       4874 
4930 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4875 
     | 
    
         
            -
            return  
     | 
| 
       4876 
     | 
    
         
            -
             
     | 
| 
      
 4931 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4932 
     | 
    
         
            +
            $1=self["@collection"];
         
     | 
| 
      
 4933 
     | 
    
         
            +
            return $1;
         
     | 
| 
      
 4934 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"collection",{}, smalltalk.Stream)})},
         
     | 
| 
       4877 
4935 
     | 
    
         
             
            args: [],
         
     | 
| 
       4878 
4936 
     | 
    
         
             
            source: "collection\x0a\x09^collection",
         
     | 
| 
       4879 
4937 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -4888,10 +4946,10 @@ selector: "contents", 
     | 
|
| 
       4888 
4946 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       4889 
4947 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       4890 
4948 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4891 
     | 
    
         
            -
             
     | 
| 
       4892 
     | 
    
         
            -
            $1= 
     | 
| 
      
 4949 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4950 
     | 
    
         
            +
            $1=_st(_st(self)._collection())._copyFrom_to_((1),_st(self)._streamSize());
         
     | 
| 
       4893 
4951 
     | 
    
         
             
            return $1;
         
     | 
| 
       4894 
     | 
    
         
            -
            },
         
     | 
| 
      
 4952 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"contents",{}, smalltalk.Stream)})},
         
     | 
| 
       4895 
4953 
     | 
    
         
             
            args: [],
         
     | 
| 
       4896 
4954 
     | 
    
         
             
            source: "contents\x0a\x09^self collection\x0a\x09    copyFrom: 1 \x0a\x09    to: self streamSize",
         
     | 
| 
       4897 
4955 
     | 
    
         
             
            messageSends: ["copyFrom:to:", "streamSize", "collection"],
         
     | 
| 
         @@ -4906,12 +4964,12 @@ selector: "do:", 
     | 
|
| 
       4906 
4964 
     | 
    
         
             
            category: 'enumerating',
         
     | 
| 
       4907 
4965 
     | 
    
         
             
            fn: function (aBlock){
         
     | 
| 
       4908 
4966 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4909 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       4910 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       4911 
     | 
    
         
            -
            }) 
     | 
| 
       4912 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       4913 
     | 
    
         
            -
            }) 
     | 
| 
       4914 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 4967 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 4968 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 4969 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileFalse_((function(){
         
     | 
| 
      
 4970 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 4971 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
         
     | 
| 
      
 4972 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"do:",{aBlock:aBlock}, smalltalk.Stream)})},
         
     | 
| 
       4915 
4973 
     | 
    
         
             
            args: ["aBlock"],
         
     | 
| 
       4916 
4974 
     | 
    
         
             
            source: "do: aBlock\x0a\x09[self atEnd] whileFalse: [aBlock value: self next]",
         
     | 
| 
       4917 
4975 
     | 
    
         
             
            messageSends: ["whileFalse:", "value:", "next", "atEnd"],
         
     | 
| 
         @@ -4926,7 +4984,7 @@ selector: "flush", 
     | 
|
| 
       4926 
4984 
     | 
    
         
             
            category: 'actions',
         
     | 
| 
       4927 
4985 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       4928 
4986 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4929 
     | 
    
         
            -
            return  
     | 
| 
      
 4987 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
       4930 
4988 
     | 
    
         
             
            args: [],
         
     | 
| 
       4931 
4989 
     | 
    
         
             
            source: "flush",
         
     | 
| 
       4932 
4990 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -4941,10 +4999,10 @@ selector: "isEmpty", 
     | 
|
| 
       4941 
4999 
     | 
    
         
             
            category: 'testing',
         
     | 
| 
       4942 
5000 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       4943 
5001 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4944 
     | 
    
         
            -
             
     | 
| 
       4945 
     | 
    
         
            -
            $1= 
     | 
| 
      
 5002 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 5003 
     | 
    
         
            +
            $1=_st(_st(self)._size()).__eq((0));
         
     | 
| 
       4946 
5004 
     | 
    
         
             
            return $1;
         
     | 
| 
       4947 
     | 
    
         
            -
            },
         
     | 
| 
      
 5005 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"isEmpty",{}, smalltalk.Stream)})},
         
     | 
| 
       4948 
5006 
     | 
    
         
             
            args: [],
         
     | 
| 
       4949 
5007 
     | 
    
         
             
            source: "isEmpty\x0a\x09^self size = 0",
         
     | 
| 
       4950 
5008 
     | 
    
         
             
            messageSends: ["=", "size"],
         
     | 
| 
         @@ -4959,16 +5017,16 @@ selector: "next", 
     | 
|
| 
       4959 
5017 
     | 
    
         
             
            category: 'reading',
         
     | 
| 
       4960 
5018 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       4961 
5019 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4962 
     | 
    
         
            -
             
     | 
| 
       4963 
     | 
    
         
            -
            $2= 
     | 
| 
      
 5020 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 5021 
     | 
    
         
            +
            $2=_st(self)._atEnd();
         
     | 
| 
       4964 
5022 
     | 
    
         
             
            if(smalltalk.assert($2)){
         
     | 
| 
       4965 
5023 
     | 
    
         
             
            $1=nil;
         
     | 
| 
       4966 
5024 
     | 
    
         
             
            } else {
         
     | 
| 
       4967 
     | 
    
         
            -
             
     | 
| 
       4968 
     | 
    
         
            -
            $1= 
     | 
| 
      
 5025 
     | 
    
         
            +
            _st(self)._position_(_st(_st(self)._position()).__plus((1)));
         
     | 
| 
      
 5026 
     | 
    
         
            +
            $1=_st(self["@collection"])._at_(_st(self)._position());
         
     | 
| 
       4969 
5027 
     | 
    
         
             
            };
         
     | 
| 
       4970 
5028 
     | 
    
         
             
            return $1;
         
     | 
| 
       4971 
     | 
    
         
            -
            },
         
     | 
| 
      
 5029 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"next",{}, smalltalk.Stream)})},
         
     | 
| 
       4972 
5030 
     | 
    
         
             
            args: [],
         
     | 
| 
       4973 
5031 
     | 
    
         
             
            source: "next\x0a\x09^self atEnd \x0a\x09\x09ifTrue: [nil]\x0a\x09\x09ifFalse: [\x0a\x09\x09\x09self position: self position + 1. \x0a\x09\x09\x09collection at: self position]",
         
     | 
| 
       4974 
5032 
     | 
    
         
             
            messageSends: ["ifTrue:ifFalse:", "position:", "+", "position", "at:", "atEnd"],
         
     | 
| 
         @@ -4983,17 +5041,20 @@ selector: "next:", 
     | 
|
| 
       4983 
5041 
     | 
    
         
             
            category: 'reading',
         
     | 
| 
       4984 
5042 
     | 
    
         
             
            fn: function (anInteger){
         
     | 
| 
       4985 
5043 
     | 
    
         
             
            var self=this;
         
     | 
| 
       4986 
     | 
    
         
            -
            var $1;
         
     | 
| 
       4987 
5044 
     | 
    
         
             
            var tempCollection;
         
     | 
| 
       4988 
     | 
    
         
            -
             
     | 
| 
       4989 
     | 
    
         
            -
             
     | 
| 
       4990 
     | 
    
         
            -
            $1= 
     | 
| 
       4991 
     | 
    
         
            -
             
     | 
| 
       4992 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
      
 5045 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 5046 
     | 
    
         
            +
            tempCollection=_st(_st(_st(self)._collection())._class())._new();
         
     | 
| 
      
 5047 
     | 
    
         
            +
            $1=anInteger;
         
     | 
| 
      
 5048 
     | 
    
         
            +
            $2=(function(){
         
     | 
| 
      
 5049 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 5050 
     | 
    
         
            +
            if(! smalltalk.assert($3)){
         
     | 
| 
      
 5051 
     | 
    
         
            +
            return _st(tempCollection)._add_(_st(self)._next());
         
     | 
| 
       4993 
5052 
     | 
    
         
             
            };
         
     | 
| 
       4994 
     | 
    
         
            -
            }) 
     | 
| 
       4995 
     | 
    
         
            -
             
     | 
| 
       4996 
     | 
    
         
            -
             
     | 
| 
      
 5053 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})});
         
     | 
| 
      
 5054 
     | 
    
         
            +
            _st($1)._timesRepeat_($2);
         
     | 
| 
      
 5055 
     | 
    
         
            +
            $4=tempCollection;
         
     | 
| 
      
 5056 
     | 
    
         
            +
            return $4;
         
     | 
| 
      
 5057 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"next:",{anInteger:anInteger,tempCollection:tempCollection}, smalltalk.Stream)})},
         
     | 
| 
       4997 
5058 
     | 
    
         
             
            args: ["anInteger"],
         
     | 
| 
       4998 
5059 
     | 
    
         
             
            source: "next: anInteger\x0a\x09| tempCollection |\x0a\x09tempCollection := self collection class new.\x0a\x09anInteger timesRepeat: [\x0a\x09    self atEnd ifFalse: [\x0a\x09\x09tempCollection add: self next]].\x0a\x09^tempCollection",
         
     | 
| 
       4999 
5060 
     | 
    
         
             
            messageSends: ["new", "class", "collection", "timesRepeat:", "ifFalse:", "add:", "next", "atEnd"],
         
     | 
| 
         @@ -5008,10 +5069,10 @@ selector: "nextPut:", 
     | 
|
| 
       5008 
5069 
     | 
    
         
             
            category: 'writing',
         
     | 
| 
       5009 
5070 
     | 
    
         
             
            fn: function (anObject){
         
     | 
| 
       5010 
5071 
     | 
    
         
             
            var self=this;
         
     | 
| 
       5011 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       5012 
     | 
    
         
            -
             
     | 
| 
       5013 
     | 
    
         
            -
             
     | 
| 
       5014 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 5072 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 5073 
     | 
    
         
            +
            _st(_st(self)._collection())._at_put_(_st(self)._position(),anObject);
         
     | 
| 
      
 5074 
     | 
    
         
            +
            _st(self)._setStreamSize_(_st(_st(self)._streamSize())._max_(_st(self)._position()));
         
     | 
| 
      
 5075 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"nextPut:",{anObject:anObject}, smalltalk.Stream)})},
         
     | 
| 
       5015 
5076 
     | 
    
         
             
            args: ["anObject"],
         
     | 
| 
       5016 
5077 
     | 
    
         
             
            source: "nextPut: anObject\x0a\x09self position: self position + 1.\x0a\x09self collection at: self position put: anObject.\x0a\x09self setStreamSize: (self streamSize max: self position)",
         
     | 
| 
       5017 
5078 
     | 
    
         
             
            messageSends: ["position:", "+", "position", "at:put:", "collection", "setStreamSize:", "max:", "streamSize"],
         
     | 
| 
         @@ -5026,10 +5087,10 @@ selector: "nextPutAll:", 
     | 
|
| 
       5026 
5087 
     | 
    
         
             
            category: 'writing',
         
     | 
| 
       5027 
5088 
     | 
    
         
             
            fn: function (aCollection){
         
     | 
| 
       5028 
5089 
     | 
    
         
             
            var self=this;
         
     | 
| 
       5029 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       5030 
     | 
    
         
            -
            return smalltalk. 
     | 
| 
       5031 
     | 
    
         
            -
            }) 
     | 
| 
       5032 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 5090 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 5091 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 5092 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
         
     | 
| 
      
 5093 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"nextPutAll:",{aCollection:aCollection}, smalltalk.Stream)})},
         
     | 
| 
       5033 
5094 
     | 
    
         
             
            args: ["aCollection"],
         
     | 
| 
       5034 
5095 
     | 
    
         
             
            source: "nextPutAll: aCollection\x0a\x09aCollection do: [:each |\x0a\x09    self nextPut: each]",
         
     | 
| 
       5035 
5096 
     | 
    
         
             
            messageSends: ["do:", "nextPut:"],
         
     | 
| 
         @@ -5044,13 +5105,13 @@ selector: "peek", 
     | 
|
| 
       5044 
5105 
     | 
    
         
             
            category: 'reading',
         
     | 
| 
       5045 
5106 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       5046 
5107 
     | 
    
         
             
            var self=this;
         
     | 
| 
       5047 
     | 
    
         
            -
             
     | 
| 
       5048 
     | 
    
         
            -
            $2= 
     | 
| 
      
 5108 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 5109 
     | 
    
         
            +
            $2=_st(self)._atEnd();
         
     | 
| 
       5049 
5110 
     | 
    
         
             
            if(! smalltalk.assert($2)){
         
     | 
| 
       5050 
     | 
    
         
            -
            $1= 
     | 
| 
      
 5111 
     | 
    
         
            +
            $1=_st(_st(self)._collection())._at_(_st(_st(self)._position()).__plus((1)));
         
     | 
| 
       5051 
5112 
     | 
    
         
             
            };
         
     | 
| 
       5052 
5113 
     | 
    
         
             
            return $1;
         
     | 
| 
       5053 
     | 
    
         
            -
            },
         
     | 
| 
      
 5114 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"peek",{}, smalltalk.Stream)})},
         
     | 
| 
       5054 
5115 
     | 
    
         
             
            args: [],
         
     | 
| 
       5055 
5116 
     | 
    
         
             
            source: "peek\x0a\x09^self atEnd ifFalse: [\x0a\x09    self collection at: self position + 1]",
         
     | 
| 
       5056 
5117 
     | 
    
         
             
            messageSends: ["ifFalse:", "at:", "+", "position", "collection", "atEnd"],
         
     | 
| 
         @@ -5065,15 +5126,16 @@ selector: "position", 
     | 
|
| 
       5065 
5126 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       5066 
5127 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       5067 
5128 
     | 
    
         
             
            var self=this;
         
     | 
| 
       5068 
     | 
    
         
            -
             
     | 
| 
       5069 
     | 
    
         
            -
             
     | 
| 
      
 5129 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 5130 
     | 
    
         
            +
            $2=self["@position"];
         
     | 
| 
      
 5131 
     | 
    
         
            +
            if(($receiver = $2) == nil || $receiver == undefined){
         
     | 
| 
       5070 
5132 
     | 
    
         
             
            self["@position"]=(0);
         
     | 
| 
       5071 
5133 
     | 
    
         
             
            $1=self["@position"];
         
     | 
| 
       5072 
5134 
     | 
    
         
             
            } else {
         
     | 
| 
       5073 
     | 
    
         
            -
            $1 
     | 
| 
      
 5135 
     | 
    
         
            +
            $1=$2;
         
     | 
| 
       5074 
5136 
     | 
    
         
             
            };
         
     | 
| 
       5075 
5137 
     | 
    
         
             
            return $1;
         
     | 
| 
       5076 
     | 
    
         
            -
            },
         
     | 
| 
      
 5138 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"position",{}, smalltalk.Stream)})},
         
     | 
| 
       5077 
5139 
     | 
    
         
             
            args: [],
         
     | 
| 
       5078 
5140 
     | 
    
         
             
            source: "position\x0a\x09^position ifNil: [position := 0]",
         
     | 
| 
       5079 
5141 
     | 
    
         
             
            messageSends: ["ifNil:"],
         
     | 
| 
         @@ -5088,8 +5150,8 @@ selector: "position:", 
     | 
|
| 
       5088 
5150 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       5089 
5151 
     | 
    
         
             
            fn: function (anInteger){
         
     | 
| 
       5090 
5152 
     | 
    
         
             
            var self=this;
         
     | 
| 
       5091 
     | 
    
         
            -
             
     | 
| 
       5092 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 5153 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 5154 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"position:",{anInteger:anInteger}, smalltalk.Stream)})},
         
     | 
| 
       5093 
5155 
     | 
    
         
             
            args: ["anInteger"],
         
     | 
| 
       5094 
5156 
     | 
    
         
             
            source: "position: anInteger\x0a\x09position := anInteger",
         
     | 
| 
       5095 
5157 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -5104,8 +5166,8 @@ selector: "reset", 
     | 
|
| 
       5104 
5166 
     | 
    
         
             
            category: 'actions',
         
     | 
| 
       5105 
5167 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       5106 
5168 
     | 
    
         
             
            var self=this;
         
     | 
| 
       5107 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       5108 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 5169 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 5170 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"reset",{}, smalltalk.Stream)})},
         
     | 
| 
       5109 
5171 
     | 
    
         
             
            args: [],
         
     | 
| 
       5110 
5172 
     | 
    
         
             
            source: "reset\x0a\x09self position: 0",
         
     | 
| 
       5111 
5173 
     | 
    
         
             
            messageSends: ["position:"],
         
     | 
| 
         @@ -5120,9 +5182,9 @@ selector: "resetContents", 
     | 
|
| 
       5120 
5182 
     | 
    
         
             
            category: 'actions',
         
     | 
| 
       5121 
5183 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       5122 
5184 
     | 
    
         
             
            var self=this;
         
     | 
| 
       5123 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       5124 
     | 
    
         
            -
             
     | 
| 
       5125 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 5185 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 5186 
     | 
    
         
            +
            _st(self)._setStreamSize_((0));
         
     | 
| 
      
 5187 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"resetContents",{}, smalltalk.Stream)})},
         
     | 
| 
       5126 
5188 
     | 
    
         
             
            args: [],
         
     | 
| 
       5127 
5189 
     | 
    
         
             
            source: "resetContents\x0a\x09self reset.\x0a\x09self setStreamSize: 0",
         
     | 
| 
       5128 
5190 
     | 
    
         
             
            messageSends: ["reset", "setStreamSize:"],
         
     | 
| 
         @@ -5137,8 +5199,8 @@ selector: "setCollection:", 
     | 
|
| 
       5137 
5199 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       5138 
5200 
     | 
    
         
             
            fn: function (aCollection){
         
     | 
| 
       5139 
5201 
     | 
    
         
             
            var self=this;
         
     | 
| 
       5140 
     | 
    
         
            -
             
     | 
| 
       5141 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 5202 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 5203 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"setCollection:",{aCollection:aCollection}, smalltalk.Stream)})},
         
     | 
| 
       5142 
5204 
     | 
    
         
             
            args: ["aCollection"],
         
     | 
| 
       5143 
5205 
     | 
    
         
             
            source: "setCollection: aCollection\x0a\x09collection := aCollection",
         
     | 
| 
       5144 
5206 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -5153,8 +5215,8 @@ selector: "setStreamSize:", 
     | 
|
| 
       5153 
5215 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       5154 
5216 
     | 
    
         
             
            fn: function (anInteger){
         
     | 
| 
       5155 
5217 
     | 
    
         
             
            var self=this;
         
     | 
| 
       5156 
     | 
    
         
            -
             
     | 
| 
       5157 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 5218 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 5219 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"setStreamSize:",{anInteger:anInteger}, smalltalk.Stream)})},
         
     | 
| 
       5158 
5220 
     | 
    
         
             
            args: ["anInteger"],
         
     | 
| 
       5159 
5221 
     | 
    
         
             
            source: "setStreamSize: anInteger\x0a\x09streamSize := anInteger",
         
     | 
| 
       5160 
5222 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -5169,8 +5231,8 @@ selector: "setToEnd", 
     | 
|
| 
       5169 
5231 
     | 
    
         
             
            category: 'positioning',
         
     | 
| 
       5170 
5232 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       5171 
5233 
     | 
    
         
             
            var self=this;
         
     | 
| 
       5172 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       5173 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 5234 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 5235 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"setToEnd",{}, smalltalk.Stream)})},
         
     | 
| 
       5174 
5236 
     | 
    
         
             
            args: [],
         
     | 
| 
       5175 
5237 
     | 
    
         
             
            source: "setToEnd\x0a\x09self position: self size",
         
     | 
| 
       5176 
5238 
     | 
    
         
             
            messageSends: ["position:", "size"],
         
     | 
| 
         @@ -5185,10 +5247,10 @@ selector: "size", 
     | 
|
| 
       5185 
5247 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       5186 
5248 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       5187 
5249 
     | 
    
         
             
            var self=this;
         
     | 
| 
       5188 
     | 
    
         
            -
             
     | 
| 
       5189 
     | 
    
         
            -
            $1= 
     | 
| 
      
 5250 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 5251 
     | 
    
         
            +
            $1=_st(self)._streamSize();
         
     | 
| 
       5190 
5252 
     | 
    
         
             
            return $1;
         
     | 
| 
       5191 
     | 
    
         
            -
            },
         
     | 
| 
      
 5253 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"size",{}, smalltalk.Stream)})},
         
     | 
| 
       5192 
5254 
     | 
    
         
             
            args: [],
         
     | 
| 
       5193 
5255 
     | 
    
         
             
            source: "size\x0a\x09^self streamSize",
         
     | 
| 
       5194 
5256 
     | 
    
         
             
            messageSends: ["streamSize"],
         
     | 
| 
         @@ -5203,8 +5265,8 @@ selector: "skip:", 
     | 
|
| 
       5203 
5265 
     | 
    
         
             
            category: 'positioning',
         
     | 
| 
       5204 
5266 
     | 
    
         
             
            fn: function (anInteger){
         
     | 
| 
       5205 
5267 
     | 
    
         
             
            var self=this;
         
     | 
| 
       5206 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       5207 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 5268 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 5269 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"skip:",{anInteger:anInteger}, smalltalk.Stream)})},
         
     | 
| 
       5208 
5270 
     | 
    
         
             
            args: ["anInteger"],
         
     | 
| 
       5209 
5271 
     | 
    
         
             
            source: "skip: anInteger\x0a\x09self position: ((self position + anInteger) min: self size max: 0)",
         
     | 
| 
       5210 
5272 
     | 
    
         
             
            messageSends: ["position:", "min:max:", "size", "+", "position"],
         
     | 
| 
         @@ -5219,8 +5281,10 @@ selector: "streamSize", 
     | 
|
| 
       5219 
5281 
     | 
    
         
             
            category: 'accessing',
         
     | 
| 
       5220 
5282 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       5221 
5283 
     | 
    
         
             
            var self=this;
         
     | 
| 
       5222 
     | 
    
         
            -
            return  
     | 
| 
       5223 
     | 
    
         
            -
             
     | 
| 
      
 5284 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 5285 
     | 
    
         
            +
            $1=self["@streamSize"];
         
     | 
| 
      
 5286 
     | 
    
         
            +
            return $1;
         
     | 
| 
      
 5287 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"streamSize",{}, smalltalk.Stream)})},
         
     | 
| 
       5224 
5288 
     | 
    
         
             
            args: [],
         
     | 
| 
       5225 
5289 
     | 
    
         
             
            source: "streamSize\x0a\x09^streamSize",
         
     | 
| 
       5226 
5290 
     | 
    
         
             
            messageSends: [],
         
     | 
| 
         @@ -5236,14 +5300,14 @@ selector: "on:", 
     | 
|
| 
       5236 
5300 
     | 
    
         
             
            category: 'instance creation',
         
     | 
| 
       5237 
5301 
     | 
    
         
             
            fn: function (aCollection){
         
     | 
| 
       5238 
5302 
     | 
    
         
             
            var self=this;
         
     | 
| 
       5239 
     | 
    
         
            -
             
     | 
| 
       5240 
     | 
    
         
            -
            $2= 
     | 
| 
       5241 
     | 
    
         
            -
             
     | 
| 
       5242 
     | 
    
         
            -
             
     | 
| 
       5243 
     | 
    
         
            -
            $3= 
     | 
| 
      
 5303 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 5304 
     | 
    
         
            +
            $2=_st(self)._new();
         
     | 
| 
      
 5305 
     | 
    
         
            +
            _st($2)._setCollection_(aCollection);
         
     | 
| 
      
 5306 
     | 
    
         
            +
            _st($2)._setStreamSize_(_st(aCollection)._size());
         
     | 
| 
      
 5307 
     | 
    
         
            +
            $3=_st($2)._yourself();
         
     | 
| 
       5244 
5308 
     | 
    
         
             
            $1=$3;
         
     | 
| 
       5245 
5309 
     | 
    
         
             
            return $1;
         
     | 
| 
       5246 
     | 
    
         
            -
            },
         
     | 
| 
      
 5310 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"on:",{aCollection:aCollection}, smalltalk.Stream.klass)})},
         
     | 
| 
       5247 
5311 
     | 
    
         
             
            args: ["aCollection"],
         
     | 
| 
       5248 
5312 
     | 
    
         
             
            source: "on: aCollection\x0a\x09    ^self new \x0a\x09\x09setCollection: aCollection;\x0a\x09\x09setStreamSize: aCollection size;\x0a\x09\x09yourself",
         
     | 
| 
       5249 
5313 
     | 
    
         
             
            messageSends: ["setCollection:", "new", "setStreamSize:", "size", "yourself"],
         
     | 
| 
         @@ -5260,10 +5324,10 @@ selector: "cr", 
     | 
|
| 
       5260 
5324 
     | 
    
         
             
            category: 'writing',
         
     | 
| 
       5261 
5325 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       5262 
5326 
     | 
    
         
             
            var self=this;
         
     | 
| 
       5263 
     | 
    
         
            -
             
     | 
| 
       5264 
     | 
    
         
            -
            $1= 
     | 
| 
      
 5327 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 5328 
     | 
    
         
            +
            $1=_st(self)._nextPutAll_(_st((smalltalk.String || String))._cr());
         
     | 
| 
       5265 
5329 
     | 
    
         
             
            return $1;
         
     | 
| 
       5266 
     | 
    
         
            -
            },
         
     | 
| 
      
 5330 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"cr",{}, smalltalk.StringStream)})},
         
     | 
| 
       5267 
5331 
     | 
    
         
             
            args: [],
         
     | 
| 
       5268 
5332 
     | 
    
         
             
            source: "cr\x0a\x09^self nextPutAll: String cr",
         
     | 
| 
       5269 
5333 
     | 
    
         
             
            messageSends: ["nextPutAll:", "cr"],
         
     | 
| 
         @@ -5278,10 +5342,10 @@ selector: "crlf", 
     | 
|
| 
       5278 
5342 
     | 
    
         
             
            category: 'writing',
         
     | 
| 
       5279 
5343 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       5280 
5344 
     | 
    
         
             
            var self=this;
         
     | 
| 
       5281 
     | 
    
         
            -
             
     | 
| 
       5282 
     | 
    
         
            -
            $1= 
     | 
| 
      
 5345 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 5346 
     | 
    
         
            +
            $1=_st(self)._nextPutAll_(_st((smalltalk.String || String))._crlf());
         
     | 
| 
       5283 
5347 
     | 
    
         
             
            return $1;
         
     | 
| 
       5284 
     | 
    
         
            -
            },
         
     | 
| 
      
 5348 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"crlf",{}, smalltalk.StringStream)})},
         
     | 
| 
       5285 
5349 
     | 
    
         
             
            args: [],
         
     | 
| 
       5286 
5350 
     | 
    
         
             
            source: "crlf\x0a\x09^self nextPutAll: String crlf",
         
     | 
| 
       5287 
5351 
     | 
    
         
             
            messageSends: ["nextPutAll:", "crlf"],
         
     | 
| 
         @@ -5296,10 +5360,10 @@ selector: "lf", 
     | 
|
| 
       5296 
5360 
     | 
    
         
             
            category: 'writing',
         
     | 
| 
       5297 
5361 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       5298 
5362 
     | 
    
         
             
            var self=this;
         
     | 
| 
       5299 
     | 
    
         
            -
             
     | 
| 
       5300 
     | 
    
         
            -
            $1= 
     | 
| 
      
 5363 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 5364 
     | 
    
         
            +
            $1=_st(self)._nextPutAll_(_st((smalltalk.String || String))._lf());
         
     | 
| 
       5301 
5365 
     | 
    
         
             
            return $1;
         
     | 
| 
       5302 
     | 
    
         
            -
            },
         
     | 
| 
      
 5366 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"lf",{}, smalltalk.StringStream)})},
         
     | 
| 
       5303 
5367 
     | 
    
         
             
            args: [],
         
     | 
| 
       5304 
5368 
     | 
    
         
             
            source: "lf\x0a\x09^self nextPutAll: String lf",
         
     | 
| 
       5305 
5369 
     | 
    
         
             
            messageSends: ["nextPutAll:", "lf"],
         
     | 
| 
         @@ -5314,18 +5378,21 @@ selector: "next:", 
     | 
|
| 
       5314 
5378 
     | 
    
         
             
            category: 'reading',
         
     | 
| 
       5315 
5379 
     | 
    
         
             
            fn: function (anInteger){
         
     | 
| 
       5316 
5380 
     | 
    
         
             
            var self=this;
         
     | 
| 
       5317 
     | 
    
         
            -
            var $1;
         
     | 
| 
       5318 
5381 
     | 
    
         
             
            var tempCollection;
         
     | 
| 
       5319 
     | 
    
         
            -
             
     | 
| 
       5320 
     | 
    
         
            -
             
     | 
| 
       5321 
     | 
    
         
            -
            $1= 
     | 
| 
       5322 
     | 
    
         
            -
             
     | 
| 
       5323 
     | 
    
         
            -
             
     | 
| 
      
 5382 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 5383 
     | 
    
         
            +
            tempCollection=_st(_st(_st(self)._collection())._class())._new();
         
     | 
| 
      
 5384 
     | 
    
         
            +
            $1=anInteger;
         
     | 
| 
      
 5385 
     | 
    
         
            +
            $2=(function(){
         
     | 
| 
      
 5386 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx2) {
         
     | 
| 
      
 5387 
     | 
    
         
            +
            if(! smalltalk.assert($3)){
         
     | 
| 
      
 5388 
     | 
    
         
            +
            tempCollection=_st(tempCollection).__comma(_st(self)._next());
         
     | 
| 
       5324 
5389 
     | 
    
         
             
            return tempCollection;
         
     | 
| 
       5325 
5390 
     | 
    
         
             
            };
         
     | 
| 
       5326 
     | 
    
         
            -
            }) 
     | 
| 
       5327 
     | 
    
         
            -
             
     | 
| 
       5328 
     | 
    
         
            -
             
     | 
| 
      
 5391 
     | 
    
         
            +
            }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})});
         
     | 
| 
      
 5392 
     | 
    
         
            +
            _st($1)._timesRepeat_($2);
         
     | 
| 
      
 5393 
     | 
    
         
            +
            $4=tempCollection;
         
     | 
| 
      
 5394 
     | 
    
         
            +
            return $4;
         
     | 
| 
      
 5395 
     | 
    
         
            +
            }, function($ctx1) {$ctx1.fill(self,"next:",{anInteger:anInteger,tempCollection:tempCollection}, smalltalk.StringStream)})},
         
     | 
| 
       5329 
5396 
     | 
    
         
             
            args: ["anInteger"],
         
     | 
| 
       5330 
5397 
     | 
    
         
             
            source: "next: anInteger\x0a\x09| tempCollection |\x0a\x09tempCollection := self collection class new.\x0a\x09anInteger timesRepeat: [\x0a\x09    self atEnd ifFalse: [\x0a\x09\x09tempCollection := tempCollection, self next]].\x0a\x09^tempCollection",
         
     | 
| 
       5331 
5398 
     | 
    
         
             
            messageSends: ["new", "class", "collection", "timesRepeat:", "ifFalse:", ",", "next", "atEnd"],
         
     | 
| 
         @@ -5340,8 +5407,8 @@ selector: "nextPut:", 
     | 
|
| 
       5340 
5407 
     | 
    
         
             
            category: 'writing',
         
     | 
| 
       5341 
5408 
     | 
    
         
             
            fn: function (aString){
         
     | 
| 
       5342 
5409 
     | 
    
         
             
            var self=this;
         
     | 
| 
       5343 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       5344 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 5410 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 5411 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"nextPut:",{aString:aString}, smalltalk.StringStream)})},
         
     | 
| 
       5345 
5412 
     | 
    
         
             
            args: ["aString"],
         
     | 
| 
       5346 
5413 
     | 
    
         
             
            source: "nextPut: aString\x0a\x09self nextPutAll: aString",
         
     | 
| 
       5347 
5414 
     | 
    
         
             
            messageSends: ["nextPutAll:"],
         
     | 
| 
         @@ -5356,10 +5423,10 @@ selector: "nextPutAll:", 
     | 
|
| 
       5356 
5423 
     | 
    
         
             
            category: 'writing',
         
     | 
| 
       5357 
5424 
     | 
    
         
             
            fn: function (aString){
         
     | 
| 
       5358 
5425 
     | 
    
         
             
            var self=this;
         
     | 
| 
       5359 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       5360 
     | 
    
         
            -
             
     | 
| 
       5361 
     | 
    
         
            -
             
     | 
| 
       5362 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 5426 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 5427 
     | 
    
         
            +
            _st(self)._position_(_st(_st(self)._position()).__plus(_st(aString)._size()));
         
     | 
| 
      
 5428 
     | 
    
         
            +
            _st(self)._setStreamSize_(_st(_st(self)._streamSize())._max_(_st(self)._position()));
         
     | 
| 
      
 5429 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"nextPutAll:",{aString:aString}, smalltalk.StringStream)})},
         
     | 
| 
       5363 
5430 
     | 
    
         
             
            args: ["aString"],
         
     | 
| 
       5364 
5431 
     | 
    
         
             
            source: "nextPutAll: aString\x0a\x09self setCollection: \x0a\x09    (self collection copyFrom: 1 to: self position),\x0a\x09    aString,\x0a\x09    (self collection copyFrom: (self position + 1 + aString size) to: self collection size).\x0a\x09self position: self position + aString size.\x0a\x09self setStreamSize: (self streamSize max: self position)",
         
     | 
| 
       5365 
5432 
     | 
    
         
             
            messageSends: ["setCollection:", ",", "copyFrom:to:", "+", "size", "position", "collection", "position:", "setStreamSize:", "max:", "streamSize"],
         
     | 
| 
         @@ -5374,8 +5441,8 @@ selector: "space", 
     | 
|
| 
       5374 
5441 
     | 
    
         
             
            category: 'writing',
         
     | 
| 
       5375 
5442 
     | 
    
         
             
            fn: function (){
         
     | 
| 
       5376 
5443 
     | 
    
         
             
            var self=this;
         
     | 
| 
       5377 
     | 
    
         
            -
            smalltalk. 
     | 
| 
       5378 
     | 
    
         
            -
            return self},
         
     | 
| 
      
 5444 
     | 
    
         
            +
            return smalltalk.withContext(function($ctx1) { 
         
     | 
| 
      
 5445 
     | 
    
         
            +
            return self}, function($ctx1) {$ctx1.fill(self,"space",{}, smalltalk.StringStream)})},
         
     | 
| 
       5379 
5446 
     | 
    
         
             
            args: [],
         
     | 
| 
       5380 
5447 
     | 
    
         
             
            source: "space\x0a\x09self nextPut: ' '",
         
     | 
| 
       5381 
5448 
     | 
    
         
             
            messageSends: ["nextPut:"],
         
     |