use a single xib file for all Stats window localizations

This commit is contained in:
Mitchell Livingston 2008-03-16 06:20:35 +00:00
parent 9829264413
commit 3c0e3b8978
9 changed files with 393 additions and 5895 deletions

View File

@ -92,6 +92,7 @@
A231274C0D11D0B7003F9AFF /* AboutWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = A231274B0D11D0B7003F9AFF /* AboutWindow.xib */; };
A232D29E0A70903E00973B12 /* Filter.png in Resources */ = {isa = PBXBuildFile; fileRef = A232D29D0A70903E00973B12 /* Filter.png */; };
A233BD330D8C6585007EE7B4 /* MessageWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = A233BD320D8C6585007EE7B4 /* MessageWindow.xib */; };
A233BD690D8CF2C7007EE7B4 /* StatsWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = A233BD680D8CF2C7007EE7B4 /* StatsWindow.xib */; };
A234D0D20C79FB3600A82373 /* NSMenuAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = A234D0D00C79FB3600A82373 /* NSMenuAdditions.m */; };
A2385DD40BFE06C800B24EF6 /* DragOverlayWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = A2385DD20BFE06C800B24EF6 /* DragOverlayWindow.m */; };
A2399CCD0CD3852300225B2B /* NSApplicationAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = A2399CCC0CD3852300225B2B /* NSApplicationAdditions.m */; };
@ -110,7 +111,6 @@
A256588D0A9A695400E8A03B /* MessageWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = A256588B0A9A695400E8A03B /* MessageWindowController.m */; };
A257C1820CAD3003004E121C /* PeerTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = A257C1800CAD3003004E121C /* PeerTableView.m */; };
A25892640CF1F7E800CCCDDF /* StatsWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = A25892630CF1F7E800CCCDDF /* StatsWindowController.m */; };
A25892770CF1FCE800CCCDDF /* StatsWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = A25892750CF1FCE800CCCDDF /* StatsWindow.xib */; };
A259317E0A73B2CC002F4FE7 /* TransmissionHelp in Resources */ = {isa = PBXBuildFile; fileRef = A259316A0A73B2CC002F4FE7 /* TransmissionHelp */; };
A25AFDE90D1038AD0092A1BA /* MenuLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = A25AFDE80D1038AD0092A1BA /* MenuLabel.m */; };
A25D2CBD0CF4C73E0096A262 /* stats.c in Sources */ = {isa = PBXBuildFile; fileRef = A25D2CBB0CF4C7190096A262 /* stats.c */; };
@ -456,12 +456,10 @@
A223AA800D220CEB00840069 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = macosx/nl.lproj/Localizable.strings; sourceTree = "<group>"; };
A223AA810D220CEB00840069 /* nl */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = nl; path = macosx/nl.lproj/MainMenu.xib; sourceTree = "<group>"; };
A223AA830D220CEB00840069 /* nl */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = nl; path = macosx/nl.lproj/PrefsWindow.xib; sourceTree = "<group>"; };
A223AA840D220CEB00840069 /* nl */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = nl; path = macosx/nl.lproj/StatsWindow.xib; sourceTree = "<group>"; };
A223AAB60D22ECE800840069 /* it */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = it; path = macosx/it.lproj/Creator.xib; sourceTree = "<group>"; };
A223AAB70D22ECE800840069 /* it */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = it; path = macosx/it.lproj/InfoWindow.xib; sourceTree = "<group>"; };
A223AAB80D22ECE800840069 /* it */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = it; path = macosx/it.lproj/MainMenu.xib; sourceTree = "<group>"; };
A223AABA0D22ECE800840069 /* it */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = it; path = macosx/it.lproj/PrefsWindow.xib; sourceTree = "<group>"; };
A223AABB0D22ECE800840069 /* it */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = it; path = macosx/it.lproj/StatsWindow.xib; sourceTree = "<group>"; };
A2265F3F0B5EF5F40093DDA5 /* FileNameCell.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = FileNameCell.h; path = macosx/FileNameCell.h; sourceTree = "<group>"; };
A2265F400B5EF5F40093DDA5 /* FileNameCell.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = FileNameCell.m; path = macosx/FileNameCell.m; sourceTree = "<group>"; };
A22D3AA30D00D1790079CFED /* Turtle.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Turtle.png; path = macosx/Images/Turtle.png; sourceTree = "<group>"; };
@ -469,6 +467,7 @@
A231274B0D11D0B7003F9AFF /* AboutWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = AboutWindow.xib; path = macosx/AboutWindow.xib; sourceTree = "<group>"; };
A232D29D0A70903E00973B12 /* Filter.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Filter.png; path = macosx/Images/Filter.png; sourceTree = "<group>"; };
A233BD320D8C6585007EE7B4 /* MessageWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = MessageWindow.xib; path = macosx/MessageWindow.xib; sourceTree = "<group>"; };
A233BD680D8CF2C7007EE7B4 /* StatsWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = StatsWindow.xib; path = macosx/StatsWindow.xib; sourceTree = "<group>"; };
A234D0CF0C79FB3600A82373 /* NSMenuAdditions.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = NSMenuAdditions.h; path = macosx/NSMenuAdditions.h; sourceTree = "<group>"; };
A234D0D00C79FB3600A82373 /* NSMenuAdditions.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = NSMenuAdditions.m; path = macosx/NSMenuAdditions.m; sourceTree = "<group>"; };
A2385DD20BFE06C800B24EF6 /* DragOverlayWindow.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = DragOverlayWindow.m; path = macosx/DragOverlayWindow.m; sourceTree = "<group>"; };
@ -494,7 +493,6 @@
A257C1800CAD3003004E121C /* PeerTableView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = PeerTableView.m; path = macosx/PeerTableView.m; sourceTree = "<group>"; };
A25892620CF1F7E800CCCDDF /* StatsWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StatsWindowController.h; path = macosx/StatsWindowController.h; sourceTree = "<group>"; };
A25892630CF1F7E800CCCDDF /* StatsWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = StatsWindowController.m; path = macosx/StatsWindowController.m; sourceTree = "<group>"; };
A25892760CF1FCE800CCCDDF /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = macosx/English.lproj/StatsWindow.xib; sourceTree = "<group>"; };
A259316A0A73B2CC002F4FE7 /* TransmissionHelp */ = {isa = PBXFileReference; lastKnownFileType = folder; name = TransmissionHelp; path = macosx/TransmissionHelp; sourceTree = "<group>"; };
A25AFDE70D1038AD0092A1BA /* MenuLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MenuLabel.h; path = macosx/MenuLabel.h; sourceTree = "<group>"; };
A25AFDE80D1038AD0092A1BA /* MenuLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MenuLabel.m; path = macosx/MenuLabel.m; sourceTree = "<group>"; };
@ -522,19 +520,16 @@
A265A32F0D25767700198AC8 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = macosx/fr.lproj/InfoWindow.xib; sourceTree = "<group>"; };
A265A3300D25767700198AC8 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = macosx/fr.lproj/MainMenu.xib; sourceTree = "<group>"; };
A265A3320D25767700198AC8 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = macosx/fr.lproj/PrefsWindow.xib; sourceTree = "<group>"; };
A265A3330D25767700198AC8 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = macosx/fr.lproj/StatsWindow.xib; sourceTree = "<group>"; };
A265A3BE0D25AE7800198AC8 /* es */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = es; path = macosx/es.lproj/Creator.xib; sourceTree = "<group>"; };
A265A3BF0D25AE7800198AC8 /* es */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = es; path = macosx/es.lproj/InfoWindow.xib; sourceTree = "<group>"; };
A265A3C00D25AE7800198AC8 /* es */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = es; path = macosx/es.lproj/MainMenu.xib; sourceTree = "<group>"; };
A265A3C20D25AE7800198AC8 /* es */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = es; path = macosx/es.lproj/PrefsWindow.xib; sourceTree = "<group>"; };
A265A3C30D25AE7800198AC8 /* es */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = es; path = macosx/es.lproj/StatsWindow.xib; sourceTree = "<group>"; };
A26AF1040D2855FC00FF7140 /* ru */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = ru; path = macosx/ru.lproj/Creator.xib; sourceTree = "<group>"; };
A26AF1050D2855FC00FF7140 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = macosx/ru.lproj/InfoPlist.strings; sourceTree = "<group>"; };
A26AF1060D2855FC00FF7140 /* ru */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = ru; path = macosx/ru.lproj/InfoWindow.xib; sourceTree = "<group>"; };
A26AF1070D2855FC00FF7140 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = macosx/ru.lproj/Localizable.strings; sourceTree = "<group>"; };
A26AF1080D2855FC00FF7140 /* ru */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = ru; path = macosx/ru.lproj/MainMenu.xib; sourceTree = "<group>"; };
A26AF10A0D2855FC00FF7140 /* ru */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = ru; path = macosx/ru.lproj/PrefsWindow.xib; sourceTree = "<group>"; };
A26AF10B0D2855FC00FF7140 /* ru */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = ru; path = macosx/ru.lproj/StatsWindow.xib; sourceTree = "<group>"; };
A26AF2180D2DA35A00FF7140 /* FileOutlineController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FileOutlineController.h; path = macosx/FileOutlineController.h; sourceTree = "<group>"; };
A26AF2190D2DA35A00FF7140 /* FileOutlineController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FileOutlineController.m; path = macosx/FileOutlineController.m; sourceTree = "<group>"; };
A26AF27D0D2DBDDF00FF7140 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = macosx/English.lproj/AddWindow.xib; sourceTree = "<group>"; };
@ -908,9 +903,9 @@
A23F4FF00D1D98AD002FCB97 /* PrefsWindow.xib */,
A29576110D11D8DD0093B167 /* InfoWindow.xib */,
A29576010D11D63C0093B167 /* Creator.xib */,
A25892750CF1FCE800CCCDDF /* StatsWindow.xib */,
A26AF27C0D2DBDDF00FF7140 /* AddWindow.xib */,
A233BD320D8C6585007EE7B4 /* MessageWindow.xib */,
A233BD680D8CF2C7007EE7B4 /* StatsWindow.xib */,
A22180B50D148F0F007D09ED /* GroupsWindow.xib */,
A231274B0D11D0B7003F9AFF /* AboutWindow.xib */,
A20B6FA40C4D97840034AB1D /* PriorityNone.png */,
@ -1631,7 +1626,6 @@
A2F151240CD438DE001F3B0E /* InfoTabBorder.png in Resources */,
A2F151250CD438DE001F3B0E /* InfoTabBack.png in Resources */,
A2F151260CD438DE001F3B0E /* InfoTabBackBlue.png in Resources */,
A25892770CF1FCE800CCCDDF /* StatsWindow.xib in Resources */,
A22D3AA60D00D1790079CFED /* Turtle.png in Resources */,
A22D3AA70D00D1790079CFED /* TurtleBlue.png in Resources */,
A29AF4F70D01BADC00D097EC /* DownArrowTemplate.png in Resources */,
@ -1663,6 +1657,7 @@
A2F41F8E0D73595100B82116 /* InfoTracker.png in Resources */,
A2012AE20D77151D0056FD71 /* YingYangGroupTemplate.png in Resources */,
A233BD330D8C6585007EE7B4 /* MessageWindow.xib in Resources */,
A233BD690D8CF2C7007EE7B4 /* StatsWindow.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -1985,19 +1980,6 @@
name = MainMenu.xib;
sourceTree = "<group>";
};
A25892750CF1FCE800CCCDDF /* StatsWindow.xib */ = {
isa = PBXVariantGroup;
children = (
A25892760CF1FCE800CCCDDF /* English */,
A223AA840D220CEB00840069 /* nl */,
A223AABB0D22ECE800840069 /* it */,
A265A3330D25767700198AC8 /* fr */,
A265A3C30D25AE7800198AC8 /* es */,
A26AF10B0D2855FC00FF7140 /* ru */,
);
name = StatsWindow.xib;
sourceTree = "<group>";
};
A26AF27C0D2DBDDF00FF7140 /* AddWindow.xib */ = {
isa = PBXVariantGroup;
children = (

View File

@ -2,10 +2,10 @@
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.01">
<data>
<int key="IBDocument.SystemTarget">1050</int>
<string key="IBDocument.SystemVersion">9B18</string>
<string key="IBDocument.SystemVersion">9C31</string>
<string key="IBDocument.InterfaceBuilderVersion">629</string>
<string key="IBDocument.AppKitVersion">949</string>
<string key="IBDocument.HIToolboxVersion">343.00</string>
<string key="IBDocument.AppKitVersion">949.26</string>
<string key="IBDocument.HIToolboxVersion">352.00</string>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="2"/>
@ -43,13 +43,13 @@
<object class="NSTextField" id="848189093">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{55, 148}, {59, 14}}</string>
<string key="NSFrame">{{20, 148}, {94, 14}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="629427970">
<int key="NSCellFlags">67239488</int>
<int key="NSCellFlags2">272630784</int>
<int key="NSCellFlags2">71304192</int>
<string key="NSContents">Uploaded:</string>
<object class="NSFont" key="NSSupport" id="920848338">
<string key="NSName">LucidaGrande</string>
@ -59,7 +59,7 @@
<reference key="NSControlView" ref="848189093"/>
<object class="NSColor" key="NSBackgroundColor" id="1062686007">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName" id="166075801">System</string>
<string key="NSCatalogName" id="442479837">System</string>
<string key="NSColorName">controlColor</string>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">3</int>
@ -68,7 +68,7 @@
</object>
<object class="NSColor" key="NSTextColor" id="561189490">
<int key="NSColorSpace">6</int>
<reference key="NSCatalogName" ref="166075801"/>
<reference key="NSCatalogName" ref="442479837"/>
<string key="NSColorName">controlTextColor</string>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">3</int>
@ -80,13 +80,13 @@
<object class="NSTextField" id="21891891">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{40, 116}, {74, 14}}</string>
<string key="NSFrame">{{20, 116}, {94, 14}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="312992390">
<int key="NSCellFlags">67239488</int>
<int key="NSCellFlags2">272630784</int>
<int key="NSCellFlags2">71304192</int>
<string key="NSContents">Downloaded:</string>
<reference key="NSSupport" ref="920848338"/>
<reference key="NSControlView" ref="21891891"/>
@ -97,13 +97,13 @@
<object class="NSTextField" id="64479925">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{79, 84}, {35, 14}}</string>
<string key="NSFrame">{{20, 84}, {94, 14}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="420769084">
<int key="NSCellFlags">67239488</int>
<int key="NSCellFlags2">272630784</int>
<int key="NSCellFlags2">71304192</int>
<string key="NSContents">Ratio:</string>
<reference key="NSSupport" ref="920848338"/>
<reference key="NSControlView" ref="64479925"/>
@ -114,13 +114,13 @@
<object class="NSTextField" id="496824416">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{32, 52}, {82, 14}}</string>
<string key="NSFrame">{{20, 52}, {94, 14}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="696962666">
<int key="NSCellFlags">67239488</int>
<int key="NSCellFlags2">272630784</int>
<int key="NSCellFlags2">71304192</int>
<string key="NSContents">Running Time:</string>
<reference key="NSSupport" ref="920848338"/>
<reference key="NSControlView" ref="496824416"/>
@ -205,7 +205,7 @@
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="186010722">
<int key="NSCellFlags">67239488</int>
<int key="NSCellFlags2">272630784</int>
<int key="NSCellFlags2">71304192</int>
<string key="NSContents">Program Started:</string>
<reference key="NSSupport" ref="920848338"/>
<reference key="NSControlView" ref="586749298"/>
@ -400,6 +400,46 @@
</object>
<int key="connectionID">51</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">fUploadedLabelField</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="848189093"/>
</object>
<int key="connectionID">52</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">fDownloadedLabelField</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="21891891"/>
</object>
<int key="connectionID">53</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">fRatioLabelField</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="64479925"/>
</object>
<int key="connectionID">54</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label" id="95875792">fTimeLabelField</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="496824416"/>
</object>
<int key="connectionID">55</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label" id="270409693">fNumOpenedLabelField</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="586749298"/>
</object>
<int key="connectionID">56</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
@ -712,14 +752,14 @@
<reference ref="621197936"/>
<reference ref="621197936"/>
<reference ref="621197936"/>
<string>{{281, 664}, {289, 182}}</string>
<integer value="1"/>
<string>{{479, 674}, {289, 182}}</string>
<integer value="1" id="9"/>
<string>{196, 240}</string>
<string>{{281, 664}, {289, 182}}</string>
<integer value="1" id="5"/>
<reference ref="5"/>
<string>{289, 182}</string>
<string>{289, 182}</string>
<string>{{479, 674}, {289, 182}}</string>
<reference ref="9"/>
<reference ref="9"/>
<string id="67397375">{289, 182}</string>
<reference ref="67397375"/>
<reference ref="621197936"/>
<reference ref="621197936"/>
<reference ref="621197936"/>
@ -771,7 +811,7 @@
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">51</int>
<int key="maxID">56</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
@ -798,7 +838,7 @@
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey" id="169764827">IBProjectSource</string>
<string key="majorKey" id="45539909">IBProjectSource</string>
<string key="minorKey">macosx/NSMenuAdditions.h</string>
</object>
</object>
@ -824,10 +864,64 @@
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<reference key="majorKey" ref="169764827"/>
<reference key="majorKey" ref="45539909"/>
<string key="minorKey">macosx/NSApplicationAdditions.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">StatsWindowController</string>
<string key="superclassName">NSWindowController</string>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMutableArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>fDownloadedAllField</string>
<string>fDownloadedField</string>
<string>fDownloadedLabelField</string>
<string>fNumOpenedField</string>
<reference ref="270409693"/>
<string>fRatioAllField</string>
<string>fRatioField</string>
<string>fRatioLabelField</string>
<string>fTimeAllField</string>
<string>fTimeField</string>
<reference ref="95875792"/>
<string>fUploadedAllField</string>
<string>fUploadedField</string>
<string>fUploadedLabelField</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string id="527311599">NSTextField</string>
<reference ref="527311599"/>
<reference ref="527311599"/>
<reference ref="527311599"/>
<reference ref="527311599"/>
<reference ref="527311599"/>
<reference ref="527311599"/>
<reference ref="527311599"/>
<reference ref="527311599"/>
<reference ref="527311599"/>
<reference ref="527311599"/>
<reference ref="527311599"/>
<reference ref="527311599"/>
<reference ref="527311599"/>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<reference key="majorKey" ref="45539909"/>
<string key="minorKey">macosx/StatsWindowController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className" id="963274514">NSObject</string>
<nil key="superclassName"/>
@ -850,59 +944,7 @@
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<reference key="majorKey" ref="169764827"/>
<string key="minorKey">macosx/UKKQueue/UKFileWatcher.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<reference key="className" ref="963274514"/>
<nil key="superclassName"/>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<reference key="majorKey" ref="169764827"/>
<string key="minorKey">macosx/UKKQueue/UKKQueue.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<reference key="className" ref="963274514"/>
<nil key="superclassName"/>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<reference key="majorKey" ref="169764827"/>
<reference key="majorKey" ref="45539909"/>
<string key="minorKey">macosx/IPCController.h</string>
</object>
</object>
@ -928,13 +970,13 @@
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<reference key="majorKey" ref="169764827"/>
<string key="minorKey">macosx/UKKQueue/UKMainThreadProxy.h</string>
<reference key="majorKey" ref="45539909"/>
<string key="minorKey">macosx/UKKQueue/UKFileWatcher.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">StatsWindowController</string>
<string key="superclassName">NSWindowController</string>
<reference key="className" ref="963274514"/>
<nil key="superclassName"/>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
@ -946,34 +988,42 @@
</object>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMutableArray" key="dict.sortedKeys">
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>fDownloadedAllField</string>
<string>fDownloadedField</string>
<string>fNumOpenedField</string>
<string>fRatioAllField</string>
<string>fRatioField</string>
<string>fTimeAllField</string>
<string>fTimeField</string>
<string>fUploadedAllField</string>
<string>fUploadedField</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string id="527311599">NSTextField</string>
<reference ref="527311599"/>
<reference ref="527311599"/>
<reference ref="527311599"/>
<reference ref="527311599"/>
<reference ref="527311599"/>
<reference ref="527311599"/>
<reference ref="527311599"/>
<reference ref="527311599"/>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<reference key="majorKey" ref="169764827"/>
<string key="minorKey">macosx/StatsWindowController.h</string>
<reference key="majorKey" ref="45539909"/>
<string key="minorKey">macosx/UKKQueue/UKKQueue.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<reference key="className" ref="963274514"/>
<nil key="superclassName"/>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<reference key="majorKey" ref="45539909"/>
<string key="minorKey">macosx/UKKQueue/UKMainThreadProxy.h</string>
</object>
</object>
</object>
@ -983,145 +1033,153 @@
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<object class="NSMutableData" key="IBDocument.RunnableNib">
<bytes key="NS.bytes">YnBsaXN0MDDUAAEAAgADAAQABQAGAAkAClgkdmVyc2lvblQkdG9wWSRhcmNoaXZlclgkb2JqZWN0cxIA
AYag0QAHAAhdSUIub2JqZWN0ZGF0YYABXxAPTlNLZXllZEFyY2hpdmVyrxDKAAsADAAxADUANgA8AD0A
AYag0QAHAAhdSUIub2JqZWN0ZGF0YYABXxAPTlNLZXllZEFyY2hpdmVyrxDZAAsADAAxADUANgA8AD0A
QgBgAGEAYgBjAGMAZAALAHIAgwCPAJAAoAChAKkAqgCtALcAuAC5AL4AwADFAMYAyQDNANMA2wDcAOMA
5ADsAO0A9AD1AP0A/gEFAQYBDwEQARcBGAEgASEBKAEwATEBOAFAAUEBSAFQAVEBWAFZAWEBYgFpAXEB
cgF5AYEBggGJAZEBkgGZAaIBowGrAawAYwALAbABsgGzAbMBtAG1AbgBvAHKAdIB0wHXAdwB3QHiAeMB
6AHpAe4B7wH0AfUB+gH7AgACAQIGAgcCDAINAhICEwI1AjgCOQI7Al0CgAKjAqQCpQKmAqcCqAKpAqoC
qwKsAq0CrgKvArACsQKyArMCtAK1ArYCtwK4ArkCugK7ArwCvQK+Ar8CwALBAsICwwLGAskC9wMlAyYD
JwMoAykDKgMrAywAtAMtAy4DLwMwAKgDMQMyAzMDNAM1AzYAXAM3AzgDOQM6AzsDPAM9Az4DPwNAA0EA
vANCA0MDRANFA0YDRwNIA0kDSgNLA0wDTwNSA1VVJG51bGzfEBIADQAOAA8AEAARABIAEwAUABUAFgAX
ABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADBWTlNSb290ViRj
bGFzc11OU09iamVjdHNLZXlzXxAPTlNDbGFzc2VzVmFsdWVzXxAZTlNBY2Nlc3NpYmlsaXR5T2lkc1Zh
bHVlc11OU0Nvbm5lY3Rpb25zW05TTmFtZXNLZXlzW05TRnJhbWV3b3JrXU5TQ2xhc3Nlc0tleXNaTlNP
aWRzS2V5c11OU05hbWVzVmFsdWVzXxAZTlNBY2Nlc3NpYmlsaXR5Q29ubmVjdG9yc11OU0ZvbnRNYW5h
Z2VyXxAQTlNWaXNpYmxlV2luZG93c18QD05TT2JqZWN0c1ZhbHVlc18QF05TQWNjZXNzaWJpbGl0eU9p
ZHNLZXlzWU5TTmV4dE9pZFxOU09pZHNWYWx1ZXOAAoDJgHCAmIDIgFiAdYAFgJeAmYB2gMaAAIAGgHSA
xxA1gJrSAA4AMgAzADRbTlNDbGFzc05hbWWABIADXxAVU3RhdHNXaW5kb3dDb250cm9sbGVy0gA3ADgA
OQA6WCRjbGFzc2VzWiRjbGFzc25hbWWiADoAO15OU0N1c3RvbU9iamVjdFhOU09iamVjdF8QEElCQ29j
b2FGcmFtZXdvcmvSAA4APgA/AEBaTlMub2JqZWN0c4BXoQBBgAffEA8AQwAOAEQARQBGAEcASABJAEoA
SwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeACtcTlNXaW5kb3dWaWV3XxAWTlNX
aW5kb3dDb250ZW50TWF4U2l6ZVxOU1NjcmVlblJlY3RfEBNOU0ZyYW1lQXV0b3NhdmVOYW1lXU5TV2lu
ZG93VGl0bGVZTlNXVEZsYWdzXU5TV2luZG93Q2xhc3NfEBZOU1dpbmRvd0NvbnRlbnRNaW5TaXplXE5T
V2luZG93UmVjdFlOU01heFNpemVfEA9OU1dpbmRvd0JhY2tpbmdfEBFOU1dpbmRvd1N0eWxlTWFza1lO
U01pblNpemVbTlNWaWV3Q2xhc3OADYBWgAuAUoBVgAkSIAAAAIAKgAyACIBUEAIQB4BTgABfEBh7ezEw
NCwgNzUwfSwgezI4OSwgMTgyfX1aU3RhdGlzdGljc1dOU1BhbmVsWnsyODksIDE4Mn3XAGUADgBmAGcA
aABpAGoAawBsAG0AbgBvAGsAcV8QD05TTmV4dFJlc3BvbmRlclpOU1N1YnZpZXdzWE5TdkZsYWdzW05T
RnJhbWVTaXplWE5TV2luZG93W05TU3VwZXJ2aWV3gA6AUYAPEQEAgE+ADoBQ0gAOAD4AcwB0gE6uAHUA
dgB3AHgAeQB6AHsAfAB9AH4AfwCAAIEAgoAQgCGAJYApgC2AMYA0gDeAOoA+gEGARIBHgErYAGUADgCE
AIUAZwCGAGkAagBRAIgAiQCKAIsAjABrAFFXTlNGcmFtZVZOU0NlbGxZTlNFbmFibGVkgA2AIIARgBIR
AQwJgA6ADV8QFXt7NTUsIDE0OH0sIHs1OSwgMTR9fdgAkQAOAJIAkwCUAJUAlgCXAJgAmQCaAJsAnAB1
AJ4An1tOU0NlbGxGbGFnc18QEU5TQmFja2dyb3VuZENvbG9yWk5TQ29udGVudHNZTlNTdXBwb3J0XU5T
Q29udHJvbFZpZXdcTlNDZWxsRmxhZ3MyW05TVGV4dENvbG9yEgQB/kCAH4AXgBOAFIAQEhBABACAHFlV
cGxvYWRlZDrUAA4AogCjAKQApQCmAKcAqFZOU1NpemVWTlNOYW1lWE5TZkZsYWdzgBYjQCYAAAAAAACA
FRAQXEx1Y2lkYUdyYW5kZdIANwA4AKsArKIArAA7Vk5TRm9udNUADgCuAK8AsACxALIAswC0ALUAtldO
U0NvbG9yXE5TQ29sb3JTcGFjZVtOU0NvbG9yTmFtZV1OU0NhdGFsb2dOYW1lgBuAGhAGgBmAGFZTeXN0
ZW1cY29udHJvbENvbG9y0wAOAK8AugCyALwAvVdOU1doaXRlgBsQA0swLjY2NjY2NjY5ANIANwA4AL8A
rqIArgA71QAOAK4ArwCwALEAsgDCALQAwwC2gBuAHoAdgBhfEBBjb250cm9sVGV4dENvbG9y0wAOAK8A
ugCyALwAyIAbQjAA0gA3ADgAygDLpADLAMwAhQA7XxAPTlNUZXh0RmllbGRDZWxsXE5TQWN0aW9uQ2Vs
bNIANwA4AM4Az6UAzwDQANEA0gA7W05TVGV4dEZpZWxkWU5TQ29udHJvbFZOU1ZpZXdbTlNSZXNwb25k
ZXLYAGUADgCEAIUAZwCGAGkAagBRAIgA1gDXAIsAjABrAFGADYAggCKAIwmADoANXxAVe3s0MCwgMTE2
fSwgezc0LCAxNH192ACRAA4AkgCTAJQAlQCWAJcAmACZAJoA3wCcAHYAngCfgB+AF4AkgBSAIYAcW0Rv
d25sb2FkZWQ62ABlAA4AhACFAGcAhgBpAGoAUQCIAOcA6ACLAIwAawBRgA2AIIAmgCcJgA6ADV8QFHt7
NzksIDg0fSwgezM1LCAxNH192ACRAA4AkgCTAJQAlQCWAJcAmACZAJoA8ACcAHcAngCfgB+AF4AogBSA
JYAcVlJhdGlvOtgAZQAOAIQAhQBnAIYAaQBqAFEAiAD4APkAiwCMAGsAUYANgCCAKoArCYAOgA1fEBR7
ezMyLCA1Mn0sIHs4MiwgMTR9fdgAkQAOAJIAkwCUAJUAlgCXAJgAmQCaAQEAnAB4AJ4An4AfgBeALIAU
gCmAHF1SdW5uaW5nIFRpbWU62ABlAA4AhACFAGcAhgBpAGoAUQCIAQkBCgELAIwAawBRgA2AIIAugC8R
ASoJgA6ADV8QF3t7MTE1LCAxNDh9LCB7MTU0LCAxNH192ACRAA4AkgCTAJQAlQCWAJcAmACZAJoBEwCc
AHkAngCfgB+AF4AwgBSALYAcVUxhYmVs2ABlAA4AhACFAGcAhgBpAGoAUQCIARsBHAELAIwAawBRgA2A
IIAygDMJgA6ADV8QF3t7MTE1LCAxMTZ9LCB7MTU0LCAxNH192ACRAA4AkgCTAJQAlQCWAJcAmACZAJoB
EwCcAHoAngCfgB+AF4AwgBSAMYAc2ABlAA4AhACFAGcAhgBpAGoAUQCIASsBLAELAIwAawBRgA2AIIA1
gDYJgA6ADV8QFnt7MTE1LCA4NH0sIHsxNTQsIDE0fX3YAJEADgCSAJMAlACVAJYAlwCYAJkAmgETAJwA
ewCeAJ+AH4AXgDCAFIA0gBzYAGUADgCEAIUAZwCGAGkAagBRAIgBOwE8AQsAjABrAFGADYAggDiAOQmA
DoANXxAWe3sxMTUsIDUyfSwgezE1NCwgMTR9fdgAkQAOAJIAkwCUAJUAlgCXAJgAmQCaARMAnAB8AJ4A
n4AfgBeAMIAUgDeAHNgAZQAOAIQAhQBnAIYAaQBqAFEAiAFLAUwAiwCMAGsAUYANgCCAO4A8CYAOgA1f
EBR7ezIwLCAyMH0sIHs5NCwgMTR9fdgAkQAOAJIAkwCUAJUAlgCXAJgAmQCaAVQAnAB9AJ4An4AfgBeA
PYAUgDqAHF8QEFByb2dyYW0gU3RhcnRlZDrYAGUADgCEAIUAZwCGAGkAagBRAIgBXAFdAQsAjABrAFGA
DYAggD+AQAmADoANXxAWe3sxMTUsIDIwfSwgezE1NCwgMTR9fdgAkQAOAJIAkwCUAJUAlgCXAJgAmQCa
ARMAnAB+AJ4An4AfgBeAMIAUgD6AHNgAZQAOAIQAhQBnAIYAaQBqAFEAiAFsAW0BCwCMAGsAUYANgCCA
QoBDCYAOgA1fEBd7ezExNSwgMTMyfSwgezE1NCwgMTR9fdgAkQAOAJIAkwCUAJUAlgCXAJgAmQCaARMA
nAB/AJ4An4AfgBeAMIAUgEGAHNgAZQAOAIQAhQBnAIYAaQBqAFEAiAF8AX0BCwCMAGsAUYANgCCARYBG
CYAOgA1fEBd7ezExNSwgMTAwfSwgezE1NCwgMTR9fdgAkQAOAJIAkwCUAJUAlgCXAJgAmQCaARMAnACA
AJ4An4AfgBeAMIAUgESAHNgAZQAOAIQAhQBnAIYAaQBqAFEAiAGMAY0BCwCMAGsAUYANgCCASIBJCYAO
gA1fEBZ7ezExNSwgNjh9LCB7MTU0LCAxNH192ACRAA4AkgCTAJQAlQCWAJcAmACZAJoBEwCcAIEAngCf
gB+AF4AwgBSAR4Ac2ABlAA4AhACFAGcAhgBpAGoAUQCIAZwBnQGeAIwAawBRgA2AIIBLgEwRASwJgA6A
DV8QFnt7MTE1LCAzNn0sIHsxNTQsIDE0fX3YAJEADgCSAJMAlACVAJYAlwCYAJkAmgGmAJwAggGpAJ+A
H4AXgE2AFIBKEhBACACAHF8QGzk5OSBkYXlzIDU5IGhyIDU5IG1pbiB0b3RhbNIANwA4Aa0BrqMBrgGv
ADteTlNNdXRhYmxlQXJyYXlXTlNBcnJhedIANwA4AbEA0aMA0QDSADtfEBZ7ezAsIDB9LCB7MTY4MCwg
MTAyOH19WnsyODksIDIwNH1bU3RhdHNXaW5kb3fSADcAOAG2AbeiAbcAO18QEE5TV2luZG93VGVtcGxh
dGXSADcAOAG5AbqjAboBuwA7XE5TTXV0YWJsZVNldFVOU1NldNIADgA+AHMBvoBOqwG/AcABwQHCAcMB
xAHFAcYBxwHIAcmAWYBcgF6AYIBigGSAZoBogGqAbIBu1AAOAcsBzAHNAc4AfAAfAdFdTlNEZXN0aW5h
dGlvblhOU1NvdXJjZVdOU0xhYmVsgFuAN4ACgFpaZlRpbWVGaWVsZNIANwA4AdQB1aMB1QHWADtfEBRO
U05pYk91dGxldENvbm5lY3Rvcl5OU05pYkNvbm5lY3RvctQADgHLAcwBzQHOAHoAHwHbgFuAMYACgF1f
EBBmRG93bmxvYWRlZEZpZWxk1AAOAcsBzAHNAc4AggAfAeGAW4BKgAKAX11mVGltZUFsbEZpZWxk1AAO
AcsBzAHNAc4AHwBBAeeAW4ACgAeAYVhkZWxlZ2F0ZdQADgHLAcwBzQHOAIAAHwHtgFuARIACgGNfEBNm
RG93bmxvYWRlZEFsbEZpZWxk1AAOAcsBzAHNAc4AgQAfAfOAW4BHgAKAZV5mUmF0aW9BbGxGaWVsZNQA
DgHLAcwBzQHOAHkAHwH5gFuALYACgGdeZlVwbG9hZGVkRmllbGTUAA4BywHMAc0BzgBBAB8B/4BbgAeA
AoBpVndpbmRvd9QADgHLAcwBzQHOAHsAHwIFgFuANIACgGtbZlJhdGlvRmllbGTUAA4BywHMAc0BzgB/
AB8CC4BbgEGAAoBtXxARZlVwbG9hZGVkQWxsRmllbGTUAA4BywHMAc0BzgB+AB8CEYBbgD6AAoBvXxAP
Zk51bU9wZW5lZEZpZWxk0gAOAD4CFAIVgHOvEB8BjQF9AHYBnQDoAW0A1wD5AHoBCgB9ASwAeABBAFEB
HAFdAicAgQCCAUwAfgB3AHsBPAB1AIAAfwB8AIoAeYBJgEaAIYBMgCeAQ4AjgCuAMYAvgDqANoApgAeA
DYAzgECAcYBHgEqAPIA+gCWANIA5gBCARIBBgDeAEoAt0gAOADIAMwI3gASAcl1OU0FwcGxpY2F0aW9u
0gA3ADgCOgGvogGvADvSAA4APgIUAj2Ac68QHwCBAIAAUQCCAHcAfwB2AHgAUQB5AFEAewBRAB8AQQB6
AH4AHwBRAFEAfQBRAFEAUQB8AFEAUQBRAFEAdQBRgEeARIANgEqAJYBBgCGAKYANgC2ADYA0gA2AAoAH
gDGAPoACgA2ADYA6gA2ADYANgDeADYANgA2ADYAQgA3SAA4APgIUAl+Ac68QIAGNAX0AdgGdAOgBbQDX
APkAegB9AQoBLAB4AEEAUQEcAV0CJwCBAIIAfgFMAHcAewE8AHUAgAB/AHwAigB5AB+ASYBGgCGATIAn
gEOAI4ArgDGAOoAvgDaAKYAHgA2AM4BAgHGAR4BKgD6APIAlgDSAOYAQgESAQYA3gBKALYAC0gAOAD4C
FAKCgHOvECACgwKEAoUChgKHAogCiQKKAosCjAKNAo4CjwKQApECkgKTApQClQKWApcCmAKZApoCmwKc
Ap0CngKfAqACoQKigHeAeIB5gHqAe4B8gH2AfoB/gICAgYCCgIOAhICFgIaAh4CIgImAioCLgIyAjYCO
gI+AkICRgJKAk4CUgJWAll8QGVRleHQgRmllbGQgQ2VsbCAoTGFiZWwpLTFfEBlUZXh0IEZpZWxkIENl
bGwgKExhYmVsKS00XxAZU3RhdGljIFRleHQgKERvd25sb2FkZWQ6KV8QLVRleHQgRmllbGQgQ2VsbCAo
OTk5IGRheXMgNTkgaHIgNTkgbWluIHRvdGFsKV8QGFRleHQgRmllbGQgQ2VsbCAoUmF0aW86KV8QGVRl
eHQgRmllbGQgQ2VsbCAoTGFiZWwpLTVfEB1UZXh0IEZpZWxkIENlbGwgKERvd25sb2FkZWQ6KV8QH1Rl
eHQgRmllbGQgQ2VsbCAoUnVubmluZyBUaW1lOilfEBNTdGF0aWMgVGV4dCAoTGFiZWwpXxAeU3RhdGlj
IFRleHQgKFByb2dyYW0gU3RhcnRlZDopXxAZVGV4dCBGaWVsZCBDZWxsIChMYWJlbCktN18QGVRleHQg
RmllbGQgQ2VsbCAoTGFiZWwpLTNfEBtTdGF0aWMgVGV4dCAoUnVubmluZyBUaW1lOilfEA9XaW5kb3cg
KFdpbmRvdylcQ29udGVudCBWaWV3XxAXVGV4dCBGaWVsZCBDZWxsIChMYWJlbClfEBlUZXh0IEZpZWxk
IENlbGwgKExhYmVsKS0yW0FwcGxpY2F0aW9uXxAVU3RhdGljIFRleHQgKExhYmVsKS0xXxApU3RhdGlj
IFRleHQgKDk5OSBkYXlzIDU5IGhyIDU5IG1pbiB0b3RhbClfEBVTdGF0aWMgVGV4dCAoTGFiZWwpLTJf
ECJUZXh0IEZpZWxkIENlbGwgKFByb2dyYW0gU3RhcnRlZDopXxAUU3RhdGljIFRleHQgKFJhdGlvOilf
EBVTdGF0aWMgVGV4dCAoTGFiZWwpLTNfEBlUZXh0IEZpZWxkIENlbGwgKExhYmVsKS02XxAXU3RhdGlj
IFRleHQgKFVwbG9hZGVkOilfEBVTdGF0aWMgVGV4dCAoTGFiZWwpLTRfEBVTdGF0aWMgVGV4dCAoTGFi
ZWwpLTVfEBVTdGF0aWMgVGV4dCAoTGFiZWwpLTZfEBtUZXh0IEZpZWxkIENlbGwgKFVwbG9hZGVkOilf
EBVTdGF0aWMgVGV4dCAoTGFiZWwpLTdcRmlsZSdzIE93bmVy0gAOAD4CFALFgHOg0gAOAD4CFALIgHOg
0gAOAD4CFALLgHOvECsBjQF9AHYBxQHCAZ0A6AFtANcA+QHEAccAegEKAH0BLAG/AHgAQQFdAFEBHAIn
AIEBwwCCAUwAfgHAAHcAewE8AHUByACAAH8AfACKAcEAeQHJAcYAH4BJgEaAIYBmgGCATIAngEOAI4Ar
gGSAaoAxgC+AOoA2gFmAKYAHgECADYAzgHGAR4BigEqAPIA+gFyAJYA0gDmAEIBsgESAQYA3gBKAXoAt
gG6AaIAC0gAOAD4CFAL5gHOvECsC+gL7AvwC/QL+Av8DAAMBAwIDAwMEAwUDBgMHAwgDCQMKAwsDDAMN
Aw4DDwMQAxEDEgMTAxQDFQMWAxcDGAMZAxoDGwMcAx0DHgMfAyADIQMiAyMDJICbgJyAnYCegJ+AoICh
gKKAo4CkgKWApoCngKiAqYCqgKuArICtgK6Ar4CwgLGAsoCzgLSAtYC2gLeAuIC5gLqAu4C8gL2AvoC/
gMCAwYDCgMOAxIDFEC0QKxAFEB8QHhAvEAwQKRAOEDIQIRARECMQFBAiEA0QARAlEBIT//////////0Q
LBAxEC4QJhAkECAQCxATEBYQMBAqECgQFRAEEDMQDxAnEB0QNNIADgA+AHMDToBOoNIADgA+AhQDUYBz
oNIADgA+AhQDVIBzoNIANwA4A1YDV6IDVwA7Xk5TSUJPYmplY3REYXRhAAgAGQAiACcAMQA6AD8ARABS
AFQAZgH9AgMCTgJVAlwCagJ8ApgCpgKyAr4CzALXAuUDAQMPAyIDNANOA1gDZQNnA2kDawNtA28DcQNz
A3UDdwN5A3sDfQN/A4EDgwOFA4cDiQOSA54DoAOiA7oDwwPMA9cD3APrA/QEBwQQBBsEHQQgBCIEYQRu
BIcElASqBLgEwgTQBOkE9gUABRIFJgUwBTwFPgVABUIFRAVGBUgFTQVPBVEFUwVVBVcFWQVbBV0FeAWD
BYsFlgWzBcUF0AXZBeUF7gX6BfwF/gYABgMGBQYHBgkGEgYUBjEGMwY1BjcGOQY7Bj0GPwZBBkMGRQZH
BkkGSwZNBm4GdgZ9BocGiQaLBo0GjwaSBpMGlQaXBq8G0AbcBvAG+wcFBxMHIAcsBzEHMwc1BzcHOQc7
B0AHQgdMB10HZAdrB3QHdgd/B4EHgweQB5kHngelB7oHwgfPB9sH6QfrB+0H7wfxB/MH+ggHCBQIHAge
CCAILAg1CDoITwhRCFMIVQhXCGoIdwh5CHwIhQiOCKAIrQi2CMEIzQjXCN4I6gkLCQ0JDwkRCRMJFAkW
CRgJMAlRCVMJVQlXCVkJWwldCWkJigmMCY4JkAmSCZMJlQmXCa4JzwnRCdMJ1QnXCdkJ2wniCgMKBQoH
CgkKCwoMCg4KEAonCkgKSgpMCk4KUApSClQKYgqDCoUKhwqJCosKjgqPCpEKkwqtCs4K0ArSCtQK1grY
CtoK4AsBCwMLBQsHCwkLCgsMCw4LKAtJC0sLTQtPC1ELUwtVC3YLeAt6C3wLfgt/C4ELgwucC70LvwvB
C8MLxQvHC8kL6gvsC+4L8AvyC/ML9Qv3DBAMMQwzDDUMNww5DDsMPQxeDGAMYgxkDGYMZwxpDGsMggyj
DKUMpwypDKsMrQyvDMIM4wzlDOcM6QzrDOwM7gzwDQkNKg0sDS4NMA0yDTQNNg1XDVkNWw1dDV8NYA1i
DWQNfg2fDaENow2lDacNqQ2rDcwNzg3QDdIN1A3VDdcN2Q3zDhQOFg4YDhoOHA4eDiAOQQ5DDkUORw5J
DkoOTA5ODmcOiA6KDowOjg6QDpIOlA61DrcOuQ67Dr0OwA7BDsMOxQ7eDv8PAQ8DDwUPBw8JDw4PEA8u
DzcPPg9ND1UPXg9lD34PiQ+VD54Pow+2D78Pxg/TD9kP4g/kD/sP/Q//EAEQAxAFEAcQCRALEA0QDxAR
ECIQMBA5EEEQQxBFEEcQSRBUEF0QZBB7EIoQmxCdEJ8QoRCjELYQxxDJEMsQzRDPEN0Q7hDwEPIQ9BD2
EP8REBESERQRFhEYES4RPxFBEUMRRRFHEVYRZxFpEWsRbRFvEX4RjxGREZMRlRGXEZ4RrxGxEbMRtRG3
EcMR1BHWEdgR2hHcEfASARIDEgUSBxIJEhsSJBImEmcSaRJrEm0SbxJxEnMSdRJ3EnkSexJ9En8SgRKD
EoUShxKJEosSjRKPEpESkxKVEpcSmRKbEp0SnxKhEqMSpRKuErASshLAEskSzhLXEtkTGhMcEx4TIBMi
EyQTJhMoEyoTLBMuEzATMhM0EzYTOBM6EzwTPhNAE0ITRBNGE0gTShNME04TUBNSE1QTVhNYE2ETYxOm
E6gTqhOsE64TsBOyE7QTthO4E7oTvBO+E8ATwhPEE8YTyBPKE8wTzhPQE9IT1BPWE9gT2hPcE94T4BPi
E+QT5hPvE/EUNBQ2FDgUOhQ8FD4UQBRCFEQURhRIFEoUTBROFFAUUhRUFFYUWBRaFFwUXhRgFGIUZBRm
FGgUahRsFG4UcBRyFHQUkBSsFMgU+BUTFS8VTxVxFYcVqBXEFeAV/hYQFh0WNxZTFl8WdxajFrsW4Bb3
Fw8XKxdFF10XdReNF6sXwxfQF9kX2xfcF+UX5xfoF/EX8xhMGE4YUBhSGFQYVhhYGFoYXBheGGAYYhhk
GGYYaBhqGGwYbhhwGHIYdBh2GHgYehh8GH4YgBiCGIQYhhiIGIoYjBiOGJAYkhiUGJYYmBiaGJwYnhig
GKIYqxitGQYZCBkKGQwZDhkQGRIZFBkWGRgZGhkcGR4ZIBkiGSQZJhkoGSoZLBkuGTAZMhk0GTYZOBk6
GTwZPhlAGUIZRBlGGUgZShlMGU4ZUBlSGVQZVhlYGVoZXBleGWAZYhlkGWYZaBlqGWwZbhlwGXIZdBl2
GXgZehl8GX4ZgBmCGYsZjRmPGZEZkxmVGZcZmRmbGZ0ZnxmhGaMZpRmnGakZqxmtGa8ZsRm6GbwZvRnG
GcgZyRnSGdQZ1RneGeMAAAAAAAACAgAAAAAAAANYAAAAAAAAAAAAAAAAAAAZ8g</bytes>
5ADsAO0A9AD1AP0A/gEFAQYBDwEQARgBGQEhASIBKQExATIBOQFBAUIBSQFRAVIBWQFaAWIBYwFqAXIB
cwF6AYIBgwGKAZIBkwGaAaMBpAGsAa0AYwALAbEBswG0AbQBtQG2AbkBvQHQAdgB2QHdAeIB4wHoAekB
7gHvAfQB9QH6AfsCAAIBAgYCBwIMAg0CEgITAhgCGQIeAh8CJAIlAioCKwIwAjECNgI3AlkCXAJdAl8C
gQKkAscCyALJAsoCywLMAs0CzgLPAtAC0QLSAtMC1ALVAtYC1wLYAtkC2gLbAtwC3QLeAt8C4ALhAuIC
4wLkAuUC5gLnAuoC7QMgA1MDVABcA1UAqANWA1cAtANYA1kDWgNbA1wDXQNeA18DYANhA2IDYwNkA2UD
ZgNnA2gDaQNqA2sDbAC8A20DbgNvA3ADcQNyA3MDdAN1A3YDdwN4A3kDegN7A3wDfQN+A38DggOFA4hV
JG51bGzfEBIADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAm
ACcAKAApACoAKwAsAC0ALgAvADBWTlNSb290ViRjbGFzc11OU09iamVjdHNLZXlzXxAPTlNDbGFzc2Vz
VmFsdWVzXxAZTlNBY2Nlc3NpYmlsaXR5T2lkc1ZhbHVlc11OU0Nvbm5lY3Rpb25zW05TTmFtZXNLZXlz
W05TRnJhbWV3b3JrXU5TQ2xhc3Nlc0tleXNaTlNPaWRzS2V5c11OU05hbWVzVmFsdWVzXxAZTlNBY2Nl
c3NpYmlsaXR5Q29ubmVjdG9yc11OU0ZvbnRNYW5hZ2VyXxAQTlNWaXNpYmxlV2luZG93c18QD05TT2Jq
ZWN0c1ZhbHVlc18QF05TQWNjZXNzaWJpbGl0eU9pZHNLZXlzWU5TTmV4dE9pZFxOU09pZHNWYWx1ZXOA
AoDYgHqAooDXgFiAf4AFgKGAo4CAgNWAAIAGgH6A1hA6gKTSAA4AMgAzADRbTlNDbGFzc05hbWWABIAD
XxAVU3RhdHNXaW5kb3dDb250cm9sbGVy0gA3ADgAOQA6WCRjbGFzc2VzWiRjbGFzc25hbWWiADoAO15O
U0N1c3RvbU9iamVjdFhOU09iamVjdF8QEElCQ29jb2FGcmFtZXdvcmvSAA4APgA/AEBaTlMub2JqZWN0
c4BXoQBBgAffEA8AQwAOAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkA
WgBbAFwAXQBeACtcTlNXaW5kb3dWaWV3XxAWTlNXaW5kb3dDb250ZW50TWF4U2l6ZVxOU1NjcmVlblJl
Y3RfEBNOU0ZyYW1lQXV0b3NhdmVOYW1lXU5TV2luZG93VGl0bGVZTlNXVEZsYWdzXU5TV2luZG93Q2xh
c3NfEBZOU1dpbmRvd0NvbnRlbnRNaW5TaXplXE5TV2luZG93UmVjdFlOU01heFNpemVfEA9OU1dpbmRv
d0JhY2tpbmdfEBFOU1dpbmRvd1N0eWxlTWFza1lOU01pblNpemVbTlNWaWV3Q2xhc3OADYBWgAuAUoBV
gAkSIAAAAIAKgAyACIBUEAIQB4BTgABfEBh7ezEwNCwgNzUwfSwgezI4OSwgMTgyfX1aU3RhdGlzdGlj
c1dOU1BhbmVsWnsyODksIDE4Mn3XAGUADgBmAGcAaABpAGoAawBsAG0AbgBvAGsAcV8QD05TTmV4dFJl
c3BvbmRlclpOU1N1YnZpZXdzWE5TdkZsYWdzW05TRnJhbWVTaXplWE5TV2luZG93W05TU3VwZXJ2aWV3
gA6AUYAPEQEAgE+ADoBQ0gAOAD4AcwB0gE6uAHUAdgB3AHgAeQB6AHsAfAB9AH4AfwCAAIEAgoAQgCGA
JYApgC2AMYA0gDeAOoA+gEGARIBHgErYAGUADgCEAIUAZwCGAGkAagBRAIgAiQCKAIsAjABrAFFXTlNG
cmFtZVZOU0NlbGxZTlNFbmFibGVkgA2AIIARgBIRAQwJgA6ADV8QFXt7MjAsIDE0OH0sIHs5NCwgMTR9
fdgAkQAOAJIAkwCUAJUAlgCXAJgAmQCaAJsAnAB1AJ4An1tOU0NlbGxGbGFnc18QEU5TQmFja2dyb3Vu
ZENvbG9yWk5TQ29udGVudHNZTlNTdXBwb3J0XU5TQ29udHJvbFZpZXdcTlNDZWxsRmxhZ3MyW05TVGV4
dENvbG9yEgQB/kCAH4AXgBOAFIAQEgRABACAHFlVcGxvYWRlZDrUAA4AogCjAKQApQCmAKcAqFZOU1Np
emVWTlNOYW1lWE5TZkZsYWdzgBYjQCYAAAAAAACAFRAQXEx1Y2lkYUdyYW5kZdIANwA4AKsArKIArAA7
Vk5TRm9udNUADgCuAK8AsACxALIAswC0ALUAtldOU0NvbG9yXE5TQ29sb3JTcGFjZVtOU0NvbG9yTmFt
ZV1OU0NhdGFsb2dOYW1lgBuAGhAGgBmAGFZTeXN0ZW1cY29udHJvbENvbG9y0wAOAK8AugCyALwAvVdO
U1doaXRlgBsQA0swLjY2NjY2NjY5ANIANwA4AL8ArqIArgA71QAOAK4ArwCwALEAsgDCALQAwwC2gBuA
HoAdgBhfEBBjb250cm9sVGV4dENvbG9y0wAOAK8AugCyALwAyIAbQjAA0gA3ADgAygDLpADLAMwAhQA7
XxAPTlNUZXh0RmllbGRDZWxsXE5TQWN0aW9uQ2VsbNIANwA4AM4Az6UAzwDQANEA0gA7W05TVGV4dEZp
ZWxkWU5TQ29udHJvbFZOU1ZpZXdbTlNSZXNwb25kZXLYAGUADgCEAIUAZwCGAGkAagBRAIgA1gDXAIsA
jABrAFGADYAggCKAIwmADoANXxAVe3syMCwgMTE2fSwgezk0LCAxNH192ACRAA4AkgCTAJQAlQCWAJcA
mACZAJoA3wCcAHYAngCfgB+AF4AkgBSAIYAcW0Rvd25sb2FkZWQ62ABlAA4AhACFAGcAhgBpAGoAUQCI
AOcA6ACLAIwAawBRgA2AIIAmgCcJgA6ADV8QFHt7MjAsIDg0fSwgezk0LCAxNH192ACRAA4AkgCTAJQA
lQCWAJcAmACZAJoA8ACcAHcAngCfgB+AF4AogBSAJYAcVlJhdGlvOtgAZQAOAIQAhQBnAIYAaQBqAFEA
iAD4APkAiwCMAGsAUYANgCCAKoArCYAOgA1fEBR7ezIwLCA1Mn0sIHs5NCwgMTR9fdgAkQAOAJIAkwCU
AJUAlgCXAJgAmQCaAQEAnAB4AJ4An4AfgBeALIAUgCmAHF1SdW5uaW5nIFRpbWU62ABlAA4AhACFAGcA
hgBpAGoAUQCIAQkBCgELAIwAawBRgA2AIIAugC8RASoJgA6ADV8QF3t7MTE1LCAxNDh9LCB7MTU0LCAx
NH192ACRAA4AkgCTAJQAlQCWAJcAmACZAJoBEwCcAHkBFgCfgB+AF4AwgBSALRIQQAQAgBxVTGFiZWzY
AGUADgCEAIUAZwCGAGkAagBRAIgBHAEdAQsAjABrAFGADYAggDKAMwmADoANXxAXe3sxMTUsIDExNn0s
IHsxNTQsIDE0fX3YAJEADgCSAJMAlACVAJYAlwCYAJkAmgETAJwAegEWAJ+AH4AXgDCAFIAxgBzYAGUA
DgCEAIUAZwCGAGkAagBRAIgBLAEtAQsAjABrAFGADYAggDWANgmADoANXxAWe3sxMTUsIDg0fSwgezE1
NCwgMTR9fdgAkQAOAJIAkwCUAJUAlgCXAJgAmQCaARMAnAB7ARYAn4AfgBeAMIAUgDSAHNgAZQAOAIQA
hQBnAIYAaQBqAFEAiAE8AT0BCwCMAGsAUYANgCCAOIA5CYAOgA1fEBZ7ezExNSwgNTJ9LCB7MTU0LCAx
NH192ACRAA4AkgCTAJQAlQCWAJcAmACZAJoBEwCcAHwBFgCfgB+AF4AwgBSAN4Ac2ABlAA4AhACFAGcA
hgBpAGoAUQCIAUwBTQCLAIwAawBRgA2AIIA7gDwJgA6ADV8QFHt7MjAsIDIwfSwgezk0LCAxNH192ACR
AA4AkgCTAJQAlQCWAJcAmACZAJoBVQCcAH0AngCfgB+AF4A9gBSAOoAcXxAQUHJvZ3JhbSBTdGFydGVk
OtgAZQAOAIQAhQBnAIYAaQBqAFEAiAFdAV4BCwCMAGsAUYANgCCAP4BACYAOgA1fEBZ7ezExNSwgMjB9
LCB7MTU0LCAxNH192ACRAA4AkgCTAJQAlQCWAJcAmACZAJoBEwCcAH4BFgCfgB+AF4AwgBSAPoAc2ABl
AA4AhACFAGcAhgBpAGoAUQCIAW0BbgELAIwAawBRgA2AIIBCgEMJgA6ADV8QF3t7MTE1LCAxMzJ9LCB7
MTU0LCAxNH192ACRAA4AkgCTAJQAlQCWAJcAmACZAJoBEwCcAH8BFgCfgB+AF4AwgBSAQYAc2ABlAA4A
hACFAGcAhgBpAGoAUQCIAX0BfgELAIwAawBRgA2AIIBFgEYJgA6ADV8QF3t7MTE1LCAxMDB9LCB7MTU0
LCAxNH192ACRAA4AkgCTAJQAlQCWAJcAmACZAJoBEwCcAIABFgCfgB+AF4AwgBSARIAc2ABlAA4AhACF
AGcAhgBpAGoAUQCIAY0BjgELAIwAawBRgA2AIIBIgEkJgA6ADV8QFnt7MTE1LCA2OH0sIHsxNTQsIDE0
fX3YAJEADgCSAJMAlACVAJYAlwCYAJkAmgETAJwAgQEWAJ+AH4AXgDCAFIBHgBzYAGUADgCEAIUAZwCG
AGkAagBRAIgBnQGeAZ8AjABrAFGADYAggEuATBEBLAmADoANXxAWe3sxMTUsIDM2fSwgezE1NCwgMTR9
fdgAkQAOAJIAkwCUAJUAlgCXAJgAmQCaAacAnACCAaoAn4AfgBeATYAUgEoSEEAIAIAcXxAbOTk5IGRh
eXMgNTkgaHIgNTkgbWluIHRvdGFs0gA3ADgBrgGvowGvAbAAO15OU011dGFibGVBcnJheVdOU0FycmF5
0gA3ADgBsgDRowDRANIAO18QFnt7MCwgMH0sIHsxNjgwLCAxMDI4fX1aezI4OSwgMjA0fVtTdGF0c1dp
bmRvd9IANwA4AbcBuKIBuAA7XxAQTlNXaW5kb3dUZW1wbGF0ZdIANwA4AboBu6MBuwG8ADtcTlNNdXRh
YmxlU2V0VU5TU2V00gAOAD4AcwG/gE6vEBABwAHBAcIBwwHEAcUBxgHHAcgByQHKAcsBzAHNAc4Bz4BZ
gFyAXoBggGKAZIBmgGiAaoBsgG6AcIBygHSAdoB41AAOAdEB0gHTAdQAggAfAdddTlNEZXN0aW5hdGlv
blhOU1NvdXJjZVdOU0xhYmVsgFuASoACgFpdZlRpbWVBbGxGaWVsZNIANwA4AdoB26MB2wHcADtfEBRO
U05pYk91dGxldENvbm5lY3Rvcl5OU05pYkNvbm5lY3RvctQADgHRAdIB0wHUAH0AHwHhgFuAOoACgF1f
EBRmTnVtT3BlbmVkTGFiZWxGaWVsZNQADgHRAdIB0wHUAHUAHwHngFuAEIACgF9fEBNmVXBsb2FkZWRM
YWJlbEZpZWxk1AAOAdEB0gHTAdQAQQAfAe2AW4AHgAKAYVZ3aW5kb3fUAA4B0QHSAdMB1AB3AB8B84Bb
gCWAAoBjXxAQZlJhdGlvTGFiZWxGaWVsZNQADgHRAdIB0wHUAHsAHwH5gFuANIACgGVbZlJhdGlvRmll
bGTUAA4B0QHSAdMB1ACBAB8B/4BbgEeAAoBnXmZSYXRpb0FsbEZpZWxk1AAOAdEB0gHTAdQAHwBBAgWA
W4ACgAeAaVhkZWxlZ2F0ZdQADgHRAdIB0wHUAH8AHwILgFuAQYACgGtfEBFmVXBsb2FkZWRBbGxGaWVs
ZNQADgHRAdIB0wHUAHYAHwIRgFuAIYACgG1fEBVmRG93bmxvYWRlZExhYmVsRmllbGTUAA4B0QHSAdMB
1AB6AB8CF4BbgDGAAoBvXxAQZkRvd25sb2FkZWRGaWVsZNQADgHRAdIB0wHUAHgAHwIdgFuAKYACgHFf
EA9mVGltZUxhYmVsRmllbGTUAA4B0QHSAdMB1AB+AB8CI4BbgD6AAoBzXxAPZk51bU9wZW5lZEZpZWxk
1AAOAdEB0gHTAdQAeQAfAimAW4AtgAKAdV5mVXBsb2FkZWRGaWVsZNQADgHRAdIB0wHUAIAAHwIvgFuA
RIACgHdfEBNmRG93bmxvYWRlZEFsbEZpZWxk1AAOAdEB0gHTAdQAfAAfAjWAW4A3gAKAeVpmVGltZUZp
ZWxk0gAOAD4COAI5gH2vEB8A+QBRAjwBCgDXAIoAeADoAHwAfQB+AX4AggB2AY4AQQEdAHcAdQE9AU0B
LQB/AHkAewCAAIEBbgFeAHoBnoArgA2Ae4AvgCOAEoApgCeAN4A6gD6ARoBKgCGASYAHgDOAJYAQgDmA
PIA2gEGALYA0gESAR4BDgECAMYBM0gAOADIAMwJbgASAfF1OU0FwcGxpY2F0aW9u0gA3ADgCXgGwogGw
ADvSAA4APgI4AmGAfa8QHwB4AEEAHwB5AHYAdQBRAHcAUQBRAFEAgABRAFEAgQAfAHoAUQBRAHwAfQB7
AFEAUQBRAFEAUQB/AH4AUQCCgCmAB4ACgC2AIYAQgA2AJYANgA2ADYBEgA2ADYBHgAKAMYANgA2AN4A6
gDSADYANgA2ADYANgEGAPoANgErSAA4APgI4AoOAfa8QIAD5AFECPAEKANcAigB4AHwAfgB9AOgBfgCC
AHYBjgBBAU0AdwB1AT0BHQB/AS0AeQB7AIAAHwCBAW4BngB6AV6AK4ANgHuAL4AjgBKAKYA3gD6AOoAn
gEaASoAhgEmAB4A8gCWAEIA5gDOAQYA2gC2ANIBEgAKAR4BDgEyAMYBA0gAOAD4COAKmgH2vECACpwKo
AqkCqgKrAqwCrQKuAq8CsAKxArICswK0ArUCtgK3ArgCuQK6ArsCvAK9Ar4CvwLAAsECwgLDAsQCxQLG
gIGAgoCDgISAhYCGgIeAiICJgIqAi4CMgI2AjoCPgJCAkYCSgJOAlICVgJaAl4CYgJmAmoCbgJyAnYCe
gJ+AoF8QH1RleHQgRmllbGQgQ2VsbCAoUnVubmluZyBUaW1lOilcQ29udGVudCBWaWV3W0FwcGxpY2F0
aW9uXxAZVGV4dCBGaWVsZCBDZWxsIChMYWJlbCktM18QHVRleHQgRmllbGQgQ2VsbCAoRG93bmxvYWRl
ZDopXxAbVGV4dCBGaWVsZCBDZWxsIChVcGxvYWRlZDopXxAbU3RhdGljIFRleHQgKFJ1bm5pbmcgVGlt
ZTopXxATU3RhdGljIFRleHQgKExhYmVsKV8QFVN0YXRpYyBUZXh0IChMYWJlbCktMV8QHlN0YXRpYyBU
ZXh0IChQcm9ncmFtIFN0YXJ0ZWQ6KV8QGFRleHQgRmllbGQgQ2VsbCAoUmF0aW86KV8QGVRleHQgRmll
bGQgQ2VsbCAoTGFiZWwpLTVfEClTdGF0aWMgVGV4dCAoOTk5IGRheXMgNTkgaHIgNTkgbWluIHRvdGFs
KV8QGVN0YXRpYyBUZXh0IChEb3dubG9hZGVkOilfEBlUZXh0IEZpZWxkIENlbGwgKExhYmVsKS02XxAP
V2luZG93IChXaW5kb3cpXxAiVGV4dCBGaWVsZCBDZWxsIChQcm9ncmFtIFN0YXJ0ZWQ6KV8QFFN0YXRp
YyBUZXh0IChSYXRpbzopXxAXU3RhdGljIFRleHQgKFVwbG9hZGVkOilfEBdUZXh0IEZpZWxkIENlbGwg
KExhYmVsKV8QGVRleHQgRmllbGQgQ2VsbCAoTGFiZWwpLTdfEBVTdGF0aWMgVGV4dCAoTGFiZWwpLTJf
EBlUZXh0IEZpZWxkIENlbGwgKExhYmVsKS00XxAVU3RhdGljIFRleHQgKExhYmVsKS0zXxAVU3RhdGlj
IFRleHQgKExhYmVsKS00XxAVU3RhdGljIFRleHQgKExhYmVsKS01XEZpbGUncyBPd25lcl8QFVN0YXRp
YyBUZXh0IChMYWJlbCktNl8QGVRleHQgRmllbGQgQ2VsbCAoTGFiZWwpLTJfEC1UZXh0IEZpZWxkIENl
bGwgKDk5OSBkYXlzIDU5IGhyIDU5IG1pbiB0b3RhbClfEBVTdGF0aWMgVGV4dCAoTGFiZWwpLTdfEBlU
ZXh0IEZpZWxkIENlbGwgKExhYmVsKS0x0gAOAD4COALpgH2g0gAOAD4COALsgH2g0gAOAD4COALvgH2v
EDABzwD5AFECPAEKAcABxwDXAcQByACKAc0AeAHGAOgAfAB9AH4BfgCCAcMAdgGOAcIAQQHLAcUBHQB3
AHUBPQFNAckBzgHKAS0AfwHMAHkAewCAAB8BbgCBAV4AegGeAcGAeIArgA2Ae4AvgFmAaIAjgGKAaoAS
gHSAKYBmgCeAN4A6gD6ARoBKgGCAIYBJgF6AB4BwgGSAM4AlgBCAOYA8gGyAdoBugDaAQYBygC2ANIBE
gAKAQ4BHgECAMYBMgFzSAA4APgI4AyKAfa8QMAMjAyQDJQMmAycDKAMpAyoDKwMsAy0DLgMvAzADMQMy
AzMDNAM1AzYDNwM4AzkDOgM7AzwDPQM+Az8DQANBA0IDQwNEA0UDRgNHA0gDSQNKA0sDTANNA04DTwNQ
A1EDUoClgKaAp4CogKmAqoCrgKyArYCugK+AsICxgLKAs4C0gLWAtoC3gLiAuYC6gLuAvIC9gL6Av4DA
gMGAwoDDgMSAxYDGgMeAyIDJgMqAy4DMgM2AzoDPgNCA0YDSgNOA1BAiEA4T//////////0QMxAeEDYQ
MBAEEB8QDRAyEAwQFRAjECQQKxAuEB0QBRAtEDQQARA3ECEQEhALEBYQJhA1EDEQIBAUECgQJxAPEBMQ
KhA5ECkQLBAlEBEQLxA40gAOAD4AcwOBgE6g0gAOAD4COAOEgH2g0gAOAD4COAOHgH2g0gA3ADgDiQOK
ogOKADteTlNJQk9iamVjdERhdGEACAAZACIAJwAxADoAPwBEAFIAVABmAhsCIQJsAnMCegKIApoCtgLE
AtAC3ALqAvUDAwMfAy0DQANSA2wDdgODA4UDhwOJA4sDjQOPA5EDkwOVA5cDmQObA50DnwOhA6MDpQOn
A7ADvAO+A8AD2APhA+oD9QP6BAkEEgQlBC4EOQQ7BD4EQAR/BIwEpQSyBMgE1gTgBO4FBwUUBR4FMAVE
BU4FWgVcBV4FYAViBWQFZgVrBW0FbwVxBXMFdQV3BXkFewWWBaEFqQW0BdEF4wXuBfcGAwYMBhgGGgYc
Bh4GIQYjBiUGJwYwBjIGTwZRBlMGVQZXBlkGWwZdBl8GYQZjBmUGZwZpBmsGjAaUBpsGpQanBqkGqwat
BrAGsQazBrUGzQbuBvoHDgcZByMHMQc+B0oHTwdRB1MHVQdXB1kHXgdgB2oHeweCB4kHkgeUB50Hnweh
B64Htwe8B8MH2AfgB+0H+QgHCAkICwgNCA8IEQgYCCUIMgg6CDwIPghKCFMIWAhtCG8IcQhzCHUIiAiV
CJcImgijCKwIvgjLCNQI3wjrCPUI/AkICSkJKwktCS8JMQkyCTQJNglOCW8JcQlzCXUJdwl5CXsJhwmo
CaoJrAmuCbAJsQmzCbUJzAntCe8J8QnzCfUJ9wn5CgAKIQojCiUKJwopCioKLAouCkUKZgpoCmoKbApu
CnAKcgqACqEKowqlCqcKqQqsCq0KrwqxCssK7AruCvAK8gr0CvYK+wr9CwMLJAsmCygLKgssCy0LLwsx
C0sLbAtuC3ALcgt0C3YLeAuZC5sLnQufC6ELogukC6YLvwvgC+IL5AvmC+gL6gvsDA0MDwwRDBMMFQwW
DBgMGgwzDFQMVgxYDFoMXAxeDGAMgQyDDIUMhwyJDIoMjAyODKUMxgzIDMoMzAzODNAM0gzlDQYNCA0K
DQwNDg0PDRENEw0sDU0NTw1RDVMNVQ1XDVkNeg18DX4NgA2CDYMNhQ2HDaENwg3EDcYNyA3KDcwNzg3v
DfEN8w31DfcN+A36DfwOFg43DjkOOw49Dj8OQQ5DDmQOZg5oDmoObA5tDm8OcQ6KDqsOrQ6vDrEOsw61
DrcO2A7aDtwO3g7gDuMO5A7mDugPAQ8iDyQPJg8oDyoPLA8xDzMPUQ9aD2EPcA94D4EPiA+hD6wPuA/B
D8YP2Q/iD+kP9g/8EAUQBxAqECwQLhAwEDIQNBA2EDgQOhA8ED4QQBBCEEQQRhBIEEoQWxBpEHIQehB8
EH4QgBCCEJAQmRCgELcQxhDXENkQ2xDdEN8Q9hEHEQkRCxENEQ8RJRE2ETgROhE8ET4RRRFWEVgRWhFc
EV4RcRGCEYQRhhGIEYoRlhGnEakRqxGtEa8RvhHPEdER0xHVEdcR4BHxEfMR9RH3EfkSDRIeEiASIhIk
EiYSPhJPElESUxJVElcSahJ7En0SfxKBEoMSlRKmEqgSqhKsEq4SwBLREtMS1RLXEtkS6BL5EvsS/RL/
EwETFxMoEyoTLBMuEzATOxNEE0YThxOJE4sTjROPE5ETkxOVE5cTmRObE50TnxOhE6MTpROnE6kTqxOt
E68TsROzE7UTtxO5E7sTvRO/E8ETwxPFE84T0BPSE+AT6RPuE/cT+RQ6FDwUPhRAFEIURBRGFEgUShRM
FE4UUBRSFFQUVhRYFFoUXBReFGAUYhRkFGYUaBRqFGwUbhRwFHIUdBR2FHgUgRSDFMYUyBTKFMwUzhTQ
FNIU1BTWFNgU2hTcFN4U4BTiFOQU5hToFOoU7BTuFPAU8hT0FPYU+BT6FPwU/hUAFQIVBBUGFQ8VERVU
FVYVWBVaFVwVXhVgFWIVZBVmFWgVahVsFW4VcBVyFXQVdhV4FXoVfBV+FYAVghWEFYYViBWKFYwVjhWQ
FZIVlBW2FcMVzxXrFgsWKRZHFl0WdRaWFrEWzRb5FxUXMRdDF2gXfxeZF7MXzxfnGAMYGxgzGEsYWBhw
GIwYvBjUGPAY+Rj7GPwZBRkHGQgZERkTGXYZeBl6GXwZfhmAGYIZhBmGGYgZihmMGY4ZkBmSGZQZlhmY
GZoZnBmeGaAZohmkGaYZqBmqGawZrhmwGbIZtBm2GbgZuhm8Gb4ZwBnCGcQZxhnIGcoZzBnOGdAZ0hnU
GdYZ3xnhGkQaRhpIGkoaTBpOGlAaUhpUGlYaWBpaGlwaXhpgGmIaZBpmGmgaahpsGm4acBpyGnQadhp4
GnoafBp+GoAaghqEGoYaiBqKGowajhqQGpIalBqWGpgamhqcGp4aoBqiGqQaphqoGrEasxq1GrcauRq7
Gr0avxrBGsMaxRrHGskayxrNGs8a0RrTGtUa1xrZGtsa3RrfGuEa4xrlGuca6RrrGu0a7xrxGvMa9Rr3
Gvka+xr9Gv8bARsDGwwbDhsPGxgbGhsbGyQbJhsnGzAbNQAAAAAAAAICAAAAAAAAA4sAAAAAAAAAAAAA
AAAAABtEA</bytes>
</object>
</data>
</archive>

View File

@ -28,7 +28,8 @@
@interface StatsWindowController : NSWindowController
{
IBOutlet NSTextField * fUploadedField, * fUploadedAllField, * fDownloadedField, * fDownloadedAllField,
* fRatioField, * fRatioAllField, * fTimeField, * fTimeAllField, * fNumOpenedField;
* fRatioField, * fRatioAllField, * fTimeField, * fTimeAllField, * fNumOpenedField,
* fUploadedLabelField, * fDownloadedLabelField, * fRatioLabelField, * fTimeLabelField, * fNumOpenedLabelField;
NSTimer * fTimer;
}

View File

@ -57,6 +57,95 @@ tr_handle * fLib;
selector: @selector(updateStats) userInfo: nil repeats: YES];
[[NSRunLoop currentRunLoop] addTimer: fTimer forMode: NSModalPanelRunLoopMode];
[[NSRunLoop currentRunLoop] addTimer: fTimer forMode: NSEventTrackingRunLoopMode];
//set label text
[fUploadedLabelField setStringValue: NSLocalizedString(@"Uploaded:", "Stats window -> label")];
[fDownloadedLabelField setStringValue: NSLocalizedString(@"Downloaded:", "Stats window -> label")];
[fRatioLabelField setStringValue: NSLocalizedString(@"Ratio:", "Stats window -> label")];
[fTimeLabelField setStringValue: NSLocalizedString(@"Running Time:", "Stats window -> label")];
[fNumOpenedLabelField setStringValue: NSLocalizedString(@"Program Started:", "Stats window -> label")];
//size all elements
float oldWidth = [fUploadedLabelField frame].size.width;
[fUploadedLabelField sizeToFit];
[fDownloadedLabelField sizeToFit];
[fRatioLabelField sizeToFit];
[fTimeLabelField sizeToFit];
[fNumOpenedLabelField sizeToFit];
float maxWidth = MAX([fUploadedLabelField frame].size.width, [fDownloadedLabelField frame].size.width);
maxWidth = MAX(maxWidth, [fRatioLabelField frame].size.width);
maxWidth = MAX(maxWidth, [fTimeLabelField frame].size.width);
maxWidth = MAX(maxWidth, [fNumOpenedLabelField frame].size.width);
NSRect frame = [fUploadedLabelField frame];
frame.size.width = maxWidth;
[fUploadedLabelField setFrame: frame];
frame = [fDownloadedLabelField frame];
frame.size.width = maxWidth;
[fDownloadedLabelField setFrame: frame];
frame = [fRatioLabelField frame];
frame.size.width = maxWidth;
[fRatioLabelField setFrame: frame];
frame = [fTimeLabelField frame];
frame.size.width = maxWidth;
[fTimeLabelField setFrame: frame];
frame = [fNumOpenedLabelField frame];
frame.size.width = maxWidth;
[fNumOpenedLabelField setFrame: frame];
//size fields to correspond with labels
float change = maxWidth - oldWidth;
frame = [fUploadedField frame];
frame.size.width -= change;
frame.origin.x += change;
[fUploadedField setFrame: frame];
frame = [fUploadedAllField frame];
frame.size.width -= change;
frame.origin.x += change;
[fUploadedAllField setFrame: frame];
frame = [fDownloadedField frame];
frame.size.width -= change;
frame.origin.x += change;
[fDownloadedField setFrame: frame];
frame = [fDownloadedAllField frame];
frame.size.width -= change;
frame.origin.x += change;
[fDownloadedAllField setFrame: frame];
frame = [fRatioField frame];
frame.size.width -= change;
frame.origin.x += change;
[fRatioField setFrame: frame];
frame = [fRatioAllField frame];
frame.size.width -= change;
frame.origin.x += change;
[fRatioAllField setFrame: frame];
frame = [fTimeField frame];
frame.size.width -= change;
frame.origin.x += change;
[fTimeField setFrame: frame];
frame = [fTimeAllField frame];
frame.size.width -= change;
frame.origin.x += change;
[fTimeAllField setFrame: frame];
frame = [fNumOpenedField frame];
frame.size.width -= change;
frame.origin.x += change;
[fNumOpenedField setFrame: frame];
}
- (void) windowWillClose: (id)sender

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff