Status: SUCCEEDED
Triggered by: -
Duration: 21 minutes
Actions:

Definition (rev 87c81a0564e80a859b51592c55e8ee65c113ae9f)

buildbucket: <
  server: "cr-buildbucket.appspot.com"
  bucket: "luci.dart.ci.sandbox"
  builder: "flutter-analyze"
>

Incoming triggers

Incoming properties

{
  "branch": "refs/heads/master",
  "repository": "https://dart.googlesource.com/sdk/",
  "revision": "b196cd2acb6494d04ea6cf6df68d6bf49e6e955a"
}

Incoming tags

  • buildset:commit/git/b196cd2acb6494d04ea6cf6df68d6bf49e6e955a
  • buildset:commit/gitiles/dart.googlesource.com/sdk/+/b196cd2acb6494d04ea6cf6df68d6bf49e6e955a
  • gitiles_ref:refs/heads/master

Debug log (UTC)

[22:42:20.552] New invocation is queued and will start shortly
[22:42:21.803] Starting the invocation (attempt 1)
[22:42:21.846] Preparing PubSub topic for "https://cr-buildbucket.appspot.com"
[22:42:21.846] PubSub topic is "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
[22:42:21.846] Buildbucket request:
{
  "bucket": "luci.dart.ci.sandbox",
  "client_operation_id": "9088387442720417344",
  "parameters_json": "{\"builder_name\":\"flutter-analyze\",\"properties\":{\"branch\":\"refs/heads/master\",\"repository\":\"https://dart.googlesource.com/sdk/\",\"revision\":\"b196cd2acb6494d04ea6cf6df68d6bf49e6e955a\"}}",
  "pubsub_callback": {
    "auth_token": "...",
    "topic": "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
  },
  "tags": [
    "builder:flutter-analyze",
    "scheduler_invocation_id:9088387442720417344",
    "scheduler_job_id:dart/flutter-analyze",
    "user_agent:luci-scheduler",
    "buildset:commit/git/b196cd2acb6494d04ea6cf6df68d6bf49e6e955a",
    "buildset:commit/gitiles/dart.googlesource.com/sdk/+/b196cd2acb6494d04ea6cf6df68d6bf49e6e955a",
    "gitiles_ref:refs/heads/master"
  ]
}
[22:42:23.668] Buildbucket response:
{
  "build": {
    "bucket": "luci.dart.ci.sandbox",
    "canary_preference": "AUTO",
    "created_by": "user:luci-scheduler@appspot.gserviceaccount.com",
    "created_ts": "1548801742156804",
    "id": "8922957380375463600",
    "lease_expiration_ts": "1548920542981455",
    "lease_key": "635159457",
    "parameters_json": "{\"builder_name\": \"flutter-analyze\", \"properties\": {\"branch\": \"refs/heads/master\", \"repository\": \"https://dart.googlesource.com/sdk/\", \"revision\": \"b196cd2acb6494d04ea6cf6df68d6bf49e6e955a\"}}",
    "project": "dart",
    "result_details_json": "null",
    "service_account": "dart-luci-try-builder@dart-ci.iam.gserviceaccount.com",
    "status": "SCHEDULED",
    "status_changed_ts": "1548801743177225",
    "tags": [
      "build_address:luci.dart.ci.sandbox/flutter-analyze/585",
      "builder:flutter-analyze",
      "buildset:commit/git/b196cd2acb6494d04ea6cf6df68d6bf49e6e955a",
      "buildset:commit/gitiles/dart.googlesource.com/sdk/+/b196cd2acb6494d04ea6cf6df68d6bf49e6e955a",
      "gitiles_ref:refs/heads/master",
      "scheduler_invocation_id:9088387442720417344",
      "scheduler_job_id:dart/flutter-analyze",
      "swarming_dimension:caches:builder_b19ea4ce286701e444ef847fe2456548cc4417021e320a5270dd8f9c6f7f773d_v2",
      "swarming_dimension:cpu:x86-64",
      "swarming_dimension:os:Linux",
      "swarming_dimension:pool:luci.dart.try",
      "swarming_hostname:chromium-swarm.appspot.com",
      "swarming_tag:build_address:luci.dart.ci.sandbox/flutter-analyze/585",
      "swarming_tag:buildbucket_bucket:dart/ci.sandbox",
      "swarming_tag:buildbucket_build_id:8922957380375463600",
      "swarming_tag:buildbucket_hostname:cr-buildbucket.appspot.com",
      "swarming_tag:buildbucket_template_canary:0",
      "swarming_tag:buildbucket_template_revision:01134cf47e8a2d5d7cea5ec1232ca64ed2f16a5c",
      "swarming_tag:builder:flutter-analyze",
      "swarming_tag:buildset:commit/git/b196cd2acb6494d04ea6cf6df68d6bf49e6e955a",
      "swarming_tag:buildset:commit/gitiles/dart.googlesource.com/sdk/+/b196cd2acb6494d04ea6cf6df68d6bf49e6e955a",
      "swarming_tag:caches:builder_b19ea4ce286701e444ef847fe2456548cc4417021e320a5270dd8f9c6f7f773d_v2",
      "swarming_tag:cpu:x86-64",
      "swarming_tag:gitiles_ref:refs/heads/master",
      "swarming_tag:log_location:logdog://logs.chromium.org/dart/buildbucket/cr-buildbucket.appspot.com/8922957380375463600/+/annotations",
      "swarming_tag:luci_project:dart",
      "swarming_tag:os:Linux",
      "swarming_tag:pool:luci.dart.try",
      "swarming_tag:priority:50",
      "swarming_tag:recipe_name:dart/neo",
      "swarming_tag:recipe_package:infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build",
      "swarming_tag:scheduler_invocation_id:9088387442720417344",
      "swarming_tag:scheduler_job_id:dart/flutter-analyze",
      "swarming_tag:service_account:dart-luci-try-builder@dart-ci.iam.gserviceaccount.com",
      "swarming_tag:swarming.pool.template:skip",
      "swarming_tag:swarming.pool.version:ab421cdfbe7e432b021f66a67268b0c5d0d3160d",
      "swarming_tag:user:None",
      "swarming_tag:user_agent:luci-scheduler",
      "swarming_tag:vpython:native-python-wrapper",
      "swarming_task_id:42b4989f354b7810",
      "user_agent:luci-scheduler"
    ],
    "updated_ts": "1548801743177241",
    "url": "https://ci.chromium.org/b/8922957380375463600",
    "utcnow_ts": "1548801743655575"
  }
}
[22:42:23.668] Task URL: https://ci.chromium.org/b/8922957380375463600
[22:42:23.668] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:2:0) after 1m0s
[22:43:23.694] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:2:0)
[22:43:23.694] Timer tick, asking Buildbucket for the build status
[22:43:23.798] Build 8922957380375463600: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[22:43:23.798] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:3:0) after 1m0s
[22:44:23.833] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:3:0)
[22:44:23.833] Timer tick, asking Buildbucket for the build status
[22:44:23.899] Build 8922957380375463600: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[22:44:23.900] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:4:0) after 1m0s
[22:45:23.916] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:4:0)
[22:45:23.916] Timer tick, asking Buildbucket for the build status
[22:45:23.981] Build 8922957380375463600: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[22:45:23.981] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:5:0) after 1m0s
[22:46:23.998] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:5:0)
[22:46:23.998] Timer tick, asking Buildbucket for the build status
[22:46:24.357] Build 8922957380375463600: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[22:46:24.357] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:6:0) after 1m0s
[22:47:24.465] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:6:0)
[22:47:24.465] Timer tick, asking Buildbucket for the build status
[22:47:24.593] Build 8922957380375463600: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[22:47:24.593] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:7:0) after 1m0s
[22:48:24.613] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:7:0)
[22:48:24.613] Timer tick, asking Buildbucket for the build status
[22:48:24.950] Build 8922957380375463600: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[22:48:24.950] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:8:0) after 1m0s
[22:49:24.990] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:8:0)
[22:49:24.990] Timer tick, asking Buildbucket for the build status
[22:49:25.148] Build 8922957380375463600: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[22:49:25.148] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:9:0) after 1m0s
[22:50:25.165] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:9:0)
[22:50:25.165] Timer tick, asking Buildbucket for the build status
[22:50:25.215] Build 8922957380375463600: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[22:50:25.215] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:10:0) after 1m0s
[22:51:25.269] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:10:0)
[22:51:25.269] Timer tick, asking Buildbucket for the build status
[22:51:25.408] Build 8922957380375463600: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[22:51:25.408] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:11:0) after 1m0s
[22:52:25.425] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:11:0)
[22:52:25.425] Timer tick, asking Buildbucket for the build status
[22:52:25.464] Build 8922957380375463600: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[22:52:25.464] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:12:0) after 1m0s
[22:53:25.483] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:12:0)
[22:53:25.483] Timer tick, asking Buildbucket for the build status
[22:53:25.581] Build 8922957380375463600: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[22:53:25.581] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:13:0) after 1m0s
[22:54:25.599] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:13:0)
[22:54:25.599] Timer tick, asking Buildbucket for the build status
[22:54:25.712] Build 8922957380375463600: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[22:54:25.712] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:14:0) after 1m0s
[22:54:41.786] Received PubSub notification, asking Buildbucket for the build status
[22:54:41.830] Build 8922957380375463600: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:55:25.782] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:14:0)
[22:55:25.782] Timer tick, asking Buildbucket for the build status
[22:55:25.860] Build 8922957380375463600: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:55:25.860] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:16:0) after 1m0s
[22:56:25.881] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:16:0)
[22:56:25.881] Timer tick, asking Buildbucket for the build status
[22:56:25.934] Build 8922957380375463600: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:56:25.934] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:17:0) after 1m0s
[22:57:25.959] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:17:0)
[22:57:25.959] Timer tick, asking Buildbucket for the build status
[22:57:26.090] Build 8922957380375463600: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:57:26.090] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:18:0) after 1m0s
[22:58:26.114] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:18:0)
[22:58:26.114] Timer tick, asking Buildbucket for the build status
[22:58:26.181] Build 8922957380375463600: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:58:26.182] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:19:0) after 1m0s
[22:59:26.198] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:19:0)
[22:59:26.198] Timer tick, asking Buildbucket for the build status
[22:59:26.376] Build 8922957380375463600: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:59:26.376] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:20:0) after 1m0s
[23:00:26.403] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:20:0)
[23:00:26.403] Timer tick, asking Buildbucket for the build status
[23:00:26.565] Build 8922957380375463600: status "STARTED", result "", failure_reason "", cancelation_reason ""
[23:00:26.565] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:21:0) after 1m0s
[23:01:26.583] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:21:0)
[23:01:26.583] Timer tick, asking Buildbucket for the build status
[23:01:26.761] Build 8922957380375463600: status "STARTED", result "", failure_reason "", cancelation_reason ""
[23:01:26.761] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:22:0) after 1m0s
[23:02:26.778] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:22:0)
[23:02:26.778] Timer tick, asking Buildbucket for the build status
[23:02:27.183] Build 8922957380375463600: status "STARTED", result "", failure_reason "", cancelation_reason ""
[23:02:27.183] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:23:0) after 1m0s
[23:03:27.204] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:23:0)
[23:03:27.204] Timer tick, asking Buildbucket for the build status
[23:03:27.324] Build 8922957380375463600: status "STARTED", result "", failure_reason "", cancelation_reason ""
[23:03:27.324] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9088387442720417344:24:0) after 1m0s
[23:03:35.628] Received PubSub notification, asking Buildbucket for the build status
[23:03:35.860] Build 8922957380375463600: status "COMPLETED", result "SUCCESS", failure_reason "", cancelation_reason ""
[23:03:35.860] Buildbucket build:
{
  "build": {
    "bucket": "luci.dart.ci.sandbox",
    "canary_preference": "AUTO",
    "completed_ts": "1548803014349897",
    "created_by": "user:luci-scheduler@appspot.gserviceaccount.com",
    "created_ts": "1548801742156804",
    "id": "8922957380375463600",
    "parameters_json": "{\"builder_name\": \"flutter-analyze\", \"properties\": {\"branch\": \"refs/heads/master\", \"repository\": \"https://dart.googlesource.com/sdk/\", \"revision\": \"b196cd2acb6494d04ea6cf6df68d6bf49e6e955a\"}}",
    "project": "dart",
    "result": "SUCCESS",
    "result_details_json": "{\"ui\": {\"info\": \"\"}, \"swarming\": {\"bot_dimensions\": {}}, \"properties\": {\"$recipe_engine/path\": {\"cache_dir\": \"/b/s/w/ir/cache\", \"temp_dir\": \"/b/s/w/ir/tmp/rt\"}, \"buildnumber\": 585, \"$recipe_engine/buildbucket\": {\"build\": {\"tags\": [{\"value\": \"flutter-analyze\", \"key\": \"builder\"}, {\"value\": \"commit/git/b196cd2acb6494d04ea6cf6df68d6bf49e6e955a\", \"key\": \"buildset\"}, {\"value\": \"commit/gitiles/dart.googlesource.com/sdk/+/b196cd2acb6494d04ea6cf6df68d6bf49e6e955a\", \"key\": \"buildset\"}, {\"value\": \"9088387442720417344\", \"key\": \"scheduler_invocation_id\"}, {\"value\": \"dart/flutter-analyze\", \"key\": \"scheduler_job_id\"}, {\"value\": \"luci-scheduler\", \"key\": \"user_agent\"}], \"builder\": {\"project\": \"dart\", \"builder\": \"flutter-analyze\", \"bucket\": \"ci.sandbox\"}, \"number\": 585, \"infra\": {\"buildbucket\": {\"serviceConfigRevision\": \"01134cf47e8a2d5d7cea5ec1232ca64ed2f16a5c\"}, \"recipe\": {\"name\": \"dart/neo\", \"cipdPackage\": \"infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build\"}, \"swarming\": {\"hostname\": \"chromium-swarm.appspot.com\"}}, \"createdBy\": \"user:luci-scheduler@appspot.gserviceaccount.com\", \"id\": \"8922957380375463600\", \"input\": {\"gitilesCommit\": {\"project\": \"sdk\", \"host\": \"dart.googlesource.com\", \"ref\": \"refs/heads/master\", \"id\": \"b196cd2acb6494d04ea6cf6df68d6bf49e6e955a\"}}, \"createTime\": \"2019-01-29T22:42:22.156804Z\"}}, \"repository\": \"https://dart.googlesource.com/sdk/\", \"buildername\": \"flutter-analyze\", \"got_revision\": \"b196cd2acb6494d04ea6cf6df68d6bf49e6e955a\", \"recipe\": \"dart/neo\", \"mastername\": \"client.dart\", \"clobber\": \"true\", \"$recipe_engine/runtime\": {\"is_experimental\": false, \"is_luci\": true}, \"buildbucket\": {\"hostname\": \"cr-buildbucket.appspot.com\", \"build\": {\"created_ts\": 1548801742156804, \"tags\": [\"build_address:luci.dart.ci.sandbox/flutter-analyze/585\", \"builder:flutter-analyze\", \"buildset:commit/git/b196cd2acb6494d04ea6cf6df68d6bf49e6e955a\", \"buildset:commit/gitiles/dart.googlesource.com/sdk/+/b196cd2acb6494d04ea6cf6df68d6bf49e6e955a\", \"gitiles_ref:refs/heads/master\", \"scheduler_invocation_id:9088387442720417344\", \"scheduler_job_id:dart/flutter-analyze\", \"user_agent:luci-scheduler\"], \"bucket\": \"luci.dart.ci.sandbox\", \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\", \"project\": \"dart\", \"id\": \"8922957380375463600\"}}, \"branch\": \"refs/heads/master\", \"path_config\": \"generic\", \"revision\": \"b196cd2acb6494d04ea6cf6df68d6bf49e6e955a\", \"bot_id\": \"trusty-dart-68765ebb-us-central1-b-pld5\"}}",
    "service_account": "dart-luci-try-builder@dart-ci.iam.gserviceaccount.com",
    "started_ts": "1548802479935172",
    "status": "COMPLETED",
    "status_changed_ts": "1548803015170976",
    "tags": [
      "build_address:luci.dart.ci.sandbox/flutter-analyze/585",
      "builder:flutter-analyze",
      "buildset:commit/git/b196cd2acb6494d04ea6cf6df68d6bf49e6e955a",
      "buildset:commit/gitiles/dart.googlesource.com/sdk/+/b196cd2acb6494d04ea6cf6df68d6bf49e6e955a",
      "gitiles_ref:refs/heads/master",
      "scheduler_invocation_id:9088387442720417344",
      "scheduler_job_id:dart/flutter-analyze",
      "swarming_dimension:caches:builder_b19ea4ce286701e444ef847fe2456548cc4417021e320a5270dd8f9c6f7f773d_v2",
      "swarming_dimension:cpu:x86-64",
      "swarming_dimension:os:Linux",
      "swarming_dimension:pool:luci.dart.try",
      "swarming_hostname:chromium-swarm.appspot.com",
      "swarming_tag:build_address:luci.dart.ci.sandbox/flutter-analyze/585",
      "swarming_tag:buildbucket_bucket:dart/ci.sandbox",
      "swarming_tag:buildbucket_build_id:8922957380375463600",
      "swarming_tag:buildbucket_hostname:cr-buildbucket.appspot.com",
      "swarming_tag:buildbucket_template_canary:0",
      "swarming_tag:buildbucket_template_revision:01134cf47e8a2d5d7cea5ec1232ca64ed2f16a5c",
      "swarming_tag:builder:flutter-analyze",
      "swarming_tag:buildset:commit/git/b196cd2acb6494d04ea6cf6df68d6bf49e6e955a",
      "swarming_tag:buildset:commit/gitiles/dart.googlesource.com/sdk/+/b196cd2acb6494d04ea6cf6df68d6bf49e6e955a",
      "swarming_tag:caches:builder_b19ea4ce286701e444ef847fe2456548cc4417021e320a5270dd8f9c6f7f773d_v2",
      "swarming_tag:cpu:x86-64",
      "swarming_tag:gitiles_ref:refs/heads/master",
      "swarming_tag:log_location:logdog://logs.chromium.org/dart/buildbucket/cr-buildbucket.appspot.com/8922957380375463600/+/annotations",
      "swarming_tag:luci_project:dart",
      "swarming_tag:os:Linux",
      "swarming_tag:pool:luci.dart.try",
      "swarming_tag:priority:50",
      "swarming_tag:recipe_name:dart/neo",
      "swarming_tag:recipe_package:infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build",
      "swarming_tag:scheduler_invocation_id:9088387442720417344",
      "swarming_tag:scheduler_job_id:dart/flutter-analyze",
      "swarming_tag:service_account:dart-luci-try-builder@dart-ci.iam.gserviceaccount.com",
      "swarming_tag:swarming.pool.template:skip",
      "swarming_tag:swarming.pool.version:ab421cdfbe7e432b021f66a67268b0c5d0d3160d",
      "swarming_tag:user:None",
      "swarming_tag:user_agent:luci-scheduler",
      "swarming_tag:vpython:native-python-wrapper",
      "swarming_task_id:42b4989f354b7810",
      "user_agent:luci-scheduler"
    ],
    "updated_ts": "1548803015173452",
    "url": "https://ci.chromium.org/b/8922957380375463600",
    "utcnow_ts": "1548803015806998"
  }
}
[23:03:35.860] Invocation finished in 21m15.323837361s with status SUCCEEDED