






#import "Place.h"
#import "OriginConverterSubgroupParallelCapturing.h"

@interface Place() {
    NSMutableSet *_hitSortingPoolCanReport;
}

@end

@implementation Place



+ (instancetype)familyHasInstance {
    static id familyHasInstance = nil;

    static dispatch_once_t iconToken;
    dispatch_once(&iconToken, ^{
        familyHasInstance = [[self alloc] init];
    });

    return familyHasInstance;
}


- (NSMutableSet *)hitSortingPoolCanReport {
    if (!_hitSortingPoolCanReport) {
        _hitSortingPoolCanReport = [[NSMutableSet alloc] init];
    }
    return _hitSortingPoolCanReport;
}




+ (BOOL)separatedOptimizedCloseTowerReceives:(OriginConverterSubgroupParallelCapturing *)zb_destination {
    return [self.familyHasInstance separatedOptimizedCloseTowerReceives:zb_destination];
}

- (BOOL)separatedOptimizedCloseTowerReceives:(OriginConverterSubgroupParallelCapturing *)zb_destination {
    if ([self.hitSortingPoolCanReport containsObject:zb_destination]) {
        return NO;
    }
    [self.hitSortingPoolCanReport addObject:zb_destination];
    return YES;
}


+ (BOOL)trackTranslateIcyStylisticSuchGrouped:(OriginConverterSubgroupParallelCapturing *)zb_destination {
    return [self.familyHasInstance trackTranslateIcyStylisticSuchGrouped:zb_destination];
}

- (BOOL)trackTranslateIcyStylisticSuchGrouped:(OriginConverterSubgroupParallelCapturing *)zb_destination {
    if (![self.hitSortingPoolCanReport containsObject:zb_destination]) {
        return NO;
    }
    [self.hitSortingPoolCanReport removeObject:zb_destination];
    return YES;
}


+ (void)fitEndFingerRootCountryMacintosh {
    [self.familyHasInstance fitEndFingerRootCountryMacintosh];
}

- (void)fitEndFingerRootCountryMacintosh {
    [self.hitSortingPoolCanReport removeAllObjects];
}


+ (NSInteger)pitchOddFlemishHalfGenericOutput {
    return [self.familyHasInstance pitchOddFlemishHalfGenericOutput];
}

- (NSUInteger)pitchOddFlemishHalfGenericOutput {
    return self.hitSortingPoolCanReport.count;
}


+ (NSString *)hangRadioName {
    if (NSThread.isMainThread) {
        return @"";
    }else {
        NSString *label = [NSString stringWithCString:dispatch_queue_get_label(DISPATCH_CURRENT_QUEUE_LABEL) encoding:NSUTF8StringEncoding];
        return label ?: NSThread.currentThread.name;
    }
}


+ (void)headphone:(MovieLevel)zb_level
          hitNear:(const char *)hitNear
      howSplatMax:(const char *)howSplatMax
          topRedo:(NSUInteger)topRedo
       caseNormal:(id)caseNormal
        plugSheet:(NSString *)plugSheet, ... {
    va_list args;
    
    if (plugSheet) {
        va_start(args, plugSheet);
        
        NSString *showAnswer = [[NSString alloc] initWithFormat:plugSheet arguments:args];
        
        va_end(args);
        
        va_start(args, plugSheet);
        
        [self.familyHasInstance passivelyClickedMayAxesPoint:zb_level
                                   showAnswer:showAnswer
                                    condensed:[self hangRadioName]
                                      hitNear:[NSString stringWithFormat:@"%s", hitNear]
                                  howSplatMax:[NSString stringWithFormat:@"%s", howSplatMax]
                                      topRedo:topRedo
                                   caseNormal:caseNormal];
        
        va_end(args);
    }
}


- (void)passivelyClickedMayAxesPoint:(MovieLevel)zb_level
              showAnswer:(NSString *)showAnswer
               condensed:(NSString *)condensed
                 hitNear:(NSString *)hitNear
             howSplatMax:(NSString *)howSplatMax
                 topRedo:(NSUInteger)topRedo
              caseNormal:(id)caseNormal {
    
    for (OriginConverterSubgroupParallelCapturing *sheMask in self.hitSortingPoolCanReport) {
        
        NSString *nearLastPutMessage;
        
        if (!sheMask.needHigh) continue;
        
        nearLastPutMessage = nearLastPutMessage == nil ? showAnswer : nearLastPutMessage;
        
        if ([sheMask exactnessPopSmallPrecisionFourthPartial:zb_level listPop:hitNear howSplatMax:howSplatMax showAnswer:showAnswer]) {
            
            NSString *barHidden = nearLastPutMessage == nil ? showAnswer :nearLastPutMessage;
            
            NSString *over = [self visitKilowatts:howSplatMax];
            
            if (sheMask.slavicExistDanishTiedBitmap) {
                dispatch_async(sheMask.needHigh, ^{
                    [sheMask eggNine:zb_level photos:barHidden condensed:condensed hitNear:hitNear howSplatMax:over topRedo:topRedo
                          caseNormal:caseNormal];
                });
            }else {
                dispatch_sync(sheMask.needHigh, ^{
                    [sheMask eggNine:zb_level photos:barHidden condensed:condensed hitNear:hitNear howSplatMax:over topRedo:topRedo
                          caseNormal:caseNormal];
                });
            }
        }
    }
}

- (NSString *)visitKilowatts:(NSString *)howSplatMax {
    NSString *over = howSplatMax;
    NSRange carBuilt = [over rangeOfString:@"("];
    
    if (carBuilt.location != NSNotFound) {
        over = [over substringToIndex:carBuilt.location];
    }
    over = [over stringByAppendingString:@"()"];
    return over;
}

@end
