local p=script.Parent.Parent local f=require(p.Types)local s=require(p.Dependencies.captureDependencies)local b=require(p.Dependencies.initDependency)local m=require(p.Dependencies.useDependency)local T=require(p.Logging.logErrorNonFatal)local J=require(p.Logging.logWarn)local S=require(p.Utility.isSimilar)local c=require(p.Utility.needsDestruction)local M={}local z={__index=M}local a={__mode="\107"}


local Package = script.Parent.Parent
local Types = require(Package.Types)
local captureDependencies = require(Package.Dependencies.captureDependencies)
local initDependency = require(Package.Dependencies.initDependency)
local useDependency = require(Package.Dependencies.useDependency)
local logErrorNonFatal = require(Package.Logging.logErrorNonFatal)
local logWarn = require(Package.Logging.logWarn)
local isSimilar = require(Package.Utility.isSimilar)
local needsDestruction = require(Package.Utility.needsDestruction)

local class = {}

local CLASS_METATABLE = {__index = class}
local WEAK_KEYS_METATABLE = {__mode = "k"}
