// !$*UTF8*$!
{
	archiveVersion = 1;
	classes = {
	};
	objectVersion = 46;
	objects = {

/* Begin PBXBuildFile section */
		23043C9D1D35DBEC00FC25CA /* JSON.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 233B4EA51D2DB54300E98261 /* JSON.cpp */; };
		23043C9E1D35DBFA00FC25CA /* StringConvert.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 233B4EA81D2DB96A00E98261 /* StringConvert.cpp */; };
		2307CCCB1D4A5D630016ABC0 /* LogFilterExactMatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 237821AE1D4917D20028B7A1 /* LogFilterExactMatch.cpp */; };
		233B4EA71D2DB54300E98261 /* JSON.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 233B4EA51D2DB54300E98261 /* JSON.cpp */; };
		233B4EA91D2DB96A00E98261 /* StringConvert.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 233B4EA81D2DB96A00E98261 /* StringConvert.cpp */; };
		23562ED21D3424DF00AB2BD4 /* LogMessageOsLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23562ED01D3424DF00AB2BD4 /* LogMessageOsLog.cpp */; };
		23562ED31D3424DF00AB2BD4 /* LogMessageOsLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23562ED01D3424DF00AB2BD4 /* LogMessageOsLog.cpp */; };
		23562ED61D342A5A00AB2BD4 /* ActivityStore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23562ED51D342A5A00AB2BD4 /* ActivityStore.cpp */; };
		23562ED71D342A5A00AB2BD4 /* ActivityStore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23562ED51D342A5A00AB2BD4 /* ActivityStore.cpp */; };
		23562ED91D342B0000AB2BD4 /* LogMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23562ED81D342B0000AB2BD4 /* LogMessage.cpp */; };
		23562EDA1D342B0000AB2BD4 /* LogMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23562ED81D342B0000AB2BD4 /* LogMessage.cpp */; };
		237821B01D4917D20028B7A1 /* LogFilterExactMatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 237821AE1D4917D20028B7A1 /* LogFilterExactMatch.cpp */; };
		23AC04C61D2F41A00072351D /* LogFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23AC04C41D2F41A00072351D /* LogFilter.cpp */; };
		23AC04C71D2F41A00072351D /* LogFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23AC04C41D2F41A00072351D /* LogFilter.cpp */; };
		23AC04CA1D2F42250072351D /* LogFilterChain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23AC04C81D2F42250072351D /* LogFilterChain.cpp */; };
		23AC04CB1D2F42250072351D /* LogFilterChain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23AC04C81D2F42250072351D /* LogFilterChain.cpp */; };
		23AC04CF1D2F58AF0072351D /* LogFilterRegex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23AC04CD1D2F58AF0072351D /* LogFilterRegex.cpp */; };
		23AC04D01D2F58AF0072351D /* LogFilterRegex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23AC04CD1D2F58AF0072351D /* LogFilterRegex.cpp */; };
		23AE72E41D25DECF00945BCE /* DarwinLogCollector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23AE72E21D25DECF00945BCE /* DarwinLogCollector.cpp */; };
		23AE72E51D25DEE100945BCE /* DarwinLogCollector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23AE72E21D25DECF00945BCE /* DarwinLogCollector.cpp */; };
		23D1B0291D497E8B00FF831B /* OsLogger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23D1B0271D497E8B00FF831B /* OsLogger.cpp */; };
		23D1B02A1D497E8B00FF831B /* OsLogger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23D1B0271D497E8B00FF831B /* OsLogger.cpp */; };
		264D5D581293835600ED4C01 /* DNBArch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 264D5D571293835600ED4C01 /* DNBArch.cpp */; };
		266B5ED11460A68200E43F0A /* DNBArchImplARM64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 266B5ECF1460A68200E43F0A /* DNBArchImplARM64.cpp */; };
		26CE05A7115C360D0022F371 /* DNBError.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637DE0C71334A0024798E /* DNBError.cpp */; };
		26CE05A8115C36170022F371 /* DNBThreadResumeActions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E7331114BFFE600D1DFB3 /* DNBThreadResumeActions.cpp */; };
		26CE05A9115C36250022F371 /* debugserver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26A02918114AB9240029C479 /* debugserver.cpp */; };
		26CE05AA115C36260022F371 /* RNBContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26A68F7E0D104EC800665A9E /* RNBContext.cpp */; };
		26CE05AB115C36270022F371 /* RNBServices.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EF8878A00D9C797C001831DA /* RNBServices.cpp */; };
		26CE05AC115C36280022F371 /* RNBSocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26A68FB00D1054DA00665A9E /* RNBSocket.cpp */; };
		26CE05AD115C36280022F371 /* RNBRemote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26A68FD60D10574500665A9E /* RNBRemote.cpp */; };
		26CE05AE115C36320022F371 /* dbgnub-mig.defs in Sources */ = {isa = PBXBuildFile; fileRef = 26C637E80C71334A0024798E /* dbgnub-mig.defs */; settings = {ATTRIBUTES = (Client, Server, ); }; };
		26CE05B0115C36340022F371 /* MachException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637EE0C71334A0024798E /* MachException.cpp */; };
		26CE05B1115C36350022F371 /* MachProcess.mm in Sources */ = {isa = PBXBuildFile; fileRef = 26C637F00C71334A0024798E /* MachProcess.mm */; };
		26CE05B2115C36360022F371 /* MachThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637F20C71334A0024798E /* MachThread.cpp */; };
		26CE05B3115C36370022F371 /* MachThreadList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637F40C71334A0024798E /* MachThreadList.cpp */; };
		26CE05B4115C36380022F371 /* MachVMMemory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637F60C71334A0024798E /* MachVMMemory.cpp */; };
		26CE05B5115C36380022F371 /* MachVMRegion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637F80C71334A0024798E /* MachVMRegion.cpp */; };
		26CE05B6115C36390022F371 /* MachTask.mm in Sources */ = {isa = PBXBuildFile; fileRef = 26B67DE10EE9BC30006C8BC0 /* MachTask.mm */; };
		26CE05B7115C363B0022F371 /* DNB.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637D60C71334A0024798E /* DNB.cpp */; };
		26CE05B8115C363C0022F371 /* DNBBreakpoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637D90C71334A0024798E /* DNBBreakpoint.cpp */; };
		26CE05B9115C363D0022F371 /* DNBDataRef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637DB0C71334A0024798E /* DNBDataRef.cpp */; };
		26CE05BA115C363E0022F371 /* DNBLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637E00C71334A0024798E /* DNBLog.cpp */; };
		26CE05BB115C363F0022F371 /* DNBRegisterInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637E20C71334A0024798E /* DNBRegisterInfo.cpp */; };
		26CE05BC115C36420022F371 /* PThreadEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637FE0C71334A0024798E /* PThreadEvent.cpp */; };
		26CE05BD115C36430022F371 /* PThreadMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2672DBEE0EEF446700E92059 /* PThreadMutex.cpp */; };
		26CE05BE115C36440022F371 /* SysSignal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C638010C71334A0024798E /* SysSignal.cpp */; };
		26CE05BF115C364D0022F371 /* DNBArchImplX86_64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26CF99A21142EB7400011AAB /* DNBArchImplX86_64.cpp */; };
		26CE05C0115C364F0022F371 /* DNBArchImplI386.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637EA0C71334A0024798E /* DNBArchImplI386.cpp */; };
		26CE05C1115C36510022F371 /* DNBArchImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2675D4220CCEB705000F49AF /* DNBArchImpl.cpp */; };
		26CE05C3115C36580022F371 /* CFString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2695DD9B0D3EC160007E4CA2 /* CFString.cpp */; };
		26CE05C5115C36590022F371 /* CFBundle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2695DD910D3EBFF6007E4CA2 /* CFBundle.cpp */; };
		26CE05CF115C36F70022F371 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26ACA3340D3E956300A2120B /* CoreFoundation.framework */; settings = {ATTRIBUTES = (Required, ); }; };
		26CE05F1115C387C0022F371 /* PseudoTerminal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AF67ABFF0D34604D0022D128 /* PseudoTerminal.cpp */; };
		456F67461AD46CE9002850C2 /* DNBError.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637DE0C71334A0024798E /* DNBError.cpp */; };
		456F67471AD46CE9002850C2 /* DNBThreadResumeActions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E7331114BFFE600D1DFB3 /* DNBThreadResumeActions.cpp */; };
		456F67481AD46CE9002850C2 /* debugserver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26A02918114AB9240029C479 /* debugserver.cpp */; };
		456F67491AD46CE9002850C2 /* RNBContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26A68F7E0D104EC800665A9E /* RNBContext.cpp */; };
		456F674A1AD46CE9002850C2 /* RNBServices.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EF8878A00D9C797C001831DA /* RNBServices.cpp */; };
		456F674B1AD46CE9002850C2 /* RNBSocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26A68FB00D1054DA00665A9E /* RNBSocket.cpp */; };
		456F674C1AD46CE9002850C2 /* RNBRemote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26A68FD60D10574500665A9E /* RNBRemote.cpp */; };
		456F674D1AD46CE9002850C2 /* dbgnub-mig.defs in Sources */ = {isa = PBXBuildFile; fileRef = 26C637E80C71334A0024798E /* dbgnub-mig.defs */; settings = {ATTRIBUTES = (Client, Server, ); }; };
		456F674E1AD46CE9002850C2 /* MachException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637EE0C71334A0024798E /* MachException.cpp */; };
		456F674F1AD46CE9002850C2 /* MachProcess.mm in Sources */ = {isa = PBXBuildFile; fileRef = 26C637F00C71334A0024798E /* MachProcess.mm */; };
		456F67501AD46CE9002850C2 /* MachThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637F20C71334A0024798E /* MachThread.cpp */; };
		456F67511AD46CE9002850C2 /* MachThreadList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637F40C71334A0024798E /* MachThreadList.cpp */; };
		456F67521AD46CE9002850C2 /* MachVMMemory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637F60C71334A0024798E /* MachVMMemory.cpp */; };
		456F67531AD46CE9002850C2 /* MachVMRegion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637F80C71334A0024798E /* MachVMRegion.cpp */; };
		456F67541AD46CE9002850C2 /* MachTask.mm in Sources */ = {isa = PBXBuildFile; fileRef = 26B67DE10EE9BC30006C8BC0 /* MachTask.mm */; };
		456F67551AD46CE9002850C2 /* DNB.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637D60C71334A0024798E /* DNB.cpp */; };
		456F67561AD46CE9002850C2 /* Genealogy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AFEC3363194A8B0B00FF05C6 /* Genealogy.cpp */; };
		456F67571AD46CE9002850C2 /* DNBBreakpoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637D90C71334A0024798E /* DNBBreakpoint.cpp */; };
		456F67581AD46CE9002850C2 /* DNBDataRef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637DB0C71334A0024798E /* DNBDataRef.cpp */; };
		456F67591AD46CE9002850C2 /* DNBLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637E00C71334A0024798E /* DNBLog.cpp */; };
		456F675A1AD46CE9002850C2 /* DNBRegisterInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637E20C71334A0024798E /* DNBRegisterInfo.cpp */; };
		456F675B1AD46CE9002850C2 /* PThreadEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637FE0C71334A0024798E /* PThreadEvent.cpp */; };
		456F675C1AD46CE9002850C2 /* PThreadMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2672DBEE0EEF446700E92059 /* PThreadMutex.cpp */; };
		456F675D1AD46CE9002850C2 /* SysSignal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C638010C71334A0024798E /* SysSignal.cpp */; };
		456F675E1AD46CE9002850C2 /* DNBArchImplX86_64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26CF99A21142EB7400011AAB /* DNBArchImplX86_64.cpp */; };
		456F675F1AD46CE9002850C2 /* DNBArchImplI386.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637EA0C71334A0024798E /* DNBArchImplI386.cpp */; };
		456F67601AD46CE9002850C2 /* DNBArchImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2675D4220CCEB705000F49AF /* DNBArchImpl.cpp */; };
		456F67621AD46CE9002850C2 /* CFString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2695DD9B0D3EC160007E4CA2 /* CFString.cpp */; };
		456F67641AD46CE9002850C2 /* CFBundle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2695DD910D3EBFF6007E4CA2 /* CFBundle.cpp */; };
		456F67651AD46CE9002850C2 /* PseudoTerminal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AF67ABFF0D34604D0022D128 /* PseudoTerminal.cpp */; };
		456F67671AD46CE9002850C2 /* DNBArch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 264D5D571293835600ED4C01 /* DNBArch.cpp */; };
		456F67691AD46CE9002850C2 /* DNBArchImplARM64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 266B5ECF1460A68200E43F0A /* DNBArchImplARM64.cpp */; };
		456F676B1AD46CE9002850C2 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26ACA3340D3E956300A2120B /* CoreFoundation.framework */; settings = {ATTRIBUTES = (Required, ); }; };
		49D404621E39260F00570CDC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 49D404611E39260F00570CDC /* Foundation.framework */; };
		AF48558C1D75126800D19C07 /* StdStringExtractor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AF48558B1D75126800D19C07 /* StdStringExtractor.cpp */; };
		AF48558D1D75127500D19C07 /* StdStringExtractor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AF48558B1D75126800D19C07 /* StdStringExtractor.cpp */; };
		AF588449206077BD00A0CB5A /* SocketAddress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D6631CA81E848FE9006A7B11 /* SocketAddress.cpp */; };
		AFA3FCA11E39984900218D5E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 49D404611E39260F00570CDC /* Foundation.framework */; };
		AFEC3364194A8B0B00FF05C6 /* Genealogy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AFEC3363194A8B0B00FF05C6 /* Genealogy.cpp */; };
		D6631CA91E848FE9006A7B11 /* SocketAddress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D6631CA81E848FE9006A7B11 /* SocketAddress.cpp */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
		2307CCCC1D4A5DAE0016ABC0 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
		233B4EA51D2DB54300E98261 /* JSON.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSON.cpp; sourceTree = "<group>"; };
		233B4EA61D2DB54300E98261 /* JSON.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSON.h; sourceTree = "<group>"; };
		233B4EA81D2DB96A00E98261 /* StringConvert.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StringConvert.cpp; path = ../../../source/Host/common/StringConvert.cpp; sourceTree = "<group>"; };
		23562ECF1D34110D00AB2BD4 /* DarwinLogTypes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DarwinLogTypes.h; sourceTree = "<group>"; };
		23562ED01D3424DF00AB2BD4 /* LogMessageOsLog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LogMessageOsLog.cpp; sourceTree = "<group>"; };
		23562ED11D3424DF00AB2BD4 /* LogMessageOsLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LogMessageOsLog.h; sourceTree = "<group>"; };
		23562ED41D3426DD00AB2BD4 /* ActivityStore.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ActivityStore.h; sourceTree = "<group>"; };
		23562ED51D342A5A00AB2BD4 /* ActivityStore.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ActivityStore.cpp; sourceTree = "<group>"; };
		23562ED81D342B0000AB2BD4 /* LogMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LogMessage.cpp; sourceTree = "<group>"; };
		237821AD1D4917D20028B7A1 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
		237821AE1D4917D20028B7A1 /* LogFilterExactMatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LogFilterExactMatch.cpp; sourceTree = "<group>"; };
		237821AF1D4917D20028B7A1 /* LogFilterExactMatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LogFilterExactMatch.h; sourceTree = "<group>"; };
		23AC04C41D2F41A00072351D /* LogFilter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LogFilter.cpp; sourceTree = "<group>"; };
		23AC04C51D2F41A00072351D /* LogFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LogFilter.h; sourceTree = "<group>"; };
		23AC04C81D2F42250072351D /* LogFilterChain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LogFilterChain.cpp; sourceTree = "<group>"; };
		23AC04C91D2F42250072351D /* LogFilterChain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LogFilterChain.h; sourceTree = "<group>"; };
		23AC04CC1D2F42F10072351D /* DarwinLogInterfaces.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DarwinLogInterfaces.h; sourceTree = "<group>"; };
		23AC04CD1D2F58AF0072351D /* LogFilterRegex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LogFilterRegex.cpp; sourceTree = "<group>"; };
		23AC04CE1D2F58AF0072351D /* LogFilterRegex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LogFilterRegex.h; sourceTree = "<group>"; };
		23AC04D11D2F60130072351D /* LogMessage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LogMessage.h; sourceTree = "<group>"; };
		23AE72E21D25DECF00945BCE /* DarwinLogCollector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DarwinLogCollector.cpp; sourceTree = "<group>"; };
		23AE72E31D25DECF00945BCE /* DarwinLogCollector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DarwinLogCollector.h; sourceTree = "<group>"; };
		23AE72E61D25DEFB00945BCE /* ActivityStreamSPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ActivityStreamSPI.h; sourceTree = "<group>"; };
		23CF6F5E1D28A3760088ADC9 /* DarwinLogEvent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DarwinLogEvent.h; sourceTree = "<group>"; };
		23D1B0271D497E8B00FF831B /* OsLogger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OsLogger.cpp; sourceTree = "<group>"; };
		23D1B0281D497E8B00FF831B /* OsLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OsLogger.h; sourceTree = "<group>"; };
		260828DE0CBAF7F400F95054 /* DNBRuntimeAction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DNBRuntimeAction.h; sourceTree = "<group>"; };
		260E7331114BFFE600D1DFB3 /* DNBThreadResumeActions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DNBThreadResumeActions.cpp; sourceTree = "<group>"; };
		260E7332114BFFE600D1DFB3 /* DNBThreadResumeActions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DNBThreadResumeActions.h; sourceTree = "<group>"; };
		260FC7320E5B290400043FC9 /* debugnub-exports */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "debugnub-exports"; sourceTree = SOURCE_ROOT; };
		26203D1C1641EFB200A662F7 /* com.apple.debugserver.applist.internal.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = com.apple.debugserver.applist.internal.plist; sourceTree = "<group>"; };
		26203D1D1641EFB200A662F7 /* com.apple.debugserver.internal.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = com.apple.debugserver.internal.plist; sourceTree = "<group>"; };
		26242C390DDBD33C0054A4CC /* debugserver-entitlements.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "debugserver-entitlements.plist"; sourceTree = "<group>"; };
		264D5D571293835600ED4C01 /* DNBArch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DNBArch.cpp; sourceTree = "<group>"; };
		264F679A1B2F9EB200140093 /* JSONGenerator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JSONGenerator.h; sourceTree = "<group>"; };
		26593A060D4931CC001C9FE3 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
		266B5ECF1460A68200E43F0A /* DNBArchImplARM64.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DNBArchImplARM64.cpp; sourceTree = "<group>"; };
		266B5ED01460A68200E43F0A /* DNBArchImplARM64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DNBArchImplARM64.h; sourceTree = "<group>"; };
		2672DBEE0EEF446700E92059 /* PThreadMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PThreadMutex.cpp; sourceTree = "<group>"; };
		2675D4220CCEB705000F49AF /* DNBArchImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = DNBArchImpl.cpp; path = arm/DNBArchImpl.cpp; sourceTree = "<group>"; };
		2675D4230CCEB705000F49AF /* DNBArchImpl.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = DNBArchImpl.h; path = arm/DNBArchImpl.h; sourceTree = "<group>"; };
		2695DD910D3EBFF6007E4CA2 /* CFBundle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CFBundle.cpp; sourceTree = "<group>"; };
		2695DD920D3EBFF6007E4CA2 /* CFBundle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CFBundle.h; sourceTree = "<group>"; };
		2695DD9A0D3EC160007E4CA2 /* CFString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CFString.h; sourceTree = "<group>"; };
		2695DD9B0D3EC160007E4CA2 /* CFString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CFString.cpp; sourceTree = "<group>"; };
		269E8DF8164B2ED200AD65F6 /* com.apple.debugserver.posix.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = com.apple.debugserver.posix.plist; sourceTree = "<group>"; };
		26A02918114AB9240029C479 /* debugserver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = debugserver.cpp; sourceTree = "<group>"; };
		26A4BAED0D498B7D00A9BEAB /* com.apple.debugserver.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = com.apple.debugserver.plist; sourceTree = "<group>"; };
		26A68F7D0D104EC800665A9E /* RNBContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNBContext.h; sourceTree = "<group>"; };
		26A68F7E0D104EC800665A9E /* RNBContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RNBContext.cpp; sourceTree = "<group>"; };
		26A68FAF0D1054DA00665A9E /* RNBSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNBSocket.h; sourceTree = "<group>"; };
		26A68FB00D1054DA00665A9E /* RNBSocket.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RNBSocket.cpp; sourceTree = "<group>"; };
		26A68FD50D10574500665A9E /* RNBRemote.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNBRemote.h; sourceTree = "<group>"; };
		26A68FD60D10574500665A9E /* RNBRemote.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RNBRemote.cpp; sourceTree = "<group>"; };
		26A8FE1E0D11A77B00203048 /* DNBTimer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DNBTimer.h; sourceTree = "<group>"; };
		26ACA3340D3E956300A2120B /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; };
		26B67DE00EE9BC30006C8BC0 /* MachTask.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MachTask.h; sourceTree = "<group>"; };
		26B67DE10EE9BC30006C8BC0 /* MachTask.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MachTask.mm; sourceTree = "<group>"; };
		26C637D60C71334A0024798E /* DNB.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = DNB.cpp; sourceTree = "<group>"; };
		26C637D70C71334A0024798E /* DNB.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DNB.h; sourceTree = "<group>"; };
		26C637D80C71334A0024798E /* DNBArch.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DNBArch.h; sourceTree = "<group>"; };
		26C637D90C71334A0024798E /* DNBBreakpoint.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = DNBBreakpoint.cpp; sourceTree = "<group>"; };
		26C637DA0C71334A0024798E /* DNBBreakpoint.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DNBBreakpoint.h; sourceTree = "<group>"; };
		26C637DB0C71334A0024798E /* DNBDataRef.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = DNBDataRef.cpp; sourceTree = "<group>"; };
		26C637DC0C71334A0024798E /* DNBDataRef.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DNBDataRef.h; sourceTree = "<group>"; };
		26C637DD0C71334A0024798E /* DNBDefs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = DNBDefs.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
		26C637DE0C71334A0024798E /* DNBError.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = DNBError.cpp; sourceTree = "<group>"; };
		26C637DF0C71334A0024798E /* DNBError.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DNBError.h; sourceTree = "<group>"; };
		26C637E00C71334A0024798E /* DNBLog.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = DNBLog.cpp; sourceTree = "<group>"; };
		26C637E10C71334A0024798E /* DNBLog.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DNBLog.h; sourceTree = "<group>"; };
		26C637E20C71334A0024798E /* DNBRegisterInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = DNBRegisterInfo.cpp; sourceTree = "<group>"; };
		26C637E30C71334A0024798E /* DNBRegisterInfo.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DNBRegisterInfo.h; sourceTree = "<group>"; };
		26C637E70C71334A0024798E /* CFUtils.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CFUtils.h; sourceTree = "<group>"; };
		26C637E80C71334A0024798E /* dbgnub-mig.defs */ = {isa = PBXFileReference; explicitFileType = sourcecode.mig; fileEncoding = 30; path = "dbgnub-mig.defs"; sourceTree = "<group>"; };
		26C637EA0C71334A0024798E /* DNBArchImplI386.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = DNBArchImplI386.cpp; sourceTree = "<group>"; };
		26C637EB0C71334A0024798E /* DNBArchImplI386.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DNBArchImplI386.h; sourceTree = "<group>"; };
		26C637EE0C71334A0024798E /* MachException.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = MachException.cpp; sourceTree = "<group>"; };
		26C637EF0C71334A0024798E /* MachException.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MachException.h; sourceTree = "<group>"; };
		26C637F00C71334A0024798E /* MachProcess.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = MachProcess.mm; sourceTree = "<group>"; };
		26C637F10C71334A0024798E /* MachProcess.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MachProcess.h; sourceTree = "<group>"; };
		26C637F20C71334A0024798E /* MachThread.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = MachThread.cpp; sourceTree = "<group>"; };
		26C637F30C71334A0024798E /* MachThread.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MachThread.h; sourceTree = "<group>"; };
		26C637F40C71334A0024798E /* MachThreadList.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = MachThreadList.cpp; sourceTree = "<group>"; };
		26C637F50C71334A0024798E /* MachThreadList.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MachThreadList.h; sourceTree = "<group>"; };
		26C637F60C71334A0024798E /* MachVMMemory.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = MachVMMemory.cpp; sourceTree = "<group>"; };
		26C637F70C71334A0024798E /* MachVMMemory.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MachVMMemory.h; sourceTree = "<group>"; };
		26C637F80C71334A0024798E /* MachVMRegion.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = MachVMRegion.cpp; sourceTree = "<group>"; };
		26C637F90C71334A0024798E /* MachVMRegion.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MachVMRegion.h; sourceTree = "<group>"; };
		26C637FD0C71334A0024798E /* PThreadCondition.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PThreadCondition.h; sourceTree = "<group>"; };
		26C637FE0C71334A0024798E /* PThreadEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = PThreadEvent.cpp; sourceTree = "<group>"; };
		26C637FF0C71334A0024798E /* PThreadEvent.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PThreadEvent.h; sourceTree = "<group>"; };
		26C638000C71334A0024798E /* PThreadMutex.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PThreadMutex.h; sourceTree = "<group>"; };
		26C638010C71334A0024798E /* SysSignal.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SysSignal.cpp; sourceTree = "<group>"; };
		26C638020C71334A0024798E /* SysSignal.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SysSignal.h; sourceTree = "<group>"; };
		26C638050C71334A0024798E /* TTYState.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = TTYState.cpp; sourceTree = "<group>"; };
		26C638060C71334A0024798E /* TTYState.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = TTYState.h; sourceTree = "<group>"; };
		26CE0594115C31C20022F371 /* debugserver */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = debugserver; sourceTree = BUILT_PRODUCTS_DIR; };
		26CF99A21142EB7400011AAB /* DNBArchImplX86_64.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DNBArchImplX86_64.cpp; sourceTree = "<group>"; };
		26CF99A31142EB7400011AAB /* DNBArchImplX86_64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DNBArchImplX86_64.h; sourceTree = "<group>"; };
		26E6B9DA0D1329010037ECDD /* RNBDefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNBDefs.h; sourceTree = "<group>"; };
		456F67721AD46CE9002850C2 /* debugserver-nonui */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "debugserver-nonui"; sourceTree = BUILT_PRODUCTS_DIR; };
		49D404611E39260F00570CDC /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
		49F530111331519C008956F6 /* MachRegisterStatesI386.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MachRegisterStatesI386.h; sourceTree = "<group>"; };
		49F5301213316D7F008956F6 /* MachRegisterStatesX86_64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MachRegisterStatesX86_64.h; sourceTree = "<group>"; };
		9457ECF61419864100DFE7D8 /* stack_logging.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = stack_logging.h; sourceTree = "<group>"; };
		AF0934BA18E12B92005A11FD /* Genealogy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Genealogy.h; sourceTree = "<group>"; };
		AF0934BB18E12B92005A11FD /* GenealogySPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GenealogySPI.h; sourceTree = "<group>"; };
		AF48558B1D75126800D19C07 /* StdStringExtractor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StdStringExtractor.cpp; sourceTree = "<group>"; };
		AF61C60418F75ABC00B48D9D /* debugserver-macosx-entitlements.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "debugserver-macosx-entitlements.plist"; sourceTree = "<group>"; };
		AF67ABFF0D34604D0022D128 /* PseudoTerminal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PseudoTerminal.cpp; sourceTree = "<group>"; };
		AF67AC000D34604D0022D128 /* PseudoTerminal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PseudoTerminal.h; sourceTree = "<group>"; };
		AF949ED620605DC2002A91F9 /* com.apple.internal.xpc.remote.debugserver.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = com.apple.internal.xpc.remote.debugserver.plist; sourceTree = "<group>"; };
		AFEC3363194A8B0B00FF05C6 /* Genealogy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Genealogy.cpp; sourceTree = "<group>"; };
		D6631CA81E848FE9006A7B11 /* SocketAddress.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SocketAddress.cpp; path = ../../source/Host/common/SocketAddress.cpp; sourceTree = "<group>"; };
		EF88788B0D9C7558001831DA /* com.apple.debugserver.applist.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = com.apple.debugserver.applist.plist; sourceTree = "<group>"; };
		EF88789F0D9C797C001831DA /* RNBServices.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNBServices.h; sourceTree = "<group>"; };
		EF8878A00D9C797C001831DA /* RNBServices.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RNBServices.cpp; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		26CE0592115C31C20022F371 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				49D404621E39260F00570CDC /* Foundation.framework in Frameworks */,
				26CE05CF115C36F70022F371 /* CoreFoundation.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		456F676A1AD46CE9002850C2 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				456F676B1AD46CE9002850C2 /* CoreFoundation.framework in Frameworks */,
				AFA3FCA11E39984900218D5E /* Foundation.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		08FB7794FE84155DC02AAC07 /* dbgnub */ = {
			isa = PBXGroup;
			children = (
				D6631CA81E848FE9006A7B11 /* SocketAddress.cpp */,
				26ACA3330D3E94F200A2120B /* Framework */,
				26C637D50C71334A0024798E /* source */,
				1AB674ADFE9D54B511CA2CBB /* Products */,
				49D404601E39260F00570CDC /* Frameworks */,
			);
			name = dbgnub;
			sourceTree = "<group>";
		};
		1AB674ADFE9D54B511CA2CBB /* Products */ = {
			isa = PBXGroup;
			children = (
				26CE0594115C31C20022F371 /* debugserver */,
				456F67721AD46CE9002850C2 /* debugserver-nonui */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		23AC04C31D2F3E9A0072351D /* DarwinLog */ = {
			isa = PBXGroup;
			children = (
				237821AD1D4917D20028B7A1 /* CMakeLists.txt */,
				23562ED41D3426DD00AB2BD4 /* ActivityStore.h */,
				23562ED51D342A5A00AB2BD4 /* ActivityStore.cpp */,
				23AE72E61D25DEFB00945BCE /* ActivityStreamSPI.h */,
				23AE72E31D25DECF00945BCE /* DarwinLogCollector.h */,
				23AE72E21D25DECF00945BCE /* DarwinLogCollector.cpp */,
				23CF6F5E1D28A3760088ADC9 /* DarwinLogEvent.h */,
				23AC04CC1D2F42F10072351D /* DarwinLogInterfaces.h */,
				23562ECF1D34110D00AB2BD4 /* DarwinLogTypes.h */,
				23AC04C51D2F41A00072351D /* LogFilter.h */,
				23AC04C41D2F41A00072351D /* LogFilter.cpp */,
				23AC04C91D2F42250072351D /* LogFilterChain.h */,
				23AC04C81D2F42250072351D /* LogFilterChain.cpp */,
				237821AF1D4917D20028B7A1 /* LogFilterExactMatch.h */,
				237821AE1D4917D20028B7A1 /* LogFilterExactMatch.cpp */,
				23AC04CE1D2F58AF0072351D /* LogFilterRegex.h */,
				23AC04CD1D2F58AF0072351D /* LogFilterRegex.cpp */,
				23AC04D11D2F60130072351D /* LogMessage.h */,
				23562ED81D342B0000AB2BD4 /* LogMessage.cpp */,
				23562ED11D3424DF00AB2BD4 /* LogMessageOsLog.h */,
				23562ED01D3424DF00AB2BD4 /* LogMessageOsLog.cpp */,
			);
			path = DarwinLog;
			sourceTree = "<group>";
		};
		266B5ECE1460A68200E43F0A /* arm64 */ = {
			isa = PBXGroup;
			children = (
				266B5ECF1460A68200E43F0A /* DNBArchImplARM64.cpp */,
				266B5ED01460A68200E43F0A /* DNBArchImplARM64.h */,
			);
			path = arm64;
			sourceTree = "<group>";
		};
		2675D41C0CCEB6CF000F49AF /* arm */ = {
			isa = PBXGroup;
			children = (
				2675D4220CCEB705000F49AF /* DNBArchImpl.cpp */,
				2675D4230CCEB705000F49AF /* DNBArchImpl.h */,
			);
			name = arm;
			sourceTree = "<group>";
		};
		26A028FE114AB6A60029C479 /* Resources */ = {
			isa = PBXGroup;
			children = (
				26A4BAED0D498B7D00A9BEAB /* com.apple.debugserver.plist */,
				EF88788B0D9C7558001831DA /* com.apple.debugserver.applist.plist */,
				269E8DF8164B2ED200AD65F6 /* com.apple.debugserver.posix.plist */,
				26203D1C1641EFB200A662F7 /* com.apple.debugserver.applist.internal.plist */,
				26203D1D1641EFB200A662F7 /* com.apple.debugserver.internal.plist */,
				AF949ED620605DC2002A91F9 /* com.apple.internal.xpc.remote.debugserver.plist */,
				260FC7320E5B290400043FC9 /* debugnub-exports */,
				26242C390DDBD33C0054A4CC /* debugserver-entitlements.plist */,
				AF61C60418F75ABC00B48D9D /* debugserver-macosx-entitlements.plist */,
			);
			name = Resources;
			sourceTree = "<group>";
		};
		26A028FF114AB6BB0029C479 /* libdebugnub */ = {
			isa = PBXGroup;
			children = (
				26C637E60C71334A0024798E /* MacOSX */,
				260828DE0CBAF7F400F95054 /* DNBRuntimeAction.h */,
				26A8FE1E0D11A77B00203048 /* DNBTimer.h */,
				26C637D70C71334A0024798E /* DNB.h */,
				26C637D60C71334A0024798E /* DNB.cpp */,
				26C637D80C71334A0024798E /* DNBArch.h */,
				264D5D571293835600ED4C01 /* DNBArch.cpp */,
				26C637DA0C71334A0024798E /* DNBBreakpoint.h */,
				26C637D90C71334A0024798E /* DNBBreakpoint.cpp */,
				26C637DC0C71334A0024798E /* DNBDataRef.h */,
				26C637DB0C71334A0024798E /* DNBDataRef.cpp */,
				26C637DD0C71334A0024798E /* DNBDefs.h */,
				26C637DF0C71334A0024798E /* DNBError.h */,
				26C637DE0C71334A0024798E /* DNBError.cpp */,
				26C637E10C71334A0024798E /* DNBLog.h */,
				26C637E00C71334A0024798E /* DNBLog.cpp */,
				26C637E30C71334A0024798E /* DNBRegisterInfo.h */,
				26C637E20C71334A0024798E /* DNBRegisterInfo.cpp */,
				260E7332114BFFE600D1DFB3 /* DNBThreadResumeActions.h */,
				260E7331114BFFE600D1DFB3 /* DNBThreadResumeActions.cpp */,
				233B4EA61D2DB54300E98261 /* JSON.h */,
				233B4EA51D2DB54300E98261 /* JSON.cpp */,
				264F679A1B2F9EB200140093 /* JSONGenerator.h */,
				AF67AC000D34604D0022D128 /* PseudoTerminal.h */,
				AF67ABFF0D34604D0022D128 /* PseudoTerminal.cpp */,
				26C637FD0C71334A0024798E /* PThreadCondition.h */,
				26C637FF0C71334A0024798E /* PThreadEvent.h */,
				26C637FE0C71334A0024798E /* PThreadEvent.cpp */,
				26C638000C71334A0024798E /* PThreadMutex.h */,
				2672DBEE0EEF446700E92059 /* PThreadMutex.cpp */,
				233B4EA81D2DB96A00E98261 /* StringConvert.cpp */,
				26C638020C71334A0024798E /* SysSignal.h */,
				26C638010C71334A0024798E /* SysSignal.cpp */,
				26C638060C71334A0024798E /* TTYState.h */,
				26C638050C71334A0024798E /* TTYState.cpp */,
			);
			name = libdebugnub;
			sourceTree = "<group>";
		};
		26ACA3330D3E94F200A2120B /* Framework */ = {
			isa = PBXGroup;
			children = (
				26ACA3340D3E956300A2120B /* CoreFoundation.framework */,
			);
			name = Framework;
			sourceTree = "<group>";
		};
		26C637D50C71334A0024798E /* source */ = {
			isa = PBXGroup;
			children = (
				26593A060D4931CC001C9FE3 /* ChangeLog */,
				26DEFD6C0D104C23008A5A07 /* debugserver */,
				26A028FF114AB6BB0029C479 /* libdebugnub */,
			);
			indentWidth = 4;
			path = source;
			sourceTree = "<group>";
			tabWidth = 4;
			usesTabs = 0;
		};
		26C637E60C71334A0024798E /* MacOSX */ = {
			isa = PBXGroup;
			children = (
				23AC04C31D2F3E9A0072351D /* DarwinLog */,
				2695DD920D3EBFF6007E4CA2 /* CFBundle.h */,
				2695DD910D3EBFF6007E4CA2 /* CFBundle.cpp */,
				2695DD9A0D3EC160007E4CA2 /* CFString.h */,
				2695DD9B0D3EC160007E4CA2 /* CFString.cpp */,
				26C637E70C71334A0024798E /* CFUtils.h */,
				2307CCCC1D4A5DAE0016ABC0 /* CMakeLists.txt */,
				2675D41C0CCEB6CF000F49AF /* arm */,
				266B5ECE1460A68200E43F0A /* arm64 */,
				26C637E90C71334A0024798E /* i386 */,
				26CF99A11142EB7400011AAB /* x86_64 */,
				26C637E80C71334A0024798E /* dbgnub-mig.defs */,
				AFEC3363194A8B0B00FF05C6 /* Genealogy.cpp */,
				AF0934BA18E12B92005A11FD /* Genealogy.h */,
				AF0934BB18E12B92005A11FD /* GenealogySPI.h */,
				26C637EF0C71334A0024798E /* MachException.h */,
				26C637EE0C71334A0024798E /* MachException.cpp */,
				26C637F10C71334A0024798E /* MachProcess.h */,
				26C637F00C71334A0024798E /* MachProcess.mm */,
				26C637F30C71334A0024798E /* MachThread.h */,
				26C637F20C71334A0024798E /* MachThread.cpp */,
				26C637F50C71334A0024798E /* MachThreadList.h */,
				26C637F40C71334A0024798E /* MachThreadList.cpp */,
				26C637F70C71334A0024798E /* MachVMMemory.h */,
				26C637F60C71334A0024798E /* MachVMMemory.cpp */,
				26C637F90C71334A0024798E /* MachVMRegion.h */,
				26C637F80C71334A0024798E /* MachVMRegion.cpp */,
				26B67DE00EE9BC30006C8BC0 /* MachTask.h */,
				26B67DE10EE9BC30006C8BC0 /* MachTask.mm */,
				23D1B0281D497E8B00FF831B /* OsLogger.h */,
				23D1B0271D497E8B00FF831B /* OsLogger.cpp */,
				9457ECF61419864100DFE7D8 /* stack_logging.h */,
			);
			path = MacOSX;
			sourceTree = "<group>";
		};
		26C637E90C71334A0024798E /* i386 */ = {
			isa = PBXGroup;
			children = (
				26C637EA0C71334A0024798E /* DNBArchImplI386.cpp */,
				26C637EB0C71334A0024798E /* DNBArchImplI386.h */,
				49F530111331519C008956F6 /* MachRegisterStatesI386.h */,
			);
			path = i386;
			sourceTree = "<group>";
		};
		26CF99A11142EB7400011AAB /* x86_64 */ = {
			isa = PBXGroup;
			children = (
				26CF99A21142EB7400011AAB /* DNBArchImplX86_64.cpp */,
				26CF99A31142EB7400011AAB /* DNBArchImplX86_64.h */,
				49F5301213316D7F008956F6 /* MachRegisterStatesX86_64.h */,
			);
			path = x86_64;
			sourceTree = "<group>";
		};
		26DEFD6C0D104C23008A5A07 /* debugserver */ = {
			isa = PBXGroup;
			children = (
				26A02918114AB9240029C479 /* debugserver.cpp */,
				26A028FE114AB6A60029C479 /* Resources */,
				26A68F7D0D104EC800665A9E /* RNBContext.h */,
				26A68F7E0D104EC800665A9E /* RNBContext.cpp */,
				EF88789F0D9C797C001831DA /* RNBServices.h */,
				EF8878A00D9C797C001831DA /* RNBServices.cpp */,
				26A68FAF0D1054DA00665A9E /* RNBSocket.h */,
				26A68FB00D1054DA00665A9E /* RNBSocket.cpp */,
				26A68FD50D10574500665A9E /* RNBRemote.h */,
				26A68FD60D10574500665A9E /* RNBRemote.cpp */,
				26E6B9DA0D1329010037ECDD /* RNBDefs.h */,
				AF48558B1D75126800D19C07 /* StdStringExtractor.cpp */,
			);
			name = debugserver;
			sourceTree = "<group>";
			usesTabs = 0;
		};
		49D404601E39260F00570CDC /* Frameworks */ = {
			isa = PBXGroup;
			children = (
				49D404611E39260F00570CDC /* Foundation.framework */,
			);
			name = Frameworks;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
		26CE0593115C31C20022F371 /* debugserver */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 26CE05A4115C31ED0022F371 /* Build configuration list for PBXNativeTarget "debugserver" */;
			buildPhases = (
				26CE0591115C31C20022F371 /* Sources */,
				26CE0592115C31C20022F371 /* Frameworks */,
				4C3326CB18B2A2F600EB5DD7 /* ShellScript */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = debugserver;
			productName = "lldb-debugserver";
			productReference = 26CE0594115C31C20022F371 /* debugserver */;
			productType = "com.apple.product-type.tool";
		};
		456F67431AD46CE9002850C2 /* debugserver-mini */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 456F676D1AD46CE9002850C2 /* Build configuration list for PBXNativeTarget "debugserver-mini" */;
			buildPhases = (
				456F67451AD46CE9002850C2 /* Sources */,
				456F676A1AD46CE9002850C2 /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "debugserver-mini";
			productName = "lldb-debugserver";
			productReference = 456F67721AD46CE9002850C2 /* debugserver-nonui */;
			productType = "com.apple.product-type.tool";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		08FB7793FE84155DC02AAC07 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 0700;
				LastUpgradeCheck = 0720;
			};
			buildConfigurationList = 1DEB914E08733D8E0010E9CD /* Build configuration list for PBXProject "debugserver" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 1;
			knownRegions = (
				English,
				Japanese,
				French,
				German,
			);
			mainGroup = 08FB7794FE84155DC02AAC07 /* dbgnub */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				26CE0593115C31C20022F371 /* debugserver */,
				456F67431AD46CE9002850C2 /* debugserver-mini */,
			);
		};
/* End PBXProject section */

/* Begin PBXShellScriptBuildPhase section */
		4C3326CB18B2A2F600EB5DD7 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = "/bin/sh -x";
			shellScript = "if [ \"${CONFIGURATION}\" != BuildAndIntegration ]\nthen\n    if [ -n \"${DEBUGSERVER_USE_FROM_SYSTEM}\" ]\n    then\n\t\tditto \"${DEVELOPER_DIR}/../SharedFrameworks/LLDB.framework/Resources/debugserver\" \"${TARGET_BUILD_DIR}/${TARGET_NAME}\"\n    elif [ \"${DEBUGSERVER_DISABLE_CODESIGN}\" == \"\" ]\n    then\n        codesign -f -s lldb_codesign --entitlements ${SRCROOT}/../../resources/debugserver-macosx-entitlements.plist \"${TARGET_BUILD_DIR}/${TARGET_NAME}\"\n    fi\nfi\n";
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		26CE0591115C31C20022F371 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				D6631CA91E848FE9006A7B11 /* SocketAddress.cpp in Sources */,
				26CE05A7115C360D0022F371 /* DNBError.cpp in Sources */,
				26CE05A8115C36170022F371 /* DNBThreadResumeActions.cpp in Sources */,
				26CE05A9115C36250022F371 /* debugserver.cpp in Sources */,
				AF48558C1D75126800D19C07 /* StdStringExtractor.cpp in Sources */,
				26CE05AA115C36260022F371 /* RNBContext.cpp in Sources */,
				26CE05AB115C36270022F371 /* RNBServices.cpp in Sources */,
				23D1B0291D497E8B00FF831B /* OsLogger.cpp in Sources */,
				26CE05AC115C36280022F371 /* RNBSocket.cpp in Sources */,
				26CE05AD115C36280022F371 /* RNBRemote.cpp in Sources */,
				26CE05AE115C36320022F371 /* dbgnub-mig.defs in Sources */,
				26CE05B0115C36340022F371 /* MachException.cpp in Sources */,
				26CE05B1115C36350022F371 /* MachProcess.mm in Sources */,
				26CE05B2115C36360022F371 /* MachThread.cpp in Sources */,
				233B4EA71D2DB54300E98261 /* JSON.cpp in Sources */,
				26CE05B3115C36370022F371 /* MachThreadList.cpp in Sources */,
				26CE05B4115C36380022F371 /* MachVMMemory.cpp in Sources */,
				26CE05B5115C36380022F371 /* MachVMRegion.cpp in Sources */,
				26CE05B6115C36390022F371 /* MachTask.mm in Sources */,
				26CE05B7115C363B0022F371 /* DNB.cpp in Sources */,
				AFEC3364194A8B0B00FF05C6 /* Genealogy.cpp in Sources */,
				23AC04CF1D2F58AF0072351D /* LogFilterRegex.cpp in Sources */,
				233B4EA91D2DB96A00E98261 /* StringConvert.cpp in Sources */,
				23562ED21D3424DF00AB2BD4 /* LogMessageOsLog.cpp in Sources */,
				26CE05B8115C363C0022F371 /* DNBBreakpoint.cpp in Sources */,
				26CE05B9115C363D0022F371 /* DNBDataRef.cpp in Sources */,
				23AC04CA1D2F42250072351D /* LogFilterChain.cpp in Sources */,
				23562ED61D342A5A00AB2BD4 /* ActivityStore.cpp in Sources */,
				26CE05BA115C363E0022F371 /* DNBLog.cpp in Sources */,
				23AC04C61D2F41A00072351D /* LogFilter.cpp in Sources */,
				26CE05BB115C363F0022F371 /* DNBRegisterInfo.cpp in Sources */,
				26CE05BC115C36420022F371 /* PThreadEvent.cpp in Sources */,
				26CE05BD115C36430022F371 /* PThreadMutex.cpp in Sources */,
				26CE05BE115C36440022F371 /* SysSignal.cpp in Sources */,
				23AE72E41D25DECF00945BCE /* DarwinLogCollector.cpp in Sources */,
				26CE05BF115C364D0022F371 /* DNBArchImplX86_64.cpp in Sources */,
				26CE05C0115C364F0022F371 /* DNBArchImplI386.cpp in Sources */,
				26CE05C1115C36510022F371 /* DNBArchImpl.cpp in Sources */,
				26CE05C5115C36590022F371 /* CFBundle.cpp in Sources */,
				26CE05C3115C36580022F371 /* CFString.cpp in Sources */,
				23562ED91D342B0000AB2BD4 /* LogMessage.cpp in Sources */,
				26CE05F1115C387C0022F371 /* PseudoTerminal.cpp in Sources */,
				264D5D581293835600ED4C01 /* DNBArch.cpp in Sources */,
				237821B01D4917D20028B7A1 /* LogFilterExactMatch.cpp in Sources */,
				266B5ED11460A68200E43F0A /* DNBArchImplARM64.cpp in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		456F67451AD46CE9002850C2 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				456F67461AD46CE9002850C2 /* DNBError.cpp in Sources */,
				456F67471AD46CE9002850C2 /* DNBThreadResumeActions.cpp in Sources */,
				456F67481AD46CE9002850C2 /* debugserver.cpp in Sources */,
				23043C9D1D35DBEC00FC25CA /* JSON.cpp in Sources */,
				456F67491AD46CE9002850C2 /* RNBContext.cpp in Sources */,
				23D1B02A1D497E8B00FF831B /* OsLogger.cpp in Sources */,
				456F674A1AD46CE9002850C2 /* RNBServices.cpp in Sources */,
				456F674B1AD46CE9002850C2 /* RNBSocket.cpp in Sources */,
				456F674C1AD46CE9002850C2 /* RNBRemote.cpp in Sources */,
				456F674D1AD46CE9002850C2 /* dbgnub-mig.defs in Sources */,
				456F674E1AD46CE9002850C2 /* MachException.cpp in Sources */,
				456F674F1AD46CE9002850C2 /* MachProcess.mm in Sources */,
				2307CCCB1D4A5D630016ABC0 /* LogFilterExactMatch.cpp in Sources */,
				456F67501AD46CE9002850C2 /* MachThread.cpp in Sources */,
				456F67511AD46CE9002850C2 /* MachThreadList.cpp in Sources */,
				456F67521AD46CE9002850C2 /* MachVMMemory.cpp in Sources */,
				456F67531AD46CE9002850C2 /* MachVMRegion.cpp in Sources */,
				23562ED71D342A5A00AB2BD4 /* ActivityStore.cpp in Sources */,
				456F67541AD46CE9002850C2 /* MachTask.mm in Sources */,
				456F67551AD46CE9002850C2 /* DNB.cpp in Sources */,
				456F67561AD46CE9002850C2 /* Genealogy.cpp in Sources */,
				456F67571AD46CE9002850C2 /* DNBBreakpoint.cpp in Sources */,
				456F67581AD46CE9002850C2 /* DNBDataRef.cpp in Sources */,
				456F67591AD46CE9002850C2 /* DNBLog.cpp in Sources */,
				23562ED31D3424DF00AB2BD4 /* LogMessageOsLog.cpp in Sources */,
				456F675A1AD46CE9002850C2 /* DNBRegisterInfo.cpp in Sources */,
				456F675B1AD46CE9002850C2 /* PThreadEvent.cpp in Sources */,
				456F675C1AD46CE9002850C2 /* PThreadMutex.cpp in Sources */,
				456F675D1AD46CE9002850C2 /* SysSignal.cpp in Sources */,
				23AE72E51D25DEE100945BCE /* DarwinLogCollector.cpp in Sources */,
				456F675E1AD46CE9002850C2 /* DNBArchImplX86_64.cpp in Sources */,
				23562EDA1D342B0000AB2BD4 /* LogMessage.cpp in Sources */,
				456F675F1AD46CE9002850C2 /* DNBArchImplI386.cpp in Sources */,
				456F67601AD46CE9002850C2 /* DNBArchImpl.cpp in Sources */,
				23AC04C71D2F41A00072351D /* LogFilter.cpp in Sources */,
				23043C9E1D35DBFA00FC25CA /* StringConvert.cpp in Sources */,
				AF588449206077BD00A0CB5A /* SocketAddress.cpp in Sources */,
				456F67621AD46CE9002850C2 /* CFString.cpp in Sources */,
				23AC04CB1D2F42250072351D /* LogFilterChain.cpp in Sources */,
				AF48558D1D75127500D19C07 /* StdStringExtractor.cpp in Sources */,
				456F67641AD46CE9002850C2 /* CFBundle.cpp in Sources */,
				456F67651AD46CE9002850C2 /* PseudoTerminal.cpp in Sources */,
				456F67671AD46CE9002850C2 /* DNBArch.cpp in Sources */,
				23AC04D01D2F58AF0072351D /* LogFilterRegex.cpp in Sources */,
				456F67691AD46CE9002850C2 /* DNBArchImplARM64.cpp in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin XCBuildConfiguration section */
		1DEB914F08733D8E0010E9CD /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				"ARCHS[sdk=iphoneos*]" = arm64;
				"ARCHS[sdk=macosx*]" = "$(ARCHS_STANDARD_64_BIT)";
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGN_IDENTITY = "";
				COPY_PHASE_STRIP = NO;
				CURRENT_PROJECT_VERSION = 360.99.0;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				LLDB_COMPRESSION_LDFLAGS = "-lcompression";
				LLDB_OS_LOG_CFLAGS = "-DLLDB_USE_OS_LOG=$(LLDB_USE_OS_LOG)";
				LLDB_USE_OS_LOG = 0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "";
				STRIP_INSTALLED_PRODUCT = NO;
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_BUILDER = "$(USER)";
			};
			name = Debug;
		};
		1DEB915008733D8E0010E9CD /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				"ARCHS[sdk=iphoneos*]" = arm64;
				"ARCHS[sdk=macosx*]" = "$(ARCHS_STANDARD_64_BIT)";
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CURRENT_PROJECT_VERSION = 360.99.0;
				DEAD_CODE_STRIPPING = YES;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				LLDB_COMPRESSION_LDFLAGS = "-lcompression";
				LLDB_ENERGY_LDFLAGS = "-lpmenergy -lpmsample";
				LLDB_OS_LOG_CFLAGS = "-DLLDB_USE_OS_LOG=$(LLDB_USE_OS_LOG)";
				LLDB_USE_OS_LOG = 0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "";
				STRIPFLAGS = "-x";
				STRIP_STYLE = debugging;
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_BUILDER = "$(USER)";
			};
			name = Release;
		};
		26CE0596115C31C30022F371 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
				CLANG_CXX_LIBRARY = "libc++";
				"CODE_SIGN_ENTITLEMENTS[sdk=*]" = "source/debugserver-entitlements.plist";
				"CODE_SIGN_ENTITLEMENTS[sdk=macosx*]" = "source/debugserver-macosx-entitlements.plist";
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
				"CODE_SIGN_IDENTITY[sdk=macosx*]" = "";
				COPY_PHASE_STRIP = YES;
				CURRENT_PROJECT_VERSION = 360.99.0;
				FRAMEWORK_SEARCH_PATHS = $SDKROOT/System/Library/PrivateFrameworks;
				"FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = (
					"$(SDKROOT)/System/Library/PrivateFrameworks",
					"$(SDKROOT)/Developer/Library/PrivateFrameworks",
				);
				"FRAMEWORK_SEARCH_PATHS[sdk=macosx*][arch=*]" = "$(SDKROOT)/System/Library/PrivateFrameworks";
				GCC_C_LANGUAGE_STANDARD = c99;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = LLDB_DEBUGSERVER_DEBUG;
				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
				INSTALL_PATH = /usr/bin;
				LLDB_COMPRESSION_LDFLAGS = "-lcompression";
				LLDB_DEBUGSERVER = 1;
				LLDB_ENERGY_CFLAGS = "";
				"LLDB_ENERGY_CFLAGS[sdk=*internal]" = "-DLLDB_ENERGY";
				LLDB_ENERGY_LDFLAGS = "-lpmenergy -lpmsample";
				OTHER_CFLAGS = (
					"-Wparentheses",
					"-DDT_VARIANT_$(DT_VARIANT)",
					"$(LLDB_ENERGY_CFLAGS)",
					"$(LLDB_OS_LOG_CFLAGS)",
				);
				"OTHER_CFLAGS[sdk=iphoneos*][arch=*]" = (
					"-Wparentheses",
					"-DWITH_LOCKDOWN",
					"-DWITH_BKS",
					"-DWITH_FBS",
					"-DOS_OBJECT_USE_OBJC=0",
					"$(LLDB_ENERGY_CFLAGS)",
					"$(LLDB_OS_LOG_CFLAGS)",
					"-isystem",
					"$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders",
				);
				"OTHER_CPLUSPLUSFLAGS[sdk=iphoneos*][arch=*]" = "$(OTHER_CFLAGS)";
				"OTHER_CPLUSPLUSFLAGS[sdk=watchos*]" = (
					"$(OTHER_CFLAGS)",
					"-DWITH_CAROUSEL=1",
				);
				OTHER_LDFLAGS = "";
				"OTHER_LDFLAGS[sdk=iphoneos*][arch=*]" = (
					"-framework",
					SpringBoardServices,
					"-framework",
					BackBoardServices,
					"-llockdown",
					"-framework",
					FrontBoardServices,
					"-framework",
					MobileCoreServices,
					"$(LLDB_ENERGY_LDFLAGS)",
					"$(LLDB_COMPRESSION_LDFLAGS)",
				);
				"OTHER_LDFLAGS[sdk=macosx*]" = (
					"-sectcreate",
					__TEXT,
					__info_plist,
					"$(PROJECT_DIR)/resources/lldb-debugserver-Info.plist",
					"$(LLDB_ENERGY_LDFLAGS)",
					"$(LLDB_COMPRESSION_LDFLAGS)",
					"-framework",
					Security,
				);
				"OTHER_LDFLAGS[sdk=watchos*]" = (
					"-framework",
					SpringBoardServices,
					"-framework",
					BackBoardServices,
					"-llockdown",
					"-framework",
					FrontBoardServices,
					"-framework",
					MobileCoreServices,
					"$(LLDB_ENERGY_LDFLAGS)",
					"$(LLDB_COMPRESSION_LDFLAGS)",
					"-framework",
					CarouselServices,
				);
				OTHER_MIGFLAGS = "-I$(DERIVED_FILE_DIR)";
				PRODUCT_NAME = debugserver;
				"PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
				"PROVISIONING_PROFILE[sdk=macosx*]" = "";
				SDKROOT = macosx;
				SKIP_INSTALL = YES;
				USER_HEADER_SEARCH_PATHS = "./source ../../source $(DERIVED_SOURCES_DIR) ../../include";
				ZERO_LINK = NO;
			};
			name = Debug;
		};
		26CE0597115C31C30022F371 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
				CLANG_CXX_LIBRARY = "libc++";
				"CODE_SIGN_ENTITLEMENTS[sdk=*]" = "source/debugserver-entitlements.plist";
				"CODE_SIGN_ENTITLEMENTS[sdk=macosx*]" = "source/debugserver-macosx-entitlements.plist";
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
				"CODE_SIGN_IDENTITY[sdk=macosx*]" = "";
				COPY_PHASE_STRIP = YES;
				CURRENT_PROJECT_VERSION = 360.99.0;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				FRAMEWORK_SEARCH_PATHS = $SDKROOT/System/Library/PrivateFrameworks;
				"FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = (
					"$(SDKROOT)/System/Library/PrivateFrameworks",
					"$(SDKROOT)/Developer/Library/PrivateFrameworks",
				);
				"FRAMEWORK_SEARCH_PATHS[sdk=macosx*][arch=*]" = "$(SDKROOT)/System/Library/PrivateFrameworks";
				GCC_C_LANGUAGE_STANDARD = c99;
				GCC_PREPROCESSOR_DEFINITIONS = LLDB_DEBUGSERVER_RELEASE;
				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
				INSTALL_PATH = /usr/bin;
				LLDB_COMPRESSION_LDFLAGS = "-lcompression";
				LLDB_DEBUGSERVER = 1;
				LLDB_ENERGY_CFLAGS = "";
				"LLDB_ENERGY_CFLAGS[sdk=*.internal]" = "-DLLDB_ENERGY";
				LLDB_ENERGY_LDFLAGS = "-lpmenergy -lpmsample";
				OTHER_CFLAGS = (
					"-Wparentheses",
					"-DDT_VARIANT_$(DT_VARIANT)",
					"$(LLDB_ENERGY_CFLAGS)",
					"$(LLDB_OS_LOG_CFLAGS)",
				);
				"OTHER_CFLAGS[sdk=iphoneos*][arch=*]" = (
					"-Wparentheses",
					"-DWITH_LOCKDOWN",
					"-DWITH_FBS",
					"-DWITH_BKS",
					"-DOS_OBJECT_USE_OBJC=0",
					"$(LLDB_ENERGY_CFLAGS)",
					"$(LLDB_OS_LOG_CFLAGS)",
					"-isystem",
					"$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders",
				);
				"OTHER_CPLUSPLUSFLAGS[sdk=iphoneos*][arch=*]" = "$(OTHER_CFLAGS)";
				"OTHER_CPLUSPLUSFLAGS[sdk=watchos*]" = (
					"$(OTHER_CFLAGS)",
					"-DWITH_CAROUSEL=1",
				);
				OTHER_LDFLAGS = "";
				"OTHER_LDFLAGS[sdk=iphoneos*][arch=*]" = (
					"-framework",
					SpringBoardServices,
					"-framework",
					BackBoardServices,
					"-llockdown",
					"-framework",
					FrontBoardServices,
					"-framework",
					MobileCoreServices,
					"$(LLDB_ENERGY_LDFLAGS)",
					"$(LLDB_COMPRESSION_LDFLAGS)",
				);
				"OTHER_LDFLAGS[sdk=macosx*]" = (
					"-sectcreate",
					__TEXT,
					__info_plist,
					"$(PROJECT_DIR)/resources/lldb-debugserver-Info.plist",
					"$(LLDB_ENERGY_LDFLAGS)",
					"$(LLDB_COMPRESSION_LDFLAGS)",
					"-framework",
					Security,
				);
				"OTHER_LDFLAGS[sdk=watchos*]" = (
					"-framework",
					SpringBoardServices,
					"-framework",
					BackBoardServices,
					"-llockdown",
					"-framework",
					FrontBoardServices,
					"-framework",
					MobileCoreServices,
					"$(LLDB_ENERGY_LDFLAGS)",
					"$(LLDB_COMPRESSION_LDFLAGS)",
					"-framework",
					CarouselServices,
				);
				OTHER_MIGFLAGS = "-I$(DERIVED_FILE_DIR)";
				PRODUCT_NAME = debugserver;
				"PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
				"PROVISIONING_PROFILE[sdk=macosx*]" = "";
				SDKROOT = macosx;
				SKIP_INSTALL = YES;
				USER_HEADER_SEARCH_PATHS = "./source ../../source $(DERIVED_SOURCES_DIR) ../../include";
				ZERO_LINK = NO;
			};
			name = Release;
		};
		456F676E1AD46CE9002850C2 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				"CODE_SIGN_ENTITLEMENTS[sdk=*]" = "source/debugserver-entitlements.plist";
				"CODE_SIGN_ENTITLEMENTS[sdk=macosx*]" = "source/debugserver-macosx-entitlements.plist";
				CODE_SIGN_IDENTITY = "";
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
				"CODE_SIGN_IDENTITY[sdk=macosx*]" = "";
				COPY_PHASE_STRIP = NO;
				CURRENT_PROJECT_VERSION = 360.99.0;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				FRAMEWORK_SEARCH_PATHS = $SDKROOT/System/Library/PrivateFrameworks;
				"FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = (
					"$(SDKROOT)/System/Library/PrivateFrameworks",
					"$(SDKROOT)/Developer/Library/PrivateFrameworks",
				);
				"FRAMEWORK_SEARCH_PATHS[sdk=macosx*][arch=*]" = "$(SDKROOT)/System/Library/PrivateFrameworks";
				GCC_C_LANGUAGE_STANDARD = c99;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = LLDB_DEBUGSERVER_DEBUG;
				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				INSTALL_PATH = /usr/local/bin;
				LLDB_COMPRESSION_LDFLAGS = "-lcompression";
				LLDB_DEBUGSERVER = 1;
				LLDB_ENERGY_CFLAGS = "";
				"LLDB_ENERGY_CFLAGS[sdk=*.internal]" = "-DLLDB_ENERGY";
				LLDB_ENERGY_LDFLAGS = "-lpmenergy -lpmsample";
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = (
					"-Wparentheses",
					"-DDT_VARIANT_$(DT_VARIANT)",
					"$(LLDB_ENERGY_CFLAGS)",
					"$(LLDB_OS_LOG_CFLAGS)",
				);
				"OTHER_CFLAGS[sdk=iphoneos*][arch=*]" = (
					"-Wparentheses",
					"-DOS_OBJECT_USE_OBJC=0",
					"-DDEBUGSERVER_PROGRAM_SYMBOL=debugserver_nonui",
					"$(LLDB_ENERGY_CFLAGS)",
					"$(LLDB_OS_LOG_CFLAGS)",
				);
				"OTHER_CPLUSPLUSFLAGS[sdk=iphoneos*][arch=*]" = "$(OTHER_CFLAGS)";
				OTHER_LDFLAGS = "";
				"OTHER_LDFLAGS[sdk=iphoneos*][arch=*]" = (
					"-framework",
					Foundation,
					"$(LLDB_ENERGY_LDFLAGS)",
					"$(LLDB_COMPRESSION_LDFLAGS)",
				);
				"OTHER_LDFLAGS[sdk=macosx*]" = (
					"-sectcreate",
					__TEXT,
					__info_plist,
					"$(PROJECT_DIR)/resources/lldb-debugserver-Info.plist",
					"$(LLDB_ENERGY_LDFLAGS)",
					"$(LLDB_COMPRESSION_LDFLAGS)",
				);
				OTHER_MIGFLAGS = "-I$(DERIVED_FILE_DIR)";
				PRODUCT_NAME = "debugserver-nonui";
				"PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
				"PROVISIONING_PROFILE[sdk=macosx*]" = "";
				SDKROOT = macosx;
				SKIP_INSTALL = YES;
				STRIP_INSTALLED_PRODUCT = NO;
				USER_HEADER_SEARCH_PATHS = "./source ../../source $(DERIVED_SOURCES_DIR) ../../include";
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_BUILDER = "$(USER)";
				ZERO_LINK = NO;
			};
			name = Debug;
		};
		456F67701AD46CE9002850C2 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
				CLANG_CXX_LIBRARY = "libc++";
				"CODE_SIGN_ENTITLEMENTS[sdk=*]" = "source/debugserver-entitlements.plist";
				"CODE_SIGN_ENTITLEMENTS[sdk=macosx*]" = "source/debugserver-macosx-entitlements.plist";
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
				"CODE_SIGN_IDENTITY[sdk=macosx*]" = "";
				COPY_PHASE_STRIP = YES;
				CURRENT_PROJECT_VERSION = 360.99.0;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				FRAMEWORK_SEARCH_PATHS = $SDKROOT/System/Library/PrivateFrameworks;
				"FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = (
					"$(SDKROOT)/System/Library/PrivateFrameworks",
					"$(SDKROOT)/Developer/Library/PrivateFrameworks",
				);
				"FRAMEWORK_SEARCH_PATHS[sdk=macosx*][arch=*]" = "$(SDKROOT)/System/Library/PrivateFrameworks";
				GCC_C_LANGUAGE_STANDARD = c99;
				GCC_PREPROCESSOR_DEFINITIONS = LLDB_DEBUGSERVER_RELEASE;
				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
				HEADER_SEARCH_PATHS = /System/Library/Frameworks/System.framework/PrivateHeaders;
				INSTALL_PATH = /usr/local/bin;
				LLDB_COMPRESSION_LDFLAGS = "-lcompression";
				LLDB_DEBUGSERVER = 1;
				LLDB_ENERGY_CFLAGS = "";
				"LLDB_ENERGY_CFLAGS[sdk=*.internal]" = "-DLLDB_ENERGY";
				LLDB_ENERGY_LDFLAGS = "-lpmenergy -lpmsample";
				OTHER_CFLAGS = (
					"$(LLDB_ENERGY_CFLAGS)",
					"-DDEBUGSERVER_PROGRAM_SYMBOL=debugserver_nonui",
					"$(LLDB_OS_LOG_CFLAGS)",
				);
				"OTHER_CFLAGS[sdk=iphoneos*][arch=*]" = (
					"-Wparentheses",
					"-DOS_OBJECT_USE_OBJC=0",
					"-DDEBUGSERVER_PROGRAM_SYMBOL=debugserver_nonui",
					"$(LLDB_ENERGY_CFLAGS)",
					"$(LLDB_OS_LOG_CFLAGS)",
				);
				"OTHER_CPLUSPLUSFLAGS[sdk=iphoneos*][arch=*]" = "$(OTHER_CFLAGS)";
				OTHER_LDFLAGS = "";
				"OTHER_LDFLAGS[sdk=iphoneos*][arch=*]" = (
					"-framework",
					Foundation,
					"$(LLDB_ENERGY_LDFLAGS)",
					"$(LLDB_COMPRESSION_LDFLAGS)",
				);
				"OTHER_LDFLAGS[sdk=macosx*]" = (
					"-sectcreate",
					__TEXT,
					__info_plist,
					"$(PROJECT_DIR)/resources/lldb-debugserver-Info.plist",
					"$(LLDB_ENERGY_LDFLAGS)",
					"$(LLDB_COMPRESSION_LDFLAGS)",
				);
				OTHER_MIGFLAGS = "-I$(DERIVED_FILE_DIR)";
				PRODUCT_NAME = "debugserver-nonui";
				"PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
				"PROVISIONING_PROFILE[sdk=macosx*]" = "";
				SDKROOT = macosx;
				SKIP_INSTALL = YES;
				USER_HEADER_SEARCH_PATHS = "./source ../../source $(DERIVED_SOURCES_DIR) ../../include";
				ZERO_LINK = NO;
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		1DEB914E08733D8E0010E9CD /* Build configuration list for PBXProject "debugserver" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				1DEB914F08733D8E0010E9CD /* Debug */,
				1DEB915008733D8E0010E9CD /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Debug;
		};
		26CE05A4115C31ED0022F371 /* Build configuration list for PBXNativeTarget "debugserver" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				26CE0596115C31C30022F371 /* Debug */,
				26CE0597115C31C30022F371 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Debug;
		};
		456F676D1AD46CE9002850C2 /* Build configuration list for PBXNativeTarget "debugserver-mini" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				456F676E1AD46CE9002850C2 /* Debug */,
				456F67701AD46CE9002850C2 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Debug;
		};
/* End XCConfigurationList section */
	};
	rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
}
