Assistant: 
User: System: You will be given a Luau script (that has been decompiled). You will rename the variables and functions to sound better, make the script more coherent, and add comments to areas of the script. Return the fixed script without adding ``` as we handle that. If no script has been given, do not produce any output. Make sure to provide the entire script, feel free to use more tokens if needed to continue.
User: -- Decompiled with the Synapse Z Luau decompiler.
-- NOTE: Currently in beta! Not representative of final product.

local v0_0_ = game
local v0_2_ = "Players"
v0_0_ = v0_0_:GetService(v0_2_)
local v0_1_ = game
local v0_3_ = "ReplicatedStorage"
v0_1_ = v0_1_:GetService(v0_3_)
local v0_4_ = "Assets"
v0_2_ = v0_1_:WaitForChild(v0_4_)
local v0_5_ = "Library"
v0_3_ = v0_1_:WaitForChild(v0_5_)
local v0_6_ = "Items"
v0_4_ = v0_3_:WaitForChild(v0_6_)
local v0_7_ = "Types"
v0_5_ = v0_3_:WaitForChild(v0_7_)
local v0_8_ = "Util"
v0_6_ = v0_3_:WaitForChild(v0_8_)
v0_7_ = require
v0_8_ = v0_3_.Functions
v0_7_ = v0_7_(v0_8_)
v0_8_ = require
local v0_9_ = v0_3_.Audio
v0_8_ = v0_8_(v0_9_)
v0_9_ = require
local v0_10_ = v0_6_.CurrencyUtil
v0_9_ = v0_9_(v0_10_)
v0_10_ = require
local v0_11_ = v0_4_.AbstractItem
v0_10_ = v0_10_(v0_11_)
v0_11_ = require
local v0_12_ = v0_4_.CurrencyItem
v0_11_ = v0_11_(v0_12_)
v0_12_ = require
local v0_13_ = v0_4_.Types
v0_12_ = v0_12_(v0_13_)
v0_13_ = require
local v0_14_ = v0_3_.Variables
v0_13_ = v0_13_(v0_14_)
v0_14_ = require
local v0_15_ = v0_5_.Orbs
v0_14_ = v0_14_(v0_15_)
local v0_17_ = "Client"
v0_15_ = v0_3_:WaitForChild(v0_17_)
local v0_16_ = require
v0_17_ = v0_15_.CustomPet
v0_16_ = v0_16_(v0_17_)
v0_17_ = require
local v0_18_ = v0_15_.WorldFX
v0_17_ = v0_17_(v0_18_)
v0_18_ = require
local v0_23_ = game
local v0_22_ = v0_23_.ReplicatedStorage
local v0_21_ = v0_22_.Library
local v0_20_ = v0_21_.Directory
local v0_19_ = v0_20_.Rarity
v0_18_ = v0_18_(v0_19_)
v0_19_ = require
v0_21_ = script
v0_20_ = v0_21_.CoinSounds
v0_19_ = v0_19_(v0_20_)
v0_20_ = script
v0_22_ = "CurrencyOrb"
v0_20_ = v0_20_:WaitForChild(v0_22_)
v0_21_ = script
v0_23_ = "ItemOrb"
v0_21_ = v0_21_:WaitForChild(v0_23_)
local v0_24_ = "Particles"
v0_22_ = v0_2_:WaitForChild(v0_24_)
v0_24_ = "Orbs"
v0_22_ = v0_22_:WaitForChild(v0_24_)
v0_24_ = "OrbCollect"
v0_22_ = v0_22_:WaitForChild(v0_24_)
local v0_25_ = "Models"
v0_23_ = v0_2_:WaitForChild(v0_25_)
v0_25_ = "Lootbags"
v0_23_ = v0_23_:WaitForChild(v0_25_)
v0_24_ = workspace
local v0_26_ = "__THINGS"
v0_24_ = v0_24_:WaitForChild(v0_26_)
local v0_27_ = "Orbs"
v0_25_ = v0_24_:WaitForChild(v0_27_)
v0_27_ = workspace
v0_26_ = v0_27_.FallenPartsDestroyHeight
v0_27_ = 400
local v0_29_ = workspace
local v0_28_ = v0_29_.StreamingEnabled
if not v0_28_ then
    v0_27_ = inf
end
v0_28_ = {}
v0_29_ = 1
v0_28_.Coins = v0_29_
v0_29_ = 2
v0_28_.Diamonds = v0_29_
v0_29_ = 3
v0_28_.Misc = v0_29_
v0_29_ = {}
local v0_31_ = v0_14_.Types
local v0_30_ = v0_31_.Orb
v0_31_ = table.create(1)
local v0_32_ = "rbxassetid://12331474492"
v0_31_[1] = v0_32_
v0_29_[v0_30_] = v0_31_
v0_31_ = v0_14_.Types
v0_30_ = v0_31_.Lootbag
v0_31_ = table.create(2)
v0_32_ = "rbxassetid://8049260816"
local v0_33_ = "rbxassetid://8049260930"
v0_31_[1] = v0_32_
v0_31_[2] = v0_33_
v0_29_[v0_30_] = v0_31_
v0_30_ = {}
v0_31_ = "rbxassetid://14581089659"
v0_30_.Normal = v0_31_
v0_31_ = "rbxassetid://14581090031"
v0_30_.Good = v0_31_
v0_31_ = "rbxassetid://14581090172"
v0_30_.Great = v0_31_
v0_31_ = {}
v0_32_ = v0_28_.Coins
v0_33_ = table.create(2)
local v0_34_ = "rbxassetid://13960499494"
local v0_35_ = "rbxassetid://13960512823"
v0_33_[1] = v0_34_
v0_33_[2] = v0_35_
v0_31_[v0_32_] = v0_33_
v0_32_ = v0_28_.Diamonds
v0_33_ = table.create(1)
v0_34_ = "rbxassetid://13960450701"
v0_33_[1] = v0_34_
v0_31_[v0_32_] = v0_33_
v0_32_ = v0_28_.Misc
v0_33_ = table.create(1)
v0_34_ = "rbxassetid://13960499494"
v0_33_[1] = v0_34_
v0_31_[v0_32_] = v0_33_
local new = Random.new
v0_32_ = new()
v0_33_ = v0_0_.LocalPlayer
local new = RaycastParams.new
v0_34_ = new()
v0_35_ = {}
v0_34_.FilterDescendantsInstances = v0_35_
local Exclude = Enum.RaycastFilterType.Exclude
v0_34_.FilterType = Exclude
v0_35_ = true
v0_34_.IgnoreWater = v0_35_
v0_35_ = "Orbs"
v0_34_.CollisionGroup = v0_35_
v0_35_ = true
v0_34_.RespectCanCollide = v0_35_
v0_35_ = {}
local v0_36_ = 30
v0_35_.DefaultPickupDistance = v0_36_
v0_36_ = 2.500000
v0_35_.CollectDistance = v0_36_
v0_36_ = 16
v0_35_.CombineDistance = v0_36_
v0_36_ = 0.500000
v0_35_.CombineDelay = v0_36_
v0_36_ = 400
v0_35_.SoundDistance = v0_36_
v0_36_ = 800
v0_35_.BillboardDistance = v0_36_
v0_36_ = function(a1, a2, a3, a4, a5, a6)
    local v1_7_ = v0_35_
    local v1_6_ = v1_7_.CreatePart
    v1_7_ = a3
    local v1_8_ = a4
    local v1_6_, v1_7_, v1_8_, v1_9_ = v1_6_(v1_7_, v1_8_)
    local v1_11_ = a1
    local v1_10_ = tostring
    v1_10_ = v1_10_(v1_11_)
    v1_6_.Name = v1_10_
    v1_10_ = ipairs
    v1_11_ = v1_7_
    local v1_10_, v1_11_, v1_12_ = v1_10_(v1_11_)
    for v1_13_, v1_14_ in v1_10_, v1_11_, v1_12_ do
        local v1_15_ = false
        v1_14_.Enabled = v1_15_
        local new = NumberRange.new
        local v1_16_ = 20
        v1_15_ = new(v1_16_)
        v1_14_.Lifetime = v1_15_
        v1_15_ = 0
        v1_14_.TimeScale = v1_15_
    end
    v1_10_ = v1_6_.PivotOffset
    v1_10_ = v1_10_:Inverse()
    local v1_13_ = a5
    v1_6_:PivotTo(v1_13_)
    v1_11_ = v0_25_
    v1_6_.Parent = v1_11_
    v1_11_ = ipairs
    v1_12_ = v1_7_
    v1_11_, v1_12_, v1_13_ = v1_11_(v1_12_)
    for v1_14_, v1_15_ in v1_11_, v1_12_, v1_13_ do
        local v1_18_ = 1
        v1_15_:Emit(v1_18_)
    end
    v1_11_ = a4.Type
    local v1_14_ = v0_14_
    v1_13_ = v1_14_.Types
    v1_12_ = v1_13_.Lootbag
    if v1_11_ == v1_12_ then
        v1_14_ = "Attachment"
        v1_12_ = v1_6_:FindFirstChild(v1_14_)
        if v1_12_ then
            local v1_15_ = "center_white"
            v1_13_ = v1_12_:FindFirstChild(v1_15_)
            if v1_13_ then
                local v1_16_ = 2
                v1_13_:Emit(v1_16_)
            end
        end
    end
    v1_12_ = v1_6_.AssemblyMass
    v1_13_ = v1_6_.CurrentPhysicalProperties
    local v1_16_ = "CrossSectionalArea"
    v1_14_ = v1_6_:GetAttribute(v1_16_)
    if not v1_14_ then
        local v1_15_ = v0_7_
        v1_14_ = v1_15_.AverageCrossSectionalArea
        local v1_18_ = "Part"
        v1_16_ = v1_6_:IsA(v1_18_)
        if v1_16_ then
            v1_15_ = v1_6_.Shape
            if not v1_15_ then
                local Block = Enum.PartType.Block
            end
        end
        local Block = Enum.PartType.Block
        v1_16_ = v1_6_.Size
        v1_14_ = v1_14_(Block, v1_16_)
    end
    local v1_18_ = "CrossSectionalAreaMultiplier"
    v1_16_ = v1_6_:GetAttribute(v1_18_)
    local v1_15_ = v1_16_ or 1.000000
    v1_14_ *= v1_15_
    v1_18_ = "DragCoefficient"
    v1_16_ = v1_6_:GetAttribute(v1_18_)
    v1_15_ = v1_16_ or 0.500000
    v1_16_ = a4.PickupDelay
    if not v1_16_ then
        local v1_17_ = a4.Chest
        if v1_17_ then
            v1_16_ = 2.500000
        end
    end
    if not v1_16_ then
        local v1_19_ = v0_14_
        v1_18_ = v1_19_.Types
        local v1_17_ = v1_18_.Lootbag
        if v1_11_ == v1_17_ then
            v1_17_ = v0_32_
            v1_19_ = 1.500000
            local v1_20_ = 2.500000
            v1_17_ = v1_17_:NextNumber(v1_19_, v1_20_)
            v1_16_ = v1_17_
        else
            v1_17_ = v0_32_
            v1_19_ = 0
            local v1_20_ = 0.650000
            v1_17_ = v1_17_:NextNumber(v1_19_, v1_20_)
            v1_16_ = v1_17_
        end
    end
    local v1_17_ = v1_16_
    local v1_20_ = v0_35_
    local v1_19_ = v1_20_.CombineDelay
    v1_18_ = v1_17_ + v1_19_
    v1_19_ = nil
    local v1_22_ = v0_14_
    local v1_21_ = v1_22_.Types
    v1_20_ = v1_21_.Orb
    if v1_11_ == v1_20_ then
        v1_22_ = #a3
        if v1_22_ ~= 1.000000 then
            v1_21_ = false
        end
        v1_21_ = true
        v1_20_ = assert
        v1_20_(v1_21_)
        v1_20_ = a3[-1]
        local v1_23_ = "Currency"
        v1_21_ = v1_20_:IsA(v1_23_)
        if v1_21_ then
            v1_21_ = v1_20_:GetId()
            v1_19_ = v1_21_
            v1_22_ = v0_14_
            v1_21_ = v1_22_.Types
            v1_20_ = v1_21_.Lootbag
            if v1_11_ == v1_20_ then
                v1_21_ = v0_28_
                v1_20_ = v1_21_.Misc
                if v1_8_ ~= v1_20_ then
                    v1_21_ = v1_8_
                    v1_20_ = tostring
                    v1_20_ = v1_20_(v1_21_)
                    v1_19_ = v1_20_
                    v1_20_ = error
                    v1_21_ = "???"
                    v1_20_(v1_21_)
                end
            else
                v1_20_ = error
                v1_21_ = "???"
                v1_20_(v1_21_)
            end
        end
    else
        v1_22_ = v0_14_
        v1_21_ = v1_22_.Types
        v1_20_ = v1_21_.Lootbag
        if v1_11_ == v1_20_ then
            v1_21_ = v0_28_
            v1_20_ = v1_21_.Misc
            if v1_8_ ~= v1_20_ then
                v1_21_ = v1_8_
                v1_20_ = tostring
                v1_20_ = v1_20_(v1_21_)
                v1_19_ = v1_20_
                v1_20_ = error
                v1_21_ = "???"
                v1_20_(v1_21_)
            end
        else
            v1_20_ = error
            v1_21_ = "???"
            v1_20_(v1_21_)
        end
    end
    v1_20_ = {}
    v1_21_ = false
    v1_20_._destroyed = v1_21_
    v1_20_._id = a1
    v1_20_._timestamp = a2
    v1_20_._items = a3
    v1_20_._typeNumber = v1_11_
    v1_20_._contentType = v1_8_
    v1_20_._rarity = v1_9_
    v1_20_._part = v1_6_
    v1_20_._pivotOffsetInv = v1_10_
    v1_20_._cframeRender = a5
    v1_21_ = false
    v1_20_._anchored = v1_21_
    v1_21_ = 0
    v1_20_._nextParentCheck = v1_21_
    v1_21_ = 0
    v1_20_._dt = v1_21_
    v1_20_._cframePhysics = a5
    v1_20_._velocity = a6
    v1_20_._assemblyMass = v1_12_
    v1_20_._dragCoefficient = v1_15_
    v1_20_._crossSectionalArea = v1_14_
    v1_20_._physicalProperties = v1_13_
    v1_20_._pickupDelay = v1_17_
    v1_20_._combineDelay = v1_18_
    v1_20_._combineKey = v1_19_
    v1_21_ = {}
    v1_20_._combinedIds = v1_21_
    v1_21_ = false
    v1_20_._collected = v1_21_
    v1_20_._staticParticles = v1_7_
    local v1_23_ = {}
    local v1_24_ = v0_35_
    v1_23_.__index = v1_24_
    v1_22_ = v1_20_
    v1_21_ = setmetatable
    v1_21_(v1_22_, v1_23_)
    v1_21_ = a4.NoSound
    if not v1_21_ then
        v1_22_ = v0_8_
        v1_21_ = v1_22_.Play
        v1_23_ = v0_29_
        v1_22_ = v1_23_[v1_11_]
        v1_23_ = a5
        v1_24_ = table.create(2)
        local v1_25_ = 0.750000
        local v1_26_ = 0.850000
        v1_24_[1] = v1_25_
        v1_24_[2] = v1_26_
        v1_25_ = 0.200000
        v1_26_ = 75
        v1_21_(v1_22_, v1_23_, v1_24_, v1_25_, v1_26_)
        v1_22_ = v0_28_
        v1_21_ = v1_22_.Misc
        if v1_8_ == v1_21_ then
            v1_21_ = v1_9_.RarityNumber
            v1_22_ = 4
            if v1_22_ <= v1_21_ then
                v1_22_ = v0_8_
                v1_21_ = v1_22_.Play
                v1_23_ = v0_30_
                v1_22_ = v1_23_.Great
                v1_23_ = a5
                v1_24_ = 1
                v1_25_ = 1
                v1_26_ = 400
                v1_21_(v1_22_, v1_23_, v1_24_, v1_25_, v1_26_)
                return v1_20_
            end
            v1_21_ = v1_9_.RarityNumber
            v1_22_ = 2
            if v1_22_ <= v1_21_ then
                v1_22_ = v0_8_
                v1_21_ = v1_22_.Play
                v1_23_ = v0_30_
                v1_22_ = v1_23_.Good
                v1_23_ = a5
                v1_24_ = 1
                v1_25_ = 0.900000
                v1_26_ = 325
                v1_21_(v1_22_, v1_23_, v1_24_, v1_25_, v1_26_)
                return v1_20_
            end
            v1_22_ = v0_8_
            v1_21_ = v1_22_.Play
            v1_23_ = v0_30_
            v1_22_ = v1_23_.Normal
            v1_23_ = a5
            v1_24_ = 1
            v1_25_ = 0.800000
            v1_26_ = 300
            v1_21_(v1_22_, v1_23_, v1_24_, v1_25_, v1_26_)
        end
    end
    return v1_20_
end
v0_35_.new = v0_36_
v0_36_ = function(a1, a2, a3, a4, a5, a6, a7, a8, a9)
    local v2_10_ = a1._timestamp
    local v2_9_ = a3 - v2_10_
    v2_10_ = a1._destroyed
    if v2_10_ then
        v2_10_ = false
        return v2_10_
    end
    local v2_12_ = a1._cframePhysics
    local v2_11_ = v2_12_.Position
    v2_10_ = v2_11_.Y
    v2_11_ = v0_26_
    if v2_10_ < v2_11_ then
        v2_10_ = false
        return v2_10_
    end
    v2_11_ = v0_14_
    v2_10_ = v2_11_.DespawnTime
    if v2_10_ <= v2_9_ then
        v2_10_ = false
        return v2_10_
    end
    v2_10_ = a1._nextParentCheck
    if v2_10_ <= v2_9_ then
        v2_11_ = v2_9_ + 2.500000
        local v2_13_ = 5
        local random = math.random
        local v2_14_ = random()
        v2_12_ = v2_13_ * v2_14_
        v2_10_ = v2_11_ + v2_12_
        a1._nextParentCheck = v2_10_
        v2_11_ = a1._part
        v2_10_ = v2_11_.Parent
        if not v2_10_ then
            v2_10_ = false
            return v2_10_
        end
    end
    local zero = Vector3.zero
    v2_11_ = inf
    if a7 then
        v2_12_ = a7.Position
        local v2_14_ = a1._pivotOffsetInv
        local v2_13_ = v2_14_.Position
        v2_10_ = v2_12_ - v2_13_
        v2_14_ = a1._cframePhysics
        v2_13_ = v2_14_.Position
        v2_12_ = v2_13_ - v2_10_
        v2_11_ = v2_12_.Magnitude
    end
    v2_12_ = nil
    local v2_13_ = nil
    local v2_14_ = nil
    local v2_15_ = false
    local v2_16_ = a1._pickupDelay
    if v2_16_ <= v2_9_ then
        if not v2_12_ then
            if a7 then
                v2_12_ = a6
                v2_13_ = zero
                v2_14_ = v2_11_
                v2_15_ = true
                if a9 then
                    v2_7_ = 999999999.000000
                end
            end
        end
    end
    v2_16_ = false
    if v2_14_ then
        if a9 then
            if v2_15_ then
                if v2_13_ then
                    local v2_17_ = 150
                    if v2_17_ < v2_14_ then
                        local v2_19_ = nil
                        local v2_20_ = nil
                        local v2_21_ = true
                        a1:Collect(v2_19_, v2_20_, v2_21_)
                        v2_17_ = false
                        return v2_17_
                    end
                end
            end
        end
        local v2_18_ = v0_35_
        local v2_17_ = v2_18_.CollectDistance
        if v2_14_ <= v2_17_ then
            local v2_19_ = v2_12_
            a1:Collect(v2_19_)
            v2_17_ = false
            return v2_17_
        end
        local v2_19_ = v0_35_
        v2_18_ = v2_19_.CollectDistance
        v2_17_ = v2_18_ + a8
        if v2_14_ <= v2_17_ then
            v2_16_ = true
            v2_17_ = false
            a1._anchored = v2_17_
        end
    end
    if not v2_16_ then
        local v2_17_ = v0_27_
        if v2_17_ < v2_11_ then
            v2_17_ = true
            a1._anchored = v2_17_
        end
    end
    local v2_17_ = a1._anchored
    if not v2_17_ then
        local v2_19_ = a2
        local v2_20_ = v2_9_
        local v2_21_ = a4
        local v2_22_ = a5
        local v2_23_ = v2_13_
        local v2_24_ = a8
        a1:SimulatePhysics(v2_19_, v2_20_, v2_21_, v2_22_, v2_23_, v2_24_)
    end
    v2_17_ = true
    return v2_17_
end
v0_35_.RenderStepped = v0_36_
v0_36_ = function(a1, a2)
    if a1 == a2 then
        local v3_2_ = false
        return v3_2_
    end
    local v3_2_ = a1._destroyed
    if v3_2_ then
        v3_2_ = false
        return v3_2_
    end
    v3_2_ = a1._collected
    if v3_2_ then
        v3_2_ = false
        return v3_2_
    end
    v3_2_ = a2._destroyed
    if v3_2_ then
        v3_2_ = false
        return v3_2_
    end
    v3_2_ = a2._collected
    if v3_2_ then
        v3_2_ = false
        return v3_2_
    end
    v3_2_ = a1._typeNumber
    local v3_3_ = a2._typeNumber
    if v3_2_ ~= v3_3_ then
        v3_3_ = false
        return v3_3_
    end
    v3_3_ = a1._contentType
    local v3_4_ = a2._contentType
    if v3_3_ ~= v3_4_ then
        v3_4_ = false
        return v3_4_
    end
    v3_4_ = a1._items
    local v3_5_ = a2._items
    local v3_8_ = v0_14_
    local v3_7_ = v3_8_.Types
    local v3_6_ = v3_7_.Orb
    if v3_2_ == v3_6_ then
        v3_6_ = v3_4_[-1]
        v3_7_ = v3_5_[-1]
        local v3_10_ = v3_7_
        v3_8_ = v3_6_:IsLikeExact(v3_10_)
        if not v3_8_ then
            v3_8_ = false
            return v3_8_
        end
        local v3_9_ = v3_6_:GetAmount()
        v3_10_ = v3_7_:GetAmount()
        v3_8_ = v3_9_ + v3_10_
        v3_9_ = v3_6_:GetMaxAmount()
        if v3_9_ < v3_8_ then
            v3_8_ = false
            return v3_8_
        end
        a2:Destroy()
        v3_9_ = a1._combinedIds
        v3_10_ = a2._id
        local insert = table.insert
        insert(v3_9_, v3_10_)
        v3_8_ = ipairs
        v3_9_ = a2._combinedIds
        v3_8_, v3_9_, v3_10_ = v3_8_(v3_9_)
        for v3_11_, v3_12_ in v3_8_, v3_9_, v3_10_ do
            local v3_14_ = a1._combinedIds
            local v3_15_ = v3_12_
            local insert = table.insert
            insert(v3_14_, v3_15_)
        end
        v3_8_ = v3_6_:GetOrbIcon()
        local v3_12_ = v3_6_:GetAmount()
        local v3_13_ = v3_7_:GetAmount()
        local v3_11_ = v3_12_ + v3_13_
        v3_6_:SetAmount(v3_11_)
        v3_9_ = v3_6_:GetOrbIcon()
        if v3_8_ ~= v3_9_ then
            v3_10_ = ipairs
            v3_11_ = a1._staticParticles
            v3_10_, v3_11_, v3_12_ = v3_10_(v3_11_)
            for v3_13_, v3_14_ in v3_10_, v3_11_, v3_12_ do
                v3_14_.Texture = v3_9_
            end
        end
        v3_10_ = true
        return v3_10_
    end
    v3_8_ = v0_14_
    v3_7_ = v3_8_.Types
    v3_6_ = v3_7_.Lootbag
    if v3_2_ == v3_6_ then
        a2:Destroy()
        v3_7_ = a1._combinedIds
        v3_8_ = a2._id
        local insert = table.insert
        insert(v3_7_, v3_8_)
        v3_6_ = ipairs
        v3_7_ = a2._combinedIds
        v3_6_, v3_7_, v3_8_ = v3_6_(v3_7_)
        for v3_9_, v3_10_ in v3_6_, v3_7_, v3_8_ do
            local v3_12_ = a1._combinedIds
            local v3_13_ = v3_10_
            local insert = table.insert
            insert(v3_12_, v3_13_)
        end
        v3_6_ = ipairs
        v3_7_ = v3_5_
        v3_6_, v3_7_, v3_8_ = v3_6_(v3_7_)
        for v3_9_, v3_10_ in v3_6_, v3_7_, v3_8_ do
            local v3_12_ = v3_4_
            local v3_13_ = v3_10_
            local insert = table.insert
            insert(v3_12_, v3_13_)
        end
        v3_6_ = true
        return v3_6_
    end
    v3_6_ = false
    return v3_6_
end
v0_35_.Combine = v0_36_
v0_36_ = function(a1, a2, a3, a4)
    local v4_4_ = a1._destroyed
    if v4_4_ then
        return
    end
    v4_4_ = a1._collected
    if v4_4_ then
        return
    end
    v4_4_ = true
    a1._collected = v4_4_
    v4_4_ = a1._typeNumber
    if a3 then
        local v4_5_ = a3.Position
        if not v4_5_ then
            local v4_6_ = a1._cframePhysics
            v4_5_ = v4_6_.Position
        end
    end
    local v4_6_ = a1._cframePhysics
    local v4_5_ = v4_6_.Position
    local v4_7_ = v0_7_
    v4_6_ = v4_7_.VerifyPlayerMagnitude
    v4_7_ = v0_33_
    local v4_8_ = v4_5_
    local v4_10_ = v0_35_
    local v4_9_ = v4_10_.BillboardDistance
    v4_6_ = v4_6_(v4_7_, v4_8_, v4_9_)
    v4_7_ = true
    v4_8_ = ipairs
    v4_9_ = a1._items
    v4_8_, v4_9_, v4_10_ = v4_8_(v4_9_)
    for v4_11_, v4_12_ in v4_8_, v4_9_, v4_10_ do
        local v4_13_ = v0_11_
        local v4_15_ = v4_12_
        v4_13_ = v4_13_:TryCast(v4_15_)
        if v4_13_ then
            if not a4 then
                if v4_6_ then
                    v4_15_ = v0_17_
                    local v4_14_ = v4_15_.AddCurrency
                    v4_15_ = a3
                    if not v4_15_ then
                        v4_15_ = a1._cframePhysics
                    end
                    local v4_16_ = v4_13_:GetAmount()
                    local v4_17_ = v4_13_:GetId()
                    local v4_18_ = true
                    v4_14_(v4_15_, v4_16_, v4_17_, v4_18_)
                end
                if v4_7_ then
                    v4_15_ = v0_7_
                    local v4_14_ = v4_15_.VerifyPlayerMagnitude
                    v4_15_ = v0_33_
                    local v4_16_ = v4_5_
                    local v4_18_ = v0_35_
                    local v4_17_ = v4_18_.SoundDistance
                    v4_14_ = v4_14_(v4_15_, v4_16_, v4_17_)
                    if v4_14_ then
                        v4_7_ = false
                        v4_15_ = a1._typeNumber
                        v4_18_ = v0_14_
                        v4_17_ = v4_18_.Types
                        v4_16_ = v4_17_.Orb
                        if v4_15_ == v4_16_ then
                            v4_16_ = v0_19_
                            v4_15_ = v4_16_.Queue
                            v4_16_ = v4_13_:GetId()
                            v4_18_ = 1
                            local v4_20_ = a1._combinedIds
                            local v4_19_ = #v4_20_
                            v4_17_ = v4_18_ + v4_19_
                            v4_15_(v4_16_, v4_17_)
                        else
                            v4_15_ = a1._typeNumber
                            v4_18_ = v0_14_
                            v4_17_ = v4_18_.Types
                            v4_16_ = v4_17_.Lootbag
                            if v4_15_ == v4_16_ then
                                v4_17_ = v0_31_
                                v4_18_ = a1._contentType
                                v4_16_ = v4_17_[v4_18_]
                                v4_15_ = assert
                                v4_15_ = v4_15_(v4_16_)
                                v4_17_ = v0_8_
                                v4_16_ = v4_17_.Play
                                v4_17_ = v4_15_
                                v4_18_ = a1._cframePhysics
                                local v4_19_ = 1
                                local v4_20_ = 0.650000
                                local v4_21_ = 150
                                v4_16_(v4_17_, v4_18_, v4_19_, v4_20_, v4_21_)
                                if v4_6_ then
                                    if not a4 then
                                        v4_15_ = v0_17_
                                        v4_14_ = v4_15_.RewardItem
                                        v4_15_ = v0_33_
                                        v4_16_ = v4_12_
                                        v4_14_(v4_15_, v4_16_)
                                    end
                                end
                            end
                        end
                    end
                end
            else
                if v4_6_ then
                    if not a4 then
                        v4_15_ = v0_17_
                        local v4_14_ = v4_15_.RewardItem
                        v4_15_ = v0_33_
                        local v4_16_ = v4_12_
                        v4_14_(v4_15_, v4_16_)
                    end
                end
            end
        else
            if v4_6_ then
                if not a4 then
                    v4_15_ = v0_17_
                    local v4_14_ = v4_15_.RewardItem
                    v4_15_ = v0_33_
                    local v4_16_ = v4_12_
                    v4_14_(v4_15_, v4_16_)
                end
            end
        end
    end
    if a2 then
        v4_8_ = nil
        local v4_11_ = "Model"
        v4_9_ = a2:IsA(v4_11_)
        if v4_9_ then
            v4_8_ = a2.PrimaryPart
        else
            v4_11_ = "BasePart"
            v4_9_ = a2:IsA(v4_11_)
            if v4_9_ then
                v4_8_ = a2
            end
        end
        if v4_8_ then
            local v4_12_ = v0_22_
            v4_11_ = v4_12_.Name
            v4_9_ = v4_8_:FindFirstChild(v4_11_)
            if not v4_9_ then
                v4_10_ = v0_22_
                v4_10_ = v4_10_:Clone()
                v4_9_ = v4_10_
                v4_9_.Parent = v4_8_
            end
            v4_12_ = 1
            v4_9_:Emit(v4_12_)
        end
    end
end
v0_35_.Collect = v0_36_
v0_36_ = function(a1)
    local v5_1_ = ""
    local v5_2_ = 0
    if v5_2_ < a1 then
        v5_2_ = v5_1_
        local v5_3_ = "+"
        v5_1_ = v5_2_
    else
        v5_2_ = 0
        if a1 < v5_2_ then
            v5_0_ = -a1
            v5_2_ = v5_1_
            local v5_3_ = "-"
            v5_1_ = v5_2_
        end
    end
    local format = string.format
    local v5_3_ = "%0.2f"
    local v5_4_ = a1
    v5_2_ = format(v5_3_, v5_4_)
    if v5_2_ == "0.00" then
        v5_1_ = ""
    end
    v5_3_ = #v5_2_
    v5_4_ = 5
    while v5_3_ < v5_4_ do
        v5_3_ = " "
        v5_4_ = v5_2_
        v5_2_ = v5_3_
    end
    v5_4_ = v5_1_
    local v5_5_ = v5_2_
    v5_3_ = v5_4_
    return v5_3_
end
formatNumber = v0_36_
v0_36_ = function(a1)
    local v6_2_ = "%*, %*, %*"
    local v6_4_ = formatNumber
    local v6_5_ = a1.X
    v6_4_ = v6_4_(v6_5_)
    v6_5_ = formatNumber
    local v6_6_ = a1.Y
    v6_5_ = v6_5_(v6_6_)
    v6_6_ = formatNumber
    local v6_7_ = a1.Z
    v6_6_ = v6_6_(v6_7_)
    v6_2_ = v6_2_:format(v6_4_, v6_5_, v6_6_)
    local v6_1_ = v6_2_
    return v6_1_
end
formatVector3 = v0_36_
v0_36_ = function(a1, a2, a3, a4, a5, a6, a7)
    local v7_7_ = a1._assemblyMass
    local v7_8_ = a1._physicalProperties
    local v7_9_ = a1._dt
    a2 += v7_9_
    local v7_10_ = a1._cframePhysics
    v7_9_ = v7_10_.Position
    v7_10_ = a1._velocity
    local v7_13_ = 1
    local v7_11_ = a5
    local v7_12_ = 1
    for v7_13_ = v7_13_, v7_11_, v7_12_ do
        local v7_14_ = 0.001000
        if v7_1_ > v7_14_ then
            local v7_15_ = v7_1_
            local v7_16_ = 0.066667
            local min = math.min
            v7_14_ = min(v7_15_, v7_16_)
            local v7_17_ = v7_9_
            local v7_18_ = v7_10_
            local v7_19_ = a4
            v7_15_, v7_16_ = a1:ComputeAcceleration(v7_17_, v7_18_, v7_19_)
            if a6 then
                v7_17_ = a6 - v7_9_
                v7_18_ = v7_17_.Magnitude
                local v7_21_ = v0_35_
                local v7_20_ = v7_21_.CollectDistance
                v7_19_ = v7_20_ + a7
                v7_20_ = 0.001000
                if v7_20_ < v7_18_ then
                    if v7_18_ <= v7_19_ then
                        v7_21_ = a7
                        local v7_22_ = 150.000000
                        local max = math.max
                        v7_20_ = max(v7_21_, v7_22_)
                        v7_22_ = v7_20_ - v7_18_
                        v7_21_ = v7_22_ / v7_20_
                        local v7_24_ = 0
                        local v7_25_ = 1
                        local v7_23_ = v7_21_
                        local clamp = math.clamp
                        v7_22_ = clamp(v7_23_, v7_24_, v7_25_)
                        v7_21_ = v7_22_
                        v7_23_ = 40
                        v7_25_ = 100
                        local v7_26_ = v7_21_ ^ 2.000000
                        v7_24_ = v7_25_ * v7_26_
                        v7_22_ = v7_23_ + v7_24_
                        v7_23_ = a1._typeNumber
                        v7_26_ = v0_14_
                        v7_25_ = v7_26_.Types
                        v7_24_ = v7_25_.Lootbag
                        if v7_23_ == v7_24_ then
                            v7_22_ *= 0.500000
                        end
                        v7_23_ = v7_17_ * v7_22_
                        v7_10_ = v7_23_ / v7_18_
                        v7_23_ = v7_10_.Magnitude
                        v7_24_ = v7_23_ * v7_14_
                        if v7_18_ < v7_24_ then
                            v7_24_ = v7_10_ * v7_18_
                            v7_25_ = v7_23_ * v7_14_
                            v7_10_ = v7_24_ / v7_25_
                        end
                        local zero = Vector3.zero
                        v7_16_ = 0
                    end
                end
            end
            v7_17_ = ComputeMotion
            v7_18_ = v7_9_
            v7_19_ = v7_10_
            local v7_20_ = v7_15_
            local v7_21_ = v7_16_
            local v7_22_ = v7_14_
            v7_17_, v7_18_ = v7_17_(v7_18_, v7_19_, v7_20_, v7_21_, v7_22_)
            v7_19_ = v7_17_ - v7_9_
            v7_20_ = v7_19_.Magnitude
            if v7_20_ == v7_20_ then
                v7_21_ = 0.001000
                if v7_20_ <= v7_21_ then
                    v7_1_ = 0
                    v7_10_ = v7_18_
                else
                    v7_21_ = v7_19_.Y
                    v7_22_ = 0
                    if v7_22_ <= v7_21_ then
                        v7_1_ = 0
                        v7_9_ = v7_17_
                        v7_10_ = v7_18_
                    else
                        v7_22_ = v0_7_
                        v7_21_ = v7_22_.SafeRaycast
                        v7_22_ = v7_9_
                        local v7_23_ = v7_19_
                        local v7_24_ = v0_34_
                        local v7_25_ = 0.001000
                        v7_21_ = v7_21_(v7_22_, v7_23_, v7_24_, v7_25_)
                        if not v7_21_ then
                            v7_1_ = 0
                            v7_9_ = v7_17_
                            v7_10_ = v7_18_
                        else
                            v7_22_ = v7_21_.Normal
                            v7_23_ = v7_21_.Material
                            v7_24_ = v7_21_.Position
                            local v7_26_ = v0_7_
                            v7_25_ = v7_26_.GetMaterialPhysicalProperties
                            v7_26_ = v7_23_
                            v7_25_ = v7_25_(v7_26_)
                            local v7_29_ = v7_21_.Distance
                            local v7_28_ = v7_29_ * v7_14_
                            local v7_27_ = v7_28_ / v7_20_
                            v7_28_ = 0
                            v7_29_ = v7_14_
                            local clamp = math.clamp
                            v7_26_ = clamp(v7_27_, v7_28_, v7_29_)
                            v7_27_ = ComputeMotion
                            v7_28_ = v7_9_
                            v7_29_ = v7_10_
                            local v7_30_ = v7_15_
                            local v7_31_ = v7_16_
                            local v7_32_ = v7_26_
                            v7_27_, v7_28_ = v7_27_(v7_28_, v7_29_, v7_30_, v7_31_, v7_32_)
                            v7_29_ = ComputeImpact
                            v7_30_ = v7_28_
                            v7_31_ = v7_22_
                            v7_32_ = v7_7_
                            local v7_33_ = v7_8_
                            local v7_34_ = v7_25_
                            v7_29_, v7_30_ = v7_29_(v7_30_, v7_31_, v7_32_, v7_33_, v7_34_)
                            v7_28_ = v7_29_ + v7_30_
                            v7_1_ -= v7_26_
                            v7_9_ = v7_24_
                            v7_10_ = v7_28_
                            v7_31_ = 0.001000
                            if v7_26_ <= v7_31_ then
                                v7_1_ = 0
                            else
                            end
                        end
                    end
                end
            end
        end
    end
    v7_11_ = v7_10_.Magnitude
    v7_12_ = 0.001000
    if v7_11_ < v7_12_ then
        v7_11_ = true
        a1._anchored = v7_11_
        v7_1_ = 0
    end
    a1._dt = v7_1_
    local new = CFrame.new
    v7_13_ = v7_9_
    v7_12_ = new(v7_13_)
    local v7_14_ = a1._cframePhysics
    v7_13_ = v7_14_.Rotation
    v7_11_ = v7_12_ * v7_13_
    a1._cframePhysics = v7_11_
    a1._velocity = v7_10_
end
v0_35_.SimulatePhysics = v0_36_
v0_36_ = function(a1, a2, a3)
    local v8_6_ = a1._cframePhysics
    local v8_5_ = v8_6_.Position
    local v8_4_ = v8_5_ - a2
    local v8_3_ = v8_4_.Magnitude
    v8_4_ = 500
    if v8_3_ < v8_4_ then
        v8_5_ = 1
        local v8_8_ = 9
        local v8_7_ = v8_8_ * v8_3_
        v8_6_ = v8_7_ * a3
        v8_4_ = v8_5_ + v8_6_
        local new = NumberSequence.new
        v8_6_ = v8_4_
        v8_5_ = new(v8_6_)
        v8_7_ = v0_7_
        v8_6_ = v8_7_.ScaleNumberSequence
        v8_7_ = v8_5_
        v8_8_ = 1.700000
        v8_6_ = v8_6_(v8_7_, v8_8_)
        v8_7_ = ipairs
        v8_8_ = a1._staticParticles
        local v8_7_, v8_8_, v8_9_ = v8_7_(v8_8_)
        for v8_10_, v8_11_ in v8_7_, v8_8_, v8_9_ do
            local v8_13_ = v8_11_.Name
            if v8_13_ == "Extra" then
                local v8_12_ = v8_6_
                if not v8_12_ then
                    v8_12_ = v8_5_
                end
            end
            local v8_12_ = v8_5_
            v8_11_.Size = v8_12_
        end
    end
end
v0_35_.RenderParticles = v0_36_
v0_36_ = function(a1)
    local v9_1_ = a1._destroyed
    if v9_1_ then
        v9_1_ = false
        return v9_1_
    end
    v9_1_ = true
    a1._destroyed = v9_1_
    v9_1_ = a1._part
    if v9_1_ then
        local v9_2_ = v0_7_
        v9_1_ = v9_2_.AddDebris
        v9_2_ = a1._part
        v9_1_(v9_2_)
    end
    v9_1_ = true
    return v9_1_
end
v0_35_.Destroy = v0_36_
v0_36_ = function(a1, a2, a3, a4)
    local zero = Vector3.zero
    local v10_6_ = 0
    local v10_7_ = -a4
    local v10_8_ = 0
    local new = Vector3.new
    local v10_5_ = new(v10_6_, v10_7_, v10_8_)
    zero += v10_5_
    v10_5_ = a1._dragCoefficient
    v10_6_ = a1._crossSectionalArea
    local v10_10_ = 0.500000
    local v10_9_ = v10_10_ * v10_5_
    v10_8_ = v10_9_ * 1.225000
    v10_7_ = v10_8_ * v10_6_
    v10_8_ = v10_4_
    v10_9_ = v10_7_
    return v10_8_, v10_9_
end
v0_35_.ComputeAcceleration = v0_36_
v0_36_ = function(a1, a2, a3, a4, a5)
    local v11_7_ = a5 ^ 2.000000
    local v11_6_ = a4 * v11_7_
    v11_7_ = 0
    local v11_8_ = 1
    local clamp = math.clamp
    local v11_5_ = clamp(v11_6_, v11_7_, v11_8_)
    v11_3_ = v11_5_
    v11_5_ = a2 * v11_3_
    a2 -= v11_5_
    v11_5_ = a3 * v11_3_
    a3 -= v11_5_
    v11_5_ = v11_1_
    v11_6_ = v11_2_ * a5
    v11_5_ += v11_6_
    v11_6_ = a1
    v11_7_ = v11_1_ * a5
    v11_6_ += v11_7_
    local v11_9_ = 0.500000
    v11_8_ = v11_9_ * v11_2_
    v11_9_ = a5 ^ 2.000000
    v11_7_ = v11_8_ * v11_9_
    v11_6_ += v11_7_
    v11_7_ = v11_6_
    v11_8_ = v11_5_
    return v11_7_, v11_8_
end
ComputeMotion = v0_36_
v0_36_ = function(a1, a2, a3, a4, a5)
    local v12_8_ = a4.Elasticity
    local v12_9_ = a4.ElasticityWeight
    local v12_7_ = v12_8_ * v12_9_
    v12_9_ = a5.Elasticity
    local v12_10_ = a5.ElasticityWeight
    v12_8_ = v12_9_ * v12_10_
    local v12_6_ = v12_7_ + v12_8_
    v12_8_ = a4.ElasticityWeight
    v12_9_ = a5.ElasticityWeight
    v12_7_ = v12_8_ + v12_9_
    local v12_5_ = v12_6_ / v12_7_
    v12_9_ = a4.Friction
    v12_10_ = a4.FrictionWeight
    v12_8_ = v12_9_ * v12_10_
    v12_10_ = a5.Friction
    local v12_11_ = a5.FrictionWeight
    v12_9_ = v12_10_ * v12_11_
    v12_7_ = v12_8_ + v12_9_
    v12_9_ = a4.FrictionWeight
    v12_10_ = a5.FrictionWeight
    v12_8_ = v12_9_ + v12_10_
    v12_6_ = v12_7_ / v12_8_
    v12_10_ = a2
    v12_8_ = a1:Dot(v12_10_)
    v12_7_ = v12_8_ * a2
    v12_8_ = a1 - v12_7_
    local v12_12_ = 2
    local v12_15_ = a2
    local v12_13_ = v12_7_:Dot(v12_15_)
    v12_11_ = v12_12_ * v12_13_
    v12_10_ = v12_11_ * a2
    v12_9_ = v12_7_ - v12_10_
    v12_10_ = v12_9_ * v12_5_
    v12_12_ = v12_5_ - nil --[[WARNING: Broken constant]]
    v12_11_ = v12_8_ * v12_12_
    return v12_10_, v12_11_
end
ComputeImpact = v0_36_
v0_36_ = function(a1, a2)
    local new = CFrame.new
    local v13_3_ = a1.pos
    return new(v13_3_)
end
v0_35_.ComputeInitialCFrame = v0_36_
v0_36_ = {}
local v0_37_ = true
v0_36_.Comet = v0_37_
v0_37_ = true
v0_36_.Pinata = v0_37_
v0_37_ = true
v0_36_["Lucky Block Small"] = v0_37_
v0_37_ = true
v0_36_.LuckyBlock = v0_37_
v0_37_ = function(a1, a2, a3)
    local v14_3_ = nil
    local v14_4_ = a3.CustomVelocity
    if v14_4_ then
        v14_3_ = a3.CustomVelocity
    end
    if not v14_3_ then
        v14_4_ = a3.Type
        local v14_7_ = v0_14_
        local v14_6_ = v14_7_.Types
        local v14_5_ = v14_6_.Lootbag
        if v14_4_ == v14_5_ then
            v14_5_ = v0_32_
            v14_7_ = -15
            local v14_8_ = 15
            v14_5_ = v14_5_:NextNumber(v14_7_, v14_8_)
            v14_6_ = 45
            v14_7_ = v0_32_
            local v14_9_ = -15
            local v14_10_ = 15
            local new = Vector3.new
            v14_4_ = new(v14_7_:NextNumber(v14_9_, v14_10_))
            v14_3_ = v14_4_
        end
    end
    if not v14_3_ then
        local v14_5_ = v0_32_
        local v14_7_ = -10
        local v14_8_ = 10
        v14_5_ = v14_5_:NextNumber(v14_7_, v14_8_)
        local v14_6_ = 50
        v14_7_ = v0_32_
        local v14_9_ = -10
        local v14_10_ = 10
        local new = Vector3.new
        v14_4_ = new(v14_7_:NextNumber(v14_9_, v14_10_))
        v14_3_ = v14_4_
    end
    local v14_5_ = a3.VelocityMultiplier
    v14_4_ = v14_5_ or 1.750000
    v14_3_ *= v14_4_
    return v14_3_
end
v0_35_.ComputeInitialVelocity = v0_37_
v0_37_ = function(a1, a2)
    local v15_2_ = a2.Type
    local v15_5_ = v0_14_
    local v15_4_ = v15_5_.Types
    local v15_3_ = v15_4_.Orb
    if v15_2_ == v15_3_ then
        v15_3_ = a1[-1]
        local v15_6_ = "Currency"
        v15_4_ = v15_3_:IsA(v15_6_)
        if v15_4_ then
            v15_4_ = v0_20_
            v15_4_ = v15_4_:Clone()
            v15_6_ = v15_4_.Center
            v15_5_ = v15_6_.Item
            v15_6_ = v15_3_:GetOrbIcon()
            v15_5_.Texture = v15_6_
            v15_6_ = v15_5_.ZOffset
            local v15_7_ = v0_32_
            local v15_9_ = 0
            local v15_10_ = 0.100000
            v15_7_ = v15_7_:NextNumber(v15_9_, v15_10_)
            v15_6_ += v15_7_
            v15_5_.ZOffset = v15_6_
            v15_7_ = v15_3_:GetId()
            if v15_7_ == "Diamonds" then
                v15_7_ = v0_28_
                v15_6_ = v15_7_.Diamonds
                if not v15_6_ then
                    v15_7_ = v0_28_
                    v15_6_ = v15_7_.Coins
                end
            end
            v15_7_ = v0_28_
            v15_6_ = v15_7_.Coins
            v15_7_ = v15_4_
            local v15_8_ = table.create(1)
            v15_9_ = v15_5_
            v15_8_[1] = v15_9_
            v15_9_ = v15_6_
            return v15_3_:GetRarity()
        end
    else
        v15_5_ = v0_14_
        v15_4_ = v15_5_.Types
        v15_3_ = v15_4_.Lootbag
        if v15_2_ == v15_3_ then
            v15_3_ = a1[-1]
            local v15_6_ = "Currency"
            v15_4_ = v15_3_:IsA(v15_6_)
            if not v15_4_ then
                v15_4_ = v0_21_
                v15_4_ = v15_4_:Clone()
                v15_6_ = v15_4_.Center
                v15_5_ = v15_6_.Item
                local v15_7_ = v15_4_.Center
                v15_6_ = v15_7_.Extra
                v15_7_ = v15_4_.Center
                local new = CFrame.new
                local v15_9_ = 0
                local v15_10_ = 0.750000
                local v15_11_ = 0
                local v15_8_ = new(v15_9_, v15_10_, v15_11_)
                v15_7_.CFrame = v15_8_
                v15_7_ = v15_3_:GetOrbIcon()
                v15_5_.Texture = v15_7_
                v15_7_ = v15_5_.ZOffset
                v15_8_ = v0_32_
                v15_10_ = 0
                v15_11_ = 0.100000
                v15_8_ = v15_8_:NextNumber(v15_10_, v15_11_)
                v15_7_ += v15_8_
                v15_5_.ZOffset = v15_7_
                v15_8_ = v0_28_
                v15_7_ = v15_8_.Misc
                v15_8_ = v15_4_
                v15_9_ = table.create(2)
                v15_10_ = v15_5_
                v15_11_ = v15_6_
                v15_9_[1] = v15_10_
                v15_9_[2] = v15_11_
                v15_10_ = v15_7_
                return v15_3_:GetRarity()
            end
            v15_4_ = CreateLootbagModel
            v15_5_ = a1
            v15_4_, v15_5_, v15_6_ = v15_4_(v15_5_)
            local v15_7_ = false
            v15_4_.CanCollide = v15_7_
            v15_7_ = false
            v15_4_.CanQuery = v15_7_
            v15_7_ = false
            v15_4_.CanTouch = v15_7_
            v15_7_ = false
            v15_4_.CastShadow = v15_7_
            v15_7_ = true
            v15_4_.Anchored = v15_7_
            local new = CFrame.new
            local v15_8_ = 0
            local v15_11_ = v15_4_.Size
            local v15_10_ = v15_11_.Y
            local v15_9_ = v15_10_ * -0.500000
            v15_10_ = 0
            v15_7_ = new(v15_8_, v15_9_, v15_10_)
            v15_4_.PivotOffset = v15_7_
            v15_7_ = v15_4_
            v15_8_ = {}
            v15_9_ = v15_5_
            v15_10_ = v15_6_
            return v15_7_, v15_8_, v15_9_, v15_10_
        end
    end
    v15_3_ = print
    v15_4_ = a1
    v15_3_(v15_4_)
    v15_3_ = print
    v15_4_ = a2
    v15_3_(v15_4_)
    v15_3_ = error
    v15_4_ = "unimplemented"
    v15_3_(v15_4_)
end
v0_35_.CreatePart = v0_37_
v0_37_ = function(a1)
    local v16_1_ = true
    local v16_2_ = nil
    local v16_3_ = ipairs
    local v16_4_ = a1
    local v16_3_, v16_4_, v16_5_ = v16_3_(v16_4_)
    for v16_6_, v16_7_ in v16_3_, v16_4_, v16_5_ do
        local v16_9_ = v16_7_.Class
        local v16_8_ = v16_9_.Name
        if v16_8_ ~= "Currency" then
            v16_1_ = false
        else
            v16_8_ = v16_7_:GetId()
            v16_2_ = v16_8_
        end
    end
    if v16_1_ then
        if v16_2_ == "Coins" then
            v16_3_ = v0_23_
            v16_5_ = "Small"
            v16_3_ = v16_3_:WaitForChild(v16_5_)
            v16_3_ = v16_3_:Clone()
            v16_5_ = v0_28_
            v16_4_ = v16_5_.Coins
            v16_5_ = a1[-1]
            return v16_5_:GetRarity()
        end
        if v16_2_ == "Diamonds" then
            v16_3_ = v0_23_
            v16_5_ = "Diamond Bag"
            v16_3_ = v16_3_:WaitForChild(v16_5_)
            v16_3_ = v16_3_:Clone()
            v16_5_ = v0_28_
            v16_4_ = v16_5_.Diamonds
            v16_5_ = a1[-1]
            return v16_5_:GetRarity()
        end
        v16_3_ = error
        v16_4_ = "unimplemented"
        v16_3_(v16_4_)
    end
    v16_4_ = v0_18_
    v16_3_ = v16_4_.Basic
    v16_4_ = a1
    v16_5_ = nil
    local v16_6_ = nil
    local v16_9_ = nil:GetRarity()
    local v16_10_ = v16_3_.RarityNumber
    local v16_11_ = v16_9_.RarityNumber
    if v16_10_ < v16_11_ then
        v16_3_ = v16_9_
    end
    v16_4_ = v16_3_.Lootbag
    local v16_7_ = "Model"
    v16_5_ = v16_4_:IsA(v16_7_)
    if v16_5_ then
        v16_5_ = warn
        v16_6_ = "need to convert this to not being a model anymore!!!!"
        v16_5_(v16_6_)
        v16_6_ = v16_4_.PrimaryPart
        v16_5_ = assert
        v16_5_ = v16_5_(v16_6_)
        v16_4_ = v16_5_
    end
    v16_5_ = v16_4_
    v16_6_ = v16_5_:Clone()
    local v16_8_ = v0_28_
    v16_7_ = v16_8_.Misc
    v16_8_ = v16_3_
    return v16_6_, v16_7_, v16_8_
end
CreateLootbagModel = v0_37_
return v0_35_

Assistant:
Assistant: