nano-store 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. data/.gitignore +3 -0
  2. data/.gitmodules +3 -0
  3. data/.rvmrc +1 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE +25 -0
  6. data/README.md +193 -0
  7. data/Rakefile +1 -0
  8. data/app/app_delegate.rb +5 -0
  9. data/lib/nano-store.rb +1 -0
  10. data/lib/nano_store/bag.rb +98 -0
  11. data/lib/nano_store/model.rb +142 -0
  12. data/lib/nano_store/nano_store.rb +36 -0
  13. data/lib/nano_store/store_extension.rb +150 -0
  14. data/lib/nano_store/version.rb +3 -0
  15. data/lib/nano_store.rb +14 -0
  16. data/nano-store.gemspec +17 -0
  17. data/resources/.gitignore +0 -0
  18. data/spec/bag_spec.rb +66 -0
  19. data/spec/model_spec.rb +130 -0
  20. data/spec/nano_store_spec.rb +48 -0
  21. data/spec/store_extension_spec.rb +110 -0
  22. data/vendor/NanoStore/Classes/Advanced/NSFNanoEngine.h +542 -0
  23. data/vendor/NanoStore/Classes/Advanced/NSFNanoEngine.m +1781 -0
  24. data/vendor/NanoStore/Classes/Advanced/NSFNanoResult.h +137 -0
  25. data/vendor/NanoStore/Classes/Advanced/NSFNanoResult.m +265 -0
  26. data/vendor/NanoStore/Classes/Private/NSFNanoBag_Private.h +37 -0
  27. data/vendor/NanoStore/Classes/Private/NSFNanoEngine_Private.h +69 -0
  28. data/vendor/NanoStore/Classes/Private/NSFNanoExpression_Private.h +35 -0
  29. data/vendor/NanoStore/Classes/Private/NSFNanoGlobals_Private.h +99 -0
  30. data/vendor/NanoStore/Classes/Private/NSFNanoObject_Private.h +35 -0
  31. data/vendor/NanoStore/Classes/Private/NSFNanoPredicate_Private.h +35 -0
  32. data/vendor/NanoStore/Classes/Private/NSFNanoResult_Private.h +43 -0
  33. data/vendor/NanoStore/Classes/Private/NSFNanoSearch_Private.h +48 -0
  34. data/vendor/NanoStore/Classes/Private/NSFNanoStore_Private.h +57 -0
  35. data/vendor/NanoStore/Classes/Private/NanoStore_Private.h +37 -0
  36. data/vendor/NanoStore/Classes/Public/NSFNanoBag.h +306 -0
  37. data/vendor/NanoStore/Classes/Public/NSFNanoBag.m +485 -0
  38. data/vendor/NanoStore/Classes/Public/NSFNanoExpression.h +125 -0
  39. data/vendor/NanoStore/Classes/Public/NSFNanoExpression.m +103 -0
  40. data/vendor/NanoStore/Classes/Public/NSFNanoGlobals.h +323 -0
  41. data/vendor/NanoStore/Classes/Public/NSFNanoGlobals.m +145 -0
  42. data/vendor/NanoStore/Classes/Public/NSFNanoObject.h +298 -0
  43. data/vendor/NanoStore/Classes/Public/NSFNanoObject.m +187 -0
  44. data/vendor/NanoStore/Classes/Public/NSFNanoObjectProtocol.h +119 -0
  45. data/vendor/NanoStore/Classes/Public/NSFNanoPredicate.h +123 -0
  46. data/vendor/NanoStore/Classes/Public/NSFNanoPredicate.m +130 -0
  47. data/vendor/NanoStore/Classes/Public/NSFNanoSearch.h +381 -0
  48. data/vendor/NanoStore/Classes/Public/NSFNanoSearch.m +835 -0
  49. data/vendor/NanoStore/Classes/Public/NSFNanoSortDescriptor.h +124 -0
  50. data/vendor/NanoStore/Classes/Public/NSFNanoSortDescriptor.m +79 -0
  51. data/vendor/NanoStore/Classes/Public/NSFNanoStore.h +475 -0
  52. data/vendor/NanoStore/Classes/Public/NSFNanoStore.m +1375 -0
  53. data/vendor/NanoStore/Classes/Public/NanoStore.h +463 -0
  54. data/vendor/NanoStore/LICENSE +25 -0
  55. data/vendor/NanoStore/NanoStore.bridgesupport +1215 -0
  56. data/vendor/NanoStore/README.md +411 -0
  57. metadata +118 -0
@@ -0,0 +1,1215 @@
1
+ <?xml version='1.0'?>
2
+ <signatures version='1.0'>
3
+ <constant name='NSFAttribute' declared_type='NSString*' const='true' type='@'/>
4
+ <constant name='NSFCalendarDate' declared_type='NSString*' const='true' type='@'/>
5
+ <constant name='NSFDatatype' declared_type='NSString*' const='true' type='@'/>
6
+ <constant name='NSFDomainKey' declared_type='NSString*' const='true' type='@'/>
7
+ <constant name='NSFKey' declared_type='NSString*' const='true' type='@'/>
8
+ <constant name='NSFKeys' declared_type='NSString*' const='true' type='@'/>
9
+ <constant name='NSFMemoryDatabase' declared_type='NSString*' const='true' type='@'/>
10
+ <constant name='NSFNanoObjectBehaviorException' declared_type='NSString*' const='true' type='@'/>
11
+ <constant name='NSFNanoStoreErrorKey' declared_type='NSInteger' const='true' type='i'/>
12
+ <constant name='NSFNanoStoreUnableToManipulateStoreException' declared_type='NSString*' const='true' type='@'/>
13
+ <constant name='NSFNonConformingNanoObjectProtocolException' declared_type='NSString*' const='true' type='@'/>
14
+ <constant name='NSFObjectClass' declared_type='NSString*' const='true' type='@'/>
15
+ <constant name='NSFP_ColumnIdentifier' declared_type='NSString*' const='true' type='@'/>
16
+ <constant name='NSFP_DatatypeIdentifier' declared_type='NSString*' const='true' type='@'/>
17
+ <constant name='NSFP_FullDatatypeIdentifier' declared_type='NSString*' const='true' type='@'/>
18
+ <constant name='NSFP_SchemaTable' declared_type='NSString*' const='true' type='@'/>
19
+ <constant name='NSFP_TableIdentifier' declared_type='NSString*' const='true' type='@'/>
20
+ <constant name='NSFPlist' declared_type='NSString*' const='true' type='@'/>
21
+ <constant name='NSFRowIDColumnName' declared_type='NSString*' const='true' type='@'/>
22
+ <constant name='NSFTemporaryDatabase' declared_type='NSString*' const='true' type='@'/>
23
+ <constant name='NSFUnexpectedParameterException' declared_type='NSString*' const='true' type='@'/>
24
+ <constant name='NSFValue' declared_type='NSString*' const='true' type='@'/>
25
+ <constant name='NSFValues' declared_type='NSString*' const='true' type='@'/>
26
+ <constant name='NSFVersionKey' declared_type='NSString*' const='true' type='@'/>
27
+ <constant name='NSF_Private_InvalidParameterDataCodeKey' declared_type='NSInteger' const='true' type='i'/>
28
+ <constant name='NSF_Private_MacOSXErrorCodeKey' declared_type='NSInteger' const='true' type='i'/>
29
+ <constant name='NSF_Private_NSFKeys_NSFKey' declared_type='NSString*' const='true' type='@'/>
30
+ <constant name='NSF_Private_NSFKeys_NSFPlist' declared_type='NSString*' const='true' type='@'/>
31
+ <constant name='NSF_Private_NSFNanoBag_NSFKey' declared_type='NSString*' const='true' type='@'/>
32
+ <constant name='NSF_Private_NSFNanoBag_NSFObjectKeys' declared_type='NSString*' const='true' type='@'/>
33
+ <constant name='NSF_Private_NSFNanoBag_Name' declared_type='NSString*' const='true' type='@'/>
34
+ <constant name='NSF_Private_NSFValues_NSFAttribute' declared_type='NSString*' const='true' type='@'/>
35
+ <constant name='NSF_Private_NSFValues_NSFKey' declared_type='NSString*' const='true' type='@'/>
36
+ <constant name='NSF_Private_NSFValues_NSFValue' declared_type='NSString*' const='true' type='@'/>
37
+ <constant name='NSF_Private_ToDeleteTableKey' declared_type='NSString*' const='true' type='@'/>
38
+ <enum name='CacheAllData' value='1'/>
39
+ <enum name='CacheDataOnDemand' value='2'/>
40
+ <enum name='DoNotCacheData' value='3'/>
41
+ <enum name='JournalModeDelete' value='0'/>
42
+ <enum name='JournalModeMemory' value='3'/>
43
+ <enum name='JournalModeOFF' value='5'/>
44
+ <enum name='JournalModePersist' value='2'/>
45
+ <enum name='JournalModeTruncate' value='1'/>
46
+ <enum name='JournalModeWAL' value='4'/>
47
+ <enum name='NSFAfterDate' value='3'/>
48
+ <enum name='NSFAnd' value='1'/>
49
+ <enum name='NSFAttributeColumn' value='2'/>
50
+ <enum name='NSFAverage' value='1'/>
51
+ <enum name='NSFBeforeDate' value='1'/>
52
+ <enum name='NSFBeginsWith' value='1'/>
53
+ <enum name='NSFContains' value='2'/>
54
+ <enum name='NSFCount' value='2'/>
55
+ <enum name='NSFEncodingUTF16' value='2'/>
56
+ <enum name='NSFEncodingUTF8' value='1'/>
57
+ <enum name='NSFEncodingUnknown' value='3'/>
58
+ <enum name='NSFEndsWith' value='3'/>
59
+ <enum name='NSFEngineProcessingDefaultMode' value='1'/>
60
+ <enum name='NSFEngineProcessingFastMode' value='2'/>
61
+ <enum name='NSFEqualTo' value='0'/>
62
+ <enum name='NSFGreaterThan' value='8'/>
63
+ <enum name='NSFInsensitiveBeginsWith' value='5'/>
64
+ <enum name='NSFInsensitiveContains' value='6'/>
65
+ <enum name='NSFInsensitiveEndsWith' value='7'/>
66
+ <enum name='NSFInsensitiveEqualTo' value='4'/>
67
+ <enum name='NSFKeyColumn' value='1'/>
68
+ <enum name='NSFLessThan' value='9'/>
69
+ <enum name='NSFMax' value='3'/>
70
+ <enum name='NSFMemoryStoreType' value='1'/>
71
+ <enum name='NSFMin' value='4'/>
72
+ <enum name='NSFNanoTypeData' value='1'/>
73
+ <enum name='NSFNanoTypeDate' value='3'/>
74
+ <enum name='NSFNanoTypeNumber' value='4'/>
75
+ <enum name='NSFNanoTypeRowUID' value='0'/>
76
+ <enum name='NSFNanoTypeString' value='2'/>
77
+ <enum name='NSFNanoTypeUnknown' value='-1'/>
78
+ <enum name='NSFOnDate' value='2'/>
79
+ <enum name='NSFOr' value='2'/>
80
+ <enum name='NSFPersistentStoreType' value='3'/>
81
+ <enum name='NSFReturnKeys' value='2'/>
82
+ <enum name='NSFReturnObjects' value='1'/>
83
+ <enum name='NSFTemporaryStoreType' value='2'/>
84
+ <enum name='NSFTotal' value='5'/>
85
+ <enum name='NSFValueColumn' value='3'/>
86
+ <enum name='SynchronousModeFull' value='2'/>
87
+ <enum name='SynchronousModeNormal' value='1'/>
88
+ <enum name='SynchronousModeOff' value='0'/>
89
+ <enum name='TempStoreModeDefault' value='0'/>
90
+ <enum name='TempStoreModeFile' value='1'/>
91
+ <enum name='TempStoreModeMemory' value='2'/>
92
+ <function name='NSFIsDebugOn'>
93
+ <retval declared_type='BOOL' type='B'/>
94
+ </function>
95
+ <function name='NSFNanoDatatypeFromString'>
96
+ <arg name='aNanoDatatype' declared_type='NSString*' type='@'/>
97
+ <retval declared_type='NSFNanoDatatype' type='i'/>
98
+ </function>
99
+ <function name='NSFSetIsDebugOn'>
100
+ <arg name='flag' declared_type='BOOL' type='B'/>
101
+ <retval declared_type='void' type='v'/>
102
+ </function>
103
+ <function name='NSFStringFromMatchType'>
104
+ <arg name='aMatchType' declared_type='NSFMatchType' type='i'/>
105
+ <retval declared_type='NSString*' type='@'/>
106
+ </function>
107
+ <function name='NSFStringFromNanoDataType'>
108
+ <arg name='aNanoDatatype' declared_type='NSFNanoDatatype' type='i'/>
109
+ <retval declared_type='NSString*' type='@'/>
110
+ </function>
111
+ <class name='NSFNanoBag'>
112
+ <method selector='_inflateObjectsWithKeys:'>
113
+ <arg name='someKeys' declared_type='NSArray*' type='@' index='0'/>
114
+ <retval declared_type='void' type='v'/>
115
+ </method>
116
+ <method selector='_saveInStore:error:'>
117
+ <arg name='someStore' declared_type='NSFNanoStore*' type='@' index='0'/>
118
+ <arg name='outError' declared_type='NSError**' type='^@' index='1' type_modifier='o'/>
119
+ <retval declared_type='BOOL' type='B'/>
120
+ </method>
121
+ <method selector='_setStore:'>
122
+ <arg name='aStore' declared_type='NSFNanoStore*' type='@' index='0'/>
123
+ <retval declared_type='void' type='v'/>
124
+ </method>
125
+ <method selector='addObject:error:'>
126
+ <arg name='theObject' declared_type='id' type='@' index='0'/>
127
+ <arg name='outError' declared_type='NSError**' type='^@' index='1' type_modifier='o'/>
128
+ <retval declared_type='BOOL' type='B'/>
129
+ </method>
130
+ <method selector='addObjectsFromArray:error:'>
131
+ <arg name='theObjects' declared_type='NSArray*' type='@' index='0'/>
132
+ <arg name='outError' declared_type='NSError**' type='^@' index='1' type_modifier='o'/>
133
+ <retval declared_type='BOOL' type='B'/>
134
+ </method>
135
+ <method selector='bag' class_method='true'>
136
+ <retval declared_type='NSFNanoBag*' type='@'/>
137
+ </method>
138
+ <method selector='bagWithName:' class_method='true'>
139
+ <arg name='theName' declared_type='NSString*' type='@' index='0'/>
140
+ <retval declared_type='id' type='@'/>
141
+ </method>
142
+ <method selector='bagWithName:andObjects:' class_method='true'>
143
+ <arg name='theName' declared_type='NSString*' type='@' index='0'/>
144
+ <arg name='theObjects' declared_type='NSArray*' type='@' index='1'/>
145
+ <retval declared_type='id' type='@'/>
146
+ </method>
147
+ <method selector='bagWithObjects:' class_method='true'>
148
+ <arg name='theObjects' declared_type='NSArray*' type='@' index='0'/>
149
+ <retval declared_type='NSFNanoBag*' type='@'/>
150
+ </method>
151
+ <method selector='count'>
152
+ <retval declared_type='NSUInteger' type='I'/>
153
+ </method>
154
+ <method selector='deflateBag'>
155
+ <retval declared_type='void' type='v'/>
156
+ </method>
157
+ <method selector='description'>
158
+ <retval declared_type='NSString*' type='@'/>
159
+ </method>
160
+ <method selector='dictionaryRepresentation'>
161
+ <retval declared_type='NSDictionary*' type='@'/>
162
+ </method>
163
+ <method selector='hasUnsavedChanges'>
164
+ <retval declared_type='BOOL' type='B'/>
165
+ </method>
166
+ <method selector='inflateBag'>
167
+ <retval declared_type='void' type='v'/>
168
+ </method>
169
+ <method selector='initBagWithName:andObjects:'>
170
+ <arg name='theName' declared_type='NSString*' type='@' index='0'/>
171
+ <arg name='someObjects' declared_type='NSArray*' type='@' index='1'/>
172
+ <retval declared_type='id' type='@'/>
173
+ </method>
174
+ <method selector='isEqualToNanoBag:'>
175
+ <arg name='otherNanoBag' declared_type='NSFNanoBag*' type='@' index='0'/>
176
+ <retval declared_type='BOOL' type='B'/>
177
+ </method>
178
+ <method selector='key'>
179
+ <retval declared_type='NSString*' type='@'/>
180
+ </method>
181
+ <method selector='name'>
182
+ <retval declared_type='NSString*' type='@'/>
183
+ </method>
184
+ <method selector='reloadBagWithError:'>
185
+ <arg name='outError' declared_type='NSError**' type='^@' index='0' type_modifier='o'/>
186
+ <retval declared_type='BOOL' type='B'/>
187
+ </method>
188
+ <method selector='removeAllObjects'>
189
+ <retval declared_type='void' type='v'/>
190
+ </method>
191
+ <method selector='removeObject:'>
192
+ <arg name='theObject' declared_type='id' type='@' index='0'/>
193
+ <retval declared_type='void' type='v'/>
194
+ </method>
195
+ <method selector='removeObjectWithKey:'>
196
+ <arg name='theObjectKey' declared_type='NSString*' type='@' index='0'/>
197
+ <retval declared_type='void' type='v'/>
198
+ </method>
199
+ <method selector='removeObjectsInArray:'>
200
+ <arg name='theObjects' declared_type='NSArray*' type='@' index='0'/>
201
+ <retval declared_type='void' type='v'/>
202
+ </method>
203
+ <method selector='removeObjectsWithKeysInArray:'>
204
+ <arg name='theKeys' declared_type='NSArray*' type='@' index='0'/>
205
+ <retval declared_type='void' type='v'/>
206
+ </method>
207
+ <method selector='removedObjects'>
208
+ <retval declared_type='NSDictionary*' type='@'/>
209
+ </method>
210
+ <method selector='saveAndReturnError:'>
211
+ <arg name='outError' declared_type='NSError**' type='^@' index='0' type_modifier='o'/>
212
+ <retval declared_type='BOOL' type='B'/>
213
+ </method>
214
+ <method selector='savedObjects'>
215
+ <retval declared_type='NSDictionary*' type='@'/>
216
+ </method>
217
+ <method selector='setName:'>
218
+ <arg name='name' declared_type='NSString*' type='@' index='0'/>
219
+ <retval declared_type='void' type='v'/>
220
+ </method>
221
+ <method selector='setStore:'>
222
+ <arg name='store' declared_type='NSFNanoStore*' type='@' index='0'/>
223
+ <retval declared_type='void' type='v'/>
224
+ </method>
225
+ <method selector='store'>
226
+ <retval declared_type='NSFNanoStore*' type='@'/>
227
+ </method>
228
+ <method selector='undoChangesWithError:'>
229
+ <arg name='outError' declared_type='NSError**' type='^@' index='0' type_modifier='o'/>
230
+ <retval declared_type='BOOL' type='B'/>
231
+ </method>
232
+ <method selector='unsavedObjects'>
233
+ <retval declared_type='NSDictionary*' type='@'/>
234
+ </method>
235
+ </class>
236
+ <class name='NSFNanoEngine'>
237
+ <method selector='NSFEncodingTypeToNSString:' class_method='true'>
238
+ <arg name='value' declared_type='NSFEncodingType' type='i' index='0'/>
239
+ <retval declared_type='NSString*' type='@'/>
240
+ </method>
241
+ <method selector='NSFP_ROWIDPresenceLocation:datatypes:'>
242
+ <arg name='tableColumns' declared_type='NSArray*' type='@' index='0'/>
243
+ <arg name='datatypes' declared_type='NSArray*' type='@' index='1'/>
244
+ <retval declared_type='NSInteger' type='i'/>
245
+ </method>
246
+ <method selector='NSFP_beginTransactionMode:'>
247
+ <arg name='theSQLStatement' declared_type='NSString*' type='@' index='0'/>
248
+ <retval declared_type='BOOL' type='B'/>
249
+ </method>
250
+ <method selector='NSFP_cacheMethodToString'>
251
+ <retval declared_type='NSString*' type='@'/>
252
+ </method>
253
+ <method selector='NSFP_createTable:withColumns:datatypes:isTemporary:'>
254
+ <arg name='table' declared_type='NSString*' type='@' index='0'/>
255
+ <arg name='tableColumns' declared_type='NSArray*' type='@' index='1'/>
256
+ <arg name='tableDatatypes' declared_type='NSArray*' type='@' index='2'/>
257
+ <arg name='isTemporaryFlag' declared_type='BOOL' type='B' index='3'/>
258
+ <retval declared_type='BOOL' type='B'/>
259
+ </method>
260
+ <method selector='NSFP_datatypeForColumn:'>
261
+ <arg name='tableAndColumn' declared_type='NSString*' type='@' index='0'/>
262
+ <retval declared_type='NSFNanoDatatype' type='i'/>
263
+ </method>
264
+ <method selector='NSFP_datatypeForTable:column:'>
265
+ <arg name='table' declared_type='NSString*' type='@' index='0'/>
266
+ <arg name='column' declared_type='NSString*' type='@' index='1'/>
267
+ <retval declared_type='NSFNanoDatatype' type='i'/>
268
+ </method>
269
+ <method selector='NSFP_decodeQuantum:andSource:' class_method='true'>
270
+ <arg name='dest' declared_type='unsigned char*' type='*' index='0'/>
271
+ <arg name='src' declared_type='char*' const='true' type='*' index='1'/>
272
+ <retval declared_type='void' type='v'/>
273
+ </method>
274
+ <method selector='NSFP_flattenAllTables'>
275
+ <retval declared_type='NSArray*' type='@'/>
276
+ </method>
277
+ <method selector='NSFP_insertStringValues:forColumns:table:'>
278
+ <arg name='values' declared_type='NSArray*' type='@' index='0'/>
279
+ <arg name='columns' declared_type='NSArray*' type='@' index='1'/>
280
+ <arg name='table' declared_type='NSString*' type='@' index='2'/>
281
+ <retval declared_type='BOOL' type='B'/>
282
+ </method>
283
+ <method selector='NSFP_installCommitCallback'>
284
+ <retval declared_type='void' type='v'/>
285
+ </method>
286
+ <method selector='NSFP_isColumnROWIDAlias:forTable:'>
287
+ <arg name='column' declared_type='NSString*' type='@' index='0'/>
288
+ <arg name='table' declared_type='NSString*' type='@' index='1'/>
289
+ <retval declared_type='BOOL' type='B'/>
290
+ </method>
291
+ <method selector='NSFP_nestedDescriptionWithPrefixedSpace:'>
292
+ <arg name='prefixedSpace' declared_type='NSString*' type='@' index='0'/>
293
+ <retval declared_type='NSString*' type='@'/>
294
+ </method>
295
+ <method selector='NSFP_prefixWithDotDelimiter:'>
296
+ <arg name='tableAndColumn' declared_type='NSString*' type='@' index='0'/>
297
+ <retval declared_type='NSString*' type='@'/>
298
+ </method>
299
+ <method selector='NSFP_prepareSQLite3Statement:theSQLStatement:'>
300
+ <arg name='aStatement' declared_type='sqlite3_stmt**' type='^^{sqlite3_stmt}' index='0'/>
301
+ <arg name='aSQLQuery' declared_type='NSString*' type='@' index='1'/>
302
+ <retval declared_type='NSInteger' type='i'/>
303
+ </method>
304
+ <method selector='NSFP_rebuildDatatypeCache'>
305
+ <retval declared_type='void' type='v'/>
306
+ </method>
307
+ <method selector='NSFP_removeColumn:fromTable:'>
308
+ <arg name='column' declared_type='NSString*' type='@' index='0'/>
309
+ <arg name='table' declared_type='NSString*' type='@' index='1'/>
310
+ <retval declared_type='BOOL' type='B'/>
311
+ </method>
312
+ <method selector='NSFP_setFullColumnNamesEnabled'>
313
+ <retval declared_type='void' type='v'/>
314
+ </method>
315
+ <method selector='NSFP_sharedROWIDKeywords' class_method='true'>
316
+ <retval declared_type='NSArray*' type='@'/>
317
+ </method>
318
+ <method selector='NSFP_sqlString:appendingTags:'>
319
+ <arg name='theSQLStatement' declared_type='NSMutableString*' type='@' index='0'/>
320
+ <arg name='columns' declared_type='NSArray*' type='@' index='1'/>
321
+ <retval declared_type='void' type='v'/>
322
+ </method>
323
+ <method selector='NSFP_sqlString:appendingTags:quoteTags:'>
324
+ <arg name='theSQLStatement' declared_type='NSMutableString*' type='@' index='0'/>
325
+ <arg name='tags' declared_type='NSArray*' type='@' index='1'/>
326
+ <arg name='flag' declared_type='BOOL' type='B' index='2'/>
327
+ <retval declared_type='void' type='v'/>
328
+ </method>
329
+ <method selector='NSFP_sqlString:forTable:withColumns:datatypes:'>
330
+ <arg name='theSQLStatement' declared_type='NSMutableString*' type='@' index='0'/>
331
+ <arg name='table' declared_type='NSString*' type='@' index='1'/>
332
+ <arg name='columns' declared_type='NSArray*' type='@' index='2'/>
333
+ <arg name='datatypes' declared_type='NSArray*' type='@' index='3'/>
334
+ <retval declared_type='BOOL' type='B'/>
335
+ </method>
336
+ <method selector='NSFP_stripBitsFromExtendedResultCode:' class_method='true'>
337
+ <arg name='extendedResult' declared_type='int' type='i' index='0'/>
338
+ <retval declared_type='int' type='i'/>
339
+ </method>
340
+ <method selector='NSFP_suffixWithDotDelimiter:'>
341
+ <arg name='tableAndColumn' declared_type='NSString*' type='@' index='0'/>
342
+ <retval declared_type='NSString*' type='@'/>
343
+ </method>
344
+ <method selector='NSFP_uninstallCommitCallback'>
345
+ <retval declared_type='void' type='v'/>
346
+ </method>
347
+ <method selector='NSStringToNSFEncodingType:' class_method='true'>
348
+ <arg name='value' declared_type='NSString*' type='@' index='0'/>
349
+ <retval declared_type='NSFEncodingType' type='i'/>
350
+ </method>
351
+ <method selector='_plistToDictionary:' class_method='true'>
352
+ <arg name='aPlist' declared_type='NSString*' type='@' index='0'/>
353
+ <retval declared_type='NSDictionary*' type='@'/>
354
+ </method>
355
+ <method selector='allTables'>
356
+ <retval declared_type='NSDictionary*' type='@'/>
357
+ </method>
358
+ <method selector='beginDeferredTransaction'>
359
+ <retval declared_type='BOOL' type='B'/>
360
+ </method>
361
+ <method selector='beginTransaction'>
362
+ <retval declared_type='BOOL' type='B'/>
363
+ </method>
364
+ <method selector='busyTimeout'>
365
+ <retval declared_type='unsigned int' type='I'/>
366
+ </method>
367
+ <method selector='cacheMethod'>
368
+ <retval declared_type='NSFCacheMethod' type='i'/>
369
+ </method>
370
+ <method selector='cacheSize'>
371
+ <retval declared_type='NSUInteger' type='I'/>
372
+ </method>
373
+ <method selector='close'>
374
+ <retval declared_type='BOOL' type='B'/>
375
+ </method>
376
+ <method selector='columnsForTable:'>
377
+ <arg name='theTable' declared_type='NSString*' type='@' index='0'/>
378
+ <retval declared_type='NSArray*' type='@'/>
379
+ </method>
380
+ <method selector='commitTransaction'>
381
+ <retval declared_type='BOOL' type='B'/>
382
+ </method>
383
+ <method selector='compact'>
384
+ <retval declared_type='BOOL' type='B'/>
385
+ </method>
386
+ <method selector='createIndexForColumn:table:isUnique:'>
387
+ <arg name='theColumn' declared_type='NSString*' type='@' index='0'/>
388
+ <arg name='theTable' declared_type='NSString*' type='@' index='1'/>
389
+ <arg name='isUnique' declared_type='BOOL' type='B' index='2'/>
390
+ <retval declared_type='BOOL' type='B'/>
391
+ </method>
392
+ <method selector='createTable:withColumns:datatypes:'>
393
+ <arg name='theTable' declared_type='NSString*' type='@' index='0'/>
394
+ <arg name='theColumns' declared_type='NSArray*' type='@' index='1'/>
395
+ <arg name='theDatatypes' declared_type='NSArray*' type='@' index='2'/>
396
+ <retval declared_type='BOOL' type='B'/>
397
+ </method>
398
+ <method selector='databaseWithPath:' class_method='true'>
399
+ <arg name='thePath' declared_type='NSString*' type='@' index='0'/>
400
+ <retval declared_type='id' type='@'/>
401
+ </method>
402
+ <method selector='datatypesForTable:'>
403
+ <arg name='theTable' declared_type='NSString*' type='@' index='0'/>
404
+ <retval declared_type='NSArray*' type='@'/>
405
+ </method>
406
+ <method selector='decodeDataFromBase64:' class_method='true'>
407
+ <arg name='theEncodedData' declared_type='NSString*' type='@' index='0'/>
408
+ <retval declared_type='NSData*' type='@'/>
409
+ </method>
410
+ <method selector='description'>
411
+ <retval declared_type='NSString*' type='@'/>
412
+ </method>
413
+ <method selector='dropIndex:'>
414
+ <arg name='theIndex' declared_type='NSString*' type='@' index='0'/>
415
+ <retval declared_type='void' type='v'/>
416
+ </method>
417
+ <method selector='dropTable:'>
418
+ <arg name='theTable' declared_type='NSString*' type='@' index='0'/>
419
+ <retval declared_type='BOOL' type='B'/>
420
+ </method>
421
+ <method selector='encodeDataToBase64:' class_method='true'>
422
+ <arg name='theData' declared_type='NSData*' type='@' index='0'/>
423
+ <retval declared_type='NSString*' type='@'/>
424
+ </method>
425
+ <method selector='encoding'>
426
+ <retval declared_type='NSFEncodingType' type='i'/>
427
+ </method>
428
+ <method selector='executeSQL:'>
429
+ <arg name='theSQLStatement' declared_type='NSString*' type='@' index='0'/>
430
+ <retval declared_type='NSFNanoResult*' type='@'/>
431
+ </method>
432
+ <method selector='indexedColumnsForTable:'>
433
+ <arg name='theTable' declared_type='NSString*' type='@' index='0'/>
434
+ <retval declared_type='NSArray*' type='@'/>
435
+ </method>
436
+ <method selector='indexes'>
437
+ <retval declared_type='NSArray*' type='@'/>
438
+ </method>
439
+ <method selector='initWithPath:'>
440
+ <arg name='thePath' declared_type='NSString*' type='@' index='0'/>
441
+ <retval declared_type='id' type='@'/>
442
+ </method>
443
+ <method selector='integrityCheck'>
444
+ <retval declared_type='BOOL' type='B'/>
445
+ </method>
446
+ <method selector='isDatabaseOpen'>
447
+ <retval declared_type='BOOL' type='B'/>
448
+ </method>
449
+ <method selector='isTransactionActive'>
450
+ <retval declared_type='BOOL' type='B'/>
451
+ </method>
452
+ <method selector='journalModeAndReturnError:'>
453
+ <arg name='outError' declared_type='NSError**' type='^@' index='0' type_modifier='o'/>
454
+ <retval declared_type='NSFJournalModeMode' type='i'/>
455
+ </method>
456
+ <method selector='maxRowUIDForTable:'>
457
+ <arg name='theTable' declared_type='NSString*' type='@' index='0'/>
458
+ <retval declared_type='long long' type='q'/>
459
+ </method>
460
+ <method selector='nanoStoreEngineVersion' class_method='true'>
461
+ <retval declared_type='NSString*' type='@'/>
462
+ </method>
463
+ <method selector='openWithCacheMethod:useFastMode:'>
464
+ <arg name='theCacheMethod' declared_type='NSFCacheMethod' type='i' index='0'/>
465
+ <arg name='useFastMode' declared_type='BOOL' type='B' index='1'/>
466
+ <retval declared_type='BOOL' type='B'/>
467
+ </method>
468
+ <method selector='pageSize'>
469
+ <retval declared_type='NSUInteger' type='I'/>
470
+ </method>
471
+ <method selector='path'>
472
+ <retval declared_type='NSString*' type='@'/>
473
+ </method>
474
+ <method selector='recommendedCacheSize' class_method='true'>
475
+ <retval declared_type='NSUInteger' type='I'/>
476
+ </method>
477
+ <method selector='rollbackTransaction'>
478
+ <retval declared_type='BOOL' type='B'/>
479
+ </method>
480
+ <method selector='setBusyTimeout:'>
481
+ <arg name='theTimeout' declared_type='unsigned int' type='I' index='0'/>
482
+ <retval declared_type='void' type='v'/>
483
+ </method>
484
+ <method selector='setCacheMethod:'>
485
+ <arg name='cacheMethod' declared_type='NSFCacheMethod' type='i' index='0'/>
486
+ <retval declared_type='void' type='v'/>
487
+ </method>
488
+ <method selector='setCacheSize:'>
489
+ <arg name='numberOfPages' declared_type='NSUInteger' type='I' index='0'/>
490
+ <retval declared_type='BOOL' type='B'/>
491
+ </method>
492
+ <method selector='setEncodingType:'>
493
+ <arg name='theEncodingType' declared_type='NSFEncodingType' type='i' index='0'/>
494
+ <retval declared_type='BOOL' type='B'/>
495
+ </method>
496
+ <method selector='setJournalMode:'>
497
+ <arg name='theMode' declared_type='NSFJournalModeMode' type='i' index='0'/>
498
+ <retval declared_type='BOOL' type='B'/>
499
+ </method>
500
+ <method selector='setPageSize:'>
501
+ <arg name='numberOfBytes' declared_type='NSUInteger' type='I' index='0'/>
502
+ <retval declared_type='BOOL' type='B'/>
503
+ </method>
504
+ <method selector='setSynchronousMode:'>
505
+ <arg name='theSynchronousMode' declared_type='NSFSynchronousMode' type='i' index='0'/>
506
+ <retval declared_type='void' type='v'/>
507
+ </method>
508
+ <method selector='setTempStoreMode:'>
509
+ <arg name='theTempStoreMode' declared_type='NSFTempStoreMode' type='i' index='0'/>
510
+ <retval declared_type='void' type='v'/>
511
+ </method>
512
+ <method selector='sharedNanoStoreEngineDatatypes' class_method='true'>
513
+ <retval declared_type='NSSet*' type='@'/>
514
+ </method>
515
+ <method selector='sqlite'>
516
+ <retval declared_type='sqlite3*' type='^{sqlite3=}'/>
517
+ </method>
518
+ <method selector='sqliteVersion' class_method='true'>
519
+ <retval declared_type='NSString*' type='@'/>
520
+ </method>
521
+ <method selector='stringWithUUID' class_method='true'>
522
+ <retval declared_type='NSString*' type='@'/>
523
+ </method>
524
+ <method selector='synchronousMode'>
525
+ <retval declared_type='NSFSynchronousMode' type='i'/>
526
+ </method>
527
+ <method selector='systemPageSize' class_method='true'>
528
+ <retval declared_type='NSInteger' type='i'/>
529
+ </method>
530
+ <method selector='tables'>
531
+ <retval declared_type='NSArray*' type='@'/>
532
+ </method>
533
+ <method selector='tempStoreMode'>
534
+ <retval declared_type='NSFTempStoreMode' type='i'/>
535
+ </method>
536
+ <method selector='temporaryTables'>
537
+ <retval declared_type='NSArray*' type='@'/>
538
+ </method>
539
+ </class>
540
+ <class name='NSFNanoExpression'>
541
+ <method selector='addPredicate:withOperator:'>
542
+ <arg name='thePredicate' declared_type='NSFNanoPredicate*' type='@' index='0'/>
543
+ <arg name='theOperator' declared_type='NSFOperator' type='i' index='1'/>
544
+ <retval declared_type='void' type='v'/>
545
+ </method>
546
+ <method selector='description'>
547
+ <retval declared_type='NSString*' type='@'/>
548
+ </method>
549
+ <method selector='expressionWithPredicate:' class_method='true'>
550
+ <arg name='thePredicate' declared_type='NSFNanoPredicate*' type='@' index='0'/>
551
+ <retval declared_type='NSFNanoExpression*' type='@'/>
552
+ </method>
553
+ <method selector='initWithPredicate:'>
554
+ <arg name='thePredicate' declared_type='NSFNanoPredicate*' type='@' index='0'/>
555
+ <retval declared_type='id' type='@'/>
556
+ </method>
557
+ <method selector='operators'>
558
+ <retval declared_type='NSArray*' type='@'/>
559
+ </method>
560
+ <method selector='predicates'>
561
+ <retval declared_type='NSArray*' type='@'/>
562
+ </method>
563
+ </class>
564
+ <class name='NSFNanoObject'>
565
+ <method selector='_setOriginalClassString:'>
566
+ <arg name='theClassString' declared_type='NSString*' type='@' index='0'/>
567
+ <retval declared_type='void' type='v'/>
568
+ </method>
569
+ <method selector='description'>
570
+ <retval declared_type='NSString*' type='@'/>
571
+ </method>
572
+ <method selector='dictionaryRepresentation'>
573
+ <retval declared_type='NSDictionary*' type='@'/>
574
+ </method>
575
+ <method selector='info'>
576
+ <retval declared_type='NSDictionary*' type='@'/>
577
+ </method>
578
+ <method selector='initFromDictionaryRepresentation:'>
579
+ <arg name='theDictionary' declared_type='NSDictionary*' type='@' index='0'/>
580
+ <retval declared_type='id' type='@'/>
581
+ </method>
582
+ <method selector='isEqualToNanoObject:'>
583
+ <arg name='otherNanoObject' declared_type='NSFNanoObject*' type='@' index='0'/>
584
+ <retval declared_type='BOOL' type='B'/>
585
+ </method>
586
+ <method selector='key'>
587
+ <retval declared_type='NSString*' type='@'/>
588
+ </method>
589
+ <method selector='nanoObject' class_method='true'>
590
+ <retval declared_type='NSFNanoObject*' type='@'/>
591
+ </method>
592
+ <method selector='nanoObjectWithDictionary:' class_method='true'>
593
+ <arg name='theDictionary' declared_type='NSDictionary*' type='@' index='0'/>
594
+ <retval declared_type='NSFNanoObject*' type='@'/>
595
+ </method>
596
+ <method selector='objectForKey:'>
597
+ <arg name='aKey' declared_type='NSString*' type='@' index='0'/>
598
+ <retval declared_type='id' type='@'/>
599
+ </method>
600
+ <method selector='originalClassString'>
601
+ <retval declared_type='NSString*' type='@'/>
602
+ </method>
603
+ <method selector='removeAllObjects'>
604
+ <retval declared_type='void' type='v'/>
605
+ </method>
606
+ <method selector='removeObjectForKey:'>
607
+ <arg name='aKey' declared_type='NSString*' type='@' index='0'/>
608
+ <retval declared_type='void' type='v'/>
609
+ </method>
610
+ <method selector='removeObjectsForKeys:'>
611
+ <arg name='keyArray' declared_type='NSArray*' type='@' index='0'/>
612
+ <retval declared_type='void' type='v'/>
613
+ </method>
614
+ <method selector='setObject:forKey:'>
615
+ <arg name='anObject' declared_type='id' type='@' index='0'/>
616
+ <arg name='aKey' declared_type='NSString*' type='@' index='1'/>
617
+ <retval declared_type='void' type='v'/>
618
+ </method>
619
+ </class>
620
+ <class name='NSFNanoPredicate'>
621
+ <method selector='column'>
622
+ <retval declared_type='NSFTableColumnType' type='i'/>
623
+ </method>
624
+ <method selector='description'>
625
+ <retval declared_type='NSString*' type='@'/>
626
+ </method>
627
+ <method selector='initWithColumn:matching:value:'>
628
+ <arg name='theType' declared_type='NSFTableColumnType' type='i' index='0'/>
629
+ <arg name='theMatch' declared_type='NSFMatchType' type='i' index='1'/>
630
+ <arg name='theValue' declared_type='NSString*' type='@' index='2'/>
631
+ <retval declared_type='id' type='@'/>
632
+ </method>
633
+ <method selector='match'>
634
+ <retval declared_type='NSFMatchType' type='i'/>
635
+ </method>
636
+ <method selector='predicateWithColumn:matching:value:' class_method='true'>
637
+ <arg name='theType' declared_type='NSFTableColumnType' type='i' index='0'/>
638
+ <arg name='theMatch' declared_type='NSFMatchType' type='i' index='1'/>
639
+ <arg name='theValue' declared_type='NSString*' type='@' index='2'/>
640
+ <retval declared_type='NSFNanoPredicate*' type='@'/>
641
+ </method>
642
+ <method selector='value'>
643
+ <retval declared_type='NSString*' type='@'/>
644
+ </method>
645
+ </class>
646
+ <class name='NSFNanoResult'>
647
+ <method selector='_calculateNumberOfRows'>
648
+ <retval declared_type='void' type='v'/>
649
+ </method>
650
+ <method selector='_initWithDictionary:'>
651
+ <arg name='results' declared_type='NSDictionary*' type='@' index='0'/>
652
+ <retval declared_type='id' type='@'/>
653
+ </method>
654
+ <method selector='_initWithError:'>
655
+ <arg name='error' declared_type='NSError*' type='@' index='0'/>
656
+ <retval declared_type='id' type='@'/>
657
+ </method>
658
+ <method selector='_reset'>
659
+ <retval declared_type='void' type='v'/>
660
+ </method>
661
+ <method selector='_resultWithDictionary:' class_method='true'>
662
+ <arg name='results' declared_type='NSDictionary*' type='@' index='0'/>
663
+ <retval declared_type='NSFNanoResult*' type='@'/>
664
+ </method>
665
+ <method selector='_resultWithError:' class_method='true'>
666
+ <arg name='error' declared_type='NSError*' type='@' index='0'/>
667
+ <retval declared_type='NSFNanoResult*' type='@'/>
668
+ </method>
669
+ <method selector='_setError:'>
670
+ <arg name='error' declared_type='NSError*' type='@' index='0'/>
671
+ <retval declared_type='void' type='v'/>
672
+ </method>
673
+ <method selector='columns'>
674
+ <retval declared_type='NSArray*' type='@'/>
675
+ </method>
676
+ <method selector='description'>
677
+ <retval declared_type='NSString*' type='@'/>
678
+ </method>
679
+ <method selector='error'>
680
+ <retval declared_type='NSError*' type='@'/>
681
+ </method>
682
+ <method selector='firstValue'>
683
+ <retval declared_type='NSString*' type='@'/>
684
+ </method>
685
+ <method selector='numberOfRows'>
686
+ <retval declared_type='NSUInteger' type='I'/>
687
+ </method>
688
+ <method selector='setError:'>
689
+ <arg name='error' declared_type='NSError*' type='@' index='0'/>
690
+ <retval declared_type='void' type='v'/>
691
+ </method>
692
+ <method selector='valueAtIndex:forColumn:'>
693
+ <arg name='theIndex' declared_type='NSUInteger' type='I' index='0'/>
694
+ <arg name='theColumn' declared_type='NSString*' type='@' index='1'/>
695
+ <retval declared_type='NSString*' type='@'/>
696
+ </method>
697
+ <method selector='valuesForColumn:'>
698
+ <arg name='theColumn' declared_type='NSString*' type='@' index='0'/>
699
+ <retval declared_type='NSArray*' type='@'/>
700
+ </method>
701
+ <method selector='writeToFile:'>
702
+ <arg name='thePath' declared_type='NSString*' type='@' index='0'/>
703
+ <retval declared_type='void' type='v'/>
704
+ </method>
705
+ </class>
706
+ <class name='NSFNanoSearch'>
707
+ <method selector='_dataWithKey:attribute:value:matching:'>
708
+ <arg name='aKey' declared_type='NSString*' type='@' index='0'/>
709
+ <arg name='anAttribute' declared_type='NSString*' type='@' index='1'/>
710
+ <arg name='aValue' declared_type='NSString*' type='@' index='2'/>
711
+ <arg name='match' declared_type='NSFMatchType' type='i' index='3'/>
712
+ <retval declared_type='NSArray*' type='@'/>
713
+ </method>
714
+ <method selector='_dataWithKey:attribute:value:matching:returning:'>
715
+ <arg name='aKey' declared_type='NSString*' type='@' index='0'/>
716
+ <arg name='anAttribute' declared_type='NSString*' type='@' index='1'/>
717
+ <arg name='aValue' declared_type='NSString*' type='@' index='2'/>
718
+ <arg name='match' declared_type='NSFMatchType' type='i' index='3'/>
719
+ <arg name='returnedObjectType' declared_type='NSFReturnType' type='i' index='4'/>
720
+ <retval declared_type='NSArray*' type='@'/>
721
+ </method>
722
+ <method selector='_dictionaryForKeyPath:value:'>
723
+ <arg name='keyPath' declared_type='NSString*' type='@' index='0'/>
724
+ <arg name='value' declared_type='id' type='@' index='1'/>
725
+ <retval declared_type='NSDictionary*' type='@'/>
726
+ </method>
727
+ <method selector='_prepareSQLQueryStringWithExpressions:'>
728
+ <arg name='someExpressions' declared_type='NSArray*' type='@' index='0'/>
729
+ <retval declared_type='NSString*' type='@'/>
730
+ </method>
731
+ <method selector='_prepareSQLQueryStringWithKey:attribute:value:matching:'>
732
+ <arg name='aKey' declared_type='NSString*' type='@' index='0'/>
733
+ <arg name='anAttribute' declared_type='NSString*' type='@' index='1'/>
734
+ <arg name='aValue' declared_type='id' type='@' index='2'/>
735
+ <arg name='match' declared_type='NSFMatchType' type='i' index='3'/>
736
+ <retval declared_type='NSString*' type='@'/>
737
+ </method>
738
+ <method selector='_prepareSQLQueryStringWithKeys:' class_method='true'>
739
+ <arg name='someKeys' declared_type='NSArray*' type='@' index='0'/>
740
+ <retval declared_type='NSString*' type='@'/>
741
+ </method>
742
+ <method selector='_preparedSQL'>
743
+ <retval declared_type='NSString*' type='@'/>
744
+ </method>
745
+ <method selector='_querySegmentForAttributeColumnWithValue:matching:valueColumnWithValue:' class_method='true'>
746
+ <arg name='anAttributeValue' declared_type='id' type='@' index='0'/>
747
+ <arg name='match' declared_type='NSFMatchType' type='i' index='1'/>
748
+ <arg name='aValue' declared_type='id' type='@' index='2'/>
749
+ <retval declared_type='NSString*' type='@'/>
750
+ </method>
751
+ <method selector='_querySegmentForColumn:value:matching:' class_method='true'>
752
+ <arg name='aColumn' declared_type='NSString*' type='@' index='0'/>
753
+ <arg name='aValue' declared_type='id' type='@' index='1'/>
754
+ <arg name='match' declared_type='NSFMatchType' type='i' index='2'/>
755
+ <retval declared_type='NSString*' type='@'/>
756
+ </method>
757
+ <method selector='_quoteStrings:joiningWithDelimiter:' class_method='true'>
758
+ <arg name='strings' declared_type='NSArray*' type='@' index='0'/>
759
+ <arg name='delimiter' declared_type='NSString*' type='@' index='1'/>
760
+ <retval declared_type='NSString*' type='@'/>
761
+ </method>
762
+ <method selector='_resultsFromSQLQuery:'>
763
+ <arg name='theSQLStatement' declared_type='NSString*' type='@' index='0'/>
764
+ <retval declared_type='NSArray*' type='@'/>
765
+ </method>
766
+ <method selector='_retrieveDataAdded:calendarDate:error:'>
767
+ <arg name='aDateMatch' declared_type='NSFDateMatchType' type='i' index='0'/>
768
+ <arg name='aDate' declared_type='NSDate*' type='@' index='1'/>
769
+ <arg name='outError' declared_type='NSError**' type='^@' index='2' type_modifier='o'/>
770
+ <retval declared_type='NSDictionary*' type='@'/>
771
+ </method>
772
+ <method selector='_retrieveDataWithError:'>
773
+ <arg name='outError' declared_type='NSError**' type='^@' index='0' type_modifier='o'/>
774
+ <retval declared_type='NSDictionary*' type='@'/>
775
+ </method>
776
+ <method selector='_sortResultsIfApplicable:returnType:'>
777
+ <arg name='results' declared_type='NSDictionary*' type='@' index='0'/>
778
+ <arg name='theReturnType' declared_type='NSFReturnType' type='i' index='1'/>
779
+ <retval declared_type='id' type='@'/>
780
+ </method>
781
+ <method selector='aggregateOperation:onAttribute:'>
782
+ <arg name='theFunctionType' declared_type='NSFAggregateFunctionType' type='i' index='0'/>
783
+ <arg name='theAttribute' declared_type='NSString*' type='@' index='1'/>
784
+ <retval declared_type='NSNumber*' type='@'/>
785
+ </method>
786
+ <method selector='attribute'>
787
+ <retval declared_type='NSString*' type='@'/>
788
+ </method>
789
+ <method selector='attributesToBeReturned'>
790
+ <retval declared_type='NSArray*' type='@'/>
791
+ </method>
792
+ <method selector='executeSQL:'>
793
+ <arg name='theSQLStatement' declared_type='NSString*' type='@' index='0'/>
794
+ <retval declared_type='NSFNanoResult*' type='@'/>
795
+ </method>
796
+ <method selector='executeSQL:returnType:error:'>
797
+ <arg name='theSQLStatement' declared_type='NSString*' type='@' index='0'/>
798
+ <arg name='theReturnType' declared_type='NSFReturnType' type='i' index='1'/>
799
+ <arg name='outError' declared_type='NSError**' type='^@' index='2' type_modifier='o'/>
800
+ <retval declared_type='id' type='@'/>
801
+ </method>
802
+ <method selector='explainSQL:'>
803
+ <arg name='theSQLStatement' declared_type='NSString*' type='@' index='0'/>
804
+ <retval declared_type='NSFNanoResult*' type='@'/>
805
+ </method>
806
+ <method selector='expressions'>
807
+ <retval declared_type='NSArray*' type='@'/>
808
+ </method>
809
+ <method selector='groupValues'>
810
+ <retval declared_type='BOOL' type='B'/>
811
+ </method>
812
+ <method selector='initWithStore:'>
813
+ <arg name='theNanoStore' declared_type='NSFNanoStore*' type='@' index='0'/>
814
+ <retval declared_type='id' type='@'/>
815
+ </method>
816
+ <method selector='key'>
817
+ <retval declared_type='NSString*' type='@'/>
818
+ </method>
819
+ <method selector='match'>
820
+ <retval declared_type='NSFMatchType' type='i'/>
821
+ </method>
822
+ <method selector='nanoStore'>
823
+ <retval declared_type='NSFNanoStore*' type='@'/>
824
+ </method>
825
+ <method selector='reset'>
826
+ <retval declared_type='void' type='v'/>
827
+ </method>
828
+ <method selector='searchObjectsAdded:date:returnType:error:'>
829
+ <arg name='theDateMatch' declared_type='NSFDateMatchType' type='i' index='0'/>
830
+ <arg name='theDate' declared_type='NSDate*' type='@' index='1'/>
831
+ <arg name='theReturnType' declared_type='NSFReturnType' type='i' index='2'/>
832
+ <arg name='outError' declared_type='NSError**' type='^@' index='3' type_modifier='o'/>
833
+ <retval declared_type='id' type='@'/>
834
+ </method>
835
+ <method selector='searchObjectsWithReturnType:error:'>
836
+ <arg name='theReturnType' declared_type='NSFReturnType' type='i' index='0'/>
837
+ <arg name='outError' declared_type='NSError**' type='^@' index='1' type_modifier='o'/>
838
+ <retval declared_type='id' type='@'/>
839
+ </method>
840
+ <method selector='searchWithStore:' class_method='true'>
841
+ <arg name='theNanoStore' declared_type='NSFNanoStore*' type='@' index='0'/>
842
+ <retval declared_type='NSFNanoSearch*' type='@'/>
843
+ </method>
844
+ <method selector='setAttribute:'>
845
+ <arg name='attribute' declared_type='NSString*' type='@' index='0'/>
846
+ <retval declared_type='void' type='v'/>
847
+ </method>
848
+ <method selector='setAttributesToBeReturned:'>
849
+ <arg name='attributesToBeReturned' declared_type='NSArray*' type='@' index='0'/>
850
+ <retval declared_type='void' type='v'/>
851
+ </method>
852
+ <method selector='setExpressions:'>
853
+ <arg name='expressions' declared_type='NSArray*' type='@' index='0'/>
854
+ <retval declared_type='void' type='v'/>
855
+ </method>
856
+ <method selector='setGroupValues:'>
857
+ <arg name='groupValues' declared_type='BOOL' type='B' index='0'/>
858
+ <retval declared_type='void' type='v'/>
859
+ </method>
860
+ <method selector='setKey:'>
861
+ <arg name='key' declared_type='NSString*' type='@' index='0'/>
862
+ <retval declared_type='void' type='v'/>
863
+ </method>
864
+ <method selector='setMatch:'>
865
+ <arg name='match' declared_type='NSFMatchType' type='i' index='0'/>
866
+ <retval declared_type='void' type='v'/>
867
+ </method>
868
+ <method selector='setNanoStore:'>
869
+ <arg name='nanoStore' declared_type='NSFNanoStore*' type='@' index='0'/>
870
+ <retval declared_type='void' type='v'/>
871
+ </method>
872
+ <method selector='setSort:'>
873
+ <arg name='sort' declared_type='NSArray*' type='@' index='0'/>
874
+ <retval declared_type='void' type='v'/>
875
+ </method>
876
+ <method selector='setValue:'>
877
+ <arg name='value' declared_type='id' type='@' index='0'/>
878
+ <retval declared_type='void' type='v'/>
879
+ </method>
880
+ <method selector='sort'>
881
+ <retval declared_type='NSArray*' type='@'/>
882
+ </method>
883
+ <method selector='sql'>
884
+ <retval declared_type='NSString*' type='@'/>
885
+ </method>
886
+ <method selector='value'>
887
+ <retval declared_type='id' type='@'/>
888
+ </method>
889
+ </class>
890
+ <class name='NSFNanoSortDescriptor'>
891
+ <method selector='attribute'>
892
+ <retval declared_type='NSString*' type='@'/>
893
+ </method>
894
+ <method selector='description'>
895
+ <retval declared_type='NSString*' type='@'/>
896
+ </method>
897
+ <method selector='initWithAttribute:ascending:'>
898
+ <arg name='theAttribute' declared_type='NSString*' type='@' index='0'/>
899
+ <arg name='ascending' declared_type='BOOL' type='B' index='1'/>
900
+ <retval declared_type='id' type='@'/>
901
+ </method>
902
+ <method selector='isAscending'>
903
+ <retval declared_type='BOOL' type='B'/>
904
+ </method>
905
+ <method selector='sortDescriptorWithAttribute:ascending:' class_method='true'>
906
+ <arg name='theAttribute' declared_type='NSString*' type='@' index='0'/>
907
+ <arg name='ascending' declared_type='BOOL' type='B' index='1'/>
908
+ <retval declared_type='NSFNanoSortDescriptor*' type='@'/>
909
+ </method>
910
+ </class>
911
+ <class name='NSFNanoStore'>
912
+ <method selector='_NSFDatatypeOfObject:'>
913
+ <arg name='value' declared_type='id' type='@' index='0'/>
914
+ <retval declared_type='NSFNanoDatatype' type='i'/>
915
+ </method>
916
+ <method selector='__storeDictionaries:forKeys:error:'>
917
+ <arg name='someObjects' declared_type='NSArray*' type='@' index='0'/>
918
+ <arg name='someKeys' declared_type='NSArray*' type='@' index='1'/>
919
+ <arg name='outError' declared_type='NSError**' type='^@' index='2' type_modifier='o'/>
920
+ <retval declared_type='BOOL' type='B'/>
921
+ </method>
922
+ <method selector='_addObjectsFromArray:forceSave:error:'>
923
+ <arg name='someObjects' declared_type='NSArray*' type='@' index='0'/>
924
+ <arg name='forceSave' declared_type='BOOL' type='B' index='1'/>
925
+ <arg name='outError' declared_type='NSError**' type='^@' index='2' type_modifier='o'/>
926
+ <retval declared_type='BOOL' type='B'/>
927
+ </method>
928
+ <method selector='_backupFileStoreToDirectoryAtPath:extension:compact:error:'>
929
+ <arg name='aPath' declared_type='NSString*' type='@' index='0'/>
930
+ <arg name='anExtension' declared_type='NSString*' type='@' index='1'/>
931
+ <arg name='flag' declared_type='BOOL' type='B' index='2'/>
932
+ <arg name='outError' declared_type='NSError**' type='^@' index='3' type_modifier='o'/>
933
+ <retval declared_type='BOOL' type='B'/>
934
+ </method>
935
+ <method selector='_backupMemoryStoreToDirectoryAtPath:extension:compact:error:'>
936
+ <arg name='aPath' declared_type='NSString*' type='@' index='0'/>
937
+ <arg name='anExtension' declared_type='NSString*' type='@' index='1'/>
938
+ <arg name='flag' declared_type='BOOL' type='B' index='2'/>
939
+ <arg name='outError' declared_type='NSError**' type='^@' index='3' type_modifier='o'/>
940
+ <retval declared_type='BOOL' type='B'/>
941
+ </method>
942
+ <method selector='_bindValue:forAttribute:parameterNumber:usingSQLite3Statement:'>
943
+ <arg name='aValue' declared_type='id' type='@' index='0'/>
944
+ <arg name='anAttribute' declared_type='NSString*' type='@' index='1'/>
945
+ <arg name='aParamNumber' declared_type='NSInteger' type='i' index='2'/>
946
+ <arg name='aStatement' declared_type='sqlite3_stmt*' type='^{sqlite3_stmt=}' index='3'/>
947
+ <retval declared_type='BOOL' type='B'/>
948
+ </method>
949
+ <method selector='_calendarDateToString:' class_method='true'>
950
+ <arg name='aDate' declared_type='NSDate*' type='@' index='0'/>
951
+ <retval declared_type='NSString*' type='@'/>
952
+ </method>
953
+ <method selector='_checkNanoStoreIsReadyAndReturnError:'>
954
+ <arg name='outError' declared_type='NSError**' type='^@' index='0' type_modifier='o'/>
955
+ <retval declared_type='BOOL' type='B'/>
956
+ </method>
957
+ <method selector='_debug' class_method='true'>
958
+ <retval declared_type='NSFNanoStore*' type='@'/>
959
+ </method>
960
+ <method selector='_defaultTestData' class_method='true'>
961
+ <retval declared_type='NSDictionary*' type='@'/>
962
+ </method>
963
+ <method selector='_executeSQL:'>
964
+ <arg name='theSQLStatement' declared_type='NSString*' type='@' index='0'/>
965
+ <retval declared_type='NSFNanoResult*' type='@'/>
966
+ </method>
967
+ <method selector='_executeSQLite3StepUsingSQLite3Statement:'>
968
+ <arg name='aStatement' declared_type='sqlite3_stmt*' type='^{sqlite3_stmt=}' index='0'/>
969
+ <retval declared_type='void' type='v'/>
970
+ </method>
971
+ <method selector='_flattenCollection:keyPath:keys:values:'>
972
+ <arg name='someObject' declared_type='id' type='@' index='0'/>
973
+ <arg name='aKeyPath' declared_type='NSMutableArray**' type='^@' index='1'/>
974
+ <arg name='someKeys' declared_type='NSMutableArray**' type='^@' index='2'/>
975
+ <arg name='someValues' declared_type='NSMutableArray**' type='^@' index='3'/>
976
+ <retval declared_type='void' type='v'/>
977
+ </method>
978
+ <method selector='_flattenCollection:keys:values:'>
979
+ <arg name='info' declared_type='NSDictionary*' type='@' index='0'/>
980
+ <arg name='flattenedKeys' declared_type='NSMutableArray**' type='^@' index='1'/>
981
+ <arg name='flattenedValues' declared_type='NSMutableArray**' type='^@' index='2'/>
982
+ <retval declared_type='void' type='v'/>
983
+ </method>
984
+ <method selector='_initializePreparedStatementsWithError:'>
985
+ <arg name='outError' declared_type='NSError**' type='^@' index='0' type_modifier='o'/>
986
+ <retval declared_type='BOOL' type='B'/>
987
+ </method>
988
+ <method selector='_isOurTransaction'>
989
+ <retval declared_type='BOOL' type='B'/>
990
+ </method>
991
+ <method selector='_nestedDescriptionWithPrefixedSpace:'>
992
+ <arg name='prefixedSpace' declared_type='NSString*' type='@' index='0'/>
993
+ <retval declared_type='NSString*' type='@'/>
994
+ </method>
995
+ <method selector='_prepareSQLite3Statement:theSQLStatement:'>
996
+ <arg name='aStatement' declared_type='sqlite3_stmt**' type='^^{sqlite3_stmt}' index='0'/>
997
+ <arg name='aSQLQuery' declared_type='NSString*' type='@' index='1'/>
998
+ <retval declared_type='BOOL' type='B'/>
999
+ </method>
1000
+ <method selector='_releasePreparedStatements'>
1001
+ <retval declared_type='void' type='v'/>
1002
+ </method>
1003
+ <method selector='_setIsOurTransaction:'>
1004
+ <arg name='value' declared_type='BOOL' type='B' index='0'/>
1005
+ <retval declared_type='void' type='v'/>
1006
+ </method>
1007
+ <method selector='_setupCachingSchema'>
1008
+ <retval declared_type='BOOL' type='B'/>
1009
+ </method>
1010
+ <method selector='_storeDictionary:forKey:forClassNamed:usingSQLite3Statement:error:'>
1011
+ <arg name='someInfo' declared_type='NSDictionary*' type='@' index='0'/>
1012
+ <arg name='aKey' declared_type='NSString*' type='@' index='1'/>
1013
+ <arg name='classType' declared_type='NSString*' type='@' index='2'/>
1014
+ <arg name='storeValuesStatement' declared_type='sqlite3_stmt*' type='^{sqlite3_stmt=}' index='3'/>
1015
+ <arg name='outError' declared_type='NSError**' type='^@' index='4' type_modifier='o'/>
1016
+ <retval declared_type='BOOL' type='B'/>
1017
+ </method>
1018
+ <method selector='_stringFromValue:'>
1019
+ <arg name='aValue' declared_type='id' type='@' index='0'/>
1020
+ <retval declared_type='NSString*' type='@'/>
1021
+ </method>
1022
+ <method selector='addObject:error:'>
1023
+ <arg name='theObject' declared_type='id' type='@' index='0'/>
1024
+ <arg name='outError' declared_type='NSError**' type='^@' index='1' type_modifier='o'/>
1025
+ <retval declared_type='BOOL' type='B'/>
1026
+ </method>
1027
+ <method selector='addObjectsFromArray:error:'>
1028
+ <arg name='theObjects' declared_type='NSArray*' type='@' index='0'/>
1029
+ <arg name='outError' declared_type='NSError**' type='^@' index='1' type_modifier='o'/>
1030
+ <retval declared_type='BOOL' type='B'/>
1031
+ </method>
1032
+ <method selector='allObjectClasses'>
1033
+ <retval declared_type='NSArray*' type='@'/>
1034
+ </method>
1035
+ <method selector='bagWithName:'>
1036
+ <arg name='theName' declared_type='NSString*' type='@' index='0'/>
1037
+ <retval declared_type='NSFNanoBag*' type='@'/>
1038
+ </method>
1039
+ <method selector='bags'>
1040
+ <retval declared_type='NSArray*' type='@'/>
1041
+ </method>
1042
+ <method selector='bagsContainingObjectWithKey:'>
1043
+ <arg name='theKey' declared_type='NSString*' type='@' index='0'/>
1044
+ <retval declared_type='NSArray*' type='@'/>
1045
+ </method>
1046
+ <method selector='bagsWithKeysInArray:'>
1047
+ <arg name='theKeys' declared_type='NSArray*' type='@' index='0'/>
1048
+ <retval declared_type='NSArray*' type='@'/>
1049
+ </method>
1050
+ <method selector='beginTransactionAndReturnError:'>
1051
+ <arg name='outError' declared_type='NSError**' type='^@' index='0' type_modifier='o'/>
1052
+ <retval declared_type='BOOL' type='B'/>
1053
+ </method>
1054
+ <method selector='clearIndexesAndReturnError:'>
1055
+ <arg name='outError' declared_type='NSError**' type='^@' index='0' type_modifier='o'/>
1056
+ <retval declared_type='BOOL' type='B'/>
1057
+ </method>
1058
+ <method selector='closeWithError:'>
1059
+ <arg name='outError' declared_type='NSError**' type='^@' index='0' type_modifier='o'/>
1060
+ <retval declared_type='BOOL' type='B'/>
1061
+ </method>
1062
+ <method selector='commitTransactionAndReturnError:'>
1063
+ <arg name='outError' declared_type='NSError**' type='^@' index='0' type_modifier='o'/>
1064
+ <retval declared_type='BOOL' type='B'/>
1065
+ </method>
1066
+ <method selector='compactStoreAndReturnError:'>
1067
+ <arg name='outError' declared_type='NSError**' type='^@' index='0' type_modifier='o'/>
1068
+ <retval declared_type='BOOL' type='B'/>
1069
+ </method>
1070
+ <method selector='countOfObjectsOfClassNamed:'>
1071
+ <arg name='theClassName' declared_type='NSString*' type='@' index='0'/>
1072
+ <retval declared_type='long long' type='q'/>
1073
+ </method>
1074
+ <method selector='createAndOpenStoreWithType:path:error:' class_method='true'>
1075
+ <arg name='theType' declared_type='NSFNanoStoreType' type='i' index='0'/>
1076
+ <arg name='thePath' declared_type='NSString*' type='@' index='1'/>
1077
+ <arg name='outError' declared_type='NSError**' type='^@' index='2' type_modifier='o'/>
1078
+ <retval declared_type='NSFNanoStore*' type='@'/>
1079
+ </method>
1080
+ <method selector='createStoreWithType:path:' class_method='true'>
1081
+ <arg name='theType' declared_type='NSFNanoStoreType' type='i' index='0'/>
1082
+ <arg name='thePath' declared_type='NSString*' type='@' index='1'/>
1083
+ <retval declared_type='NSFNanoStore*' type='@'/>
1084
+ </method>
1085
+ <method selector='description'>
1086
+ <retval declared_type='NSString*' type='@'/>
1087
+ </method>
1088
+ <method selector='discardUnsavedChanges'>
1089
+ <retval declared_type='void' type='v'/>
1090
+ </method>
1091
+ <method selector='filePath'>
1092
+ <retval declared_type='NSString*' type='@'/>
1093
+ </method>
1094
+ <method selector='hasUnsavedChanges'>
1095
+ <retval declared_type='BOOL' type='B'/>
1096
+ </method>
1097
+ <method selector='initStoreWithType:path:'>
1098
+ <arg name='theType' declared_type='NSFNanoStoreType' type='i' index='0'/>
1099
+ <arg name='thePath' declared_type='NSString*' type='@' index='1'/>
1100
+ <retval declared_type='id' type='@'/>
1101
+ </method>
1102
+ <method selector='isClosed'>
1103
+ <retval declared_type='BOOL' type='B'/>
1104
+ </method>
1105
+ <method selector='nanoEngineProcessingMode'>
1106
+ <retval declared_type='NSFEngineProcessingMode' type='i'/>
1107
+ </method>
1108
+ <method selector='nanoStoreEngine'>
1109
+ <retval declared_type='NSFNanoEngine*' type='@'/>
1110
+ </method>
1111
+ <method selector='objectsOfClassNamed:'>
1112
+ <arg name='theClassName' declared_type='NSString*' type='@' index='0'/>
1113
+ <retval declared_type='NSArray*' type='@'/>
1114
+ </method>
1115
+ <method selector='objectsOfClassNamed:usingSortDescriptors:'>
1116
+ <arg name='theClassName' declared_type='NSString*' type='@' index='0'/>
1117
+ <arg name='theSortDescriptors' declared_type='NSArray*' type='@' index='1'/>
1118
+ <retval declared_type='NSArray*' type='@'/>
1119
+ </method>
1120
+ <method selector='objectsWithKeysInArray:'>
1121
+ <arg name='theKeys' declared_type='NSArray*' type='@' index='0'/>
1122
+ <retval declared_type='NSArray*' type='@'/>
1123
+ </method>
1124
+ <method selector='openWithError:'>
1125
+ <arg name='outError' declared_type='NSError**' type='^@' index='0' type_modifier='o'/>
1126
+ <retval declared_type='BOOL' type='B'/>
1127
+ </method>
1128
+ <method selector='rebuildIndexesAndReturnError:'>
1129
+ <arg name='outError' declared_type='NSError**' type='^@' index='0' type_modifier='o'/>
1130
+ <retval declared_type='BOOL' type='B'/>
1131
+ </method>
1132
+ <method selector='removeAllObjectsFromStoreAndReturnError:'>
1133
+ <arg name='outError' declared_type='NSError**' type='^@' index='0' type_modifier='o'/>
1134
+ <retval declared_type='BOOL' type='B'/>
1135
+ </method>
1136
+ <method selector='removeObject:error:'>
1137
+ <arg name='theObject' declared_type='id' type='@' index='0'/>
1138
+ <arg name='outError' declared_type='NSError**' type='^@' index='1' type_modifier='o'/>
1139
+ <retval declared_type='BOOL' type='B'/>
1140
+ </method>
1141
+ <method selector='removeObjectsInArray:error:'>
1142
+ <arg name='theObjects' declared_type='NSArray*' type='@' index='0'/>
1143
+ <arg name='outError' declared_type='NSError**' type='^@' index='1' type_modifier='o'/>
1144
+ <retval declared_type='BOOL' type='B'/>
1145
+ </method>
1146
+ <method selector='removeObjectsWithKeysInArray:error:'>
1147
+ <arg name='theKeys' declared_type='NSArray*' type='@' index='0'/>
1148
+ <arg name='outError' declared_type='NSError**' type='^@' index='1' type_modifier='o'/>
1149
+ <retval declared_type='BOOL' type='B'/>
1150
+ </method>
1151
+ <method selector='rollbackTransactionAndReturnError:'>
1152
+ <arg name='outError' declared_type='NSError**' type='^@' index='0' type_modifier='o'/>
1153
+ <retval declared_type='BOOL' type='B'/>
1154
+ </method>
1155
+ <method selector='saveInterval'>
1156
+ <retval declared_type='NSUInteger' type='I'/>
1157
+ </method>
1158
+ <method selector='saveStoreAndReturnError:'>
1159
+ <arg name='outError' declared_type='NSError**' type='^@' index='0' type_modifier='o'/>
1160
+ <retval declared_type='BOOL' type='B'/>
1161
+ </method>
1162
+ <method selector='saveStoreToDirectoryAtPath:compactDatabase:error:'>
1163
+ <arg name='thePath' declared_type='NSString*' type='@' index='0'/>
1164
+ <arg name='shouldCompact' declared_type='BOOL' type='B' index='1'/>
1165
+ <arg name='outError' declared_type='NSError**' type='^@' index='2' type_modifier='o'/>
1166
+ <retval declared_type='BOOL' type='B'/>
1167
+ </method>
1168
+ <method selector='setNanoEngineProcessingMode:'>
1169
+ <arg name='nanoEngineProcessingMode' declared_type='NSFEngineProcessingMode' type='i' index='0'/>
1170
+ <retval declared_type='void' type='v'/>
1171
+ </method>
1172
+ <method selector='setNanoStoreEngine:'>
1173
+ <arg name='nanoStoreEngine' declared_type='NSFNanoEngine*' type='@' index='0'/>
1174
+ <retval declared_type='void' type='v'/>
1175
+ </method>
1176
+ <method selector='setSaveInterval:'>
1177
+ <arg name='saveInterval' declared_type='NSUInteger' type='I' index='0'/>
1178
+ <retval declared_type='void' type='v'/>
1179
+ </method>
1180
+ </class>
1181
+ <class name='NSObject'>
1182
+ <method selector='initNanoObjectFromDictionaryRepresentation:forKey:store:'>
1183
+ <arg name='theDictionary' declared_type='NSDictionary*' type='@' index='0'/>
1184
+ <arg name='aKey' declared_type='NSString*' type='@' index='1'/>
1185
+ <arg name='theStore' declared_type='NSFNanoStore*' type='@' index='2'/>
1186
+ <retval declared_type='id' type='@'/>
1187
+ </method>
1188
+ <method selector='nanoObjectDictionaryRepresentation'>
1189
+ <retval declared_type='NSDictionary*' type='@'/>
1190
+ </method>
1191
+ <method selector='nanoObjectKey'>
1192
+ <retval declared_type='NSString*' type='@'/>
1193
+ </method>
1194
+ <method selector='rootObject'>
1195
+ <retval declared_type='id' type='@'/>
1196
+ </method>
1197
+ </class>
1198
+ <informal_protocol name='NSFNanoObjectProtocol'>
1199
+ <method type='@20@0:4@8@12@16' selector='initNanoObjectFromDictionaryRepresentation:forKey:store:'>
1200
+ <arg name='theDictionary' declared_type='NSDictionary*' type='@' index='0'/>
1201
+ <arg name='aKey' declared_type='NSString*' type='@' index='1'/>
1202
+ <arg name='theStore' declared_type='NSFNanoStore*' type='@' index='2'/>
1203
+ <retval declared_type='id' type='@'/>
1204
+ </method>
1205
+ <method type='@8@0:4' selector='nanoObjectDictionaryRepresentation'>
1206
+ <retval declared_type='NSDictionary*' type='@'/>
1207
+ </method>
1208
+ <method type='@8@0:4' selector='nanoObjectKey'>
1209
+ <retval declared_type='NSString*' type='@'/>
1210
+ </method>
1211
+ <method type='@8@0:4' selector='rootObject'>
1212
+ <retval declared_type='id' type='@'/>
1213
+ </method>
1214
+ </informal_protocol>
1215
+ </signatures>