diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d56cb93 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +build/ +.DS_Store \ No newline at end of file diff --git a/English.lproj/Credits.rtf b/English.lproj/Credits.rtf new file mode 100755 index 0000000..46576ef --- /dev/null +++ b/English.lproj/Credits.rtf @@ -0,0 +1,29 @@ +{\rtf0\ansi{\fonttbl\f0\fswiss Helvetica;} +{\colortbl;\red255\green255\blue255;} +\paperw9840\paperh8400 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\b\fs24 \cf0 Engineering: +\b0 \ + Some people\ +\ + +\b Human Interface Design: +\b0 \ + Some other people\ +\ + +\b Testing: +\b0 \ + Hopefully not nobody\ +\ + +\b Documentation: +\b0 \ + Whoever\ +\ + +\b With special thanks to: +\b0 \ + Mom\ +} diff --git a/English.lproj/InfoPlist.strings b/English.lproj/InfoPlist.strings new file mode 100755 index 0000000..c3ffd09 Binary files /dev/null and b/English.lproj/InfoPlist.strings differ diff --git a/English.lproj/MainMenu.nib/designable.nib b/English.lproj/MainMenu.nib/designable.nib new file mode 100755 index 0000000..bee9f43 --- /dev/null +++ b/English.lproj/MainMenu.nib/designable.nib @@ -0,0 +1,3540 @@ + + + + 1050 + 9L31a + 629 + 949.54 + 353.00 + + YES + + + + + + YES + com.apple.InterfaceBuilderKit + com.apple.InterfaceBuilder.CocoaPlugin + + + YES + + NSApplication + + + FirstResponder + + + + + + AMainMenu + + YES + + + NewApplication + + 1048576 + 2147483647 + + NSImage + NSMenuCheckmark + + + + NSMenuMixedState + + submenuAction: + + + + YES + + + About NewApplication + + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + UHJlZmVyZW5jZXPigKY + , + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Services + + 1048576 + 2147483647 + + + submenuAction: + + + + YES + + _NSServicesMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Hide NewApplication + h + 1048576 + 2147483647 + + + + + + Hide Others + + 1572864 + 2147483647 + + + + + + Show All + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Quit NewApplication + q + 1048576 + 2147483647 + + + + + _NSAppleMenu + YES + + + + + File + + 1048576 + 2147483647 + + + submenuAction: + + + + YES + + + New + n + 1048576 + 2147483647 + + + + + + T3BlbuKApg + o + 1048576 + 2147483647 + + + + + + Open Recent + + 1048576 + 2147483647 + + + submenuAction: + + + + YES + + + Clear Menu + + 1048576 + 2147483647 + + + + + _NSRecentDocumentsMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Close + w + 1048576 + 2147483647 + + + + + + Save + s + 1048576 + 2147483647 + + + + + + U2F2ZSBBc+KApg + S + 1179648 + 2147483647 + + + + + + Revert to Saved + + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Page Setup... + P + 1179648 + 2147483647 + + + + + + + UHJpbnTigKY + p + 1048576 + 2147483647 + + + + + + + + + Edit + + 1048576 + 2147483647 + + + submenuAction: + + + + YES + + + Undo + z + 1048576 + 2147483647 + + + + + + Redo + Z + 1179648 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Cut + x + 1048576 + 2147483647 + + + + + + Copy + c + 1048576 + 2147483647 + + + + + + Paste + v + 1048576 + 2147483647 + + + + + + Delete + + 1048576 + 2147483647 + + + + + + Select All + a + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Find + + 1048576 + 2147483647 + + + submenuAction: + + + + YES + + + RmluZOKApg + f + 1048576 + 2147483647 + + + 1 + + + + Find Next + g + 1048576 + 2147483647 + + + 2 + + + + Find Previous + G + 1179648 + 2147483647 + + + 3 + + + + Use Selection for Find + e + 1048576 + 2147483647 + + + 7 + + + + Jump to Selection + j + 1048576 + 2147483647 + + + + + + + + + Spelling and Grammar + + 1048576 + 2147483647 + + + submenuAction: + + + + YES + + + U2hvdyBTcGVsbGluZ+KApg + : + 1048576 + 2147483647 + + + + + + Check Spelling + ; + 1048576 + 2147483647 + + + + + + Check Spelling While Typing + + 1048576 + 2147483647 + + + + + + Check Grammar With Spelling + + 1048576 + 2147483647 + + + + + + + + + Substitutions + + 1048576 + 2147483647 + + + submenuAction: + + + + YES + + + Smart Copy/Paste + + 1048576 + 2147483647 + + + 1 + + + + Smart Quotes + + 1048576 + 2147483647 + + + 2 + + + + Smart Links + + 1179648 + 2147483647 + + + 3 + + + + + + + Speech + + 1048576 + 2147483647 + + + submenuAction: + + + + YES + + + Start Speaking + + 1048576 + 2147483647 + + + + + + Stop Speaking + + 1048576 + 2147483647 + + + + + + + + + + + + Format + + 1048576 + 2147483647 + + + submenuAction: + + + + YES + + + Show Fonts + t + 1048576 + 2147483647 + + + + + + Show Colors + C + 1179648 + 2147483647 + + + + + + + + + View + + 1048576 + 2147483647 + + + submenuAction: + + + + YES + + + Show Toolbar + + 1572864 + 2147483647 + + + + + + Q3VzdG9taXplIFRvb2xiYXLigKY + + 1048576 + 2147483647 + + + + + + + + + Window + + 1048576 + 2147483647 + + + submenuAction: + + + + YES + + + Minimize + m + 1048576 + 2147483647 + + + + + + Zoom + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Bring All to Front + + 1048576 + 2147483647 + + + + + _NSWindowsMenu + + + + + Help + + 1048576 + 2147483647 + + + submenuAction: + + + + YES + + + NewApplication Help + ? + 1048576 + 2147483647 + + + + + + + + _NSMainMenu + + + AppDelegate + + + PreferencesController + + + 15 + 2 + {{196, 200}, {327, 310}} + 603979776 + Preferences + NSWindow + + + 1F33A33C-BBD0-4102-975C-19347706B1DE + + + YES + NO + YES + YES + 1 + 1 + + YES + + YES + 648B7DBA-B267-404C-93B4-703AB0578480 + DCA1A5F7-8FB9-46E9-A80F-46A96866B971 + NSToolbarShowColorsItem + + + YES + + + 648B7DBA-B267-404C-93B4-703AB0578480 + + Server + + + + + + NSNetwork + + + + {0, 0} + + YES + YES + -1 + YES + 0 + + + + DCA1A5F7-8FB9-46E9-A80F-46A96866B971 + + Account + + + + + + NSUser + + + + + + YES + YES + -1 + YES + 0 + + + NSToolbarShowColorsItem + Colori + + Mostra il pannello dei colori + + + 683671552 + {32, 32} + + YES + + YES + + + + TU0AKgAAEAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACCQEOEzkMUylkF5BChyLCWqEq6G+wL/1voSro +ZYciwlFkGJAyOQxTCAkBDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkEPXiWEIbtJyTf/Yt9C/370Tf+d/lf/ +tv9c/77+V/+/9E7/u99C/7XJOf9+hCK7QUAOXgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxQHHRZjIY42zEH+RvBI/2r/W/9//2D/ +kf9k/6L/Zv+w/mf/wf9m/9T/Zv/l/2H//v9e/+/ySv/Mwzj+Y1kXjhQRAx0AAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMUCR0adDOgP91f/1n/c/9c/2P/ +aP5i/4P+bv+Y/nL/qP53/7r+d//K/nb/2P5z/+f+bv/5/2f///9i///8W//dwD//dF4coBQPAx0AAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFmM0jj7dc/9Z/4r/ +Yf5//2z+ff9y/nX/iP59/6H+hf+w/on/wf6K/9H+if/g/ob/7/6A////eP//823//uNk///kXf/drT// +Y0cXjgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1BKF41zHv+ +WP+m/2H+mP9s/pb/eP6T/4L+jf+P/or/p/6V/7j+mv/L/p3/2/6a/+f+lv/8/5D///uH//7pe//+3G// +/sxk///MXf/Mizj+QSkOXgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCQYO +IIRau0fwov9d/6//a/6q/3j+qv+H/qj/k/6l/5r+nv+s/qL/wv6q/9T+rP/i/qv/8v+m////n//+8ZX/ +/uGK//7Se//+w23//7hh//CdSv+ETiK7CQUBDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAw5K1M2yZX/Wv/K/2P+vv90/rz/hP67/5L+uv+f/rr/qf60/7L+sP/K/rr/2/69/+z+u//8/7X/ +//mt//7nov/+2Jb//sqJ//65eP/+q2f//6Re/8htOf85GwxSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAFmRRkD7ftv9d/9f/a/7O/3r+zv+M/s//mv7N/6r+zP+3/s3/wP7F/87+yP/l/s// +9v/N////xP/+7bv//t6t//7Qn//+v5D//q+A//6fbv//lGH/321C/2MrGI8AAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAfh3fCSfTW/2D/4/9v/t//g/7f/5H+3/+k/t//sv7g/8H+3v/Q/t7/ +2P7Z/+3+4P///93///fT//7kxP/+17T//sSo//61l//+pYb//pRz//+FZv/0bU7/hzIiwgAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACihmehT/vn/Yv/z/3L/8f+F//H/lv/z/6f/8/+3//H/ +yf/x/9n/8v/o//D/+P/x///97f/+6dv//tnK//7Iuv/+tqr//qeZ//6WiP/+hXb//3Nl//5jVv+hMyno +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK62w/Vb///9j/v//dP7//4b+//+X/v// +qP7//7f+///L/v//3P7//+////////////L0//7e4P/+zc///ru9//6qrP/+mZv//oiK//51d//+ZWf/ +/1pc/7AvMf0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAolqHoUfX+/2Hu//9x7f7/ +hO3+/5ft/v+m7f7/tu3+/8jt/v/X7P7/5Or+//Xt////6f///tvt//7K3f/+usv//qq7//6YrP/+h5r/ +/neK//9md//+VWj/oSk26AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB91h8JJ0fT/ +Yd///27b/v+A2/7/kdv+/6Hc/v+w2v7/wNv+/8rX/v/V1P7/69z+//7Z////0Pn//sLm//602P/+pcj/ +/pW3//6EqP/+cpb//2WJ//RNcP+HIjTCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +FlBkkD+x3/9a0f//asr+/3rL/v+Kyf7/mcr+/6fH/v+0x/7/u8D+/83F/v/ky/7/8sn///+////+uPD/ +/qng//6d0f/+jsP//n6y//5uov//Xpf/30Jx/2MXLI8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAALKjlTNJLJ/1jG//9huP7/crf+/4G2/v+Ptf7/nLP+/6av/v+xrP7/yLb+/9q3/v/qt/7/ ++7L///+q+//+n+n//pPa//6Fy//+dLz//mWu//9cqP/IN3D/OAwbUgAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAEGCQ4eWIS7RZ3w/1us//9npf7/daX+/4Wj/v+OoP7/l5j+/6qg/v/Apv7/ +0Kj+/+Cn/v/wpP7//5r///+S8//+h+P//njU//5sxf//X7r/8Emd/4QhT7sJAQUOAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0mQV4zd8z+V6D//16T/v9pkf7/dY7+/3+G/v+Nh/7/ +pZH+/7aX/v/Jl/7/2Zb+/+aR/v/3jP///4L+//556//+bN7//mHO//9Zzv/MNo3+QA0pXQAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUyY446bt3/VoX//156/v9ndv7/ +bm7+/4d3/v+fgv7/roP+/7+G/v/Phf7/3oL+/+18/v//dP///2v2//5h5f//Web/3T2u/2MWSI4AAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwgUHRkwdKA6WN3/ +VWz//1le//9nX/7/gWr+/5Ru/v+ncf7/tnT+/8hy/v/Wb/7/5mr+//Rj////Xf///1j+/90+wv90Gl+g +EwMOHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +BAcWHxciaJMzPMz+RkTw/2hY//98Wv//j2H//6Bh//+uY/7/v2L//9Jg///jXf///Fr//+5H8v/MNcX+ +aBhdkxUEEh4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAACAAAABRMTU3QoI5TMSDPI/2FA3/9+SfT/mVH+/7RW//+8U/7/vUn0/7o+3/+zNcj/ +jSSUzFMSUnMAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAQIAAAkFAAAVCAAAIg8EEkEmFl+UPCGOyE8op+dgK7D3biux/ncrsPd9KKfn +dSGOyFkWX5QbBBJBCAAAIgUAABUCAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABgIAABAFAAAcCAAAKQwAADkRAABIFQAAVRgAAF0YAABf +GAAAXRUAAFURAABIDAAAOQgAACkFAAAcAgAAEAAAAAYAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAUAAAAIAAAACwAAAA4AAAAS +AAAAFAAAABUAAAAUAAAAEgAAAA4AAAALAAAACAAAAAUAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0BAAADAAAAAQAgAAABAQADAAAAAQAgAAABAgADAAAABAAA +EKoBAwADAAAAAQABAAABBgADAAAAAQACAAABEQAEAAAAAQAAAAgBEgADAAAAAQABAAABFQADAAAAAQAE +AAABFgADAAAAAQAgAAABFwAEAAAAAQAAEAABHAADAAAAAQABAAABUgADAAAAAQABAAABUwADAAAABAAA +ELIAAAAAAAgACAAIAAgAAQABAAEAAQ + + + + + + 3 + MCAwAA + + + + orderFrontColorPanel: + + + YES + YES + -1 + YES + 0 + + + + + YES + + + + + + YES + + + + + YES + + + {327, 310} + + + 256 + + YES + + + 274 + {327, 310} + + + NSView + + + {327, 310} + + + + {{0, 0}, {1280, 1002}} + {327, 387} + + + + 268 + + YES + + + 266 + {{20, 52}, {287, 22}} + + + YES + + -1267597759 + 272630784 + + + LucidaGrande + 1.300000e+01 + 1044 + + U2VydmVyJ3MgdXNlcm5hbWU + + YES + + 6 + System + textBackgroundColor + + 3 + MQA + + + + 6 + + textColor + + 3 + MAA + + + + + + + 266 + {{17, 157}, {293, 17}} + + + YES + + 67239488 + 272630784 + Server Settings + + + + 6 + + controlColor + + 3 + MC42NjY2NjY2OQA + + + + 6 + + controlTextColor + + + + + + + 266 + {{20, 20}, {287, 22}} + + + YES + + -1267597759 + 272630784 + + + U2VydmVyJ3MgcGFzc3dvcmQ + + YES + + + + + + + 266 + {{20, 127}, {183, 22}} + + + YES + + -1804468671 + 272630784 + + + Address + + YES + + + + + + + 266 + {{211, 127}, {96, 22}} + + + YES + + -1804468671 + 272630784 + + + Port + + YES + + + + + + + 268 + {{18, 80}, {291, 32}} + + + YES + + 67239424 + 0 + U2VydmVyJ3MgQXV0aGVudGljYXRpb24 + + + 1211912703 + 130 + + + NSSwitch + + + NSSwitch + + + + 200 + 25 + + + + + 12 + {{20, 116}, {287, 5}} + + + + + 67239424 + 0 + Box + + + + 3 + MCAwLjgwMDAwMDAxAA + + + 3 + 2 + 0 + NO + + + {327, 194} + + + + + + + 268 + + YES + + + 266 + {{17, 82}, {293, 17}} + + YES + + 67239488 + 272630784 + Reverso Account + + + + + + + + + 266 + {{20, 52}, {287, 22}} + + YES + + -1804468671 + 272630784 + + + Email + + YES + + + + + + + 266 + {{20, 20}, {287, 22}} + + YES + + -1804468671 + 272630784 + + + Password + + YES + + + + + + {327, 119} + + + + + + YES + + + performMiniaturize: + + + + 37 + + + + arrangeInFront: + + + + 39 + + + + runPageLayout: + + + + 87 + + + + clearRecentDocuments: + + + + 127 + + + + orderFrontStandardAboutPanel: + + + + 142 + + + + performClose: + + + + 193 + + + + toggleContinuousSpellChecking: + + + + 222 + + + + undo: + + + + 223 + + + + copy: + + + + 224 + + + + checkSpelling: + + + + 225 + + + + paste: + + + + 226 + + + + stopSpeaking: + + + + 227 + + + + cut: + + + + 228 + + + + showGuessPanel: + + + + 230 + + + + redo: + + + + 231 + + + + selectAll: + + + + 232 + + + + startSpeaking: + + + + 233 + + + + delete: + + + + 235 + + + + performZoom: + + + + 240 + + + + performFindPanelAction: + + + + 241 + + + + centerSelectionInVisibleArea: + + + + 245 + + + + toggleGrammarChecking: + + + + 347 + + + + toggleSmartInsertDelete: + + + + 355 + + + + toggleAutomaticQuoteSubstitution: + + + + 356 + + + + toggleAutomaticLinkDetection: + + + + 357 + + + + showHelp: + + + + 360 + + + + orderFrontColorPanel: + + + + 361 + + + + saveDocument: + + + + 362 + + + + saveDocumentAs: + + + + 363 + + + + revertDocumentToSaved: + + + + 364 + + + + runToolbarCustomizationPalette: + + + + 365 + + + + toggleToolbarShown: + + + + 366 + + + + hide: + + + + 367 + + + + hideOtherApplications: + + + + 368 + + + + terminate: + + + + 369 + + + + unhideAllApplications: + + + + 370 + + + + openDocument: + + + + 372 + + + + printDocument: + + + + 373 + + + + showWindow: + + + + 384 + + + + window + + + + 410 + + + + toolbar + + + + 440 + + + + mainWindow + + + + 453 + + + + accountPanel: + + + + 462 + + + + serverPanel: + + + + 463 + + + + accountView + + + + 464 + + + + serverView + + + + 465 + + + + mainView + + + + 466 + + + + portField + + + + 469 + + + + addressField + + + + 470 + + + + serverUsername + + + + 471 + + + + serverPassword + + + + 472 + + + + delegate + + + + 473 + + + + authRadio + + + + 478 + + + + toggleAuth: + + + + 479 + + + + + YES + + 0 + + YES + + + + + + -2 + + + RmlsZSdzIE93bmVyA + + + -1 + + + First Responder + + + -3 + + + Application + + + 29 + + + YES + + + + + + + + + + MainMenu + + + 19 + + + YES + + + + + + 56 + + + YES + + + + + + 103 + + + YES + + + + 1 + + + 217 + + + YES + + + + + + 83 + + + YES + + + + + + 81 + + + YES + + + + + + + + + + + + + + + + 75 + + + 3 + + + 80 + + + 8 + + + 78 + + + 6 + + + 72 + + + + + 82 + + + 9 + + + 124 + + + YES + + + + + + 77 + + + 5 + + + 73 + + + + + + 79 + + + 7 + + + 112 + + + 10 + + + 74 + + + 2 + + + 125 + + + YES + + + + + + 126 + + + + + 205 + + + YES + + + + + + + + + + + + + + + + + + 202 + + + + + 198 + + + + + 207 + + + + + 214 + + + + + 199 + + + + + 203 + + + + + 197 + + + + + 206 + + + + + 215 + + + + + 218 + + + YES + + + + + + 216 + + + YES + + + + + + 200 + + + YES + + + + + + + + + 219 + + + + + 201 + + + + + 204 + + + + + 220 + + + YES + + + + + + + + + + 213 + + + + + 210 + + + + + 221 + + + + + 208 + + + + + 209 + + + + + 106 + + + YES + + + + + + + 111 + + + + + 57 + + + YES + + + + + + + + + + + + + + + + 58 + + + + + 134 + + + + + 150 + + + + + 136 + + + 1111 + + + 144 + + + + + 129 + + + 121 + + + 143 + + + + + 236 + + + + + 131 + + + YES + + + + + + 149 + + + + + 145 + + + + + 130 + + + + + 24 + + + YES + + + + + + + + + 92 + + + + + 5 + + + + + 239 + + + + + 23 + + + + + 295 + + + YES + + + + + + 296 + + + YES + + + + + + + 297 + + + + + 298 + + + + + 299 + + + YES + + + + + + 300 + + + YES + + + + + + + 344 + + + + + 345 + + + + + 211 + + + YES + + + + + + 212 + + + YES + + + + + + + 195 + + + + + 196 + + + + + 346 + + + + + 348 + + + YES + + + + + + 349 + + + YES + + + + + + + + 350 + + + + + 351 + + + + + 354 + + + + + 378 + + + + + 380 + + + + + 385 + + + YES + + + + + + + 386 + + + YES + + + + + + 411 + + + YES + + + + + + + + 419 + + + YES + + + + + + + + + + + + 420 + + + YES + + + + + + 421 + + + YES + + + + + + 422 + + + YES + + + + + + 423 + + + YES + + + + + + 424 + + + YES + + + + + + 427 + + + + + 428 + + + + + 429 + + + + + 430 + + + + + 431 + + + + + 432 + + + YES + + + + + + + + 433 + + + YES + + + + + + 434 + + + YES + + + + + + 435 + + + YES + + + + + + 436 + + + + + 437 + + + + + 438 + + + + + 454 + + + + + 456 + + + + + + 457 + + + + + 459 + + + + + 474 + + + YES + + + + + + 475 + + + + + 476 + + + + + + + YES + + YES + -1.IBPluginDependency + -2.IBPluginDependency + -3.IBPluginDependency + 103.IBPluginDependency + 103.ImportedFromIB2 + 106.IBPluginDependency + 106.ImportedFromIB2 + 106.editorWindowContentRectSynchronizationRect + 111.IBPluginDependency + 111.ImportedFromIB2 + 112.IBPluginDependency + 112.ImportedFromIB2 + 124.IBPluginDependency + 124.ImportedFromIB2 + 125.IBPluginDependency + 125.ImportedFromIB2 + 125.editorWindowContentRectSynchronizationRect + 126.IBPluginDependency + 126.ImportedFromIB2 + 129.IBPluginDependency + 129.ImportedFromIB2 + 130.IBPluginDependency + 130.ImportedFromIB2 + 130.editorWindowContentRectSynchronizationRect + 131.IBPluginDependency + 131.ImportedFromIB2 + 134.IBPluginDependency + 134.ImportedFromIB2 + 136.IBPluginDependency + 136.ImportedFromIB2 + 143.IBPluginDependency + 143.ImportedFromIB2 + 144.IBPluginDependency + 144.ImportedFromIB2 + 145.IBPluginDependency + 145.ImportedFromIB2 + 149.IBPluginDependency + 149.ImportedFromIB2 + 150.IBPluginDependency + 150.ImportedFromIB2 + 19.IBPluginDependency + 19.ImportedFromIB2 + 195.IBPluginDependency + 195.ImportedFromIB2 + 196.IBPluginDependency + 196.ImportedFromIB2 + 197.IBPluginDependency + 197.ImportedFromIB2 + 198.IBPluginDependency + 198.ImportedFromIB2 + 199.IBPluginDependency + 199.ImportedFromIB2 + 200.IBPluginDependency + 200.ImportedFromIB2 + 200.editorWindowContentRectSynchronizationRect + 201.IBPluginDependency + 201.ImportedFromIB2 + 202.IBPluginDependency + 202.ImportedFromIB2 + 203.IBPluginDependency + 203.ImportedFromIB2 + 204.IBPluginDependency + 204.ImportedFromIB2 + 205.IBPluginDependency + 205.ImportedFromIB2 + 205.editorWindowContentRectSynchronizationRect + 206.IBPluginDependency + 206.ImportedFromIB2 + 207.IBPluginDependency + 207.ImportedFromIB2 + 208.IBPluginDependency + 208.ImportedFromIB2 + 209.IBPluginDependency + 209.ImportedFromIB2 + 210.IBPluginDependency + 210.ImportedFromIB2 + 211.IBPluginDependency + 211.ImportedFromIB2 + 212.IBPluginDependency + 212.ImportedFromIB2 + 212.editorWindowContentRectSynchronizationRect + 213.IBPluginDependency + 213.ImportedFromIB2 + 214.IBPluginDependency + 214.ImportedFromIB2 + 215.IBPluginDependency + 215.ImportedFromIB2 + 216.IBPluginDependency + 216.ImportedFromIB2 + 217.IBPluginDependency + 217.ImportedFromIB2 + 218.IBPluginDependency + 218.ImportedFromIB2 + 219.IBPluginDependency + 219.ImportedFromIB2 + 220.IBPluginDependency + 220.ImportedFromIB2 + 220.editorWindowContentRectSynchronizationRect + 221.IBPluginDependency + 221.ImportedFromIB2 + 23.IBPluginDependency + 23.ImportedFromIB2 + 236.IBPluginDependency + 236.ImportedFromIB2 + 239.IBPluginDependency + 239.ImportedFromIB2 + 24.IBPluginDependency + 24.ImportedFromIB2 + 24.editorWindowContentRectSynchronizationRect + 29.IBPluginDependency + 29.ImportedFromIB2 + 29.WindowOrigin + 29.editorWindowContentRectSynchronizationRect + 295.IBPluginDependency + 296.IBPluginDependency + 296.editorWindowContentRectSynchronizationRect + 297.IBPluginDependency + 298.IBPluginDependency + 299.IBPluginDependency + 300.IBPluginDependency + 300.editorWindowContentRectSynchronizationRect + 344.IBPluginDependency + 345.IBPluginDependency + 346.IBPluginDependency + 346.ImportedFromIB2 + 348.IBPluginDependency + 348.ImportedFromIB2 + 349.IBPluginDependency + 349.ImportedFromIB2 + 349.editorWindowContentRectSynchronizationRect + 350.IBPluginDependency + 350.ImportedFromIB2 + 351.IBPluginDependency + 351.ImportedFromIB2 + 354.IBPluginDependency + 354.ImportedFromIB2 + 378.IBPluginDependency + 380.IBPluginDependency + 385.IBPluginDependency + 385.IBWindowTemplateEditedContentRect + 385.NSWindowTemplate.visibleAtLaunch + 385.editorWindowContentRectSynchronizationRect + 385.windowTemplate.hasMinSize + 385.windowTemplate.minSize + 386.IBPluginDependency + 411.IBPluginDependency + 411.editorWindowContentRectSynchronizationRect + 419.IBPluginDependency + 419.editorWindowContentRectSynchronizationRect + 420.IBPluginDependency + 421.IBPluginDependency + 422.IBPluginDependency + 423.IBPluginDependency + 424.IBPluginDependency + 427.IBPluginDependency + 428.IBPluginDependency + 429.IBPluginDependency + 430.IBPluginDependency + 431.IBPluginDependency + 432.IBPluginDependency + 432.editorWindowContentRectSynchronizationRect + 433.IBPluginDependency + 434.IBPluginDependency + 435.IBPluginDependency + 436.IBPluginDependency + 437.IBPluginDependency + 438.IBPluginDependency + 454.IBPluginDependency + 456.IBPluginDependency + 457.IBPluginDependency + 459.IBPluginDependency + 474.IBPluginDependency + 475.IBPluginDependency + 476.IBPluginDependency + 5.IBPluginDependency + 5.ImportedFromIB2 + 56.IBPluginDependency + 56.ImportedFromIB2 + 57.IBPluginDependency + 57.ImportedFromIB2 + 57.editorWindowContentRectSynchronizationRect + 58.IBPluginDependency + 58.ImportedFromIB2 + 72.IBPluginDependency + 72.ImportedFromIB2 + 73.IBPluginDependency + 73.ImportedFromIB2 + 74.IBPluginDependency + 74.ImportedFromIB2 + 75.IBPluginDependency + 75.ImportedFromIB2 + 77.IBPluginDependency + 77.ImportedFromIB2 + 78.IBPluginDependency + 78.ImportedFromIB2 + 79.IBPluginDependency + 79.ImportedFromIB2 + 80.IBPluginDependency + 80.ImportedFromIB2 + 81.IBPluginDependency + 81.ImportedFromIB2 + 81.editorWindowContentRectSynchronizationRect + 82.IBPluginDependency + 82.ImportedFromIB2 + 83.IBPluginDependency + 83.ImportedFromIB2 + 92.IBPluginDependency + 92.ImportedFromIB2 + + + YES + + + + + + + + {{596, 852}, {216, 23}} + + + + + + + + + {{354, 897}, {146, 23}} + + + + + + + {{436, 809}, {64, 6}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{608, 612}, {275, 83}} + + + + + + + + + + + {{197, 734}, {243, 243}} + + + + + + + + + + + + + + + {{608, 612}, {167, 43}} + + + + + + + + + + + + + + + + + {{608, 612}, {241, 103}} + + + + + + + + + + + {{525, 802}, {197, 73}} + + + {74, 862} + {{11, 960}, {478, 20}} + + + {{475, 832}, {234, 43}} + + + + + {{409, 832}, {176, 43}} + + + + + + + + + {{608, 612}, {215, 63}} + + + + + + + + + + {{287, 477}, {327, 310}} + + + + {327, 310} + + + {{66, 628}, {617, 0}} + + {{389, 92}, {327, 194}} + + + + + + + + + + + + {{21, 827}, {327, 119}} + + + + + + + + + + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + + + + + + {{23, 777}, {245, 183}} + + + + + + + + + + + + + + + + + + + + + {{155, 757}, {199, 203}} + + + + + + + + + + YES + + YES + + + YES + + + + + YES + + YES + + + YES + + + + 479 + + + + YES + + PreferencesController + NSWindowController + + YES + + YES + accountPanel: + closeDrawer: + open: + serverPanel: + + updateInformations: + + + YES + id + + + + + + + + + YES + + YES + accountPassword + accountUsername + accountView + addressField + authRadio + mainView + mainWindow + portField + serverPassword + serverUsername + serverView + toolbar + + + YES + NSTextField + + + + NSButton + + + + + + + NSToolbar + + + + IBProjectSource + PreferencesController.h + + + + + 0 + ../../Reverso Context.xcodeproj + 3 + + YnBsaXN0MDDUAAEAAgADAAQABQAGAAkAClgkdmVyc2lvblQkdG9wWSRhcmNoaXZlclgkb2JqZWN0cxIA +AYag0QAHAAhdSUIub2JqZWN0ZGF0YYABXxAPTlNLZXllZEFyY2hpdmVyrxEC8gALAAwAMQA1ADYAPAA9 +AEEARQB+AIQAlACZAJoAmwCgAKEAogClAKkAqgCtAK4AsgC4ALsAvADMANcACwDYAOwA7QD1APYA+QD6 +AQQBBQEGAQsBDQESARMBFgEaASABIQEkASgBMAE1ATYBNwE7AUIBRgFHAUgBSQFNAVQBVQFWAVsBcwF0 +AMIBdQGOAZIBlgGhAaIBowGkAcQBxgHHAcsBzAHNAdAB3wHhAeIB5gHnAaMB9gH3AfgCAAIBAgUBtAIK +Ag4CDwITAhYCGQIcAh4CHwIjAikCLgIxAjQCNQALAj0CQQI0AR4CSQI0AAsCTAJOAk8CUAJTAlQCWAJf +AmMCZAJlAmoCcgJzAn0CfgJ/AoQCjAKNAqMCpAKoAqkCqAKtAOwCsAKzArYCtwK7AsICyQLKAssCzALQ +AtcC2wLcAt0C3gLiAukC7QLuAu8C8wL7Av8DAAMBAwIDBgMNAxEDEgMTAxQDGQMhAyIDKwMsAy0DMgMz +AzgDPgNEA0sDTANUA1UDWgNbA14DYwNkA2sDbAN1A3YCcgN9A4YDhwOIA4kDjQOUA5UDlgOXA5sDogOj +A6QDpQOpA7ADtAO1A7YDuwPFA2sDzQPWA9cD3wPgA+cD6AP4A/kD/wQABAMEBgALBAcECAQMBBMEFAQV +BBYEGgQhBCIEIwQkBCgELwQwBDEENgQ3BDsEQgRDBEQESQRQBFEEUgRTBFcEXgRfBGAEYQRlBGwEbQRu +BG8EcwR6BHsEfAR9BIEEiQSKBIsEjASQBJcEmASZBJoEnwSgBKQEqwSsBK0EsgSzBLgEuQS+BL8EwwTK +BMsEzATNBNEE2ATdBN4E3wTjBOoE7gTvAh4E8AT0BPsE/AT9BP4FAgUJBQoFCwUQBREFFQUcBR0FHgUf +BSQFJQUqBTEFMgUzBTcFPgU/BUAFQQVFBUwFTQVOBU8FUwVaBVsFXAVgBWcFaAVpBWoFbgV1BXYFdwV7 +BYIFgwWEBYUFiQWSBZMFlAWVBZkFoAWhBaIGFAYVBhoGHAYnBiwGLQYwBjEGMgY3BkIGRwZIBkkGTgZV +BlYGVwZlBmwGbQZuBncGSAZ4BnwGfQaGBo8GmAZIBpkGpwawBrkGSAbCBssG1AbVBtwG3QbeBugGSAbx +BvoGSAb7BwsHFAcdBkgHHgcmBy0HLgc2BzcHOAdBBkgHQgdJB1IGSAdTB1kGSAdiBkgHawd0BkgHdQd8 +B4UHhgePBkgHkAeUB5UHmAebB5wIDgiBCPQI9Qj2CPcI+Aj5CPoI+wj8CP0I/gj/CQAJAQkCCQMJBAkF +CQYJBwkICQkJCgkLCQwJDQkOCQ8JEAkRCRIJEwkUCRUJFgkXCRgJGQkaCRsJHAkdCR4JHwkgCSEJIgkj +CSQJJQkmCScJKAkpCSoJKwksCS0JLgkvCTAJMQkyCTMJNAk1CTYJNwk4CTkJOgk7CTwJPQk+CT8JQAlB +CUIJQwlECUUJRglHCUgJSQlKCUsJTAlNCU4JTwlQCVEJUglTCVQJVQlWCVcJWAlZCVoJWwlcCV0JXglf +CWAJYQliCWMJZglpChIKuwq8Cr0Kvgq/CsAKwQrCCsMKxAKbCsUKxgrHCsgKyQrKCssKzArNCs4KzwrQ +CtEK0grTCtQK1QrWCtcK2ArZCtoK2wrcCt0K3grfCuAK4QriCuMK5ArlCuYK5wroCukK6grrCuwK7Qru +Cu8K8ArxCvIK8wr0CvUK9gr3CvgK+Qr6CvsK/Ar9Cv4K/wsACwELAgsDCwQLBQsGCwcLCAsJCwoLCwsM +Cw0LDgsPCxALEQsSCxMLFAsVCxYLFwsYCxkLGgsbCxwLHQseCx8LIAshCyILIwskCyULJgsnCygLKQsq +CysLLAstCy4LLwswCzELMgszCzQLNQs2CzcLOAs5CzoLOws8Cz0LPgs/C0ALQQtCC0MLRAtFC0YLRwtI +C0kLSgtLC0wLTQtOC08LUAtRC1ILUwtUC1ULVgtXC1gLWQtaC1sLXAtdC14CoQtfC2ILZQtoVSRudWxs +3xASAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgA +KQAqACsALAAtAC4ALwAwVk5TUm9vdFYkY2xhc3NdTlNPYmplY3RzS2V5c18QD05TQ2xhc3Nlc1ZhbHVl +c18QGU5TQWNjZXNzaWJpbGl0eU9pZHNWYWx1ZXNdTlNDb25uZWN0aW9uc1tOU05hbWVzS2V5c1tOU0Zy +YW1ld29ya11OU0NsYXNzZXNLZXlzWk5TT2lkc0tleXNdTlNOYW1lc1ZhbHVlc18QGU5TQWNjZXNzaWJp +bGl0eUNvbm5lY3RvcnNdTlNGb250TWFuYWdlcl8QEE5TVmlzaWJsZVdpbmRvd3NfEA9OU09iamVjdHNW +YWx1ZXNfEBdOU0FjY2Vzc2liaWxpdHlPaWRzS2V5c1lOU05leHRPaWRcTlNPaWRzVmFsdWVzgAKBAvGB +AXuBAkWBAvCACIEB04AFgQJEgQJGgQHUgQLugACABoEB0oEC7xEB4YECR9IADgAyADMANFtOU0NsYXNz +TmFtZYAEgANdTlNBcHBsaWNhdGlvbtIANwA4ADkAOlgkY2xhc3Nlc1okY2xhc3NuYW1logA6ADteTlND +dXN0b21PYmplY3RYTlNPYmplY3RfEBBJQkNvY29hRnJhbWV3b3Jr0gAOAD4APwBAWk5TLm9iamVjdHOA +B6DSADcAOABCAEOjAEMARAA7XE5TTXV0YWJsZVNldFVOU1NldNIADgA+AEYAR4BkrxA2AEgASQBKAEsA +TABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkA +agBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9gAmAF4AwgDWAO4A/gHyAgYCHgJWA +m4ChgKaArICygLiAuoDQgNWA2oDfgPKA94D8gQEAgQECgQEGgQELgQEQgQEVgQEagQEfgQEkgQEmgQEq +gQEsgQEugQEwgQE1gQE6gQFAgQFFgQFJgQFLgQFQgQFSgQFWgQFbgQFggQFkgQFpgQFtgQFygQF30wAO +AH8AgACBAIIAg1hOU1NvdXJjZVdOU0xhYmVsgBaACoAV2AAOAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQ +AJEAkgCTV05TVGl0bGVfEBFOU0tleUVxdWl2TW9kTWFza1pOU0tleUVxdWl2XU5TTW5lbW9uaWNMb2NZ +TlNPbkltYWdlXE5TTWl4ZWRJbWFnZVZOU01lbnWAFIAMEgASAACADRJ/////gA6AEoAL0wAOAIUAlQCW +AJcAmFtOU01lbnVJdGVtc4EBfoEBq4EBrVRSZWRvUVrTAA4AMgCcAJ0AngCfXk5TUmVzb3VyY2VOYW1l +gBGAD4AQV05TSW1hZ2VfEA9OU01lbnVDaGVja21hcmvSADcAOACjAKSiAKQAO18QEE5TQ3VzdG9tUmVz +b3VyY2XTAA4AMgCcAJ0AngCogBGAD4ATXxAQTlNNZW51TWl4ZWRTdGF0ZdIANwA4AKsArKIArAA7Wk5T +TWVudUl0ZW1VcmVkbzrSADcAOACvALCjALAAsQA7XxAVTlNOaWJDb250cm9sQ29ubmVjdG9yXk5TTmli +Q29ubmVjdG9y1AAOALMAfwCAALQAtQC2ALddTlNEZXN0aW5hdGlvboAvgBqAGIAu0gAOADIAMwC6gASA +GV8QFVByZWZlcmVuY2VzQ29udHJvbGxlctgAvQAOAL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAxF8Q +D05TTmV4dFJlc3BvbmRlcldOU0ZyYW1lVk5TQ2VsbFhOU3ZGbGFnc1lOU0VuYWJsZWRYTlNXaW5kb3db +TlNTdXBlcnZpZXeAG4AtgByAHhEBCgmAHYAb2AC9AA4AzQDAAM4AwgAyAMMAygDQANEA0gDTAMoA1QDW +Wk5TU3Vidmlld3NbTlNGcmFtZVNpemWAHYB0gOARAQyA74AdgHOA8F8QFnt7MjAsIDEyN30sIHsxODMs +IDIyfX3aANkADgDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmALUA6ADJAOoA61tOU0NlbGxGbGFnc18Q +EU5TQmFja2dyb3VuZENvbG9yWk5TQ29udGVudHNZTlNTdXBwb3J0XU5TQ29udHJvbFZpZXdcTlNDZWxs +RmxhZ3MyXxARTlNEcmF3c0JhY2tncm91bmRfEBNOU1BsYWNlaG9sZGVyU3RyaW5nW05TVGV4dENvbG9y +E/////+Ucf5BgCyAJIAfgCCAGhIQQAQACYAjgClQ1AAOAO4A7wDwAPEA8gDzAPRWTlNTaXplVk5TTmFt +ZVhOU2ZGbGFnc4AiI0AqAAAAAAAAgCERBBRcTHVjaWRhR3JhbmRl0gA3ADgA9wD4ogD4ADtWTlNGb250 +V0FkZHJlc3PVAA4A+wD8AP0A/gD/AQABAQECAQNXTlNDb2xvclxOU0NvbG9yU3BhY2VbTlNDb2xvck5h +bWVdTlNDYXRhbG9nTmFtZYAogCcQBoAmgCVWU3lzdGVtXxATdGV4dEJhY2tncm91bmRDb2xvctMADgD8 +AQcA/wEJAQpXTlNXaGl0ZYAoEANCMQDSADcAOAEMAPuiAPsAO9UADgD7APwA/QD+AP8BDwEBARABA4Ao +gCuAKoAlWXRleHRDb2xvctMADgD8AQcA/wEJARWAKEIwANIANwA4ARcBGKQBGAEZAL8AO18QD05TVGV4 +dEZpZWxkQ2VsbFxOU0FjdGlvbkNlbGzSADcAOAEbARylARwBHQEeAR8AO1tOU1RleHRGaWVsZFlOU0Nv +bnRyb2xWTlNWaWV3W05TUmVzcG9uZGVyXGFkZHJlc3NGaWVsZNIANwA4ASIBI6MBIwCxADtfEBROU05p +Yk91dGxldENvbm5lY3RvctMADgB/AIAAgQEmASeAFoAxgDTYAA4AhQCGAIcAiACJAIoAiwCMASoBKwDl +AJAAkQCSAS+AFIAzEgAQAACAH4AOgBKAMtQADgCFAO8AlQCWATIBMwE0gQF+gQHFgQHJgQHHXxASQnJp +bmcgQWxsIHRvIEZyb250XxAPYXJyYW5nZUluRnJvbnQ60wAOAH8AgACBATkBOoAWgDaAOtgADgCFAIYA +hwCIAIkAigCLAIwBPQErAT4AkACRAJIBQYAUgDiAOYAOgBKAN9MADgCFAJUAlgFEAUWBAX6BAcuBAc1f +EBNOZXdBcHBsaWNhdGlvbiBIZWxwUT9Zc2hvd0hlbHA60wAOAH8AgACBAUsBTIAWgDyAPtgADgCFAIYA +hwCIAIkAigCLAIwBTwErAOUAkACRAJIAk4AUgD2AH4AOgBKAC1ZEZWxldGVXZGVsZXRlOtQADgCzAH8A +gAC0ALYBWQFagC+AGIBAgHvcAVwADgFdAV4BXwFgAWEBYgFjAWQBZQFmAWcBaAFpAWoBawFsAW0BbgFv +AXABcQFyXE5TV2luZG93Vmlld1xOU1NjcmVlblJlY3RdTlNXaW5kb3dUaXRsZVlOU1dURmxhZ3NdTlNX +aW5kb3dDbGFzc18QFk5TV2luZG93Q29udGVudE1pblNpemVcTlNXaW5kb3dSZWN0XxAPTlNXaW5kb3dC +YWNraW5nXxARTlNXaW5kb3dTdHlsZU1hc2tZTlNNaW5TaXplW05TVmlld0NsYXNzgG6AeoB4gEISJAAA +AIBDgG2AQRACEA+AeYBEXxAYe3sxOTYsIDIwMH0sIHszMjcsIDMxMH19W1ByZWZlcmVuY2Vz3QAOAXYB +dwF4AXkBegF7AXwBfQF+AX8BgAGBAYIBgwGEAYUAyQGHAYgAKwDJAMkBjAGHAY1fEBdOU1Rvb2xiYXJJ +QkRlZmF1bHRJdGVtc18QH05TVG9vbGJhclNob3dzQmFzZWxpbmVTZXBhcmF0b3JfEBdOU1Rvb2xiYXJJ +QkFsbG93ZWRJdGVtc18QH05TVG9vbGJhckF1dG9zYXZlc0NvbmZpZ3VyYXRpb25fEBFOU1Rvb2xiYXJT +aXplTW9kZV8QGk5TVG9vbGJhcklCSWRlbnRpZmllZEl0ZW1zXxARTlNUb29sYmFyRGVsZWdhdGVfEBlO +U1Rvb2xiYXJQcmVmZXJzVG9CZVNob3duXxAgTlNUb29sYmFyQWxsb3dzVXNlckN1c3RvbWl6YXRpb25f +EBpOU1Rvb2xiYXJJQlNlbGVjdGFibGVJdGVtc18QFE5TVG9vbGJhckRpc3BsYXlNb2RlXxATTlNUb29s +YmFySWRlbnRpZmllcoBsgGoIgGkJEAGAR4AACQmAa4BF0gAOAY8BkAGRWU5TLnN0cmluZ4BGXxAkMUYz +M0EzM0MtQkJEMC00MTAyLTk3NUMtMTkzNDc3MDZCMURF0gA3ADgBkwGUowGUAZUAO18QD05TTXV0YWJs +ZVN0cmluZ1hOU1N0cmluZ9MADgGXAD4BmAGZAZ1XTlMua2V5c4BoowGaAZsBnIBIgEmASqMBngGfAaCA +S4BSgFdfECQ2NDhCN0RCQS1CMjY3LTQwNEMtOTNCNC03MDNBQjA1Nzg0ODBfECREQ0ExQTVGNy04RkI5 +LTQ2RTktQTgwRi00NkE5Njg2NkI5NzFfEBdOU1Rvb2xiYXJTaG93Q29sb3JzSXRlbd8QEAGlAA4BpgGn +AagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQArAMkAKwDJACsAyQG8Ab0A5QG/AcABwAG9AcNfEB9O +U1Rvb2xiYXJJdGVtVmlzaWJpbGl0eVByaW9yaXR5XxARTlNUb29sYmFySXRlbVZpZXdfEBROU1Rvb2xi +YXJJdGVtRW5hYmxlZF8QE05TVG9vbGJhckl0ZW1BY3Rpb25fEBhOU1Rvb2xiYXJJc1VzZXJSZW1vdmFi +bGVfEBNOU1Rvb2xiYXJJdGVtVGFyZ2V0XxAaTlNUb29sYmFySXRlbUF1dG92YWxpZGF0ZXNfEBdOU1Rv +b2xiYXJJdGVtSWRlbnRpZmllcl8QGU5TVG9vbGJhckl0ZW1QYWxldHRlTGFiZWxfEBROU1Rvb2xiYXJJ +dGVtVG9vbFRpcF8QEE5TVG9vbGJhckl0ZW1UYWdfEBROU1Rvb2xiYXJJdGVtTWF4U2l6ZV8QFE5TVG9v +bGJhckl0ZW1NaW5TaXplXxASTlNUb29sYmFySXRlbUxhYmVsXxASTlNUb29sYmFySXRlbUltYWdlEACA +UYAACYAACYAACYBMgE2AHxP//////////4BQgFCATYBO0gAOAY8BkAGhgEZWU2VydmVy0wAOADIAnACd +AJ4ByoARgA+AT1lOU05ldHdvcmtWezAsIDB90gA3ADgBzgHPogHPADtdTlNUb29sYmFySXRlbd8QEAGl +AA4BpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQArAMkAKwDJACsAyQHYAdkA5QG/AcABwAHZ +Ad6AUYAACYAACYAACYBTgFSAH4BQgFCAVIBV0gAOAY8BkAGigEZXQWNjb3VudNMADgAyAJwAnQCeAeWA +EYAPgFZWTlNVc2Vy3xAQAaUADgGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1ACsAyQHrAMkA +KwDJAe8B8AHxAb8BwAHAAfAB9YBRgAAJgGcJgAAJgFiAWYBagFCAUIBZgFtWQ29sb3JpXxAdTW9zdHJh +IGlsIHBhbm5lbGxvIGRlaSBjb2xvcmnVAA4A7gH5AfoA+wH7AfwB/QH+Af9cTlNJbWFnZUZsYWdzVk5T +UmVwc4BmgFwSKMAAAIBdgGVYezMyLCAzMn3SAA4APgBGAgOAZKECBIBe0gAOAD4CBgIHgGOiAggCCYBf +gGDSAA4CCwIMAg1fEBROU1RJRkZSZXByZXNlbnRhdGlvboBigGFPERC6TU0AKgAAEAgAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAACCQEOEzkMUylkF5BChyLCWqEq6G+wL/1voSroZYciwlFkGJAyOQxTCAkBDgAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAADkEPXiWEIbtJyTf/Yt9C/370Tf+d/lf/tv9c/77+V/+/9E7/u99C/7XJ +Of9+hCK7QUAOXgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAxQHHRZjIY42zEH+RvBI/2r/W/9//2D/kf9k/6L/Zv+w/mf/wf9m/9T/ +Zv/l/2H//v9e/+/ySv/Mwzj+Y1kXjhQRAx0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMUCR0adDOgP91f/1n/c/9c/2P/aP5i/4P+bv+Y/nL/qP53/7r+ +d//K/nb/2P5z/+f+bv/5/2f///9i///8W//dwD//dF4coBQPAx0AAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFmM0jj7dc/9Z/4r/Yf5//2z+ff9y/nX/iP59/6H+ +hf+w/on/wf6K/9H+if/g/ob/7/6A////eP//823//uNk///kXf/drT//Y0cXjgAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1BKF41zHv+WP+m/2H+mP9s/pb/eP6T/4L+ +jf+P/or/p/6V/7j+mv/L/p3/2/6a/+f+lv/8/5D///uH//7pe//+3G///sxk///MXf/Mizj+QSkOXgAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCQYOIIRau0fwov9d/6//a/6q/3j+ +qv+H/qj/k/6l/5r+nv+s/qL/wv6q/9T+rP/i/qv/8v+m////n//+8ZX//uGK//7Se//+w23//7hh//Cd +Sv+ETiK7CQUBDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw5K1M2yZX/Wv/K/2P+ +vv90/rz/hP67/5L+uv+f/rr/qf60/7L+sP/K/rr/2/69/+z+u//8/7X///mt//7nov/+2Jb//sqJ//65 +eP/+q2f//6Re/8htOf85GwxSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFmRRkD7f +tv9d/9f/a/7O/3r+zv+M/s//mv7N/6r+zP+3/s3/wP7F/87+yP/l/s//9v/N////xP/+7bv//t6t//7Q +n//+v5D//q+A//6fbv//lGH/321C/2MrGI8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAfh3fCSfTW/2D/4/9v/t//g/7f/5H+3/+k/t//sv7g/8H+3v/Q/t7/2P7Z/+3+4P///93///fT//7k +xP/+17T//sSo//61l//+pYb//pRz//+FZv/0bU7/hzIiwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAACihmehT/vn/Yv/z/3L/8f+F//H/lv/z/6f/8/+3//H/yf/x/9n/8v/o//D/+P/x///9 +7f/+6dv//tnK//7Iuv/+tqr//qeZ//6WiP/+hXb//3Nl//5jVv+hMynoAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAK62w/Vb///9j/v//dP7//4b+//+X/v//qP7//7f+///L/v//3P7//+// +//////////L0//7e4P/+zc///ru9//6qrP/+mZv//oiK//51d//+ZWf//1pc/7AvMf0AAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAolqHoUfX+/2Hu//9x7f7/hO3+/5ft/v+m7f7/tu3+/8jt +/v/X7P7/5Or+//Xt////6f///tvt//7K3f/+usv//qq7//6YrP/+h5r//neK//9md//+VWj/oSk26AAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB91h8JJ0fT/Yd///27b/v+A2/7/kdv+/6Hc +/v+w2v7/wNv+/8rX/v/V1P7/69z+//7Z////0Pn//sLm//602P/+pcj//pW3//6EqP/+cpb//2WJ//RN +cP+HIjTCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFlBkkD+x3/9a0f//asr+/3rL +/v+Kyf7/mcr+/6fH/v+0x/7/u8D+/83F/v/ky/7/8sn///+////+uPD//qng//6d0f/+jsP//n6y//5u +ov//Xpf/30Jx/2MXLI8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALKjlTNJLJ/1jG +//9huP7/crf+/4G2/v+Ptf7/nLP+/6av/v+xrP7/yLb+/9q3/v/qt/7/+7L///+q+//+n+n//pPa//6F +y//+dLz//mWu//9cqP/IN3D/OAwbUgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEG +CQ4eWIS7RZ3w/1us//9npf7/daX+/4Wj/v+OoP7/l5j+/6qg/v/Apv7/0Kj+/+Cn/v/wpP7//5r///+S +8//+h+P//njU//5sxf//X7r/8Emd/4QhT7sJAQUOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAA0mQV4zd8z+V6D//16T/v9pkf7/dY7+/3+G/v+Nh/7/pZH+/7aX/v/Jl/7/2Zb+/+aR +/v/3jP///4L+//556//+bN7//mHO//9Zzv/MNo3+QA0pXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAABUyY446bt3/VoX//156/v9ndv7/bm7+/4d3/v+fgv7/roP+/7+G +/v/Phf7/3oL+/+18/v//dP///2v2//5h5f//Web/3T2u/2MWSI4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwgUHRkwdKA6WN3/VWz//1le//9nX/7/gWr+/5Ru +/v+ncf7/tnT+/8hy/v/Wb/7/5mr+//Rj////Xf///1j+/90+wv90Gl+gEwMOHAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAcWHxciaJMzPMz+RkTw/2hY +//98Wv//j2H//6Bh//+uY/7/v2L//9Jg///jXf///Fr//+5H8v/MNcX+aBhdkxUEEh4AAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAABRMT +U3QoI5TMSDPI/2FA3/9+SfT/mVH+/7RW//+8U/7/vUn0/7o+3/+zNcj/jSSUzFMSUnMAAAAFAAAAAgAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQIA +AAkFAAAVCAAAIg8EEkEmFl+UPCGOyE8op+dgK7D3biux/ncrsPd9KKfndSGOyFkWX5QbBBJBCAAAIgUA +ABUCAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAABAAAABgIAABAFAAAcCAAAKQwAADkRAABIFQAAVRgAAF0YAABfGAAAXRUAAFURAABIDAAAOQgA +ACkFAAAcAgAAEAAAAAYAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAUAAAAIAAAACwAAAA4AAAASAAAAFAAAABUAAAAUAAAAEgAA +AA4AAAALAAAACAAAAAUAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAA0BAAADAAAAAQAgAAABAQADAAAAAQAgAAABAgADAAAABAAAEKoBAwADAAAAAQABAAABBgAD +AAAAAQACAAABEQAEAAAAAQAAAAgBEgADAAAAAQABAAABFQADAAAAAQAEAAABFgADAAAAAQAgAAABFwAE +AAAAAQAAEAABHAADAAAAAQABAAABUgADAAAAAQABAAABUwADAAAABAAAELIAAAAAAAgACAAIAAgAAQAB +AAEAAdIANwA4AhACEaMCEQISADtfEBBOU0JpdG1hcEltYWdlUmVwWk5TSW1hZ2VSZXDSADcAOAIUAhWi +AhUAO1dOU0FycmF50gA3ADgCFwIYowIYAhUAO15OU011dGFibGVBcnJhedMADgD8AQcA/wEJAhuAKEQw +IDAA0gA3ADgCHQCgogCgADtfEBVvcmRlckZyb250Q29sb3JQYW5lbDrSADcAOAIgAiGjAiECIgA7XxAT +TlNNdXRhYmxlRGljdGlvbmFyeVxOU0RpY3Rpb25hcnnSAA4APgIGAiWAY6MBngGfAaCAS4BSgFfSAA4A +PgBGAiuAZKIBngGfgEuAUtIADgA+AEYCMIBkoNIANwA4AjICM6ICMwA7WU5TVG9vbGJhclp7MzI3LCAz +MTB91wC9AA4AzQDAAM4AwgDDAjYCNwI4AjkCOgI2AjyAb4B3gHARAQCAdYBvgHbSAA4APgBGAj+AZKEC +QIBx1wC9AA4AwADOAMIAMgDDAWcA0AJEAkUCNgDVAWeAboB0EQESgHKAb4BzgG7SADcAOAJKAkukAksB +HgEfADtcTlNDdXN0b21WaWV30gA3ADgCTQEeowEeAR8AO18QFnt7MCwgMH0sIHsxMjgwLCAxMDAyfX1a +ezMyNywgMzg3fdIANwA4AlECUqICUgA7XxAQTlNXaW5kb3dUZW1wbGF0ZVhkZWxlZ2F0ZdMADgB/AIAA +gQJWAleAFoB9gIDYAA4AhQCGAIcAiACJAIoAiwCMAloBKwDlAJAAkQCSAl6AFIB/gB+ADoASgH7TAA4A +hQCVAJYCYQJigQF+gQG5gQG7XxAbQ2hlY2sgU3BlbGxpbmcgV2hpbGUgVHlwaW5nXxAedG9nZ2xlQ29u +dGludW91c1NwZWxsQ2hlY2tpbmc61AAOALMAfwCAALQCZwC2AmmAL4CCgBiAhtgAvQAOAL4AvwDAAMEA +wgDDAMQAxQJtAm4AyADJAMoAxIAbgC2Ag4CECYAdgBtfEBV7ezIwLCAyMH0sIHsyODcsIDIyfX3aANkA +DgDaANsA3ADdAN4A3wDgAOECdADjAOQA5QDmAmcA6ADJAnsA6xP/////tHH+QYAsgCSAH4AggIIJgIWA +KV8QEVNlcnZlcidzIHBhc3N3b3JkXnNlcnZlclBhc3N3b3Jk1AAOALMAfwCAALQCgQC2AoOAL4CIgBiA +lNgAvQAOAL4AvwDAAMEAwgDDAMQChgKHAogA0gDJAMoAxIAbgJOAiYCKCYAdgBtfEBV7ezE4LCA4MH0s +IHsyOTEsIDMyfX3eANkADgKOAo8CkAKRApICkwDbANwA3QKUAN4ClQKWApcCmAKZApoCmwKcAOUCngDm +AoECoQG0AqJfEBNOU0FsdGVybmF0ZUNvbnRlbnRzXU5TTm9ybWFsSW1hZ2VfEBJOU1BlcmlvZGljSW50 +ZXJ2YWxeTlNCdXR0b25GbGFnczJfEBBOU0FsdGVybmF0ZUltYWdlXxAPTlNLZXlFcXVpdmFsZW50XxAP +TlNQZXJpb2RpY0RlbGF5XU5TQnV0dG9uRmxhZ3MSBAH+AICSgJGAjBAZEIKAjoAfgIuAIICIEMgSSDxR +/18QF1NlcnZlcidzIEF1dGhlbnRpY2F0aW9u0wAOADIAnACdAJ4Cp4ARgA+AjVhOU1N3aXRjaNIADgKq +AqsCrFtOU0ltYWdlTmFtZYCQgI/SADcAOAKuAq+iAq8AO18QE05TQnV0dG9uSW1hZ2VTb3VyY2XSADcA +OAKxArKkArIBGQC/ADtcTlNCdXR0b25DZWxs0gA3ADgCtAK1pQK1AR0BHgEfADtYTlNCdXR0b25ZYXV0 +aFJhZGlv0wAOAH8AgACBArkCuoAWgJaAmtgADgCFAIYAhwCIAIkAigCLAIwCvQErAr4AkACRAJICwYAU +gJiAmYAOgBKAl9UADgCFAO8AlQLDAJYCxQLGAscAyV5OU05vQXV0b2VuYWJsZYEBfoEBmoEBo4EBnAlf +EBNRdWl0IE5ld0FwcGxpY2F0aW9uUXFadGVybWluYXRlOtMADgB/AIAAgQLOAs+AFoCcgKDYAA4AhQCG +AIcAiACJAIoAiwCMAtIBKwLTAJAAkQCSAtaAFICegJ+ADoASgJ3TAA4AhQCVAJYC2QLagQF+gQGNgQGO +VUNsb3NlUXddcGVyZm9ybUNsb3NlOtMADgB/AIAAgQLgAuGAFoCigKXYAA4AhQCGAIcAiACJAIoAiwCM +AuQBKwDlAJAAkQCSAuiAFICkgB+ADoASgKPTAA4AhQCVAJYC6wLsgQF+gQGEgQGFXlN0YXJ0IFNwZWFr +aW5nXnN0YXJ0U3BlYWtpbmc60wAOAH8AgACBAvEC8oAWgKeAq9kADgCFAIYAhwCIAIkAigCLAvQAjAL2 +AI4C9wCQAJEAkgL6AQlVTlNUYWeAFICpgKqADoASgKjTAA4AhQCVAJYC/QL+gQF+gQG9gQG/W1NtYXJ0 +IExpbmtzUUdfEB10b2dnbGVBdXRvbWF0aWNMaW5rRGV0ZWN0aW9uOtMADgB/AIAAgQMEAwWAFoCtgLHY +AA4AhQCGAIcAiACJAIoAiwCMAwgBKwMJAJAAkQCSAwyAFICvgLCADoASgK7TAA4AhQCVAJYDDwMQgQF+ +gQGwgQGyXxARSnVtcCB0byBTZWxlY3Rpb25Ral8QHWNlbnRlclNlbGVjdGlvbkluVmlzaWJsZUFyZWE6 +1AAOALMAfwCAALQDFgC2AxiAL4CzgBiAt9gAvQAOAL4AvwDAAMEAwgDDAMQAxQMcAx0AyADJAMoAxIAb +gC2AtIC1CYAdgBtfEBZ7ezIxMSwgMTI3fSwgezk2LCAyMn192gDZAA4A2gDbANwA3QDeAN8A4ADhAOIA +4wDkAOUA5gMWAOgAyQMpAOuALIAkgB+AIICzCYC2gClUUG9ydFlwb3J0RmllbGTUAA4AswB/AIAAgQC2 +AZ4DMYAWgBiAS4C5XHNlcnZlclBhbmVsOtQADgCzAH8AgAC0AzUAtgM3gC+Au4AYgM/WAL0ADgDNAMAA +zgAyACsA0AM7ANIDPADVgACAdIC8gM6Ac9IADgA+AEYDQIBkowNBA0IDQ4C9gMaAytcAvQAOAL4AvwDA +AMEAwwM1AMUDRwNIAMgAyQM1gLuALYC+gL8JgLtfEBV7ezE3LCA4Mn0sIHsyOTMsIDE3fX3YANkADgDa +ANsA3ADdAN4A4QNNAOMDTwNQAOYDQQDoA1MSBAH+QIAsgMGAwIAggL2AxF8QD1JldmVyc28gQWNjb3Vu +dNUADgD7APwA/QD+AP8DVwEBA1gBA4AogMOAwoAlXGNvbnRyb2xDb2xvctMADgD8AQcA/wEJA12AKEsw +LjY2NjY2NjY5ANUADgD7APwA/QD+AP8BDwEBA2EBA4AogCuAxYAlXxAQY29udHJvbFRleHRDb2xvctcA +vQAOAL4AvwDAAMEAwwM1AMUDZwNoAMgAyQM1gLuALYDHgMgJgLtfEBV7ezIwLCA1Mn0sIHsyODcsIDIy +fX3aANkADgDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmA0IA6ADJA3MA64AsgCSAH4AggMYJgMmAKVVF +bWFpbNcAvQAOAL4AvwDAAMEAwwM1AMUDeQN6AMgAyQM1gLuALYDLgMwJgLvaANkADgDaANsA3ADdAN4A +3wDgAOEA4gDjAOQA5QDmA0MA6ADJA4QA64AsgCSAH4AggMoJgM2AKVhQYXNzd29yZFp7MzI3LCAxMTl9 +W2FjY291bnRWaWV30wAOAH8AgACBA4sDjIAWgNGA1NgADgCFAIYAhwCIAIkAigCLAIwDjwErA5AAkACR +AJIAk4AUgNKA04AOgBKAC1VQYXN0ZVF2VnBhc3RlOtMADgB/AIAAgQOZA5qAFoDWgNnZAA4AhQCGAIcA +iACJAIoAiwL0AIwDnQErA54AkACRAJIDDAGHgBSA14DYgA6AEoCuZQBGAGkAbgBkICZRZl8QF3BlcmZv +cm1GaW5kUGFuZWxBY3Rpb2460wAOAH8AgACBA6cDqIAWgNuA3tgADgCFAIYAhwCIAIkAigCLAIwDqwEr +AOUAkACRAJIDr4AUgN2AH4AOgBKA3NMADgCFAJUAlgOyA7OBAX6BAXyBAX1vEBIAQwB1AHMAdABvAG0A +aQB6AGUAIABUAG8AbwBsAGIAYQByICZfEB9ydW5Ub29sYmFyQ3VzdG9taXphdGlvblBhbGV0dGU61AAO +ALMAfwCAALQAxAC2A7qAL4AbgBiA8dIADgA+AEYDvYBkpwO+A78CZwC1AxYCgQPEgOGA5YCCgBqAs4CI +gOnYAL0ADgC+AL8AwADBAMIAwwDEAMUDyAPJAMgAyQDKAMSAG4AtgOKA4wmAHYAb2gDZAA4A2gDbANwA +3QDeAN8A4ADhAnQA4wDkAOUA5gO+AOgAyQPUAOuALIAkgB+AIIDhCYDkgClfEBFTZXJ2ZXIncyB1c2Vy +bmFtZdgAvQAOAL4AvwDAAMEAwgDDAMQAxQPaA9sAyADJAMoAxIAbgC2A5oDnCYAdgBtfEBZ7ezE3LCAx +NTd9LCB7MjkzLCAxN3192ADZAA4A2gDbANwA3QDeAOEDTQDjA08D4wDmA78A6ANTgCyAwYDogCCA5YDE +XxAPU2VydmVyIFNldHRpbmdz3AC9A+kADgPqAL4D6wDAA+wAwgPtA+4AwwDEAW8D8APxA/IBhAP0AQkA +ygHAAbQAxFlOU0JveFR5cGVbTlNUaXRsZUNlbGxdTlNUcmFuc3BhcmVudFxOU0JvcmRlclR5cGVZTlNP +ZmZzZXRzXxAPTlNUaXRsZVBvc2l0aW9ugBuA7oDrgOoIEAyAHYBQgBtfEBV7ezIwLCAxMTZ9LCB7Mjg3 +LCA1fX3XANkADgDaANsA3ADeAOEClgDjAOQD/ADmAbQD/oAsgCSA7IAggO1TQm940wAOAPwBBwD/AQkE +AoAoTTAgMC44MDAwMDAwMQDSADcAOAQEBAWkBAUBHgEfADtVTlNCb3haezMyNywgMTk0fVpzZXJ2ZXJW +aWV30wAOAH8AgACBBAoEC4AWgPOA9tgADgCFAIYAhwCIAIkAigCLAIwEDgErBA8AkACRAJICXoAUgPSA +9YAOgBKAfl5DaGVjayBTcGVsbGluZ1E7XmNoZWNrU3BlbGxpbmc60wAOAH8AgACBBBgEGYAWgPiA+9gA +DgCFAIYAhwCIAIkAigCLAIwEHAErBB0AkACRAJIC1oAUgPmA+oAOgBKAnWYAUAByAGkAbgB0ICZRcF5w +cmludERvY3VtZW50OtMADgB/AIAAgQQmBCeAFoD9gP/YAA4AhQCGAIcAiACJAIoAiwCMBCoBKwDlAJAA +kQCSAS+AFID+gB+ADoASgDJUWm9vbVxwZXJmb3JtWm9vbTrUAA4AswB/AIAAtAJAALYENYAvgHGAGIEB +AVhtYWluVmlld9MADgB/AIAAgQQ5BDqAFoEBA4EBBdgADgCFAIYAhwCIAIkAigCLAIwEPQErAOUAkACR +AJIC6IAUgQEEgB+ADoASgKNdU3RvcCBTcGVha2luZ11zdG9wU3BlYWtpbmc61AAOALMAfwCAAIEAtgRH +BEiAFoAYgQEHgQEK2AAOAIUAhgCHAIgAiQCKAIsAjARLASsETACQAJEAkgLBgBSBAQiBAQmADoASgJds +AFAAcgBlAGYAZQByAGUAbgBjAGUAcyAmUSxbc2hvd1dpbmRvdzrTAA4AfwCAAIEEVQRWgBaBAQyBAQ/Y +AA4AhQCGAIcAiACJAIoAiwCMBFkBKwRaAJAAkQCSAtaAFIEBDYEBDoAOgBKAnVRTYXZlUXNdc2F2ZURv +Y3VtZW50OtMADgB/AIAAgQRjBGSAFoEBEYEBFNgADgCFAIYAhwCIAIkAigCLAIwEZwErBGgAkACRAJIA +k4AUgQESgQETgA6AEoALVFVuZG9RelV1bmRvOtMADgB/AIAAgQRxBHKAFoEBFoEBGdgADgCFAIYAhwCI +AIkAigCLAIwEdQErBHYAkACRAJICwYAUgQEXgQEYgA6AEoCXXxATSGlkZSBOZXdBcHBsaWNhdGlvblFo +VWhpZGU60wAOAH8AgACBBH8EgIAWgQEbgQEe2AAOAIUAhgCHAIgAiQCKAIsAjASDBIQEhQCQAJEAkgOv +gBSBARwSABgAAIEBHYAOgBKA3FxTaG93IFRvb2xiYXJRdF8QE3RvZ2dsZVRvb2xiYXJTaG93bjrTAA4A +fwCAAIEEjgSPgBaBASCBASPYAA4AhQCGAIcAiACJAIoAiwCMBJIBKwSTAJAAkQCSAJOAFIEBIYEBIoAO +gBKAC1NDdXRReFRjdXQ61AAOALMAfwCAALQBcgC2BJ6AL4BEgBiBASVXdG9vbGJhctMADgB/AIAAgQSi +BKOAFoEBJ4EBKdkADgCFAIYAhwCIAIkAigCLAvQAjASmASsDngCQAJEAkgL6AYeAFIEBKIDYgA6AEoCo +XxAQU21hcnQgQ29weS9QYXN0ZV8QGHRvZ2dsZVNtYXJ0SW5zZXJ0RGVsZXRlOtQADgCzAH8AgAC0AVkA +tgSxgC+AQIAYgQErWm1haW5XaW5kb3fUAA4AswB/AIAAgQC2AZ8Et4AWgBiAUoEBLV1hY2NvdW50UGFu +ZWw61AAOALMAfwCAALQDvgC2BL2AL4DhgBiBAS9ec2VydmVyVXNlcm5hbWXTAA4AfwCAAIEEwQTCgBaB +ATGBATTYAA4AhQCGAIcAiACJAIoAiwCMBMUAjgTGAJAAkQCSAtaAFIEBMoEBM4AOgBKAnWgAUwBhAHYA +ZQAgAEEAcyAmUVNfEA9zYXZlRG9jdW1lbnRBczrTAA4AfwCAAIEEzwTQgBaBATaBATnYAA4AhQCGAIcA +iACJAIoAiwCMBNMBKwDlAJAAkQCSBNeAFIEBOIAfgA6AEoEBN9QADgCFAO8AlQCWBNoE2wTcgQF+gQGT +gQGWgQGVWkNsZWFyIE1lbnVfEBVjbGVhclJlY2VudERvY3VtZW50czrTAA4AfwCAAIEE4QTigBaBATuB +AT/YAA4AhQCGAIcAiACJAIoAiwCMBOUAjgTmAJAAkQCSBOmAFIEBPYEBPoAOgBKBATzTAA4AhQCVAJYE +7ATtgQF+gQGIgQGKW1Nob3cgQ29sb3JzUUPTAA4AfwCAAIEE8gTzgBaBAUGBAUTZAA4AhQCGAIcAiACJ +AIoAiwL0AIwE9gErBPcAkACRAJIC+gFvgBSBAUKBAUOADoASgKhcU21hcnQgUXVvdGVzUWdfECF0b2dn +bGVBdXRvbWF0aWNRdW90ZVN1YnN0aXR1dGlvbjrTAA4AfwCAAIEFAAUBgBaBAUaBAUjXAA4AhQCHAIgA +iQCKAIsAjAUEAOUAkACRAJIC1oAUgQFHgB+ADoASgJ1fEA9SZXZlcnQgdG8gU2F2ZWRfEBZyZXZlcnRE +b2N1bWVudFRvU2F2ZWQ61AAOALMAfwCAAIEAtgKBBQ+AFoAYgIiBAUpbdG9nZ2xlQXV0aDrTAA4AfwCA +AIEFEwUUgBaBAUyBAU/YAA4AhQCGAIcAiACJAIoAiwCMBRcBKwUYAJAAkQCSAl6AFIEBTYEBToAOgBKA +fm4AUwBoAG8AdwAgAFMAcABlAGwAbABpAG4AZyAmUTpfEA9zaG93R3Vlc3NQYW5lbDrUAA4AswB/AIAA +tAFZALYFI4AvgECAGIEBUVZ3aW5kb3fUAA4AswB/AIAAgQAfBSgFKYAWgAKBAVOBAVXXAA4AhQCHAIgA +iQCKAIsAjAUsAOUAkACRAJICwYAUgQFUgB+ADoASgJdfEBRBYm91dCBOZXdBcHBsaWNhdGlvbl8QHW9y +ZGVyRnJvbnRTdGFuZGFyZEFib3V0UGFuZWw60wAOAH8AgACBBTUFNoAWgQFXgQFa2AAOAIUAhgCHAIgA +iQCKAIsAjAU5ASsFOgCQAJEAkgEvgBSBAViBAVmADoASgDJYTWluaW1pemVRbV8QE3BlcmZvcm1NaW5p +YXR1cml6ZTrTAA4AfwCAAIEFQwVEgBaBAVyBAV/YAA4AhQCGAIcAiACJAIoAiwCMBUcBKwVIAJAAkQCS +AJOAFIEBXYEBXoAOgBKAC1RDb3B5UWNVY29weTrTAA4AfwCAAIEFUQVSgBaBAWGBAWPYAA4AhQCGAIcA +iACJAIoAiwCMBVUBKwDlAJAAkQCSAl6AFIEBYoAfgA6AEoB+XxAbQ2hlY2sgR3JhbW1hciBXaXRoIFNw +ZWxsaW5nXxAWdG9nZ2xlR3JhbW1hckNoZWNraW5nOtMADgB/AIAAgQVeBV+AFoEBZYEBaNgADgCFAIYA +hwCIAIkAigCLAIwFYgErBWMAkACRAJIAk4AUgQFmgQFngA6AEoALWlNlbGVjdCBBbGxRYVpzZWxlY3RB +bGw60wAOAH8AgACBBWwFbYAWgQFqgQFs2AAOAIUAhgCHAIgAiQCKAIsAjAVwBIQEdgCQAJEAkgLBgBSB +AWuBARiADoASgJdbSGlkZSBPdGhlcnNfEBZoaWRlT3RoZXJBcHBsaWNhdGlvbnM60wAOAH8AgACBBXkF +eoAWgQFugQFx2AAOAIUAhgCHAIgAiQCKAIsAjAV9ASsFfgCQAJEAkgLWgBSBAW+BAXCADoASgJ1lAE8A +cABlAG4gJlFvXW9wZW5Eb2N1bWVudDrTAA4AfwCAAIEFhwWIgBaBAXOBAXbZAA4FigCFAIYAhwCIAIkA +igCLAIwA5QWNAI4FjgCQAJEAkgLWWU5TVG9vbFRpcIAUgB+BAXSBAXWADoASgJ1dUGFnZSBTZXR1cC4u +LlFQXnJ1blBhZ2VMYXlvdXQ60wAOAH8AgACBBZcFmIAWgQF4gQF62AAOAIUAhgCHAIgAiQCKAIsAjAWb +ASsA5QCQAJEAkgLBgBSBAXmAH4AOgBKAl1hTaG93IEFsbF8QFnVuaGlkZUFsbEFwcGxpY2F0aW9uczrS +AA4APgIGBaSAY68QbwDHAWcDrwWoBakC6AV5AMQAtgJuALUFsALWBbIERwRjBbUFtgQ5BbgBSwW6BbsC +QAKIBAoAggNBBcEFwgXDBPIFxQLxBH8DpwTpBcoFXgM1A9sCVgXPBdAF0QThAuADxAXVBNcF1wO+BWwF +2gJnA4sDHQUTAZ8F4AMWBMEBJgQYBeUBWQGgA2gFlwXqAS8EjgNDBM8AkwRVAXIDBAXzAvoFQwMMAUED +egX5BYcF+wKBA5kDSAGeBTUDvwYCArkDQgYFBQAFKAE5BKICwQYLBHECzgYOBVEGEAQmA8kCXoAegG6A +3IEBf4EBgICjgQFugBuAGICEgBqBAYaAnYEBmYEBB4EBEYEBpIEBh4EBA4EBnoA8gQGzgQG8gHGAioDz +gAqAvYEBl4EBxIEBroEBQYEBwoCngQEbgNuBATyBAa+BAWWAu4DngH2BAciBAbWBAY+BATuAooDpgQGq +gQE3gQG4gOGBAWqBAcCAgoDRgLWBAUyAUoEBkoCzgQExgDGA+IEByoBAgFeAyIEBeIEBnYAygQEggMqB +ATaAC4EBDIBEgK2BAc+AqIEBXICugDeAzIEBooEBc4EBqICIgNaAv4BLgQFXgOWBAZiAloDGgQHQgQFG +gQFTgDaBASeAl4EBi4EBFoCcgQGhgQFhgQGfgP2A44B+VFZpZXfSAA4APgBGBheAZKIEfwOngQEbgNvS +ADcAOAYbAIuiAIsAO9oADgCFAIYGHQCHBh4AiACJAIoAiwCMAOUBKwDJAOUAyQCQAJEAkgCTXU5TSXNT +ZXBhcmF0b3JcTlNJc0Rpc2FibGVkgBSAHwmAHwmADoASgAvUAA4AhQDvAJUAlgYpBioGK4EBfoEBgYEB +g4EBglhTZXJ2aWNlc9IADgA+AEYGL4BkoF8QD19OU1NlcnZpY2VzTWVudVZTcGVlY2jSAA4APgBGBjSA +ZKIC4AQ5gKKBAQPaAA4GOACFAIYAhwCIAIkAigCLBjkAjATpBOwBKwDlAJAAkQCSBbYGQVlOU1N1Ym1l +bnVYTlNBY3Rpb26AFIEBPIEBiIAfgA6AEoEBh4EBidQADgCFAO8AlQCWBkQGRQZGgQF+gQGmgQHOgQGn +VkZvcm1hdF5zdWJtZW51QWN0aW9uOtIADgA+AEYGS4BkogYLBOGBAYuBATvYAA4AhQCGAIcAiACJAIoA +iwCMBlABKwSFAJAAkQCSBOmAFIEBjIEBHYAOgBKBATxaU2hvdyBGb250c1RGaWxl0gAOAD4ARgZZgGSr +BdEFeQXgBcECzgRVBMEFAAYCBYcEGIEBj4EBboEBkoEBl4CcgQEMgQExgQFGgQGYgQFzgPjYAA4AhQCG +AIcAiACJAIoAiwCMBmcBKwZoAJAAkQCSAtaAFIEBkIEBkYAOgBKAnVNOZXdRbtoADgY4AIUAhgCHAIgA +iQCKAIsGOQCMBNcE2gErAOUAkACRAJIC1gZ2gBSBATeBAZOAH4AOgBKAnYEBlFtPcGVuIFJlY2VudNIA +DgA+AEYGeoBkoQTPgQE2XxAWX05TUmVjZW50RG9jdW1lbnRzTWVuddoADgCFAIYGHQCHBh4AiACJAIoA +iwCMAOUBKwDJAOUAyQCQAJEAkgLWgBSAHwmAHwmADoASgJ3aAA4AhQCGBh0AhwYeAIgAiQCKAIsAjADl +ASsAyQDlAMkAkACRAJIC1oAUgB8JgB8JgA6AEoCd2gAOBjgAhQCGAIcAiACJAIoAiwY5AIwCwQLFASsA +5QCQAJEAkgW2BpeAFICXgQGagB+ADoASgQGHgQGbXk5ld0FwcGxpY2F0aW9u0gAOAD4ARgabgGSrBSgF +6gRHBbgGEAYOBHEFbAWXBfkCuYEBU4EBnYEBB4EBnoEBn4EBoYEBFoEBaoEBeIEBooCW2gAOAIUAhgYd +AIcGHgCIAIkAigCLAIwA5QErAMkA5QDJAJAAkQCSAsGAFIAfCYAfCYAOgBKAl9oADgCFAIYGHQCHBh4A +iACJAIoAiwCMAOUBKwDJAOUAyQCQAJEAkgLBgBSAHwmAHwmADoASgJfaAA4GOACFAIYAhwCIAIkAigCL +BjkAjAWpBikBKwDlAJAAkQCSAsEGwYAUgQGAgQGBgB+ADoASgJeBAaDaAA4AhQCGBh0AhwYeAIgAiQCK +AIsAjADlASsAyQDlAMkAkACRAJICwYAUgB8JgB8JgA6AEoCX2gAOAIUAhgYdAIcGHgCIAIkAigCLAIwA +5QErAMkA5QDJAJAAkQCSAsGAFIAfCYAfCYAOgBKAl1xfTlNBcHBsZU1lbnXZAA4AhQCGAIcAiACJAIoA +iwL0AIwG1wErBPcAkACRAJIDDAFvgBSBAaWBAUOADoASgK5ZRmluZCBOZXh0WUFNYWluTWVuddIADgA+ +AEYG4IBkpwWyBfsF1QWwBcUFwgXlgQGZgQGogQGqgQGGgQHCgQHEgQHK2gAOBjgAhQCGAIcAiACJAIoA +iwY5AIwC1gLZASsA5QCQAJEAkgW2BvCAFICdgQGNgB+ADoASgQGHgQGp2gAOBjgAhQCGAIcAiACJAIoA +iwY5AIwAkwCXASsA5QCQAJEAkgW2BvmAFIALgQGrgB+ADoASgQGHgQGsVEVkaXTSAA4APgBGBv2AZK0E +YwCCBagEjgVDA4sBSwVeBcMFygXXBbsF2oEBEYAKgQF/gQEggQFcgNGAPIEBZYEBroEBr4EBuIEBvIEB +wNoADgCFAIYGHQCHBh4AiACJAIoAiwCMAOUBKwDJAOUAyQCQAJEAkgCTgBSAHwmAHwmADoASgAvaAA4G +OACFAIYAhwCIAIkAigCLBjkAjAMMAw8BKwDlAJAAkQCSAJMHHIAUgK6BAbCAH4AOgBKAC4EBsVRGaW5k +0gAOAD4ARgcggGSlA5kFtQW6BdADBIDWgQGkgQGzgQG1gK3ZAA4AhQCGAIcAiACJAIoAiwL0AIwHKACO +AvcAkACRAJIDDAEJgBSBAbSAqoAOgBKArl1GaW5kIFByZXZpb3Vz2QAOAIUAhgCHAIgAiQCKAIsC9ACM +BzABKwcxAJAAkQCSAwwHNYAUgQG2gQG3gA6AEoCuEAdfEBZVc2UgU2VsZWN0aW9uIGZvciBGaW5kUWXa +AA4GOACFAIYAhwCIAIkAigCLBjkAjAJeAmEBKwDlAJAAkQCSAJMHQIAUgH6BAbmAH4AOgBKAC4EBul8Q +FFNwZWxsaW5nIGFuZCBHcmFtbWFy0gAOAD4ARgdEgGSkBRMECgJWBVGBAUyA84B9gQFh2gAOBjgAhQCG +AIcAiACJAIoAiwY5AIwC+gL9ASsA5QCQAJEAkgCTB1GAFICogQG9gB+ADoASgAuBAb5dU3Vic3RpdHV0 +aW9uc9IADgA+AEYHVYBkowSiBPIC8YEBJ4EBQYCn2gAOBjgAhQCGAIcAiACJAIoAiwY5AIwC6ALrASsA +5QCQAJEAkgCTB2GAFICjgQGEgB+ADoASgAuBAcHaAA4GOACFAIYAhwCIAIkAigCLBjkAjAOvA7IBKwDl +AJAAkQCSBbYHaoAUgNyBAXyAH4AOgBKBAYeBAcPaAA4GOACFAIYAhwCIAIkAigCLBjkAjAEvATIBKwDl +AJAAkQCSBbYHc4AUgDKBAcWAH4AOgBKBAYeBAcZWV2luZG930gAOAD4ARgd3gGSkBTUEJgXPASaBAVeA +/YEByIAx2gAOAIUAhgYdAIcGHgCIAIkAigCLAIwA5QErAMkA5QDJAJAAkQCSAS+AFIAfCYAfCYAOgBKA +Ml5fTlNXaW5kb3dzTWVuddoADgY4AIUAhgCHAIgAiQCKAIsGOQCMAUEBRAErAOUAkACRAJIFtgeOgBSA +N4EBy4AfgA6AEoEBh4EBzFRIZWxw0gAOAD4ARgeSgGShATmANltfTlNNYWluTWVuddIADgAyADMANIAE +gAPSAA4AMgAzB5qABIEB0VtBcHBEZWxlZ2F0ZdIADgA+AgYHnoBjrxBvALUBWQXFAJMGEAXaAtYAHwAf +AmcAxAW2BfsFtgLBAJMDDAAfAugCwQCTAwwAkwFnAoECXgCTAzUC1gW2AJMC+gW2AvoDrwOvBbAAkwCT +AB8DvwJeAS8DDALWBOkC6ADEBbYF4ACTAMQCwQCTAMQAkwMWAl4BcgLWAMQC1gEvAtYFtgAfAXIDQgLB +AsEFwgCTAzUE1wXVAtYBWQMMAB8FuwCTBcoF5QNDAsEC1gW2AMQDDANBAXIBLwDEAtYCwQM1AB8C1gLB +AUEC+gWyBOkCwQLWAsECXgLBAS8DvgXXgBqAQIEBwoALgQGfgQHAgJ2AAoACgIKAG4EBh4EBqIEBh4CX +gAuAroACgKOAl4ALgK6AC4BugIiAfoALgLuAnYEBh4ALgKiBAYeAqIDcgNyBAYaAC4ALgAKA5YB+gDKA +roCdgQE8gKOAG4EBh4EBkoALgBuAl4ALgBuAC4CzgH6ARICdgBuAnYAygJ2BAYeAAoBEgMaAl4CXgQHE +gAuAu4EBN4EBqoCdgECAroACgQG8gAuBAa+BAcqAyoCXgJ2BAYeAG4CugL2ARIAygBuAnYCXgLuAAoCd +gJeAN4CogQGZgQE8gJeAnYCXgH6Al4AygOGBAbjSAA4APgIGCBCAY68QcADHAWcDrwWoBakC6AV5AMQA +tgJuALUFsALWBbIERwNBBGMFtgW7BbgBSwJABbUCiAW6BAoAggQ5BcEFwgXDBcUE8gOnBH8E6QLxBcoF +XgM1A9sCVgXPBdEF0AThAuADxAXVBNcAHwO+BdcFbAXaAmcDHQOLBRMBnwXgAxYEwQEmBBgF5QFZAaAD +aAWXA0MBLwXqBI4EzwFyAJMEVQMEBfMC+gVDAwwBQQN6BfkFhwX7AoEDmQNIAZ4FNQO/A0ICuQYCBgUF +AAUoATkEogLBBgsEcQLOBg4FUQYQBCYDyQJegB6AboDcgQF/gQGAgKOBAW6AG4AYgISAGoEBhoCdgQGZ +gQEHgL2BARGBAYeBAbyBAZ6APIBxgQGkgIqBAbOA84AKgQEDgQGXgQHEgQGugQHCgQFBgNuBARuBATyA +p4EBr4EBZYC7gOeAfYEByIEBj4EBtYEBO4CigOmBAaqBATeAAoDhgQG4gQFqgQHAgIKAtYDRgQFMgFKB +AZKAs4EBMYAxgPiBAcqAQIBXgMiBAXiAyoAygQGdgQEggQE2gESAC4EBDICtgQHPgKiBAVyAroA3gMyB +AaKBAXOBAaiAiIDWgL+AS4EBV4DlgMaAloEBmIEB0IEBRoEBU4A2gQEngJeBAYuBARaAnIEBoYEBYYEB +n4D9gOOAftIADgA+AgYIg4BjrxBwCIQIhQiGCIcIiAiJCIoIiwiMCI0IjgiPCJAIkQiSCJMIlAiVCJYI +lwiYCJkImgibCJwInQieCJ8IoAihCKIIowikCKUIpginCKgIqQiqCKsIrAitCK4IrwiwCLEIsgizCLQI +tQi2CLcIuAi5CLoIuwi8CL0Ivgi/CMAIwQjCCMMIxAjFCMYIxwjICMkIygjLCMwIzQjOCM8I0AjRCNII +0wjUCNUI1gjXCNgI2QjaCNsI3AjdCN4BvQjgCOEI4gjjCOQI5QjmCOcI6AjpCOoI6wjsCO0I7gjvCPAI +8QjyCPOBAdWBAdaBAdeBAdiBAdmBAdqBAduBAdyBAd2BAd6BAd+BAeCBAeGBAeKBAeOBAeSBAeWBAeaB +AeeBAeiBAemBAeqBAeuBAeyBAe2BAe6BAe+BAfCBAfGBAfKBAfOBAfSBAfWBAfaBAfeBAfiBAfmBAfqB +AfuBAfyBAf2BAf6BAf+BAgCBAgGBAgKBAgOBAgSBAgWBAgaBAgeBAgiBAgmBAgqBAguBAgyBAg2BAg6B +Ag+BAhCBAhGBAhKBAhOBAhSBAhWBAhaBAheBAhiBAhmBAhqBAhuBAhyBAh2BAh6BAh+BAiCBAiGBAiKB +AiOBAiSBAiWBAiaBAieBAiiBAimBAiqBAiuBAiyBAi2BAi6BAi+ATYECMIECMYECMoECM4ECNIECNYEC +NoECN4ECOIECOYECOoECO4ECPIECPYECPoECP4ECQIECQYECQoECQ18QD1RleHQgRmllbGQgQ2VsbFxD +b250ZW50IFZpZXdbTWVudSAoVmlldylbU2VwYXJhdG9yLTVfEA9NZW51IChTZXJ2aWNlcyldTWVudSAo +U3BlZWNoKW8QEQBNAGUAbgB1ACAASQB0AGUAbQAgACgATwBwAGUAbiAmAClbQ3VzdG9tIFZpZXdfEBZQ +cmVmZXJlbmNlcyBDb250cm9sbGVyXxARVGV4dCBGaWVsZCBDZWxsLTJaVGV4dCBGaWVsZF8QEk1lbnUg +SXRlbSAoRm9ybWF0KVtNZW51IChGaWxlKV8QGk1lbnUgSXRlbSAoTmV3QXBwbGljYXRpb24pUzEyMV8Q +HVN0YXRpYyBUZXh0IChSZXZlcnNvIEFjY291bnQpXxAQTWVudSBJdGVtIChVbmRvKVhNYWluTWVudV8Q +GU1lbnUgSXRlbSAoU3Vic3RpdHV0aW9ucylZU2VwYXJhdG9yXxASTWVudSBJdGVtIChEZWxldGUpXUN1 +c3RvbSBWaWV3LTJfEBVNZW51IEl0ZW0gKEZpbmQgTmV4dClfECVCdXR0b24gQ2VsbCAoU2VydmVyJ3Mg +QXV0aGVudGljYXRpb24pXxAZTWVudSBJdGVtIChGaW5kIFByZXZpb3VzKV8QGk1lbnUgSXRlbSAoQ2hl +Y2sgU3BlbGxpbmcpXxAQTWVudSBJdGVtIChSZWRvKV8QGU1lbnUgSXRlbSAoU3RvcCBTcGVha2luZylR +N18QEk1lbnUgSXRlbSAoV2luZG93KVtTZXBhcmF0b3ItNl8QEE1lbnUgSXRlbSAoVmlldylfEBhNZW51 +IEl0ZW0gKFNtYXJ0IFF1b3RlcylvEB4ATQBlAG4AdQAgAEkAdABlAG0AIAAoAEMAdQBzAHQAbwBtAGkA +egBlACAAVABvAG8AbABiAGEAciAmAClfEBhNZW51IEl0ZW0gKFNob3cgVG9vbGJhcildTWVudSAoRm9y +bWF0KV8QF01lbnUgSXRlbSAoU21hcnQgTGlua3MpXxAQTWVudSBJdGVtIChGaW5kKV8QFk1lbnUgSXRl +bSAoU2VsZWN0IEFsbCldQ3VzdG9tIFZpZXctMV8QIVRleHQgRmllbGQgQ2VsbCAoU2VydmVyIFNldHRp +bmdzKV8QJ01lbnUgSXRlbSAoQ2hlY2sgU3BlbGxpbmcgV2hpbGUgVHlwaW5nKVtTZXBhcmF0b3ItNFE5 +XxAiTWVudSBJdGVtIChVc2UgU2VsZWN0aW9uIGZvciBGaW5kKV8QF01lbnUgSXRlbSAoU2hvdyBDb2xv +cnMpXxAaTWVudSBJdGVtIChTdGFydCBTcGVha2luZylfEA9Ib3Jpem9udGFsIExpbmVfEBBNZW51IEl0 +ZW0gKEVkaXQpXxASTWVudSAoT3BlbiBSZWNlbnQpXEZpbGUncyBPd25lclxUZXh0IEZpZWxkLTFfECBN +ZW51IEl0ZW0gKFNwZWxsaW5nIGFuZCBHcmFtbWFyKV8QF01lbnUgSXRlbSAoSGlkZSBPdGhlcnMpXxAS +TWVudSBJdGVtIChTcGVlY2gpXFRleHQgRmllbGQtMl8QEVRleHQgRmllbGQgQ2VsbC0zXxARTWVudSBJ +dGVtIChQYXN0ZSlvEBoATQBlAG4AdQAgAEkAdABlAG0AIAAoAFMAaABvAHcAIABTAHAAZQBsAGwAaQBu +AGcgJgApXxAWVG9vbGJhciBJdGVtIChBY2NvdW50KV8QF01lbnUgSXRlbSAoT3BlbiBSZWNlbnQpXFRl +eHQgRmllbGQtM1E4XxAeTWVudSBJdGVtIChCcmluZyBBbGwgdG8gRnJvbnQpUTZRMV8QFFdpbmRvdyAo +UHJlZmVyZW5jZXMpXxAVVG9vbGJhciBJdGVtIChDb2xvcmkpXxARVGV4dCBGaWVsZCBDZWxsLTVfEBRN +ZW51IEl0ZW0gKFNob3cgQWxsKVxUZXh0IEZpZWxkLTRdTWVudSAoV2luZG93KVtTZXBhcmF0b3ItMV8Q +D01lbnUgSXRlbSAoQ3V0KV8QFk1lbnUgSXRlbSAoQ2xlYXIgTWVudSlXVG9vbGJhcltNZW51IChFZGl0 +KVEzXxAdTWVudSBJdGVtIChKdW1wIHRvIFNlbGVjdGlvbilbQXBwbGljYXRpb25fEBRNZW51IChTdWJz +dGl0dXRpb25zKV8QEE1lbnUgSXRlbSAoQ29weSlbTWVudSAoRmluZClRMl8QEVRleHQgRmllbGQgQ2Vs +bC00W1NlcGFyYXRvci0yUTVfEBBNZW51IEl0ZW0gKEZpbGUpXxAjQ2hlY2sgQm94IChTZXJ2ZXIncyBB +dXRoZW50aWNhdGlvbilvEBEATQBlAG4AdQAgAEkAdABlAG0AIAAoAEYAaQBuAGQgJgApXxAhVGV4dCBG +aWVsZCBDZWxsIChSZXZlcnNvIEFjY291bnQpXxAUTWVudSBJdGVtIChNaW5pbWl6ZSlfEB1TdGF0aWMg +VGV4dCAoU2VydmVyIFNldHRpbmdzKVxUZXh0IEZpZWxkLTVUMTExMVMyLTFcQXBwIERlbGVnYXRlUjEw +XxAgTWVudSBJdGVtIChBYm91dCBOZXdBcHBsaWNhdGlvbilfEB9NZW51IEl0ZW0gKE5ld0FwcGxpY2F0 +aW9uIEhlbHApXxAcTWVudSBJdGVtIChTbWFydCBDb3B5L1Bhc3RlKV8QFU1lbnUgKE5ld0FwcGxpY2F0 +aW9uKV8QFk1lbnUgSXRlbSAoU2hvdyBGb250cylfEB9NZW51IEl0ZW0gKEhpZGUgTmV3QXBwbGljYXRp +b24pUzEtMVtTZXBhcmF0b3ItM18QJ01lbnUgSXRlbSAoQ2hlY2sgR3JhbW1hciBXaXRoIFNwZWxsaW5n +KV8QFE1lbnUgSXRlbSAoU2VydmljZXMpXxAQTWVudSBJdGVtIChab29tKV8QEVRleHQgRmllbGQgQ2Vs +bC0xXxAbTWVudSAoU3BlbGxpbmcgYW5kIEdyYW1tYXIp0gAOAD4CBgllgGOg0gAOAD4CBglogGOg0gAO +AD4CBglrgGOvEKYAxwBRAEsAWwFnAFMAagBNA68FqAWpAGQAYgLoBXkAegDEAF4AbABrALYCbgBvALUF +sALWBbIERwRjBbUFtgQ5BbgBSwW6BbsCQAKIBAoAggNBAFIAVgBnAGgFwQXCBcMAaQB0BPIFxQBYAvEE +fwOnBOkAXQXKBV4DNQB8A9sAfQJWAGEFzwXQBdEAZQThAuADxABfAE8F1QTXAB8F1wO+BWwF2gJnAEkA +cQB2A4sDHQUTAZ8AYABjBeAATgMWBMEBJgQYAFoAdwXlAFUAbQFZAaAAbgNoBZcAewXqAS8EjgNDBM8A +kwRVAXIDBABUAEoF8wL6BUMAXABMAwwBQQBXA3oF+QWHAHkF+wKBAHAASAOZAHMAdQNIAFABngU1A78G +AgK5A0IAcgYFBQAFKAE5AFkEogBmAsEGCwRxAs4GDgVRBhAEJgPJAHgCXoAegJWANYDagG6AoYEBKoA/ +gNyBAX+BAYCBARCBAQaAo4EBboEBaYAbgPeBAS6BASyAGICEgQE6gBqBAYaAnYEBmYEBB4EBEYEBpIEB +h4EBA4EBnoA8gQGzgQG8gHGAioDzgAqAvYCbgLKBAR+BASSBAZeBAcSBAa6BASaBAVCBAUGBAcKAuoCn +gQEbgNuBATyA8oEBr4EBZYC7gQFygOeBAXeAfYEBAoEByIEBtYEBj4EBFYEBO4CigOmA/ICBgQGqgQE3 +gAKBAbiA4YEBaoEBwICCgBeBAUWBAVaA0YC1gQFMgFKBAQCBAQuBAZKAfICzgQExgDGA+IDVgQFbgQHK +gKyBATCAQIBXgQE1gMiBAXiBAW2BAZ2AMoEBIIDKgQE2gAuBAQyARICtgKaAMIEBz4CogQFcgN+AO4Cu +gDeAuIDMgQGigQFzgQFkgQGogIiBAUCACYDWgQFLgQFSgL+Ah4BLgQFXgOWBAZiAloDGgQFJgQHQgQFG +gQFTgDaA0IEBJ4EBGoCXgQGLgQEWgJyBAaGBAWGBAZ+A/YDjgQFggH7SAA4APgIGChSAY68QpgoVChYK +FwoYChkKGgobChwKHQoeCh8KIAohCiIKIwokCiUKJgonCigKKQoqCisKLAotCi4KLwowCjEKMgozCjQK +NQo2CjcKOAo5CjoKOwo8Cj0KPgo/CkAKQQpCCkMKRApFCkYKRwpICkkKSgpLCkwKTQpOCk8KUApRClIK +UwpUClUKVgpXClgKWQpaClsKXApdCl4KXwpgCmEKYgpjCmQKZQpmCmcKaAppCmoKawpsCm0KbgpvCnAK +cQpyCnMKdAp1CnYKdwp4CnkKegp7CnwKfQp+Cn8KgAqBCoIKgwqECoUKhgqHCogKiQqKCosKjAqNCo4K +jwqQCpEKkgqTCpQKlQqWCpcKmAqZCpoKmwqcCp0KngqfCqAKoQqiCqMKpAqlCqYKpwqoCqkKqgqrCqwK +rQquCq8KsAqxCrIKswq0CrUKtgq3CrgKuQq6gQJIgQJJgQJKgQJLgQJMgQJNgQJOgQJPgQJQgQJRgQJS +gQJTgQJUgQJVgQJWgQJXgQJYgQJZgQJagQJbgQJcgQJdgQJegQJfgQJggQJhgQJigQJjgQJkgQJlgQJm +gQJngQJogQJpgQJqgQJrgQJsgQJtgQJugQJvgQJwgQJxgQJygQJzgQJ0gQJ1gQJ2gQJ3gQJ4gQJ5gQJ6 +gQJ7gQJ8gQJ9gQJ+gQJ/gQKAgQKBgQKCgQKDgQKEgQKFgQKGgQKHgQKIgQKJgQKKgQKLgQKMgQKNgQKO +gQKPgQKQgQKRgQKSgQKTgQKUgQKVgQKWgQKXgQKYgQKZgQKagQKbgQKcgQKdgQKegQKfgQKggQKhgQKi +gQKjgQKkgQKlgQKmgQKngQKogQKpgQKqgQKrgQKsgQKtgQKugQKvgQKwgQKxgQKygQKzgQK0gQK1gQK2 +gQK3gQK4gQK5gQK6gQK7gQK8gQK9gQK+gQK/gQLAgQLBgQLCgQLDgQLEgQLFgQLGgQLHgQLIgQLJgQLK +gQLLgQLMgQLNgQLOgQLPgQLQgQLRgQLSgQLTgQLUgQLVgQLWgQLXgQLYgQLZgQLagQLbgQLcgQLdgQLe +gQLfgQLggQLhgQLigQLjgQLkgQLlgQLmgQLngQLogQLpgQLqgQLrgQLsgQLtEQGsEQFxEQFoEQFtEQGC +EOkRAcURAdkRASgQzhDfEQGAENQQSBEBcBEBoxEBdREB1xEBzhEBfBEBrREBaREBpxEBKxBREDgQgRDP +ENAQHRDDEI8QyhDVEQFcEQHGEQHbEMkQ1xEBsRDBEQHVEOQRAbgQTxATENYRAWMRAZoRAV8RAScRAdAR +AWIRASkRASoRASwQ4RDaEMYRAbAQVxEBrhEBchDbEOMQXBDdEFIRAW8RAVkQxBEB3BDwEQHYENkQfREB +4BDYEQGkEJEQ0xEBphEB1hEBbBAlEMsRAasQzBEByREB0hEBahB8EN4RAagQUBAFEE4Q8RDgEGcQ9REB +axEBgREByxB/EQG1EJYRAXQQ7BAYEMcRAbMQfhDNEEsRAZsQ0hEBZRAnE//////////9EQFdEMURAdEQ +6xDcEGoRAc8RAbQQlRBNEOgQUxEB2hEBZBDnENEQ5hCOEQG2EQHeEQHIEBcRAaUQShCIEQGyEQHfEQF6 +EHAQOhBvEOIRAV4RAW4QOREBWBCGEEkQkBEBWhCDEO8RAa8RAVvSAA4APgBGC2GAZKDSAA4APgIGC2SA +Y6DSAA4APgIGC2eAY6DSADcAOAtpC2qiC2oAO15OU0lCT2JqZWN0RGF0YQAIABkAIgAnADEAOgA/AEQA +UgBUAGYGTgZUBp8GpgatBrsGzQbpBvcHAwcPBx0HKAc2B1IHYAdzB4UHnwepB7YHuAe7B74HwQfEB8YH +yQfLB84H0QfUB9cH2QfbB94H4QfkB+cH8Af8B/4IAAgOCBcIIAgrCDAIPwhICFsIZAhvCHEIcgh7CIII +jwiVCJ4IoAkPCREJEwkVCRcJGQkbCR0JHwkhCSMJJQknCSkJKwktCS8JMQkzCTUJNwk5CTsJPQk/CUIJ +RQlICUsJTglRCVQJVwlaCV0JYAljCWYJaQlsCW8Jcgl1CXgJewl+CYEJhAmHCYoJjQmQCZMJlgmZCaYJ +rwm3CbkJuwm9Cd4J5gn6CgUKEwodCioKMQozCjUKOgo8CkEKQwpFCkcKVApgCmMKZgppCm4KcAp9CowK +jgqQCpIKmgqsCrUKugrNCtoK3AreCuAK8wr8CwELDAsSCxsLIgs6C0kLWgtoC2oLbAtuC3ALeQt7C30L +lQu2C8gL0AvXC+AL6gvzC/8MAQwDDAUMBwwKDAsMDQwPDDAMOwxHDEkMSwxNDFAMUgxUDFYMWAxxDJoM +pgy6DMUMzwzdDOoM/g0UDSANKQ0rDS0NLw0xDTMNOA05DTsNPQ0+DU8NVg1dDWYNaA1xDXMNdg2DDYwN +kQ2YDaANtQ29DcoN1g3kDeYN6A3qDewN7g31DgsOGA4gDiIOJA4nDjAONQ5KDkwOTg5QDlIOXA5pDmsO +bg53DoAOkg6fDqgOsw6/DskO0A7cDukO8g75DxAPHQ8fDyEPIw9ED0YPSA9ND08PUQ9TD1UPZg9pD2wP +bw9yD4cPmQ+mD6gPqg+sD80Pzw/RD9MP1Q/XD9kP5g/pD+wP7xAFEAcQERAeECAQIhAkEEUQRxBJEEsQ +TRBPEFEQWBBgEHEQcxB1EHcQeRCqELcQxBDSENwQ6hEDERARIhE2EUARTBFOEVARUhFUEVkRWxFdEV8R +YRFjEWURZxGCEY4RwxHdEf8SGRI7Ek8SbBKAEpwSvxLcEvMTCRMLEw0TDhMQExETExMVExcTGBMZExsT +HRMmEzATMhNZE2ITaRN7E4QTkROZE5sTohOkE6YTqBOvE7ETsxO1E9wUAxQdFGAUghSWFK0UwxTeFPQV +ERUrFUcVXhVxFYgVnxW0FckVyxXNFc8V0BXSFdMV1RXWFdgV2hXcFeUV5xXpFesV7RX2FfgV/xYMFg4W +EBYSFhwWIxYsFjEWPxaCFoQWhhaHFokWihaMFo0WjxaRFpMWlRaXFpkWmxakFqYWrha7Fr0WvxbBFsgX +CxcNFw8XEBcSFxMXFRcWFxgXGhccFx4XIBciFyQXKxdLF2AXbRd0F3YXeBd9F38XgReKF5MXlReYF5oX +oxelF6oXrBeuF7cXzhfQF9IokCiZKKAosyi+KMcozCjUKN0o5CjzKQApAikHKRApFSktKTYpPSlTKWAp +aSlrKXIpdCl2KXgpgSmDKYgpiimMKZUplymYKaEppimwKbsp2CnaKdwp3inhKeMp5SnnKfAp8in1Kfcq +FCoWKhgqGyodKh8qISojKiwqNSpCKksqUiprKnYqfyqEKpcqoCqtKq8qsSqzKtQq1irYKtoq3CreKuAq +7SrwKvMq9isUKzUrRitIK0orTCtOK28rcStzK3Urdyt4K3orfCuUK70rxivIK8orzCvOK9Ar0SvTK9Ur +6Sv4LAksCywNLA8sESwyLDQsNiw4LDosOyw9LD8sVyyQLKYstCzJLNgs6yz9LQ8tHS0iLSQtJi0oLSot +LC0uLTAtMi00LTYtOC09LVctZC1mLWgtai1zLXwtiC2KLYwtlS2aLbAtuS3CLc8t2C3jLewt9i4DLgUu +By4JLiouLC4uLjAuMi40LjYuSy5aLl0uYC5jLmYuZy59Ln8uii6XLpkumy6dLr4uwC7CLsQuxi7ILsou +1y7aLt0u4C7mLugu9i8DLwUvBy8JLyovLC8uLzAvMi80LzYvQy9GL0kvTC9bL2ovdy95L3svfS+iL6gv +qi+sL64vsC+yL7QvwS/EL8cvyi/WL9gv+DAFMAcwCTALMCwwLjAwMDIwNDA2MDgwRTBIMEswTjBiMGQw +hDCVMJcwmTCbMJ0wvjDAMMIwxDDGMMcwyTDLMOQxDTEPMRExEzEVMRcxGDEaMRwxITErMTwxPjFAMUIx +RDFRMWIxZDFmMWgxajGDMYUxhzGJMYsxjTGWMZgxnzGhMaMxpTHCMcQxxjHIMcoxyzHNMeUyBjILMg0y +DzIRMhMyFTIXMikyPjJAMkIyRDJGMlMyYDJiMm4ygzKFMocyiTKLMp4yuzK9Mr8ywTLDMsQyxjLeMwcz +CTMLMw0zDzMRMxIzFDMWMxwzOTM7Mz0zPzNBM0IzRDNtM28zcTNzM3UzdzN4M3ozfDOFM5AznDOpM6sz +rTOvM9Az0jPUM9Yz2DPaM9wz4jPkM+sz+DP6M/wz/jQjNCU0JzQpNCs0LTQvNDo0PDRWNGM0ZTRnNGk0 +ijSMNI40kDSSNJQ0ljSjNKY0qTSsNNM09TUGNQg1CjUMNQ41FzUZNSg1KjUsNS41MDUyNTQ1NjVXNVk1 +WzVdNV81YDViNWQ1jTWPNZE1kzWVNZc1mDWaNZw1sDXRNdM11TXXNdk12jXcNd419zYYNho2HDYeNiA2 +IjYkNjY2ZzZxNn02izaYNqI2tDa2Nrg2uja8Nr02vzbBNsM2xTbdNvo2/Db+NwA3AjcENwg3FTcXNyU3 +Ljc3Nz03SDdTN2A3YjdkN2Y3hzeJN4s3jTePN5E3kzeiN6Q3szfAN8I3xDfGN+c36TfrN+037zfxN/M4 +ADgCOBE4HjggOCI4JDhFOEc4SThLOE04TzhROFY4Yzh0OHY4eDh6OH04hjiTOJU4mDibOLw4vjjBOMM4 +xTjHOMk41zjlOPY4+Dj6OP05ADkhOSM5JjkpOSs5LTkvOUg5SjlWOWM5ZTloOWs5jDmOOZE5lDmWOZg5 +mjmfOaE5rzm8Ob45wTnEOeU55znqOe057znxOfM5+Dn6OgA6DToPOhI6FTo2Ojg6Ozo+OkA6QjpEOlo6 +XDpiOm86cTp0Onc6mDqaOp06ojqlOqc6qTqrOrg6ujrQOt063zriOuU7BjsIOws7DjsQOxI7FDsYOxo7 +HzswOzI7NDs2Ozk7QTtOO1A7UztWO3s7fTuAO4I7hDuGO4g7mzu2O8c7yTvLO8070DvbO+w77jvwO/I7 +9TwDPBQ8FjwYPBo8HTwsPDk8Ozw+PEE8YjxkPGc8ajxsPG48cDyBPIM8lTyiPKQ8pzyqPMs8zTzQPNI8 +1DzWPNk86jztPPA88zz2PQE9GT0mPSg9Kz0uPU89UT1UPVc9WT1bPV49az1uPXE9dD2APYI9jz2RPZQ9 +lz28Pb49wT3EPcY9yD3KPdc92T39Pgo+DD4PPhI+Lz4xPjQ+Nj44Pjo+PD5OPmc+eD56Pnw+fj6BPo0+ +mj6cPp8+oj7DPsU+yD7LPs0+zz7RPu4+8D8CPxM/FT8XPxk/HD8jPzQ/Nj84Pzs/Pj9bP10/YD9iP2Q/ +Zj9oP38/nz+sP64/sT+0P9U/1z/aP90/3z/hP+M/7D/uQARAEUATQBZAGUA6QDxAP0BCQERARkBIQE1A +T0BVQGJAZEBnQGpAi0CNQJBAkkCUQJZAmEC2QM9A3EDeQOFA5EEFQQdBCkENQQ9BEUETQR5BIEErQThB +OkE9QUBBYUFjQWZBaUFrQW1Bb0F7QZRBoUGjQaZBqUHKQcxBz0HSQdRB1kHYQeNB5UHzQgBCAkIFQghC +LUI3QjlCO0I+QkFCQ0JFQkdCVUJXQmZCc0J1QnhCe0KcQp5CoUKjQqVCp0KpQrJCy0LUQtZDt0O5Q7tD +vUPAQ8NDxUPIQ8pDzEPOQ9BD00PVQ9hD20PeQ+FD5EPnQ+pD7EPvQ/JD9EP2Q/hD+kP8Q/9EAkQFRAhE +C0QNRBBEEkQVRBhEG0QdRB9EIUQkRCdEKkQtRC9EMUQ0RDdEOkQ8RD9EQkREREZESERLRE1EUERSRFVE +V0RZRFxEXkRgRGJEZURoRGpEbURvRHJEdER3RHlEe0R+RIBEg0SFRIdEiUSMRI9EkkSURJZEmESaRJ1E +n0SiRKREpkSpRKxEr0SxRLREtkS5RLxEvkTBRMREx0TJRMtEzUTSRNtE3UTiROVE50TwRPVFHkUsRTlF +O0U9RT5FQEVBRUNFRUVHRVhFW0VeRWFFZEVtRXZFeEV5RYtFkkWbRZ1FokWkRadF0EXaReNF5UXoRetF +7UXvRfFF9EX3RghGC0YORhFGFEYbRipGM0Y1RjpGPUZARmFGY0ZmRmlGa0ZtRnBGe0aARolGi0aiRqVG +qEarRq5GsEazRrZGuUa8Rr9GwUbiRuRG50bqRuxG7kbwRvRG9kcfRyFHJEcnRylHK0ctRy9HMkc+R0dH +SUdMR09HaEeRR5NHlUeWR5hHmUebR51Hn0fIR8pHzEfNR89H0EfSR9RH1kf/SAFIA0gGSAhICkgMSA9I +EkghSCpILEhDSEZISUhMSE9IUkhVSFhIW0heSGFIY0iMSI5IkEiRSJNIlEiWSJhImkjDSMVIx0jISMpI +y0jNSM9I0Uj6SPxI/0kCSQRJBkkISQpJDUk2SThJOkk7ST1JPklASUJJREltSW9JcUlySXRJdUl3SXlJ +e0mISa1Jr0mySbVJt0m5SbtJxUnPSdhJ2knpSexJ70nySfVJ+En7Sf5KJ0opSitKLkowSjJKNEo3SjpK +Y0plSmdKakpsSm5KcEpzSnZKe0qESoZKoUqkSqZKqUqsSq9KsUqzSrZKuUq8Sr9KwkrFSu5K8ErySvNK +9Ur2SvhK+kr8SyVLJ0spSyxLLkswSzJLNEs3SzxLRUtHS1JLVEtXS1pLXUtfS4RLhkuJS4tLjUuPS5FL +n0vES8ZLyUvMS85L0EvSS9RL7UvvTBhMGkwcTB9MIUwjTCVMJ0wqTEFMSkxMTFVMWExaTFxMX0yITIpM +jEyPTJFMk0yVTJdMmkyoTLFMs0y6TL1MwEzCTOtM7UzvTPJM9Ez2TPhM+kz9TSZNKE0qTS1NL00xTTNN +Nk05TWJNZE1mTWlNa01tTW9Nck11TXxNhU2HTZBNk02VTZhNmk3DTcVNx03ITcpNy03NTc9N0U3gTglO +C04NThBOEk4UThZOGU4cTiFOKk4sTi9OMU49TkZOSE5KTlNOVU5YTmRObU5vT1BPUk9UT1dPWU9cT19P +YU9jT2VPZ09pT2xPb09yT3RPdk94T3pPfE9+T4BPgk+ET4ZPiE+KT4xPjk+QT5NPlU+XT5pPnE+eT6BP +o0+lT6dPqU+rT61Pr0+xT7NPtk+4T7pPvU/AT8JPxE/GT8hPyk/MT85P0E/ST9RP1k/YT9pP3E/fT+FP +40/lT+dP6U/sT+5P8E/zT/ZP+E/6T/xP/lABUANQBlAJUAtQDVAPUBJQFFAWUBhQGlAcUB5QIFAiUCRQ +JlAoUCpQLFAuUDFQNFA2UDhQOlA8UD5QQFBCUEVQTlBQUTNRNVE3UTlRPFE/UUFRRFFGUUhRSlFMUU9R +UVFUUVdRWVFcUV9RYlFlUWdRaVFsUW5RcVFzUXVReFF7UX5RgVGEUYdRiVGMUY9RkVGUUZdRmVGbUZ1R +oFGjUaZRqVGrUa1RsFGzUbVRt1G6Ub1RwFHCUcRRxlHJUctRzlHQUdNR1VHXUdpR3FHeUeBR41HlUedR +6lHtUfBR8lH0UfdR+VH8Uf5SAVIDUgVSB1IKUg1SEFISUhRSFlIYUhtSHVIfUiFSJFInUipSLVIvUjJS +NFI3UjpSPFI/UkJSRVJHUklSS1JUUlZTOVM8Uz9TQlNFU0hTS1NOU1FTVFNXU1pTXVNgU2NTZlNpU2xT +b1NyU3VTeFN7U35TgVOEU4dTilONU5BTk1OWU5lTnFOfU6JTpVOoU6tTrlOxU7RTt1O6U71TwFPDU8ZT +yVPMU89T0lPVU9hT21PeU+FT5FPnU+pT7VPwU/NT9lP5U/xT/1QCVAVUCFQLVA5UEVQUVBdUGlQdVCBU +I1QmVClULFQvVDJUNVQ4VDtUPlRBVERUR1RKVExUT1RSVFVUWFRbVF5UYVRkVGdUalRtVHBUc1R2VHlU +fFR/VIJUhVSIVJpUp1SzVL9U0VTfVQRVEFUpVT1VSFVdVWlVhlWKVapVvVXGVeJV7FYBVg9WJ1ZPVmtW +iFabVrdWuVbOVtpW7VcIV0dXYldwV4pXnVe2V8RX6FgSWB5YIFhFWF9YfFiOWKFYtljDWNBY81kNWSJZ +L1lDWVdZjlmnWcFZzlnQWfFZ81n1WgxaJFo4Wk9aXFpqWnZaiFqhWqlatVq3Wtda41r6Ww1bGVsbWy9b +O1s9W1BbdlubW79b1lv2XANcCFwMXBlcHFw/XGFcgFyYXLFc01zXXONdDV0kXTddS11pXXJddF11XX5d +gF2BXYpdjF7bXt1e317hXuNe5V7nXupe7F7uXvFe9F73Xvpe/F7/XwJfBF8GXwlfDF8OXxBfE18VXxhf +Gl8dXyBfI18mXylfLF8vXzFfNF83XzlfO189Xz9fQV9DX0VfSF9LX05fUV9UX1dfWl9dX2BfYl9kX2df +aV9sX25fcV90X3ZfeV97X35fgF+DX4ZfiV+MX49fkl+UX5ZfmF+aX51foF+iX6Vfp1+qX61fr1+xX7Rf +t1+5X7tfvl/AX8Nfxl/JX8tfzV/QX9Jf1F/WX9lf3F/eX+Ff41/lX+hf6l/tX/Bf81/1X/hf+l/9X/9g +AmAEYAZgCGAKYA1gD2ASYBRgFmAYYBpgHGAeYCFgJGAnYCpgLGAvYDFgM2A2YDlgO2A9YD9gQmBEYEdg +SWBLYE5gUWBUYFdgWWBbYF5gYWBjYGZgaWBrYG5gcWB0YHZgeGB7YH1ghmCIYddh2mHdYeBh42HmYelh +7GHvYfJh9WH4Yfth/mIBYgRiB2IKYg1iEGITYhZiGWIcYh9iImIlYihiK2IuYjFiNGI3YjpiPWJAYkNi +RmJJYkxiT2JSYlViWGJbYl5iYWJkYmdiamJtYnBic2J2YnlifGJ/YoJihWKIYotijmKRYpRil2KaYp1i +oGKjYqZiqWKsYq9ismK1Yrhiu2K+YsFixGLHYspizWLQYtNi1mLZYtxi32LiYuVi6GLrYu5i8WL0Yvdi ++mL9YwBjA2MGYwljDGMPYxJjFWMYYxtjHmMhYyRjJ2MqYy1jMGMzYzZjOWM8Yz9jQmNFY0hjS2NOY1Fj +VGNXY1pjXWNgY2NjZmNpY2xjb2NyY3VjeGN7Y35jgWOEY4djimONY5Bjk2OWY5ljnGOfY6JjpWOoY6tj +rmOxY7Rjt2O6Y71jwGPDY8ZjyWPMY89j0mPVY9hj2mPdY+Bj42PlY+dj6mPsY+5j8WP0Y/dj+mP9ZABk +A2QGZAlkDGQOZBBkEmQUZBZkGGQaZBxkHmQgZCNkJmQpZCtkLWQwZDJkNWQ3ZDpkPGQ+ZEBkQ2RGZElk +TGRPZFJkVWRYZFtkXWRfZGFkZGRmZGlkbGRuZHBkcmR0ZHZkeWR8ZH5kgWSDZIZkiGSKZI1kj2SSZJRk +lmSZZJxkn2ShZKNkpmSoZKtkrmSxZLNktWS4ZLpkvGS+ZMBkwmTEZMZkyWTMZM9k0WTUZNZk2WTbZN1k +32TiZORk5mToZOtk7WTwZPJk+2T+ZQBlA2UFZQdlCWUMZQ9lEWUTZRVlF2UaZR1lH2UhZSNlJWUoZStl +LmUwZTNlNWU3ZTplPWVAZUJlRGVGZUhlS2VOZVBlU2VVZVdlWWVcZV5lYGVjZWZlb2VxZXJle2V9ZX5l +h2WJZYplk2WYAAAAAAAAAgIAAAAAAAALawAAAAAAAAAAAAAAAAAAZac + + + diff --git a/English.lproj/MainMenu.nib/keyedobjects.nib b/English.lproj/MainMenu.nib/keyedobjects.nib new file mode 100755 index 0000000..7f000f3 Binary files /dev/null and b/English.lproj/MainMenu.nib/keyedobjects.nib differ diff --git a/English.lproj/MyDocument.nib/designable.nib b/English.lproj/MyDocument.nib/designable.nib new file mode 100755 index 0000000..9b27d80 --- /dev/null +++ b/English.lproj/MyDocument.nib/designable.nib @@ -0,0 +1,2659 @@ + + + + 1050 + 9L31a + 629 + 949.54 + 353.00 + + YES + + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + + + YES + + MyDocument + + + FirstResponder + + + 15 + 2 + {{110, 272}, {507, 439}} + 1886912512 + Reverso Context + NSWindow + View + {94, 86} + + + 256 + + YES + + + 271 + {{132, 394}, {100, 26}} + + + YES + + -2076049856 + 2048 + + LucidaGrande + 1.300000e+01 + 1044 + + + 109199615 + 1 + + + 400 + 75 + + + Inglese + + 1048576 + 2147483647 + 1 + + NSImage + NSMenuCheckmark + + + + NSMenuMixedState + + _popUpItemAction: + + + YES + + OtherViews + + YES + + + + Francese + + 1048576 + 2147483647 + + + _popUpItemAction: + 1 + + + + + Italiano + + 1048576 + 2147483647 + + + _popUpItemAction: + 2 + + + + + Arabo + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Cinese + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Ebraico + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Giapponese + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Olandese + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Polacco + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Portoghese + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Rumeno + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Russo + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Spagnolo + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Tedesco + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Turco + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + 1 + YES + YES + 2 + + + + + 10 + {{20, 346}, {467, 5}} + + + {0, 0} + + 67239424 + 0 + Box + + + 6 + System + textBackgroundColor + + 3 + MQA + + + + 3 + MCAwLjgwMDAwMDAxAA + + + 3 + 2 + 0 + NO + + + + 271 + {{277, 394}, {100, 26}} + + + YES + + -2076049856 + 2048 + + + 109199615 + 1 + + + 400 + 75 + + + + + 1048576 + 2147483647 + 1 + + + _popUpItemAction: + 2 + + + YES + + + + YES + + + + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + + 1048576 + 2147483647 + + + _popUpItemAction: + 1 + + + + + + + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + 2 + 1 + YES + YES + 2 + + + + + 269 + {{234, 401}, {41, 17}} + + + YES + + 67239488 + 138413056 + 4oaSA + + + + 6 + + controlColor + + 3 + MC42NjY2NjY2OQA + + + + 6 + + controlTextColor + + 3 + MAA + + + + + + + 18 + + YES + + + 274 + + YES + + + 274 + + YES + + + 2304 + + YES + + + 256 + {410, 211} + + + YES + + + 256 + {410, 17} + + + + + + + 256 + {{411, 0}, {16, 17}} + + + + + YES + + s_example + 1.010000e+02 + 4.000000e+01 + 1.000000e+03 + + 75628032 + 0 + Source Example + + + 1.100000e+01 + 3100 + + + 3 + MC4zMzMzMzI5OQA + + + 6 + + headerTextColor + + + + + 337772096 + 2048 + Text Cell + + + + 6 + + controlBackgroundColor + + + + + 3 + YES + YES + + + + t_example + 3.030000e+02 + 4.000000e+01 + 1.000000e+03 + + 75628032 + 0 + Target Example + + + + + + 337772096 + 2048 + + + + + + + 3 + YES + YES + + + + 3.000000e+00 + 2.000000e+00 + + + 6 + + gridColor + + 3 + MC41AA + + + 1.700000e+01 + -700448768 + 4 + 15 + 0 + YES + + + {{1, 17}, {410, 211}} + + + + + + 4 + + + + 256 + {{411, 17}, {15, 211}} + + + + _doScroller: + 3.700000e+01 + 1.947368e-01 + + + + 256 + {{1, 228}, {410, 15}} + + + 1 + + + 5.714286e-01 + + + + 2304 + + YES + + + {{1, 0}, {410, 17}} + + + + + + 4 + + + + {{17, 17}, {427, 244}} + + + + 50 + + + + + + QSAAAEEgAABBmAAAQZgAAA + + + {{10, 33}, {461, 264}} + + + + + {{13, 34}, {481, 310}} + + + + YES + + 1 + + Context + + + + + 2 + + + 256 + + YES + + + 274 + + YES + + + 2304 + + YES + + + 256 + {410, 211} + + YES + + + 256 + {410, 17} + + + + + + 256 + {{411, 0}, {16, 17}} + + + + YES + + translation + 4.070000e+02 + 4.000000e+01 + 1.000000e+03 + + 75628032 + 0 + Translation + + + 3 + MC4zMzMzMzI5OQA + + + + + 337772096 + 2048 + Text Cell + + + + + + 3 + YES + YES + + + + 3.000000e+00 + 2.000000e+00 + + + 1.700000e+01 + -700448768 + 4 + 15 + 0 + YES + + + {{1, 17}, {410, 211}} + + + + + 4 + + + + 256 + {{411, 17}, {15, 211}} + + + + 3.700000e+01 + 1.947368e-01 + + + + 256 + {{1, 228}, {410, 15}} + + 1 + + + 9.319728e-01 + + + + 2304 + + YES + + + {{1, 0}, {410, 17}} + + + + + 4 + + + + {{17, 17}, {427, 244}} + + + 50 + + + + + + QSAAAEEgAABBmAAAQZgAAA + + + {{10, 33}, {461, 264}} + + + + + + + + + 0 + YES + YES + + + + 265 + {{397, 376}, {96, 32}} + + + YES + + 67239424 + 134217728 + Drawer + + + -2038284033 + 129 + + + 200 + 25 + + + + + 266 + {{20, 356}, {467, 22}} + + + YES + + 343014976 + 268436480 + + + What do you want to translate? + + YES + 1 + + + + 130560 + 0 + search + _searchFieldSearch: + + + 138690815 + 0 + + 400 + 75 + + + 130560 + 0 + clear + + YES + + YES + + YES + AXDescription + NSAccessibilityEncodedAttributesValueType + + + YES + annulla + + + + + _searchFieldCancel: + + + 138690815 + 0 + + 400 + 75 + + 255 + + + + + 1281 + + {{471, 20}, {16, 16}} + + + 28938 + 1.600000e+01 + 1.000000e+02 + + + {507, 439} + + + + {{0, 0}, {1280, 1002}} + {94, 108} + + + NSApplication + + + + {100, 100} + + {10000, 10000} + 2 + 0.000000e+00 + 1.500000e+01 + + + + + + 256 + + YES + + + 266 + {{17, 289}, {293, 17}} + + YES + + 67239488 + 272630784 + Favorites + + + + + + + + + 10 + {{20, 278}, {287, 5}} + + + + 67239424 + 0 + + + + + 3 + MCAwLjgwMDAwMDAxAA + + + 3 + 2 + 0 + NO + + + + 274 + + YES + + + 2304 + + YES + + + 256 + {270, 219} + + YES + + + 256 + {270, 17} + + + + + + 256 + {{271, 0}, {16, 17}} + + + + YES + + 1.010000e+02 + 4.000000e+01 + 1.000000e+03 + + 75628032 + 0 + + + + 3 + MC4zMzMzMzI5OQA + + + + + 337772096 + 2048 + + + + + + + 3 + YES + YES + + + + 1.630000e+02 + 4.000000e+01 + 1.000000e+03 + + 75628032 + 0 + + + + + + + 337772096 + 2048 + + + + + + + 3 + YES + YES + + + + 3.000000e+00 + 2.000000e+00 + + + 1.700000e+01 + -700448768 + 4 + 15 + 0 + YES + + + {{1, 17}, {270, 219}} + + + + + 4 + + + + 256 + {{271, 17}, {15, 219}} + + + + 3.700000e+01 + 1.947368e-01 + + + + 256 + {{1, 236}, {270, 15}} + + 1 + + + 5.714286e-01 + + + + 2304 + + YES + + + {{1, 0}, {270, 17}} + + + + + 4 + + + + {{20, 20}, {287, 252}} + + + 50 + + + + + + QSAAAEEgAABBmAAAQZgAAA + + + {327, 326} + NSView + + + + + YES + + + delegate + + + + 17 + + + + sourceLanguage + + + + 100083 + + + + targetLanguage + + + + 100084 + + + + sourceLanguageSelected: + + + + 100085 + + + + targetLanguageSelected: + + + + 100086 + + + + resultsTableView + + + + 100119 + + + + drawer + + + + 100128 + + + + + + + + 100129 + + + + toggleDrawer: + + + + 100130 + + + + parentWindow + + + + 100131 + + + + dataSource + + + + 100145 + + + + + + + + 100146 + + + + tabView + + + + 100148 + + + + searchField + + + + 100151 + + + + search: + + + + 100152 + + + + contentView + + + + 100207 + + + + window + + + + 100242 + + + + spinner + + + + 100243 + + + + + YES + + 0 + + YES + + + + + + -2 + + + RmlsZSdzIE93bmVyA + + + -1 + + + First Responder + + + 5 + + + YES + + + + Window + + + 6 + + + YES + + + + + + + + + + + + + -3 + + + Application + + + 100023 + + + YES + + + + + + 100024 + + + YES + + + + + + 100025 + + + YES + + + + + + + + + + + + + + + + + + + + 100026 + + + + + 100027 + + + + + 100028 + + + + + 100037 + + + + + 100051 + + + + + 100052 + + + + + 100053 + + + + + 100054 + + + + + 100055 + + + + + 100056 + + + + + 100057 + + + + + 100058 + + + + + 100059 + + + + + 100060 + + + + + 100061 + + + + + 100062 + + + + + 100065 + + + YES + + + + + + 100066 + + + YES + + + + + + 100067 + + + YES + + + + + + + + + + + + + + + + + + + + 100068 + + + + + 100069 + + + + + 100070 + + + + + 100071 + + + + + 100072 + + + + + 100073 + + + + + 100074 + + + + + 100075 + + + + + 100076 + + + + + 100077 + + + + + 100078 + + + + + 100079 + + + + + 100080 + + + + + 100081 + + + + + 100082 + + + + + 100094 + + + YES + + + + + + 100095 + + + + + 100096 + + + YES + + + + + + + 100097 + + + YES + + + + + + 100098 + + + YES + + + + + + 100099 + + + YES + + + + + + 100100 + + + YES + + + + + + 100101 + + + YES + + + + + + + + + 100102 + + + + + 100103 + + + + + 100104 + + + YES + + + + + + + 100105 + + + + + 100106 + + + YES + + + + + + 100107 + + + YES + + + + + + 100108 + + + + + 100109 + + + + + 100110 + + + YES + + + + + + + + + 100111 + + + + + 100112 + + + + + 100113 + + + YES + + + + + + 100114 + + + + + 100115 + + + YES + + + + + + 100118 + + + + + 100122 + + + + + 100126 + + + YES + + + + + + 100127 + + + + + 100149 + + + YES + + + + + + 100150 + + + + + 100153 + + + + + 100183 + + + YES + + + + + + + + 100184 + + + YES + + + + + + 100185 + + + + + 100186 + + + + + 100187 + + + YES + + + + + + + + + 100188 + + + + + 100189 + + + + + 100190 + + + YES + + + + + + + 100191 + + + + + 100192 + + + YES + + + + + + 100193 + + + YES + + + + + + 100194 + + + + + 100195 + + + + + + + YES + + YES + -1.IBPluginDependency + -2.IBPluginDependency + 100023.IBPluginDependency + 100024.IBPluginDependency + 100025.IBPluginDependency + 100025.editorWindowContentRectSynchronizationRect + 100026.IBPluginDependency + 100027.IBPluginDependency + 100028.IBPluginDependency + 100037.IBPluginDependency + 100051.IBPluginDependency + 100052.IBPluginDependency + 100053.IBPluginDependency + 100054.IBPluginDependency + 100055.IBPluginDependency + 100056.IBPluginDependency + 100057.IBPluginDependency + 100058.IBPluginDependency + 100059.IBPluginDependency + 100060.IBPluginDependency + 100061.IBPluginDependency + 100062.IBPluginDependency + 100065.IBPluginDependency + 100066.IBPluginDependency + 100067.IBPluginDependency + 100067.editorWindowContentRectSynchronizationRect + 100068.IBPluginDependency + 100069.IBPluginDependency + 100070.IBPluginDependency + 100071.IBPluginDependency + 100072.IBPluginDependency + 100073.IBPluginDependency + 100074.IBPluginDependency + 100075.IBPluginDependency + 100076.IBPluginDependency + 100077.IBPluginDependency + 100078.IBPluginDependency + 100079.IBPluginDependency + 100080.IBPluginDependency + 100081.IBPluginDependency + 100082.IBPluginDependency + 100094.IBPluginDependency + 100095.IBPluginDependency + 100096.IBAttributePlaceholdersKey + 100096.IBPluginDependency + 100097.IBPluginDependency + 100098.IBPluginDependency + 100099.IBPluginDependency + 100100.IBPluginDependency + 100101.IBPluginDependency + 100102.IBPluginDependency + 100103.IBPluginDependency + 100104.IBPluginDependency + 100105.IBPluginDependency + 100106.IBPluginDependency + 100107.IBPluginDependency + 100108.IBPluginDependency + 100109.IBPluginDependency + 100110.IBPluginDependency + 100111.IBPluginDependency + 100112.IBPluginDependency + 100113.IBPluginDependency + 100114.IBPluginDependency + 100115.IBPluginDependency + 100118.IBPluginDependency + 100122.CustomClassName + 100122.IBPluginDependency + 100126.IBPluginDependency + 100127.IBPluginDependency + 100149.IBPluginDependency + 100150.IBPluginDependency + 100153.IBPluginDependency + 100183.IBPluginDependency + 100183.editorWindowContentRectSynchronizationRect + 100184.IBPluginDependency + 100185.IBPluginDependency + 100186.IBPluginDependency + 100187.IBPluginDependency + 100188.IBPluginDependency + 100189.IBPluginDependency + 100190.IBPluginDependency + 100191.IBPluginDependency + 100192.IBPluginDependency + 100193.IBPluginDependency + 100194.IBPluginDependency + 100195.IBPluginDependency + 5.IBPluginDependency + 5.IBWindowTemplateEditedContentRect + 5.ImportedFromIB2 + 5.NSWindowTemplate.visibleAtLaunch + 5.editorWindowContentRectSynchronizationRect + 5.windowTemplate.hasMinSize + 5.windowTemplate.minSize + 6.IBPluginDependency + 6.ImportedFromIB2 + + + YES + + + + + + {{119, 217}, {149, 303}} + + + + + + + + + + + + + + + + + + + + {{221, 217}, {149, 303}} + + + + + + + + + + + + + + + + + + + InitialTabViewItem + + + + + + + + + + + + + + + + + + + + + + + + + + + + FavoritesController + + + + + + + + {{174, 106}, {327, 326}} + + + + + + + + + + + + + + {{80, 163}, {507, 439}} + + + + + {94, 86} + + + + + + YES + + YES + + + YES + + + + + YES + + YES + + + YES + + + + 100243 + + + + YES + + MyDocument + NSDocument + + YES + + YES + openPreferences: + search: + sourceLanguageSelected: + tabChanged: + targetLanguageSelected: + toggleDrawer: + + + YES + id + + + + + + + + + YES + + YES + drawer + drawerView + preferences + resultsTableView + searchField + sourceLanguage + + tabView + targetLanguage + + + YES + NSDrawer + + + NSTableView + NSTextField + NSPopUpButton + NSProgressIndicator + NSTabView + + + + + IBProjectSource + MyDocument.h + + + + FavoritesController + NSDrawer + + YES + + YES + + + YES + + + + YES + + YES + + + YES + + + + + FavoritesController.h + + + + + 0 + ../../Reverso Context.xcodeproj + 3 + + YnBsaXN0MDDUAAEAAgADAAQABQAGAAkAClgkdmVyc2lvblQkdG9wWSRhcmNoaXZlclgkb2JqZWN0cxIA +AYag0QAHAAhdSUIub2JqZWN0ZGF0YYABXxAPTlNLZXllZEFyY2hpdmVyrxECKAALAAwAMQA1ADYAPAA9 +AEIAWgBbAFwAXQBeAF8ACwBsAHcAgwCEAKYArgCvALIAswDHAMwAzQDSANMA1ADXANsA3ADdAN8A4ADy +APwA3AD9AQYA3AEHARAA3AERARoA3AEbASQA3AElAS4A3AEvATgA3AE5AUIA3AFDAUwA3AFNAVYA3AFX +AWAA3AFhAWoA3AFrAXQA3AF1AX4A3AF/AYMBhQGLAZIBpAGlAaYBsAGxAbsBvAG9AcEBwwHGAckBzAHU +AdUB4QHqANwB7gIAANwCCQDcAhIA3AIbANwCJADcAi0A3AI2ANwCPwDcAkgA3AJRANwCWgDcAmMA3AJs +ANwCdQDcAn4ChwKIApECkgKXApgCmwKgAqECpAKnArkCvQLFAskC4ALoAvcC+wMWAxcDHwMpAyoDLQMz +AzQDNwM8A1ADUQNYA1kDXgNhA2YDZwNqA3IDcwN4A3kDfAOFA4YDjAONA5QDmQOaA50DnwOgA6MDrwOw +A7EDtAO9A74DwgPDA8QDxwPIA8oDywPQA9kD2gPbA94D5QPmA+sD7wP7BAMEDAQQAxYEHAQiAykEKwMz +BDAENAQ9BD4ERARFBEcDcgOfBE4DrwRVA70EXQPCA8MDxwRhBGMEbARtBHkEegR8BH4EhwSIBJsEnASl +BKYEpwSwBLEEtQS+BL8EwACbBMEExQTGBMkEzATbBN0E4AThBOQACwTlBOYE5wTqBO4FAwUKBQsFDwUU +BSgFKQUqBSsFLAUvBTAFNQU2BTsFPAVBBUIFRwVIBUsFUAVVBVoFWwVgBWEFZgVnBWwFbQVyBXMFeAV5 +BX4FhAWKBZEFkgWaBZsFowWkBaoFrAW4BcAFyQXNBdkF2gXgBekF6gXvBfAF9QX8BgIGBAYLBhMGGQYg +BiEGKAYpBjAGMQY1BjYGNwGQBjgGOwY8BkEGQgZHBkgGTQZOBqMGpganBqkG/gdUB6oHqwesB60Hrgev +B7AHsQeyB7MHtAe1B7YHtwe4B7kHuge7B7wHvQe+B78HwAfBB8IHwwfEB8UHxgfHB8gHyQfKB8sHzAfN +B84HzwfQB9EH0gfTB9QH1QfWB9cH2AfZB9oH2wfcB90H3gffB+AH4QfiB+MH5AflB+YH5wfoB+kH6gfr +B+wH7QfuB+8H8AfxB/IH8wf0B/UH9gf3B/gH+Qf6B/sH/AgACAQIbAjUCNUI1gG4CNcI2AjZCNoI2wjc +CN0I3gjfCOAI4QjiCOMI5AjlCOYI5wjoCOkI6gjrCOwI7QjuCO8I8AjxCPII8wj0CPUI9gj3CPgI+Qj6 +CPsI/Aj9CP4I/wkACQEJAgkDCQQJBQkGCQcJCAkJCQoJCwkMCQ0JDgkPCRAJEQkSCRMJFAkVCRYJFwkY +CRkJGgkbCRwJHQkeCR8JIAkhCSIJIwkkCSUJJgknCSgJKQkqCSsJLAktCS4JLwkwCTEJMgkzCTQJNQk2 +CTcJOAk7CT4JQVUkbnVsbN8QEgANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAA +IQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMFZOU1Jvb3RWJGNsYXNzXU5TT2JqZWN0c0tleXNf +EA9OU0NsYXNzZXNWYWx1ZXNfEBlOU0FjY2Vzc2liaWxpdHlPaWRzVmFsdWVzXU5TQ29ubmVjdGlvbnNb +TlNOYW1lc0tleXNbTlNGcmFtZXdvcmtdTlNDbGFzc2VzS2V5c1pOU09pZHNLZXlzXU5TTmFtZXNWYWx1 +ZXNfEBlOU0FjY2Vzc2liaWxpdHlDb25uZWN0b3JzXU5TRm9udE1hbmFnZXJfEBBOU1Zpc2libGVXaW5k +b3dzXxAPTlNPYmplY3RzVmFsdWVzXxAXTlNBY2Nlc3NpYmlsaXR5T2lkc0tleXNZTlNOZXh0T2lkXE5T +T2lkc1ZhbHVlc4ACgQIngQFigQG8gQImgQEPgQFngAWBAbuBAb2BAWiBAiSAAIAGgQFmgQIlEgABh5WB +Ab7SAA4AMgAzADRbTlNDbGFzc05hbWWABIADWk15RG9jdW1lbnTSADcAOAA5ADpYJGNsYXNzZXNaJGNs +YXNzbmFtZaIAOgA7Xk5TQ3VzdG9tT2JqZWN0WE5TT2JqZWN0XxAQSUJDb2NvYUZyYW1ld29ya9IADgA+ +AD8AQFpOUy5vYmplY3RzgQEOoQBBgAfcAEMADgBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBT +AFQAVQBWAFcAWABZXE5TV2luZG93Vmlld1xOU1NjcmVlblJlY3RdTlNXaW5kb3dUaXRsZVlOU1dURmxh +Z3NdTlNXaW5kb3dDbGFzc18QFk5TV2luZG93Q29udGVudE1pblNpemVcTlNXaW5kb3dSZWN0XxAPTlNX +aW5kb3dCYWNraW5nXxARTlNXaW5kb3dTdHlsZU1hc2tZTlNNaW5TaXplW05TVmlld0NsYXNzgA2BAQ2B +AQuACRJweAAAgAqADIAIEAIQD4EBDIALXxAYe3sxMTAsIDI3Mn0sIHs1MDcsIDQzOX19XxAPUmV2ZXJz +byBDb250ZXh0WE5TV2luZG93VFZpZXdYezk0LCA4Nn3XAGAADgBhAGIAYwBcAGQAZQBmAGcAaABpAGUA +a18QD05TTmV4dFJlc3BvbmRlclpOU1N1YnZpZXdzWE5TdkZsYWdzW05TRnJhbWVTaXplW05TU3VwZXJ2 +aWV3gA6Aw4APEQEAgQEJgA6BAQrSAA4APgBtAG6ATqgAbwBwAHEAcgBzAHQAdQB2gBCAUoBfgIKAjYDr +gPGBAQTYAGAADgB4AHkAYgB6AFwAZABOAHwAfQB+AH8AgABlAE5XTlNGcmFtZVZOU0NlbGxZTlNFbmFi +bGVkgA2AUYARgBIRAQ8JgA6ADV8QF3t7MTMyLCAzOTR9LCB7MTAwLCAyNn193xASAIUAhgCHAIgAiQAO +AIoAiwCMAI0AjgCPAJAAkQCSAJMAlACVAJYAgABWAJgAmQCaAJsAmACdAJ4AbwCbAIAAgACiAKMApACl +W05TQ2VsbEZsYWdzXxAaTlNNZW51SXRlbVJlc3BlY3RBbGlnbm1lbnRfEA9OU0Fycm93UG9zaXRpb25f +EBNOU0FsdGVybmF0ZUNvbnRlbnRzXxASTlNQZXJpb2RpY0ludGVydmFsXk5TQnV0dG9uRmxhZ3MyXxAP +TlNLZXlFcXVpdmFsZW50WU5TU3VwcG9ydFpOU01lbnVJdGVtXU5TQ29udHJvbFZpZXdfEA9OU1ByZWZl +cnJlZEVkZ2VfEBJOU1VzZXNJdGVtRnJvbU1lbnVdTlNBbHRlcnNTdGF0ZV8QD05TUGVyaW9kaWNEZWxh +eVxOU0NlbGxGbGFnczJWTlNNZW51XU5TQnV0dG9uRmxhZ3MT/////4RB/kAJgBYQS4BQEAGAFoATgBeA +EAkJEQGQEQgAgBgSBoJA/9QADgCnAKgAqQCqAKsArACtVk5TU2l6ZVZOU05hbWVYTlNmRmxhZ3OAFSNA +KgAAAAAAAIAUEQQUXEx1Y2lkYUdyYW5kZdIANwA4ALAAsaIAsQA7Vk5TRm9udFDbALQADgC1ALYAtwC4 +ALkAugCUALsAvAB+AL4AvwDAAJgAwgDDAMQApADGAJtYTlNUYXJnZXRXTlNUaXRsZV8QEU5TS2V5RXF1 +aXZNb2RNYXNrWk5TS2V5RXF1aXZdTlNNbmVtb25pY0xvY1lOU09uSW1hZ2VcTlNNaXhlZEltYWdlWE5T +QWN0aW9uV05TU3RhdGWAEoAhgBkSABAAAIAWEn////+AGoAegBiAINMADgC1AMgAyQDKAMtbTlNNZW51 +SXRlbXOAT4AigCNXSW5nbGVzZdMADgAyAM4AzwDQANFeTlNSZXNvdXJjZU5hbWWAHYAbgBxXTlNJbWFn +ZV8QD05TTWVudUNoZWNrbWFya9IANwA4ANUA1qIA1gA7XxAQTlNDdXN0b21SZXNvdXJjZdMADgAyAM4A +zwDQANqAHYAbgB9fEBBOU01lbnVNaXhlZFN0YXRlXxARX3BvcFVwSXRlbUFjdGlvbjrSADcAOADeAI2i +AI0AO1pPdGhlclZpZXdz0gAOAD4AbQDigE6vEA8AngDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPGA +F4AkgCeAKoAtgDCAM4A2gDmAPIA/gEKARYBIgEvbALQADgC1ALYAtwC4ALkAugCUALsA8wB+AL4A9gDA +AJgAwgDDAMQApAD7AJtVTlNUYWeAEoAhgCWAFoAagB6AGIAmWEZyYW5jZXNl2wC0AA4AtQC2ALcAuAC5 +ALoAlAC7APMAfgC+AQAAwACYAMIAwwDEAKQBBQBWgBKAIYAogBaAGoAegBiAKVhJdGFsaWFub9oAtAAO +ALUAtgC3ALgAuQC6AJQAuwB+AL4BCgDAAJgAwgDDAMQApAEPgBKAIYArgBaAGoAegBiALFVBcmFib9oA +tAAOALUAtgC3ALgAuQC6AJQAuwB+AL4BFADAAJgAwgDDAMQApAEZgBKAIYAugBaAGoAegBiAL1ZDaW5l +c2XaALQADgC1ALYAtwC4ALkAugCUALsAfgC+AR4AwACYAMIAwwDEAKQBI4ASgCGAMYAWgBqAHoAYgDJX +RWJyYWljb9oAtAAOALUAtgC3ALgAuQC6AJQAuwB+AL4BKADAAJgAwgDDAMQApAEtgBKAIYA0gBaAGoAe +gBiANVpHaWFwcG9uZXNl2gC0AA4AtQC2ALcAuAC5ALoAlAC7AH4AvgEyAMAAmADCAMMAxACkATeAEoAh +gDeAFoAagB6AGIA4WE9sYW5kZXNl2gC0AA4AtQC2ALcAuAC5ALoAlAC7AH4AvgE8AMAAmADCAMMAxACk +AUGAEoAhgDqAFoAagB6AGIA7V1BvbGFjY2/aALQADgC1ALYAtwC4ALkAugCUALsAfgC+AUYAwACYAMIA +wwDEAKQBS4ASgCGAPYAWgBqAHoAYgD5aUG9ydG9naGVzZdoAtAAOALUAtgC3ALgAuQC6AJQAuwB+AL4B +UADAAJgAwgDDAMQApAFVgBKAIYBAgBaAGoAegBiAQVZSdW1lbm/aALQADgC1ALYAtwC4ALkAugCUALsA +fgC+AVoAwACYAMIAwwDEAKQBX4ASgCGAQ4AWgBqAHoAYgERVUnVzc2/aALQADgC1ALYAtwC4ALkAugCU +ALsAfgC+AWQAwACYAMIAwwDEAKQBaYASgCGARoAWgBqAHoAYgEdYU3BhZ25vbG/aALQADgC1ALYAtwC4 +ALkAugCUALsAfgC+AW4AwACYAMIAwwDEAKQBc4ASgCGASYAWgBqAHoAYgEpXVGVkZXNjb9oAtAAOALUA +tgC3ALgAuQC6AJQAuwB+AL4BeADAAJgAwgDDAMQApAF9gBKAIYBMgBaAGoAegBiATVVUdXJjb9IANwA4 +AYABgaMBgQGCADteTlNNdXRhYmxlQXJyYXlXTlNBcnJhedIANwA4AYQAlKIAlAA70gA3ADgBhgGHpgGH +AYgBiQGKAHkAO18QEU5TUG9wVXBCdXR0b25DZWxsXk5TTWVudUl0ZW1DZWxsXE5TQnV0dG9uQ2VsbFxO +U0FjdGlvbkNlbGzSADcAOAGMAY2mAY0BjgGPAZABkQA7XU5TUG9wVXBCdXR0b25YTlNCdXR0b25ZTlND +b250cm9sVk5TVmlld1tOU1Jlc3BvbmRlctwAYAGTAA4BlAB4AZUAYgGWAFwBlwGYAGQATgBWAZoBmwGc +AZ0BngGfAGUBoQGiAE5ZTlNCb3hUeXBlW05TVGl0bGVDZWxsXU5TVHJhbnNwYXJlbnRcTlNCb3JkZXJU +eXBlWU5TT2Zmc2V0c18QD05TVGl0bGVQb3NpdGlvboANgF6AVYBTCBAKEAOADoBUEACADV8QFXt7MjAs +IDM0Nn0sIHs0NjcsIDV9fVZ7MCwgMH3XAIUADgGnAagAjACTAakBqgGrAawBrQCdAaIBr18QEU5TQmFj +a2dyb3VuZENvbG9yWk5TQ29udGVudHNbTlNUZXh0Q29sb3ISBAH+AIBdgFeAVoATgFxTQm941QAOAbIB +swG0AbUBtgG3AbgBuQG6V05TQ29sb3JcTlNDb2xvclNwYWNlW05TQ29sb3JOYW1lXU5TQ2F0YWxvZ05h +bWWAW4BaEAaAWYBYVlN5c3RlbV8QE3RleHRCYWNrZ3JvdW5kQ29sb3LTAA4BswG+AbYBnwHAV05TV2hp +dGWAW0IxANIANwA4AcIBsqIBsgA70wAOAbMBvgG2AZ8BxYBbTTAgMC44MDAwMDAwMQDSADcAOAHHAcik +AcgBigB5ADtfEA9OU1RleHRGaWVsZENlbGzSADcAOAHKAcukAcsBkAGRADtVTlNCb3jYAGAADgB4AHkA +YgB6AFwAZABOAHwBzwHQAH8AgABlAE6ADYBRgGCAYQmADoANXxAXe3syNzcsIDM5NH0sIHsxMDAsIDI2 +fX3fEBMAhQCGAIcAiACJAA4AigCLAIwAjQCOAI8AkACRAJIAkwCUAJUB1gCWAIAAVgCYAJkAmgCbAJgA +nQHcAHEAmwCAAIAAogCjAeAApQBWXxAPTlNTZWxlY3RlZEluZGV4CYAWgFCAFoATgGKAXwkJgGPcALQA +DgC1ALYAtwC4ALkAugCUALsA8wC8AdAAvgEAAMAAmADCAMMAxAHgAekAVgCbgGGAIYAogBaAGoAegGOA +ZNMADgC1AMgAyQDKAe2AT4AigGXSAA4APgBtAfCATq8QDwHxAfIB3AH0AfUB9gH3AfgB+QH6AfsB/AH9 +Af4B/4BmgGiAYoBqgGyAboBwgHKAdIB2gHiAeoB8gH6AgNoAtAAOALUAtgC3ALgAuQC6AJQAuwHQAL4A +vwDAAJgAwgDDAMQB4AIIgGGAIYAZgBaAGoAegGOAZ9sAtAAOALUAtgC3ALgAuQC6AJQAuwDzAdAAvgD2 +AMAAmADCAMMAxAHgAhEAm4BhgCGAJYAWgBqAHoBjgGnaALQADgC1ALYAtwC4ALkAugCUALsB0AC+AQoA +wACYAMIAwwDEAeACGoBhgCGAK4AWgBqAHoBjgGvaALQADgC1ALYAtwC4ALkAugCUALsB0AC+ARQAwACY +AMIAwwDEAeACI4BhgCGALoAWgBqAHoBjgG3aALQADgC1ALYAtwC4ALkAugCUALsB0AC+AR4AwACYAMIA +wwDEAeACLIBhgCGAMYAWgBqAHoBjgG/aALQADgC1ALYAtwC4ALkAugCUALsB0AC+ASgAwACYAMIAwwDE +AeACNYBhgCGANIAWgBqAHoBjgHHaALQADgC1ALYAtwC4ALkAugCUALsB0AC+ATIAwACYAMIAwwDEAeAC +PoBhgCGAN4AWgBqAHoBjgHPaALQADgC1ALYAtwC4ALkAugCUALsB0AC+ATwAwACYAMIAwwDEAeACR4Bh +gCGAOoAWgBqAHoBjgHXaALQADgC1ALYAtwC4ALkAugCUALsB0AC+AUYAwACYAMIAwwDEAeACUIBhgCGA +PYAWgBqAHoBjgHfaALQADgC1ALYAtwC4ALkAugCUALsB0AC+AVAAwACYAMIAwwDEAeACWYBhgCGAQIAW +gBqAHoBjgHnaALQADgC1ALYAtwC4ALkAugCUALsB0AC+AVoAwACYAMIAwwDEAeACYoBhgCGAQ4AWgBqA +HoBjgHvaALQADgC1ALYAtwC4ALkAugCUALsB0AC+AWQAwACYAMIAwwDEAeACa4BhgCGARoAWgBqAHoBj +gH3aALQADgC1ALYAtwC4ALkAugCUALsB0AC+AW4AwACYAMIAwwDEAeACdIBhgCGASYAWgBqAHoBjgH/a +ALQADgC1ALYAtwC4ALkAugCUALsB0AC+AXgAwACYAMIAwwDEAeACfYBhgCGATIAWgBqAHoBjgIHYAGAA +DgB4AHkAYgB6AFwAZABOAoACgQKCAoMAgABlAE6ADYCMgIOAhBEBDQmADoANXxAWe3syMzQsIDQwMX0s +IHs0MSwgMTd9fdgAhQAOAacBqACMAI4AkwGpAokBqwKLAowAnQByAo8CkBIEAf5AgF2AhoCFgBOAghII +QAQAgIlhIZLVAA4BsgGzAbQBtQG2ApQBuAKVAbqAW4CIgIeAWFxjb250cm9sQ29sb3LTAA4BswG+AbYB +nwKagFtLMC42NjY2NjY2OQDVAA4BsgGzAbQBtQG2Ap0BuAKeAbqAW4CLgIqAWF8QEGNvbnRyb2xUZXh0 +Q29sb3LTAA4BswG+AbYBnwKjgFtCMADSADcAOAKlAqalAqYBjwGQAZEAO1tOU1RleHRGaWVsZN0AYAAO +AqgCqQB4ALEAYQBiAFwCqgBkAqsCrABOAq4CrwGiArAAnQKyArMAZQCAAE4AgAK4Xk5TVGFiVmlld0l0 +ZW1zWU5TVHZGbGFnc18QEU5TRHJhd3NCYWNrZ3JvdW5kXxAWTlNBbGxvd1RydW5jYXRlZExhYmVsc18Q +FU5TU2VsZWN0ZWRUYWJWaWV3SXRlbYANgOqAxYDEgBOAjhASgA4JgA0JgMbSAA4APgBtAruATqECvICP +1wBgAA4AeABhAGIAXABkAHMAZgLAAsECwgBlAHOAjYDDgMKAkBEBEoAOgI3SAA4APgBtAseATqECyICR +3xAPAGACygAOAHgCywLMAs0AYQLOAGIAXABkAs8C0ALRArwC0wLUAtUC1gLXAtgC2QLaAsIAZQK8At0C +3gLeW05TSFNjcm9sbGVyWE5Tc0ZsYWdzXE5TQ29ybmVyVmlld18QEE5TSGVhZGVyQ2xpcFZpZXdcTlNT +Y3JvbGxBbXRzW05TVlNjcm9sbGVyXU5TTmV4dEtleVZpZXddTlNDb250ZW50Vmlld4CPgLyAwYDAEDKA +m4CYgJJPEBBBIAAAQSAAAEGYAABBmAAAgA6Aj4C4gJOAk9IADgA+AG0C4oBOpQLeAt0C0wLYAteAk4C4 +gLyAmICb2wBgAA4AeALpAGEAYgLqAFwC6wBkAtACyALtAu4C7wLwAvEC8gBlAvQCyALyWU5TY3ZGbGFn +c1lOU0RvY1ZpZXdZTlNCR0NvbG9ygJGAt4C2EASAlBEJAICVgA6AqoCRgJXSAA4APgBtAvmATqEC8oCV +3xAUAGAC/AAOAqkC/QGnAv4CzAL/AwADAQBiAGMAegBcAwIDAwBkAwQDBQLeAaIDBwMIAwkBtwCAAtcD +DQLvAw4AaAMPAIAAZQMSAFcC3gMUAxVfEB9OU0RyYWdnaW5nU291cmNlTWFza0Zvck5vbkxvY2FsXE5T +SGVhZGVyVmlld18QEk5TQWxsb3dzVHlwZVNlbGVjdF8QF05TSW50ZXJjZWxsU3BhY2luZ1dpZHRoXxAZ +TlNDb2x1bW5BdXRvcmVzaXppbmdTdHlsZV8QGE5TSW50ZXJjZWxsU3BhY2luZ0hlaWdodFtOU0dyaWRD +b2xvcl8QHE5TRHJhZ2dpbmdTb3VyY2VNYXNrRm9yTG9jYWxeTlNUYWJsZUNvbHVtbnNbTlNSb3dIZWln +aHSAk4C1E//////WQAAAgJeAWgmAmyNACAAAAAAAACNAAAAAAAAAAICWCYAOgLKAk4CeI0AxAAAAAAAA +Wns0MTAsIDIxMX3XAGAADgBiAGMAXABkAxgC2AMaAGgDGwBlAtgC8ltOU1RhYmxlVmlld4CYgJqAmYAO +gJiAldsAYAAOAHgC6QBhAGIC6gBcAusAZALQAsgC7QMiAu8DIwLxAwkAZQL0AsgDCYCRgLeAv4C+gJeA +DoCqgJGAl1l7NDEwLCAxN33SADcAOAMrAyykAywBkAGRADtfEBFOU1RhYmxlSGVhZGVyVmlld9YAYAAO +AHgAYgBcAGQCyAMvAzAAaABlAsiAkYCdgJyADoCRXxAUe3s0MTEsIDB9LCB7MTYsIDE3fX3SADcAOAM1 +AzakAzYBkAGRADtdX05TQ29ybmVyVmlld9IADgA+AG0DOYBOogM6AzuAn4Ct2wM9AA4DPgM/A0ADQQNC +A0MDRANFAxgAgANHA0gDSQNKA0sBnwNMA00AgALyXk5TSXNSZXNpemVhYmxlXE5TSGVhZGVyQ2VsbFxO +U0lkZW50aWZpZXJXTlNXaWR0aFpOU0RhdGFDZWxsXk5TUmVzaXppbmdNYXNrWk5TTWluV2lkdGhaTlNN +YXhXaWR0aFxOU0lzRWRpdGFibGUJgKyAoYCgI0BZQAAAAAAAgKgjQEQAAAAAAAAjQI9AAAAAAAAJgJVZ +c19leGFtcGxl1wCFAA4BpwGoAIwAkwGpA1IDUwNUA1UDVgGiA1cSBIH+AICngKSAooCjgKVeU291cmNl +IEV4YW1wbGXUAA4ApwCoAKkAqgNbAKwDXYAVI0AmAAAAAAAAgBQRDBzTAA4BswG+AbYBnwNggFtLMC4z +MzMzMzI5OQDVAA4BsgGzAbQBtQG2Ap0BuANkAbqAW4CLgKaAWF8QD2hlYWRlclRleHRDb2xvctIANwA4 +A2gDaaUDaQHIAYoAeQA7XxARTlNUYWJsZUhlYWRlckNlbGzYAIUADgGnAagAjACOAJMBqQNrAasC9ANu +AJ0C8gCjApASFCH+QIBdgKqAqYATgJWAiVlUZXh0IENlbGzVAA4BsgGzAbQBtQG2ApQBuAN2AbqAW4CI +gKuAWF8QFmNvbnRyb2xCYWNrZ3JvdW5kQ29sb3LSADcAOAN6A3uiA3sAO11OU1RhYmxlQ29sdW1u2wM9 +AA4DPgM/A0ADQQNCA0MDRANFAxgAgANHA38DgAOBA4IBnwNMA00AgALyCYCsgK+AriNAcvAAAAAAAICx +CYCVWXRfZXhhbXBsZdcAhQAOAacBqACMAJMBqQNSA1MDVAOJA1YBogNXgKeApICwgKOApV5UYXJnZXQg +RXhhbXBsZdgAhQAOAacBqACMAI4AkwGpA2sBqwL0A24AnQLyAKMCkIBdgKqAqYATgJWAidUADgGyAbMB +tAG1AbYDlgG4A5cBuoBbgLSAs4BYWWdyaWRDb2xvctMADgGzAb4BtgGfA5yAW0QwLjUA0gA3ADgDngMY +pQMYAY8BkAGRADtfEBV7ezEsIDE3fSwgezQxMCwgMjExfX3SADcAOAOhA6KkA6IBkAGRADtaTlNDbGlw +Vmlld9oAYAC0AA4AeABiAFwAuwBkA6QDpQLIAsgDqAOpAGgAZQOrAsgDrQOuWk5TQ3VyVmFsdWVZTlNQ +ZXJjZW50gJGAkYC7gLmADoC6gJEjQEKAAAAAAAAjP8jtIqAAAABfEBZ7ezQxMSwgMTd9LCB7MTUsIDIx +MX19XF9kb1Njcm9sbGVyOtIANwA4A7IDs6UDswGPAZABkQA7Wk5TU2Nyb2xsZXLaAGAAtAAOAHgCywBi +AFwAuwBkA6UCyALIA6gDuACbAGgAZQOrAsgDvICRgJGAu4C9gA6AuoCRIz/iSSSgAAAAXxAVe3sxLCAy +Mjh9LCB7NDEwLCAxNX190gAOAD4AbQPAgE6hAwmAl18QE3t7MSwgMH0sIHs0MTAsIDE3fX1fEBZ7ezE3 +LCAxN30sIHs0MjcsIDI0NH190gA3ADgDxQPGpAPGAZABkQA7XE5TU2Nyb2xsVmlld18QFnt7MTAsIDMz +fSwgezQ2MSwgMjY0fX3SADcAOAPJAZCjAZABkQA7XxAWe3sxMywgMzR9LCB7NDgxLCAzMTB9fdIADgA+ +AG0DzYBOogK4A8+AxoDK1gAOAz8BkAPRAbID0gPTA9QCvABzAosD2FlOU1RhYlZpZXdXTlNMYWJlbIDJ +gMeAj4CNgIaAyFExV0NvbnRleHTSADcAOAPcA92iA90AO11OU1RhYlZpZXdJdGVt1gAOAz8BkAPRAbID +0gPTA+AD4QBzAosD5IDJgMuAzICNgIaA3VEy1QBgAA4AeABhAGIAKwBmA+kD6gBogACAw4DpgM3SAA4A +PgBtA+2ATqED7oDO3gBgAsoADgB4AssCzALNAGECzgBiAGQCzwLQAtED4QPxAtQD8wLWA/QD9QP2AtoC +wgPhA/gD+QP5gMyA5IDBgOiA14DVgM+AzIDigNCA0NIADgA+AG0D/YBOpQP5A/gD8QP1A/SA0IDigOSA +1YDX2gBgAA4AeALpAGEAYgLqAusAZALQA+4C7QQGAu8EBwLxBAgC9APuBAiAzoC3gOGA0YDSgKqAzoDS +0gAOAD4AbQQOgE6hBAiA0t8QEwBgAvwADgKpAv0BpwL+AswC/wMAAwEAYgBjAHoDAgMDAGQDBAMFA/kB +ogMHAwgEEwG3AIAD9AMNAu8DDgBoBBcAgAMSAFcD+QQbAxWA0IC1gNSAWgmA14DTCYCygNCA2dYAYAAO +AGIAYwBkAxgD9QMaAGgEHwP1BAiA1YCagNaA1YDS2gBgAA4AeALpAGEAYgLqAusAZALQA+4C7QQlAu8E +JgLxBBMC9APuBBOAzoC3gOeA5oDUgKqAzoDU1QBgAA4AeABiAGQD7gMvBC4AaAPugM6AnYDYgM7SAA4A +PgBtBDKATqEEM4Da2wM9AA4DPgM/A0ADQQNCA0MDRANFAxgAgANHBDcEOAQ5BDoBnwNMA00AgAQICYCs +gNyA2yNAeXAAAAAAAIDfCYDSW3RyYW5zbGF0aW9u1wCFAA4BpwGoAIwAkwGpA1IDUwRAA+QDVgGiA1eA +p4DegN2Ao4ClW1RyYW5zbGF0aW9u0wAOAbMBvgG2AZ8DYIBb2ACFAA4BpwGoAIwAjgCTAakDawGrAvQE +SgCdBAgAowKQgF2AqoDggBOA0oCJ2QBgALQADgB4AGIAuwBkA6QDpQPuA+4DqARSAGgDqwPuA60DroDO +gM6Au4DjgLqAztkAYAC0AA4AeALLAGIAuwBkA6UD7gPuA6gEWQCbAGgDqwPuBFyAzoDOgLuA5YC6gM4j +P+3SuKAAAADSAA4APgBtBF+ATqEEE4DU0gA3ADgEYgPRpAPRAZABkQA72ABgAA4AeAB5AGIAegBcAGQA +TgRlBGYEZwRoAIAAZQBOgA2A8IDsgO0RAQkJgA6ADV8QFnt7Mzk3LCAzNzZ9LCB7OTYsIDMyfX3cAIUA +DgCIAIkAigCLAagAjACOAJIAkwCVAaoEbgCYBHAEcQCYBHMAnQB0BHYEdwR4gO+AFhAZEIGAFoDugBOA +6xDIEggAAAAT/////4aCQP9WRHJhd2Vy0gA3ADgEewGJpAGJAYoAeQA70gA3ADgEfQGOpQGOAY8BkAGR +ADvYAGAADgB4AHkAYgB6AFwAZABOBIAEgQSCBIMAgABlAE6ADYEBA4DygPMRAQoJgA6ADV8QFnt7MjAs +IDM1Nn0sIHs0NjcsIDIyfX3eAIUADgSJAacBqACMAI4AkwSKAqoEiwSMBI0BqQSOBI8EkAGsAJgAnQB1 +BJUAmwCABJcEmASZApBfEBJOU0NhbmNlbEJ1dHRvbkNlbGxfEBBOU1RleHRCZXplbFN0eWxlXxASTlNT +ZWFyY2hCdXR0b25DZWxsXxAQTlNNYXhpbXVtUmVjZW50c18QE05TUGxhY2Vob2xkZXJTdHJpbmcSFHH+ +QIEBAoD4gFeAFoATgPESEAAEAAmA9RD/gPSAiV8QHldoYXQgZG8geW91IHdhbnQgdG8gdHJhbnNsYXRl +P9wAtACFAA4AiQCKAIsBqACOAJIAkwC7AJUEggSeBG4AmQGiAJgEoQB1AKIBogSjBKSA8xIAAf4AgO+A +FoD2gPGA9xIIRED/VnNlYXJjaF8QE19zZWFyY2hGaWVsZFNlYXJjaDrdALQAhQAOAIkAigCLBKgBqACO +AJIAkwC7AJUEggSeBG4AmQGiAJgErAStAHUAogGiBK8EpF8QI05TQWNjZXNzaWJpbGl0eU92ZXJyaWRk +ZW5BdHRyaWJ1dGVzgPOA74AWgPqA+YDxgQEBVWNsZWFy0gAOAD4AbQSzgE6hBLSA+9MADgS2AD4EtwS4 +BLtXTlMua2V5c4EBAKIEuQS6gPyA/aIEvAS9gP6A/11BWERlc2NyaXB0aW9uXxApTlNBY2Nlc3NpYmls +aXR5RW5jb2RlZEF0dHJpYnV0ZXNWYWx1ZVR5cGVXYW5udWxsYdIANwA4BMIEw6MEwwTEADtfEBNOU011 +dGFibGVEaWN0aW9uYXJ5XE5TRGljdGlvbmFyeV8QE19zZWFyY2hGaWVsZENhbmNlbDrSADcAOATHBMil +BMgByAGKAHkAO18QEU5TU2VhcmNoRmllbGRDZWxs0gA3ADgEygTLpgTLAqYBjwGQAZEAO11OU1NlYXJj +aEZpZWxk2gBgAA4AeATNBM4AYgBcBM8AZATQAE4E0gTTBNQE1QTWAGUE2ABOBNpaTlNNYXhWYWx1ZVpO +U01pblZhbHVlWU5TcGlGbGFnc1xOU0RyYXdNYXRyaXiADYEBCIEBByNAWQAAAAAAACNAMAAAAAAAABEF +AYAOEXEKgA2BAQXRAA4E3IEBBtIANwA4BN4E36IE3wA7Wk5TUFNNYXRyaXhfEBV7ezQ3MSwgMjB9LCB7 +MTYsIDE2fX3SADcAOATiBOOkBOMBkAGRADtfEBNOU1Byb2dyZXNzSW5kaWNhdG9yWns1MDcsIDQzOX1f +EBZ7ezAsIDB9LCB7MTI4MCwgMTAwMn19WXs5NCwgMTA4fdIANwA4BOgE6aIE6QA7XxAQTlNXaW5kb3dU +ZW1wbGF0ZdIANwA4BOsE7KME7ATtADtcTlNNdXRhYmxlU2V0VU5TU2V00gAOAD4AbQTwgE6vEBIE8QTy +BPME9AT1BPYE9wT4BPkE+gT7BPwE/QT+BP8FAAUBBQKBARCBAROBARuBAR2BAR+BASGBASSBASWBASaB +ASiBASqBASyBAS6BATCBATKBAVyBAV6BAWDUAA4FBAUFA9IFBgAfBAgFCV1OU0Rlc3RpbmF0aW9uWE5T +U291cmNlgQESgAKA0oEBEVpkYXRhU291cmNl0gA3ADgFDAUNowUNBQ4AO18QFE5TTmliT3V0bGV0Q29u +bmVjdG9yXk5TTmliQ29ubmVjdG9y1AAOBQQFBQPSBQYAQQUSBROBARKAB4EBFIEBGtwAYAAOBRUFFgCP +BRcFGAUZBRoAMgUbBRwAKwUeBR8AKwBWBSEFIgUjBSQFJQGhACtfEBNOU09yaWdpbmFsQ2xhc3NOYW1l +Xk5TUGFyZW50V2luZG93XxAQTlNNYXhDb250ZW50U2l6ZV1OU0NvbnRlbnRTaXplXxAQTlNUcmFpbGlu +Z09mZnNldF8QD05TTGVhZGluZ09mZnNldF8QEE5TTWluQ29udGVudFNpemVaTlNEZWxlZ2F0ZYAAgQEZ +gQEWgACBARiBARcjQC4AAAAAAAAjAAAAAAAAAACBARWAVIAAXxATRmF2b3JpdGVzQ29udHJvbGxlclhO +U0RyYXdlclp7MTAwLCAxMDB9XnsxMDAwMCwgMTAwMDB90gA3ADgFLQUuogUuADteTlNDbGFzc1N3YXBw +ZXJccGFyZW50V2luZG931AAOBQQFBQPSBQYC8gAfBTSBARKAlYACgQEcXxAQcmVzdWx0c1RhYmxlVmll +d9QADgUEBQUD0gUGBRIAHwU6gQESgQEUgAKBAR5WZHJhd2Vy1AAOBQQFBQPSBQYAHwBBBUCBARKAAoAH +gQEgWGRlbGVnYXRl1AAOBQQFBQPSBUMAHwBvBUaBASOAAoAQgQEiXxAXc291cmNlTGFuZ3VhZ2VTZWxl +Y3RlZDrSADcAOAVJBUqjBUoFDgA7XxAVTlNOaWJDb250cm9sQ29ubmVjdG9y1AAOBQQFBQPSBQYAHwQI +BUCBARKAAoDSgQEg1AAOBQQFBQPSBQYAHwUSBUCBARKAAoEBFIEBINQADgUEBQUD0gVDAB8AcQVZgQEj +gAKAX4EBJ18QF3RhcmdldExhbmd1YWdlU2VsZWN0ZWQ61AAOBQQFBQPSBQYAcwAfBV+BARKAjYACgQEp +V3RhYlZpZXfUAA4FBAUFA9IFQwAfAHUFZYEBI4ACgPGBAStXc2VhcmNoOtQADgUEBQUD0gUGAHYAHwVr +gQESgQEEgAKBAS1Xc3Bpbm5lctQADgUEBQUD0gVDAB8AdAVxgQEjgAKA64EBL110b2dnbGVEcmF3ZXI6 +1AAOBQQFBQPSBQYAQQAfBXeBARKAB4ACgQExVndpbmRvd9QADgUEBQUD0gUGBXsFEgV9gQESgQEzgQEU +gQFb1gBgAA4AYQBiAGMAMgArBYAFgQBoBYIFg4AAgQFagQE0gQFYgQFZ0gAOAD4AbQWGgE6jBYcFiAWJ +gQE1gQE5gQE91wBgAA4AeAB5AGIAegBkBXsCgAWNBY4EgwCABXuBATOAjIEBNoEBNwmBATNfEBZ7ezE3 +LCAyODl9LCB7MjkzLCAxN3192ACFAA4BpwGoAIwAjgCTAakCiQGrAosFlQCdBYcFmAKQgF2AhoEBOIAT +gQE1EhBABACAiVlGYXZvcml0ZXPbAGABkwAOAZQAeAGVAGIBlgGXAZgAZAV7AFYBmgWeBZ8BnQGeAZ8B +oQGiBXuBATOAXoEBO4EBOgiAVIEBM18QFXt7MjAsIDI3OH0sIHsyODcsIDV9fdcAhQAOAacBqACMAJMB +qQGqAasBrAGtAJ0BogWpgF2AV4BWgBOBATzTAA4BswG+AbYBnwHFgFveAGACygAOAHgCywLMAs0AYQLO +AGIAZALPAtAC0QV7Ba4C1AWwAtYFsQWyBbMC2gLCBXsFtQW2BbaBATOBAVOAwYEBV4EBRoEBRIEBPoEB +M4EBUYEBP4EBP9IADgA+AG0FuoBOpQW2BbUFrgWyBbGBAT+BAVGBAVOBAUSBAUbaAGAADgB4AukAYQBi +AuoC6wBkAtAFiQLtBcMC7wXEAvEFxQL0BYkFxYEBPYC3gQFQgQFAgQFBgKqBAT2BAUHSAA4APgBtBcuA +TqEFxYEBQd8QEwBgAvwADgKpAv0BpwL+AswC/wMAAwEAYgBjAHoDAgMDAGQDBAMFBbYBogMHAwgF0AG3 +AIAFsQMNAu8DDgBoBdQAgAMSAFcFtgXYAxWBAT+AtYEBQ4BaCYEBRoEBQgmAsoEBP4EBSFp7MjcwLCAy +MTl91gBgAA4AYgBjAGQDGAWyAxoAaAXdBbIFxYEBRICagQFFgQFEgQFB2gBgAA4AeALpAGEAYgLqAusA +ZALQBYkC7QXjAu8F5ALxBdAC9AWJBdCBAT2At4EBVoEBVYEBQ4CqgQE9gQFDWXsyNzAsIDE3fdUAYAAO +AHgAYgBkBYkDLwXtAGgFiYEBPYCdgQFHgQE9XxAUe3syNzEsIDB9LCB7MTYsIDE3fX3SAA4APgBtBfKA +TqIF8wX0gQFJgQFN2gM9AA4DPgNAA0EDQgNDA0QDRQMYAIADRwX4A0oF+QGfA0wDTQCABcUJgKyBAUqB +AUwJgQFB1wCFAA4BpwGoAIwAkwGpA1IDUwX+AJgDVgGiA1eAp4EBS4AWgKOApdMADgGzAb4BtgGfA2CA +W9gAhQAOAacBqACMAI4AkwGpA2sBqwL0BEoAnQXFAKMCkIBdgKqA4IATgQFBgInaAz0ADgM+A0ADQQNC +A0MDRANFAxgAgANHBg4GDwYQAZ8DTANNAIAFxQmArIEBTiNAZGAAAAAAAIEBTwmBAUHXAIUADgGnAagA +jACTAakDUgNTBf4AmANWAaIDV4CngQFLgBaAo4Cl2ACFAA4BpwGoAIwAjgCTAakDawGrAvQESgCdBcUA +owKQgF2AqoDggBOBAUGAiV8QFXt7MSwgMTd9LCB7MjcwLCAyMTl9fdkAYAC0AA4AeABiALsAZAOkA6UF +iQWJA6gGJQBoA6sFiQOtA66BAT2BAT2Au4EBUoC6gQE9XxAWe3syNzEsIDE3fSwgezE1LCAyMTl9fdkA +YAC0AA4AeALLAGIAuwBkA6UFiQWJA6gGLQCbAGgDqwWJA7yBAT2BAT2Au4EBVIC6gQE9XxAVe3sxLCAy +MzZ9LCB7MjcwLCAxNX190gAOAD4AbQYzgE6hBdCBAUNfEBN7ezEsIDB9LCB7MjcwLCAxN319XxAWe3sy +MCwgMjB9LCB7Mjg3LCAyNTJ9fVp7MzI3LCAzMjZ90gA3ADgGOQY6pAY6AZABkQA7XE5TQ3VzdG9tVmll +d1tjb250ZW50Vmlld9QADgUEBQUD0gUGAHUAHwZAgQESgPGAAoEBXVtzZWFyY2hGaWVsZNQADgUEBQUD +0gUGAG8AHwZGgQESgBCAAoEBX15zb3VyY2VMYW5ndWFnZdQADgUEBQUD0gUGAHEAHwZMgQESgF+AAoEB +YV50YXJnZXRMYW5ndWFnZdIADgA+Bk8GUIEBZa8QUgCkA+4B+wBxAf4FrgBOAPAFiQDoAt0B4AM7BcUA +cARnAHYFhwPxAOkB/QH/AOUC8gYQAzoAfgLIAHIDzwXzAOwDCQB0AHMFEgDuAfEDSwV7BYgDggDkAfgA +6gHQAO8B9gLTAOcEggWOBfQCggDrAfQF0AP4ArwECAaNAfoFtQPhAdwA8QH5AfUEMwH3AEECuAX5AO0B +8gH8AJ4AbwDmAHUEEwQ6gBiAzoB4gF+AfoEBU4ANgEiBAT2AMIC4gGOArYEBQYBSgO2BAQSBATWA5IAz +gHyAgIAngJWBAU+An4ASgJGAgoDKgQFJgDyAl4DrgI2BARSAQoBmgKiBATOBATmAsYAkgHKANoBhgEWA +boC8gC2A84EBN4EBTYCEgDmAaoEBQ4DigI+A0oEBY4B2gQFRgMyAYoBLgHSAbIDagHCAB4DGgQFMgD+A +aIB6gBeAEIAqgPGA1IDf0gAOADIAMwalgASBAWRdTlNBcHBsaWNhdGlvbtIANwA4BqgBgqIBggA70gAO +AD4GTwargQFlrxBSAH4D4QHgAE4B4AWJAEEApAV7AKQCyAHQAvIFiQBOAHQATgV7A+4ApAHgAeAApALI +BfQC8gBvArwATgBzBcUApALIAE4ATgAfAKQB4AM6AB8FewM7AKQB4ACkAHEApAHgAsgApAB1BYcFxQBy +AKQB4AWJA+4CuAPuAB8B4AWJA88B4ACkAeAB4AQIAeAAHwBzBfMApAHgAeAApABOAKQATgPuBDOAEoDM +gGOADYBjgQE9gAeAGIEBM4AYgJGAYYCVgQE9gA2A64ANgQEzgM6AGIBjgGOAGICRgQFNgJWAEICPgA2A +jYEBQYAYgJGADYANgAKAGIBjgJ+AAoEBM4CtgBiAY4AYgF+AGIBjgJGAGIDxgQE1gQFBgIKAGIBjgQE9 +gM6AxoDOgAKAY4EBPYDKgGOAGIBjgGOA0oBjgAKAjYEBSYAYgGOAY4AYgA2AGIANgM6A2tIADgA+Bk8H +AIEBZa8QUwCkBa4B+wBxAf4D7gBOAPAFiQDoAt0B4AM7BcUFhwB2AHAEZwPxAf0A6QH/AOUC8gYQAzoA +fgLIAHIDzwXzAHQA7AMJBRIAcwDuAfEAHwV7BYgDSwOCBIIB+AWOAdAB9gDkAOoF9ADvAOcF0AKCAOsB +9ALTA/gCvAaNBbUB+gQIA+ECuAHcAfkF+QH1AfcAQQDxBDMA7QHyAfwAngBvAHUA5gQTBDqAGIEBU4B4 +gF+AfoDOgA2ASIEBPYAwgLiAY4CtgQFBgQE1gQEEgFKA7YDkgHyAM4CAgCeAlYEBT4CfgBKAkYCCgMqB +AUmA64A8gJeBARSAjYBCgGaAAoEBM4EBOYCogLGA84BygQE3gGGAboAkgDaBAU2ARYAtgQFDgISAOYBq +gLyA4oCPgQFjgQFRgHaA0oDMgMaAYoB0gQFMgGyAcIAHgEuA2oA/gGiAeoAXgBCA8YAqgNSA39IADgA+ +Bk8HVoEBZa8QUwdXB1gHWQdaB1sHXAddB14HXwdgB2EHYgdjB2QHZQdmB2cHaAdpB2oHawdsB20Hbgdv +B3AHcQdyB3MHdAd1B3YHdwd4B3kHegd7B3wHfQd+B38HgAeBB4IHgweEB4UHhgeHB4gHiQeKB4sHjAeN +B44HjweQB5EHkgeTB5QHlQeWAFkHmAeZB5oHmwecB50HngefB6AHoQeiB6MHpAelB6YHpweoB6mBAWmB +AWqBAWuBAWyBAW2BAW6BAW+BAXCBAXGBAXKBAXOBAXSBAXWBAXaBAXeBAXiBAXmBAXqBAXuBAXyBAX2B +AX6BAX+BAYCBAYGBAYKBAYOBAYSBAYWBAYaBAYeBAYiBAYmBAYqBAYuBAYyBAY2BAY6BAY+BAZCBAZGB +AZKBAZOBAZSBAZWBAZaBAZeBAZiBAZmBAZqBAZuBAZyBAZ2BAZ6BAZ+BAaCBAaGBAaKBAaOBAaSBAaWB +AaaBAaeBAaiAC4EBqYEBqoEBq4EBrIEBrYEBroEBr4EBsIEBsYEBsoEBs4EBtIEBtYEBtoEBt4EBuIEB +uYEBul8QE01lbnUgKE90aGVyVmlld3MpLTFfEBNIb3Jpem9udGFsIFNjcm9sbGVyXxASTWVudSBJdGVt +IChSdW1lbm8pXxAXUG9wdXAgQnV0dG9uIChJdGFsaWFubylfEBNNZW51IEl0ZW0gKFRlZGVzY28pXVNj +cm9sbCBWaWV3LTFcQ29udGVudCBWaWV3XxAVTWVudSBJdGVtIChUZWRlc2NvKS0xW1Njcm9sbCBWaWV3 +XxAVTWVudSBJdGVtIChFYnJhaWNvKS0xXxATVmVydGljYWwgU2Nyb2xsZXItMl8QEU1lbnUgKE90aGVy +Vmlld3MpXxAYVGFibGUgQ29sdW1uICh0X2V4YW1wbGUpWlRhYmxlIFZpZXdfEBdTdGF0aWMgVGV4dCAo +RmF2b3JpdGVzKVxBc3luYyBBcnJvd3NfEBFIb3Jpem9udGFsIExpbmUtMV8QFEJ1dHRvbiBDZWxsIChE +cmF3ZXIpXxAVSG9yaXpvbnRhbCBTY3JvbGxlci0xXxAUTWVudSBJdGVtIChTcGFnbm9sbylfEBhNZW51 +IEl0ZW0gKEdpYXBwb25lc2UpLTFfEBFNZW51IEl0ZW0gKFR1cmNvKV8QFk1lbnUgSXRlbSAoSXRhbGlh +bm8pLTFfECtUYWJsZSBWaWV3IChTb3VyY2UgRXhhbXBsZSwgVGFyZ2V0IEV4YW1wbGUpXxAdVGV4dCBG +aWVsZCBDZWxsIChUZXh0IENlbGwpLTFfEBhUYWJsZSBDb2x1bW4gKHNfZXhhbXBsZSlfEBxQb3AgVXAg +QnV0dG9uIENlbGwgKEluZ2xlc2UpXVNjcm9sbCBWaWV3LTJvEA8AUwB0AGEAdABpAGMAIABUAGUAeAB0 +ACAAKCGSAClfEBtUYWIgVmlldyBJdGVtIChUcmFuc2xhdGlvbilcVGFibGUgQ29sdW1uXxAUUHVzaCBC +dXR0b24gKERyYXdlcilfEBhNZW51IEl0ZW0gKFBvcnRvZ2hlc2UpLTFfEBNUYWJsZSBIZWFkZXIgVmll +dy0yXxAURmF2b3JpdGVzIENvbnRyb2xsZXJfECNUb3AgVGFiIFZpZXcgKENvbnRleHQsIFRyYW5zbGF0 +aW9uKV8QE01lbnUgSXRlbSAoUnVzc28pLTFfEBNNZW51IEl0ZW0gKEluZ2xlc2UpXEZpbGUncyBPd25l +cltDdXN0b20gVmlld18QD0hvcml6b250YWwgTGluZV8QHVRleHQgRmllbGQgQ2VsbCAoVGV4dCBDZWxs +KS00XxAdVGV4dCBGaWVsZCBDZWxsIChUZXh0IENlbGwpLTNfEBFTZWFyY2ggRmllbGQgQ2VsbF8QFE1l +bnUgSXRlbSAoT2xhbmRlc2UpXxAbVGV4dCBGaWVsZCBDZWxsIChGYXZvcml0ZXMpXxAdUG9wIFVwIEJ1 +dHRvbiBDZWxsIChJdGFsaWFubylfEBNNZW51IEl0ZW0gKEVicmFpY28pXxAWTWVudSBJdGVtIChGcmFu +Y2VzZSktMV8QFk1lbnUgSXRlbSAoT2xhbmRlc2UpLTFeVGFibGUgQ29sdW1uLTFfEBZNZW51IEl0ZW0g +KFNwYWdub2xvKS0xXxAUTWVudSBJdGVtIChDaW5lc2UpLTFfEBFUYWJsZSBIZWFkZXIgVmlld28QEwBU +AGUAeAB0ACAARgBpAGUAbABkACAAQwBlAGwAbAAgACghkgApXxAVTWVudSBJdGVtIChQb2xhY2NvKS0x +XxARTWVudSBJdGVtIChBcmFibylfEBVIb3Jpem9udGFsIFNjcm9sbGVyLTJfEBNWZXJ0aWNhbCBTY3Jv +bGxlci0xVlZpZXctMVtBcHBsaWNhdGlvbl8QEVZlcnRpY2FsIFNjcm9sbGVyXxAWTWVudSBJdGVtIChQ +b3J0b2doZXNlKV8QGFRhYmxlIFZpZXcgKFRyYW5zbGF0aW9uKV8QF1RhYiBWaWV3IEl0ZW0gKENvbnRl +eHQpXxAUTWVudSBJdGVtIChJdGFsaWFubylfEBNNZW51IEl0ZW0gKFBvbGFjY28pXxAbVGV4dCBGaWVs +ZCBDZWxsIChUZXh0IENlbGwpXxASTWVudSBJdGVtIChDaW5lc2UpXxAWTWVudSBJdGVtIChHaWFwcG9u +ZXNlKVZXaW5kb3dfEBNNZW51IEl0ZW0gKFR1cmNvKS0xXxAaVGFibGUgQ29sdW1uICh0cmFuc2xhdGlv +bilfEBRNZW51IEl0ZW0gKFJ1bWVubyktMV8QFE1lbnUgSXRlbSAoRnJhbmNlc2UpXxARTWVudSBJdGVt +IChSdXNzbylfEBVNZW51IEl0ZW0gKEluZ2xlc2UpLTFfEBZQb3B1cCBCdXR0b24gKEluZ2xlc2UpXFNl +YXJjaCBGaWVsZF8QE01lbnUgSXRlbSAoQXJhYm8pLTFfEBNUYWJsZSBIZWFkZXIgVmlldy0xXxAdVGV4 +dCBGaWVsZCBDZWxsIChUZXh0IENlbGwpLTLSAA4APgZPB/6BAWWhBRKBARTSAA4APgZPCAKBAWWhBSWB +ARXSAA4APgZPCAaBAWWvEGUFrgH7AHEATgTxAt0E9wM7BcUAcARnBYcE9APxAOkE9gH/AOUC8gYQAHID +zwMJAHQAcwUSBPIFAAHxBPgFiADkAtMFjgX0AoIA6wH0BPkE/AP4ArwECAaNBbUE9QPhBQEB+QQzAfcA +QQDtAJ4AdQQTAKQD7gH+BQIA8AWJAOgB4AB2Af0DOgB+BP4CyAT/BfME/QDsAO4AHwNLBXsDggSCAfgA +6gHQAO8B9gDnBPMF0AH6AdwA8QH1ArgF+QT6AfIB/ABvAOYE+wQ6gQFTgHiAX4ANgQEQgLiBASSArYEB +QYBSgO2BATWBAR2A5IAzgQEhgICAJ4CVgQFPgIKAyoCXgOuAjYEBFIEBE4EBXIBmgQElgQE5gCSAvIEB +N4EBTYCEgDmAaoEBJoEBLIDigI+A0oEBY4EBUYEBH4DMgQFegHSA2oBwgAeAP4AXgPGA1IAYgM6AfoEB +YIBIgQE9gDCAY4EBBIB8gJ+AEoEBMICRgQEygQFJgQEugDyAQoACgKiBATOAsYDzgHKANoBhgEWAboAt +gQEbgQFDgHaAYoBLgGyAxoEBTIEBKIBogHqAEIAqgQEqgN/SAA4APgZPCG6BAWWvEGUIbwhwCHEIcghz +CHQIdQh2CHcIeAh5CHoIewh8CH0Ifgh/CIAIgQiCCIMIhAiFCIYIhwiICIkIigiLCIwIjQiOCI8IkAiR +CJIIkwiUCJUIlgiXCJgImQiaCJsInAidCJ4InwigCKEIogijCKQIpQimCKcIqAipCKoIqwisCK0Irgiv +CLAIsQiyCLMItAi1CLYItwi4CLkIugi7CLwIvQi+CL8IwAjBCMIIwwjECMUIxgjHCMgIyQjKCMsIzAjN +CM4IzwjQCNEI0gjTgQG/gQHAgQHBgQHCgQHDgQHEgQHFgQHGgQHHgQHIgQHJgQHKgQHLgQHMgQHNgQHO +gQHPgQHQgQHRgQHSgQHTgQHUgQHVgQHWgQHXgQHYgQHZgQHagQHbgQHcgQHdgQHegQHfgQHggQHhgQHi +gQHjgQHkgQHlgQHmgQHngQHogQHpgQHqgQHrgQHsgQHtgQHugQHvgQHwgQHxgQHygQHzgQH0gQH1gQH2 +gQH3gQH4gQH5gQH6gQH7gQH8gQH9gQH+gQH/gQIAgQIBgQICgQIDgQIEgQIFgQIGgQIHgQIIgQIJgQIK +gQILgQIMgQINgQIOgQIPgQIQgQIRgQISgQITgQIUgQIVgQIWgQIXgQIYgQIZgQIagQIbgQIcgQIdgQIe +gQIfgQIggQIhgQIigQIjEgABh10SAAGG6BIAAYbhEgABhzESAAGHBhIAAYcyEgABhwsSAAGHXhIAAYbF +EgABhx8SAAGHWBIAAYcgEgABhxASAAGG1hIAAYb1EgABhuQSAAGGvBIAAYcIEgABh2ISAAGG/hIAAYcB +EgABhwkSAAGHHhIAAYcAEgABhxoSAAGHIxIAAYc3EgABhvISAAGHIRIAAYdaEgABhrsSAAGHBxIAAYdZ +EgABh2ESAAGG/xIAAYbYEgABhu8SAAGG9hIAAYeTEgABhw8SAAGHAxIAAYcRE//////////9EgABh1wQ +ERIAAYcEEgABhvMSAAGG6hIAAYcTEgABhuwQBRIAAYbaEgABhroSAAGHNRIAAYcSEgABhrkSAAGHDhIA +AYblEgABhvQSAAGG3RIAAYdbEgABhtUSAAGG4xIAAYc5EgABhuYSAAGHChIAAYa4EgABh5ISAAGHBRIA +AYdvEgABh2ASAAGHIhIAAYbZEgABhtsSAAGHlBIAAYcNEgABh1cSAAGHDBIAAYc2EgABhusSAAGG1xIA +AYbiEgABhtwSAAGG7RIAAYbUEgABhxcSAAGHXxIAAYbpEgABhvASAAGG3hIAAYbuEgABhwISAAGHYxIA +AYc0EgABhvESAAGG5xIAAYa3EgABhtMSAAGHOBIAAYcW0gAOAD4AbQk6gE6g0gAOAD4GTwk9gQFloNIA +DgA+Bk8JQIEBZaDSADcAOAlCCUOiCUMAO15OU0lCT2JqZWN0RGF0YQAIABkAIgAnADEAOgA/AEQAUgBU +AGYEugTABQsFEgUZBScFOQVVBWMFbwV7BYkFlAWiBb4FzAXfBfEGCwYVBiIGJAYnBioGLQYwBjMGNgY4 +BjsGPgZBBkQGRgZIBksGTgZTBlYGXwZrBm0GbwZ6BoMGjAaXBpwGqwa0BscG0AbbBt4G4QbjBxQHIQcu +BzwHRgdUB20HegeMB6AHqge2B7gHuwe+B8AHxQfHB8kHywfNB88H0gfUB+8IAQgKCA8IGAg1CEcIUghb +CGcIcwh1CHcIeQh8CH8IgQiECI0IjwigCKIIpAimCKgIqgisCK4IsQjSCNoI4QjrCO0I7wjxCPMI9gj3 +CPkI+wkVCWAJbAmJCZsJsQnGCdUJ5wnxCfwKCgocCjEKPwpRCl4KZQpzCnwKfQp/CoEKgwqFCocKiQqL +Co0KjgqPCpIKlQqXCpwKrQq0CrsKxArGCs8K0QrUCuEK6grvCvYK9wskCy0LNQtJC1QLYgtsC3kLgguK +C4wLjguQC5ULlwucC54LoAuiC6QLsQu9C78LwQvDC8sL2AvnC+kL6wvtC/UMBwwQDBUMKAw1DDcMOQw7 +DE4MYgxrDHAMewyEDIYMpwypDKsMrQyvDLEMswy1DLcMuQy7DL0MvwzBDMMMxQzyDPgM+gz8DP4NAA0C +DQQNBg0IDRENPg1ADUINRA1GDUgNSg1MDU4NVw2ADYINhA2GDYgNig2MDY4NkA2WDb8NwQ3DDcUNxw3J +DcsNzQ3PDdYN/w4BDgMOBQ4HDgkOCw4NDg8OFw5ADkIORA5GDkgOSg5MDk4OUA5bDoQOhg6IDooOjA6O +DpAOkg6UDp0Oxg7IDsoOzA7ODtAO0g7UDtYO3g8HDwkPCw8NDw8PEQ8TDxUPFw8iD0sPTQ9PD1EPUw9V +D1cPWQ9bD2IPiw+ND48PkQ+TD5UPlw+ZD5sPoQ/KD8wPzg/QD9IP1A/WD9gP2g/jEAwQDhAQEBIQFBAW +EBgQGhAcECQQTRBPEFEQUxBVEFcQWRBbEF0QYxBsEHMQghCKEJMQmBChEK4QwhDREN4Q6xD0EQERDxEY +ESIRKRE1EWYRcBF8EYoRlxGhEbMRtRG3EbkRuxG8Eb4RwBHCEcQRxhHIEeAR5xIEEhgSIxIvEjQSNhI4 +EjoSPBI+EkISVxJfEmwSeBKGEogSihKMEo4SkBKXEq0SuhLCEsQSxxLQEtUS4hLkEvIS+xMEExYTHxMo +Ey4TTxNRE1MTVRNXE1gTWhNcE3YTxRPXE9gT2hPcE94T4BPiE+QT5RPmE+gUGRQbFB0UHxQhFCMUJRQn +FCkUNhQ4FDoUPBRFFEcUaBRqFGwUbhRwFHIUdBR2FHgUehR8FH4UgBSCFIQUhhSvFLEUsxS1FLcUuRS7 +FL0UvxTsFO4U8BTyFPQU9hT4FPoU/BUlFScVKRUrFS0VLxUxFTMVNRVeFWAVYhVkFWYVaBVqFWwVbhWX +FZkVmxWdFZ8VoRWjFaUVpxXQFdIV1BXWFdgV2hXcFd4V4BYJFgsWDRYPFhEWExYVFhcWGRZCFkQWRhZI +FkoWTBZOFlAWUhZ7Fn0WfxaBFoMWhRaHFokWixa0FrYWuBa6FrwWvhbAFsIWxBbtFu8W8RbzFvUW9xb5 +FvsW/RcmFygXKhcsFy4XMBcyFzQXNhdfF2EXYxdlF2cXaRdrF20XbxeYF5oXnBeeF6AXohekF6YXqBfJ +F8sXzRfPF9EX1BfVF9cX2RfyGBMYGBgaGBwYHhggGCIYJxgpGCwYQRhDGEUYRxhJGFYYYxhlGHEYhhiI +GIoYjBiOGKEYrhiwGLMYvBjHGNMZCBkXGSEZNRlOGWYZaBlqGWwZbhlwGXIZdBl2GXcZeRl6GXwZhRmH +GYoZjBmpGasZrRmvGbEZtBm2GbgZwRnDGcYZyBoHGhMaHBopGjwaSRpVGmMacRpzGnUadxp5GnsafRp/ +GoEalBqWGpgamhqcGp4apxqpGrQathq4GroavBq+Gusa9Rr/GwkbCxsNGw8bERsTGxYbGBsaGxwbHhsg +GykbKxsuGzAbgxulG7IbxxvhG/0cGBwkHEMcUhxeHGAcYhxrHG0cbxxwHHIcexyEHIYchxyJHIscjRyP +HJgcoxzAHMwczhzQHNIc1BzWHNgdBR0HHQkdCx0NHQ8dER0THRUdFx0hHSodMx1HHWAdYh1kHWYdaB1q +HYEdih2THaEdqh2sHbEdsx21HeId8R3+HgseEx4eHi0eOB5DHlAeUR5THlUeVx5gHmIeax50HnUedx6B +Hp4eox6lHqceqR6rHq0evB7NHs8e2B7aHt0e6h7sHvgfDR8PHxEfEx8VHycfMB87H08fcB91H3cfeR97 +H30ffx+BH4sfoB+iH6Qfph+oH8Efyh/PH90gCiALIA0gDyARIBogHCAdIB8gKSBGIEggSiBMIE4gUCBf +IIAggiCEIIYgiCCKIIwgoSCjIKUgpyCpILMgwCDCIMcg0CDbIPMg/CEFIRAhOSFEIU4hUCFSIVQhViFY +IVohXCFlIW4hhyGUIZ0hqCGzIdwh3iHgIeIh5CHmIegh6iHzIgsiFCIWIhkiGyIxIkoiUyJcImkigiKL +IpIiqyK0IrYiuyK9Ir8i2CLiIuoi7CLuIvAi8iL0IvYi+CMAIwkjDiMcIzUjNyM5IzsjPSM/I0EjQyNY +I1ojXCNeI2AjaSNrI24jcCOpI6sjrSOvI7EjsyO1I7cjuSO7I70jvyPII8oj1SPXI9kj2yPdI98kCCQK +JAwkDiQQJBIkFCQWJBgkISQjJCYkKCR3JHkkeyR9JH8kgCSCJIQkhSSHJIkkiySkJKYkqCSqJKwkriTX +JNkk2yTdJN8k4STjJOUk5yT8JP4lACUCJQQlDSUPJRIlFCVBJUIlRCVGJUglUSVTJVQlViViJX8lgSWD +JYUlhyWJJZUloiWkJcUlxyXJJcslzSXPJdEl9iX4Jfol/CX+JgAmAiYnJikmKyYtJi8mMSYzJjwmRSZH +JkomTCZVJl4mfyaBJoMmhSaHJoomiyaNJo8mqCbZJtsm3SbfJuEm4yblJucm6SbrJvAm+ScAJwknEicb +JyYnRydJJ0wnTidQJ1MnVCdWJ1gncSeqJ78n0ifnJ/ooECgVKBgoGigcKB4oICgiKCcoKCgqKCwoLigw +KFEogiiEKIkoiyiNKI8okSiTKJgonyi1KOopECkSKRQpFikYKRopHCkfKSUpLikwKTMpNSlCKUopTSlS +KVQpVilbKV0pXyltKZkpoSmqKbEpxynUKeop8yn+KhIqGyooKjYqXypqKnUqfyqMKo4qkSqUKp0qpiqp +KqsqriqwKrMquCq7KsQqySrUKuwq9Sr+KxQrHys4K0IrSytQK2MrbCtzK4ArhiuPK5EruCu7K74rwSvE +K8cryivNK9Ar0yvWK9kr3CvfK+Ir5SvoK+sr7iv/LA0sFiwZLBssHSwgLCssNCw7LFIsYSxyLHUsdyx6 +LH0srizELNMs5iz0LQctGS0sLTctOS08LT8tQS1ELUctUC1ZLVwtXi1gLXYtfy2KLZktoi2nLbYtwy3U +Ldct2S3bLd4t8S4CLgUuCC4KLg0uFC4lLiguKi4sLi8uOC5JLkwuTi5QLlMubS52Ln0ulS6mLqkuqy6t +LrAuwS7ELsYuyS7MLt0u4C7iLuQu5y8BLxIvFS8XLxkvHC8kLzUvOC86LzwvPy9HL1gvWy9eL2AvYy9r +L3wvfy+BL4Mvhi+UL6UvqC+qL6wvry+2L8cvyi/NL9Av0y/sL+4v8S/0L/cv+jADMAUwDDAPMBIwFTAy +MDUwNzA6MD0wPjBBMFowezB9MH8wgjCEMIcwjDCOMJgwxTDIMMowzTDQMNEw0zDWMO4xCzENMQ8xETET +MRYxIzElMV4xYTFkMWYxaTFsMW8xcjF1MXgxezF+MYcxiTGUMZcxmjGdMaAxozHMMc8x0THUMdcx2jHc +Md8x4jHrMe0x8DHzMkIyRTJHMkoyTDJNMlAyUzJUMlYyWTJcMmcygDKDMoUyiDKLMo4ytzK6MrwyvzLC +MsUyxzLKMs0y1zLsMu8y8TL0MvczDjMXMxkzHjMhMyQzTTNOM1AzUzNWM1czWjN3M3kzfDN+M4AzgjOP +M5EzsjO0M7YzuDO6M70zvzPoM+kz6zPuM/cz+jP7M/40GzQdNCA0IjQkNCY0RzRJNEs0TTRPNFI0VDRs +NJE0lDSXNJk0nDSeNKE0ujTfNOI05TTnNOo07DTvNQc1EDUSNRU1GDUuNUc1UjVbNWQ1cTV9NY41kTWT +NZU1mDWkNbU1uDW6Nbw1vzXONd814jXkNeY16TX4NgE2BDarNq02rzaxNrM2tTa4Nro2vDa/NsE2wzbF +Nsc2yjbMNs420TbUNtY22DbaNtw23jbgNuM25TbnNuk26zbtNvA28jb0NvY2+Db7Nv02/zcBNwQ3BzcJ +Nws3DTcPNxE3EzcVNxc3GTcbNx43ITcjNyU3JzcqNyw3LjcwNzM3NTc4Nzo3PDc+N0A3QjdEN0Y3SDdK +N003TzdRN1M3VTdXN1k3WzddN183aDdqN203ezeEN4k3kjeVODw4PjhAOEI4RDhGOEk4SzhNOFA4UjhU +OFY4WDhbOF04XzhhOGQ4ZjhoOGo4bDhuOHA4czh1OHc4eTh7OH04gDiCOIQ4hjiIOIo4jDiOOJA4kjiV +OJc4mTibOJ04nzihOKM4pTinOKk4rDivOLE4szi1OLg4uji8OL44wDjCOMU4xzjJOMs4zTjPONE40zjV +ONc42jjcON444DjiOOQ45jjoOOo47Dj1OPg5oTmjOaY5qDmqOaw5rjmwObI5tTm3Obk5uzm9OcA5wznG +Ocg5yjnMOc450DnSOdQ51jnZOds53TnfOeE54znmOeg56jnsOe858TnzOfU59zn6Of05/zoBOgM6BToI +Ogo6DDoOOhA6EzoVOhc6GjocOh46IDoiOiQ6JjopOiw6LjowOjI6NDo2Ojg6Ozo9Oj86QTpDOkU6RzpJ +Oks6TTpPOlE6UzpVOlc6YDpjOww7DzsSOxU7GDsbOx47ITskOyc7KjstOzA7Mzs2Ozk7PDs/O0I7RTtI +O0s7TjtRO1Q7VztaO107YDtjO2Y7aTtsO287cjt1O3g7ezt+O4E7hDuHO4o7jTuQO5M7ljuZO5w7nzui +O6U7qDurO647sTu0O7c7uju9O8A7wzvGO8k7zDvOO9E71DvXO9o73TvgO+M75jvpO+w77zvyO/U7+Dv7 +O/48ATwEPBo8MDxFPF88dTyDPJA8qDy0PMw84jz2PRE9HD02PUM9Vz1uPYY9nT24Pcw95T4TPjM+Tj5t +Pns+nD66Psc+3j75Pw8/Jj9MP2I/eD+FP5E/oz/DP+M/90AOQCxATEBiQHtAlECjQLxA00DnQRBBKEE8 +QVRBakFxQX1BkUGqQcVB30H2QgxCKkI/QlhCX0J1QpJCqULAQtRC7EMFQxJDKEM+Q15DZ0NqQ21DcEN5 +Q3xDf0OCQ4tDjkRbRF5EYERiRGREZ0RpRGxEbkRxRHNEdUR4RHtEfUR/RIJEhESGRIhEi0SNRI9EkUST +RJVEmESbRJ5EoESjRKZEqESqRK1EsESyRLREtkS5RLxEvkTARMJExUTIRMtEzUTQRNJE1ETWRNhE2kTc +RN5E4ETiRORE5kTpROtE7kTwRPJE9UT3RPlE+0T+RQBFA0UGRQlFC0UNRQ9FEUUURRZFGEUaRRxFHkUg +RSJFJEUnRSpFLEUuRTBFMkU0RTdFOkU8RT5FQEVCRUVFR0VQRVNGIEYjRiZGKUYsRi9GMkY1RjhGO0Y+ +RkFGREZHRkpGTUZQRlNGVkZZRlxGX0ZiRmVGaEZrRm5GcUZ0RndGekZ9RoBGg0aGRolGjEaPRpJGlUaY +RptGnkahRqRGp0aqRq1GsEazRrZGuUa8Rr9GwkbFRshGy0bORtFG1EbXRtpG3UbgRuNG5kbpRuxG70by +RvVG+Eb7Rv5HAUcERwdHCkcNRxBHE0cWRxlHHEcfRyJHJUcoRytHLkcxRzRHN0c6Rz1HQEdDR0ZHSUdM +R09HVEdZR15HY0doR21Hckd3R3xHgUeGR4tHkEeVR5pHn0ekR6lHrkezR7hHvUfCR8dHzEfRR9ZH20fg +R+VH6kfvR/RH+Uf+SANICEgNSBJIF0gcSCFIKkgvSDFINkg7SEBIRUhKSExIUUhWSFtIYEhlSGpIb0h0 +SHlIfkiDSIhIjUiSSJdInEihSKZIq0iwSLVIuki/SMRIyUjOSNNI2EjdSOJI50jsSPFI9kj7SQBJBUkK +SQ9JFEkZSR5JI0koSS1JMkk3STxJQUlKSUxJTUlWSVlJWkljSWZJZ0lwSXUAAAAAAAACAgAAAAAAAAlE +AAAAAAAAAAAAAAAAAABJhA + + + diff --git a/English.lproj/MyDocument.nib/keyedobjects.nib b/English.lproj/MyDocument.nib/keyedobjects.nib new file mode 100755 index 0000000..4371d92 Binary files /dev/null and b/English.lproj/MyDocument.nib/keyedobjects.nib differ diff --git a/FavoritesController.h b/FavoritesController.h new file mode 100755 index 0000000..f8cfb95 --- /dev/null +++ b/FavoritesController.h @@ -0,0 +1,16 @@ +// +// FavoritesController.h +// Reverso Context +// +// Created by Francesco Mattiussi on 29/05/21. +// Copyright 2021 __MyCompanyName__. All rights reserved. +// + +#import + + +@interface FavoritesController : NSDrawer { + +} + +@end diff --git a/FavoritesController.m b/FavoritesController.m new file mode 100755 index 0000000..e1a1760 --- /dev/null +++ b/FavoritesController.m @@ -0,0 +1,41 @@ +// +// FavoritesController.m +// Reverso Context +// +// Created by Francesco Mattiussi on 29/05/21. +// Copyright 2021 __MyCompanyName__. All rights reserved. +// + +#import "FavoritesController.h" + + +@implementation FavoritesController + +- (NSString *)windowNibName { + // Implement this to return a nib to load OR implement -makeWindowControllers to manually create your controllers. + return @"FavoritesController"; +} + +- (NSData *)dataOfType:(NSString *)typeName error:(NSError **)outError +{ + // Insert code here to write your document to data of the specified type. If the given outError != NULL, ensure that you set *outError when returning nil. + + // You can also choose to override -fileWrapperOfType:error:, -writeToURL:ofType:error:, or -writeToURL:ofType:forSaveOperation:originalContentsURL:error: instead. + + // For applications targeted for Panther or earlier systems, you should use the deprecated API -dataRepresentationOfType:. In this case you can also choose to override -fileWrapperRepresentationOfType: or -writeToFile:ofType: instead. + + return nil; +} + +- (BOOL)readFromData:(NSData *)data ofType:(NSString *)typeName error:(NSError **)outError +{ + // Insert code here to read your document from the given data of the specified type. If the given outError != NULL, ensure that you set *outError when returning NO. + + // You can also choose to override -readFromFileWrapper:ofType:error: or -readFromURL:ofType:error: instead. + + // For applications targeted for Panther or earlier systems, you should use the deprecated API -loadDataRepresentation:ofType. In this case you can also choose to override -readFromFile:ofType: or -loadFileWrapperRepresentation:ofType: instead. + + return YES; +} + +@end diff --git a/Info.plist b/Info.plist new file mode 100755 index 0000000..25e7a64 --- /dev/null +++ b/Info.plist @@ -0,0 +1,49 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleDocumentTypes + + + CFBundleTypeExtensions + + ???? + + CFBundleTypeIconFile + + CFBundleTypeName + DocumentType + CFBundleTypeOSTypes + + ???? + + CFBundleTypeRole + Editor + NSDocumentClass + MyDocument + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + com.yourcompany.Reverso Context + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleVersion + 1.0 + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + + diff --git a/MyDocument.h b/MyDocument.h new file mode 100755 index 0000000..76fec98 --- /dev/null +++ b/MyDocument.h @@ -0,0 +1,105 @@ +// +// MyDocument.h +// Reverso Context +// +// Created by Francesco Mattiussi on 21/05/21. +// Copyright __MyCompanyName__ 2021 . All rights reserved. +// + + +#import +#import "TableViewDataObject.h" +#import "PreferencesController.h" + +@interface MyDocument : NSDocument +{ + + NSMutableData* responseData; + NSInteger *sourceLanguageId; + NSInteger *targetLanguageId; + + // Interface Builder Things + IBOutlet NSSearchField *searchField; + IBOutlet NSPopUpButton *sourceLanguage; + IBOutlet NSPopUpButton *targetLanguage; + IBOutlet NSTableView *resultsTableView; + IBOutlet NSProgressIndicator *spinner; + + // Parsing Things + NSString *currentElement, *source_example, *target_example; + NSMutableString *elementValue; + + // Results Arrays + NSMutableArray *sourceExampleArray, *targetExampleArray; + NSMutableArray *tableViewData; + + // Drawer Things + IBOutlet NSDrawer *drawer; + IBOutlet NSView *drawerView; + + // TabView + IBOutlet NSTabView *tabView; + NSString *service; + + // Windows + IBOutlet NSWindow *preferences; +} + +// Menu Actions +- (IBAction)openPreferences:(id)sender; + +// Windows +@property (assign) IBOutlet NSWindow *preferences; + +// TabView +@property (assign) IBOutlet NSTabView *tabView; +@property (assign) NSString *service; +- (IBAction)tabChanged:(id)sender; + +// Drawer + +@property (assign) IBOutlet NSDrawer *drawer; +@property (assign) IBOutlet NSView *drawerView; +- (IBAction)toggleDrawer:(id)sender; + +// Interface Builder's properties +@property (assign) IBOutlet NSTextField *searchField; +@property (assign) IBOutlet NSPopUpButton *sourceLanguage; +@property (assign) IBOutlet NSPopUpButton *targetLanguage; +@property (assign) IBOutlet NSTableView *resultsTableView; +@property (assign) IBOutlet NSProgressIndicator *spinner; + +// Interface Builder's actions +- (IBAction)search:(id)pId; +- (IBAction)sourceLanguageSelected:(id)sender; +- (IBAction)targetLanguageSelected:(id)sender; + +@property (nonatomic, retain) NSMutableData* responseData; +@property (assign) NSInteger* sourceLanguageId; +@property (assign) NSInteger* targetLanguageId; + +@property (assign) NSString* currentElement; +@property (assign) NSString* source_example; +@property (assign) NSString* target_example; +@property (assign) NSMutableString* elementValue; + +@property (assign) NSMutableArray* sourceExampleArray; +@property (assign) NSMutableArray* targetExampleArray; +@property (assign) NSMutableArray* tableViewData; + +- (NSString *)locale:(int)index; +- (void)find; +// TableView's delegate functions + +- (int)numberOfRowsInTableView:(NSTableView *)pTableViewObj; + +- (id) tableView:(NSTableView *)pTableViewObj + objectValueForTableColumn:(NSTableColumn *)pTableColumn + row:(int)pRowIndex; + +- (void)tableView:(NSTableView *)pTableViewObj + setObjectValue:(id)pObject + forTableColumn:(NSTableColumn *)pTableColumn + row:(int)pRowIndex; + +@end diff --git a/MyDocument.m b/MyDocument.m new file mode 100755 index 0000000..446e279 --- /dev/null +++ b/MyDocument.m @@ -0,0 +1,325 @@ +// +// MyDocument.m +// Reverso Context +// +// Created by Francesco Mattiussi on 21/05/21. +// Copyright __MyCompanyName__ 2021 . All rights reserved. +// + +#import "MyDocument.h" + + +@implementation MyDocument + +@synthesize responseData, sourceLanguage, targetLanguage, sourceLanguageId, targetLanguageId; + +@synthesize currentElement, source_example, target_example, elementValue; + +@synthesize sourceExampleArray, targetExampleArray; + +@synthesize resultsTableView, tableViewData; + +@synthesize searchField; + +@synthesize drawer, drawerView, tabView, service, spinner; + +@synthesize preferences; + +- (id)init +{ + self = [super init]; + if (self) { + + // Add your subclass-specific initialization here. + // If an error occurs here, send a [self release] message and return nil. + + } + return self; +} + +- (NSString *)windowNibName +{ + // Override returning the nib file name of the document + // If you need to use a subclass of NSWindowController or if your document supports multiple NSWindowControllers, you should remove this method and override -makeWindowControllers instead. + return @"MyDocument"; +} + +// Language indexing + +- (NSString *)locale:(int)index { + switch(index) { + case 0: + return @"en"; + break; + + case 1: + return @"fr"; + break; + + case 2: + return @"it"; + break; + + default: + return @"en"; + break; + } +} + +- (void)windowControllerDidLoadNib:(NSWindowController *) aController +{ + [super windowControllerDidLoadNib:aController]; + // Add any code here that needs to be executed once the windowController has loaded the document's window. + + service = @"context"; + + [[self drawer] setDelegate:self]; + [[self drawer] close:self]; + [[self drawer] setTrailingOffset:10.]; + [[self drawer] setLeadingOffset:10.]; + [[self drawer] setContentSize:NSMakeSize(327., 379.)]; + + [[self resultsTableView] setDelegate:self]; + [[self resultsTableView] setDataSource:self]; + + sourceLanguageId = [self locale:[sourceLanguage indexOfSelectedItem]]; + targetLanguageId = [self locale:[targetLanguage indexOfSelectedItem]]; +} + +// Menu + +- (IBAction)openPreferences:(id)sender { + [preferences makeKeyAndOrderFront:self]; +} + +// Drawer actions + +- (IBAction)toggleDrawer:(id)sender { + //if ([drawer state] == NSDrawerClosedState) { + // [drawer open:sender]; + //} + NSLog(@"eee"); + +} + +// TableView's delegates and functions + +- (void)mergeData:(NSMutableArray *)outputData firstArray:(NSMutableArray *)arrayOne secondArray:(NSMutableArray *)arrayTwo { + if ([arrayOne count] == [arrayTwo count]) { + int i; + for (i = 0; i < [arrayOne count] - 1; i++) { + TableViewDataObject *dataObject = [[TableViewDataObject alloc] initWithExamples:[arrayOne objectAtIndex:i] target:[arrayTwo objectAtIndex:i]]; + [outputData addObject:dataObject]; + } + } +} + +- (int)numberOfRowsInTableView:(NSTableView *)pTableViewObj { + return [self.tableViewData count]; +} + + +- (id) tableView:(NSTableView *)pTableViewObj + objectValueForTableColumn:(NSTableColumn *)pTableColumn + row:(int)pRowIndex { + TableViewDataObject * dataObject = (TableViewDataObject *) + [self.tableViewData objectAtIndex:pRowIndex]; + if (! dataObject) { + NSLog(@"tableView: objectAtIndex:%d = NULL",pRowIndex); + return NULL; + } // end if + + if ([[pTableColumn identifier] isEqualToString:@"s_example"]) { + return [dataObject sourceExample]; + } + + if ([[pTableColumn identifier] isEqualToString:@"t_example"]) { + return [dataObject targetExample]; + } + + NSLog(@"***ERROR** dropped through pTableColumn identifiers"); + return NULL; + +} // end tableView:objectValueForTableColumn:row: + + +- (void)tableView:(NSTableView *)pTableViewObj + setObjectValue:(id)pObject + forTableColumn:(NSTableColumn *)pTableColumn + row:(int)pRowIndex { + + NSLog(@"set object value impostato"); + TableViewDataObject * dataObject = (TableViewDataObject *) + [self.tableViewData objectAtIndex:pRowIndex]; + + if ([[pTableColumn identifier] isEqualToString:@"s_example"]) { + [dataObject setSourceExample:(NSString *)pObject]; + } + + if ([[pTableColumn identifier] isEqualToString:@"t_example"]) { + [dataObject setTargetExample:(NSString *)pObject]; + } + +} // end tableView:setObjectValue:forTableColumn:row: + + +- (IBAction)sourceLanguageSelected:(id)sender { + + sourceLanguageId = [self locale:[sender indexOfSelectedItem]]; + NSLog(@"%@", sourceLanguageId); +} + +- (IBAction)targetLanguageSelected:(id)sender { + + targetLanguageId = [self locale:[sender indexOfSelectedItem]]; + NSLog(@"%@", targetLanguageId); + +} + +// Parser's events + +- (void) parserDidStartDocument:(NSXMLParser *)parser { + sourceExampleArray = [[NSMutableArray alloc] init]; + targetExampleArray = [[NSMutableArray alloc] init]; +} + +- (void) parserDidEndDocument:(NSXMLParser *)parser { + self.tableViewData = [[NSMutableArray alloc] init]; + NSLog(@"tabelviewdata init"); + [self mergeData:self.tableViewData firstArray:sourceExampleArray secondArray:targetExampleArray]; + NSLog(@"data has benn merged"); + [[self resultsTableView] reloadData]; + NSLog(@"tableviewrealoaddata"); + + [spinner stopAnimation:self]; +} + +- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName { + NSLog(@"didendelement"); + if ([@"source_example" isEqualToString:elementName]) { + source_example = [elementValue copy]; + } else if ([@"target_example" isEqualToString:elementName]) { + target_example = [elementValue copy]; + } if ([@"Sample" isEqualToString:elementName]) { + [sourceExampleArray addObject:source_example]; + [targetExampleArray addObject:target_example]; + } +} + +- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string { + if (!elementValue) elementValue = [NSMutableString stringWithCapacity:100]; + [elementValue appendString:string]; + NSLog(@"found characters"); +} + +- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict { + currentElement = elementName; + elementValue = nil; + NSLog(@"didstartelement"); +} + +// Internet requests management + +- (void)connectionDidFinishLoading:(NSURLConnection*)connection { + [connection release]; + + // Parsing the XML response + NSLog(@"caricamento terminato"); + + NSXMLParser *parser = [[NSXMLParser alloc] initWithData:responseData]; + [parser setDelegate:self]; + [parser parse]; + NSLog(@"parsing inviato"); + + NSString* responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding]; + NSLog(@"%@", responseString); + [responseString release]; +} + +- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response { + responseData = [[NSMutableData alloc] init]; + NSLog(@"responso ricevuto"); +} + +- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data { + [responseData appendData:data]; + NSLog(@"dati ricevuti"); + NSLog(@"%@", data); +} + +- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error { + NSLog(@"c'e stato un errore!"); + [spinner stopAnimation:self]; +} + +// Intrafce Builder's actions + +- (IBAction)tabChanged:(id)sender { + int tabSelection; + + tabSelection = [tabView indexOfTabViewItem:[tabView selectedTabViewItem]]; + + if (tabSelection == 1) { + self.service = @"context"; + } else if (tabSelection == 2) { + self.service = @"translation"; + } +} + +- (void)find { + responseData = [NSMutableData new]; + + NSString *inputText = [searchField stringValue]; + + // retrieving data from preferences + NSString *serverAddress = [[NSUserDefaults standardUserDefaults] stringForKey:@"serverAddress"]; + NSString *serverPort = [[NSUserDefaults standardUserDefaults] stringForKey:@"serverPort"]; + + //NSLog(@"%@ %@ %@", inputText, sourceLanguageId, targetLanguageId); + + NSString *componentsPath = [NSString stringWithFormat:@"http://%@:%@/?service=%@&text=%@&inputlang=%@&outputlang=%@&number=10", serverAddress, serverPort, [self service], inputText, sourceLanguageId, targetLanguageId]; + componentsPath = [componentsPath stringByReplacingOccurrencesOfString:@" " withString:@"%20"]; + NSLog(@"%@", componentsPath); + NSURL *url = [NSURL URLWithString:componentsPath]; + NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0]; + NSLog(@"richiesta inviata"); + [spinner startAnimation:self]; + [request setHTTPMethod:@"GET"]; + [[NSURLConnection alloc] initWithRequest:request delegate:self]; +} + +- (IBAction)search:(id)pId { + if (![[searchField stringValue] isEqualToString:@""]) { + [self find]; + } +} + +- (NSData *)dataOfType:(NSString *)typeName error:(NSError **)outError +{ + // Insert code here to write your document to data of the specified type. If the given outError != NULL, ensure that you set *outError when returning nil. + + // You can also choose to override -fileWrapperOfType:error:, -writeToURL:ofType:error:, or -writeToURL:ofType:forSaveOperation:originalContentsURL:error: instead. + + // For applications targeted for Panther or earlier systems, you should use the deprecated API -dataRepresentationOfType:. In this case you can also choose to override -fileWrapperRepresentationOfType: or -writeToFile:ofType: instead. + + if ( outError != NULL ) { + *outError = [NSError errorWithDomain:NSOSStatusErrorDomain code:unimpErr userInfo:NULL]; + } + return nil; +} + +- (BOOL)readFromData:(NSData *)data ofType:(NSString *)typeName error:(NSError **)outError +{ + // Insert code here to read your document from the given data of the specified type. If the given outError != NULL, ensure that you set *outError when returning NO. + + // You can also choose to override -readFromFileWrapper:ofType:error: or -readFromURL:ofType:error: instead. + + // For applications targeted for Panther or earlier systems, you should use the deprecated API -loadDataRepresentation:ofType. In this case you can also choose to override -readFromFile:ofType: or -loadFileWrapperRepresentation:ofType: instead. + + if ( outError != NULL ) { + *outError = [NSError errorWithDomain:NSOSStatusErrorDomain code:unimpErr userInfo:NULL]; + } + return YES; +} + +@end diff --git a/Preferences.nib/classes.nib b/Preferences.nib/classes.nib new file mode 100755 index 0000000..501acef --- /dev/null +++ b/Preferences.nib/classes.nib @@ -0,0 +1,51 @@ + + + + + IBClasses + + + ACTIONS + + closeDrawer + id + open + id + updateInformations + id + + CLASS + PreferencesController + LANGUAGE + ObjC + OUTLETS + + accountPassword + NSTextField + accountUsername + NSTextField + addressField + NSTextField + portField + NSTextField + serverPassword + NSTextField + serverUsername + NSTextField + + SUPERCLASS + NSWindowController + + + CLASS + FirstResponder + LANGUAGE + ObjC + SUPERCLASS + NSObject + + + IBVersion + 1 + + diff --git a/Preferences.nib/info.nib b/Preferences.nib/info.nib new file mode 100755 index 0000000..c8f1a91 --- /dev/null +++ b/Preferences.nib/info.nib @@ -0,0 +1,18 @@ + + + + + IBFramework Version + 629 + IBLastKnownRelativeProjectPath + ../Reverso Context.xcodeproj + IBOldestOS + 5 + IBOpenObjects + + IBSystem Version + 9L31a + targetFramework + IBCocoaFramework + + diff --git a/Preferences.nib/keyedobjects.nib b/Preferences.nib/keyedobjects.nib new file mode 100755 index 0000000..af382f4 Binary files /dev/null and b/Preferences.nib/keyedobjects.nib differ diff --git a/PreferencesController.h b/PreferencesController.h new file mode 100755 index 0000000..89b5351 --- /dev/null +++ b/PreferencesController.h @@ -0,0 +1,62 @@ +// +// PreferencesController.h +// Reverso Context +// +// Created by Francesco Mattiussi on 23/05/21. +// Copyright 2021 __MyCompanyName__. All rights reserved. +// + +#import + +@interface PreferencesController : NSWindowController { + IBOutlet NSWindow *mainWindow; + IBOutlet NSView *mainView; + IBOutlet NSToolbar *toolbar; + + IBOutlet NSView *serverView; + IBOutlet NSView *accountView; + + // Server View + + IBOutlet NSTextField *addressField; + IBOutlet NSTextField *portField; + + IBOutlet NSTextField *serverUsername; + IBOutlet NSTextField *serverPassword; + + IBOutlet NSButton *authRadio; + IBOutlet NSTextField *accountUsername; + IBOutlet NSTextField *accountPassword; +} + +@property (assign) IBOutlet NSWindow *mainWindow; +@property (assign) IBOutlet NSView *mainView; +@property (assign) IBOutlet NSToolbar *toolbar; + +@property (assign) IBOutlet NSView *serverView; +@property (assign) IBOutlet NSView *accountView; + +- (IBAction)serverPanel:(id)pId; +- (IBAction)accountPanel:(id)pId; + +- (void)saveServerInfo; + +- (IBAction)toggleAuth:(id)pId; +// to move + +@property (assign) NSTextField *addressField; +@property (assign) NSTextField *portField; + +@property (assign) IBOutlet NSTextField *serverUsername; +@property (assign) IBOutlet NSTextField *serverPassword; + +@property (assign) IBOutlet NSButton *authRadio; +@property (assign) IBOutlet NSTextField *accountUsername; +@property (assign) IBOutlet NSTextField *accountPassword; + +- (IBAction)updateInformations:(id)pId; +- (IBAction)closeDrawer:(id)pId; + +- (IBAction)open:(id)sender; + +@end diff --git a/PreferencesController.m b/PreferencesController.m new file mode 100755 index 0000000..6148879 --- /dev/null +++ b/PreferencesController.m @@ -0,0 +1,92 @@ +// +// PreferencesController.m +// Reverso Context +// +// Created by Francesco Mattiussi on 23/05/21. +// Copyright 2021 __MyCompanyName__. All rights reserved. +// + +#import "PreferencesController.h" + + +@implementation PreferencesController + +@synthesize mainView, serverView, accountView, mainWindow, toolbar; + +@synthesize addressField, portField, serverUsername, serverPassword, authRadio; + +- (void)saveServerInfo { + [[NSUserDefaults standardUserDefaults] setObject:[addressField stringValue] forKey:@"serverAddress"]; + [[NSUserDefaults standardUserDefaults] setObject:[portField stringValue] forKey:@"serverPort"]; + + if ([authRadio state] == 1) { + [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"authCheck"]; + [[NSUserDefaults standardUserDefaults] setObject:[serverUsername stringValue] forKey:@"serverUsername"]; + [[NSUserDefaults standardUserDefaults] setObject:[serverPassword stringValue] forKey:@"serverPassword"]; + } else { + [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"authCheck"]; + } + + NSLog(@"successfully updated userdefaults, retrievingan example"); + NSString *example = [[NSUserDefaults standardUserDefaults] stringForKey:@"serverAddress"]; + NSLog(@"%@", example); + [[NSUserDefaults standardUserDefaults] synchronize]; +} + +- (BOOL)windowShouldClose:(id)window { + [self saveServerInfo]; + return YES; +} + +- (IBAction)toggleAuth:(id)pId { + if (authRadio.state == 1) { + [serverUsername setEnabled:YES]; + [serverPassword setEnabled:YES]; + } else { + [serverUsername setEnabled:NO]; + [serverPassword setEnabled:NO]; + } +} + +- (void)awakeFromNib +{ + NSLog(@"window did load"); + [[mainWindow contentView] replaceSubview:mainView with:serverView]; + + // retrieving data + NSString *serverAddress = [[NSUserDefaults standardUserDefaults] stringForKey:@"serverAddress"]; + NSString *serverPort = [[NSUserDefaults standardUserDefaults] stringForKey:@"serverPort"]; + + BOOL authCheck = [[NSUserDefaults standardUserDefaults] boolForKey:@"authCheck"]; + NSString *authUsername = [[NSUserDefaults standardUserDefaults] stringForKey:@"serverUsername"]; + NSString *authPassword = [[NSUserDefaults standardUserDefaults] stringForKey:@"serverPassword"]; + + // populating the elements + [addressField setStringValue:serverAddress]; + [portField setStringValue:serverPort]; + + if (authCheck == YES) { + authRadio.state = 1; + [serverUsername setStringValue:authUsername]; + [serverPassword setStringValue:authPassword]; + [serverUsername setEnabled:YES]; + [serverPassword setEnabled:YES]; + } else { + authRadio.state = 0; + [serverUsername setEnabled:NO]; + [serverPassword setEnabled:NO]; + } +} + +- (IBAction)serverPanel:(id)pId { + NSLog(@"serverPanel"); + [[mainWindow contentView] replaceSubview:accountView with:serverView]; +} + + +- (IBAction)accountPanel:(id)pId { + NSLog(@"accountPanel"); + [[mainWindow contentView] replaceSubview:serverView with:accountView]; +} + +@end diff --git a/README.md b/README.md new file mode 100644 index 0000000..62f8cd9 --- /dev/null +++ b/README.md @@ -0,0 +1,40 @@ +# ReversoContextPPC Client + +> Il traduttore Reverso Context per l'architettura PPC e Intel + +## Informazioni + +Questa applicazione è un esercizio di stile nella programmazione su macchine e sistemi più datati rispetto agli attuali. Il programma è stato scritto sull'ultima versione di Xcode supportata dal sistema Mac OS X 10.5, eseguita su un [PowerMac G4 di prima generazione](https://it.wikipedia.org/wiki/Power_Mac_G4). Nella costruzione su Interface Builder ho utilizzato molti degli elementi grafici forniti da Cocoa, cercando di mantenere una linea grafica che non si scostasse dallo stile Macintosh. Nella costruzione delle strutture mi sono rifatto alle guide incluse nella versione di Xcode e ho cercato di rimanere più vicino possibile agli approcci logici suggeriti dalla documentazione. + +## Implementazione + +Cercando questa convergenza tra l'attuale e il non, ho voluto portare il servizio di traduzione Reverso su questa macchina che altrimenti non sarebbe stata in grado di accedervi. Oltre alla mancanza dei certificati SSL nativi per la navigazione di siti web HTTPS, arginabile con l'uso di certi browser come [TenFourFox](https://github.com/classilla/tenfourfox), il caricamento e l'uso di pagine complesse avrebbe comunque impedito una navigazione agevole all'utente. + +Ho creato un bridge, eseguibile su un computer in grado di lavorare con le API di Reverso, capace di elaborare le risposte e le richieste e inviare i dati ottenuti, tramite la rete LAN, al computer che li ha richiesti. Maggiori infomazioni sulla [pagina del progetto](). + +L'ultima compilazione dell'applicazione si data a giugno 2021 su un sistema PPC, questa build si trova nella sezione delle releases. + +## To-do + +Nonostante il mantenimento della repository non sia più attivo, di seguito i punti ancora mancanti nello sviluppo del progetto. + +| Stato | Attività | Completamento | +| :---: | -------- | :-----------: | +| ⏸️ | Implementare lo spinner in basso | | +| ⏸️ | Controllo delle eccezioni nella barra di ricerca (testo vuoto) | | +| ⏸️ | Implementare la traduzione singola | | +| ⏸️ | Provare il dropdown menu con i search suggestions | | +| ⏸️ | Pensare a cosa mettere nel drawer | | +| ✅ | Implementare lo switch delle view nelle impostazioni | 04-06-2021 | +| ✅ | Testare con pulsanti normali | 04-06-2021 | +| ✅ | Aggiungere gli elementi alla barra, icone impostate | 04-06-2021 | +| ⏸️ | Far attivare le icone nella barra || +| ⏸️ | Collegare le azioni alla barra || +| ⏸️ | Sistemare le altezze delle viste || +| ✅ | Rendere la toolbar completamente funzionante | 07-06-2021 | +| ✅ | Salvare negli user defaults e fare il retrieving dei parametri all'avvio delle impostazioni | 07-06-2021 | +| ✅ | Eseguire richieste con indirizzo IP impostato nelle impostazioni | 07-06-2021 | +| ✅ | Implementare lo spinner | 07-06-2021 | +| ⏸️ | Sistemare altezze impostazioni || +| ⏸️ | Lato server, implementare login con account reverso || +| ⏸️ | Lato server, errore di responso quando si verificano gli errori di troppe richieste || diff --git a/Reverso Context.xcodeproj/francescomattiussi.mode1v3 b/Reverso Context.xcodeproj/francescomattiussi.mode1v3 new file mode 100755 index 0000000..af8e4d0 --- /dev/null +++ b/Reverso Context.xcodeproj/francescomattiussi.mode1v3 @@ -0,0 +1,1418 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + DefaultDescriptionKey + DockingSystemVisible + + Extension + mode1v3 + FavBarConfig + + PBXProjectModuleGUID + BC8BDBDC265816FC00A9B7A7 + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.mode1v3 + MajorVersion + 33 + MinorVersion + 0 + Name + Default + Notifications + + OpenEditors + + PerspectiveWidths + + -1 + -1 + + Perspectives + + + ChosenToolbarItems + + active-target-popup + active-buildstyle-popup + action + NSToolbarFlexibleSpaceItem + buildOrClean + build-and-goOrGo + com.apple.ide.PBXToolbarStopButton + get-info + toggle-editor + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProjectWithEditor + Identifier + perspective.project + IsVertical + + Layout + + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 218 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 2A37F4AAFDCFA73011CA2CEA + 2A37F4ABFDCFA73011CA2CEA + 2A37F4AFFDCFA73011CA2CEA + 2A37F4B8FDCFA73011CA2CEA + 2A37F4B9FDCFA73011CA2CEA + 2A37F4B6FDCFA73011CA2CEA + 2A37F4B4FDCFA73011CA2CEA + 2A37F4C3FDCFA73011CA2CEA + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 7 + 1 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {218, 607}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {235, 625}} + GroupTreeTableConfiguration + + MainColumn + 218 + + RubberWindowFrame + 88 153 1124 666 0 0 1280 1002 + + Module + PBXSmartGroupTreeModule + Proportion + 235pt + + + Dock + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20306471E060097A5F4 + PBXProjectModuleLabel + MyDocument.m + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CE0B20406471E060097A5F4 + PBXProjectModuleLabel + MyDocument.m + _historyCapacity + 0 + bookmark + BC5437BA266E157C006F1F79 + history + + BC911D532658D99D00D96898 + BC911D6A2658E09300D96898 + BC8B07DE265AC26300B15945 + BC8C33E526628D52001B0246 + BC8054F32667876700D26FD4 + BC8055242667903200D26FD4 + BC86627F266E0F23004705B9 + BC866280266E0F23004705B9 + BC8662A6266E126A004705B9 + BC8662AE266E13A6004705B9 + + prevStack + + BC8BDC10265839E300A9B7A7 + BC8BDC11265839E300A9B7A7 + BC911D042658CE0C00D96898 + BC911D052658CE0C00D96898 + BC8B07E3265AC26300B15945 + BC8B07E6265AC26300B15945 + BC8B07F3265AC26300B15945 + BC8B07F4265AC26300B15945 + BC8B07F9265AC26300B15945 + BC8C33F126628D52001B0246 + + + SplitCount + 1 + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {884, 620}} + RubberWindowFrame + 88 153 1124 666 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 620pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20506471E060097A5F4 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{0, 625}, {884, 0}} + RubberWindowFrame + 88 153 1124 666 0 0 1280 1002 + + Module + XCDetailModule + Proportion + 0pt + + + Proportion + 884pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDetailModule + + TableOfContents + + BC5437BB266E157C006F1F79 + 1CE0B1FE06471DED0097A5F4 + BC5437BC266E157C006F1F79 + 1CE0B20306471E060097A5F4 + 1CE0B20506471E060097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.morph + IsVertical + 0 + Layout + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 11E0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 337}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 1 + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 355}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 373 269 690 397 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 100% + + + Name + Morph + PreferredWidth + 300 + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + + TableOfContents + + 11E0B1FE06471DED0097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.default.shortV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' + StatusbarIsVisible + + TimeStamp + 0.0 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 1 + Type + Perspectives + UpdateMessage + The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? + WindowJustification + 5 + WindowOrderList + + /Users/francescomattiussi/ReversoContextPPC/Reverso Context/Reverso Context.xcodeproj + + WindowString + 88 153 1124 666 0 0 1280 1002 + WindowToolsV3 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.build + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {500, 218}} + RubberWindowFrame + 640 306 500 500 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1011 + + GeometryConfiguration + + Frame + {{0, 223}, {500, 236}} + RubberWindowFrame + 640 306 500 500 0 0 1280 1002 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 459pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + + TableOfContents + + BC8BDBDD265816FC00A9B7A7 + BC86628F266E0F23004705B9 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowString + 640 306 500 500 0 0 1280 1002 + WindowToolGUID + BC8BDBDD265816FC00A9B7A7 + WindowToolIsVisible + + + + FirstTimeWindowDisplayed + + Identifier + windowTool.debugger + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {316, 203}} + {{316, 0}, {378, 203}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 203}} + {{0, 203}, {694, 178}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 381}} + PBXDebugSessionStackFrameViewKey + + DebugVariablesTableConfiguration + + Name + 120 + Value + 85 + Summary + 148 + + Frame + {{316, 0}, {378, 203}} + RubberWindowFrame + 166 476 694 422 0 0 1280 1002 + + RubberWindowFrame + 166 476 694 422 0 0 1280 1002 + + Module + PBXDebugSessionModule + Proportion + 381pt + + + Proportion + 381pt + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + + TableOfContents + + 1CD10A99069EF8BA00B06720 + BC866290266E0F23004705B9 + 1C162984064C10D400B95A72 + BC866291266E0F23004705B9 + BC866292266E0F23004705B9 + BC866293266E0F23004705B9 + BC866294266E0F23004705B9 + BC866295266E0F23004705B9 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 166 476 694 422 0 0 1280 1002 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + MENUSEPARATOR + + + FirstTimeWindowDisplayed + + Identifier + windowTool.debuggerConsole + IsVertical + + Layout + + + Dock + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {802, 396}} + RubberWindowFrame + 471 559 802 437 0 0 1280 1002 + + Module + PBXDebugCLIModule + Proportion + 396pt + + + Proportion + 396pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + + TableOfContents + + 1C78EAAD065D492600B07095 + BC866296266E0F23004705B9 + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 471 559 802 437 0 0 1280 1002 + WindowToolGUID + 1C78EAAD065D492600B07095 + WindowToolIsVisible + + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.09500122070312 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scm + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 100% + + + Proportion + 100% + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {374, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {630, 331}} + MembersFrame + {{0, 105}, {374, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 97 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 385 179 630 352 0 0 1440 878 + + Module + PBXClassBrowserModule + Proportion + 332pt + + + Proportion + 332pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C0AD2AF069F1E9B00FABCE6 + 1C0AD2B0069F1E9B00FABCE6 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 385 179 630 352 0 0 1440 878 + WindowToolGUID + 1C0AD2AF069F1E9B00FABCE6 + WindowToolIsVisible + 0 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/Reverso Context.xcodeproj/francescomattiussi.pbxuser b/Reverso Context.xcodeproj/francescomattiussi.pbxuser new file mode 100755 index 0000000..7dd4e96 --- /dev/null +++ b/Reverso Context.xcodeproj/francescomattiussi.pbxuser @@ -0,0 +1,454 @@ +// !$*UTF8*$! +{ + 2A37F4A9FDCFA73011CA2CEA /* Project object */ = { + activeArchitecture = ppc; + activeBuildConfigurationName = Release; + activeExecutable = BC8BDBC42658123900A9B7A7 /* Reverso Context */; + activeTarget = 8D15AC270486D014006FF6A4 /* Reverso Context */; + addToTargets = ( + 8D15AC270486D014006FF6A4 /* Reverso Context */, + ); + breakpoints = ( + BC8BDC3726583D4000A9B7A7 /* MyDocument.m:87 */, + BCC133352658588E007EF70C /* MyDocument.m:237 */, + BC81B7332660D30800066FBD /* MyDocument.h:34 */, + ); + codeSenseManager = BC8BDBD12658125B00A9B7A7 /* Code sense */; + executables = ( + BC8BDBC42658123900A9B7A7 /* Reverso Context */, + ); + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXExecutablesDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXExecutablesDataSource_NameID; + PBXFileTableDataSourceColumnWidthsKey = ( + 22, + 300, + 330, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXExecutablesDataSource_ActiveFlagID, + PBXExecutablesDataSource_NameID, + PBXExecutablesDataSource_CommentsID, + ); + }; + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 645, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 644748594; + PBXWorkspaceStateSaveDate = 644748594; + }; + perUserProjectItems = { + BC5437BA266E157C006F1F79 /* PBXTextBookmark */ = BC5437BA266E157C006F1F79 /* PBXTextBookmark */; + BC8054F32667876700D26FD4 /* PBXTextBookmark */ = BC8054F32667876700D26FD4 /* PBXTextBookmark */; + BC8055242667903200D26FD4 /* PBXTextBookmark */ = BC8055242667903200D26FD4 /* PBXTextBookmark */; + BC86627F266E0F23004705B9 /* PBXTextBookmark */ = BC86627F266E0F23004705B9 /* PBXTextBookmark */; + BC866280266E0F23004705B9 /* PBXTextBookmark */ = BC866280266E0F23004705B9 /* PBXTextBookmark */; + BC8662A6266E126A004705B9 /* PBXTextBookmark */ = BC8662A6266E126A004705B9 /* PBXTextBookmark */; + BC8662AE266E13A6004705B9 /* PBXTextBookmark */ = BC8662AE266E13A6004705B9 /* PBXTextBookmark */; + BC8B07DE265AC26300B15945 /* PBXTextBookmark */ = BC8B07DE265AC26300B15945 /* PBXTextBookmark */; + BC8B07E3265AC26300B15945 /* PBXTextBookmark */ = BC8B07E3265AC26300B15945 /* PBXTextBookmark */; + BC8B07E6265AC26300B15945 /* PBXTextBookmark */ = BC8B07E6265AC26300B15945 /* PBXTextBookmark */; + BC8B07F3265AC26300B15945 /* PBXTextBookmark */ = BC8B07F3265AC26300B15945 /* PBXTextBookmark */; + BC8B07F4265AC26300B15945 /* PBXTextBookmark */ = BC8B07F4265AC26300B15945 /* PBXTextBookmark */; + BC8B07F9265AC26300B15945 /* PBXTextBookmark */ = BC8B07F9265AC26300B15945 /* PBXTextBookmark */; + BC8BDC10265839E300A9B7A7 /* PBXTextBookmark */ = BC8BDC10265839E300A9B7A7 /* PBXTextBookmark */; + BC8BDC11265839E300A9B7A7 /* PBXTextBookmark */ = BC8BDC11265839E300A9B7A7 /* PBXTextBookmark */; + BC8C33E526628D52001B0246 /* PBXTextBookmark */ = BC8C33E526628D52001B0246 /* PBXTextBookmark */; + BC8C33F126628D52001B0246 /* PBXTextBookmark */ = BC8C33F126628D52001B0246 /* PBXTextBookmark */; + BC911D042658CE0C00D96898 /* PBXTextBookmark */ = BC911D042658CE0C00D96898 /* PBXTextBookmark */; + BC911D052658CE0C00D96898 /* PBXTextBookmark */ = BC911D052658CE0C00D96898 /* PBXTextBookmark */; + BC911D532658D99D00D96898 /* PBXTextBookmark */ = BC911D532658D99D00D96898 /* PBXTextBookmark */; + BC911D6A2658E09300D96898 /* PBXTextBookmark */ = BC911D6A2658E09300D96898 /* PBXTextBookmark */; + }; + sourceControlManager = BC8BDBD02658125B00A9B7A7 /* Source Control */; + userBuildSettings = { + }; + }; + 2A37F4ACFDCFA73011CA2CEA /* MyDocument.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1160, 4732}}"; + sepNavSelRange = "{5252, 0}"; + sepNavVisRange = "{3974, 1281}"; + sepNavWindowFrame = "{{315, 107}, {886, 638}}"; + }; + }; + 2A37F4AEFDCFA73011CA2CEA /* MyDocument.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {823, 1610}}"; + sepNavSelRange = "{1704, 0}"; + sepNavVisRange = "{689, 1086}"; + sepNavWindowFrame = "{{260, 215}, {886, 638}}"; + }; + }; + 2A37F4B0FDCFA73011CA2CEA /* main.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {823, 565}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 269}"; + }; + }; + 32DBCF750370BD2300C91783 /* Reverso Context_Prefix.pch */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {823, 588}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 161}"; + }; + }; + 8D15AC270486D014006FF6A4 /* Reverso Context */ = { + activeExec = 0; + executables = ( + BC8BDBC42658123900A9B7A7 /* Reverso Context */, + ); + }; + BC5437BA266E157C006F1F79 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2A37F4ACFDCFA73011CA2CEA /* MyDocument.m */; + name = "MyDocument.m: 194"; + rLen = 0; + rLoc = 5252; + rType = 0; + vrLen = 1281; + vrLoc = 3974; + }; + BC8054F32667876700D26FD4 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2A37F4B0FDCFA73011CA2CEA /* main.m */; + name = "main.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 269; + vrLoc = 0; + }; + BC8055242667903200D26FD4 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2A37F4BAFDCFA73011CA2CEA /* English */; + name = "English: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 157; + vrLoc = 0; + }; + BC81B7332660D30800066FBD /* MyDocument.h:34 */ = { + isa = PBXFileBreakpoint; + actions = ( + ); + breakpointStyle = 0; + continueAfterActions = 0; + countType = 0; + delayBeforeContinue = 0; + fileReference = 2A37F4AEFDCFA73011CA2CEA /* MyDocument.h */; + hitCount = 0; + ignoreCount = 0; + lineNumber = 34; + modificationTime = 644746030.8082361; + state = 2; + }; + BC86627F266E0F23004705B9 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = BC8B07C0265ABB4900B15945 /* PreferencesController.m */; + name = "PreferencesController.m: 56"; + rLen = 208; + rLoc = 1685; + rType = 0; + vrLen = 1398; + vrLoc = 1346; + }; + BC866280266E0F23004705B9 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = BC8B07BF265ABB4900B15945 /* PreferencesController.h */; + name = "PreferencesController.h: 25"; + rLen = 0; + rLoc = 539; + rType = 0; + vrLen = 1134; + vrLoc = 246; + }; + BC8662A6266E126A004705B9 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2A37F4AEFDCFA73011CA2CEA /* MyDocument.h */; + name = "MyDocument.h: 70"; + rLen = 0; + rLoc = 1704; + rType = 0; + vrLen = 1086; + vrLoc = 689; + }; + BC8662AE266E13A6004705B9 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2A37F4ACFDCFA73011CA2CEA /* MyDocument.m */; + name = "MyDocument.m: 194"; + rLen = 0; + rLoc = 5252; + rType = 0; + vrLen = 1151; + vrLoc = 4071; + }; + BC8B07BF265ABB4900B15945 /* PreferencesController.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {823, 868}}"; + sepNavSelRange = "{539, 0}"; + sepNavVisRange = "{246, 1134}"; + }; + }; + BC8B07C0265ABB4900B15945 /* PreferencesController.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {823, 1288}}"; + sepNavSelRange = "{1685, 208}"; + sepNavVisRange = "{1346, 1398}"; + }; + }; + BC8B07DE265AC26300B15945 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 32DBCF750370BD2300C91783 /* Reverso Context_Prefix.pch */; + name = "Reverso Context_Prefix.pch: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 161; + vrLoc = 0; + }; + BC8B07E3265AC26300B15945 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = BC8B07BF265ABB4900B15945 /* PreferencesController.h */; + name = "PreferencesController.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 248; + vrLoc = 0; + }; + BC8B07E6265AC26300B15945 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = BC8B07C0265ABB4900B15945 /* PreferencesController.m */; + name = "PreferencesController.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 488; + vrLoc = 0; + }; + BC8B07F3265AC26300B15945 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2A37F4B0FDCFA73011CA2CEA /* main.m */; + name = "main.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 269; + vrLoc = 0; + }; + BC8B07F4265AC26300B15945 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2A37F4BAFDCFA73011CA2CEA /* English */; + name = "English: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 157; + vrLoc = 0; + }; + BC8B07F9265AC26300B15945 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 32DBCF750370BD2300C91783 /* Reverso Context_Prefix.pch */; + name = "Reverso Context_Prefix.pch: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 161; + vrLoc = 0; + }; + BC8BDBC42658123900A9B7A7 /* Reverso Context */ = { + isa = PBXExecutable; + activeArgIndices = ( + ); + argumentStrings = ( + ); + autoAttachOnCrash = 1; + breakpointsEnabled = 0; + configStateDict = { + }; + customDataFormattersEnabled = 1; + debuggerPlugin = GDBDebugging; + disassemblyDisplayState = 0; + dylibVariantSuffix = ""; + enableDebugStr = 1; + environmentEntries = ( + ); + executableSystemSymbolLevel = 0; + executableUserSymbolLevel = 0; + libgmallocEnabled = 0; + name = "Reverso Context"; + savedGlobals = { + }; + sourceDirectories = ( + ); + }; + BC8BDBD02658125B00A9B7A7 /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + }; + }; + BC8BDBD12658125B00A9B7A7 /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + BC8BDC10265839E300A9B7A7 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2A37F4AEFDCFA73011CA2CEA /* MyDocument.h */; + name = "MyDocument.h: 18"; + rLen = 0; + rLoc = 2957; + rType = 0; + vrLen = 302; + vrLoc = 0; + }; + BC8BDC11265839E300A9B7A7 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2A37F4ACFDCFA73011CA2CEA /* MyDocument.m */; + name = "MyDocument.m: 13"; + rLen = 0; + rLoc = 220; + rType = 0; + vrLen = 835; + vrLoc = 0; + }; + BC8BDC3726583D4000A9B7A7 /* MyDocument.m:87 */ = { + isa = PBXFileBreakpoint; + actions = ( + ); + breakpointStyle = 0; + continueAfterActions = 0; + countType = 0; + delayBeforeContinue = 0; + fileReference = 2A37F4ACFDCFA73011CA2CEA /* MyDocument.m */; + functionName = "-windowControllerDidLoadNib:"; + hitCount = 0; + ignoreCount = 0; + lineNumber = 87; + modificationTime = 644746030.80813; + state = 2; + }; + BC8C33DD26628955001B0246 /* FavoritesController.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {823, 565}}"; + sepNavSelRange = "{230, 0}"; + sepNavVisRange = "{0, 242}"; + }; + }; + BC8C33E526628D52001B0246 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = BC8C33DD26628955001B0246 /* FavoritesController.h */; + name = "FavoritesController.h: 12"; + rLen = 0; + rLoc = 230; + rType = 0; + vrLen = 242; + vrLoc = 0; + }; + BC8C33F126628D52001B0246 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = BC8C33DD26628955001B0246 /* FavoritesController.h */; + name = "FavoritesController.h: 12"; + rLen = 0; + rLoc = 230; + rType = 0; + vrLen = 242; + vrLoc = 0; + }; + BC911CE92658C6D100D96898 /* TableViewDataObject.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {855, 565}}"; + sepNavSelRange = "{398, 0}"; + sepNavVisRange = "{0, 465}"; + }; + }; + BC911CEA2658C6D100D96898 /* TableViewDataObject.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {855, 565}}"; + sepNavSelRange = "{575, 0}"; + sepNavVisRange = "{0, 612}"; + sepNavWindowFrame = "{{15, 359}, {886, 638}}"; + }; + }; + BC911D042658CE0C00D96898 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = BC911CE92658C6D100D96898 /* TableViewDataObject.h */; + name = "TaleViewDataObject.h: 20"; + rLen = 0; + rLoc = 458; + rType = 0; + vrLen = 464; + vrLoc = 0; + }; + BC911D052658CE0C00D96898 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = BC911CEA2658C6D100D96898 /* TableViewDataObject.m */; + name = "TaleViewDataObject.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 236; + vrLoc = 0; + }; + BC911D532658D99D00D96898 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = BC911CE92658C6D100D96898 /* TableViewDataObject.h */; + name = "TableViewDataObject.h: 20"; + rLen = 0; + rLoc = 398; + rType = 0; + vrLen = 465; + vrLoc = 0; + }; + BC911D6A2658E09300D96898 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = BC911CEA2658C6D100D96898 /* TableViewDataObject.m */; + name = "TableViewDataObject.m: 25"; + rLen = 0; + rLoc = 575; + rType = 0; + vrLen = 612; + vrLoc = 0; + }; + BCC133352658588E007EF70C /* MyDocument.m:237 */ = { + isa = PBXFileBreakpoint; + actions = ( + ); + breakpointStyle = 0; + continueAfterActions = 0; + countType = 0; + delayBeforeContinue = 0; + fileReference = 2A37F4ACFDCFA73011CA2CEA /* MyDocument.m */; + functionName = "-connectionDidFinishLoading:"; + hitCount = 0; + ignoreCount = 0; + lineNumber = 237; + location = "Reverso Context"; + modificationTime = 644746030.808201; + state = 2; + }; +} diff --git a/Reverso Context.xcodeproj/project.pbxproj b/Reverso Context.xcodeproj/project.pbxproj new file mode 100755 index 0000000..44f6091 --- /dev/null +++ b/Reverso Context.xcodeproj/project.pbxproj @@ -0,0 +1,331 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 44; + objects = { + +/* Begin PBXBuildFile section */ + 8D15AC2C0486D014006FF6A4 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 2A37F4B9FDCFA73011CA2CEA /* Credits.rtf */; }; + 8D15AC2D0486D014006FF6A4 /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2A37F4B6FDCFA73011CA2CEA /* MainMenu.nib */; }; + 8D15AC2E0486D014006FF6A4 /* MyDocument.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2A37F4B4FDCFA73011CA2CEA /* MyDocument.nib */; }; + 8D15AC2F0486D014006FF6A4 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165FFE840EACC02AAC07 /* InfoPlist.strings */; }; + 8D15AC310486D014006FF6A4 /* MyDocument.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A37F4ACFDCFA73011CA2CEA /* MyDocument.m */; settings = {ATTRIBUTES = (); }; }; + 8D15AC320486D014006FF6A4 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A37F4B0FDCFA73011CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; }; + 8D15AC340486D014006FF6A4 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A7FEA54F5311CA2CBB /* Cocoa.framework */; }; + BC8054ED2667863F00D26FD4 /* Preferences.nib in Resources */ = {isa = PBXBuildFile; fileRef = BC8054EC2667863F00D26FD4 /* Preferences.nib */; }; + BC813D92266A6EFB008E7E53 /* colomba.png in Resources */ = {isa = PBXBuildFile; fileRef = BC813D91266A6EFB008E7E53 /* colomba.png */; }; + BC8B07C1265ABB4900B15945 /* PreferencesController.m in Sources */ = {isa = PBXBuildFile; fileRef = BC8B07C0265ABB4900B15945 /* PreferencesController.m */; }; + BC8C33DF26628955001B0246 /* FavoritesController.m in Sources */ = {isa = PBXBuildFile; fileRef = BC8C33DE26628955001B0246 /* FavoritesController.m */; }; + BC911CEB2658C6D100D96898 /* TableViewDataObject.m in Sources */ = {isa = PBXBuildFile; fileRef = BC911CEA2658C6D100D96898 /* TableViewDataObject.m */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 089C1660FE840EACC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; + 1058C7A7FEA54F5311CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; + 13E42FBA07B3F13500E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = ""; }; + 2A37F4ACFDCFA73011CA2CEA /* MyDocument.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MyDocument.m; sourceTree = ""; }; + 2A37F4AEFDCFA73011CA2CEA /* MyDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MyDocument.h; sourceTree = ""; }; + 2A37F4B0FDCFA73011CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 2A37F4B5FDCFA73011CA2CEA /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/MyDocument.nib; sourceTree = ""; }; + 2A37F4B7FDCFA73011CA2CEA /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/MainMenu.nib; sourceTree = ""; }; + 2A37F4BAFDCFA73011CA2CEA /* English */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = English; path = English.lproj/Credits.rtf; sourceTree = ""; }; + 2A37F4C4FDCFA73011CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; + 2A37F4C5FDCFA73011CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; + 32DBCF750370BD2300C91783 /* Reverso Context_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Reverso Context_Prefix.pch"; sourceTree = ""; }; + 8D15AC360486D014006FF6A4 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 8D15AC370486D014006FF6A4 /* Reverso Context.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Reverso Context.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + BC8054EC2667863F00D26FD4 /* Preferences.nib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; path = Preferences.nib; sourceTree = ""; }; + BC813D91266A6EFB008E7E53 /* colomba.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = colomba.png; path = ../../Desktop/colomba.png; sourceTree = SOURCE_ROOT; }; + BC8B07BF265ABB4900B15945 /* PreferencesController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PreferencesController.h; sourceTree = ""; }; + BC8B07C0265ABB4900B15945 /* PreferencesController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PreferencesController.m; sourceTree = ""; }; + BC8C33DD26628955001B0246 /* FavoritesController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FavoritesController.h; sourceTree = ""; }; + BC8C33DE26628955001B0246 /* FavoritesController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FavoritesController.m; sourceTree = ""; }; + BC911CE92658C6D100D96898 /* TableViewDataObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TableViewDataObject.h; sourceTree = ""; }; + BC911CEA2658C6D100D96898 /* TableViewDataObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TableViewDataObject.m; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8D15AC330486D014006FF6A4 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D15AC340486D014006FF6A4 /* Cocoa.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 1058C7A6FEA54F5311CA2CBB /* Linked Frameworks */ = { + isa = PBXGroup; + children = ( + 1058C7A7FEA54F5311CA2CBB /* Cocoa.framework */, + ); + name = "Linked Frameworks"; + sourceTree = ""; + }; + 1058C7A8FEA54F5311CA2CBB /* Other Frameworks */ = { + isa = PBXGroup; + children = ( + 2A37F4C4FDCFA73011CA2CEA /* AppKit.framework */, + 13E42FBA07B3F13500E4EEF1 /* CoreData.framework */, + 2A37F4C5FDCFA73011CA2CEA /* Foundation.framework */, + ); + name = "Other Frameworks"; + sourceTree = ""; + }; + 19C28FB0FE9D524F11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8D15AC370486D014006FF6A4 /* Reverso Context.app */, + ); + name = Products; + sourceTree = ""; + }; + 2A37F4AAFDCFA73011CA2CEA /* Reverso Context */ = { + isa = PBXGroup; + children = ( + 2A37F4ABFDCFA73011CA2CEA /* Classes */, + 2A37F4AFFDCFA73011CA2CEA /* Other Sources */, + 2A37F4B8FDCFA73011CA2CEA /* Resources */, + 2A37F4C3FDCFA73011CA2CEA /* Frameworks */, + 19C28FB0FE9D524F11CA2CBB /* Products */, + ); + name = "Reverso Context"; + sourceTree = ""; + }; + 2A37F4ABFDCFA73011CA2CEA /* Classes */ = { + isa = PBXGroup; + children = ( + BC8C33DD26628955001B0246 /* FavoritesController.h */, + BC8C33DE26628955001B0246 /* FavoritesController.m */, + BC911CE92658C6D100D96898 /* TableViewDataObject.h */, + BC911CEA2658C6D100D96898 /* TableViewDataObject.m */, + 2A37F4AEFDCFA73011CA2CEA /* MyDocument.h */, + 2A37F4ACFDCFA73011CA2CEA /* MyDocument.m */, + BC8B07BF265ABB4900B15945 /* PreferencesController.h */, + BC8B07C0265ABB4900B15945 /* PreferencesController.m */, + ); + name = Classes; + sourceTree = ""; + }; + 2A37F4AFFDCFA73011CA2CEA /* Other Sources */ = { + isa = PBXGroup; + children = ( + 32DBCF750370BD2300C91783 /* Reverso Context_Prefix.pch */, + 2A37F4B0FDCFA73011CA2CEA /* main.m */, + ); + name = "Other Sources"; + sourceTree = ""; + }; + 2A37F4B8FDCFA73011CA2CEA /* Resources */ = { + isa = PBXGroup; + children = ( + BC813D91266A6EFB008E7E53 /* colomba.png */, + 2A37F4B9FDCFA73011CA2CEA /* Credits.rtf */, + 2A37F4B6FDCFA73011CA2CEA /* MainMenu.nib */, + 2A37F4B4FDCFA73011CA2CEA /* MyDocument.nib */, + 8D15AC360486D014006FF6A4 /* Info.plist */, + 089C165FFE840EACC02AAC07 /* InfoPlist.strings */, + BC8054EC2667863F00D26FD4 /* Preferences.nib */, + ); + name = Resources; + sourceTree = ""; + }; + 2A37F4C3FDCFA73011CA2CEA /* Frameworks */ = { + isa = PBXGroup; + children = ( + 1058C7A6FEA54F5311CA2CBB /* Linked Frameworks */, + 1058C7A8FEA54F5311CA2CBB /* Other Frameworks */, + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 8D15AC270486D014006FF6A4 /* Reverso Context */ = { + isa = PBXNativeTarget; + buildConfigurationList = C05733C708A9546B00998B17 /* Build configuration list for PBXNativeTarget "Reverso Context" */; + buildPhases = ( + 8D15AC2B0486D014006FF6A4 /* Resources */, + 8D15AC300486D014006FF6A4 /* Sources */, + 8D15AC330486D014006FF6A4 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Reverso Context"; + productInstallPath = "$(HOME)/Applications"; + productName = "Reverso Context"; + productReference = 8D15AC370486D014006FF6A4 /* Reverso Context.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 2A37F4A9FDCFA73011CA2CEA /* Project object */ = { + isa = PBXProject; + buildConfigurationList = C05733CB08A9546B00998B17 /* Build configuration list for PBXProject "Reverso Context" */; + compatibilityVersion = "Xcode 3.0"; + hasScannedForEncodings = 1; + mainGroup = 2A37F4AAFDCFA73011CA2CEA /* Reverso Context */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D15AC270486D014006FF6A4 /* Reverso Context */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D15AC2B0486D014006FF6A4 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D15AC2C0486D014006FF6A4 /* Credits.rtf in Resources */, + 8D15AC2D0486D014006FF6A4 /* MainMenu.nib in Resources */, + 8D15AC2E0486D014006FF6A4 /* MyDocument.nib in Resources */, + 8D15AC2F0486D014006FF6A4 /* InfoPlist.strings in Resources */, + BC8054ED2667863F00D26FD4 /* Preferences.nib in Resources */, + BC813D92266A6EFB008E7E53 /* colomba.png in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D15AC300486D014006FF6A4 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D15AC310486D014006FF6A4 /* MyDocument.m in Sources */, + 8D15AC320486D014006FF6A4 /* main.m in Sources */, + BC911CEB2658C6D100D96898 /* TableViewDataObject.m in Sources */, + BC8B07C1265ABB4900B15945 /* PreferencesController.m in Sources */, + BC8C33DF26628955001B0246 /* FavoritesController.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 089C165FFE840EACC02AAC07 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 089C1660FE840EACC02AAC07 /* English */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 2A37F4B4FDCFA73011CA2CEA /* MyDocument.nib */ = { + isa = PBXVariantGroup; + children = ( + 2A37F4B5FDCFA73011CA2CEA /* English */, + ); + name = MyDocument.nib; + sourceTree = ""; + }; + 2A37F4B6FDCFA73011CA2CEA /* MainMenu.nib */ = { + isa = PBXVariantGroup; + children = ( + 2A37F4B7FDCFA73011CA2CEA /* English */, + ); + name = MainMenu.nib; + sourceTree = ""; + }; + 2A37F4B9FDCFA73011CA2CEA /* Credits.rtf */ = { + isa = PBXVariantGroup; + children = ( + 2A37F4BAFDCFA73011CA2CEA /* English */, + ); + name = Credits.rtf; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + C05733C808A9546B00998B17 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Reverso Context_Prefix.pch"; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_NAME = "Reverso Context"; + WRAPPER_EXTENSION = app; + ZERO_LINK = YES; + }; + name = Debug; + }; + C05733C908A9546B00998B17 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_MODEL_TUNING = G5; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Reverso Context_Prefix.pch"; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_NAME = "Reverso Context"; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; + C05733CC08A9546B00998B17 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + PREBINDING = NO; + SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk"; + }; + name = Debug; + }; + C05733CD08A9546B00998B17 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = ( + ppc, + i386, + ); + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + PREBINDING = NO; + SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + C05733C708A9546B00998B17 /* Build configuration list for PBXNativeTarget "Reverso Context" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C05733C808A9546B00998B17 /* Debug */, + C05733C908A9546B00998B17 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C05733CB08A9546B00998B17 /* Build configuration list for PBXProject "Reverso Context" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C05733CC08A9546B00998B17 /* Debug */, + C05733CD08A9546B00998B17 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 2A37F4A9FDCFA73011CA2CEA /* Project object */; +} diff --git a/Reverso Context_Prefix.pch b/Reverso Context_Prefix.pch new file mode 100755 index 0000000..91c310d --- /dev/null +++ b/Reverso Context_Prefix.pch @@ -0,0 +1,7 @@ +// +// Prefix header for all source files of the 'Reverso Context' target in the 'Reverso Context' project +// + +#ifdef __OBJC__ + #import +#endif diff --git a/TableViewDataObject.h b/TableViewDataObject.h new file mode 100755 index 0000000..6eb49fe --- /dev/null +++ b/TableViewDataObject.h @@ -0,0 +1,22 @@ +// +// TaleViewDataObject.h +// Reverso Context +// +// Created by Francesco Mattiussi on 22/05/21. +// Copyright 2021 __MyCompanyName__. All rights reserved. +// + +#import + + +@interface TableViewDataObject : NSObject { + NSString *sourceExample; + NSString *targetExample; + +} +@property (copy) NSString *sourceExample; +@property (copy) NSString *targetExample; + +- (id)initWithExamples:(NSString *)sourceExample target:(NSString *)targetExample; + +@end diff --git a/TableViewDataObject.m b/TableViewDataObject.m new file mode 100755 index 0000000..b88827f --- /dev/null +++ b/TableViewDataObject.m @@ -0,0 +1,31 @@ +// +// TaleViewDataObject.m +// Reverso Context +// +// Created by Francesco Mattiussi on 22/05/21. +// Copyright 2021 __MyCompanyName__. All rights reserved. +// + +#import "TableViewDataObject.h" + + +@implementation TableViewDataObject + +@synthesize sourceExample; +@synthesize targetExample; + +- (id)initWithExamples:(NSString *)s_Example target:(NSString *)t_Example { + + if (! (self = [super init])) { + NSLog(@"MyDataObject **** ERROR : [super init] failed ***"); + return self; + } // end if + + self.sourceExample = s_Example; + self.targetExample = t_Example; + + return self; + +} + +@end diff --git a/main.m b/main.m new file mode 100755 index 0000000..37822f3 --- /dev/null +++ b/main.m @@ -0,0 +1,14 @@ +// +// main.m +// Reverso Context +// +// Created by Francesco Mattiussi on 21/05/21. +// Copyright __MyCompanyName__ 2021 . All rights reserved. +// + +#import + +int main(int argc, char *argv[]) +{ + return NSApplicationMain(argc, (const char **) argv); +}