)]}'
{
  "log": [
    {
      "commit": "d705fd2b0aca3f57168934f2ea8c351ef249f829",
      "tree": "1e9c2835b330f7c1a202abdc1a68cc8827424ef7",
      "parents": [
        "f5c6eff63d19a9f7a970a4f90619edac873c006d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 12 14:58:04 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 12 16:29:50 2010 -0800"
      },
      "message": "Tweak updatecmds to be able to move entire directories.\n"
    },
    {
      "commit": "6b03844b48c13c52d4c7ec4754d53501814098d8",
      "tree": "ca1551cdb85e05299d822e0d8213f510608d56e8",
      "parents": [
        "2870552b412cd8186c6605d108b736832b9b82da"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Feb 11 14:41:20 2010 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Feb 11 14:41:20 2010 -0800"
      },
      "message": "Fix simulator build.\n"
    },
    {
      "commit": "000479f9e325b4e426a67033abd92d47da412725",
      "tree": "16b93ea777744aa24ffe7d3a191bb90529ad4ce5",
      "parents": [
        "28a5dc229ed25c771cde25668928edc788073029"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 09 17:46:37 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Feb 11 13:16:22 2010 -0800"
      },
      "message": "split libsurfaceflinger_client and libcamera_client out of libui\n"
    },
    {
      "commit": "0dd50e61267818b4cba0453c2abe18a77d3f6f66",
      "tree": "f7246ab284e9c357889bc84a007390170366f556",
      "parents": [
        "b687581d4cf67fe8f25bac4333b513bcba2f3cb2"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Feb 09 19:02:38 2010 -0800"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Feb 09 19:02:38 2010 -0800"
      },
      "message": "Fix installd to create /data/data/\u003cpkgname\u003e with appropriate permissions.\n\nThe directory was created with read+exec rights for others.\nThe patch restricts it to only exec rights.\n"
    },
    {
      "commit": "9446c5046872e8ae44120d4057ae724875aba1a4",
      "tree": "58a95fe37adc5051fc967af6f2ca7b82f0319842",
      "parents": [
        "7722abe2591026e7db8910afa0431602723fc1e0",
        "e4cfcb82a86e1546474c3fd25101ab561063a1bd"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Feb 05 12:05:42 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 05 12:05:42 2010 -0800"
      },
      "message": "Merge \"When the extractor is not able to be created successfully, don\u0027t crash\""
    },
    {
      "commit": "e4cfcb82a86e1546474c3fd25101ab561063a1bd",
      "tree": "66b79cca30bd18ba9e56648567d35b330e364db7",
      "parents": [
        "09922d855bd008f58214e4c1a905263129a924a3"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Feb 04 18:08:06 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Feb 04 18:11:32 2010 -0800"
      },
      "message": "When the extractor is not able to be created successfully, don\u0027t crash\n"
    },
    {
      "commit": "5c1779b8acbf570f66ed401e5a0daad56533305d",
      "tree": "be429117b89979822b6ec8c74ad8272cc87eaa40",
      "parents": [
        "64226a49b75b44da56740a21b38ce6cc710796d8",
        "8472581aa32eee1368de379c2c079ea0a66baa3c"
      ],
      "author": {
        "name": "Chris Tate",
        "email": "ctate@android.com",
        "time": "Thu Feb 04 16:27:42 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 04 16:27:42 2010 -0800"
      },
      "message": "Merge \"Add single-package restore from an app\u0027s most-recent data\""
    },
    {
      "commit": "8472581aa32eee1368de379c2c079ea0a66baa3c",
      "tree": "c7e71e08b7e465fa710c7e0903b8a2a74cce6fc4",
      "parents": [
        "348f7b904851e3edcf09b8362406ff2f4ae57db2"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Feb 04 15:52:40 2010 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Feb 04 16:01:09 2010 -0800"
      },
      "message": "Add single-package restore from an app\u0027s most-recent data\n\nRenamed the RestoreSession performRestore() method to restoreAll(), and\nadded a new restorePackage() method that only restores the single\nspecified app.  In order to restore an app other than itself, the\ncaller must hold the android.permission.BACKUP permission.\n\nThis change also introduces dataset tracking:  the Backup Manager\npersistently remembers both the current backup dataset\u0027s identity\nand that of the \"ancestral\" dataset, i.e. the one most recently used\nfor a whole-device restore such as performed by SetupWizard.  When a\nsingle package is restored via restorePackage(), the selection of\nmost-recent dataset to use is this:\n\n1. The data from the currently-active backup dataset, if such exists.\n   An app that has ever backed up data will therefore get its last-\n   known-good data.\n\n2. The app\u0027s data from the ancestral dataset, if such exists.  This\n   covers the case of a factory reset followed by reinstallation of\n   an app at a later time.  The app had not yet backed anything up\n   post-wipe, but the old data is in the ancestral dataset and should\n   be brought forward when the app reappears.\n\n3. If neither 1. nor 2. exist, there is no data to restore, so just\n   skip it and return failure.\n\nNote that the infrastructure to automatically attempt a restore after\nan application has been installed does not yet exist; that\u0027s coming.\n\nChange-Id: I0ba170df9885128000c46ed28d3dddda3a63a143\n"
    },
    {
      "commit": "b858dfda5012a1040927ed62c3bb856c3294d882",
      "tree": "d865e8580e15ecda54e4fd4e891c489eb222a8b1",
      "parents": [
        "70d10c0156f5d2d1c639d0ebe62de8ec950d4306"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Feb 02 10:49:14 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Feb 03 15:42:02 2010 -0800"
      },
      "message": "Implement system data migration support.\n\nThis adds three new features:\n\n- \u003coriginal-package android:name\u003d\"com.foo\" /\u003e manifest tag.\n  This allows an .apk to specify another package it originally came from,\n  propagating all state and data from the old to new package.\n\n- \u003cadopt-permissions android:name\u003d\"com.foo\" /\u003e manifest tag.\n  In some more complicated cases, a new .apk may be a combination\n  of multiple older .apks that each declared their own permissions.\n  This allows you to propagate the permissions from these other\n  .apks into the new one.\n\n- A new system/etc/updatecmds directory.\n  You can place files here which describe data files to move from\n  one package to another.  (See below for details.)\n\nAlso in this change: we now clean up the data directories of\n.apks that disappear from the system image, and some improvements\nto logging and reporting error messages.\n\nA typical file in the updatecmds directory looks like this:\n\n-------\ncom.google.android.gsf:com.google.android.providers.talk\n    databases/talk.db\ncom.google.android.gsf:com.google.android.googleapps\n    databases/gls.db\n-------\n\nThis says that for com.google.android.sfs, there are two packages to\nmove files from:\n\nFrom com.google.android.providers.talk, the file databases/talk.db.\nFrom com.google.android.googleapps, the file databases/gls.db\n\nAs part of moving the file, its owner will be changed from the old\npackage to whoever is the owner of the new package\u0027s data directory.\n\nIf those two files had existed, after booting you would now have the\nfiles:\n\n/data/data/com.google.android.gsf/databases/talk.db\n/data/data/com.google.android.gsf/databases/gls.db\n\nNote that all three of these facilities assume that the older .apk\nis completely removed from the newer system.  The WILL NOT work\ncorrectly if the older .apk still remains.\n"
    },
    {
      "commit": "c028be4f3b8c7476b46859f66c3f33d528adf181",
      "tree": "8a740e6207e958572706a636fcb92425dbf13a6e",
      "parents": [
        "aeb4126736c1b93abe5252e1723c568a13da7c81"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Mon Jan 25 12:19:12 2010 -0800"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Jan 27 10:26:43 2010 -0800"
      },
      "message": "AppsOnSd feature - Add default container\n\nAdd new remote interface to do temporary copies. The new\nremote stub handling is done on mHandler thread and doesn\u0027t need locking\nfor now.\nAdd new InstallArgs class and subclasses to isolate cases for installation.\nMove resource deletion for failed installs/upgrades to later on in installation\ncycle.\nFix code path for forward locked apps when using scanPackageLI\n\nTODO\u0027s\nFix installation paths to completely use InstallArgs based design later on.\nGet rid of using flags in various install/uninstall code paths.\nIdeally InstallArgs should be created using these flags and used in the\nrest of the code.\nFunction renames.\nRevisit mount api\u0027s.\n"
    },
    {
      "commit": "ea11654e684cb91252487f697c72e76da507f7be",
      "tree": "30c53b6a29da941eee85b6fa1b99538216da66f4",
      "parents": [
        "2242da5a4fadbef936153b4e43218d73033a11cd"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Tue Jan 26 17:04:26 2010 -0800"
      },
      "committer": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Tue Jan 26 17:04:26 2010 -0800"
      },
      "message": "Use six dashes instead of five.\n"
    },
    {
      "commit": "07bf09da4a365282fc35f800b62a83e0fa5533e2",
      "tree": "378e1ba0004146ae514c29c2e0ed60ac1cef6af0",
      "parents": [
        "f1c934f2726a09f11a7126e2a889c97162a2a1e2"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jan 25 14:27:12 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jan 25 16:17:40 2010 -0800"
      },
      "message": "Initial checkin of AudioSource and AMRWriter, a pair of classes supporting pure-audio recording in stagefright.\n\nrelated-to-bug: 2295449\n"
    },
    {
      "commit": "b49d9af7e1205312cc25e23636ef3980bee4c1b0",
      "tree": "d99571e6880423eb6f5a1c43e59f1fc5629e82a4",
      "parents": [
        "56d42582f20efce1ff46ea2b5fff60b26cf2c1f0",
        "fd3530f90562bb7e66edfee39d90fc8beda82f1d"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Jan 19 14:11:43 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 19 14:11:43 2010 -0800"
      },
      "message": "Merge \"Mount/Unmount secure containers Persist flags in PackageSetting. Flags are relevant to ApplicationInfo.FLAG_SYSTEM, Application.FLAG_ON_SDCARD, ApplicationInfo.FLAG_FORWARD_LOCK. New pm command to simulate mount/unmount in Pm. This will be removed when MountService/vold event generation gets fixed. Calls from MountService into PackageManager when media gets mounted/unmounted. Scan the packages and grant permissions when the sdcard gets mounted. This api might change again.\""
    },
    {
      "commit": "fd3530f90562bb7e66edfee39d90fc8beda82f1d",
      "tree": "3829a74034270ac5434a0863e5dd115172443dfc",
      "parents": [
        "97d1195832829905b07b7680b73bed8af959f430"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Mon Jan 18 00:15:59 2010 -0800"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Jan 19 14:04:54 2010 -0800"
      },
      "message": "Mount/Unmount secure containers\nPersist flags in PackageSetting. Flags are relevant to ApplicationInfo.FLAG_SYSTEM, Application.FLAG_ON_SDCARD, ApplicationInfo.FLAG_FORWARD_LOCK.\nNew pm command to simulate mount/unmount in Pm. This will be removed\nwhen MountService/vold event generation gets fixed.\nCalls from MountService into PackageManager when media gets mounted/unmounted.\nScan the packages and grant permissions when the sdcard gets mounted.\nThis api might change again.\n"
    },
    {
      "commit": "3c79a4abf816f58956831d551b858642139a082b",
      "tree": "27e21d426e6036e2c720c0e409f4fa8167068627",
      "parents": [
        "5a12413331c8bf9ebb62f84771aaac36baa5fa95",
        "e42fdb5442d09ff6b8c82520b497f56cf14673ef"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jan 19 10:25:13 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 19 10:25:13 2010 -0800"
      },
      "message": "Merge \"Upgrade for the stagefright commandline tool to support extracting thumbnails and to optionally prefer software codecs.\""
    },
    {
      "commit": "e42fdb5442d09ff6b8c82520b497f56cf14673ef",
      "tree": "d2a30ee3036df8ae20b9796043f8063591f756da",
      "parents": [
        "faddd5d7d63d217a3e5201b6e7f476f1a0152a94"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jan 14 11:31:22 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jan 14 14:09:17 2010 -0800"
      },
      "message": "Upgrade for the stagefright commandline tool to support extracting thumbnails and to optionally prefer software codecs.\n"
    },
    {
      "commit": "af8e9f4805643f90a9dc0ecfa119e0a860c12f8a",
      "tree": "a6ea88a10b61204a5256901dca8b958849e13dc4",
      "parents": [
        "f6fff20a96268b0b1136a2c44199ad8de46ced5d"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Jan 12 10:17:28 2010 -0800"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Thu Jan 14 14:02:39 2010 -0800"
      },
      "message": "app install on sdcard. provide skeleton implementation\nto install an app on sdcard, just resources.\nAdd new install path for /asec in installd.\nignore . when checking for apk path since the sdcard packages id\u0027ed\nby package name.\nAdd new -s option to adb shell pm\nRefactor fwd locked from scanMode to ApplicationInfo.\nAdd new flag for sd install\nAdd new parse flags for fwd locking and installing on sdcard\nNew mock api\u0027s in PackageManagerService to invoke MountService api\u0027s. These\nwill be refactored again and so have been wrapped internally.\nSome error codes in PackageManager\nChanges in PackageManagerService to use mPath and mScanPath during installation\nand switch to using PackageParser.Package.applicationInfo attributes for\nsource and public resource directories.\nSome known issues that will be addressed later\n using system_uid for now. needs some tinkering with uid and packagesetting creation to use the actual app uid\n error handling from vold not very robust. ignoring lot of things for now\n sending a delayed destroy to delete packages. will revisit later\n revisit temp file creation later. just copy for now\n"
    },
    {
      "commit": "52952b1bcab28f655775efbad8f2e2b41d06a34b",
      "tree": "e3a89be656d1a4c9a91585ce5a0e70b42c018203",
      "parents": [
        "96e40b4b3769a7880eca66d1955b5e5583e979c8"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Wed Jan 13 12:27:50 2010 -0800"
      },
      "committer": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Wed Jan 13 14:30:33 2010 -0800"
      },
      "message": "Overhaul of dumpstate (aka bugreport) with cleanups \u0026 enhancements:\n\n- include basic build \u0026 timestamp information in the header\n- collect stack traces immediately at bugreport time\n- *also* show stack traces from last ANR (as before), if in the last 15 minutes\n- alphabetize system properties dump\n- remove now-obsolete (and always questionable) \"dumpcrash\" functionality\n- write to a .tmp file first, then rename to the final filename\n- friendly usage message\n- output sections include the exact file/command run\n- source de-weirdification -- it\u0027s several hundred lines shorter now\n\nThe same data is present in the same order as before, and I\u0027ve tried\nto preserve all the grep/search targets people might use to find their\nway through the file.\n"
    },
    {
      "commit": "f5d95cbc1a6974afeb4d3155bdaa8dae55722a39",
      "tree": "a999860303c704ecfd8ac0848a005fc0b8447dc3",
      "parents": [
        "51d3e798985944a3be1aafb1e01216a6627625e0"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jan 07 21:48:32 2010 -0500"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Jan 08 15:46:24 2010 -0500"
      },
      "message": "less log spew\n"
    },
    {
      "commit": "5fe8598f755bdfd15e96bb2ddcdbe9a41b8173a7",
      "tree": "068d29f2544fefc83fac083d6bb1579436f10b14",
      "parents": [
        "121ec7ff33b05227cf704ff1ff6313a38897cca7"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Wed Dec 30 10:38:39 2009 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Wed Dec 30 10:38:39 2009 +0800"
      },
      "message": "keystore: compute the padding in an intuitive way.\n"
    },
    {
      "commit": "5038c78f1373bf97bcb8fd030928b3cde2051ac6",
      "tree": "4468c954d0637fc9999581a4bad6651e23d57418",
      "parents": [
        "233d316553837ef81fdf152432281d878dc8f773"
      ],
      "author": {
        "name": "Doug Kwan",
        "email": "dougkwan@google.com",
        "time": "Tue Dec 22 13:30:25 2009 -0800"
      },
      "committer": {
        "name": "Doug Kwan",
        "email": "dougkwan@google.com",
        "time": "Tue Dec 22 13:30:25 2009 -0800"
      },
      "message": "Add missing shared libraries in linker commands.  Currently these libraries are\nlinked implicitly via dependencies of other shared libraries.\n"
    },
    {
      "commit": "fddd8f96f34b622cbdd0d891f8a7f5b7e18fdbf8",
      "tree": "2d7fc8ab1a11056564ed3886b93cc2118fd6a69e",
      "parents": [
        "2d49b7229a5ec98082c7cd173d326b65ad514791",
        "fa4ae74ef7db34ec5efe86e7606271928a876c1c"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 22 01:39:14 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 22 01:39:14 2009 -0800"
      },
      "message": "Merge change I70f91838\n\n* changes:\n  keystore: Add paddings before checksumming.\n"
    },
    {
      "commit": "fa4ae74ef7db34ec5efe86e7606271928a876c1c",
      "tree": "7a6cc039c0d9af85c53e5a9eb6a704a87a0e74ea",
      "parents": [
        "e3b30e6950c039744674e53e80852fbe4d3fb864"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Tue Dec 22 17:02:45 2009 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Tue Dec 22 17:26:42 2009 +0800"
      },
      "message": "keystore: Add paddings before checksumming.\n\nAlso fix a file descriptor leak when file system is nearly full.\n\nBug: 2339184\n"
    },
    {
      "commit": "c59411b17670ae9b5a6eb33e0fd62ca0e80d1578",
      "tree": "0c43e3a55cba905d2fe343773590646c470792d7",
      "parents": [
        "ee0511d76ce0ceae2f54782ca33e400e62d08137"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 21 20:10:14 2009 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 21 20:20:59 2009 -0800"
      },
      "message": "Rework activity manager debug dumps.\n\nChange how we do debug dumps from the activity manager to make\neverything go through the activity manager interface (no more\nsecondary interfaces), and use the command line arguments to\ncontrol what gets dumped.\n\nThe output from dumpsys without args still dumps everything.\n\nWhen just dumping the activity service, we now dump a subset\nof all of the am state that is interesting without being\noverwhelming.\n\nYou can use \"dumpsys activity -h\" to get help with other things\nthat can be dumped.\n"
    },
    {
      "commit": "4f471648e976d4f0000bd0dbcd0b4ebc4e0b16dd",
      "tree": "b542dffb1f8c45a5a783a6d12e6b1e7295e19509",
      "parents": [
        "f7ed3a2b0fd00c517671cc986b4b44d29b60ac28",
        "b5c6be6db25d9e9405ea4cf20bbedd46a62dc0bb"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 17 10:27:48 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 17 10:27:48 2009 -0800"
      },
      "message": "am b5c6be6d: am 082e5171: Merge change I895fb7d7 into eclair-mr2\n\nMerge commit \u0027b5c6be6db25d9e9405ea4cf20bbedd46a62dc0bb\u0027\n\n* commit \u0027b5c6be6db25d9e9405ea4cf20bbedd46a62dc0bb\u0027:\n  Squashed commit of the following:\n"
    },
    {
      "commit": "2ea14e231945afb6581fa8f54015b33bc74a19e5",
      "tree": "966adffbd5960c907324a5a78dc91abf40ea8fb5",
      "parents": [
        "d980e656baa842592944c6fed371c9b37b2feea9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Dec 16 09:30:55 2009 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 17 09:28:15 2009 -0800"
      },
      "message": "Squashed commit of the following:\n\ncommit 144b1c40e9cf08a584c50e1bef7ba3f287e81a4f\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Wed Dec 16 09:28:23 2009 -0800\n\n    This H264 file shows a certain problem even better.\n\ncommit 3245f1f3b7471975aeeb824a756c987abd610f55\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Wed Dec 16 09:20:08 2009 -0800\n\n    Using only the QA testfiles now.\n\ncommit 074817eb3816c5dd70858a3594e3b92d799d873b\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Tue Dec 15 16:17:39 2009 -0800\n\n    Yay, roles are back again now that the API is in place.\n\ncommit 6d847e4932cc38301ae27cb7283b7f1553a95457\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Tue Dec 15 13:01:20 2009 -0800\n\n    Added commandline option for specifying the random seed for reproducable tests.\n\ncommit 62ab37b26336eaa67e49791c41c996acb6acee3f\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Mon Dec 14 10:53:27 2009 -0800\n\n    When issuing a seek it is important that only the first MediaSource::read call has the seek option.\n\ncommit e77c46644b2fb6862bafa3569f7d304252074f1e\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Mon Dec 7 16:39:07 2009 -0800\n\n    Make sure the tests are actually built, sp\u003cOMXCodec\u003e becomes sp\u003cMediaSource\u003e\n\ncommit 6df56915bd55a9445b3c6f953d3cc251d81579b8\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Thu Dec 3 14:25:36 2009 -0800\n\n    Temporarily disable support for querying the roles of OMX components.\n\ncommit 31bb26930df9e3658dea684cedb4b0f1a06a4a88\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Tue Dec 1 13:36:52 2009 -0800\n\n    Disregard EOS events, slightly change the way the EOS flag on output buffers is handled.\n\ncommit 4c382fbc9aebee8197d5988d04378062809e7c48\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Tue Dec 1 09:37:24 2009 -0800\n\n    New random seek test for the codec tests. Fixed \"sticky\" end-of-output-buffers flag behaviour in OMXCodec.\n\ncommit c762eac3e44309592b61a168d66e091cf609fa03\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Tue Nov 3 14:13:43 2009 -0800\n\n    Fix a typo.\n\ncommit 50540a59b65c7d476b0193c7494cd75895e6ca6d\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Tue Nov 3 09:48:35 2009 -0800\n\n    Some more fine tuning of the unit tests, make MPEG4Extractor less verbose.\n\ncommit 1157a7e52a0636706caa235abe16d2ff8a0b8140\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Wed Oct 28 12:01:01 2009 -0700\n\n    Changes to the IOMX::listNodes API, this now returns the component\u0027s roles as well, unit tests now test all components in all supported roles by default.\n\ncommit 30fbf2d8c6cb927689f7ba75eb550a81e9df488a\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Mon Oct 26 09:45:26 2009 -0700\n\n    Initial check-in of unit tests for OMX components.\n"
    },
    {
      "commit": "64bf3d53d5ce62a786b270d1dd86d8eae723fea5",
      "tree": "fe9b0e9c6787bef527d484c7c74dbfcdc1409a7c",
      "parents": [
        "2786d21ddeeb2a46733fbac1afd6533b093d70ee"
      ],
      "author": {
        "name": "Dmitry Shmidt",
        "email": "dimitrysh@google.com",
        "time": "Wed Dec 16 16:05:08 2009 -0800"
      },
      "committer": {
        "name": "Dmitry Shmidt",
        "email": "dimitrysh@google.com",
        "time": "Wed Dec 16 16:05:08 2009 -0800"
      },
      "message": "Add FW log dump for bcm4329\n\nSigned-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n"
    },
    {
      "commit": "772f8f4b3baa40193082a849fd2abcfa321018f8",
      "tree": "bd80a6130f5fdfafebdbcf39c3112ff1e2b84146",
      "parents": [
        "eab53392ae25be197283942934596500e4186d39",
        "23915ddde9ce3ed9f1ce50ea321c8fdce612faf0"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 10 14:42:47 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 14:42:47 2009 -0800"
      },
      "message": "am 23915ddd: am eec100b2: Merge change If0d04246 into eclair-mr2\n\nMerge commit \u002723915ddde9ce3ed9f1ce50ea321c8fdce612faf0\u0027\n\n* commit \u002723915ddde9ce3ed9f1ce50ea321c8fdce612faf0\u0027:\n  Don\u0027t count empty buffers when computing the frame rate.\n"
    },
    {
      "commit": "f0d04246f40b3f87d361451f9ebc2feb7b5318de",
      "tree": "52da725d9613003613ca313a6ec0976ba513c619",
      "parents": [
        "159f0015418955501d8cf2744b0393db2e73f394"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 10 12:21:57 2009 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 10 12:21:57 2009 -0800"
      },
      "message": "Don\u0027t count empty buffers when computing the frame rate.\n"
    },
    {
      "commit": "1d44bea4443050ef39604032dc88334f69e87aa7",
      "tree": "5128cc4f5119fd44b8aca675762415eb9cc20ca7",
      "parents": [
        "4454ac76572d79185f54f6f983c846ead7431b39",
        "f553a58425c66a990dbc5f4579c976a0636fc573"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 07 18:32:57 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 07 18:32:57 2009 -0800"
      },
      "message": "am f553a584: am 5921fb51: Merge change I91eb0354 into eclair-mr2\n\nMerge commit \u0027f553a58425c66a990dbc5f4579c976a0636fc573\u0027\n\n* commit \u0027f553a58425c66a990dbc5f4579c976a0636fc573\u0027:\n  Change OMXCodec::Create to return an sp\u003cMediaSource\u003e instead of an sp\u003cOMXCodec\u003e, this is more general and does not sacrifice any functionality as the remaining OMXCodec APIs are not meant to be public anyway.\n"
    },
    {
      "commit": "91eb0354043842d96bf3ef201ce68046db70df74",
      "tree": "b09f35a1f7887ef25af837d000bd041176368f3b",
      "parents": [
        "52f410e2ebba103220cffce05b895f0c38a56665"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 07 09:43:00 2009 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 07 09:43:00 2009 -0800"
      },
      "message": "Change OMXCodec::Create to return an sp\u003cMediaSource\u003e instead of an sp\u003cOMXCodec\u003e, this is more general and does not sacrifice any functionality as the remaining OMXCodec APIs are not meant to be public anyway.\n"
    },
    {
      "commit": "4612a9c53c00943d9a8c2c2b95f4bdfcea17a011",
      "tree": "d6ad78cc98d385b63989cfd7aac043f76126526f",
      "parents": [
        "fe124cffd84be0ca57d1357c541c1e81205df40a",
        "ae34cf92db9c54ba72fdcac33a8ba855a2215e4e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Dec 01 17:26:32 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 01 17:26:32 2009 -0800"
      },
      "message": "am ae34cf92: am 781ac162: Merge change I8768f2cc into eclair-mr2\n\nMerge commit \u0027ae34cf92db9c54ba72fdcac33a8ba855a2215e4e\u0027\n\n* commit \u0027ae34cf92db9c54ba72fdcac33a8ba855a2215e4e\u0027:\n  A small sample tool to encode pcm audio data to amr, decode it again and play it. Some changes to OMXCodec to properly configure the AMR decoder(s).\n"
    },
    {
      "commit": "8768f2ccefdd7862a248995055aa04fd2d5a4dfe",
      "tree": "889d228a9857efec02281f1536b11699dfa2a6f6",
      "parents": [
        "ed90811e711065bcc82a45f4173587cd95ef6b6f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Dec 01 15:26:54 2009 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Dec 01 15:26:54 2009 -0800"
      },
      "message": "A small sample tool to encode pcm audio data to amr, decode it again and play it. Some changes to OMXCodec to properly configure the AMR decoder(s).\n"
    },
    {
      "commit": "1b3c375ce2f790f890f8efe7117040738035d6c5",
      "tree": "4014d2d13ecfc890e115437d69b10f2499b640b3",
      "parents": [
        "4cbe8ef11e4e913180133822da7e9b3ccc369569",
        "bf72820e7775748c7239287b49b81031167b3428"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue Dec 01 09:12:22 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 01 09:12:22 2009 -0800"
      },
      "message": "am bf72820e: am b292461c: Merge change I305e1b8f into eclair-mr2\n\nMerge commit \u0027bf72820e7775748c7239287b49b81031167b3428\u0027\n\n* commit \u0027bf72820e7775748c7239287b49b81031167b3428\u0027:\n  add --esn option to am to allow adding extra with a null value\n"
    },
    {
      "commit": "305e1b8fe926430e63d167ebed0c1f4d191ebcdc",
      "tree": "1ce084ed7c14c9d8c0f9723dc65e26d16b9046a9",
      "parents": [
        "3766ae5551e6231c251b0af38206aea30a49df63"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Mon Nov 30 16:15:15 2009 -0800"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Mon Nov 30 16:15:15 2009 -0800"
      },
      "message": "add --esn option to am to allow adding extra with a null value\n"
    },
    {
      "commit": "84ba348474b63237c06c78e57ac25fd7ac01929a",
      "tree": "61ea8017cb9ac8b3554f2624e37ed3c699caacf1",
      "parents": [
        "0eaa19cf984120468c984219b43e3b967578a82a",
        "c92f3bcd556be6086aabcdcf437cc29c2ac605f6"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Sun Nov 29 14:01:14 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Nov 29 14:01:14 2009 -0800"
      },
      "message": "am c92f3bcd: am e11a1b4d: am f817218e: dumpstate: Pick up the last kernel log from /proc\n\nMerge commit \u0027c92f3bcd556be6086aabcdcf437cc29c2ac605f6\u0027\n\n* commit \u0027c92f3bcd556be6086aabcdcf437cc29c2ac605f6\u0027:\n  dumpstate: Pick up the last kernel log from /proc\n"
    },
    {
      "commit": "e11a1b4d1a57dd6f42171aca3a4edb71438cbad1",
      "tree": "19d13bbb4f48e76c652b572dab37e37081f4902a",
      "parents": [
        "331c7788a84fc6f625ac1bafbb33cf7da1116407",
        "f817218e09a556f20efc81309ba2cdb3475a370b"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Sun Nov 29 13:51:14 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Nov 29 13:51:14 2009 -0800"
      },
      "message": "am f817218e: dumpstate: Pick up the last kernel log from /proc\n\nMerge commit \u0027f817218e09a556f20efc81309ba2cdb3475a370b\u0027 into eclair-mr2\n\n* commit \u0027f817218e09a556f20efc81309ba2cdb3475a370b\u0027:\n  dumpstate: Pick up the last kernel log from /proc\n"
    },
    {
      "commit": "f817218e09a556f20efc81309ba2cdb3475a370b",
      "tree": "3e5886906ffc5dabc3b3b423a2438055061b4b2a",
      "parents": [
        "bcab01f6d0158c4d928f42b034949dc9608665a6"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed Nov 25 23:31:48 2009 -0800"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed Nov 25 23:34:19 2009 -0800"
      },
      "message": "dumpstate: Pick up the last kernel log from /proc\n\nThis is needed since its no longer copied to /data/dontpanic by init.\n\nChange-Id: I5217da73ec470653824b7fb9a31e093e263a8dc9\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "a8529f68671a8a118751cb6ad577f44eaf076b96",
      "tree": "bf191767698261c9bdd7b599593f3177a188da7d",
      "parents": [
        "579d418db016a9ae87479da9e29d8827474d68f5"
      ],
      "author": {
        "name": "Oscar Montemayor",
        "email": "oam@google.com",
        "time": "Wed Nov 18 10:14:20 2009 -0800"
      },
      "committer": {
        "name": "Oscar Montemayor",
        "email": "oam@google.com",
        "time": "Tue Nov 24 11:44:19 2009 -0800"
      },
      "message": "Encrypted File Systems Project. Installer modifications.\nStarted to modify isntaller for data redirection to a secure location.\n"
    },
    {
      "commit": "e21fb343872286a02cd2574334c78fa85ff923f4",
      "tree": "7ed94c31a63a14d07819167bc2673ace1d3b45cb",
      "parents": [
        "4f4915f23fe4f86979f68359a4f166c478ff9ee0",
        "5493df919b01952857eb3b78fad3fe2cff573935"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 23 10:55:40 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 23 10:55:40 2009 -0800"
      },
      "message": "am 5493df91: am bbd6cb46: Merge change Ib1b7bce4 into eclair-mr2\n\nMerge commit \u00275493df919b01952857eb3b78fad3fe2cff573935\u0027\n\n* commit \u00275493df919b01952857eb3b78fad3fe2cff573935\u0027:\n  Squashed commit of the following:\n"
    },
    {
      "commit": "27366fc9540cb642ee4856957dabffe7ddf1f901",
      "tree": "b3509359b040abfe0055af4345a01520453d112c",
      "parents": [
        "40c1dbf081035f878b96dd67ef112eb49001c087"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Nov 20 09:32:46 2009 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 23 10:44:30 2009 -0800"
      },
      "message": "Squashed commit of the following:\n\ncommit 1efc38dc3c33fef57b759002db3965ed07a28cb0\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Thu Nov 19 14:36:14 2009 -0800\n\n    Sending the SEEK-COMPLETE notification temporarily broke seeking backwards in time behaviour. This is now fixed.\n\n    Also, get rid of the semi-random delay after posting buffers to surface flinger in favour of delaying the buffer release until the next frame is displayed.\n\ncommit 51973062eb5ee63fd64b845d72bac517cc3369cf\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Wed Nov 18 14:01:43 2009 -0800\n\n    Fix one more unit test, properly send seek-complete notification only after seek actually completed.\n\ncommit cb22250b34b1fcfe1bf459723a761fd003950229\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Wed Nov 18 12:31:36 2009 -0800\n\n    Fix seek-while-paused in AwesomePlayer, revert to using FileSource if MmapSource fails.\n\ncommit 25eb9241138ddf7bb27ce90657116c5f8a94d880\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Wed Nov 18 12:30:40 2009 -0800\n\n    Support seeking and duration in AMRExtractor, assuming all frames are the same size.\n\ncommit 44192f2ebb7ea3bbd3ba5910025692dbc6a08faa\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Wed Nov 18 10:21:44 2009 -0800\n\n    MediaPlayerImpl is dead, long live AwesomePlayer.\n\ncommit c5b52d3c0674f5dc94db506afbce52401cceddac\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Wed Nov 18 09:42:23 2009 -0800\n\n    New implementation of the stagefright mediaplayer.\n"
    },
    {
      "commit": "cc829a652ba3c0caaca8a6bdbab1c3385fa49c83",
      "tree": "23486a5e8f69ea17ba938fe00f1b06e0b91ed8c7",
      "parents": [
        "0fd4a3007c9ef9250d9fb2fb490ec6f357d725b1",
        "26a9a13ac32a9109300e323d26af5865bf5244cc"
      ],
      "author": {
        "name": "Mike Chan",
        "email": "mike@android.com",
        "time": "Thu Nov 19 17:44:59 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 19 17:44:59 2009 -0800"
      },
      "message": "am 26a9a13a: am b2a51667: am 23b3ef82: Merge change I99194df1 into eclair\n\nMerge commit \u002726a9a13ac32a9109300e323d26af5865bf5244cc\u0027\n\n* commit \u002726a9a13ac32a9109300e323d26af5865bf5244cc\u0027:\n  frameworks: base: dumpstate: Dump kernel cpufreq speeds.\n"
    },
    {
      "commit": "b2a5166704ae76cc468b49710d4c967b58112359",
      "tree": "035fbb2837908e756a4466c6b9aac6c4a494762b",
      "parents": [
        "fc64165ef7116a385ae6d9983ab077adc47a6326",
        "23b3ef82c0c4175e8c953740306ee6b080dae8e7"
      ],
      "author": {
        "name": "Mike Chan",
        "email": "mike@android.com",
        "time": "Thu Nov 19 16:23:56 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 19 16:23:56 2009 -0800"
      },
      "message": "am 23b3ef82: Merge change I99194df1 into eclair\n\nMerge commit \u002723b3ef82c0c4175e8c953740306ee6b080dae8e7\u0027 into eclair-mr2\n\n* commit \u002723b3ef82c0c4175e8c953740306ee6b080dae8e7\u0027:\n  frameworks: base: dumpstate: Dump kernel cpufreq speeds.\n"
    },
    {
      "commit": "c6b406f0ebca689f978acae99558763381f2a5f8",
      "tree": "0000e63d59c2022e06742faddb7cdb347c54be7d",
      "parents": [
        "f854e0770207e93ef9d1bf6d50ed18537a107ca4"
      ],
      "author": {
        "name": "Mike Chan",
        "email": "mike@android.com",
        "time": "Thu Nov 19 16:01:05 2009 -0800"
      },
      "committer": {
        "name": "Mike Chan",
        "email": "mike@android.com",
        "time": "Thu Nov 19 16:01:05 2009 -0800"
      },
      "message": "frameworks: base: dumpstate: Dump kernel cpufreq speeds.\n\nChange-Id: I99194df1d6c46254affef86ea8eb39e784c3dfb3\nSigned-off-by: Mike Chan \u003cmike@android.com\u003e\n"
    },
    {
      "commit": "c1786f1697b3376585f1e59585b84781c9811f10",
      "tree": "9aa20293558ed7e2722b00fc92bb2271a9ded9b4",
      "parents": [
        "f4d7ffb0b120b000e7e3489e253f1493a8ea1e18",
        "d28fcd5bb8e5734a12b83f7cefde759c009e7b6e"
      ],
      "author": {
        "name": "repo sync",
        "email": "lockwood@android.com",
        "time": "Wed Nov 18 17:55:09 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 18 17:55:09 2009 -0800"
      },
      "message": "am d28fcd5b: resolved conflicts for merge of efd91d7c to eclair-mr2-plus-aosp\n\nMerge commit \u0027d28fcd5bb8e5734a12b83f7cefde759c009e7b6e\u0027\n\n* commit \u0027d28fcd5bb8e5734a12b83f7cefde759c009e7b6e\u0027:\n  Fixes for proximity sensor behavior:\n"
    },
    {
      "commit": "efd91d7ce01c7bd538fb0ca66d9f5395352211f8",
      "tree": "09961a642c9aaf9b3c2f21f46481f36fd998e640",
      "parents": [
        "ddd017f872bee40450c0e73dcf6608a9fdc49a05",
        "03786b83bd02f8dd8e1049d333fbfdee395ac965"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Nov 18 16:24:37 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 18 16:24:37 2009 -0800"
      },
      "message": "am 03786b83: Merge change I813fdb7a into eclair\n\nMerge commit \u002703786b83bd02f8dd8e1049d333fbfdee395ac965\u0027 into eclair-mr2\n\n* commit \u002703786b83bd02f8dd8e1049d333fbfdee395ac965\u0027:\n  Fixes for proximity sensor behavior:\n"
    },
    {
      "commit": "0e39ea83c5578e0d55e120c91ff7cfeeb0c1cb2f",
      "tree": "a4ef4b0b89816adc34b10618889aa4021867c58f",
      "parents": [
        "30998a59aced3248b3a6f5e507dba0394fb54cad"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Nov 18 15:37:10 2009 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Nov 18 18:45:59 2009 -0500"
      },
      "message": "Fixes for proximity sensor behavior:\n\nAdd optional flag to Wakelock.release() to specify whether we should wait for proximity sensor to go negative before turning on the screen.\nClear the \"waiting for proximity sensor to go negative\" state when the power key is pressed.\n\nPart of the fix for b/2243198 (Black screen lockup after ending call)\n\nChange-Id: I813fdb7aa4192cd3384a25be9e59d7d4b90da53a\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "425c77e6818577cf2f1f8837da70fad63e2b9c28",
      "tree": "ec8aacb8213a7eac92acdd6dec1c9e53b440fb01",
      "parents": [
        "2227ecd1bf479e2dabfb29da4c1ac3effabee108",
        "7174fcf6031234bfc9aa29bf3085d14742cab944"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue Nov 17 07:29:03 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 17 07:29:03 2009 -0800"
      },
      "message": "am 7174fcf6: am f9bf75d5: am e2071c6b: Merge change I326e3e29 into eclair\n\nMerge commit \u00277174fcf6031234bfc9aa29bf3085d14742cab944\u0027\n\n* commit \u00277174fcf6031234bfc9aa29bf3085d14742cab944\u0027:\n  dumpstate: include the contents of the last radio log\n"
    },
    {
      "commit": "f9bf75d59acd8efb45d7137df507241483b1ad34",
      "tree": "8cc30447299d2bc0ad441e3921b706fedaf0ece5",
      "parents": [
        "9e807d7cc4e5deafc0744abd932e2b40e3f5e80b",
        "e2071c6b1d68220976d495d917566edf01303680"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Mon Nov 16 00:34:38 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 16 00:34:38 2009 -0800"
      },
      "message": "am e2071c6b: Merge change I326e3e29 into eclair\n\nMerge commit \u0027e2071c6b1d68220976d495d917566edf01303680\u0027 into eclair-mr2\n\n* commit \u0027e2071c6b1d68220976d495d917566edf01303680\u0027:\n  dumpstate: include the contents of the last radio log\n"
    },
    {
      "commit": "326e3e291a01b31df12fd33dd2f814a1ac61e2fe",
      "tree": "172a82a71372bbf65e337ae7ee060a430b7c1b2e",
      "parents": [
        "521d400b230bee5e7b9748f26832c0d0275b8253"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Sun Nov 15 18:28:06 2009 -0800"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Sun Nov 15 18:28:41 2009 -0800"
      },
      "message": "dumpstate: include the contents of the last radio log\n\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "f814fc6c4b785d3748c65b38ab99681494f763fb",
      "tree": "f0951345219e49ebb57007899e3d1a33f9f856eb",
      "parents": [
        "f4857040d487a06885754922e604532273294d92",
        "45e89568b6004db847b9e4057e386aa7db2e764c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 10 12:00:03 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 10 12:00:03 2009 -0800"
      },
      "message": "am 45e89568: am d71ab51a: Merge change I3e1bdd38 into eclair-mr2\n\nMerge commit \u002745e89568b6004db847b9e4057e386aa7db2e764c\u0027\n\n* commit \u002745e89568b6004db847b9e4057e386aa7db2e764c\u0027:\n  Transcode files again.\n"
    },
    {
      "commit": "d71ab51a46d3648493ab3425e77e5762544be03a",
      "tree": "71494a1bdee4794ea88305ca3ec46c479fe103ea",
      "parents": [
        "a300625625feae9f7eb28694e4a31335442c420b",
        "3e1bdd386bb11f6fc5732cb53a33663bb780041f"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 10 11:53:19 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 10 11:53:19 2009 -0800"
      },
      "message": "Merge change I3e1bdd38 into eclair-mr2\n\n* changes:\n  Transcode files again.\n"
    },
    {
      "commit": "2a32cbed2c147d084789440b76ed1150b61b7822",
      "tree": "5d4d6f9e40f5fefb46e2d1563cb67e3c53d67033",
      "parents": [
        "6518c2bab4e336a08e703018accdf7d5e6a6a1ad",
        "c481990b630c7ff5bca155f4b1385f71097500d3"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Nov 06 17:34:54 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 06 17:34:54 2009 -0800"
      },
      "message": "am c481990b: am b4488930: am 45dd12cb: Merge change I9f3020db into eclair\n\nMerge commit \u0027c481990b630c7ff5bca155f4b1385f71097500d3\u0027\n\n* commit \u0027c481990b630c7ff5bca155f4b1385f71097500d3\u0027:\n  fix [2243164] live wallpaper screen artifacts at end of boot\n"
    },
    {
      "commit": "b448893039dc7f06ff5a76e8be6444808b4cf2ea",
      "tree": "b11816fdca856a3ff55218f983187453cfdd97e0",
      "parents": [
        "a3a351e5d164d0c8b461ae7af86edc0227654a76",
        "45dd12cb0834ea5d72872a6d5b3095f3af152434"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Nov 06 17:15:45 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 06 17:15:45 2009 -0800"
      },
      "message": "am 45dd12cb: Merge change I9f3020db into eclair\n\nMerge commit \u002745dd12cb0834ea5d72872a6d5b3095f3af152434\u0027 into eclair-mr2\n\n* commit \u002745dd12cb0834ea5d72872a6d5b3095f3af152434\u0027:\n  fix [2243164] live wallpaper screen artifacts at end of boot\n"
    },
    {
      "commit": "45dd12cb0834ea5d72872a6d5b3095f3af152434",
      "tree": "7d0b92fbeb263e77974396e3a41cdb7ac5eb35b9",
      "parents": [
        "4e3fadd0c99d2774709a067e017d8fd622440f0e",
        "9f3020db15e50d07ee1ace42e47d90b076f2ce54"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 06 20:08:35 2009 -0500"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 06 20:08:35 2009 -0500"
      },
      "message": "Merge change I9f3020db into eclair\n\n* changes:\n  fix [2243164] live wallpaper screen artifacts at end of boot\n"
    },
    {
      "commit": "9f3020db15e50d07ee1ace42e47d90b076f2ce54",
      "tree": "5ccf2dc549f87d5e7e327f9ac25351a752290a38",
      "parents": [
        "818a9cf827f282addbf7c8ee23534e08a3aaa358"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Nov 06 16:30:18 2009 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Nov 06 16:30:18 2009 -0800"
      },
      "message": "fix [2243164] live wallpaper screen artifacts at end of boot\n\nmake sure to glClear() the areas not touched by the animation\n"
    },
    {
      "commit": "dcaa220ff5f360a29ac8be0eb12a8238ecaa080f",
      "tree": "8af64f607838fa0af5c45057b518c76b552cb0a4",
      "parents": [
        "818a9cf827f282addbf7c8ee23534e08a3aaa358"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 05 12:04:22 2009 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 05 13:06:17 2009 -0800"
      },
      "message": "DO NOT MERGE: Squashed commit of the following:\n\ncommit 08259dd3dc9026887f9bbfedaf45866eb56ea9bc\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Thu Nov 5 12:02:31 2009 -0800\n\n    DO NOT MERGE: Use PV for metadata extraction even if stagefright is used for playback.\n\ncommit 991832fe4dc012e51d3d9ed8d647c7f09991858f\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Thu Nov 5 11:24:11 2009 -0800\n\n    DO NOT MERGE: Do not assert if we encounter OMX_StateInvalid. All bets are off though.\n\ncommit cec45cf302d9218fe79956cbe8a462d7ca3a10bb\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Mon Oct 26 16:11:54 2009 -0700\n\n    DO NOT MERGE: When freeing an OMX node, attempt to transition it from its current state all the way to \"Loaded\" in order to properly free any allocated buffers.\n\ncommit 34a1e885ef9113d68acbc26d36fcc47fdebbed84\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Thu Nov 5 11:10:49 2009 -0800\n\n    DO NOT MERGE: Fix heap corruptin in OMXNodeInstance.\n\ncommit 5a47f7439a1298b330541a7e4e647a8b44487388\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Thu Nov 5 11:08:19 2009 -0800\n\n    DO NOT MERGE: Fix seek-on-initial-read behaviour of OMXCodec.\n\ncommit 45bed64722501b9f411a2940aff5aff4cc4d2e98\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Thu Nov 5 11:02:23 2009 -0800\n\n    DO NOT MERGE: Renaming string.h to stagefright_string.h to avoid conflicts.\n\ncommit 6738e306a50196f31a73d4fc7b7c45faff639903\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Thu Oct 15 13:46:54 2009 -0700\n\n    DO NOT MERGE: Reimplement the OMX backend for stagefright.\n\n    Besides a major cleanup and refactoring, OMX is now a singleton living in the media server, it listens for death notifications of node observers/clients that allocated OMX nodes and performs/attempts cleanup.\n\n    Changed APIs to conform to the rest of the system.\n"
    },
    {
      "commit": "9aaa59076aad8efd04d0935ca6122531805124b5",
      "tree": "fa479cdfa9dbef32efaf7dfee725ed72a1439356",
      "parents": [
        "79d4002734bda76e00801cea01e209fbc394d730",
        "66c2557334d6c8116c874aa65e84b280d325009e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Nov 04 10:52:42 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 04 10:52:42 2009 -0800"
      },
      "message": "am 66c25573: am 12bc3af0: Merge change I6f6bf3d8 into eclair-mr2\n\nMerge commit \u002766c2557334d6c8116c874aa65e84b280d325009e\u0027\n\n* commit \u002766c2557334d6c8116c874aa65e84b280d325009e\u0027:\n  Support raw audio sources in stagefright commandline tool.\n"
    },
    {
      "commit": "6f6bf3d8d209e13ef2fb96eb2986896e82928f67",
      "tree": "ba2f1d4586672d20179fadba3420d09febd1eed7",
      "parents": [
        "5126e183620af7344544f15824967d8313642c9a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 03 15:59:13 2009 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 03 15:59:13 2009 -0800"
      },
      "message": "Support raw audio sources in stagefright commandline tool.\n"
    },
    {
      "commit": "3e1bdd386bb11f6fc5732cb53a33663bb780041f",
      "tree": "e7e4de0e2aa074894274fae210a41d1cfd067efb",
      "parents": [
        "38f95586a6540756d5de383145b49a8625d49d23"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 29 15:58:10 2009 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 02 15:17:48 2009 -0800"
      },
      "message": "Transcode files again.\n"
    },
    {
      "commit": "9543042b03d494f9cc328e223cea0ca94194e397",
      "tree": "6126e37be57adc3fe03aadd6981baca28b76a2b9",
      "parents": [
        "a211aa60e98688dc4a9cf0e5cb689e99834baa46",
        "8e5063ca3af9adadf3cca13fe9b907d4da0a451d"
      ],
      "author": {
        "name": "Evan Millar",
        "email": "emillar@google.com",
        "time": "Thu Oct 29 20:18:13 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 29 20:18:13 2009 -0700"
      },
      "message": "am 8e5063ca: am 2d05af0c: am 3034624f: Merge change I26a2d829 into eclair\n\nMerge commit \u00278e5063ca3af9adadf3cca13fe9b907d4da0a451d\u0027\n\n* commit \u00278e5063ca3af9adadf3cca13fe9b907d4da0a451d\u0027:\n  Add -P flag to ps in dumpstate\n"
    },
    {
      "commit": "2d05af0c8aa252dc1b150395cd42f4f5cbcad392",
      "tree": "771dadb7067d7346acae37f9df1282d860bba799",
      "parents": [
        "492dbe17527e27ba712d185a1eac22ae149c67c0",
        "3034624f68d373d7c79237425319b5b7fd84317e"
      ],
      "author": {
        "name": "Evan Millar",
        "email": "emillar@google.com",
        "time": "Thu Oct 29 19:31:24 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 29 19:31:24 2009 -0700"
      },
      "message": "am 3034624f: Merge change I26a2d829 into eclair\n\nMerge commit \u00273034624f68d373d7c79237425319b5b7fd84317e\u0027 into eclair-mr2\n\n* commit \u00273034624f68d373d7c79237425319b5b7fd84317e\u0027:\n  Add -P flag to ps in dumpstate\n"
    },
    {
      "commit": "86505755529b413dedccb32d9e035576774c679d",
      "tree": "8153e4011638c5bd47845717e0d91e1c17e28886",
      "parents": [
        "a2e9e893267498938a16eccdc1a7836d47581295",
        "5647eebc3aeef6e644b8c7587a36206d8f0d6314"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 29 14:44:36 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 29 14:44:36 2009 -0700"
      },
      "message": "am 5647eebc: am 9dba1f92: Merge change Ib482ce88 into eclair-mr2\n\nMerge commit \u00275647eebc3aeef6e644b8c7587a36206d8f0d6314\u0027\n\n* commit \u00275647eebc3aeef6e644b8c7587a36206d8f0d6314\u0027:\n  Revive support for video encoding in OMXCodec.\n"
    },
    {
      "commit": "26a2d829b37d2658e5e037f1f8ce968bbd9f2164",
      "tree": "42ef6fc1b190546a644373cad68de6ac404174f9",
      "parents": [
        "fb872d1af3c775114ac7d241eb1924a9aafbb9df"
      ],
      "author": {
        "name": "Evan Millar",
        "email": "emillar@google.com",
        "time": "Thu Oct 29 12:41:39 2009 -0700"
      },
      "committer": {
        "name": "Evan Millar",
        "email": "emillar@google.com",
        "time": "Thu Oct 29 12:53:46 2009 -0700"
      },
      "message": "Add -P flag to ps in dumpstate\n"
    },
    {
      "commit": "b482ce8837a2d85a2a907d7ea89deaa6610a8333",
      "tree": "d290027d3cfb697d0d2abfcccafd5d7337cd5e76",
      "parents": [
        "10d32a338d5400786e784a0d6f51b53acea76b44"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 29 12:02:48 2009 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 29 12:02:48 2009 -0700"
      },
      "message": "Revive support for video encoding in OMXCodec.\n"
    },
    {
      "commit": "d437ac6a7c4fde988f7d737bafd30744137f3af8",
      "tree": "fae3f2157f95abcc541b2b26ca92bed9c983aae7",
      "parents": [
        "a6d36d81af5b19ca820f54a5b812268e59315cad",
        "d919aa74927fcabd18a9ea14a57f44240aecc7af"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 23 10:37:24 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 23 10:37:24 2009 -0700"
      },
      "message": "am d919aa74: am 9069aa31: Merge change I57515f33 into eclair-mr2\n\nMerge commit \u0027d919aa74927fcabd18a9ea14a57f44240aecc7af\u0027\n\n* commit \u0027d919aa74927fcabd18a9ea14a57f44240aecc7af\u0027:\n  Moving the individual extractor headers files to the private include directory.\n"
    },
    {
      "commit": "57515f334bcc1f66f95e342bfcaa13bf9ca802ad",
      "tree": "6813dcb5c024e8198eeed71a5ed8afa954e2a477",
      "parents": [
        "ad28543022101d0b01845e3f53dcd57e524816ef"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 23 09:55:10 2009 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 23 09:55:10 2009 -0700"
      },
      "message": "Moving the individual extractor headers files to the private include directory.\n"
    },
    {
      "commit": "36ad2c62b0fd5f91324f122355e355198ca56edf",
      "tree": "31c8a8745829caa7727a62d4d130771d45204c5e",
      "parents": [
        "c2f945c047496584f4fdc6b4c76653f6c628c951",
        "1705d87b7e576bcd3bdc670411511376b4e245c5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 16 15:55:33 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 16 15:55:33 2009 -0700"
      },
      "message": "am 1705d87b: am bfea1e13: resolved conflicts for merge of f585be7f to eclair-mr2\n\nMerge commit \u00271705d87b7e576bcd3bdc670411511376b4e245c5\u0027\n\n* commit \u00271705d87b7e576bcd3bdc670411511376b4e245c5\u0027:\n  A few more testcases for the vendor to reproduce issues with their decoder. Not part of the shipping image.\n"
    },
    {
      "commit": "bfea1e139683cdb339e0cb6aa5970b5334369d77",
      "tree": "9b80dba9af081d8648cca3da2bb95179641f238b",
      "parents": [
        "720ac1d4fa0ca3dc44c5c8dc4f57949b2f72681f",
        "f585be7f373ad7920a7c486f84cc38b86e3572b7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 16 15:32:50 2009 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 16 15:32:50 2009 -0700"
      },
      "message": "resolved conflicts for merge of f585be7f to eclair-mr2\n"
    },
    {
      "commit": "11ebbfd9039fdf73d532adfb754b40ea41343585",
      "tree": "10110bf0db15a443605803544077266cda0e96ed",
      "parents": [
        "c75348a9384a5310bb34bf02cafd0076630f4a28"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 16 15:05:45 2009 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 16 15:05:45 2009 -0700"
      },
      "message": "A few more testcases for the vendor to reproduce issues with their decoder. Not part of the shipping image.\n"
    },
    {
      "commit": "07914840dfd18e34fd4789cfc21522a0f4e0970d",
      "tree": "22995eff5c814ed9d628a14f60dfbb957057b405",
      "parents": [
        "ae655549981d1cbcd1e54669341a698a51a7e902",
        "4b9dbdfa1805cfb5be1eca2d26ca18a01724839a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 16 13:02:24 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 16 13:02:24 2009 -0700"
      },
      "message": "am 4b9dbdfa: am d96f6e85: Merge change I8176f35e into eclair-mr2\n\nMerge commit \u00274b9dbdfa1805cfb5be1eca2d26ca18a01724839a\u0027\n\n* commit \u00274b9dbdfa1805cfb5be1eca2d26ca18a01724839a\u0027:\n  Reimplement the OMX backend for stagefright.\n"
    },
    {
      "commit": "784202ea115603004b067aacf6a57bf5d2a7d53b",
      "tree": "0e32ad4b315f936a80ac1af63ae2e919e6ffe090",
      "parents": [
        "d21b725627e68b8ffcae38729196e8c1bd5d0d15"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 15 13:46:54 2009 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 16 11:22:43 2009 -0700"
      },
      "message": "Reimplement the OMX backend for stagefright.\n\nBesides a major cleanup and refactoring, OMX is now a singleton living in the media server, it listens for death notifications of node observers/clients that allocated OMX nodes and performs/attempts cleanup.\n\nChanged APIs to conform to the rest of the system.\n"
    },
    {
      "commit": "5dc13b769fa42ca227967a81a5fdeadfb55b6055",
      "tree": "0dd896fdd750122a35a8df9611f1774b8b7b85b2",
      "parents": [
        "850efa869c181d0f84b3359471018bb9d272254f",
        "9550e2892f88194c9abbb85616bb55db67231d6e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 13 17:06:41 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 13 17:06:41 2009 -0700"
      },
      "message": "am 9550e289: am cfd55579: OMXCodec now notifies the reader of changes in the output format by returning a special result/error code.\n\nMerge commit \u00279550e2892f88194c9abbb85616bb55db67231d6e\u0027\n\n* commit \u00279550e2892f88194c9abbb85616bb55db67231d6e\u0027:\n  OMXCodec now notifies the reader of changes in the output format by returning a special result/error code.\n"
    },
    {
      "commit": "0b4acfcc6045a1b8177487fd312be9b4d62a408f",
      "tree": "0ce79e78baa6d1a399670f332865b4466e1361a1",
      "parents": [
        "182983ed0093614ff2931c5f423742d94bee4226",
        "c55bb59e542368500937d6737ce2ea2d3524d6d7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 13 17:04:19 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 13 17:04:19 2009 -0700"
      },
      "message": "am c55bb59e: am ef703f60: Merge change I98276091 into eclair-mr2\n\nMerge commit \u0027c55bb59e542368500937d6737ce2ea2d3524d6d7\u0027\n\n* commit \u0027c55bb59e542368500937d6737ce2ea2d3524d6d7\u0027:\n  Change to a int64_t usecs representation for timestamps and duration throughout stagefright.\n"
    },
    {
      "commit": "945ff2024357bd4367cb437d3ebb32d6fb7e9438",
      "tree": "653ef7121e91eb96ad983781ef91e58dc47f173f",
      "parents": [
        "74ae80b623d72d7fab1999fb9ce4b759419f4553",
        "94f3a36326ddecaa09787d795451b0a229fe111c"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Tue Oct 13 12:04:49 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 13 12:04:49 2009 -0700"
      },
      "message": "am 94f3a363: Merge branch \\\u0027eclair-plus-aosp\\\u0027 of ssh://android-git.corp.google.com:29418/platform/frameworks/base into eclair-mr2-plus-aosp\n\nMerge commit \u002794f3a36326ddecaa09787d795451b0a229fe111c\u0027\n\n* commit \u002794f3a36326ddecaa09787d795451b0a229fe111c\u0027:\n  Remove STOPSHIP BT logging.\n  BT API security audit: fix a couple of permission mistakes.\n  Fix issue #2175693: Add vmallocinfo to dumpstate\n  add a way to easily catch and log GL errors (compile time flag)\n  GPS: Fix problem with SUPL when SUPL APN is already active.\n  Import revised translations.  DO NOT MERGE\n  Fix issue 2174002: After rejecting Call when device ringtone is mute and playing music, audio is not transfered to BT device.\n  Import revised translations.  DO NOT MERGE\n"
    },
    {
      "commit": "80010ff5ee404ad59de29e098954a18b546998e1",
      "tree": "04bf7f31e73e294107eb0340c454be802cec6ad0",
      "parents": [
        "ee00678189ad3cfd64e4ca5bb5116aa7619ee118",
        "3c5600ecccd38d8fb6d39330f31fe91b5f99481b"
      ],
      "author": {
        "name": "Marc Blank",
        "email": "mblank@google.com",
        "time": "Tue Oct 13 11:54:04 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 13 11:54:04 2009 -0700"
      },
      "message": "am 3c5600ec: Merge branch \\\u0027eclair-plus-aosp\\\u0027 of ssh://android-git.corp.google.com:29418/platform/frameworks/base into eclair-mr2-plus-aosp\n\nMerge commit \u00273c5600ecccd38d8fb6d39330f31fe91b5f99481b\u0027\n\n* commit \u00273c5600ecccd38d8fb6d39330f31fe91b5f99481b\u0027:\n  dumpstate: \u0027RAMCONSOLE\u0027 -\u003e \u0027LAST KMSG\u0027\n  Only dismiss search dialog after launching intent.\n"
    },
    {
      "commit": "cfd55579c2e20514b181809dfaf30bd6f7e04c7e",
      "tree": "7340b11072bf029da5619f6aec3bdef10cd42d97",
      "parents": [
        "d5ad08bd4230c2f5d58969c624c39a3f5a2019d1"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 09 14:11:28 2009 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 13 09:46:46 2009 -0700"
      },
      "message": "OMXCodec now notifies the reader of changes in the output format by returning a special result/error code.\n"
    },
    {
      "commit": "fa8de752507feaca695123911915070c1ce463b2",
      "tree": "d3b7356ba9c31848b41ea027f978524762741aa6",
      "parents": [
        "edb988128e5b14b46c692d19ea4f536d7daa7b39"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 08 10:07:49 2009 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Oct 12 16:00:07 2009 -0700"
      },
      "message": "Change to a int64_t usecs representation for timestamps and duration throughout stagefright.\n"
    },
    {
      "commit": "4ccbd5ade5dda03ff9bad54a550fb81330f6913c",
      "tree": "8378752bc5f02a675db765941a074d0d25c669d2",
      "parents": [
        "fa7edb48437685dce08570c3ed022b2edd58f31b",
        "2d0dee0e6ccebced9eac11dec24fbb66a1a40b2b"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Oct 12 11:37:39 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 12 11:37:39 2009 -0700"
      },
      "message": "am 2d0dee0e: am 0daf3e91: am 7fdd67d3: Merge change I5b650a61 into eclair\n\nMerge commit \u00272d0dee0e6ccebced9eac11dec24fbb66a1a40b2b\u0027\n\n* commit \u00272d0dee0e6ccebced9eac11dec24fbb66a1a40b2b\u0027:\n  dumpstate: Emit a logcat message at beginning and end of execution.\n"
    },
    {
      "commit": "9809d5149b883315c73aef197200eb9758d34134",
      "tree": "da9abce3d6e8159f61efee8701f7f0c7d4e16ada",
      "parents": [
        "13683ab7d4c59c242d44f56f0e1576fee0b20976",
        "4bc6158d6bdeff796cfd61d489c01db0d203534c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 12 11:34:00 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 12 11:34:00 2009 -0700"
      },
      "message": "am 4bc6158d: am baad552d: am 68d881cf: Fix issue #2166755: BroadcastReceiver trying to return result during a non-ordered broadcast\n\nMerge commit \u00274bc6158d6bdeff796cfd61d489c01db0d203534c\u0027\n\n* commit \u00274bc6158d6bdeff796cfd61d489c01db0d203534c\u0027:\n  Fix issue #2166755: BroadcastReceiver trying to return result during a non-ordered broadcast\n"
    },
    {
      "commit": "b90a9d88da07f2b35fb4f7a70715f56e8ebca41d",
      "tree": "73baadc5c7b28bd2648adabb6805cdc0aad6b186",
      "parents": [
        "56b7d695c49e1ecce49faa24acb4766fd72e2dac",
        "e04611471133650731bcd06229dfd38f3fcdc889"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Oct 12 11:20:51 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 12 11:20:51 2009 -0700"
      },
      "message": "am e0461147: am 2ecf3f5e: dumpstate: Add backlight information to bugreport output.\n\nMerge commit \u0027e04611471133650731bcd06229dfd38f3fcdc889\u0027\n\n* commit \u0027e04611471133650731bcd06229dfd38f3fcdc889\u0027:\n  dumpstate: Add backlight information to bugreport output.\n"
    },
    {
      "commit": "234afe8f91425ef566e9b500d892e50f83ce3246",
      "tree": "f15b3fba7420fc163a4f5479a061d1fc1f18d9d1",
      "parents": [
        "d80f43f45eb07f5377e4e70e68ad7b1042f0c901",
        "21ee78b372ac38f7844b1877192513ca0388fc82"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Mon Oct 12 11:20:08 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 12 11:20:08 2009 -0700"
      },
      "message": "am 21ee78b3: am 7b16834a: Merge change Iaf686344 into eclair\n\nMerge commit \u002721ee78b372ac38f7844b1877192513ca0388fc82\u0027\n\n* commit \u002721ee78b372ac38f7844b1877192513ca0388fc82\u0027:\n  dumpstate: Display mtime instead of ctime\n"
    },
    {
      "commit": "b80b8d5637c1ed154cda1f86fa9fb0d462d2ec92",
      "tree": "a6b49aee03e55f1df745da116f9365543c857637",
      "parents": [
        "846322a9ae5ef8155cca0059d3f64d718516ca13"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 08 10:49:12 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 08 16:33:30 2009 -0700"
      },
      "message": "Fix issue #2175693: Add vmallocinfo to dumpstate\n\nChange-Id: I88c6e2679919e56f581fcf79dbe683393dd8ce27\n"
    },
    {
      "commit": "b7c34cecd107bb79fa88f51eee99c94c4256212d",
      "tree": "b43f2caebcefd84e27d0dd918b34316696626857",
      "parents": [
        "dc2ccb82f96b6a7be7a7b262b81d3aa1422f46fa"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed Oct 07 17:03:00 2009 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Oct 08 07:48:21 2009 -0700"
      },
      "message": "dumpstate: \u0027RAMCONSOLE\u0027 -\u003e \u0027LAST KMSG\u0027\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "bb6fa17558ff9212a48bd4be24aef235814b944e",
      "tree": "679e7d4a2db39140db812f432b0994ae12fcf5dc",
      "parents": [
        "5fbaefc3d8840aac12b16458347b3c1ddbdaf542"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Oct 05 23:23:40 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Oct 05 23:26:34 2009 -0400"
      },
      "message": "dumpstate: Emit a logcat message at beginning and end of execution.\n\nSince the logcat is not printed until later in the output, this will\nmake it easier to determine at what point the user pressed the key sequence\nto initiate the bugreport, which can be helpful when debugging timing dependent problems.\n\nb/2164183\n\nChange-Id: I5b650a6163c383183ff28e344dac36fab11a2c7b\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "68d881cf2d2b252f6f795cd64d43e316a1d736e5",
      "tree": "3d0f7cb91e612df7a5663ceefec0b5439c907642",
      "parents": [
        "71060f29855745893c122e8b93cf7a723186931b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 05 13:58:17 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 05 15:52:32 2009 -0700"
      },
      "message": "Fix issue #2166755: BroadcastReceiver trying to return result during a non-ordered broadcast\n\nTell the broadcast receiver whether it is getting an initial sticky value,\nso it will be quiet about attempts to do ordered broadcast stuff.\n\nNote that the original bug being reported was not actually a crash, just\nan error log.  So all we are doing here is making the log quieter.\n\nChange-Id: Iaf1b718d82093ec1197142410a64feff47eb3859\n"
    },
    {
      "commit": "b1bb6cfe91c97fccd720de565fa69ed787ae1cbc",
      "tree": "f57a58dd074a3846884b41320665d33a0d6553fe",
      "parents": [
        "82583b8312403ed734c30b161750d40c26086ee2"
      ],
      "author": {
        "name": "Doug Kwan",
        "email": "dougkwan@google.com",
        "time": "Sun Oct 04 19:27:57 2009 -0700"
      },
      "committer": {
        "name": "Doug Kwan",
        "email": "dougkwan@google.com",
        "time": "Sun Oct 04 19:27:57 2009 -0700"
      },
      "message": "Add back missing shared libraries used in executables in link commands.  These\nexecutables have calls to some shared libraries without explicitly linking\nthem.  Currently it works as linker links these libraries via dependencies of\nother libraries.  This is fragile and not the right thing to do.\n"
    },
    {
      "commit": "2ecf3f5e00ea2ac630ffb405baba33113596cf38",
      "tree": "80bfaa7b61630edd9ce6f066d590789bdf5b7cc5",
      "parents": [
        "f8e4bc9f7789b98b54fe04df56555ca8c630df70"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Oct 04 17:21:05 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Oct 04 17:21:05 2009 -0400"
      },
      "message": "dumpstate: Add backlight information to bugreport output.\n\nTo help diagnose bugs b/2164183 and b/2164647\n\nChange-Id: Ie80c3b205c231c485d8a24e68b0a9c5e025da479\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "af6863447c59c9447ea92e724e89ce04665b8fc5",
      "tree": "a6e1a0b51f0ce399137fc08514632cca1ff46841",
      "parents": [
        "df64cb41fb44d56957cba8e375788d98af7bd8b4"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Fri Oct 02 13:15:53 2009 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Fri Oct 02 13:15:53 2009 -0700"
      },
      "message": "dumpstate: Display mtime instead of ctime\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "a8826d67097b12cf9d6b14a7e32c0862f17b189a",
      "tree": "70647cff0bcb6efe7e86b516473e536dc4d3aa57",
      "parents": [
        "98a9c56acf1857adaf1773bd91c88a8364fd3fa8"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 01 03:10:14 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 01 03:14:30 2009 -0700"
      },
      "message": "improve boot animation a bit\n"
    },
    {
      "commit": "039c68e75606e837cf021815a0210836724574ad",
      "tree": "c65d4f12f6401a113421e3d6b59601da3d7ea97d",
      "parents": [
        "075a18d607c3aa8386b4d06aea22f4bfacbe447b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Sep 26 16:39:23 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Sep 26 16:39:23 2009 -0700"
      },
      "message": "The touch screen is probably a feature.\n\nAlso extend the feature APIs a bit.\n\nChange-Id: I99e932d7f4e61edb0e20f75c55e9831e4b59a14d\n"
    },
    {
      "commit": "23b4faf69437b732d681d9bee5c9a84379d5ccad",
      "tree": "b2f7ef4edda01b216aa7ed2137e7296b9e080f50",
      "parents": [
        "a0cad2f5d19d95cfe496ebb82f3227dd4ed7c169"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Sep 24 17:41:13 2009 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Sep 25 11:57:44 2009 -0700"
      },
      "message": "Use reflection to figure out a readable string from install error code.\n\nInstead of a switch that needs to be maintained, the code now\nlook for public static final int fields in PackageManager\nwhose names start with INSTALL_FAILED or INSTALL_PARSE_FAILED.\n\nIf their int value match the error code, the name of the field\nis used as a human readable error string.\n\nChange-Id: If58ddc4d9ccc40a9a8aaec9de4cc7e4931db0292\n"
    },
    {
      "commit": "b5597801ad59d1fc361f584c5d7896e4c81767a1",
      "tree": "ffb171c6d583a80d2986285541a430ac9065af68",
      "parents": [
        "8c596c6cce542dcd5c73e8b1aaef666757e36ec4"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Sep 24 13:35:26 2009 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Sep 24 13:35:26 2009 +0800"
      },
      "message": "keystore: remove old implementation and test.\n\nThe new tests will be implemented in java.\n"
    },
    {
      "commit": "8434c5369304e639efe8eab368ca410c589d87c2",
      "tree": "4b1db74f52e8308221b7e918e7075a2785e98901",
      "parents": [
        "769de37e2108542f7085536e46ddcd8eab8ad69b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 23 18:52:49 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 23 18:52:49 2009 -0700"
      },
      "message": "the boot animation is back! it broke in a recent check-in\n"
    },
    {
      "commit": "b4d5a72691846bce5779cc3db056f09a5031d7cc",
      "tree": "6303ee68783453daba62f94496829f655ad8225e",
      "parents": [
        "2e4b68d57bb64d7e93139238c5a8be91ff956c2a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 23 17:05:19 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 23 17:05:19 2009 -0700"
      },
      "message": "fix simulator build\n"
    },
    {
      "commit": "bc7261130a51dc9f3461d3970eee1b923bcbf193",
      "tree": "8f74c3943a2582418addd8c91e0c1307fe95f733",
      "parents": [
        "de0dfb7b65a02d4dd74c271b558adee0973fc267"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 23 15:44:05 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 23 15:49:32 2009 -0700"
      },
      "message": "fix [2132563] stuck in boot animation (framebuffer_device_open: Failed to create flip chain)\n"
    },
    {
      "commit": "1f6802295e2dba50a4549b8a22537dcb4c4dda03",
      "tree": "107e1d57dca79e550cf4eb43b5e3d2baac2d504f",
      "parents": [
        "f8d8b46a2c684d51cd661a9d479dd895420a90b2"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Tue Sep 22 02:57:52 2009 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Tue Sep 22 02:57:52 2009 +0800"
      },
      "message": "keystore: rename scan() to saw().\n"
    },
    {
      "commit": "0af607264e44b688d251f16ae5b380b0ea808d08",
      "tree": "b9389fad9cccb9435d8cafb10b24d2237d027bb6",
      "parents": [
        "77fa24a5ef3ee3bc108d4bf3c77b7b4c7d0d5451"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Tue Sep 22 00:43:13 2009 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Tue Sep 22 00:43:13 2009 +0800"
      },
      "message": "keystore: exclude builds for simulator.\n"
    },
    {
      "commit": "626c46b016118edbea3a3938425b5d4e959f6f2d",
      "tree": "8596e2f3dca8503f07d6eeadd9312897741b3f7c",
      "parents": [
        "c4b144533a9a5d03ee1fbcf27492a8be5737541d"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Sun Sep 20 10:15:46 2009 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Sep 21 11:36:33 2009 +0800"
      },
      "message": "keystore: enable delete(), scan(), exist() when keystore is locked.\n\nAlso check end-of-file explicitly.\n"
    },
    {
      "commit": "c4b144533a9a5d03ee1fbcf27492a8be5737541d",
      "tree": "cf1dcb701531a97677aae941dbeab4c376356280",
      "parents": [
        "8ed86d2b463be60d65e86aac33550d8fc84bd2a5"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Fri Sep 18 17:23:53 2009 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Fri Sep 18 17:23:53 2009 +0800"
      },
      "message": "keystore: switch to multi-user version.\n"
    }
  ],
  "next": "adbc99be6d7e35f71bbbdcdfef5562c5a9b53b07"
}
