Build Information
Successful build of SwiftDisc, reference main (d85827), with Swift 6.3 for macOS (SPM) on 4 Jul 2026 19:35:01 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: undefined version: run 'make version' to update
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/M1tsumi/SwiftDisc.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/M1tsumi/SwiftDisc
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at d858271 Release v2.5.0 (#17)
Cloned https://github.com/M1tsumi/SwiftDisc.git
Revision (git rev-parse @):
d858271d23a91a350935c4667c230d99238b4051
SUCCESS checkout https://github.com/M1tsumi/SwiftDisc.git at main
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"traits": [
"default"
],
"dependencies": [
{
"identity": "swiftdisc",
"name": "SwiftDisc",
"url": "https://github.com/M1tsumi/SwiftDisc.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/SwiftDisc",
"traits": [
"default"
],
"dependencies": [
]
}
]
}
Fetching https://github.com/M1tsumi/SwiftDisc.git
[1/7081] Fetching swiftdisc
Fetched https://github.com/M1tsumi/SwiftDisc.git from cache (1.32s)
Creating working copy for https://github.com/M1tsumi/SwiftDisc.git
Working copy of https://github.com/M1tsumi/SwiftDisc.git resolved at main (d858271)
warning: '.resolve-product-dependencies': dependency 'swiftdisc' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.3
Building package at path: $PWD
https://github.com/M1tsumi/SwiftDisc.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64
Building for debugging...
[0/53] Write PingBotExample-entitlement.plist
[0/53] Write sources
[0/53] Write ShardingBotExample-entitlement.plist
[3/53] Write SlashBotExample-entitlement.plist
[4/53] Write WebhookBotExample-entitlement.plist
[4/53] Write sources
[6/53] Write ViewExample-entitlement.plist
[6/53] Write sources
[6/53] Write FileUploadBotExample-entitlement.plist
[9/53] Write sources
[13/53] Write ComponentsExample-entitlement.plist
[14/53] Write ComponentsV2BotExample-entitlement.plist
[15/53] Write sources
[20/53] Write CommandsBotExample-entitlement.plist
[20/53] Write AutocompleteBotExample-entitlement.plist
[22/53] Write swift-version--6988338F2F200930.txt
[24/126] Compiling SwiftDisc Guild.swift
[25/126] Compiling SwiftDisc GuildBan.swift
[26/126] Compiling SwiftDisc GuildMember.swift
[27/126] Compiling SwiftDisc GuildPreview.swift
[28/126] Compiling SwiftDisc GuildWidgetSettings.swift
[29/126] Compiling SwiftDisc Interaction.swift
[30/126] Compiling SwiftDisc Invite.swift
[31/126] Compiling SwiftDisc MFALevel.swift
[32/126] Emitting module SwiftDisc
/Users/admin/builder/spi-builder-workspace/Sources/SwiftDisc/Models/Message.swift:652:5: warning: 'public' modifier is redundant for instance method declared in a public extension
650 | /// ```
651 | @discardableResult
652 | public func reply(
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
653 | client: DiscordClient,
654 | content: String? = nil,
[33/126] Compiling SwiftDisc ApplicationRoleConnection.swift
[34/126] Compiling SwiftDisc Attachment.swift
[35/126] Compiling SwiftDisc AuditLog.swift
[36/126] Compiling SwiftDisc AutoModeration.swift
[37/126] Compiling SwiftDisc Channel.swift
[38/126] Compiling SwiftDisc Embed.swift
[39/126] Compiling SwiftDisc Emoji.swift
[40/126] Compiling SwiftDisc Files.swift
[41/126] Compiling SwiftDisc JSONValue.swift
[42/126] Compiling SwiftDisc OptionalField.swift
[43/126] Compiling SwiftDisc ProxyConfiguration.swift
[44/126] Compiling SwiftDisc RetryPolicy.swift
[45/126] Compiling SwiftDisc TokenStorage.swift
[46/126] Compiling SwiftDisc AdvancedMessagePayloads.swift
[47/126] Compiling SwiftDisc AppInstallations.swift
[48/126] Compiling SwiftDisc Application.swift
[49/133] Compiling SwiftDisc RoleMemberCount.swift
[50/133] Compiling SwiftDisc ScheduledEvent.swift
[51/133] Compiling SwiftDisc ScheduledEventUser.swift
[52/133] Compiling SwiftDisc Snowflake.swift
[53/133] Compiling SwiftDisc StageInstance.swift
[54/133] Compiling SwiftDisc Sticker.swift
[55/133] Compiling SwiftDisc Template.swift
[56/133] Compiling SwiftDisc Thread.swift
[57/133] Compiling SwiftDisc Collectors.swift
[58/133] Compiling SwiftDisc CommandRouter.swift
[59/133] Compiling SwiftDisc ComponentCollector.swift
[60/133] Compiling SwiftDisc ComponentsBuilder.swift
[61/133] Compiling SwiftDisc Converters.swift
[62/133] Compiling SwiftDisc CooldownManager.swift
[63/133] Compiling SwiftDisc EmbedBuilder.swift
[64/133] Compiling SwiftDisc Extensions.swift
[65/133] Compiling SwiftDisc MessagePayload.swift
[66/133] Compiling SwiftDisc MessageValidation.swift
[67/133] Compiling SwiftDisc Permissions.swift
[68/133] Compiling SwiftDisc ShardingGatewayManager.swift
[69/133] Compiling SwiftDisc SlashCommandBuilder.swift
[70/133] Compiling SwiftDisc SlashCommandRouter.swift
[71/133] Compiling SwiftDisc Utilities.swift
[72/133] Compiling SwiftDisc ViewManager.swift
[73/133] Compiling SwiftDisc Message.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftDisc/Models/Message.swift:652:5: warning: 'public' modifier is redundant for instance method declared in a public extension
650 | /// ```
651 | @discardableResult
652 | public func reply(
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
653 | client: DiscordClient,
654 | content: String? = nil,
[74/133] Compiling SwiftDisc MessageComponents.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftDisc/Models/Message.swift:652:5: warning: 'public' modifier is redundant for instance method declared in a public extension
650 | /// ```
651 | @discardableResult
652 | public func reply(
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
653 | client: DiscordClient,
654 | content: String? = nil,
[75/133] Compiling SwiftDisc Monetization.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftDisc/Models/Message.swift:652:5: warning: 'public' modifier is redundant for instance method declared in a public extension
650 | /// ```
651 | @discardableResult
652 | public func reply(
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
653 | client: DiscordClient,
654 | content: String? = nil,
[76/133] Compiling SwiftDisc NewMemberWelcome.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftDisc/Models/Message.swift:652:5: warning: 'public' modifier is redundant for instance method declared in a public extension
650 | /// ```
651 | @discardableResult
652 | public func reply(
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
653 | client: DiscordClient,
654 | content: String? = nil,
[77/133] Compiling SwiftDisc Onboarding.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftDisc/Models/Message.swift:652:5: warning: 'public' modifier is redundant for instance method declared in a public extension
650 | /// ```
651 | @discardableResult
652 | public func reply(
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
653 | client: DiscordClient,
654 | content: String? = nil,
[78/133] Compiling SwiftDisc PartialGuild.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftDisc/Models/Message.swift:652:5: warning: 'public' modifier is redundant for instance method declared in a public extension
650 | /// ```
651 | @discardableResult
652 | public func reply(
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
653 | client: DiscordClient,
654 | content: String? = nil,
[79/133] Compiling SwiftDisc PermissionBitset.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftDisc/Models/Message.swift:652:5: warning: 'public' modifier is redundant for instance method declared in a public extension
650 | /// ```
651 | @discardableResult
652 | public func reply(
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
653 | client: DiscordClient,
654 | content: String? = nil,
[80/133] Compiling SwiftDisc Role.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftDisc/Models/Message.swift:652:5: warning: 'public' modifier is redundant for instance method declared in a public extension
650 | /// ```
651 | @discardableResult
652 | public func reply(
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
653 | client: DiscordClient,
654 | content: String? = nil,
[81/133] Compiling SwiftDisc User.swift
[82/133] Compiling SwiftDisc VanityURL.swift
[83/133] Compiling SwiftDisc Webhook.swift
[84/133] Compiling SwiftDisc HTTPClient.swift
[85/133] Compiling SwiftDisc RateLimitEvent.swift
[86/133] Compiling SwiftDisc RateLimiter.swift
[87/133] Compiling SwiftDisc URLSessionTransport.swift
[88/133] Compiling SwiftDisc WebhookClient.swift
[89/133] Compiling SwiftDisc Cache.swift
[90/133] Compiling SwiftDisc DiscordAPIErrorBody.swift
[91/133] Compiling SwiftDisc DiscordConfiguration.swift
[92/133] Compiling SwiftDisc DiscordError.swift
[93/133] Compiling SwiftDisc DiscordUtils.swift
[94/133] Compiling SwiftDisc EventDispatcher.swift
[95/133] Compiling SwiftDisc JSONCoders.swift
[96/133] Compiling SwiftDisc DiscordClient.swift
[97/133] Compiling SwiftDisc GatewayClient.swift
[98/133] Compiling SwiftDisc GatewayModels.swift
[99/133] Compiling SwiftDisc Intents.swift
[100/133] Compiling SwiftDisc WebSocket.swift
[101/133] Compiling SwiftDisc HTTPTransport.swift
[102/133] Compiling SwiftDisc ActivityBuilder.swift
[103/133] Compiling SwiftDisc AutocompleteRouter.swift
[104/153] Emitting module SwiftDiscAHCTransport
[105/153] Compiling SwiftDiscAHCTransport AHCTransport.swift
[106/155] Emitting module ViewExample
[107/155] Compiling ViewExample ViewExample.swift
[107/155] Write Objects.LinkFileList
[109/155] Compiling PingBotExample PingBot.swift
[110/155] Emitting module PingBotExample
[111/155] Emitting module ShardingBotExample
[112/155] Compiling ShardingBotExample ShardingBot.swift
[112/155] Write Objects.LinkFileList
[114/155] Compiling WebhookBotExample WebhookBot.swift
[115/155] Emitting module WebhookBotExample
[115/155] Write Objects.LinkFileList
[117/155] Compiling SlashBotExample SlashBot.swift
[118/155] Emitting module SlashBotExample
[119/155] Compiling FileUploadBotExample FileUploadBot.swift
[120/155] Emitting module FileUploadBotExample
[120/155] Write Objects.LinkFileList
[122/155] Compiling CommandsBotExample CommandsBot.swift
[123/155] Emitting module CommandsBotExample
[123/155] Write Objects.LinkFileList
[126/155] Emitting module ComponentsV2BotExample
[127/155] Compiling ComponentsV2BotExample ComponentsV2Bot.swift
[127/155] Write Objects.LinkFileList
[130/155] Emitting module ComponentsExample
[131/155] Compiling ComponentsExample ComponentsExample.swift
/Users/admin/builder/spi-builder-workspace/Examples/ComponentsExample.swift:18:13: warning: variable 'components' was never mutated; consider changing to 'let' constant
16 |
17 | // Build components
18 | var components = ComponentsBuilder()
| `- warning: variable 'components' was never mutated; consider changing to 'let' constant
19 | _ = components.row { row in
20 | let btn = ButtonBuilder()
[131/155] Write Objects.LinkFileList
[133/155] Emitting module AutocompleteBotExample
[134/155] Compiling AutocompleteBotExample AutocompleteBot.swift
[134/155] Write Objects.LinkFileList
[135/155] Linking ViewExample
[136/155] Applying ViewExample
[137/155] Linking PingBotExample
[138/155] Applying PingBotExample
[139/155] Linking ShardingBotExample
[140/155] Applying ShardingBotExample
[141/155] Linking FileUploadBotExample
[142/155] Applying FileUploadBotExample
[143/155] Linking SlashBotExample
[144/155] Applying SlashBotExample
[145/155] Linking WebhookBotExample
[146/155] Applying WebhookBotExample
[147/155] Linking CommandsBotExample
[148/155] Applying CommandsBotExample
[149/155] Linking ComponentsV2BotExample
[150/155] Applying ComponentsV2BotExample
[151/155] Linking ComponentsExample
[152/155] Applying ComponentsExample
[153/155] Linking AutocompleteBotExample
[154/155] Applying AutocompleteBotExample
Build complete! (16.05s)
Build complete.
{
"default_localization" : "en",
"dependencies" : [
],
"manifest_display_name" : "SwiftDisc",
"name" : "SwiftDisc",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "14.0"
},
{
"name" : "macos",
"version" : "11.0"
},
{
"name" : "tvos",
"version" : "14.0"
},
{
"name" : "watchos",
"version" : "7.0"
}
],
"products" : [
{
"name" : "SwiftDisc",
"targets" : [
"SwiftDisc"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SwiftDiscAHCTransport",
"targets" : [
"SwiftDiscAHCTransport"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "WebhookBotExample",
"targets" : [
"WebhookBotExample"
],
"type" : {
"executable" : null
}
},
{
"name" : "ViewExample",
"targets" : [
"ViewExample"
],
"type" : {
"executable" : null
}
},
{
"name" : "SlashBotExample",
"targets" : [
"SlashBotExample"
],
"type" : {
"executable" : null
}
},
{
"name" : "ShardingBotExample",
"targets" : [
"ShardingBotExample"
],
"type" : {
"executable" : null
}
},
{
"name" : "PingBotExample",
"targets" : [
"PingBotExample"
],
"type" : {
"executable" : null
}
},
{
"name" : "FileUploadBotExample",
"targets" : [
"FileUploadBotExample"
],
"type" : {
"executable" : null
}
},
{
"name" : "ComponentsV2BotExample",
"targets" : [
"ComponentsV2BotExample"
],
"type" : {
"executable" : null
}
},
{
"name" : "ComponentsExample",
"targets" : [
"ComponentsExample"
],
"type" : {
"executable" : null
}
},
{
"name" : "CommandsBotExample",
"targets" : [
"CommandsBotExample"
],
"type" : {
"executable" : null
}
},
{
"name" : "AutocompleteBotExample",
"targets" : [
"AutocompleteBotExample"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "WebhookBotExample",
"module_type" : "SwiftTarget",
"name" : "WebhookBotExample",
"path" : "Examples",
"product_memberships" : [
"WebhookBotExample"
],
"sources" : [
"WebhookBot.swift"
],
"target_dependencies" : [
"SwiftDisc"
],
"type" : "executable"
},
{
"c99name" : "ViewExample",
"module_type" : "SwiftTarget",
"name" : "ViewExample",
"path" : "Examples",
"product_memberships" : [
"ViewExample"
],
"sources" : [
"ViewExample.swift"
],
"target_dependencies" : [
"SwiftDisc"
],
"type" : "executable"
},
{
"c99name" : "SwiftDiscTests",
"module_type" : "SwiftTarget",
"name" : "SwiftDiscTests",
"path" : "Tests/SwiftDiscTests",
"sources" : [
"CacheTests.swift",
"CodableDecodingTests.swift",
"CollectorsTests.swift",
"ComponentCollectorTests.swift",
"ComponentsV2Tests.swift",
"ConvertersTests.swift",
"CooldownTests.swift",
"DiscordConfigurationTests.swift",
"DiscordErrorTests.swift",
"InteractionDecodingTests.swift",
"InternalTests.swift",
"ReleaseV1Tests.swift",
"ShardingTests.swift",
"SlashCommandRouterTests.swift",
"SwiftDiscTests.swift",
"TestFixtures.swift",
"ViewManagerTests.swift"
],
"target_dependencies" : [
"SwiftDisc"
],
"type" : "test"
},
{
"c99name" : "SwiftDiscAHCTransport",
"module_type" : "SwiftTarget",
"name" : "SwiftDiscAHCTransport",
"path" : "Sources/SwiftDiscAHCTransport",
"product_memberships" : [
"SwiftDiscAHCTransport"
],
"sources" : [
"AHCTransport.swift"
],
"target_dependencies" : [
"SwiftDisc"
],
"type" : "library"
},
{
"c99name" : "SwiftDisc",
"module_type" : "SwiftTarget",
"name" : "SwiftDisc",
"path" : "Sources/SwiftDisc",
"product_memberships" : [
"SwiftDisc",
"SwiftDiscAHCTransport",
"WebhookBotExample",
"ViewExample",
"SlashBotExample",
"ShardingBotExample",
"PingBotExample",
"FileUploadBotExample",
"ComponentsV2BotExample",
"ComponentsExample",
"CommandsBotExample",
"AutocompleteBotExample"
],
"sources" : [
"DiscordClient.swift",
"Gateway/GatewayClient.swift",
"Gateway/GatewayModels.swift",
"Gateway/Intents.swift",
"Gateway/WebSocket.swift",
"HTTPTransport.swift",
"HighLevel/ActivityBuilder.swift",
"HighLevel/AutocompleteRouter.swift",
"HighLevel/Collectors.swift",
"HighLevel/CommandRouter.swift",
"HighLevel/ComponentCollector.swift",
"HighLevel/ComponentsBuilder.swift",
"HighLevel/Converters.swift",
"HighLevel/CooldownManager.swift",
"HighLevel/EmbedBuilder.swift",
"HighLevel/Extensions.swift",
"HighLevel/MessagePayload.swift",
"HighLevel/MessageValidation.swift",
"HighLevel/Permissions.swift",
"HighLevel/ShardingGatewayManager.swift",
"HighLevel/SlashCommandBuilder.swift",
"HighLevel/SlashCommandRouter.swift",
"HighLevel/Utilities.swift",
"HighLevel/ViewManager.swift",
"HighLevel/WebhookClient.swift",
"Internal/Cache.swift",
"Internal/DiscordAPIErrorBody.swift",
"Internal/DiscordConfiguration.swift",
"Internal/DiscordError.swift",
"Internal/DiscordUtils.swift",
"Internal/EventDispatcher.swift",
"Internal/JSONCoders.swift",
"Internal/JSONValue.swift",
"Internal/OptionalField.swift",
"Internal/ProxyConfiguration.swift",
"Internal/RetryPolicy.swift",
"Internal/TokenStorage.swift",
"Models/AdvancedMessagePayloads.swift",
"Models/AppInstallations.swift",
"Models/Application.swift",
"Models/ApplicationRoleConnection.swift",
"Models/Attachment.swift",
"Models/AuditLog.swift",
"Models/AutoModeration.swift",
"Models/Channel.swift",
"Models/Embed.swift",
"Models/Emoji.swift",
"Models/Files.swift",
"Models/Guild.swift",
"Models/GuildBan.swift",
"Models/GuildMember.swift",
"Models/GuildPreview.swift",
"Models/GuildWidgetSettings.swift",
"Models/Interaction.swift",
"Models/Invite.swift",
"Models/MFALevel.swift",
"Models/Message.swift",
"Models/MessageComponents.swift",
"Models/Monetization.swift",
"Models/NewMemberWelcome.swift",
"Models/Onboarding.swift",
"Models/PartialGuild.swift",
"Models/PermissionBitset.swift",
"Models/Role.swift",
"Models/RoleMemberCount.swift",
"Models/ScheduledEvent.swift",
"Models/ScheduledEventUser.swift",
"Models/Snowflake.swift",
"Models/StageInstance.swift",
"Models/Sticker.swift",
"Models/Template.swift",
"Models/Thread.swift",
"Models/User.swift",
"Models/VanityURL.swift",
"Models/Webhook.swift",
"REST/HTTPClient.swift",
"REST/RateLimitEvent.swift",
"REST/RateLimiter.swift",
"URLSessionTransport.swift"
],
"type" : "library"
},
{
"c99name" : "SlashBotExample",
"module_type" : "SwiftTarget",
"name" : "SlashBotExample",
"path" : "Examples",
"product_memberships" : [
"SlashBotExample"
],
"sources" : [
"SlashBot.swift"
],
"target_dependencies" : [
"SwiftDisc"
],
"type" : "executable"
},
{
"c99name" : "ShardingBotExample",
"module_type" : "SwiftTarget",
"name" : "ShardingBotExample",
"path" : "Examples",
"product_memberships" : [
"ShardingBotExample"
],
"sources" : [
"ShardingBot.swift"
],
"target_dependencies" : [
"SwiftDisc"
],
"type" : "executable"
},
{
"c99name" : "PingBotExample",
"module_type" : "SwiftTarget",
"name" : "PingBotExample",
"path" : "Examples",
"product_memberships" : [
"PingBotExample"
],
"sources" : [
"PingBot.swift"
],
"target_dependencies" : [
"SwiftDisc"
],
"type" : "executable"
},
{
"c99name" : "FileUploadBotExample",
"module_type" : "SwiftTarget",
"name" : "FileUploadBotExample",
"path" : "Examples",
"product_memberships" : [
"FileUploadBotExample"
],
"sources" : [
"FileUploadBot.swift"
],
"target_dependencies" : [
"SwiftDisc"
],
"type" : "executable"
},
{
"c99name" : "ComponentsV2BotExample",
"module_type" : "SwiftTarget",
"name" : "ComponentsV2BotExample",
"path" : "Examples",
"product_memberships" : [
"ComponentsV2BotExample"
],
"sources" : [
"ComponentsV2Bot.swift"
],
"target_dependencies" : [
"SwiftDisc"
],
"type" : "executable"
},
{
"c99name" : "ComponentsExample",
"module_type" : "SwiftTarget",
"name" : "ComponentsExample",
"path" : "Examples",
"product_memberships" : [
"ComponentsExample"
],
"sources" : [
"ComponentsExample.swift"
],
"target_dependencies" : [
"SwiftDisc"
],
"type" : "executable"
},
{
"c99name" : "CommandsBotExample",
"module_type" : "SwiftTarget",
"name" : "CommandsBotExample",
"path" : "Examples",
"product_memberships" : [
"CommandsBotExample"
],
"sources" : [
"CommandsBot.swift"
],
"target_dependencies" : [
"SwiftDisc"
],
"type" : "executable"
},
{
"c99name" : "AutocompleteBotExample",
"module_type" : "SwiftTarget",
"name" : "AutocompleteBotExample",
"path" : "Examples",
"product_memberships" : [
"AutocompleteBotExample"
],
"sources" : [
"AutocompleteBot.swift"
],
"target_dependencies" : [
"SwiftDisc"
],
"type" : "executable"
}
],
"tools_version" : "6.2"
}
Done.