// 
// Decompiled by Procyon v0.6.0
// 

package io.sentry;

import io.sentry.logger.ILoggerApi;
import io.sentry.transport.RateLimiter;
import io.sentry.protocol.SentryTransaction;
import org.jetbrains.annotations.ApiStatus;
import java.util.List;
import io.sentry.protocol.User;
import io.sentry.protocol.Feedback;
import io.sentry.protocol.SentryId;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.NotNull;

@Deprecated
public final class HubScopesWrapper implements IHub
{
    @NotNull
    private final IScopes scopes;
    
    public HubScopesWrapper(@NotNull final IScopes scopes) {
        this.scopes = scopes;
    }
    
    @NotNull
    public IScopes getScopes() {
        return this.scopes;
    }
    
    @Override
    public boolean isEnabled() {
        return this.scopes.isEnabled();
    }
    
    @NotNull
    @Override
    public SentryId captureEvent(@NotNull final SentryEvent event, @Nullable final Hint hint) {
        return this.scopes.captureEvent(event, hint);
    }
    
    @NotNull
    @Override
    public SentryId captureEvent(@NotNull final SentryEvent event, @Nullable final Hint hint, @NotNull final ScopeCallback callback) {
        return this.scopes.captureEvent(event, hint, callback);
    }
    
    @NotNull
    @Override
    public SentryId captureMessage(@NotNull final String message, @NotNull final SentryLevel level) {
        return this.scopes.captureMessage(message, level);
    }
    
    @NotNull
    @Override
    public SentryId captureMessage(@NotNull final String message, @NotNull final SentryLevel level, @NotNull final ScopeCallback callback) {
        return this.scopes.captureMessage(message, level, callback);
    }
    
    @NotNull
    @Override
    public SentryId captureFeedback(@NotNull final Feedback feedback, @Nullable final Hint hint, @Nullable final ScopeCallback callback) {
        return this.scopes.captureFeedback(feedback, hint, callback);
    }
    
    @NotNull
    @Override
    public SentryId captureEnvelope(@NotNull final SentryEnvelope envelope, @Nullable final Hint hint) {
        return this.scopes.captureEnvelope(envelope, hint);
    }
    
    @NotNull
    @Override
    public SentryId captureException(@NotNull final Throwable throwable, @Nullable final Hint hint) {
        return this.scopes.captureException(throwable, hint);
    }
    
    @NotNull
    @Override
    public SentryId captureException(@NotNull final Throwable throwable, @Nullable final Hint hint, @NotNull final ScopeCallback callback) {
        return this.scopes.captureException(throwable, hint, callback);
    }
    
    @Override
    public void captureUserFeedback(@NotNull final UserFeedback userFeedback) {
        this.scopes.captureUserFeedback(userFeedback);
    }
    
    @Override
    public void startSession() {
        this.scopes.startSession();
    }
    
    @Override
    public void endSession() {
        this.scopes.endSession();
    }
    
    @Override
    public void close() {
        this.scopes.close();
    }
    
    @Override
    public void close(final boolean isRestarting) {
        this.scopes.close(isRestarting);
    }
    
    @Override
    public void addBreadcrumb(@NotNull final Breadcrumb breadcrumb, @Nullable final Hint hint) {
        this.scopes.addBreadcrumb(breadcrumb, hint);
    }
    
    @Override
    public void addBreadcrumb(@NotNull final Breadcrumb breadcrumb) {
        this.scopes.addBreadcrumb(breadcrumb);
    }
    
    @Override
    public void setLevel(@Nullable final SentryLevel level) {
        this.scopes.setLevel(level);
    }
    
    @Override
    public void setTransaction(@Nullable final String transaction) {
        this.scopes.setTransaction(transaction);
    }
    
    @Override
    public void setUser(@Nullable final User user) {
        this.scopes.setUser(user);
    }
    
    @Override
    public void setFingerprint(@NotNull final List<String> fingerprint) {
        this.scopes.setFingerprint(fingerprint);
    }
    
    @Override
    public void clearBreadcrumbs() {
        this.scopes.clearBreadcrumbs();
    }
    
    @Override
    public void setTag(@Nullable final String key, @Nullable final String value) {
        this.scopes.setTag(key, value);
    }
    
    @Override
    public void removeTag(@Nullable final String key) {
        this.scopes.removeTag(key);
    }
    
    @Override
    public void setExtra(@Nullable final String key, @Nullable final String value) {
        this.scopes.setExtra(key, value);
    }
    
    @Override
    public void removeExtra(@Nullable final String key) {
        this.scopes.removeExtra(key);
    }
    
    @NotNull
    @Override
    public SentryId getLastEventId() {
        return this.scopes.getLastEventId();
    }
    
    @NotNull
    @Override
    public ISentryLifecycleToken pushScope() {
        return this.scopes.pushScope();
    }
    
    @NotNull
    @Override
    public ISentryLifecycleToken pushIsolationScope() {
        return this.scopes.pushIsolationScope();
    }
    
    @Deprecated
    @Override
    public void popScope() {
        this.scopes.popScope();
    }
    
    @Override
    public void withScope(@NotNull final ScopeCallback callback) {
        this.scopes.withScope(callback);
    }
    
    @Override
    public void withIsolationScope(@NotNull final ScopeCallback callback) {
        this.scopes.withIsolationScope(callback);
    }
    
    @Override
    public void configureScope(@Nullable final ScopeType scopeType, @NotNull final ScopeCallback callback) {
        this.scopes.configureScope(scopeType, callback);
    }
    
    @Override
    public void bindClient(@NotNull final ISentryClient client) {
        this.scopes.bindClient(client);
    }
    
    @Override
    public boolean isHealthy() {
        return this.scopes.isHealthy();
    }
    
    @Override
    public void flush(final long timeoutMillis) {
        this.scopes.flush(timeoutMillis);
    }
    
    @Deprecated
    @NotNull
    @Override
    public IHub clone() {
        return this.scopes.clone();
    }
    
    @NotNull
    @Override
    public IScopes forkedScopes(@NotNull final String creator) {
        return this.scopes.forkedScopes(creator);
    }
    
    @NotNull
    @Override
    public IScopes forkedCurrentScope(@NotNull final String creator) {
        return this.scopes.forkedCurrentScope(creator);
    }
    
    @NotNull
    @Override
    public IScopes forkedRootScopes(@NotNull final String creator) {
        return Sentry.forkedRootScopes(creator);
    }
    
    @NotNull
    @Override
    public ISentryLifecycleToken makeCurrent() {
        return this.scopes.makeCurrent();
    }
    
    @ApiStatus.Internal
    @NotNull
    @Override
    public IScope getScope() {
        return this.scopes.getScope();
    }
    
    @ApiStatus.Internal
    @NotNull
    @Override
    public IScope getIsolationScope() {
        return this.scopes.getIsolationScope();
    }
    
    @ApiStatus.Internal
    @NotNull
    @Override
    public IScope getGlobalScope() {
        return Sentry.getGlobalScope();
    }
    
    @Nullable
    @Override
    public IScopes getParentScopes() {
        return this.scopes.getParentScopes();
    }
    
    @Override
    public boolean isAncestorOf(@Nullable final IScopes otherScopes) {
        return this.scopes.isAncestorOf(otherScopes);
    }
    
    @ApiStatus.Internal
    @NotNull
    @Override
    public SentryId captureTransaction(@NotNull final SentryTransaction transaction, @Nullable final TraceContext traceContext, @Nullable final Hint hint, @Nullable final ProfilingTraceData profilingTraceData) {
        return this.scopes.captureTransaction(transaction, traceContext, hint, profilingTraceData);
    }
    
    @NotNull
    @Override
    public SentryId captureProfileChunk(@NotNull final ProfileChunk profileChunk) {
        return this.scopes.captureProfileChunk(profileChunk);
    }
    
    @NotNull
    @Override
    public ITransaction startTransaction(@NotNull final TransactionContext transactionContext, @NotNull final TransactionOptions transactionOptions) {
        return this.scopes.startTransaction(transactionContext, transactionOptions);
    }
    
    @Override
    public void startProfiler() {
        this.scopes.startProfiler();
    }
    
    @Override
    public void stopProfiler() {
        this.scopes.stopProfiler();
    }
    
    @ApiStatus.Internal
    @Override
    public void setSpanContext(@NotNull final Throwable throwable, @NotNull final ISpan span, @NotNull final String transactionName) {
        this.scopes.setSpanContext(throwable, span, transactionName);
    }
    
    @Nullable
    @Override
    public ISpan getSpan() {
        return this.scopes.getSpan();
    }
    
    @Override
    public void setActiveSpan(@Nullable final ISpan span) {
        this.scopes.setActiveSpan(span);
    }
    
    @ApiStatus.Internal
    @Nullable
    @Override
    public ITransaction getTransaction() {
        return this.scopes.getTransaction();
    }
    
    @NotNull
    @Override
    public SentryOptions getOptions() {
        return this.scopes.getOptions();
    }
    
    @Nullable
    @Override
    public Boolean isCrashedLastRun() {
        return this.scopes.isCrashedLastRun();
    }
    
    @Override
    public void reportFullyDisplayed() {
        this.scopes.reportFullyDisplayed();
    }
    
    @Nullable
    @Override
    public TransactionContext continueTrace(@Nullable final String sentryTrace, @Nullable final List<String> baggageHeaders) {
        return this.scopes.continueTrace(sentryTrace, baggageHeaders);
    }
    
    @Nullable
    @Override
    public SentryTraceHeader getTraceparent() {
        return this.scopes.getTraceparent();
    }
    
    @Nullable
    @Override
    public BaggageHeader getBaggage() {
        return this.scopes.getBaggage();
    }
    
    @NotNull
    @Override
    public SentryId captureCheckIn(@NotNull final CheckIn checkIn) {
        return this.scopes.captureCheckIn(checkIn);
    }
    
    @ApiStatus.Internal
    @Nullable
    @Override
    public RateLimiter getRateLimiter() {
        return this.scopes.getRateLimiter();
    }
    
    @NotNull
    @Override
    public SentryId captureReplay(@NotNull final SentryReplayEvent replay, @Nullable final Hint hint) {
        return this.scopes.captureReplay(replay, hint);
    }
    
    @NotNull
    @Override
    public ILoggerApi logger() {
        return this.scopes.logger();
    }
    
    @Override
    public void addFeatureFlag(@Nullable final String flag, @Nullable final Boolean result) {
        this.scopes.addFeatureFlag(flag, result);
    }
}
