[15:02:15.032] New invocation is queued and will start shortly
[15:02:16.572] Starting the invocation (attempt 1)
[15:02:16.617] Preparing PubSub topic for "https://cr-buildbucket.appspot.com"
[15:02:16.617] PubSub topic is "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
[15:02:16.617] Buildbucket request:
{
"bucket": "luci.dart.ci.sandbox",
"client_operation_id": "9032427463983232000",
"parameters_json": "{\"builder_name\":\"vm-ffi-android-debug-arm\",\"properties\":{\"$recipe_engine/scheduler\":{\"hostname\":\"luci-scheduler.appspot.com\",\"triggers\":[{\"gitiles\":{\"ref\":\"refs/heads/master\",\"repo\":\"https://dart.googlesource.com/sdk\",\"revision\":\"2d92a26cca388b4b4aa217e9ad3e67696d52413b\"},\"id\":\"https://dart.googlesource.com/sdk/+/refs/heads/master@2d92a26cca388b4b4aa217e9ad3e67696d52413b\",\"title\":\"2d92a26cca388b4b4aa217e9ad3e67696d52413b\",\"url\":\"https://dart.googlesource.com/sdk/+/2d92a26cca388b4b4aa217e9ad3e67696d52413b\"}]},\"branch\":\"refs/heads/master\",\"repository\":\"https://dart.googlesource.com/sdk\",\"revision\":\"2d92a26cca388b4b4aa217e9ad3e67696d52413b\"}}",
"pubsub_callback": {
"auth_token": "...",
"topic": "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
},
"tags": [
"builder:vm-ffi-android-debug-arm",
"scheduler_invocation_id:9032427463983232000",
"scheduler_job_id:dart/vm-ffi-android-debug-arm",
"user_agent:luci-scheduler",
"buildset:commit/git/2d92a26cca388b4b4aa217e9ad3e67696d52413b",
"buildset:commit/gitiles/dart.googlesource.com/sdk/+/2d92a26cca388b4b4aa217e9ad3e67696d52413b",
"gitiles_ref:refs/heads/master"
]
}
[15:02:18.208] Buildbucket response:
{
"build": {
"bucket": "luci.dart.ci.sandbox",
"canary_preference": "PROD",
"created_by": "project:dart",
"created_ts": "1602169336806589",
"id": "8866997401447231424",
"parameters_json": "{\"builder_name\": \"vm-ffi-android-debug-arm\", \"properties\": {\"$recipe_engine/scheduler\": {\"hostname\": \"luci-scheduler.appspot.com\", \"triggers\": [{\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"2d92a26cca388b4b4aa217e9ad3e67696d52413b\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@2d92a26cca388b4b4aa217e9ad3e67696d52413b\", \"title\": \"2d92a26cca388b4b4aa217e9ad3e67696d52413b\", \"url\": \"https://dart.googlesource.com/sdk/+/2d92a26cca388b4b4aa217e9ad3e67696d52413b\"}]}, \"branch\": \"refs/heads/master\", \"repository\": \"https://dart.googlesource.com/sdk\", \"revision\": \"2d92a26cca388b4b4aa217e9ad3e67696d52413b\"}}",
"project": "dart",
"result_details_json": "{\"properties\": {}}",
"service_account": "dart-luci-try-builder@dart-ci.iam.gserviceaccount.com",
"status": "SCHEDULED",
"status_changed_ts": "1602169337924348",
"tags": [
"build_address:luci.dart.ci.sandbox/vm-ffi-android-debug-arm/5627",
"builder:vm-ffi-android-debug-arm",
"buildset:commit/git/2d92a26cca388b4b4aa217e9ad3e67696d52413b",
"buildset:commit/gitiles/dart.googlesource.com/sdk/+/2d92a26cca388b4b4aa217e9ad3e67696d52413b",
"gitiles_ref:refs/heads/master",
"scheduler_invocation_id:9032427463983232000",
"scheduler_job_id:dart/vm-ffi-android-debug-arm",
"swarming_hostname:chromium-swarm.appspot.com",
"swarming_tag:log_location:logdog://logs.chromium.org/dart/buildbucket/cr-buildbucket.appspot.com/8866997401447231424/+/annotations",
"swarming_tag:luci_project:dart",
"swarming_tag:recipe_name:dart/neo",
"swarming_tag:recipe_package:dart/recipe_bundles/dart.googlesource.com/recipes",
"swarming_task_id:",
"user_agent:luci-scheduler"
],
"updated_ts": "1602169337924527",
"url": "https://ci.chromium.org/b/8866997401447231424",
"utcnow_ts": "1602169338194282"
}
}
[15:02:18.208] Task URL: https://ci.chromium.org/b/8866997401447231424
[15:02:18.208] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:2:0) after 1m0s
[15:03:19.376] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:2:0)
[15:03:19.376] Timer tick, asking Buildbucket for the build status
[15:03:19.550] Build 8866997401447231424: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[15:03:19.550] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:3:0) after 1m0s
[15:04:19.612] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:3:0)
[15:04:19.612] Timer tick, asking Buildbucket for the build status
[15:04:19.687] Build 8866997401447231424: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[15:04:19.687] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:4:0) after 1m0s
[15:05:19.773] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:4:0)
[15:05:19.773] Timer tick, asking Buildbucket for the build status
[15:05:19.909] Build 8866997401447231424: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[15:05:19.909] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:5:0) after 1m0s
[15:06:19.961] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:5:0)
[15:06:19.961] Timer tick, asking Buildbucket for the build status
[15:06:20.045] Build 8866997401447231424: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[15:06:20.045] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:6:0) after 1m0s
[15:07:20.153] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:6:0)
[15:07:20.153] Timer tick, asking Buildbucket for the build status
[15:07:20.271] Build 8866997401447231424: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[15:07:20.271] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:7:0) after 1m0s
[15:07:48.328] Received PubSub notification, asking Buildbucket for the build status
[15:07:48.524] Build 8866997401447231424: status "STARTED", result "", failure_reason "", cancelation_reason ""
[15:08:20.301] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:7:0)
[15:08:20.301] Timer tick, asking Buildbucket for the build status
[15:08:20.421] Build 8866997401447231424: status "STARTED", result "", failure_reason "", cancelation_reason ""
[15:08:20.421] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:9:0) after 1m0s
[15:09:20.441] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:9:0)
[15:09:20.441] Timer tick, asking Buildbucket for the build status
[15:09:20.988] Build 8866997401447231424: status "STARTED", result "", failure_reason "", cancelation_reason ""
[15:09:20.988] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:10:0) after 1m0s
[15:10:21.111] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:10:0)
[15:10:21.111] Timer tick, asking Buildbucket for the build status
[15:10:21.491] Build 8866997401447231424: status "STARTED", result "", failure_reason "", cancelation_reason ""
[15:10:21.491] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:11:0) after 1m0s
[15:11:21.547] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:11:0)
[15:11:21.547] Timer tick, asking Buildbucket for the build status
[15:11:21.825] Build 8866997401447231424: status "STARTED", result "", failure_reason "", cancelation_reason ""
[15:11:21.825] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:12:0) after 1m0s
[15:12:21.878] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:12:0)
[15:12:21.878] Timer tick, asking Buildbucket for the build status
[15:12:22.189] Build 8866997401447231424: status "STARTED", result "", failure_reason "", cancelation_reason ""
[15:12:22.189] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:13:0) after 1m0s
[15:13:22.245] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:13:0)
[15:13:22.245] Timer tick, asking Buildbucket for the build status
[15:13:22.347] Build 8866997401447231424: status "STARTED", result "", failure_reason "", cancelation_reason ""
[15:13:22.347] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:14:0) after 1m0s
[15:14:22.382] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:14:0)
[15:14:22.382] Timer tick, asking Buildbucket for the build status
[15:14:22.484] Build 8866997401447231424: status "STARTED", result "", failure_reason "", cancelation_reason ""
[15:14:22.484] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:15:0) after 1m0s
[15:15:22.503] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:15:0)
[15:15:22.503] Timer tick, asking Buildbucket for the build status
[15:15:22.993] Build 8866997401447231424: status "STARTED", result "", failure_reason "", cancelation_reason ""
[15:15:22.993] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:16:0) after 1m0s
[15:16:23.142] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:16:0)
[15:16:23.142] Timer tick, asking Buildbucket for the build status
[15:16:23.223] Build 8866997401447231424: status "STARTED", result "", failure_reason "", cancelation_reason ""
[15:16:23.223] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:17:0) after 1m0s
[15:17:23.388] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:17:0)
[15:17:23.388] Timer tick, asking Buildbucket for the build status
[15:17:25.894] Build 8866997401447231424: status "STARTED", result "", failure_reason "", cancelation_reason ""
[15:17:25.894] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:18:0) after 1m0s
[15:18:26.181] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:18:0)
[15:18:26.181] Timer tick, asking Buildbucket for the build status
[15:18:26.271] Build 8866997401447231424: status "STARTED", result "", failure_reason "", cancelation_reason ""
[15:18:26.271] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:19:0) after 1m0s
[15:19:26.403] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:19:0)
[15:19:26.403] Timer tick, asking Buildbucket for the build status
[15:19:26.464] Build 8866997401447231424: status "STARTED", result "", failure_reason "", cancelation_reason ""
[15:19:26.464] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:20:0) after 1m0s
[15:20:26.485] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:20:0)
[15:20:26.485] Timer tick, asking Buildbucket for the build status
[15:20:26.791] Build 8866997401447231424: status "STARTED", result "", failure_reason "", cancelation_reason ""
[15:20:26.791] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:21:0) after 1m0s
[15:21:26.956] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:21:0)
[15:21:26.956] Timer tick, asking Buildbucket for the build status
[15:21:27.286] Build 8866997401447231424: status "STARTED", result "", failure_reason "", cancelation_reason ""
[15:21:27.286] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:22:0) after 1m0s
[15:22:27.384] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:22:0)
[15:22:27.384] Timer tick, asking Buildbucket for the build status
[15:22:27.867] Build 8866997401447231424: status "STARTED", result "", failure_reason "", cancelation_reason ""
[15:22:27.867] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:23:0) after 1m0s
[15:23:27.968] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:23:0)
[15:23:27.968] Timer tick, asking Buildbucket for the build status
[15:23:28.056] Build 8866997401447231424: status "STARTED", result "", failure_reason "", cancelation_reason ""
[15:23:28.056] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:24:0) after 1m0s
[15:24:28.098] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:24:0)
[15:24:28.098] Timer tick, asking Buildbucket for the build status
[15:24:28.174] Build 8866997401447231424: status "STARTED", result "", failure_reason "", cancelation_reason ""
[15:24:28.174] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:25:0) after 1m0s
[15:25:28.271] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:25:0)
[15:25:28.271] Timer tick, asking Buildbucket for the build status
[15:25:28.579] Build 8866997401447231424: status "STARTED", result "", failure_reason "", cancelation_reason ""
[15:25:28.579] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:26:0) after 1m0s
[15:26:28.726] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:26:0)
[15:26:28.726] Timer tick, asking Buildbucket for the build status
[15:26:28.795] Build 8866997401447231424: status "STARTED", result "", failure_reason "", cancelation_reason ""
[15:26:28.795] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:27:0) after 1m0s
[15:27:28.890] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:27:0)
[15:27:28.890] Timer tick, asking Buildbucket for the build status
[15:27:29.002] Build 8866997401447231424: status "STARTED", result "", failure_reason "", cancelation_reason ""
[15:27:29.002] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:28:0) after 1m0s
[15:28:29.043] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:28:0)
[15:28:29.043] Timer tick, asking Buildbucket for the build status
[15:28:29.200] Build 8866997401447231424: status "STARTED", result "", failure_reason "", cancelation_reason ""
[15:28:29.200] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:29:0) after 1m0s
[15:29:29.257] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:29:0)
[15:29:29.257] Timer tick, asking Buildbucket for the build status
[15:29:29.380] Build 8866997401447231424: status "STARTED", result "", failure_reason "", cancelation_reason ""
[15:29:29.380] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9032427463983232000:30:0) after 1m0s
[15:30:23.391] Received PubSub notification, asking Buildbucket for the build status
[15:30:23.524] Build 8866997401447231424: status "COMPLETED", result "SUCCESS", failure_reason "", cancelation_reason ""
[15:30:23.524] Buildbucket build:
{
"build": {
"bucket": "luci.dart.ci.sandbox",
"canary_preference": "PROD",
"completed_ts": "1602171022418085",
"created_by": "project:dart",
"created_ts": "1602169336806589",
"id": "8866997401447231424",
"parameters_json": "{\"builder_name\": \"vm-ffi-android-debug-arm\", \"properties\": {\"$recipe_engine/scheduler\": {\"hostname\": \"luci-scheduler.appspot.com\", \"triggers\": [{\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"2d92a26cca388b4b4aa217e9ad3e67696d52413b\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@2d92a26cca388b4b4aa217e9ad3e67696d52413b\", \"title\": \"2d92a26cca388b4b4aa217e9ad3e67696d52413b\", \"url\": \"https://dart.googlesource.com/sdk/+/2d92a26cca388b4b4aa217e9ad3e67696d52413b\"}]}, \"branch\": \"refs/heads/master\", \"repository\": \"https://dart.googlesource.com/sdk\", \"revision\": \"2d92a26cca388b4b4aa217e9ad3e67696d52413b\"}}",
"project": "dart",
"result": "SUCCESS",
"result_details_json": "{\"properties\": {\"$build/goma\": {\"enable_ats\": true, \"server_host\": \"goma.chromium.org\", \"use_luci_auth\": true}, \"$recipe_engine/isolated\": {\"server\": \"https://isolateserver.appspot.com\"}, \"$recipe_engine/path\": {\"cache_dir\": \"/b/s/w/ir/cache\", \"temp_dir\": \"/b/s/w/ir/tmp/rt\"}, \"$recipe_engine/runtime\": {\"is_experimental\": false, \"is_luci\": true}, \"$recipe_engine/scheduler\": {\"hostname\": \"luci-scheduler.appspot.com\", \"triggers\": [{\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"2d92a26cca388b4b4aa217e9ad3e67696d52413b\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@2d92a26cca388b4b4aa217e9ad3e67696d52413b\", \"title\": \"2d92a26cca388b4b4aa217e9ad3e67696d52413b\", \"url\": \"https://dart.googlesource.com/sdk/+/2d92a26cca388b4b4aa217e9ad3e67696d52413b\"}]}, \"$recipe_engine/swarming\": {\"server\": \"https://chromium-swarm.appspot.com\"}, \"bot_id\": \"luci-dart-try-xenial-4-usbl\", \"branch\": \"refs/heads/master\", \"buildername\": \"vm-ffi-android-debug-arm\", \"buildnumber\": 5627, \"clobber\": \"true\", \"got_revision\": \"2d92a26cca388b4b4aa217e9ad3e67696d52413b\", \"path_config\": \"generic\", \"recipe\": \"dart/neo\", \"repository\": \"https://dart.googlesource.com/sdk\", \"revision\": \"2d92a26cca388b4b4aa217e9ad3e67696d52413b\"}, \"swarming\": {\"bot_dimensions\": {\"caches\": [\"browsers\", \"builder_241e538e8452e1796bbcad468081da4a7fc2425fe772709369c2216d44f54a8c_v2\", \"git\", \"goma_v2\", \"vpython\"], \"cores\": [\"8\"], \"cpu\": [\"x86\", \"x86-64\", \"x86-64-Broadwell_GCE\", \"x86-64-avx2\"], \"gce\": [\"1\"], \"gcp\": [\"dart-ci\"], \"gpu\": [\"none\"], \"host_class\": [\"default\"], \"id\": [\"luci-dart-try-xenial-4-usbl\"], \"image\": [\"dart-xenial-20052400-59eb8623c93\"], \"inside_docker\": [\"0\"], \"kvm\": [\"1\"], \"locale\": [\"en_US.UTF-8\"], \"machine_type\": [\"n1-standard-8\"], \"os\": [\"Linux\", \"Ubuntu\", \"Ubuntu-16\", \"Ubuntu-16.04\", \"Ubuntu-16.04.6\"], \"pool\": [\"dart.tests\", \"luci.dart.try\"], \"python\": [\"2.7.12\"], \"server_version\": [\"5570-fa4adf0\"], \"ssd\": [\"0\"], \"zone\": [\"us\", \"us-central\", \"us-central1\", \"us-central1-b\"]}}}",
"service_account": "dart-luci-try-builder@dart-ci.iam.gserviceaccount.com",
"started_ts": "1602169666777679",
"status": "COMPLETED",
"status_changed_ts": "1602171022830784",
"tags": [
"build_address:luci.dart.ci.sandbox/vm-ffi-android-debug-arm/5627",
"builder:vm-ffi-android-debug-arm",
"buildset:commit/git/2d92a26cca388b4b4aa217e9ad3e67696d52413b",
"buildset:commit/gitiles/dart.googlesource.com/sdk/+/2d92a26cca388b4b4aa217e9ad3e67696d52413b",
"gitiles_ref:refs/heads/master",
"scheduler_invocation_id:9032427463983232000",
"scheduler_job_id:dart/vm-ffi-android-debug-arm",
"swarming_hostname:chromium-swarm.appspot.com",
"swarming_tag:log_location:logdog://logs.chromium.org/dart/buildbucket/cr-buildbucket.appspot.com/8866997401447231424/+/annotations",
"swarming_tag:luci_project:dart",
"swarming_tag:os:Linux",
"swarming_tag:recipe_name:dart/neo",
"swarming_tag:recipe_package:dart/recipe_bundles/dart.googlesource.com/recipes",
"swarming_task_id:4f218d832b975710",
"user_agent:luci-scheduler"
],
"updated_ts": "1602171022890070",
"url": "https://ci.chromium.org/b/8866997401447231424",
"utcnow_ts": "1602171023512218"
}
}
[15:30:23.524] Invocation finished in 28m8.519712974s with status SUCCEEDED