From 5270f992d8ac4fc33698765a6dc3f81edbc4d60d Mon Sep 17 00:00:00 2001 From: Sam Miller Date: Mon, 9 Nov 2020 22:09:51 -0800 Subject: [PATCH] Add v1 implementation --- Prototype.playground/Contents.swift | 104 +++ Prototype.playground/contents.xcplayground | 4 + Shared/Collection+FoundationalHelpers.swift | 14 + Shared/Configuration.swift | 87 ++ Shared/String+FoundationalHelpers.swift | 16 + .../project.pbxproj | 824 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + XcodeUniversalSearch/AppDelegate.swift | 39 + .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/512x512@1x.png | Bin 0 -> 62102 bytes .../AppIcon.appiconset/512x512@2x.png | Bin 0 -> 178760 bytes .../AppIcon.appiconset/Contents.json | 60 ++ .../Assets.xcassets/Contents.json | 6 + .../Base.lproj/Main.storyboard | 683 +++++++++++++++ XcodeUniversalSearch/CommandOptionsView.swift | 44 + XcodeUniversalSearch/CommandTable.swift | 64 ++ .../CommandTableController.swift | 204 +++++ .../CommandTableViewController.swift | 306 +++++++ XcodeUniversalSearch/ContentView.swift | 53 ++ XcodeUniversalSearch/Info.plist | 30 + .../Preview Assets.xcassets/Contents.json | 6 + .../XcodeUniversalSearch.entitlements | 14 + XcodeUniversalSearchExtension/Info.plist | 47 + .../SourceEditorCommand.swift | 88 ++ .../SourceEditorExtension.swift | 43 + ...XcodeUniversalSearchExtension.entitlements | 12 + XcodeUniversalSearchTests/Info.plist | 22 + .../XcodeUniversalSearchTests.swift | 33 + XcodeUniversalSearchUITests/Info.plist | 22 + .../XcodeUniversalSearchUITests.swift | 42 + 31 files changed, 2893 insertions(+) create mode 100644 Prototype.playground/Contents.swift create mode 100644 Prototype.playground/contents.xcplayground create mode 100644 Shared/Collection+FoundationalHelpers.swift create mode 100644 Shared/Configuration.swift create mode 100644 Shared/String+FoundationalHelpers.swift create mode 100644 XcodeUniversalSearch.xcodeproj/project.pbxproj create mode 100644 XcodeUniversalSearch.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 XcodeUniversalSearch.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 XcodeUniversalSearch/AppDelegate.swift create mode 100644 XcodeUniversalSearch/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 XcodeUniversalSearch/Assets.xcassets/AppIcon.appiconset/512x512@1x.png create mode 100644 XcodeUniversalSearch/Assets.xcassets/AppIcon.appiconset/512x512@2x.png create mode 100644 XcodeUniversalSearch/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 XcodeUniversalSearch/Assets.xcassets/Contents.json create mode 100644 XcodeUniversalSearch/Base.lproj/Main.storyboard create mode 100644 XcodeUniversalSearch/CommandOptionsView.swift create mode 100644 XcodeUniversalSearch/CommandTable.swift create mode 100644 XcodeUniversalSearch/CommandTableController.swift create mode 100644 XcodeUniversalSearch/CommandTableViewController.swift create mode 100644 XcodeUniversalSearch/ContentView.swift create mode 100644 XcodeUniversalSearch/Info.plist create mode 100644 XcodeUniversalSearch/Preview Content/Preview Assets.xcassets/Contents.json create mode 100644 XcodeUniversalSearch/XcodeUniversalSearch.entitlements create mode 100644 XcodeUniversalSearchExtension/Info.plist create mode 100644 XcodeUniversalSearchExtension/SourceEditorCommand.swift create mode 100644 XcodeUniversalSearchExtension/SourceEditorExtension.swift create mode 100644 XcodeUniversalSearchExtension/XcodeUniversalSearchExtension.entitlements create mode 100644 XcodeUniversalSearchTests/Info.plist create mode 100644 XcodeUniversalSearchTests/XcodeUniversalSearchTests.swift create mode 100644 XcodeUniversalSearchUITests/Info.plist create mode 100644 XcodeUniversalSearchUITests/XcodeUniversalSearchUITests.swift diff --git a/Prototype.playground/Contents.swift b/Prototype.playground/Contents.swift new file mode 100644 index 0000000..c4bbbc8 --- /dev/null +++ b/Prototype.playground/Contents.swift @@ -0,0 +1,104 @@ +import Cocoa + +var urlStrings = [ + "string", + "www.example.com/host", + "www.example.com/pathwith?[];/test?query=s" +] + +var urls = urlStrings + .map { + URL(string: $0) + } + +print(urls) + +let cs = URLComponents(string: urlStrings[2]) + +print(cs) + +extension CharacterSet { + var characters: Set { + (self as NSCharacterSet).characters + } +} + + +extension NSCharacterSet { + + var characters: Set { + /// An array to hold all the found characters + var characters: Set = [] + + /// Iterate over the 17 Unicode planes (0..16) + for plane:UInt8 in 0..<17 { + /// Iterating over all potential code points of each plane could be expensive as + /// there can be as many as 2^16 code points per plane. Therefore, only search + /// through a plane that has a character within the set. + if self.hasMemberInPlane(plane) { + + /// Define the lower end of the plane (i.e. U+FFFF for beginning of Plane 0) + let planeStart = UInt32(plane) << 16 + /// Define the lower end of the next plane (i.e. U+1FFFF for beginning of + /// Plane 1) + let nextPlaneStart = (UInt32(plane) + 1) << 16 + + /// Iterate over all possible UTF32 characters from the beginning of the + /// current plane until the next plane. + for char: UTF32Char in planeStart.. + + + \ No newline at end of file diff --git a/Shared/Collection+FoundationalHelpers.swift b/Shared/Collection+FoundationalHelpers.swift new file mode 100644 index 0000000..6b8973f --- /dev/null +++ b/Shared/Collection+FoundationalHelpers.swift @@ -0,0 +1,14 @@ +// +// Collection+FoundationalHelpers.swift +// XcodeUniversalSearch +// +// Created by Sam Miller on 11/3/20. +// + +import Foundation + +extension Collection { + subscript (safe index: Index) -> Element? { + indices.contains(index) ? self[index] : nil + } +} diff --git a/Shared/Configuration.swift b/Shared/Configuration.swift new file mode 100644 index 0000000..7c446a0 --- /dev/null +++ b/Shared/Configuration.swift @@ -0,0 +1,87 @@ +// +// Configuration.swift +// XcodeUniversalSearch +// +// Created by Sam Miller on 11/3/20. +// + +import Foundation + +struct Configuration: Codable { + + struct Command: Codable { + struct Options: Codable { + let shouldEscapeForRegex: Bool + let shouldEscapeDoubleQuotes: Bool + + static var `default`: Self { + .init(shouldEscapeForRegex: false, shouldEscapeDoubleQuotes: false) + } + } + + let name: String + let urlTemplate: String + let options: Options + } + + let commands: [Command] +} + +final class ConfigurationManager { + + enum Result { + case success(_ configuration: Configuration?) + case error(_ error: Error) + + var data: Configuration? { + switch self { + case .success(let configuration): return configuration + case .error(_): return nil + } + } + } + + init?() { + guard let userDefaults = UserDefaults(suiteName: "M952V223C9.group.com.pandaprograms.XcodeUniversalSearch") else { + return nil + } + self.userDefaults = userDefaults + } + + func load() -> Result { + let storedData = userDefaults.data(forKey: StorageKey.configuration.rawValue) + guard let data = storedData else { + return .success(nil) + } + + do { + return .success(try Self.decoder.decode(Configuration.self, from: data)) + } catch { + return .error(error) + } + } + + func save(_ configuration: Configuration) -> Bool { + guard let data = try? Self.encoder.encode(configuration) else { + return false + } + + userDefaults.set(data, forKey: StorageKey.configuration.rawValue) + return true + } + + func clearStorage() { + userDefaults.removeObject(forKey: StorageKey.configuration.rawValue) + } + + // MARK: - Private + + private enum StorageKey: String { + case configuration + } + + private let userDefaults: UserDefaults + + private static let decoder = JSONDecoder() + private static let encoder = JSONEncoder() +} diff --git a/Shared/String+FoundationalHelpers.swift b/Shared/String+FoundationalHelpers.swift new file mode 100644 index 0000000..0ca1da3 --- /dev/null +++ b/Shared/String+FoundationalHelpers.swift @@ -0,0 +1,16 @@ +// +// String+FoundationalHelpers.swift +// XcodeUniversalSearch +// +// Created by Sam Miller on 11/3/20. +// + +import Foundation + +extension String { + subscript (_ range: Range) -> Substring { + let start = index(startIndex, offsetBy: range.startIndex) + let end = index(startIndex, offsetBy: range.startIndex + range.count) + return self[start.. + + + + diff --git a/XcodeUniversalSearch.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/XcodeUniversalSearch.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/XcodeUniversalSearch.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/XcodeUniversalSearch/AppDelegate.swift b/XcodeUniversalSearch/AppDelegate.swift new file mode 100644 index 0000000..17d1191 --- /dev/null +++ b/XcodeUniversalSearch/AppDelegate.swift @@ -0,0 +1,39 @@ +// +// AppDelegate.swift +// XcodeUniversalSearch +// +// Created by Sam Miller on 11/1/20. +// + +import Cocoa +import SwiftUI + +@NSApplicationMain +class AppDelegate: NSObject, NSApplicationDelegate { + + var window: NSWindow! + + + func applicationDidFinishLaunching(_ aNotification: Notification) { + // Create the SwiftUI view that provides the window contents. + let contentView = ContentView() + + // Create the window and set the content view. + window = NSWindow( + contentRect: NSRect(x: 0, y: 0, width: 480, height: 300), + styleMask: [.titled, .closable, .miniaturizable, .resizable, .fullSizeContentView], + backing: .buffered, defer: false) + window.isReleasedWhenClosed = false + window.center() + window.setFrameAutosaveName("Main Window") + window.contentView = NSHostingView(rootView: contentView) + window.makeKeyAndOrderFront(nil) + } + + func applicationWillTerminate(_ aNotification: Notification) { + // Insert code here to tear down your application + } + + +} + diff --git a/XcodeUniversalSearch/Assets.xcassets/AccentColor.colorset/Contents.json b/XcodeUniversalSearch/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 0000000..eb87897 --- /dev/null +++ b/XcodeUniversalSearch/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/XcodeUniversalSearch/Assets.xcassets/AppIcon.appiconset/512x512@1x.png b/XcodeUniversalSearch/Assets.xcassets/AppIcon.appiconset/512x512@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..536345a49df0edf0a60274b070bdb34377fea1e2 GIT binary patch literal 62102 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 literal 0 HcmV?d00001 diff --git a/XcodeUniversalSearch/Assets.xcassets/AppIcon.appiconset/512x512@2x.png b/XcodeUniversalSearch/Assets.xcassets/AppIcon.appiconset/512x512@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..09cc5d4e22fedb7a05175c9a50dc1ad5595b86d8 GIT binary patch literal 178760 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

;@2i77TSV>Oeb#t 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
Qi3pXpw}rWQForY5U~dQpTD1lvd0&N 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ℜ)(01y0WdbKgaAy7Cg-*P~HvEM}R+XIoY(O;EU!rV_er3nd4q9$lCWsI8v*PWN=K(`!=3$_@2>ZXdwk4Uek6RU>?dIEfbT)7BfU z@T#yXCd-05#m?*3uPIkrwS-j40! zNS*C5d?Rgvap2#!w7#E}GIaINKl&uC5%`uerPqn2gA2Pw7XgFOw!Sc<68j#w`&Bfd zt!kVVKZBn-7AiThI3-41iK#FSXgS{#Z`g^lFCF225g@tu?SX}!Sq{1hn;_UHz7IOS zns=N?8$2KS^NRjiT^U~+`SV(CvUrVGo*8EZnk{GX<9~(WozanM+}ZWjgF!`RXCzvD zVNx8pkg0rD^abIbDcFU@nCCLoJ>QUsNnRahkDU1~Q9K3?{L?u)gi9tfuGv)_GGn{- zYX)bUboe;$uJZRBr}a9g2dlhf_^U8#u+GJGXmt&rt5Z=GvdrC?Vg2G(dY<^*^0B@b zDK=_>f;uB-s)>xHrYYYXYT~Mbl480TOl(8g(e*h-_#h1dEr9363c!G;Dya$(c?|pW zjI6oJg$^iE{QM|WH<)h_;f&EBA|NgS-?rO-^QI4?(rLoyMb6mB3#3_J804{!RS#cX zmKp!{_zrri?K6$C{MzwMd&lRMgDeH$WX|js=(*BlDWWf~&>;8V&zCQt1|!JhlKq^o z>9Qqg-6RwT^r00xSm2jj2^sKE*tSB9?u36Nl#UR*OVGh}zso@}QmktboP#L~Ks0h< z5RH(-qpd-kQ{ zbV9phf9W{ZG>}N*@Q3kbZ3LR?>HB1w7r-GR+O_kXrfa;>o277;f3$->OOo^tXPgE_ z_%7Bid2Hthvn=*ZR#8Mm&XjTM&gcpXfy52*o!0x3F>5|JT zX_3d7hFku?m`u~8LK7_tJ3PSu7ZZA3MRSCG^YG=?$)!#O$pgkkKc#;QT(ZgWu5P@N z=NPv>n_%etbfTsIbu*DVsopDNo5>7*AB@GxJtx8s+Oy+b2$#?E94o0el(f2o%iYDL zg-YlNC|%Rc3t|q!1MD9*_1zL@ZCF=7FL&Bf)SclONhsYt0k!=RWVnHtysdTjZn-oP zQ8Pp0##4%<$F|H`&VL84j8-{vw0E^j1)0!?jE%V{DyE}$tX~@^3@%*K7X9(@js+*e zg35rrwY+coS7V2;{-qAXOWz;tE-Cn^cy#8Sqc!K3zlg=r2M>5hTR^EA%lcG}gZWU7 zTj~&*-U1n3wNtqse3P4eFGvfri|U3)%B%rPVrNu9u)BNS2Q@8&val7xnsfgYe-YV> zE59ky8ocMPEo*Su2xhtzR?F^>I>9NwbkGUeV`@MitE&3h`xBE5k(0+2$2AqI{MlqN zZ#di(U>rxaJk=|er{gVa#hG%TuE0Ak%r9CMtJZ(^7nYZPW(bPUFd%p?VbvEmWSHjM zu-h8%l%VtPpTadCw<)ckm|F!f7}yo2xiEQNE$e)r;3fCh))+(sd}uArt&UoPmi$#i zJ_GTd`)pn;=|;OJ_dlKqw5FQ?((R8lqbt(2dZW&|uyx>Al9889_GJ+RZ)Q1rcAeWk z%gN>j%Zp=JIBA`e14Eg`X;Y2D+h~Hquyxm8M9?pl!EHFu< zO^24Yd*-?oX}-0JmJOG-Le+sHMFW1@#C`7?`YEwyN*cGr@Rx{6W_Y))ip9TKA8N7I zx*v#H8LZj_Pg&@Ij%4OVc$r)-ym;~0snqprq=8hHfvTd2Tp^P3!^2L}BHDB=*^vXgRAcMxn(U)u^)r@{Nd zZxiwy6AJ`dZAGHbpYys#!P$6W4Czb;%l;db85vpFU#7&~5l$sFroHKgb1sZ1@!hD= zMCKZBFiAn_;Q}PtIyZz^4ua}4ENPSHace!8IZPR*=z{}%{E1Wyw%C%EKZKK)w>j-FF%DS%wU2Q>epFFdh`Zqd05MO)qF^UFapT!l84y{O}x zhL$s?O{<&AcBlX~dAl@X+zw%Z@!Eg@`M;&D#%Y0wW0&+0hE0CV@ADiBe{}gp^h{Mj z;KU{oDuS2pQ1NrYP_Lg;V;TLx`Vn7+akZ2tH1tkb`g?-IPtk@m$j>j)6&BB3r7a8B z=Rg+9{s;#IGBG3xz`Z6Sd-uWZa@Q9NlXpr;RLByvv&We#ZjZIsli$N>vq<#59x54Z zW;R$e(EJJ_i86rtU(O;N@$!6^TW_fOR7$4I5nEM5ws8(gOE z9=)mFpHU&6dCT8FRLr%=HruS4BrS-+VH8O6L;f*3GMI~oC4GsE3)&62iqV{+<0H?j z8N?l16vjCyK$$?RtO-*^Cy%*G?p-*V$DR4A60P!52Uc?pOe(KebE2J|#lkIDkQVj$B*7JtI}H{wxck=2l}#{h&t!P{`Xiz zq%1=S4{WmsJD%>xz|?z}kkigKmPUHycsNlu038LMOhM|alott%2G~m>AR-pceE@MT9aT@lsj|66gu5~fl+V}7+EAK24aRaR6wMdl% zErXX&>cSG%<_$!__PN@^4O0fmntl0oTfqohyNt4EV zx17AY^oy<}$AwD4y8l+nU2u2CUuZ?q^GL+kWPmr@ZDjx%h^X|PF_jBW5fp~4$?2AC zZ6!FrUO-%w5x>%L6^0AMFX>mmzzG&NWGJHY$2l9^TXu}liB?~YY*^7G&$=6=7eGln zow#{P`HmHQ1zTMXZ;tL{KIfXO$<96#7bIA$;HAH~+aVHJ13ijUWq@ROnfop(v>m=>; zclw77Mcm`w-~I56GKAi_n0d%wrF#Z_g|T>~sCB=++%P*=9&K6b>o5z=&!$TxPY<$F zLEqgEc?@jcyLUH3F6qw*;4dq97O~)CCaO6uR0%}&YCMov;TYI`coa*He!AoZKDui% z-cKwz@th{Bojd8OVB+}W3VaPez6wBt&QHxN%+3)~Ugpif`Jw|voylYW#J%R6Yg8XC z$AhaW*PNPOA{Hjw^@MsI;|AIHv9>6Sn=Rg~2n{9eVn?kwUT%B^cdk30i{1D6lDEa$nVVz@3UHS^xPD>Jl3=tj^$fQlK*qm;LV-Y&Xy7 z!1#!{so{(G-PGhNexQ@cT+oEyHXyL~_)iM+>s-bi<-CrQ1us?-?gQam}Kn4T{a{m17PYa7gm=d|ErI`yaTn)(nM5VdwptyEEK zbwgbQ8$7t}KM$apw)wki=uh(3u#tuHCX8TF!f&YbwurD!G;D&wiZ*L_W0J0LGU{aT z&aXkW13mhuxw6*lgWB=`GhFT2|@n5 z*Iw0U>WbXQpJwh!R+&`t+b%vAF6<1e+qJ#nOPn^2JRtVqiLU_Nb9SpnAA#A?EzEOJ z!r(^BeNTP_G`Gcv3e&91z=oE@K^qWK7Y=_=XfuKwfA~Rb*;;;9*Px)->8AJ0nYkC@ zf)p+En~kfq97<{&VqOlR4phG|FNJ!*+waQ2F9A4W=~N=dR7tTpiL7f{b@^vZ?9jE7 z)l>Y}ik&Bv6lO73OrTwB8*>O`j;+{1=^&T27&=rf>C0#tNb8!obdIr1Y5eRiix=;3 z(J3i8Gt}Ofve8w7r{I*c$_mI|+F&|^!RT&KN1*r!hW_`>I4saDQcW^`4mBo5q5V zm1xP~a|P;>^9Fgc=Ht)^lH8O~1+Ng6B@uIizIf_g6+xnK*h$p~Cqcj5GN6rJSl6c-7GXXWMfxURpnY8(X$dzj8-2>9B8g zpe%lxiQ}TCtykCm2mdZo0jyQ>rRspd>WAIWnt}XMMg9CGfQWjJbDk2&_M4OaSs~f= zxl?9a`?;Wee$i+&eFk@Yk6RSlD##?APc~-&Bk=)upDqQ3)}ek+xX-mXn6?O>Hxb@x z6R(?eILp&yhs16H(){N+)1ZZs;0XX_^NT3K-8}n7W-Ljet8cddv1h_x!On@E&94qV z!EcbB|6eO<*DJAWd1a1Xl9K)NbuH6SK`m$dX-E?fh2~szaPDvX!)Rib2+c#=* z$b1I#+6+~2%NuM78lVG{q*W387caT?r8q06V&aP83ZKk=)!W3%H+?044&&!gI&(fg{r4t^KtQ%EYa z{dEW*q{($^P3E#pXPNlDu16=1ZPmb`Nap08IjcYZN-#x@8yOtOt$*4CuIw%QF2YR? zA7o)yE=b?@GaR7i;u*8OND1XfIgG7Eev`X_9ktM6gXjGVsWTfWn^sJC(d z&<#WSr#7|bq-XO?7NT|bY?gcV4)O-=SrSeIw-}3Ipt){m#$`y6jH#2*^*Tc7G73=8 z#(3rwpCCt)IvXR+M`q~-%A>~xiboVG$H#ywyLn#~L!AnXQI+_2{xC_${agLi@z6C)UidxwU7{4z4di`c(N&IVdPgxhv7d{W87P6Ca*DF}!`I>5oxi5=h**|blrha z|NsApgvy9Sg+!TMnPr`Z?7ip7-jcF;YZ2wT~H^Z9&?=kw|5T#$$rFg!pT8lL?IuMPO!y6fEtQ(ZGw*5~1=c+aWBT1;Qj zwD?~S03XlX>w5n5>nms}u`MuH-Dyi#|9ae(vDB~XtC1g7S~9qw1Xn_gFKS3{;1}_x zwEE-tgt`a>3slvl9!4-J6dntB=BUXe>bO_)^hh)UMp1(L)?8dwe>!t>ERg2%>rLXm_{ugob{9 zmR-{;_`$*5b$FFVE4Ga4`2{Mt$w8L{q`5+0>wuuyIiq8w#Rhx>vCpef6Jwd=bcJjK z%D@HiVJV!LSHo|U83RhYMxfidzEN-1U2~!%zQq;!3Y<^5Q*~?P=48Z&BIi{b@eGXw zQ!)}9t!aKc0o{Q+neIHEA*vnC;2+17SVgbxEx-HkzqX!eVS3$yh@#JqpQn6XG3qH( z&`3f(JFR$@Dcsb?@bvjk!mwv>4E$bce*RF%-)zPefhiv6pKkGoX<6^2=NzKmUu?Op zk@N<7l@!35;Q0S-Zcebjlb-zjZ}W|NuwM`U?VBUd`+~H}`FjHukbVb4C5G+xhlVkXW zG_$Fv#hFuXvgn2^`y^rC4h$kwDKZ1mUs{^H4zQ~y0^;rLN-oG+^0LJy+r`p@bpDH= zn;u)lH}ktJzvN}lyYPATjpVeYQp|(*ebOaL{(IXZW%C6#AM`FD=bM5EG-a2%+8+g1 z>3>Qn5Z0*S2=8;P61$s{)BIEP?-N6Xs*7P~_^P0f+S<*q6GfLFZb`a#ueTEPY4L(T zoD1OP>MbDA3~CHf>_J)g4v3zr64A&KmQ)};A;B=7mr0E5_k1TJ@DTm8I*nq|isj}k z){RzqXYqthziKr5v-%ao7~5od1|)t4-HO1IL3k3`Rr`)u>U zY|P3-K( zs}+M9oHwW!Qu&^U%Hbd*SFKz=z7fMhUAJ&KQAx#noG5S^{hwj)eH$|Tpz^y!@5*oG zK9ek8rCIdlTxFInP?T4+!vsHi7>T$(_GZpQ23tgjmh#U3-p2C6`5SQrcOUdERUQu< z0=^@2qP`t4!qUN_`!}(de@4izPN04bT%f631$#arm<=0zufx8w+h5>8Dk1Pj7po3v zoAjLLGyV=-MU_3Mwm@O%8c@Fo&?_UzA(4$fg{{WO{VN9g;b`QrVR6AjHqG9zEYS(V zznG=wLac@{y!3flCq((7qsa37Ioq$S`plHG!UnD1zfO3bUJtJ~|Ga)#t2{&fsqpS~ zVexs71I~9D*Y(nCA7R$f*I+Bqb^8Xj*5e3Cy@K@?ATUsN2=p3-n+D~mYa_$%zXA@g zU>jEK!@RH!iP|sq`zQwRfJv}_wOmeuFZ70)t`RSw6*_1RgU|}|=<7fEj%e%`g1jk2T_Jd9#S`5Nx0(Qm>t+t*4db@@n z|IiOj^qQIo7Wro+wL>Wi68oKxQbtUGmAR7b(W-`{9<1oh**DMyCGGh~yzEqy$|}fa zXXhY`p}!A`q_rM5RC76)>D5NDD;CoK3N*cdu_hAKd2{;ue*pOdmSp#6?dpl93X2mn!&q{}Vd9uJhK_#y*Kh8(?-#1l z`2HF>otK&V=__ZtoLQ|^T0QE*6j$iU@@M}|^Uz-cJYl|=T~9^D1r;sxqros-qE%H5 z;vm?w-T z1%FQIO>cDRoMc`;Si~^lAj984?K{7eaZ|^SSz=Dgq=8g4IYl z5W5TbuhAxR^fM(;h^L*LFG}XSraNqAnM>iD}D?UQxy;V5Kq2Ai4M@mzwleuzSOa4 zl6MQ=Z8|5rH``)MllASEo5@ix^u3IIBtZG0@!7ME;iu)oWHR_0)5F?{QHolj99WaaIx^(@htxL8??gb?)C`8PkDbTnhikpIKh}oRRr;`V+E=Hmt*>fl&$Co z83vTk;``uP}SR=kqCq(>d+bhAFq)e0NDW&WWZxOu@J@kPGgKCH&t zzqNFwID6*P@9W%a=erz)q!jlX4P)uTjHu*ssh@_XH-$HrUKWmYfOtJKG8fF%MYJ~& zLU08c7Y<)@C@~+B-hji$SWO~&Wse7+QjJtUofvq&P;&z7GjPNl7FU~vHaYa_R-|h~ zecR-LAND!70&$?033I;4SpQH*9I7}-4|>VjL!~U1)^g7RbTjaJKc=4Cj7Ir4Iu@tO zIsI9hrpwrzqo-jA``q37I&eL%iClM1B3H-A(D2|52BAJ3T;6*VwD|#Gg%%&)_-F($Q=&=`Ho_!O)nmDP=k&|!RTplsT}y`f%z$| zqZhhD4$fSU9833EHjzXhBD-mS1u*faN1um*aX<}m z_j&QhU-NC6BDe_5CB^}Cy}k2J%WSRpYioe=B8N@(_2)D2CFf8XDR`PI zGVVe>IFMdN0NkjU=E?Ce+XU9{l?q3mggJo^dA#YS&{7nAD8+_wR1QSxp2QJt-t16= zakVzD~>1e9nw&N}>u~gyYHaW?HqU&zkY#4S6Da~3JZ!daKa{L*1i># z8W-TW0RA*}-c1E*2G+|ZtfAs48~fCMMM!>E7JyG80NS)A!;)%k)i}~U-KcFFjpSNo96=evM3F{wUngq77jTEA==kljgw`iQ+r z>mGT0qj8jqlBPp0OGrmhmD<1D+pBRmyxwQ^{O_avvPFd|?C3n&3tn;;z z&_&F?#s$)Wz_CUS(O<-YvO4$VUlK$=kXc+mc8vWA7frt`R{+e7Q(4ZaS0{X$j$A_w zx~8HDzo*}^bexR-C!tk*JC-;Q#XO&_zUGpb#n4ju^_i)G+VVE2;P=Ar$1G(Gl5M9v zq=&8I&MQ!@1w@*<2rtzs^2pxmgGudBvhYL`WG40GXc z7&@tsZ7(!oBZJ}kW@(YTQDx%a*Uj`Z6z@f>GB@HR@pW0vgV~H8`^TkfFQLiy+?kI}Z&H6P$m7zxXY%_@!witOtvi#q^Y? zjaKtt-$lv$y?(Vt(Q-hn_PjQ1))vGH`s=zE<`Jg1`{C(c2o+ujXu82GU;&HVMtz{@ z%ur&Mj^}b{R28V=-<}rL=PT461;DG}*KyjZ8eDMxiFS&(0R3+4Qp#a=j^_Xj1mQn2 zpZ6otulKMCc#MnM0IcpAeBKLJxU(}deOIFRmZA3BH`GJU`tGUehLTCc(|0T;r=OQ# z!TK7|2X*#b3;pS9h=J2lo^vdLe+ zt*&Ay#F#w4j_he&M$O#xz-v%n>aSuri)>b!nCuL;d$*LXK_08$Rl!ju*n=oRl1vHW zFOrl{2}6FJYj{dmFu;u)s$kTo3USQgycw*c|(@(4si|5+Rkh>4Qu7U1Zg zCOr)HZ)6K@3#pNvj2t9-UNs3)S$-22KJ8B7=z&5f-jIu9!Vl7B9JY>z2akn(K8ryz z7GpphD0jq5Ge2>^^S{I6w~X6|B)kPzqm8qdqqv>7P`u{VpcK*=+eA#hj=PC(do=s%~Euwg0Wzs@dWn$ z-hP71tTDRCvr86=8`wC~P%JU#Tu^=A?s9qg%7J<3VSu$-H%g(< zZ8CjWl8ZBNffjwJlLgd*sLM)JJMQ1C6U)8?pkSQKuZEa;@Pwxge)IBL?^KFmXrbdDY;DnVA!bO-;t1n-8L-k=0qF4#FXxO{ z3Fu1~!HHv?3kKHyo`Np|`$iUib&($ufodg~uzxQz>;KSEe9-4P*qFA3m*a{pj+i!d z6y`ZwnFTH>v@f7p3YeE~c$=^8xz68j@ZC$x#d%=Pu`RzwG9%`bI%lyDUvH5VS5R7H z4iTC`{jf4t-Z#`)qmW{&V%0Gr;8c4gG`Qt54dM8~plw>*XwAxHrVdbs0g)hx_;}Lf znszn#?)D)CyRyEn$3Yl)+@NXTGH#gQWY#K835nmx$uD$tkWMU%uj5lFYTp8|g2J*s zowJm!Iq8LuG-;gkR6Cms)}cqsj#+*i@ymL(4V6_!9_LSohd-WvgUio#RDVDvF1)9y z9)4GiUtjgAUZ{ehdzVCphol@+=m@3)P=-_L#ZbDBfrKsXaV9hHhkXAYPZx!Nq3m~A z%*e^!4`wPW5n(e%4t))2$7`y*5x)d}h#{2_ zjrzkwr9QU<(|13!TH_}3PTM>ZznXH&M^q_|y8`Xw=Do_n%OPx3ELvAS_qUC$iP9ve=`-{Mwi zCO|$Zs}Mn#8nIK@(zeeuYrlcrwgiU;foL4q5f3$&19?@TU=Qd$I@Asn7#?~(T{yDd z0ET~w)y;0v{lidv6uQ>XFz;2GUu%0_IW&&!Wjx3b+D5I3ey6d$N)yJV4D zE;`&<`gJ0#YBt7Ac+`zcq4N3K(J>d#1|t$%2p~OBE^rifl<48k<7iNe1 zRMzC&2-G4&F1O2*uP|wwZOZ(qag05GyQgyTes;epZA+$$9-m+r@^XH(SHbS2&aN<< z2I9-p>Hh0DeAAK``PweJlo;_e?Cu&mk>CKKLA`?ZAxHdDBUQnp<`?06 z6&$OVR|_H6=1sKy1ik_+xQlGDT*Ug`OTG`MZ-fqAaWR-0@|^HuySFg*8PGXWRnE>- z%b0_yJ<{n|9I$YT+B3_`yZu%~=0>q-Rq@a55tD(mB0PBL)c|icHsyv$KUn>5+&_=_ zjw?z zO=3nACIg83@RXa0cf6F>_(R8Ird==(hWQW7kC9bi4mF8y1IieO?%uH}=`wY@^OV=y?YSuCD$(>Al+Eqw@y%fhU@iYJq%y8IG9lkU~hwX_=R2huFAM z7G$Qn=V{E!7ATqT;y3nd#j)=J_QkXJw-4zCM0MdRg6bI(T|4jjb8#M<+{uyWLnI_)ZSkB^-?U-OUZG-Ioml4vyda^N-%eG-yNh=k`1h@OO4u!a zs7bNXwst;#0mC3~z^A17*wujH3PYF^SFP(QSGzEGxiz_1CL6D!?1PXD7vulNQfEcJ zaNo^gH{%{*^7+vtU+)SEwtBoOSi>yUq}Zo}diO+;XJb0*RKAQZ9^)B|5t@#MNl`am zC}%b$kB)AxtT>huf9x^I>mtI=k1`yy?DaMH6*b;|ME}&+a@5c)G*UCFE$@{UWm#7! z;5S=2lmHtPQt>=vMl@lI{97>{v^ zQ}{uD1AY{*;BSMz@*y8?4esQGu907#7epxWTod}*AeEXdf&!Pqxnug)x*hZAjI2yU z*NBCgd#vIH-pY&j38L4fs;Y#FqzljP+|rPGyN)9ErjSRd*zb-7cZZ%3W{q7SaJ&b}@HOi|;*7Kbqxsl?!e6bg%y zQLb+xI{Vb;)-U8RN!)Q}8+%CDA7YRe#iD)gbj9F#96cjMGG>p#&xp8q6lHLr3)`O1 zze4@Jb{%o-(yLkHHMH;Mwq88(t?$DZZmk^GkXp4{B1Wx&9qza1S#pL>r5bE$nP~Ui zOl|aHL(1le7X@@iS5T&8S1J3gtMrJSVH-SFBXcG~GD)*>8SwBZ>N)lC1{9rRO2zz) zDr@w}rVLJ)In*JW+jAUTrGv%LFh4ltvWeC2DS~{GpdcKW7Z8JZuz3Osj3ntHZnAvO zA=A4)ioEBoA`URm#=xV)%d5M}$i82zPUQkq*ekj*gV{X(9H$o^Jwpkj>l5zARth1L z(^hD|ni4c2T>cd`;$PSmgbhn8qmosl|L?t)xf%b}tD%&_v18k!L&sv?>vteb`D@Lw za(#=`<)nPGzZ_HPs3?8TnC5^=*CsX_U!Kqzx73dp;OI*&M9P^BN(s+=JkI0*+1^K0 zgIx}g{=yuOms&57-TUdz|f?EOSNcMd5b2J;Ze7gFjTVA3!?4(k*Cu2Kb9QZi@ z3^BH${+>hxPHP|H2e06V>k;PZOg5D!sOB!NE?ZNBErv)reFv$_LPCtW*@d-VmSJS< zyN;+!1Y^@ zx&t**W32ekjwk@`x6_+8x%q0}-t4-*qDu zrkjs8rUbOidJ=UajbfsrIP(^iq6@IsGL!$Z797#8m|oFMj(LJvBE;WiFP(MqBAsR$ zbPBXvTJ;Z;y@6=KEgbp^PBp8%?rvv1%G;UaAf&@X)9u7m$u+&lKwJyf8EbR_tSFMm z8dEGfQG^i2=k2z~w;}+Qa>_pARIFd#L3l-Mkc3*Hl|A1-r#k+bTXDYd2&tq$^NUmm znrw)ifH@TsDZF!Zn#(gF^QxWA5uFMZ6XL0;b-*$^VXp@%S06BBtsrr5pd8{5X4{f| z&m{i!lWWM_Z#|5z7iiSqBKUZ)hNa_Z^>afvGV@BDT&Mr-;&*!R9A7G8&LB$l@3Lf_ zP)U3mKrZ4V1LS=O84~dt&Fc%zh}^Y-vF*}fh{qJ)mE;D|9ABusdMD*osLke__ti|9bNC<8dX_}J*`Y} zhHEvr#ChS?^ON``#vMLS7ZtH+b6qS(4Z3H=|HM%1;F#~F)-G=fg3r&9#ret9}8!p7lg%(i|tcF78I zh#iMd6Z4t!9VX$+VfN@Y*4aXo*cAyb9vbeT1@?S6LJpz0=5`>jF_d>RXB4srOyR<9 zKCgv+8T*XMjOcg3t!Kw9S4y60i@{7h?NqpGLEd=4xnu_&Je3sjpX$|$ZgOqNm?&J- zp0Jej>z{Ui1EkkPfBeUE<&+^6qHE=Y%=?L*vFdBT~|sF-t^38Y=0Kd=qgodb`!aODLZ0op9RoPREd*lJY3`PT5zQ zEa zw)oz_pP{M8^z0JwhZ}YLqKKX8vzg79HL;}V&UYjIew{YQ0MX6qUbC*A{HN9b+E8XD zzuw(c5OTp5y2uyR`c(gu!(N~PG!XJsaNT$Fu{@QkwY1-MF5QoB?`>w@9=zbvUvt#Y zGZb-pbk{~eDLWz~{+~X!tUrh9dF+=szu4E3&FV$xdM0pNc&OO%+pE3*C9cRNM^e^o z=;zKK*?-bCZ7EFbh(UG4eHLa$u=RNECYjKIkA6DmM8Q{(b7rY`E7kw*a-B;fZC=}e zrsYi`_=FLxP}S71B}{Pf@ACZbjI{jiBU_5c8=mzflI^ZjPcuKcpkr%JXodl@r8wP3 z8Ax#7Ch-GN>v>#fogS|)n=6WTUbn*3FaGCMlKtV_!x~Su@i0HQb0>}Y53GT{v9YdD zT>Dw)v$Fjo;_&zO&o5j>MwgeQ@SRzwU%#4rN{Z@j{xm4yVcR0w<0NmHpr%eUnxE%q zeq<{6tW!Reh;*)o;2~8z-F$7wu>5OJu`DIhxdF`o5-=1w;axO(1*~jGqer3VQyJwz zLEI@DSO6Xk=H9kVh^NTKT`8SWG&w9e+O)lW5njS$)WQhGaFZL8x1cbxsY#OPm{m0( z{Q*vct@tgMwB^t*^16XKYBpO>CB;HaTS7l!vIB!_iu;*P$4kp>7!wKRUTT9{FsRWv z1LuT@`@7K**2kZCyuGIDmaNI2I5tyjLQOE7J-Y(Y6xoWp@m%5ftqM&wK14^p7I$HR zX22@29C9k_*Vn_92YV7nUeYARk&YT?$s_OCDDjtwVCveYuDB+M(!Y%AU8;q?BF?CX zHP=Em6hhZ~n*HWPXt)R^NUQ%6b#UfgO^NvgwzV!gE?p5dmuLzZ>38B`uTUdCZexaL z^yIoaSelXJL;N9p>2IJ*D)sBan1o-T@f$zsFuk>`;q(|njYQ6jCTCN6q>7SaqOgWT z6G}{aBr90dsAhZ*TVkl?)y&BX2F&^|ojU`~N4}&+1Pk(CX^EgIrJipsvUub)Ae^in zd85vPr&N8&Il+y)LwM_*2PNwRjvc%G^Z31h_99*7fwHc>bI*e}Nb7tv)O^0{3T}NW zP!g2)n&3sWbcG{HH;W;%`{^+t5@LDY4eT3nTH78F<^pc9*errPU0}`B#hc*k6Im-=+P4}ySGE5);mE^Ey$!`Z$fXvL zdN1F9T4cG*?PfeM)lO!5CiUX6PDEYuh=bISEK+LCOxeunKU{Lw^xR}}z=;9@uVasm zW_*Pr>MBto6dBHI8Y3HdUmL2BHY(#kv0d!&D-%_nz>*h&Bt0v@=p7zLviAyPbA-01=veKMaG)3~ z$k73I%~F-gwBpR50qd`u!mqg?jy@Ki&@NU_ zpZK^C6#ta}h*+a;GHomyNmvc3^E#l1z7*vYzD2snvpX1bRP{xxt5dYf*9TV|DRtdh z@JEgHG9?m5A!!Z{1W)1@1aar?>ZB|nevI|~P(;D!ZFSf0VbmV=89FZZx#kHMah~@_ zZ#-I;krGjs;1S$-p4~*i#yWhb3!jS}jz9OjfeE??tX%sr)|?S{LL$bTH~yVh1DDf! zpBK>CHoGxmP>44aZ3$7HTo4ICpAT~opd3$AOr$oju%HHO8F?ne^y~gKcaxE%v70Rg zb;})dY$r8au9FOXflo_vl@>3c@7C0M3j^1UeT^C>o(El`Wy-tEC(ktt~%e^MXwId71Q-JM;E~wReJnM6@dums-4&z z+d8D69iuUis?9~}K#YWYX?`VN*|7<^_>jIlfRH5q7)OrW!GE@^*g<_x1Txgh?oEj9 z?^$aF1+8q=`#vXC$0UXvjF_afnIVE{cxe#9!^DK4lUY@hOi*cq9e2aTVGyUsS&z?` zbnlIx`gOY}E|1vJDWdHt>Tb%z-U5?ide((E)NBldb@_6GRa<1L1X-WGp+W3C@piaB zan%@c_B;;kX1fVSYk(b5VTv0NUkxO=0jz_-l`#l&izH)~v#>nSC!^@Sh?2s3c`c$c zUh}`~mW9b~owMFYIbE;-O^OL^;-tv#T4AD$Uu3`N@N&GkptaV%HMiSr&&WNt9o>OG zS~qpgP8E)t>|J-))on6}_jK(4qF|x0`X#_q-d8^DBCXQ9qX_sjb?Htwt}(!vo6c-b5hr!D9&&#(3!N0$P*^BVD?S82F#Z zieu35B$PE}f;%3-cI~w7H%%?VNp;eE?4-Wv<_wG(!k&kT$)(Pb0}s;tEClZWlW}lg z?;#5z|0THN^4-N8i*;9G9L3@FXVE)&4f_I@Zi73)gGNXTN<^LRgCMAjc zFS?%lY@D5so#KMY>O1_;vi|b2I|qq$U8k&_CipM!?w$^or)T~ZH$kO#hrOth>+C@O zK~YI=>))Gj%6(Kz>B^dGRC8O({xi3-lC6Wdw1;@Z8g`9_SCD3L9GDrchYO3YQOa$6 zN`C(OA!ga%!a2H$Zn5;Gk&-%i4hi@+d&74e-WKRn2K_%no7bjA2<=b|C2AGLWfjEA z8Y>QAUs$u~cH2vNJ9V}JkCnGAyMGu|w~7_mZ; z2WW9GFRo6TwNoj5c*|b5AB0JjCRY`6o_p+6-X{TF)3^oiUM*!K z%`4!5o$MN-m%BSrjSZ1;_RJ_G38LkxYz36uDKQuR(YA(uT1HjUx*pxC1I{m6^gN+6LB*yxUqs8Gn4|AE#nEjul*p|zC%FySvf20oiMIt zfrq(s-$xxF-YtP|hZ%YMh}gpEx$?bGm1U}Tn6m}1(hBuLw*@z_UjHCPy$P)HC~yXX zAyW5~-UiRr-*csM1i(z@0roeJaW`~x?JaQgR$+E&e}8TIVp+k=>S1gUF2pE>@(BjS z*W)2~;iFRLKKA=WY<;z(#R6L1QJJXHhT186#X>{m-*qf<8!L8@;lHV*=bT?%-nZ}S z94$X5;&cjUs-o`Mdl9*N`qJvDGy~~;ft!fmrUjafh;VzCub8XM*tZ{s3Y{^(5W8n| zKh(6^_&>fbgFrNm*LeMYN>YRe2_CtGgv_G&RLm!1LpwC39Jnz!Np|)^*=y7q$ExjsXk8GBF)X0 z<oT=Qiy;&2vC+dCFO%mhnv^!C^dg?Q29xc& znKrjaea+6Auyx~*eZ+u!v0u}J|4Eb~{l{1#gKCa`{=BG>Bw%5$VG#Q!Aj?u?#wb8- zBR^D$2@hpV%~87gGxQM%Dws6$Utm5NAp7i<@;agZ1ga)LM~0(ZKSo1D z+JN|tsJ8%jNph^8SZ$4HV?_Q!nGhrRxWUS}0$(8;gj*V;sIO6Wo#j)uw4>eImZsa{ zW7p;wA$_3&7BD0pzF700snrmzH`U`Ldj~tB*FDnE;Pk3tS!w}YrW`xwf=O;(<`Yk; z0%}bUvrp>bbZz0N?jG~SqAyZpzWz9eGW(X#18w;d3d~9O8>tE#A1dpQhy1fBYz>J< zSEBV_?C8YwAqfHumbCoX zwfWxfvmPq(6vhob>(&0_xqY(-C-xNLqa9;tV)jMD{@)bV4KK`@75Qdo z?(5mr+z5%xO+~CP;ZZ{}OCSGizHi~%k$T(v-+rp1I zE2;$Axi#MrB8^FNo9_O=!zCS4+^H?p78q^yzv6CKH5OG*m<3#YxheHA_yjhH6|bWe zfJzU-)y1v~cqKbbu6|GET5U2Un4wC&_z!_xf>t~}zT%m5nPDN53j2th`wS)<#^?pV7J032vNfwXV9ywm1$QR-{HC4&K0Y zGlKY&*$5;j2|M@>x%zG0H&ynjjB8HA_2Ny^=PUrW z!@hkAvux=?qP|{F6_UD1>l_j z{zN=$ki-6UY?%ArdF)wLdn9v8S%f{i7VD-#a(UPu53H((PH1FcGgg-GKc>ZE0?bxi zJLTAx7IKF%c?UlY8(xU1fv&OQ04p9?3a=q%_VN%b@1H>sD?cTqn@|TYFrrK08mdXj za8@L0y{+?c)vD$F$2i0~XEd=wpOs3uX&|F@*tsF6{G|?aB8i!5BF0fPxtHHk$$Bzh z=$f;sj|J)3OEQiiaO%hb@5>$f!*h<*Q!E@Bjkw$T?f{J?HEI7!5Hck!F^7$Bp>KQ} zprB0+_ex+nyxuGQDNhhfR=NfIKj#NWYp`ytfdl)thUg*2!_*5P={)U;2TxIyb=50+ z?L`ni6?n#1q|vS*;G&zkz|1ljMdopIurQRAVH@6FZ8YUS9`Wk6>?u`++1GRQ8! zZKyag*F2T7rTBFbMghtW6ZR)ljdfQ_>evv90v~CZ3#qNI2f~Bd^;DBi%%QG(D=D5q zK~pnDZa%&WHB8yb=Fq9!)NR;qEN%&Zr&AB5htQ!wbW4vzg>aOWLpg}Yzw3P zfF?MeJ*Pd!6lUek%#hJ^QeJJX>A~B72e;b&Fu#$oeJ%JG>-2%Mta?d?St){GXk|cgfO1hUd11)J6mteF zP7EDVm_532@A`vAnj?$F1>TAG4PPehaj+lV__U$^&VVqdalLqEqph5NYiD*6j?UdO zKl**Ra^GM`(epdpS_~MbjkWF2vKOJYzPQ306(-mkot4QvgF{%+yf(pOOKDXP(>rY{ zQ2*Qv4j#$eDC5eeA{Q@YrmIM1l}mGLEY4F%5!dn5F#pq#tKdDVXDFVtsd*|=b!AM9 zAIS*q)#T~iZrXYA*|}Ak`GlZ;WGMa5gJt=FoV(vaSBC6&fo?_r5@q7eMwXKO4$R1+fkAvy5D+;{{18hAE9L5nb`hQ+L zC00y6(9Nd}tjV8@+P{Of`LMrC9Vu`|!sc`8JCRct9f(a@d#C%`kMS4;Yk#ktD$_L~ z>Z&~MBsx5JPRg3pXgw7i33Iz=!gAPI(&k8t=c?9mU}P2Q%#lkc)I12l3m=53jvJ{K zb;E{7AhjN_=+PqTB#P|m1-;PlX+sH&0)d17(~Q#C(1SYSB>WaRyr3X2zRboh#E+H1 z)s3FsA#X0%TkgxY&6I_L&%DHS@NSM^qEaU)x;0i z=!0pwNv>pVH}ji5q{FS`^EA-M<#dE8`&R@)L`9U`bDT$*%UO87{uegl2L;7TKWmV( z=-J9GZIGa+&)wAhz#o>__ulo-_%@2SPaR==R#3*~QyWnpAPoU1iO(FBOk{2OP3v$in zXn12rbUOA;xNJI8R99eNev%JgEgV~4#T7p@rn!_KUEiPoL|a)b z5{wh>dVOEPXUNu0JkM{WcayC_AZdEA&PPh?#($o3=MUT#_Lz)WVTvh#5uL_|sBC+; zXGCr9;uYg7T)jM`%2r9<9+~M);fCMAOyD&289%KiCRE zmqo1PHf#h9Vd+o)5bPMM{Kv+~1ISgq?{u`kAW+j?O5}h;}Q%m$17OD`)1j9F3NAxAjd>1lFa;+`=)K|<_~!=|9!s{ z`gY8-ywl5RYf~wf*7fEsO6MrXK(?liV+%9vgAo+nXwNjWSoJxjZWv~G_TMgAltu`D zSFGpR**&r9wE79KChr!uV{j-jXGs2C1ogQ>QP_CFwK=`N3oh*@j*gDjGb56+#NM20 zXLt#dHTN&!FC4#C;t?n2c$1^EpU=VlLc(W}KzMm~XYdl8C`kpjH}#ny?%oBz!L2q3 zh00&P=hiZI-q)6df2Tq@f^hD6yDOD6K|vU(Ox^7a0s4c*%Yzq7kxGsJtIw^IJ| zXYBQtzq>T!C~y14oSP(++DAOq!D~_>>q9$Yc2Cdk#T}!AhZ>4Lw?m`fT}l(sL>3JbVUi}P^Jk6%gF2t}C9H??cD z9Btkqul;tBN>lZ3(I`}dx!gi#{ll10yhWw-PiGhricr~ew;}9rF@#C7oiv@;egpLM zvA@!899zVleaa4No6ee<1C%p)qJsx{ukV7@-*#h7Me~{|o8# z;f`vly}_sSTAxCOZd%=>sMDFpn_0!&@{8XV{Y$co#4ZRNSNtBiPmeI>GQHh8^dLcL z8P00qPV4c7mJN<;seWu_X@|Y_z6VeL{{2>b)PHed){y)vA@-$c{a9VOk%PNf&Qt9!XNz9;eB@$e#N=TlpV1{ZH|Ta5 z)rkv3UVFl8%08W1Ou4A!Tfpu|WuKPl+HJ`}tLqW0$&9KU;T)SX>sb>#p#m#H7U z%>ibH)WZtn;q&y@<$&I0G1zT!QuhS1xS`lPyy|SBDN*9wcCtYKEY8s>fPABy67mYw zlTFqX`YpO|?-oz&I3D<%UldCN6x)yZ<*AxvJFa;yKJ4nkf47B|wQ7dZ;Ou}3M|Aw9{n-~06gXSdM z*L(9WncF5sNKQPfk23e$3S&Y1Yyc@+rF+@Iy*l(_GS2(k>`7HbB#zParFoG z!SBO*;_N2S4oO+j4hIN73E>Og-RknKU_ab-wK|vgoA};*iYzWdUECsq2sR&AAqY*? z4TMMCSV%V|+ri#0a?S)~Py<}^h1D+Ya*$BBgN)jZ!O%u$6D`xFk49Z^)%{mo;Q~sA zXK-%mSck0+9QsBRMwc!Ce~v=#TYfK&JQ^A(Vhpw!5v%#^{ZOyA*5-nZZOy2IZ~Xl~nAWO08GRyNvFWilP!<)$JZ7W+p$iC6oM z=ot-_Vpc{-MTJe5vxc$vj0VMoiXdbC$TC= zJ1X=rnI0;+-SqI(#qFhbSkdNL1UWF|3-PdBEN8wxodN2}r_Lh1u_G0rG3@}ELdS6{ z=fj%yjK29{$<%acD%^9zSTom8?_LnXN6cG_A1yRyOq!utJN$FZ81VKtbdY6=v zkQ9jp6cFid77z&$7C}0eZdh^`w&pi}zR$CN%<|W;ubDY>&bjaFdSB{qmDI?f`6SZU z3D}k}Qf7F7aNVizHsdQ)uR#p-pLe(G+AJrT#L~UnFuR~GVrbU4>ngl~6nmSs?-S1n zNtK|0y1rLpTb_MW!Ec4~ArdKDHAXx8LGI}7OMVCkhuBhz`Pv!F7KaVO@rxb23vdI= zkp0wcJR~WI_3&S;Z$?#3b&`9}$3LqD=(9?Xj82R~12VTdN+cP6ByhEVYDpjIRkwl+ zB-MtBqa&=&<^0t(H=?aLMH0Dha(s%ZnpE>sDl~~sED0`Qymbd#_DG1^bhY|}PVvHt zhvO{*p8YCB(d8?+z}_*p{EdhN*m5C)pnZu7+<4|d_C{|-vf2^jmyY72x7hk)a4eNT zU@oM%eSZ7NWedNTZTq^DD53YTB2W~5@?rBlpm+38=pSDFVb>INy4A(L+Pl%_lUMGs zM&7N~s~~!-I>vF#lj!6{$Kn0@j&0i;6ugZ@4xhfB9=(sy?Fo zZ_0{qwnxuTBVeIHNTIqdX$n&=`~w<)ZL9c4ZgXEJ(9b0)!)GshTlSm74cAKuO{l%=2w2?$f8yLLQ>Zx#oXC&2a|NDu`{eUqqNAFw_; zv4i-S0aWP*$ynq_rL}J+lX-OEyZXc5R@Xqm{eUmzu^nIl+TwHXQh{oN_UZ_mT%;Kn z!g=;D-}1=Ppz?htT(WHlI61$`>Px;WzI{0VoA4F>SSu4XT$^$R04Gn@!RAw9B7Ew? z(>@uU!z!_@DI@vMVw&ejs;QumD23M67m}$Q2fr)uA0n@BnhTMnqVb^3aKtUd@H~aioy;Yy^lP63;B7eJ*B}+n6TpTy zsKIld^YYqne&@Yb@6&Sc3y$;GQ!cU5v?7mcZ>>ZHF(dehEy3RA!}(l{S=5gQGiepI zutnnJCPwJA_-($%+z=x!UGg+w^cK4Rm#jO!{Pa?a(8(7C%67t9((uq6h(_d6bi%%I zt)548YhCB?Uh0lbSdM25fyxNJprzKn%J8Zw&1x8wT{X#Oea|2gKjX&UPG#B|#8t<- zr>Cd$X)_pVr|_ML?K7R=Ulr#xjD9+}PR0Lnz2vnDjR6PW{1doKy*}U2={uOTZdl;8 z6&kvt8}mPCdX2w~#t!IcN_8UlceEz%;%!0~Hr}-09^StM2x-1HW(*SPs+=!xBfC1> zxiWNF3=%>_nUEg!LH8LWQ>X-`ls=Qnb=25)0dVt{)_98FLHf~zT>+~;jxu?DYlsj0 z!{Uze?5or7>q3xzV5hxk3(<_8x!Pm{Y47{VLbf|~Ha2vf+?cE9$;D_KedRhT^`vj| zEhPvhR%@-zYZ9ZHq3RX|-lz3unuWHPjS+qG*k|1yKepZ!-SiRf=1t(l1Bs=;9jOaa z$%CB9`+f@F9B!2qeKR?c+B!^955)etrkNDAp#8Vab3d;YPHtMpA4X9Umf14zfu(Km zs!DBcjknsmKPMy=8=uBWnNG{q*4(dX26yuKiK=hO*rM;EeXLKvnm*Q}5w3jEefFoA z0RJ~V%gT$Unm!OQI-h3F(kcTMx9HjdY40}MoI#Tsu5zl>{U_0j9+wLP6oV|1X_q-@ zO!kdDVh?M*&A-f*;=IKXPk z#&9CjghNpUpMQGR5kN`0bE$!qzKht(LDjti>ke4A`^;&HCbg0g^YZaz>@WF=xeELd zd`FWo+ayelB7!2vX4ilvp2S(G#u{^bAJrFDx8a9-J$7YQt)GcP!HZ{g$G_j?HnGk4 z@si?`(H#FW{kcRgwcoAZcdg18-c0i+EHwJiIv{Vjt#i=J@?X8RHwOR744GTyp!eIb zq8=$xvrKp5pw>^)R3c7DW4UuYy#vcCS*lD5K2JQ@M{r<+_BYwlY9)V`zuvNis(XgEF!N{ojI&fC_P_s#}3fW z%3nB4Ec8%}1DzyD62CdXmO|F_p#RE5qdqVP6urXHM9HAunKd6D^i#Sp^6#3ruH zdfe976eu_jLD(#;Ap(W3?_PSmjx7OFODP((@PVqwyJ+4h#{IclJ zoT&MciumG`()him?uwnSrNNuOeGKTg4^54vkY9vFG#*Ac4-OFdDDoWL)aPH*3mX^ zGC25^*TF*vi@+cgD2Q7;n_xz^QC46)urnRJNn^c0k;$dnuUtF~oZ3s$`XUB>>Uc}u z;X^4<3c>iQ*9bxm7pU}B0bQIFSj9vOf(VQGuP+9g%dAa5 z)$flqC_e|IA!I^^t2BJ5gt4KfHpP%gOus2ISyyCoQ+N5^m1Uua)SKe`eman(n5#i+ zp%z8CBckP{Vf3E_quMb(^u1mEiF~@E3_jsOLhQ?uJ?b}=u?UGG=OPJ_UR8s?e=Giw z9wP6yOYX6`ogb0?>k;7aMSARHzKHF}+Q#m?ax4UhWA#m|A0DxK3Gq%f-1t7)tqy_B)E zV;gWmC3HFgcRj`LQ`$=SS%B}!Uk8R)P4>p$OOW%@U&SCKF9Ok}r1zy{#cqU+?r3v$ z`a;~0#ijUx*$B3s(Yy9SdIGa8z9Yt5^YGrQ-Td-SpoG9@Y>!ueX*OTwmGQ@*O?;W< z-Fq1;1`4m#S858*j;U~Uz0#?~bBROG_7~X+D>+x?j{TVW79F5{S#G)Q`)@DBZxUjR zo{TKI51qa?dRLvleCx%^J$y`~52W{NV{>1NTX`d~it_mmf24R`h!A_S8kPF3Z(r|v zP5Fg49wp$~<=Tzzeoja9v~Je70-tSmI(z~?R&~5))}YGD(!ZQbBNEpn1O|-{jzUcc zp|vQfLxdZVYjGQ>6o#A5AYi7bC&EBnG!d3wh2REW*+bt~6+Yryz2COzggQ+_Kk0%JKXR zLHV#a7@e7T`GiC9?}wJP_FY!Qb*Zn_Ro;!@sKeB);qavuI>((S2L zymSN3+Xd*3HpIwLIg~T@UST0vA9KCLG-~*6p^D$~ogbAqHv2`GG}|bVj4gd?YQ&XT z^RU=a^li1Ti-p46iqlL+I!jv5E6>ejU*fK%KWGX3XQCU2=RS<53u%V>(08oUKsM#6 zZS_VprHayg76{X>_KJD}I&0(OhyI-Ads|*wEB6ZBv$Vd;BR`uZQ=Rs{Mg2SsUZ%Ts zy}V?A*PQ(N8_yF+`5HIgq?@(q9Kj<|D7X!J+(`ZP>x^EPbo6=8sjS`(X6 zoroJmE)jAJ2S6v>?#==HtR$%3q>AGJP~W3~BipQQB=Mtf44DCJ(0k(3LA&8+?sInl z8i?Y{fDHwygaFlOj6i=SQjp@x< zf^+@01TGO0)gxk6!Im~phY*{hI=6eb95PfjYq}xOwS$t_O4F2Mp%gIDCA^_LO)2}T zXLRVL`3!~RG963}w3708juI}R{pzdmNbem8Z zeD7H(I~YLJyi=zRYaD5WTUxTa25pTyfr|@SLmn=vCjWYuo1%Qx;Xv}_ukiz3VuD=B zZA}C5DIG92$llk~_*8d`$~z^UixSJ-@XU?|rl_09*z_G20*!J)XnP5-P(2Y$aF72K z6j2UmVYF~Ij`vi}K@O^U4hZ$;?VQiXV| z0L}sTwyMF+b2~#%^G0sfey}bM z<4<>}(^jK`at9=EotSd#@>EiI#L`J(DgC!1)(UKc6^jFix5_o6w(Ok%leOcLcdwlD zV#`F1%ftp=%R2LwV$J*l#)b$q#Kn{3*85qqP3}Khz+Ja?BJmUx!+EZEn@x!(n-)UY zedvb-~%Q>`QGvv}&D7=Y@m4 zMaSBzl-2|VWSBUHVoRY17j)bDy|Y}aylE45Eo#39*BmIFoRux7D!;Jz(ciraS)j$t z|G^*|xlqh=C>(djxJ z1|*~(0V=wxK~Xh<|IRVP0zBOu$g4v1TL8wQ`$0!}Y zPo7bln@Oj^jR#+#j;<)6ZAJS}>%nOGXQOreQp#8pO$-!r4m5V=@Wbd=M~z{eIuMYZ zPz$Tb1u`PoP7MA|JhluLgmHpkidadO4Xq0(YU_8 zu4Ws=yvnw~L)g!Ahd%L4z56Lwcu?YA&<8pPDU`c$S?ovJV8wU{`tFM6S;7^FxQpDc z%jh7Zn>k-$J+4!e|la2=N*u zE^{FKFM;2jymTk1UmS2B3~CD`v_OpLQdaIY>^(|m1{C}W;PwI)|5WValWE%c;Pp#2 zZoH5^_k|YSomV;s+`BUM)55B+nbA*8ymy{P(|Msxr#|>zApLHIxPEuW|FT zt0M{(i?WZVW8F4cRgOyH&%F5?_x*O&gFr`*-%p(}q6@8w&}h5*zkcg->aJLfX^ZI_ zy4==>XUh9;FDIqPFS%NIYLuLvvz?zk6@HFlQ(GoiKQ(>PYTcfIw%q=~@VILH>ZWF& z;y(S01xp;>@;(dceG0Ys#G3U++DTxFJJ-uV9u{DXg(z)9*IrWaXF`n|6>|J%sq#<- zaUFV`EUF(rJ2uAMTz%*gxbWMc&d8>?2K^C|{VK-E zPaZWGg0wC!#!gMIxCK_lP91A&e3VX)$(NqxD?h9<&WX|O>9qaiFQ~)l{FgO4(Ruc* z%)8-t76ipD0*>kH_zfbzm(`pO?xE)uLGqhvxC0P*OHtlaVZma#C;EEp>Yf~dnX?ZE z{e|xa(&-Qqw*e4eZOIwL&dd%n+YaNufadl<>-eCF;uk3@kQ#l!ujDV{$-sIWkBt78 zk@G8w&J3g7#q&NDpg8Fu$MBxx0Z8QLMyi{QX=Rv*CgE1GYrg|B+-x9WB-IW`3KS}pA*vEMV{%QRPI!ap& z-vXXHo+sW_HMXQI`3EuCylI(oZL24T!wfRMY(3+`&Ue<{jk{oz8Jz+CRI=|P+2@M& zsRDNTiyaWRMCnPj+Zdm=(`3Lx`va4+23}RUsF+v1@lPcaMvILt&707|7{qS22&DZZ z*e+>j_~QRAY`a+my^68=|{g@v+a+|6ytMnIdCN*tL71}ot<}d7g4&* zx89Mt&_VM|Lu&;7WC-}eCMHrOo}cfUws8#tRYs~c3V#UY2aDOC`PF2x`ctg(=5#?T zB06ski9$x!ns>Fv&Q=Dc8*#t*nVE9`5O>$~3#~&6)lSg}e>|# z1#QeJ7ZWM4UjYrcO9m@0A0ll1yGD*kcu_t=orLb+F1(R0{gtMIYms!ioJ?!G-_YXv zLis(hDC4RCi=TSP3Ub$D^fd`~+>+DVd*uQqI7|O>-@ZfsDFS?{taQgCjR{p|5C0}1 zt1YtEPw#R_ErY)%dH%$1@_PT(ZMk!}=|+TVU1!^sU$|$L39jhOhu2UMt=`z|FTNcp zZ^v1}>kd2}W*p^?!kwCA!?zRs3u#oHCD_If)vZ*qT#SUIxj;k=ybwzfp>X5c0Pl1)EbhJM}%7R%Ecn#X;w?X5`SQDiu^s8t4-?RqwrRsaR zuqIdw>h@ti#c1FdS>%yVxd|}Gvn|?WP}%YH%Rabe$UtMTlm=>pxuJNYVxyA>$|qd8 z#c!q}&ubb=yS~QrQGd+g*yV)o=};&OcW2|%nbZ0Rdel=ht;o5gB7uuYXyC;}r#R@^ zMW)I=uU>eQ&cws+Lxh^HtTGybz5gEjnH0NPra)?)I-Fjv4#Y31RMCLWsX9BvbQ=l? zIc#X#QJ}_OEf0IB^8shIsmRgxfY*rqNYtJ%s7XeDj4A7v&<_(P7WaZAqepW+9mCqr zFtx+LqFBz|ecx-jmVa8hoh zdd#|858HWN11vCuDtWI~AWxhx++x<#)}vK=H_uxM zTez4wvMEK5jF5itKs9$8=|k1^PbH7MK@-B&?hb;9o+DGBF6HqzSWL>@CZUwuu2shX z_MpY_t+6L_knV)28l=<-v2{>x_P{X9)SV&6i0Xx(xLH9~edp_vOpWk_U02?-GtUKs z7wv_H=Aa!Kg~LlCo$ZVsM?bG)H_op9at6z`d^I0cP9>vlX29<$dPU%tIObaNs2Rr?NxH!r0=w zRGXC}2>78~M2ij|TA;MYo zO%m=M@<`4nb$@mhwzF50P==TnE#44b zw(i9(hx!3tXzMQS)5g5-NA}Uu!cdbo1_~`(&C|*Xq(tOl{MtXg2`DGmqNJHoo(C&( z?%L3)`2FVWJX6~?h*Ih3&)SnhJ)bqB{4{gqd7jNbRA+>cA`y?q!M>f@&pO;Mm-dXq zHAkDK4wq$m=mQ_;4cZvKj+>mFow&y1$CqTgs?c@L2d2~BZJrMw&SeHAGtNqKnoJ*F zG81T*lqrnPPXCe(?D7s%uJ3!0^yGnv3)IM=L!ExL@UACBRq6tbvPzcq<8sJSrYG?Co2v+sI-UO%Tzv#&FZP5+bGbdZS+FZQI4$kt??& zfh%J95vVBQS7Ks>xhQmTEmZZwXafUsK^fFHQ!j&L1h=3KE=)od>9yc0-k(wPl zD?^Nfspc{sQ;Wf>BuwT~cQGEbE`7(6axjd5em+K`W{nE4G1*2zuR^&St)emVrQ_$uI&!tjrSbDus zhIbV0-=rH9B~;JDGpilD$Ht$Gr3U=TEJ2@XoNfp&g{XJX05h%=}fQWB% zo^9Nu`&CAVKr6aNYWu$XjVjhG%f(I&uR#O4pP0hePPPMQTy8IgM3wH)CoHZscrKZ`B;UBSFbE?RcBW$fMm8KviSarXR@Q`&Giph|J>J|K3Lk(KA!#(;)xn4_>d z2XO35)urMOD?wP`q$H?5b(702CZTydAN5gPF)30;qxWKJVKtCDY&2F<^TuO6jT-si z6IP%%7(O_MBhHZwGem*_dg*f{OZlL9y4*eQT@G=s*^JxA)+{@j^L1)UI#Ww)cDYqA z(%WHZ^WL?vhNJ4DAhpAg(cHkeeV!xunlSUnB}Jh1;{KEIlXFlYBF_K9@i`+R9cEv~ z*<*~HO%$L^KZl1s=*n}#5_k7;U#2#H%yD=y$J#b)qGvryDU^-Icni^Q_yE)kU$&6b znYtl#l%3+eI%@JvZBOOS4pH7@JBpR1&$=;fMVpB|j8uo(ozoP2g!*t($OU;!H?1-o*2^S-rcG4)F(lEn( z3~2PYox=#aJ#rFP8eB@tZ|tpRxcUXl`!KkvY9t!$9jx>>#b!L`lC)qvrMciV_k>`a zXyE4Lq`9-b{re`ftz#>lwHV3~)Lvo`PX}q zDAz02O0UhAKY#Os7tRk(_zLy5fV_d|uq8dumJ=Dt*$1)#-g77N?*1e^GxLY_<}2rO z5VtR48qgRa1 zOj(H;#?XPOi>e{@{ZQbYjVVgGJEL;}aeZnRn}*BIY#tx6bKF%;$rLkc((}VcEIl2c z%6jlnG2BVL{DGoX&YH#k?KODBvac30W*0kw=cz?Glb(%mC<2n{X!3Q1fEhFb-?;3m z#!}|2{qge^*IlzbY+0VSMg3g1$HJow%AlSCnY06z2FDH=B4?%)3H4sJOp{tbhNa9mZzt#7cNA!6+fzMmC>RtS! z{Vd3KbAD$d-zrtU6_}l)ON-$Owm|4IcM*Rwhm3^^mY{Dk_+6m;&I_T_2~Bo8!)(R$ z$FB*c5&r&hkej**&G9)lH)7nA2!_Kz6*buetQ;)h!~KhMfFz=v>+yP8hlv_RL?ff- zywc`bH-pLlu-tBd5NL{~YZq;YuH(mQDVi-e9w0}w-npFH%VIpJYaDXXkEL#B!TV;9 z+Bt(dz^gMEP1488JC2Ae(Hb^-00hc;-TGxxDq}_jF8<-F{f0U;jqz2?JCBd-ZR=OE za)ibGSVz!!#t)8@`%6x&<4+Y(*xT8_iMQfc_7mD{gxQ_~dF}a291WOne1W-je6AX0 ze#G+?Wsi1Wjgt~Tk*u`7pr3zLov6>hsWl16xHJnA%AQ3i4V;Qea6&#RS5Rovp`rZ5i!d|e1F*+fl_q%W!t!! z!}{)$n)jI8!Y>Ta>z6dKJz)ki8$X1Zn@tk*`rxvsXDG?-;sq2=%s9B{{Rs>U4&n z&{e1>4c(2-ff)Bb3{;^_V+K9y-u7rF)#68$Q?4SF{~wH^{;i0u?d(Z9lvluSfr zUR%Or;KUt)BZgp<&U&HIx=tx^9}WrPgn$7C*{mU(@}310WZje!a$aiR3vSxUFzozS z^xPCXHMBtiL6HZyTvA4?zq90AFcT9)&CSglIoii1&oPS56UyUbqO2BQm2z@q9Fo|) zqC=%02j>MRLZ5;xuYjLOCJ)Tqd+8G@bw&?0&a-{<+X>bo>j_>c^7bWg^>L;l^ES zEJXOna6Af4O*Sc$OQvwp1%*-5vIUv!!3=OZ>;3B>4Tm8OJ}FgWtf>Kn2O8CFBlR&; zLxl2g*AG!{2^Hl<+`AICqKu@6Ud)i!#nX*9AhuSu>3}KY9w+r<_8V*^ZzAX?KCbo8 zFmoxWHFpg9ECu{7RYNaZ}X#1*Qf0zPH|ON1t9k43z%1Mkx?RKlLkf zYk91j*PHb)v!0_W56cANJFlX+&a-+u2 zr;=lvhz3(hHiNS|frtpV%xsh@auLTaC>G$^Vu#w9!K)2!Bzil%5riJ$8ObUEq<28u z+LL@_itpEn>z@H4F_0MME4T?Xc|R5F?deZ6MVe{0MqtQs#MxaBmN0*4yan!&|HPQD zup6K=1Ni^!1S=yOgIRLYr>q-t0|?2!zx>Dtmh_MkFuQ=UeIyubFl|D`6|im+BX_^i&!LEH$CQCOK^VPv4%c zF@<}*jSZwmH0`E^Dq+gJso`?or9D)&&hR!B@#hLbp1sRVP32nelwXQufDWFho&DiJ1#*aHYLHX;}NQGqRUceQW z{Ypcq5HV@vTNUDUI;zb!5M0n}@1^;%fNGnD?{>gb4e~gtxHtAM(|YNiR3k~~W=6Hv zL-{(Kn9KLp91If>UHILQx_94Xk1H3o`da=nw{WMX`BkyZWFWO}Aa#c>$qiYPLB`0p z)^}o1oM&W}@1C1$#wFB;#&aaU^5|ise(JwFbP+qw`^B)rYy5I;zRI;HJsV?1n1qUF z336Xaj4I}zRM%vVvPLjhWuLahYi6qh0bMAb`_Vm(YtZw*I~D&PJ|H%LyEJ?x1ulB= zLJ~%#t%u|n@cSrWfmkqp33vsT8@zYQ$`xR`b4}}3QCL$>m{UoM7Cgzta*$Ij)E{@v zEXN=b%L7N66kSREqG+w1es1n?kcW#7%FL zz(9-f%PBH(2$A}2ZyHDmUo@zVmW!az)UyiS<+jfc(z!I@xNCUy@TRKT1DBadIykdB z!w+}!2TG_J*6XB$e9bg9l{02eD#$%dRs@4sS12cjkN);fz^;e0nhMuvfmEz?Q7(|Z z|iBk zcfisXRuE%JU(rF60~!!PsVdmjpBM#hqybM}QWsr)!P$F(T+bs*JZ({5UZXoIsU&C) zq2lrQ+hnay)aTKKIS#O$>b`Frs%&YT0wyX4AA?{$Pi#Vq#L$<}_a-9O3c1{z8Z!Ck+dJ zHya0C%+c7u^@%^eH>VUuW(v`fq*hz=0L#jsaw@`@mkXLA6yA}gpU5W^{#jU8 zugoQ>hhr))y*utp)It8kv7}?>=BeHL}CJ<=Lj=eyEa3g~WPns0~!Dr&YDn z^*jP&hu0Hmxi*5vWy#6T&5+q^`STz9=3%EitPrHHt#bA)bMV4lvwRr43jeuObA4g$ z8SSV9ZFh60kNCBDX$)6Xc=kn;p=)$z^o}{XA!hlh*Oe z$M~WOgaa(Zjz5Sa3dBpQ3-ek0)>`ZwADcbyWMQLUy_5TVX_IT5wocw*FICrcwIdSd zvX*#S+6EGOpFJ(8li0@A9|je$?#TP3Pe({xtg;YBM#aPS6**as44YvxM)mNG;rv~T z7K_8S>*9w&<%_`<14)>)aC<27*>z#II*rMTsa#i3i%SOb35U*At^qFD8k3SqHGQXx z=%>WvT4VVMwjQFW4pd#C%Y_UYJsnT~@j9D`g+@eA1p{Wa>EXbow+OKd)bsDnfZ5<$ z*UBJRM!_fV0hCt0?d&CWv0aflqy2KjvkWwS0>+oe-u&MDekK0B-N01*2k4J!&1|6` zwvCN#R<8#9YQ6XHVy2S@pc@PE2=HDecGVvSu7VsqXxPdL#Q~fC2(RNO^|L23o}2dv zTJ_6E)cA<={sn&IDt7!1!GgE`C$azGqHlBHuAI>GzO@@8*p}_fMZWKv(f!rw^2Q$H zT-gJAje9&@DBp(nd!+aFR&{;eQQ5$wk)Bgh4=VQATTBSU-92&~+iT4r%P1Yam$RAa&=BHWRDHXH3l~Ha7^OzIz@@zv}rOmV0 z;Lt&+hn=ufv&%z-%0O!8qM2xt4{dLqz!5ZR3xOO(d;}kjeb{Li;xR@+?g|B#Ra>2z zBILESh~4a7fsu&KG6+g#%Y7usN5!IP-i)2OB%yKje%qtywKN-J zRrWuvMbthxyP=$IoRGbKV{;tI@av7`@(Xik9^(%?(fRmy&E<~eUb_<;cRjl9^ZT|+ zL}aI*aDSycQpjM5+aV}=bRDAhu7HJ64AD|0s4o*o1>di>i26EPt zFG~;uG%_r(LyAQ|t=Og7F72;7Nt`l>DAU6s?bM(G9MlSzHj}D~szqz&XtW*4zb@3@ ze!nWgGG~3xT)1s7T#D9}=JkV({roHjefS`aIP_2O%C*`MPb<0>B&M6D-37Qsx24`( zYVIN-)^XS_6@l(CN?W&>J@sj~H`jSz!H2vXkY=VR_PoXQ9(nxls}i=*dXt>^>BZ%s zmwZ1R25(a7hqqrX2C8fkfz*H~6Gg(S>{tpMQRzKGIFu0sbqm+_lV1B6ln?ERm)`3= zv{7utqaqnAo$fChoB^5L1Q=M$T1`*BuxyvzrD7Uo7oT#A;_9>dJALp+csM=6l@`m{ zC^bbCZqp%?RsJYQ9^$gUEs;0cA6;*aXx;$#eI9r}84;M~NoGpj2|R9hOE&OnCmE4> zGxJd#23|PyDha!Q1(u1Xjkvul44SVn-XJdc1EPOV;f5dI2v$7?3Ams*eJFBl-`sfn z+dLZRPg{Su@|P*JMwmpFEYH1(7w)P5t)J(^Eu7FrgXrUI8xuz)N|Hm6f_ zNx%G&rZa4XSc~IMIPjUpPU76HOLd6)_!TL{BsK|`0nGE0LMK8nzWcRFDe85q%98qb%*!sY=<}OJ1O!Ni5Gw-OPI9XzF!MUJmR=P;fma> z{hz_u=oJA5n5QF4XD6lpQBgG*8=pYuPNOUNQJ+O`RLad@m-1tJuU*ucFfeu9- zFGA@;x`7T|z#U%=C06golPjUCZ3ijk4an1Uq&t*60`g732+tq8h49V78U7O*L_2aR z0&x;Cy9Nb7S{*u|TLB;)?k@g}iDT$;adPU1B_;1BZY6#7>(RX!Xw3oZkG*S(8};y| zpyoH?Gtr0Tdq?MWV2Vj=z+ts7WyGE#R4R+-3}xuFW4=(EZCyml`3z!lCIL<&t*)zT z$F8#!Mk#v7tw%_*E7U7{zD!!5;m&)$79}lpPF=%Q9Z+;Ed`W!J{{;oZKfs>)7oTKD zV+*s1uNGP_#|aW88VgqydCEi-ypK+gOiT%9#GBWaoHm*ZY9uTW0j2wRtE1_!C{;pW zcIO&mVQmDZioqPo^q9I?2Cnt_#g(R!EaN?PD-_I+9%y09mu7%Kyx~!!4Zx=wQ15B> zmyP#xKSpi`^G%s9|8*5F$hNq>H%tYQ_X^8=vZM5?`R)7TZ?htgViLI{!c;5s<>3t7 zspnI|lp5AQiK>78>wShZu*}2Txm+uJWzUx{fRG}6dkILYCu4-WVHTuESCyEk5_BQ% zK-%)#L{CW}>NA2671$z*eFPSHXE6`7Ty>G&)W(h=B`6R6|nfi<`L@25D_ai=t-bKdBV#Ib6!k`XJeCnyBytWEzFnIC# z6v5ehkGwM?3v5-Dgs4JT7QJ|yG0cEg5j5M;@cv7x@8^y*)6u=Q;5C|b4M#|CWKik6 z*{!cH@|cWOV2fO(gD`?KCWv`6z4tFkLAb4BB+xW+X*)FEGWCf7n~MLNV4Wor*UuCD z3boqW2IXb;DyPZ0cio~yPE*~8M>MqK%m5rzM|W?5X%@c&e4)^tKOJw!p6%jZ2LG2f z^)E^%2mA*?qt@La$7j=o4q{68?M!jkS7NL+{adM0Z_>x$cuas91AMY<6$;bMCI=g#x3{7w!9mxrW-cF z(2I-DUqZW%_&H@0-V2tnzslJ_^(IfnSOAYMDcyCo0XEt}Jqy(wq5P^hKz_%UOc!+w zrOWRDt9+7xoh4`d2D-mV z_rYduiRE8F;}nU_mx5dP0H~4vUFe{~&zay?$yL`12&Gwk8E~i|t@+L|VXaTWJEKdl zt3k~iSV`%(rVtNkz7k7J#t_3AWMiBBxu|LV1*jy$4I{)k%A-XnMp_OG@vs2Q>k%10 z7C|>4=xhYB#9&u^q!3M$Gaq$!W)pEU1pdi-3&prxb%oK0z?zO=`< zWp@KT(_N1Qmd~>5Yr=Jzj~a>moO~6`d-W7tfj;WfJ^uydYAcmWCv-f8$kGXH3oO8z zv7mCi6A1(670zq)O-z)5QD&_Tw*xL zdXWI$oor}3W6$rR^U_7_|%#@_*^b#Xdv!9pY_4#0H8fNK30W#>T% zim4Ky$!@DR*^Bt!z0{@!6%^nLMWB|{6SC@BAwbc(_zNW@c9m4P0IA{w$6$U?h2-Ij zzIZU=QkZOBTZKs1N68p%GPs*xC3)vUz+3y<6zJ=rWPpIHcL@-;kMnH7{QrKo2)z$@ zY~QQ^^8gk%crW$>55$MOqo?QT*u#!ZeB#4TWd>2-zt3$0uj7K;W;hopeyL>CBmsr` z_MZ;f9QC|T>{R5iVH;^e-s;^!6>jre{NtxV+^qliHend8zLG|J0p9%pXF#Qv0(qT? zGT77Urz=3hIO)v*`zl71x68eqYx4yXdN(;!}C<;NIs9mvpu9z z$%Y7)(zBZrMk<0it0_7?W`I|zLGF2~)?F#$+A5eOGB|~u1@NrDAcPZyItl-dIJuq~ z*!kb^Ymb8b8!Q!O;)m3_;-zgphYaFh5#b^Lt4=G#dUzS`o{6|}l|7lRm=@87zjF5IFDzJ+nR zbB^5HiC({~V>T5sFO>~>sc@DlGMs#G31DubK>6$^5qESq^@u;Yu2a6y*#UR-Ab+(M zQFYrexBq_;1)Q)L^pc}Gt{kg(SLxX_1;*nDuElWJHW9y3E4SuuQ>vw?lH zz72Z{hN>i;pur%{55J4wl}-N!hzwDHEL+fxeb||>z<<9m(;){u294Ujya8b;^ZYz* zl0#0rn|He$e$xojb@-$|kU7LK7}e+My0KmEnE&frY3&jIIweDlXwTI^;jiB2|KDp~ zrt*KktZ&!?B1b~|o_iMs52c$Sjx{1z3zS<%uDS+Ql)CzIUUDKEtD2$Gn27dl`ieFW?AZSyo)ifW4>x6-jb!jmg3Omc8c`kGNRU@tW`28_JoXFF3 z)BjQ!f`8qLkn|YhW2k6*Us7&+?ujRQ`Cy@HZ z?}KJ~sCRM#Do-P52OY6q27zE;TJN37p0Xjo)}()19C1z z>IVv_b&uk(WU@K9$doa5MAdGhnE<^Rl#?Z(wMc-bos^evW2Pg*0m%P`@!qrl7HcKa zfmRTA$soxKN|!CB2dS}mpM^A&Ma!kS;$$I4i~IDSDKTfW$XjEbI>*YHs4pvJK=;XB z(Di+OZ^u`Dx;QlNm+k*z3&7-^yZ^f<@v{Hd-j#keaYgZ&A(TYGL=dp*At8{0s6fRE zXdn@ZD5xN~uqfC9LJbiRJq8srY)6y|6hUnDNUUqi7KtWMqkz`BPz99ArVx-#f)c<$ zWSR8M;Gfa^Wj?(1-uvEt_sx0tcMp7yy}Q&`Qsz?Y(mD^z4H9EUF3Fd6Ijuk)XF_jO z&Qy$L79QC#)L@8h|68|9Yf)db-Jl#C7IE!DQJ`(G?n2mOyk%NF0E(PxpjXqtNYY0vaWpDw_X+Fh&caS7{efX`YJs0-7nMOf|Sli-?#Oava zL0ch~_-3M}r$NCjHe$wRJBf-1;>Q2&w6vSbVJ7pps=6pF%nra259?CZBe#DG$&3`S z9a$=l{QZwo59_e&=_Y6o?6lTyy2V0AofP4t<4G^U$B#}6jIjKIEWWkGc2d`_458id&F|@L*IYRbq#ASC`KWUVv zqc4X-N@^^WM^qny5*&wJ%5^4_BOTI>Y8UrYy4d3mONyn@0P+WL`xkLiviE+bhQ9#N>D^yr)BB%DKj|53MuKpC5l)A$q?P%4+o6x>5H+k6|-Co>oIOjbX!HTBSnFm_=PF9WV%U%u ztaOLL>t-QTDpy&ps6DgJ5fzhNdtn-|{cLzD{;B>^B*|7=lEmZkHIto?KqiX&oVyC6 zn_$<5y98Bp%YErw$H$VGtlB~wn_3Wpqd@8Tq=2imeNkLnwY(et-2%0pK;kIS3uL(Q3ZS|Z?&V*E!55{Mr;9bx{IAIg| zPs>0dVlPB)hrtF9L`-$=RE6y$p2fiFs=X{LNa{dEv&*nbcfJ`6-udBL%c0^nQvE4$ z4~r|e^hD0tA!)0`fkus~p5kE3hLdoH>7T6R><~tlL27ZD8rXV)kuGHuxmEU*9jAaI z-?F~eJxu5(JVJ;D<9^#kqvm|shHj|&m|pW4b;U~w)aGVB)56qGjrDy1-Sk@^LEWgR zmsKN0ciBB?Mw4ob0t9%)Es&0UjQ#?~(V8HLK^&W|ZfuZmIP|{BGGr*7l=@7wrCX{R z7u@D9Q0A-715nHU;{_S8P2lScq)IvFSX}KsGT}#RAvPr%CIq=3FOFxBH-n zJ6DFES_r?)v)8-2au+#6b3dvtTW_`M4{s>Emm;>-=h|z1J3gcoiI_M(H6TO6r`qN) zlqIt^gDd^zEx(WY^MC80Oljl;hQTUC|#-;&5}oe}RZrZA!a1 zR5oukmwx5x@nTbQYG2T4%a7X1Dye`NPJXg8fwG$ehN*E)r2;rQ5M;`vT zsQz&<;fF&cT%GI^_U4${gcgpG_cGEYuO}cW08V0qx#qlN^uuEf)79al^#RU-C3sP- zGqI?kW^YM@_X0${elk-@%rD+ZjF;1d`5xU@K5{&=Xw*7F+e!*?=j75$S~*-LF}RjS z*i@zKiI7?Sj1;^bnoGvVgig?QS>acj{|QJSOG}4qo30JY#jA>Nfo$e&^D6h;m-ZjL CvEbqW literal 0 HcmV?d00001 diff --git a/XcodeUniversalSearch/Assets.xcassets/AppIcon.appiconset/Contents.json b/XcodeUniversalSearch/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..2e778dd --- /dev/null +++ b/XcodeUniversalSearch/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,60 @@ +{ + "images" : [ + { + "idiom" : "mac", + "scale" : "1x", + "size" : "16x16" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "16x16" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "32x32" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "32x32" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "128x128" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "128x128" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "256x256" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "256x256" + }, + { + "filename" : "512x512@1x.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "512x512" + }, + { + "filename" : "512x512@2x.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "512x512" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/XcodeUniversalSearch/Assets.xcassets/Contents.json b/XcodeUniversalSearch/Assets.xcassets/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/XcodeUniversalSearch/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/XcodeUniversalSearch/Base.lproj/Main.storyboard b/XcodeUniversalSearch/Base.lproj/Main.storyboard new file mode 100644 index 0000000..e7e404d --- /dev/null +++ b/XcodeUniversalSearch/Base.lproj/Main.storyboard @@ -0,0 +1,683 @@ + + + + + + + + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Default + + + + + + + Left to Right + + + + + + + Right to Left + + + + + + + + + + + Default + + + + + + + Left to Right + + + + + + + Right to Left + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/XcodeUniversalSearch/CommandOptionsView.swift b/XcodeUniversalSearch/CommandOptionsView.swift new file mode 100644 index 0000000..ed92e33 --- /dev/null +++ b/XcodeUniversalSearch/CommandOptionsView.swift @@ -0,0 +1,44 @@ +// +// CommandOptionsView.swift +// XcodeUniversalSearch +// +// Created by Sam Miller on 11/3/20. +// + +import SwiftUI + + +struct CommandOptionsView: View { + + private let saveAction: ((Configuration.Command.Options) -> ()) + + @State var escapeRegex: Bool + @State var escapeDoubleQuote: Bool + + var body: some View { + VStack(alignment: .leading) { + Toggle("Escape regex metacharacters in search string (escaped with /)", isOn: $escapeRegex) + Toggle("Escape double quotes in search string (escaped with ///)", isOn: $escapeDoubleQuote) + HStack { + Spacer() + Button("Save") { + saveAction(.init(shouldEscapeForRegex: escapeRegex, shouldEscapeDoubleQuotes: escapeDoubleQuote)) + } + } + } + .padding(20) + .fixedSize() + } + + init(initialOptions: Configuration.Command.Options, saveAction: (@escaping (Configuration.Command.Options) -> ())) { + self._escapeRegex = State(initialValue: initialOptions.shouldEscapeForRegex) + self._escapeDoubleQuote = State(initialValue: initialOptions.shouldEscapeDoubleQuotes) + self.saveAction = saveAction + } +} + +struct CommandTableViewController_Previews: PreviewProvider { + static var previews: some View { + CommandOptionsView(initialOptions: .init(shouldEscapeForRegex: false, shouldEscapeDoubleQuotes: false), saveAction: { _ in }) + } +} diff --git a/XcodeUniversalSearch/CommandTable.swift b/XcodeUniversalSearch/CommandTable.swift new file mode 100644 index 0000000..7f6b7c3 --- /dev/null +++ b/XcodeUniversalSearch/CommandTable.swift @@ -0,0 +1,64 @@ +// +// CommandTable.swift +// XcodeUniversalSearch +// +// Created by Sam Miller on 11/3/20. +// + +import SwiftUI + +struct CommandTable: NSViewControllerRepresentable { + + @Binding var canRemoveRow: Bool + @Binding var removeRowAction: (() -> ()) + @Binding var addRowAction: (() -> ()) + + typealias NSViewControllerType = CommandTableViewController + + class Coordinator: CommandTableControllerViewDelegate { + var canRemoveRow: Bool { + get { + parent.canRemoveRow + } + set { + parent.canRemoveRow = newValue + } + } + + private let parent: CommandTable + + init(_ parent: CommandTable) { + self.parent = parent + } + } + + func makeCoordinator() -> Coordinator { + Coordinator(self) + } + + func makeNSViewController( + context: NSViewControllerRepresentableContext + ) -> CommandTableViewController { + + let controller = CommandTableViewController() + + controller.viewDelegate = context.coordinator + + DispatchQueue.main.async { [controller] in + self.removeRowAction = { + controller.removeSelectedRow() + } + + self.addRowAction = { + controller.addRow() + } + } + + return controller + } + + func updateNSViewController( + _ nsViewController: CommandTableViewController, + context: NSViewControllerRepresentableContext + ) {} +} diff --git a/XcodeUniversalSearch/CommandTableController.swift b/XcodeUniversalSearch/CommandTableController.swift new file mode 100644 index 0000000..66d630b --- /dev/null +++ b/XcodeUniversalSearch/CommandTableController.swift @@ -0,0 +1,204 @@ +// +// CommandTableController.swift +// XcodeUniversalSearch +// +// Created by Sam Miller on 11/3/20. +// + +import Foundation +import AppKit + +protocol CommandTableControllerViewDelegate: class { + var canRemoveRow: Bool { get set } +} + +final class CommandTableViewController: NSViewController, NSTableViewDelegate, NSTableViewDataSource, NSTextFieldDelegate { + + weak var viewDelegate: CommandTableControllerViewDelegate? + + private var commands: [Command] = [ + .init(name: "Google", urlTemplate: "https://google.com/search?q=%s"), + .init(name: "StackOverflow", urlTemplate: "https://stackoverflow.com/search?q=%s") + ] + + private lazy var tableScrollView = NSScrollView() + private lazy var tableView = NSTableView() + + override func loadView() { + view = tableScrollView + } + + override func viewDidLoad() { + super.viewDidLoad() + + tableScrollView.documentView = tableView + + tableView.delegate = self + tableView.dataSource = self + + tableView.headerView?.isHidden = false + tableView.allowsMultipleSelection = true + + let nameColumn = NSTableColumn(identifier: .name) + nameColumn.minWidth = 150 + nameColumn.headerCell = NSTableHeaderCell(textCell: "Command name") + tableView.addTableColumn(nameColumn) + + let urlTemplateColumn = NSTableColumn(identifier: .urlTemplate) + urlTemplateColumn.minWidth = 200 + urlTemplateColumn.headerCell = NSTableHeaderCell(textCell: "URL Template") + tableView.addTableColumn(urlTemplateColumn) + + + tableView.doubleAction = #selector(handleDoubleTap(tableView:)) + } + + @objc func handleDoubleTap(tableView: NSTableView) { + print("Double click on \(tableView.clickedRow), \(tableView.clickedColumn)" ) + + if (tableView.clickedRow, tableView.clickedColumn) == (-1, -1) { + print("Double click on whitespace to add new row") + addRow() + } else { + let rowView = tableView.rowView(atRow: tableView.clickedRow, makeIfNecessary: false) + let cellView = rowView?.view(atColumn: tableView.clickedColumn) + + if let textField = (cellView as? NSTableCellView)?.textField, + textField.acceptsFirstResponder { + textField.isEditable = true + NSApp.keyWindow?.makeFirstResponder(textField) + } + } + } + + func refresh() { + tableView.reloadData() + } + + func removeSelectedRow() { + guard !tableView.selectedRowIndexes.isEmpty else { return } + + for index in tableView.selectedRowIndexes.sorted().reversed() { + commands.remove(at: index) + } + tableView.removeRows(at: tableView.selectedRowIndexes, withAnimation: .effectGap) + } + + func addRow() { + commands.append(Command(name: "Custom Command", urlTemplate: "https://example.com/search?q=%s")) + tableView.insertRows(at: IndexSet(integer: commands.count-1), withAnimation: .effectGap) + DispatchQueue.main.async { + let rowView = self.tableView.rowView(atRow: self.commands.count-1, makeIfNecessary: true) + let cellView = rowView?.view(atColumn: 0) + + if let textField = (cellView as? NSTableCellView)?.textField, + textField.acceptsFirstResponder { + textField.isEditable = true + NSApp.keyWindow?.makeFirstResponder(textField) + } + } + } + + override func viewDidAppear() { + super.viewDidAppear() + + tableView.reloadData() + } + + // MARK: - NSControlTextEditingDelegate + + func controlTextDidEndEditing(_ obj: Notification) { + guard let textField = obj.object as? NSTextField else { return } + + let col = tableView.column(for: textField) + let row = tableView.row(for: textField) + + + let command = commands[row] + let newCommand: Command? + switch tableView.tableColumns[col].identifier { + case .name: + newCommand = Command(name: textField.stringValue, urlTemplate: command.urlTemplate) + case .urlTemplate: + newCommand = Command(name: command.name, urlTemplate: textField.stringValue) + default: + newCommand = nil + } + + if let newCommand = newCommand { + commands.remove(at: row) + commands.insert(newCommand, at: row) + } else { + print("ERROR: could not create new command, could not match column identifiers") + } + } + + + // MARK: - NSTableViewDataSource + + func numberOfRows(in tableView: NSTableView) -> Int { + commands.count + } + + func tableView(_ tableView: NSTableView, setObjectValue object: Any?, for tableColumn: NSTableColumn?, row: Int) { + print(String(describing: object)) + } + + // MARK: - NSTableViewDelegate + + func tableViewSelectionDidChange(_ notification: Notification) { + print(tableView.selectedRowIndexes) + viewDelegate?.canRemoveRow = !tableView.selectedRowIndexes.isEmpty + } + + func tableView(_ tableView: NSTableView, shouldEdit tableColumn: NSTableColumn?, row: Int) -> Bool { + true + } + + + func tableView(_ tableView: NSTableView, shouldReorderColumn columnIndex: Int, toColumn newColumnIndex: Int) -> Bool { + true + } + + func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? { + let rowView: NSTableCellView? = (tableView.makeView(withIdentifier: .text, owner: self) as? NSTableCellView) ?? { + // Create a text field for the cell + let textField = NSTextField() + textField.backgroundColor = .clear + textField.translatesAutoresizingMaskIntoConstraints = false + textField.isBordered = false + textField.controlSize = .small + textField.delegate = self + + // return textField + + // Create a cell + let newCell = NSTableCellView() + newCell.identifier = .text + newCell.addSubview(textField) + newCell.textField = textField + newCell.addConstraint(.init(item: textField, attribute: .height, relatedBy: .equal, toItem: newCell, attribute: .height, multiplier: 1.0, constant: 0.0)) + newCell.addConstraint(.init(item: textField, attribute: .width, relatedBy: .equal, toItem: newCell, attribute: .width, multiplier: 1.0, constant: 0.0)) + + newCell.constraints.forEach { $0.isActive = true } + + return newCell + }() + + let value: String? + + let command = commands[row] + switch tableColumn?.identifier { + case .name?: + value = command.name + case .urlTemplate?: + value = command.urlTemplate + default: + value = nil + } + + rowView?.textField?.stringValue = value ?? "" + + return rowView + } +} diff --git a/XcodeUniversalSearch/CommandTableViewController.swift b/XcodeUniversalSearch/CommandTableViewController.swift new file mode 100644 index 0000000..4dd33e5 --- /dev/null +++ b/XcodeUniversalSearch/CommandTableViewController.swift @@ -0,0 +1,306 @@ +// +// CommandTableController.swift +// XcodeUniversalSearch +// +// Created by Sam Miller on 11/3/20. +// + +import Foundation +import AppKit +import SwiftUI + +/** + TODO: Follow https://samwize.com/2018/11/27/drag-and-drop-to-reorder-nstableview/ to enable re-ordering rows + */ + +protocol CommandTableControllerViewDelegate: class { + var canRemoveRow: Bool { get set } +} + +final class CommandTableViewController: NSViewController, NSTableViewDelegate, NSTableViewDataSource, NSTextFieldDelegate { + + weak var viewDelegate: CommandTableControllerViewDelegate? + + func refresh() { + tableView.reloadData() + } + + func removeSelectedRow() { + guard !tableView.selectedRowIndexes.isEmpty else { return } + + for index in tableView.selectedRowIndexes.sorted().reversed() { + commands.remove(at: index) + } + tableView.removeRows(at: tableView.selectedRowIndexes, withAnimation: .effectGap) + synchronizeCommands() + } + + func addRow() { + let newIndex = commands.count + commands.append(.init(name: "Custom Command", urlTemplate: "https://example.com/search?q=%s", options: .default)) + tableView.insertRows(at: IndexSet(integer: newIndex), withAnimation: .effectGap) + makeTextFieldFirstResponder(atRow: newIndex, column: 0) + synchronizeCommands() + } + + // MARK: - NSViewController + + override func loadView() { + view = tableScrollView + } + + override func viewDidLoad() { + super.viewDidLoad() + + tableScrollView.documentView = tableView + + tableView.delegate = self + tableView.dataSource = self + + tableView.headerView?.isHidden = false + tableView.allowsMultipleSelection = true + + let nameColumn = NSTableColumn(identifier: .name) + nameColumn.minWidth = 150 + nameColumn.headerCell = NSTableHeaderCell(textCell: "Command name") + tableView.addTableColumn(nameColumn) + + let urlTemplateColumn = NSTableColumn(identifier: .urlTemplate) + urlTemplateColumn.minWidth = 250 + urlTemplateColumn.headerCell = NSTableHeaderCell(textCell: "URL Template") + tableView.addTableColumn(urlTemplateColumn) + + let optionsColumn = NSTableColumn(identifier: .options) + optionsColumn.minWidth = 80 + optionsColumn.headerCell = NSTableHeaderCell(textCell: "Options") + tableView.addTableColumn(optionsColumn) + + tableView.doubleAction = #selector(handleDoubleTap(tableView:)) + } + + override func viewWillAppear() { + super.viewWillAppear() + + loadFromConfiguration() + } + + override func viewDidAppear() { + super.viewDidAppear() + + tableView.reloadData() + } + + // MARK: - NSControlTextEditingDelegate + + func controlTextDidEndEditing(_ obj: Notification) { + guard let textField = obj.object as? NSTextField else { return } + + let col = tableView.column(for: textField) + let row = tableView.row(for: textField) + + + let command = commands[row] + let newCommand: Configuration.Command? + switch tableView.tableColumns[col].identifier { + case .name: + newCommand = .init(name: textField.stringValue, urlTemplate: command.urlTemplate, options: command.options) + case .urlTemplate: + newCommand = .init(name: command.name, urlTemplate: textField.stringValue, options: command.options) + default: + newCommand = nil + } + + if let newCommand = newCommand { + commands.remove(at: row) + commands.insert(newCommand, at: row) + } else { + print("ERROR: could not create new command, could not match column identifiers") + } + synchronizeCommands() + } + + + // MARK: - NSTableViewDataSource + + func numberOfRows(in tableView: NSTableView) -> Int { + commands.count + } + + // MARK: - NSTableViewDelegate + + func tableViewSelectionDidChange(_ notification: Notification) { + viewDelegate?.canRemoveRow = !tableView.selectedRowIndexes.isEmpty + } + + func tableView(_ tableView: NSTableView, shouldEdit tableColumn: NSTableColumn?, row: Int) -> Bool { + true + } + + + func tableView(_ tableView: NSTableView, shouldReorderColumn columnIndex: Int, toColumn newColumnIndex: Int) -> Bool { + true + } + + func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? { + + enum CellType { + case text(_ value: String?) + case button + } + + let cellType: CellType? + + let command = commands[row] + switch tableColumn?.identifier { + case .name?: + cellType = .text(command.name) + case .urlTemplate?: + cellType = .text(command.urlTemplate) + case .options?: + cellType = .button + default: + cellType = nil + } + + switch cellType { + case .text(let value)?: + let cellView: NSTableCellView? = (tableView.makeView(withIdentifier: .text, owner: self) as? NSTableCellView) ?? { + // Create a text field for the cell + let textField = NSTextField() + textField.backgroundColor = .clear + textField.translatesAutoresizingMaskIntoConstraints = false + textField.isBordered = false + textField.controlSize = .small + textField.delegate = self + + // Create a cell + let newCell = NSTableCellView() + newCell.identifier = .text + newCell.addSubview(textField) + newCell.textField = textField + newCell.widthAnchor.constraint(equalTo: textField.widthAnchor).isActive = true + newCell.heightAnchor.constraint(equalTo: textField.heightAnchor).isActive = true + + return newCell + }() + + cellView?.textField?.stringValue = value ?? "" + + return cellView + case .button?: + let view: NSButton = (tableView.makeView(withIdentifier: .optionsButton, owner: self) as? NSButton) ?? { + let button = NSButton(title: "Options", target: nil, action: nil) + button.target = self + button.action = #selector(handleOptionsButton(sender:)) + button.identifier = .optionsButton + + return button + }() + + return view + default: + return nil + } + } + + func tableView(_ tableView: NSTableView, heightOfRow row: Int) -> CGFloat { + 30 + } + + // MARK: - Private + + private var commands: [Configuration.Command] = [] + private let configurationManager = ConfigurationManager() + + private lazy var tableScrollView = NSScrollView() + private lazy var tableView = NSTableView() + + + @objc private func handleDoubleTap(tableView: NSTableView) { + if (tableView.clickedRow, tableView.clickedColumn) == (-1, -1) { + addRow() + } else { + makeTextFieldFirstResponder(atRow: tableView.clickedRow, column: tableView.clickedColumn) + } + } + + @objc private func handleOptionsButton(sender: NSButton) { + let row = tableView.row(for: sender) + + let vc = NSHostingController(rootView: CommandOptionsView(initialOptions: commands[row].options, saveAction: { [weak self] options in + guard let strongSelf = self else { return } + + let oldCommand = strongSelf.commands.remove(at: row) + + let newCommand = Configuration.Command(name: oldCommand.name, + urlTemplate: oldCommand.urlTemplate, + options: options) + strongSelf.commands.insert(newCommand, at: row) + strongSelf.synchronizeCommands() + + if let vc = strongSelf.presentedViewControllers?.first { + strongSelf.dismiss(vc) + } + })) + + vc.title = "Command Options" + + presentAsModalWindow(vc) + } + + private func makeTextFieldFirstResponder(atRow row: Int, column: Int) { + guard let view = tableView.rowView(atRow: row, makeIfNecessary: false)?.view(atColumn: column) else { + // TODO: Throw a better error + print("ERROR: Unable to retrieve view at (\(row), \(column)) to start editing") + return + } + + if let textField = (view as? NSTableCellView)?.textField, + textField.acceptsFirstResponder { + textField.window?.makeFirstResponder(textField) + } + } + + private func loadFromConfiguration() { + guard let configurationManager = configurationManager else { + print("ERROR: Cannot load data - Failed initializing storage") + return + } + + let result = configurationManager.load() + + switch result { + case .error(let error): + // TODO: Add a much better error and show in UI + print("ERROR: Encountered error loading configuration: \(error)") + case .success(let configuration): + if let config = configuration { + commands = config.commands + } else { + // This is a first launch, no configuration saved before - add defaults + commands = [ + .init(name: "Google", urlTemplate: "https://google.com/search?q=%s", options: .default), + .init(name: "StackOverflow", urlTemplate: "https://stackoverflow.com/search?q=%s", options: .default), + .init(name: "Apple Documentation", urlTemplate: "https://developer.apple.com/search?q=%s", options: .default) + ] + synchronizeCommands() + } + } + } + + private func synchronizeCommands() { + if configurationManager?.save(.init(commands: commands)) != true { + // TODO: Handle error properly and show in UI + print("ERROR: Saving commands failed") + } + } +} + +private extension NSUserInterfaceItemIdentifier { + static var name: Self { .init("name") } + static var urlTemplate: Self { .init("urlTemplate") } + static var options: Self { .init("options") } + + static var text: Self { .init("text") } + static var optionsButton: Self { .init("optionsButton") } +} diff --git a/XcodeUniversalSearch/ContentView.swift b/XcodeUniversalSearch/ContentView.swift new file mode 100644 index 0000000..5b3ab8d --- /dev/null +++ b/XcodeUniversalSearch/ContentView.swift @@ -0,0 +1,53 @@ +// +// ContentView.swift +// XcodeUniversalSearch +// +// Created by Sam Miller on 11/1/20. +// + +import SwiftUI +import Foundation +import AppKit + +struct ContentView: View { + + @State var canRemoveRow: Bool = false + @State var removeRowAction: (() -> ()) = { fatalError("Action needs to be set before being executed") } + @State var addRowAction: (() -> ()) = { fatalError("Action needs to be set before being executed") } + + var body: some View { + VStack { + CommandTable(canRemoveRow: $canRemoveRow, + removeRowAction: $removeRowAction, + addRowAction: $addRowAction) + HStack { + Button("Clear storage") { + configurationManager?.clearStorage() + } + Spacer() + Button("Delete", action: removeRowAction) + .disabled(!canRemoveRow) + Button("Add Command", action: addRowAction) + } + } + .padding(20) + .frame(minWidth: 600, + idealWidth: 800, + maxWidth: .infinity, + minHeight: 400, + idealHeight: 400, + maxHeight: .infinity, + alignment: .center) + } + + // MARK: - Private + + private let configurationManager = ConfigurationManager() +} + + +struct ContentView_Previews: PreviewProvider { + static var previews: some View { + ContentView() + } +} diff --git a/XcodeUniversalSearch/Info.plist b/XcodeUniversalSearch/Info.plist new file mode 100644 index 0000000..cfbbdb7 --- /dev/null +++ b/XcodeUniversalSearch/Info.plist @@ -0,0 +1,30 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSMinimumSystemVersion + $(MACOSX_DEPLOYMENT_TARGET) + NSMainStoryboardFile + Main + NSPrincipalClass + NSApplication + + diff --git a/XcodeUniversalSearch/Preview Content/Preview Assets.xcassets/Contents.json b/XcodeUniversalSearch/Preview Content/Preview Assets.xcassets/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/XcodeUniversalSearch/Preview Content/Preview Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/XcodeUniversalSearch/XcodeUniversalSearch.entitlements b/XcodeUniversalSearch/XcodeUniversalSearch.entitlements new file mode 100644 index 0000000..42cee69 --- /dev/null +++ b/XcodeUniversalSearch/XcodeUniversalSearch.entitlements @@ -0,0 +1,14 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.application-groups + + $(TeamIdentifierPrefix)group.com.pandaprograms.XcodeUniversalSearch + + com.apple.security.files.user-selected.read-only + + + diff --git a/XcodeUniversalSearchExtension/Info.plist b/XcodeUniversalSearchExtension/Info.plist new file mode 100644 index 0000000..a7d50a5 --- /dev/null +++ b/XcodeUniversalSearchExtension/Info.plist @@ -0,0 +1,47 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + XcodeUniversalSearchExtension + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSMinimumSystemVersion + $(MACOSX_DEPLOYMENT_TARGET) + NSExtension + + NSExtensionAttributes + + XCSourceEditorCommandDefinitions + + + XCSourceEditorCommandClassName + $(PRODUCT_MODULE_NAME).SourceEditorCommand + XCSourceEditorCommandIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER).SourceEditorCommand + XCSourceEditorCommandName + Source Editor Command + + + XCSourceEditorExtensionPrincipalClass + $(PRODUCT_MODULE_NAME).SourceEditorExtension + + NSExtensionPointIdentifier + com.apple.dt.Xcode.extension.source-editor + + + diff --git a/XcodeUniversalSearchExtension/SourceEditorCommand.swift b/XcodeUniversalSearchExtension/SourceEditorCommand.swift new file mode 100644 index 0000000..b4a3ed0 --- /dev/null +++ b/XcodeUniversalSearchExtension/SourceEditorCommand.swift @@ -0,0 +1,88 @@ +// +// SourceEditorCommand.swift +// XcodeUniversalSearchExtension +// +// Created by Sam Miller on 11/1/20. +// + +import Foundation +import XcodeKit +import AppKit + +final class SourceEditorCommand: NSObject, XCSourceEditorCommand { + + func perform(with invocation: XCSourceEditorCommandInvocation, completionHandler: @escaping (Error?) -> Void ) -> Void { + print("Handling command with id: \(invocation.commandIdentifier)") + + guard let configurationManager = configurationManager else { + completionHandler(NSError(domain: "XcodeUniversalSearch", code: 0, userInfo: [NSLocalizedDescriptionKey: "Internal application error: Unable to initialize configuration storage"])) + return + } + + let result = configurationManager.load() + + let configuration: Configuration? + switch result { + case .success(let config): + configuration = config + case .error(let error): + completionHandler(NSError(domain: "XcodeUniversalSearch", code: 0, userInfo: [NSLocalizedDescriptionKey: "Internal application error: Failed to load configuration with error - \(error.localizedDescription)"])) + return + } + + guard let commandIndexString = invocation.commandIdentifier.split(separator: ".").last, + let commandIndex = Int(commandIndexString), + let command = configuration?.commands[safe: commandIndex] else { + completionHandler(NSError(domain: "XcodeUniversalSearch", code: 0, userInfo: [NSLocalizedDescriptionKey: "Internal application error: Extension failed to load correctly"])) + return + } + + // TODO: Handle selection accross multiple lines + guard let selection = invocation.buffer.selections.firstObject as? XCSourceTextRange, + let line = invocation.buffer.lines[selection.start.line] as? String else { + completionHandler(NSError(domain: "XcodeUniversalSearch", code: 0, userInfo: [NSLocalizedDescriptionKey: "Error processing the text selection"])) + return + } + + let selectedText = String(line[selection.start.column ..< selection.end.column]) + + guard let urlString = command.urlTemplate + .replacingOccurrences(of: "%s", with: processText(selectedText, with: command.options)) + // Note that this is not exactly escaping correctly escaping all characters since we are escaping the full url string for characters + // not accepted in the url query string. Really each url component should be escaped individually. So if any issues occur with the urls + // there is good chance this is an issue. + .addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) + else { + completionHandler(NSError(domain: "XcodeUniversalSearch", code: 0, userInfo: [NSLocalizedDescriptionKey: "Error escaping url with selection"])) + return + } + + guard let url = URL(string: urlString) else { + completionHandler(NSError(domain: "XcodeUniversalSearch", code: 0, userInfo: [NSLocalizedDescriptionKey: "Error creating url"])) + return + } + + NSWorkspace.shared.open(url) + + completionHandler(nil) + } + + // MARK: - Private + + private let configurationManager = ConfigurationManager() + + private func processText(_ text: String, with options: Configuration.Command.Options) -> String { + + var result = text + + if options.shouldEscapeForRegex { + result = NSRegularExpression.escapedPattern(for: result) + } + + if options.shouldEscapeDoubleQuotes { + result = result.replacingOccurrences(of: "\"", with: "\\\"") + } + + return result + } +} diff --git a/XcodeUniversalSearchExtension/SourceEditorExtension.swift b/XcodeUniversalSearchExtension/SourceEditorExtension.swift new file mode 100644 index 0000000..96f28ca --- /dev/null +++ b/XcodeUniversalSearchExtension/SourceEditorExtension.swift @@ -0,0 +1,43 @@ +// +// SourceEditorExtension.swift +// XcodeUniversalSearchExtension +// +// Created by Sam Miller on 11/1/20. +// + +import Foundation +import XcodeKit + +class SourceEditorExtension: NSObject, XCSourceEditorExtension { + + func extensionDidFinishLaunching() {} + + var commandDefinitions: [[XCSourceEditorCommandDefinitionKey: Any]] { + guard let config = configurationManager?.load().data else { + return [ + [ + .classNameKey: SourceEditorCommand.className(), + .nameKey: "-- Internal extension error loading from storage --", + .identifierKey: [Bundle.main.bundleIdentifier, "\(-1)"] + .compactMap { $0 } + .joined(separator: "."), + ] + ] + } + + return config.commands + .enumerated() + .map { idx, command in + [ + .classNameKey: SourceEditorCommand.className(), + .nameKey: command.name, + .identifierKey: [Bundle.main.bundleIdentifier, "\(idx)"].compactMap { $0 }.joined(separator: ".") + ] + } + + } + + // MARK: - Private + + private let configurationManager = ConfigurationManager() +} diff --git a/XcodeUniversalSearchExtension/XcodeUniversalSearchExtension.entitlements b/XcodeUniversalSearchExtension/XcodeUniversalSearchExtension.entitlements new file mode 100644 index 0000000..e1e954e --- /dev/null +++ b/XcodeUniversalSearchExtension/XcodeUniversalSearchExtension.entitlements @@ -0,0 +1,12 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.application-groups + + $(TeamIdentifierPrefix)group.com.pandaprograms.XcodeUniversalSearch + + + diff --git a/XcodeUniversalSearchTests/Info.plist b/XcodeUniversalSearchTests/Info.plist new file mode 100644 index 0000000..64d65ca --- /dev/null +++ b/XcodeUniversalSearchTests/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/XcodeUniversalSearchTests/XcodeUniversalSearchTests.swift b/XcodeUniversalSearchTests/XcodeUniversalSearchTests.swift new file mode 100644 index 0000000..8aac7e5 --- /dev/null +++ b/XcodeUniversalSearchTests/XcodeUniversalSearchTests.swift @@ -0,0 +1,33 @@ +// +// XcodeUniversalSearchTests.swift +// XcodeUniversalSearchTests +// +// Created by Sam Miller on 11/1/20. +// + +import XCTest +@testable import XcodeUniversalSearch + +class XcodeUniversalSearchTests: XCTestCase { + + override func setUpWithError() throws { + // Put setup code here. This method is called before the invocation of each test method in the class. + } + + override func tearDownWithError() throws { + // Put teardown code here. This method is called after the invocation of each test method in the class. + } + + func testExample() throws { + // This is an example of a functional test case. + // Use XCTAssert and related functions to verify your tests produce the correct results. + } + + func testPerformanceExample() throws { + // This is an example of a performance test case. + self.measure { + // Put the code you want to measure the time of here. + } + } + +} diff --git a/XcodeUniversalSearchUITests/Info.plist b/XcodeUniversalSearchUITests/Info.plist new file mode 100644 index 0000000..64d65ca --- /dev/null +++ b/XcodeUniversalSearchUITests/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/XcodeUniversalSearchUITests/XcodeUniversalSearchUITests.swift b/XcodeUniversalSearchUITests/XcodeUniversalSearchUITests.swift new file mode 100644 index 0000000..db0050d --- /dev/null +++ b/XcodeUniversalSearchUITests/XcodeUniversalSearchUITests.swift @@ -0,0 +1,42 @@ +// +// XcodeUniversalSearchUITests.swift +// XcodeUniversalSearchUITests +// +// Created by Sam Miller on 11/1/20. +// + +import XCTest + +class XcodeUniversalSearchUITests: XCTestCase { + + override func setUpWithError() throws { + // Put setup code here. This method is called before the invocation of each test method in the class. + + // In UI tests it is usually best to stop immediately when a failure occurs. + continueAfterFailure = false + + // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. + } + + override func tearDownWithError() throws { + // Put teardown code here. This method is called after the invocation of each test method in the class. + } + + func testExample() throws { + // UI tests must launch the application that they test. + let app = XCUIApplication() + app.launch() + + // Use recording to get started writing UI tests. + // Use XCTAssert and related functions to verify your tests produce the correct results. + } + + func testLaunchPerformance() throws { + if #available(macOS 10.15, iOS 13.0, tvOS 13.0, *) { + // This measures how long it takes to launch your application. + measure(metrics: [XCTApplicationLaunchMetric()]) { + XCUIApplication().launch() + } + } + } +}