From dd90c556024fefee14058e47aa4c43eb1a8b556f Mon Sep 17 00:00:00 2001
From: Calen Pennington <cale@edx.org>
Date: Wed, 16 Sep 2015 12:02:11 -0400
Subject: [PATCH] Create a new CSMHExtended table to hold our new data

This is a clone (copy) of CSMH's declaration and methods with an added
id of UnsignedBigInAutoField

We should be able to delete the save_history code, but needs testing.

Add error logging when capa failures happen

Put StudentModuleHistory into its own database

Bump out the primary key on CSMHE

This gives us a gap to backfill as needed.
Since the new table's pk is an unsigned bigint, even for people who don't
consolidate CSMH into CSMHE, the lost rows are unlikely to matter.

Remove StudentModuleHistory cleaner
---
 cms/envs/acceptance.py                        |   8 +
 common/lib/xmodule/xmodule/capa_module.py     |  16 +-
 common/test/db_cache/bok_choy_data.json       |   1 -
 .../test/db_cache/bok_choy_data_default.json  |   1 +
 .../bok_choy_data_student_module_history.json |   1 +
 ...schema.sql => bok_choy_schema_default.sql} |  26 +-
 ...bok_choy_schema_student_module_history.sql |  21 +
 .../tests/test_field_override_performance.py  | 101 ++--
 lms/djangoapps/courseware/fields.py           |  21 +
 .../management/commands/clean_history.py      | 222 --------
 .../commands/tests/test_clean_history.py      | 491 ------------------
 .../migrations/0002_csmh-extended-keyspace.py |  53 ++
 lms/djangoapps/courseware/models.py           |  46 +-
 lms/djangoapps/courseware/routers.py          |  57 ++
 .../courseware/tests/test_model_data.py       |   5 +-
 lms/envs/acceptance.py                        |   8 +
 lms/envs/aws.py                               |   5 +
 lms/envs/aws_migrate.py                       |  33 +-
 lms/envs/bok_choy.auth.json                   |   8 +
 lms/envs/common.py                            |  10 +
 lms/envs/dev.py                               |   5 +
 lms/envs/devplus.py                           |   9 +
 lms/envs/static.py                            |   5 +
 lms/envs/test.py                              |   5 +-
 lms/envs/test_static_optimized.py             |   4 +-
 scripts/reset-test-db.sh                      |  73 ++-
 26 files changed, 412 insertions(+), 823 deletions(-)
 delete mode 100644 common/test/db_cache/bok_choy_data.json
 create mode 100644 common/test/db_cache/bok_choy_data_default.json
 create mode 100644 common/test/db_cache/bok_choy_data_student_module_history.json
 rename common/test/db_cache/{bok_choy_schema.sql => bok_choy_schema_default.sql} (99%)
 create mode 100644 common/test/db_cache/bok_choy_schema_student_module_history.sql
 create mode 100644 lms/djangoapps/courseware/fields.py
 delete mode 100644 lms/djangoapps/courseware/management/commands/clean_history.py
 delete mode 100644 lms/djangoapps/courseware/management/commands/tests/test_clean_history.py
 create mode 100644 lms/djangoapps/courseware/migrations/0002_csmh-extended-keyspace.py
 create mode 100644 lms/djangoapps/courseware/routers.py

diff --git a/cms/envs/acceptance.py b/cms/envs/acceptance.py
index 20bdeb0270d..3bb18399f3d 100644
--- a/cms/envs/acceptance.py
+++ b/cms/envs/acceptance.py
@@ -80,6 +80,14 @@ DATABASES = {
             'timeout': 30,
         },
         'ATOMIC_REQUESTS': True,
+    },
+    'student_module_history': {
+        'ENGINE': 'django.db.backends.sqlite3',
+        'NAME': TEST_ROOT / "db" / "test_student_module_history.db",
+        'TEST_NAME': TEST_ROOT / "db" / "test_student_module_history.db",
+        'OPTIONS': {
+            'timeout': 30,
+        },
     }
 }
 
diff --git a/common/lib/xmodule/xmodule/capa_module.py b/common/lib/xmodule/xmodule/capa_module.py
index d44a82276c6..ff9af91c0d0 100644
--- a/common/lib/xmodule/xmodule/capa_module.py
+++ b/common/lib/xmodule/xmodule/capa_module.py
@@ -93,11 +93,23 @@ class CapaModule(CapaMixin, XModule):
             result = handlers[dispatch](data)
 
         except NotFoundError as err:
-            _, _, traceback_obj = sys.exc_info()
+            log.exception(
+                "Unable to find data when dispatching %s to %s for user %s",
+                dispatch,
+                self.scope_ids.usage_id,
+                self.scope_ids.user_id
+            )
+            _, _, traceback_obj = sys.exc_info()  # pylint: disable=redefined-outer-name
             raise ProcessingError(not_found_error_message), None, traceback_obj
 
         except Exception as err:
-            _, _, traceback_obj = sys.exc_info()
+            log.exception(
+                "Unknown error when dispatching %s to %s for user %s",
+                dispatch,
+                self.scope_ids.usage_id,
+                self.scope_ids.user_id
+            )
+            _, _, traceback_obj = sys.exc_info()  # pylint: disable=redefined-outer-name
             raise ProcessingError(generic_error_message), None, traceback_obj
 
         after = self.get_progress()
diff --git a/common/test/db_cache/bok_choy_data.json b/common/test/db_cache/bok_choy_data.json
deleted file mode 100644
index 3c64c3e6a56..00000000000
--- a/common/test/db_cache/bok_choy_data.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"fields": {"model": "permission", "app_label": "auth"}, "model": "contenttypes.contenttype", "pk": 1}, {"fields": {"model": "group", "app_label": "auth"}, "model": "contenttypes.contenttype", "pk": 2}, {"fields": {"model": "user", "app_label": "auth"}, "model": "contenttypes.contenttype", "pk": 3}, {"fields": {"model": "contenttype", "app_label": "contenttypes"}, "model": "contenttypes.contenttype", "pk": 4}, {"fields": {"model": "session", "app_label": "sessions"}, "model": "contenttypes.contenttype", "pk": 5}, {"fields": {"model": "site", "app_label": "sites"}, "model": "contenttypes.contenttype", "pk": 6}, {"fields": {"model": "taskmeta", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 7}, {"fields": {"model": "tasksetmeta", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 8}, {"fields": {"model": "intervalschedule", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 9}, {"fields": {"model": "crontabschedule", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 10}, {"fields": {"model": "periodictasks", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 11}, {"fields": {"model": "periodictask", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 12}, {"fields": {"model": "workerstate", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 13}, {"fields": {"model": "taskstate", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 14}, {"fields": {"model": "globalstatusmessage", "app_label": "status"}, "model": "contenttypes.contenttype", "pk": 15}, {"fields": {"model": "coursemessage", "app_label": "status"}, "model": "contenttypes.contenttype", "pk": 16}, {"fields": {"model": "assetbaseurlconfig", "app_label": "static_replace"}, "model": "contenttypes.contenttype", "pk": 17}, {"fields": {"model": "studentmodule", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 18}, {"fields": {"model": "studentmodulehistory", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 19}, {"fields": {"model": "xmoduleuserstatesummaryfield", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 20}, {"fields": {"model": "xmodulestudentprefsfield", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 21}, {"fields": {"model": "xmodulestudentinfofield", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 22}, {"fields": {"model": "offlinecomputedgrade", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 23}, {"fields": {"model": "offlinecomputedgradelog", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 24}, {"fields": {"model": "studentfieldoverride", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 25}, {"fields": {"model": "anonymoususerid", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 26}, {"fields": {"model": "userstanding", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 27}, {"fields": {"model": "userprofile", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 28}, {"fields": {"model": "usersignupsource", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 29}, {"fields": {"model": "usertestgroup", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 30}, {"fields": {"model": "registration", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 31}, {"fields": {"model": "pendingnamechange", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 32}, {"fields": {"model": "pendingemailchange", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 33}, {"fields": {"model": "passwordhistory", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 34}, {"fields": {"model": "loginfailures", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 35}, {"fields": {"model": "historicalcourseenrollment", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 36}, {"fields": {"model": "courseenrollment", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 37}, {"fields": {"model": "manualenrollmentaudit", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 38}, {"fields": {"model": "courseenrollmentallowed", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 39}, {"fields": {"model": "courseaccessrole", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 40}, {"fields": {"model": "dashboardconfiguration", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 41}, {"fields": {"model": "linkedinaddtoprofileconfiguration", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 42}, {"fields": {"model": "entranceexamconfiguration", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 43}, {"fields": {"model": "languageproficiency", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 44}, {"fields": {"model": "courseenrollmentattribute", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 45}, {"fields": {"model": "enrollmentrefundconfiguration", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 46}, {"fields": {"model": "trackinglog", "app_label": "track"}, "model": "contenttypes.contenttype", "pk": 47}, {"fields": {"model": "ratelimitconfiguration", "app_label": "util"}, "model": "contenttypes.contenttype", "pk": 48}, {"fields": {"model": "certificatewhitelist", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 49}, {"fields": {"model": "generatedcertificate", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 50}, {"fields": {"model": "certificategenerationhistory", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 51}, {"fields": {"model": "certificateinvalidation", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 52}, {"fields": {"model": "examplecertificateset", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 53}, {"fields": {"model": "examplecertificate", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 54}, {"fields": {"model": "certificategenerationcoursesetting", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 55}, {"fields": {"model": "certificategenerationconfiguration", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 56}, {"fields": {"model": "certificatehtmlviewconfiguration", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 57}, {"fields": {"model": "badgeassertion", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 58}, {"fields": {"model": "badgeimageconfiguration", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 59}, {"fields": {"model": "certificatetemplate", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 60}, {"fields": {"model": "certificatetemplateasset", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 61}, {"fields": {"model": "instructortask", "app_label": "instructor_task"}, "model": "contenttypes.contenttype", "pk": 62}, {"fields": {"model": "courseusergroup", "app_label": "course_groups"}, "model": "contenttypes.contenttype", "pk": 63}, {"fields": {"model": "cohortmembership", "app_label": "course_groups"}, "model": "contenttypes.contenttype", "pk": 64}, {"fields": {"model": "courseusergrouppartitiongroup", "app_label": "course_groups"}, "model": "contenttypes.contenttype", "pk": 65}, {"fields": {"model": "coursecohortssettings", "app_label": "course_groups"}, "model": "contenttypes.contenttype", "pk": 66}, {"fields": {"model": "coursecohort", "app_label": "course_groups"}, "model": "contenttypes.contenttype", "pk": 67}, {"fields": {"model": "courseemail", "app_label": "bulk_email"}, "model": "contenttypes.contenttype", "pk": 68}, {"fields": {"model": "optout", "app_label": "bulk_email"}, "model": "contenttypes.contenttype", "pk": 69}, {"fields": {"model": "courseemailtemplate", "app_label": "bulk_email"}, "model": "contenttypes.contenttype", "pk": 70}, {"fields": {"model": "courseauthorization", "app_label": "bulk_email"}, "model": "contenttypes.contenttype", "pk": 71}, {"fields": {"model": "brandinginfoconfig", "app_label": "branding"}, "model": "contenttypes.contenttype", "pk": 72}, {"fields": {"model": "brandingapiconfig", "app_label": "branding"}, "model": "contenttypes.contenttype", "pk": 73}, {"fields": {"model": "externalauthmap", "app_label": "external_auth"}, "model": "contenttypes.contenttype", "pk": 74}, {"fields": {"model": "nonce", "app_label": "django_openid_auth"}, "model": "contenttypes.contenttype", "pk": 75}, {"fields": {"model": "association", "app_label": "django_openid_auth"}, "model": "contenttypes.contenttype", "pk": 76}, {"fields": {"model": "useropenid", "app_label": "django_openid_auth"}, "model": "contenttypes.contenttype", "pk": 77}, {"fields": {"model": "client", "app_label": "oauth2"}, "model": "contenttypes.contenttype", "pk": 78}, {"fields": {"model": "grant", "app_label": "oauth2"}, "model": "contenttypes.contenttype", "pk": 79}, {"fields": {"model": "accesstoken", "app_label": "oauth2"}, "model": "contenttypes.contenttype", "pk": 80}, {"fields": {"model": "refreshtoken", "app_label": "oauth2"}, "model": "contenttypes.contenttype", "pk": 81}, {"fields": {"model": "trustedclient", "app_label": "oauth2_provider"}, "model": "contenttypes.contenttype", "pk": 82}, {"fields": {"model": "oauth2providerconfig", "app_label": "third_party_auth"}, "model": "contenttypes.contenttype", "pk": 83}, {"fields": {"model": "samlproviderconfig", "app_label": "third_party_auth"}, "model": "contenttypes.contenttype", "pk": 84}, {"fields": {"model": "samlconfiguration", "app_label": "third_party_auth"}, "model": "contenttypes.contenttype", "pk": 85}, {"fields": {"model": "samlproviderdata", "app_label": "third_party_auth"}, "model": "contenttypes.contenttype", "pk": 86}, {"fields": {"model": "ltiproviderconfig", "app_label": "third_party_auth"}, "model": "contenttypes.contenttype", "pk": 87}, {"fields": {"model": "providerapipermissions", "app_label": "third_party_auth"}, "model": "contenttypes.contenttype", "pk": 88}, {"fields": {"model": "nonce", "app_label": "oauth_provider"}, "model": "contenttypes.contenttype", "pk": 89}, {"fields": {"model": "scope", "app_label": "oauth_provider"}, "model": "contenttypes.contenttype", "pk": 90}, {"fields": {"model": "consumer", "app_label": "oauth_provider"}, "model": "contenttypes.contenttype", "pk": 91}, {"fields": {"model": "token", "app_label": "oauth_provider"}, "model": "contenttypes.contenttype", "pk": 92}, {"fields": {"model": "resource", "app_label": "oauth_provider"}, "model": "contenttypes.contenttype", "pk": 93}, {"fields": {"model": "article", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 94}, {"fields": {"model": "articleforobject", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 95}, {"fields": {"model": "articlerevision", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 96}, {"fields": {"model": "urlpath", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 97}, {"fields": {"model": "articleplugin", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 98}, {"fields": {"model": "reusableplugin", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 99}, {"fields": {"model": "simpleplugin", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 100}, {"fields": {"model": "revisionplugin", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 101}, {"fields": {"model": "revisionpluginrevision", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 102}, {"fields": {"model": "image", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 103}, {"fields": {"model": "imagerevision", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 104}, {"fields": {"model": "attachment", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 105}, {"fields": {"model": "attachmentrevision", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 106}, {"fields": {"model": "notificationtype", "app_label": "django_notify"}, "model": "contenttypes.contenttype", "pk": 107}, {"fields": {"model": "settings", "app_label": "django_notify"}, "model": "contenttypes.contenttype", "pk": 108}, {"fields": {"model": "subscription", "app_label": "django_notify"}, "model": "contenttypes.contenttype", "pk": 109}, {"fields": {"model": "notification", "app_label": "django_notify"}, "model": "contenttypes.contenttype", "pk": 110}, {"fields": {"model": "logentry", "app_label": "admin"}, "model": "contenttypes.contenttype", "pk": 111}, {"fields": {"model": "role", "app_label": "django_comment_common"}, "model": "contenttypes.contenttype", "pk": 112}, {"fields": {"model": "permission", "app_label": "django_comment_common"}, "model": "contenttypes.contenttype", "pk": 113}, {"fields": {"model": "note", "app_label": "notes"}, "model": "contenttypes.contenttype", "pk": 114}, {"fields": {"model": "splashconfig", "app_label": "splash"}, "model": "contenttypes.contenttype", "pk": 115}, {"fields": {"model": "userpreference", "app_label": "user_api"}, "model": "contenttypes.contenttype", "pk": 116}, {"fields": {"model": "usercoursetag", "app_label": "user_api"}, "model": "contenttypes.contenttype", "pk": 117}, {"fields": {"model": "userorgtag", "app_label": "user_api"}, "model": "contenttypes.contenttype", "pk": 118}, {"fields": {"model": "order", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 119}, {"fields": {"model": "orderitem", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 120}, {"fields": {"model": "invoice", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 121}, {"fields": {"model": "invoicetransaction", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 122}, {"fields": {"model": "invoiceitem", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 123}, {"fields": {"model": "courseregistrationcodeinvoiceitem", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 124}, {"fields": {"model": "invoicehistory", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 125}, {"fields": {"model": "courseregistrationcode", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 126}, {"fields": {"model": "registrationcoderedemption", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 127}, {"fields": {"model": "coupon", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 128}, {"fields": {"model": "couponredemption", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 129}, {"fields": {"model": "paidcourseregistration", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 130}, {"fields": {"model": "courseregcodeitem", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 131}, {"fields": {"model": "courseregcodeitemannotation", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 132}, {"fields": {"model": "paidcourseregistrationannotation", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 133}, {"fields": {"model": "certificateitem", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 134}, {"fields": {"model": "donationconfiguration", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 135}, {"fields": {"model": "donation", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 136}, {"fields": {"model": "coursemode", "app_label": "course_modes"}, "model": "contenttypes.contenttype", "pk": 137}, {"fields": {"model": "coursemodesarchive", "app_label": "course_modes"}, "model": "contenttypes.contenttype", "pk": 138}, {"fields": {"model": "coursemodeexpirationconfig", "app_label": "course_modes"}, "model": "contenttypes.contenttype", "pk": 139}, {"fields": {"model": "softwaresecurephotoverification", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 140}, {"fields": {"model": "historicalverificationdeadline", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 141}, {"fields": {"model": "verificationdeadline", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 142}, {"fields": {"model": "verificationcheckpoint", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 143}, {"fields": {"model": "verificationstatus", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 144}, {"fields": {"model": "incoursereverificationconfiguration", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 145}, {"fields": {"model": "icrvstatusemailsconfiguration", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 146}, {"fields": {"model": "skippedreverification", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 147}, {"fields": {"model": "darklangconfig", "app_label": "dark_lang"}, "model": "contenttypes.contenttype", "pk": 148}, {"fields": {"model": "microsite", "app_label": "microsite_configuration"}, "model": "contenttypes.contenttype", "pk": 149}, {"fields": {"model": "micrositehistory", "app_label": "microsite_configuration"}, "model": "contenttypes.contenttype", "pk": 150}, {"fields": {"model": "historicalmicrositeorganizationmapping", "app_label": "microsite_configuration"}, "model": "contenttypes.contenttype", "pk": 151}, {"fields": {"model": "micrositeorganizationmapping", "app_label": "microsite_configuration"}, "model": "contenttypes.contenttype", "pk": 152}, {"fields": {"model": "historicalmicrositetemplate", "app_label": "microsite_configuration"}, "model": "contenttypes.contenttype", "pk": 153}, {"fields": {"model": "micrositetemplate", "app_label": "microsite_configuration"}, "model": "contenttypes.contenttype", "pk": 154}, {"fields": {"model": "whitelistedrssurl", "app_label": "rss_proxy"}, "model": "contenttypes.contenttype", "pk": 155}, {"fields": {"model": "embargoedcourse", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 156}, {"fields": {"model": "embargoedstate", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 157}, {"fields": {"model": "restrictedcourse", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 158}, {"fields": {"model": "country", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 159}, {"fields": {"model": "countryaccessrule", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 160}, {"fields": {"model": "courseaccessrulehistory", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 161}, {"fields": {"model": "ipfilter", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 162}, {"fields": {"model": "coursererunstate", "app_label": "course_action_state"}, "model": "contenttypes.contenttype", "pk": 163}, {"fields": {"model": "mobileapiconfig", "app_label": "mobile_api"}, "model": "contenttypes.contenttype", "pk": 164}, {"fields": {"model": "usersocialauth", "app_label": "default"}, "model": "contenttypes.contenttype", "pk": 165}, {"fields": {"model": "nonce", "app_label": "default"}, "model": "contenttypes.contenttype", "pk": 166}, {"fields": {"model": "association", "app_label": "default"}, "model": "contenttypes.contenttype", "pk": 167}, {"fields": {"model": "code", "app_label": "default"}, "model": "contenttypes.contenttype", "pk": 168}, {"fields": {"model": "surveyform", "app_label": "survey"}, "model": "contenttypes.contenttype", "pk": 169}, {"fields": {"model": "surveyanswer", "app_label": "survey"}, "model": "contenttypes.contenttype", "pk": 170}, {"fields": {"model": "xblockasidesconfig", "app_label": "lms_xblock"}, "model": "contenttypes.contenttype", "pk": 171}, {"fields": {"model": "courseoverview", "app_label": "course_overviews"}, "model": "contenttypes.contenttype", "pk": 172}, {"fields": {"model": "courseoverviewtab", "app_label": "course_overviews"}, "model": "contenttypes.contenttype", "pk": 173}, {"fields": {"model": "courseoverviewimageset", "app_label": "course_overviews"}, "model": "contenttypes.contenttype", "pk": 174}, {"fields": {"model": "courseoverviewimageconfig", "app_label": "course_overviews"}, "model": "contenttypes.contenttype", "pk": 175}, {"fields": {"model": "coursestructure", "app_label": "course_structures"}, "model": "contenttypes.contenttype", "pk": 176}, {"fields": {"model": "corsmodel", "app_label": "corsheaders"}, "model": "contenttypes.contenttype", "pk": 177}, {"fields": {"model": "xdomainproxyconfiguration", "app_label": "cors_csrf"}, "model": "contenttypes.contenttype", "pk": 178}, {"fields": {"model": "creditprovider", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 179}, {"fields": {"model": "creditcourse", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 180}, {"fields": {"model": "creditrequirement", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 181}, {"fields": {"model": "historicalcreditrequirementstatus", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 182}, {"fields": {"model": "creditrequirementstatus", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 183}, {"fields": {"model": "crediteligibility", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 184}, {"fields": {"model": "historicalcreditrequest", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 185}, {"fields": {"model": "creditrequest", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 186}, {"fields": {"model": "courseteam", "app_label": "teams"}, "model": "contenttypes.contenttype", "pk": 187}, {"fields": {"model": "courseteammembership", "app_label": "teams"}, "model": "contenttypes.contenttype", "pk": 188}, {"fields": {"model": "xblockdisableconfig", "app_label": "xblock_django"}, "model": "contenttypes.contenttype", "pk": 189}, {"fields": {"model": "bookmark", "app_label": "bookmarks"}, "model": "contenttypes.contenttype", "pk": 190}, {"fields": {"model": "xblockcache", "app_label": "bookmarks"}, "model": "contenttypes.contenttype", "pk": 191}, {"fields": {"model": "programsapiconfig", "app_label": "programs"}, "model": "contenttypes.contenttype", "pk": 192}, {"fields": {"model": "selfpacedconfiguration", "app_label": "self_paced"}, "model": "contenttypes.contenttype", "pk": 193}, {"fields": {"model": "kvstore", "app_label": "thumbnail"}, "model": "contenttypes.contenttype", "pk": 194}, {"fields": {"model": "credentialsapiconfig", "app_label": "credentials"}, "model": "contenttypes.contenttype", "pk": 195}, {"fields": {"model": "answer", "app_label": "problem_builder"}, "model": "contenttypes.contenttype", "pk": 196}, {"fields": {"model": "studentitem", "app_label": "submissions"}, "model": "contenttypes.contenttype", "pk": 197}, {"fields": {"model": "submission", "app_label": "submissions"}, "model": "contenttypes.contenttype", "pk": 198}, {"fields": {"model": "score", "app_label": "submissions"}, "model": "contenttypes.contenttype", "pk": 199}, {"fields": {"model": "scoresummary", "app_label": "submissions"}, "model": "contenttypes.contenttype", "pk": 200}, {"fields": {"model": "scoreannotation", "app_label": "submissions"}, "model": "contenttypes.contenttype", "pk": 201}, {"fields": {"model": "rubric", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 202}, {"fields": {"model": "criterion", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 203}, {"fields": {"model": "criterionoption", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 204}, {"fields": {"model": "assessment", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 205}, {"fields": {"model": "assessmentpart", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 206}, {"fields": {"model": "assessmentfeedbackoption", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 207}, {"fields": {"model": "assessmentfeedback", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 208}, {"fields": {"model": "peerworkflow", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 209}, {"fields": {"model": "peerworkflowitem", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 210}, {"fields": {"model": "trainingexample", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 211}, {"fields": {"model": "studenttrainingworkflow", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 212}, {"fields": {"model": "studenttrainingworkflowitem", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 213}, {"fields": {"model": "aiclassifierset", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 214}, {"fields": {"model": "aiclassifier", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 215}, {"fields": {"model": "aitrainingworkflow", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 216}, {"fields": {"model": "aigradingworkflow", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 217}, {"fields": {"model": "staffworkflow", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 218}, {"fields": {"model": "assessmentworkflow", "app_label": "workflow"}, "model": "contenttypes.contenttype", "pk": 219}, {"fields": {"model": "assessmentworkflowstep", "app_label": "workflow"}, "model": "contenttypes.contenttype", "pk": 220}, {"fields": {"model": "assessmentworkflowcancellation", "app_label": "workflow"}, "model": "contenttypes.contenttype", "pk": 221}, {"fields": {"model": "profile", "app_label": "edxval"}, "model": "contenttypes.contenttype", "pk": 222}, {"fields": {"model": "video", "app_label": "edxval"}, "model": "contenttypes.contenttype", "pk": 223}, {"fields": {"model": "coursevideo", "app_label": "edxval"}, "model": "contenttypes.contenttype", "pk": 224}, {"fields": {"model": "encodedvideo", "app_label": "edxval"}, "model": "contenttypes.contenttype", "pk": 225}, {"fields": {"model": "subtitle", "app_label": "edxval"}, "model": "contenttypes.contenttype", "pk": 226}, {"fields": {"model": "milestone", "app_label": "milestones"}, "model": "contenttypes.contenttype", "pk": 227}, {"fields": {"model": "milestonerelationshiptype", "app_label": "milestones"}, "model": "contenttypes.contenttype", "pk": 228}, {"fields": {"model": "coursemilestone", "app_label": "milestones"}, "model": "contenttypes.contenttype", "pk": 229}, {"fields": {"model": "coursecontentmilestone", "app_label": "milestones"}, "model": "contenttypes.contenttype", "pk": 230}, {"fields": {"model": "usermilestone", "app_label": "milestones"}, "model": "contenttypes.contenttype", "pk": 231}, {"fields": {"model": "proctoredexam", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 232}, {"fields": {"model": "proctoredexamreviewpolicy", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 233}, {"fields": {"model": "proctoredexamreviewpolicyhistory", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 234}, {"fields": {"model": "proctoredexamstudentattempt", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 235}, {"fields": {"model": "proctoredexamstudentattempthistory", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 236}, {"fields": {"model": "proctoredexamstudentallowance", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 237}, {"fields": {"model": "proctoredexamstudentallowancehistory", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 238}, {"fields": {"model": "proctoredexamsoftwaresecurereview", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 239}, {"fields": {"model": "proctoredexamsoftwaresecurereviewhistory", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 240}, {"fields": {"model": "proctoredexamsoftwaresecurecomment", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 241}, {"fields": {"model": "organization", "app_label": "organizations"}, "model": "contenttypes.contenttype", "pk": 242}, {"fields": {"model": "organizationcourse", "app_label": "organizations"}, "model": "contenttypes.contenttype", "pk": 243}, {"fields": {"model": "videouploadconfig", "app_label": "contentstore"}, "model": "contenttypes.contenttype", "pk": 244}, {"fields": {"model": "pushnotificationconfig", "app_label": "contentstore"}, "model": "contenttypes.contenttype", "pk": 245}, {"fields": {"model": "coursecreator", "app_label": "course_creators"}, "model": "contenttypes.contenttype", "pk": 246}, {"fields": {"model": "studioconfig", "app_label": "xblock_config"}, "model": "contenttypes.contenttype", "pk": 247}, {"fields": {"domain": "example.com", "name": "example.com"}, "model": "sites.site", "pk": 1}, {"fields": {"default": false, "mode": "honor", "icon": "badges/honor.png"}, "model": "certificates.badgeimageconfiguration", "pk": 1}, {"fields": {"default": false, "mode": "verified", "icon": "badges/verified.png"}, "model": "certificates.badgeimageconfiguration", "pk": 2}, {"fields": {"default": false, "mode": "professional", "icon": "badges/professional.png"}, "model": "certificates.badgeimageconfiguration", "pk": 3}, {"fields": {"plain_template": "{course_title}\n\n{{message_body}}\r\n----\r\nCopyright 2013 edX, All rights reserved.\r\n----\r\nConnect with edX:\r\nFacebook (http://facebook.com/edxonline)\r\nTwitter (http://twitter.com/edxonline)\r\nGoogle+ (https://plus.google.com/108235383044095082735)\r\nMeetup (http://www.meetup.com/edX-Communities/)\r\n----\r\nThis email was automatically sent from {platform_name}.\r\nYou are receiving this email at address {email} because you are enrolled in {course_title}\r\n(URL: {course_url} ).\r\nTo stop receiving email like this, update your course email settings at {email_settings_url}.\r\n", "html_template": "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'><html xmlns:fb='http://www.facebook.com/2008/fbml' xmlns:og='http://opengraph.org/schema/'> <head><meta property='og:title' content='Update from {course_title}'/><meta property='fb:page_id' content='43929265776' />        <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>        <title>Update from {course_title}</title>                    </head>        <body leftmargin='0' marginwidth='0' topmargin='0' marginheight='0' offset='0' style='margin: 0;padding: 0;background-color: #ffffff;'>        <center>            <table align='center' border='0' cellpadding='0' cellspacing='0' height='100%' width='100%' id='bodyTable' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;margin: 0;padding: 0;background-color: #ffffff;height: 100% !important;width: 100% !important;'>                <tr>                   <td align='center' valign='top' id='bodyCell' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;margin: 0;padding: 0;border-top: 0;height: 100% !important;width: 100% !important;'>                        <!-- BEGIN TEMPLATE // -->                        <table border='0' cellpadding='0' cellspacing='0' width='100%' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                            <tr>                                <td align='center' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                    <!-- BEGIN PREHEADER // -->                                    <table border='0' cellpadding='0' cellspacing='0' width='100%' id='templatePreheader' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;background-color: #fcfcfc;border-top: 0;border-bottom: 0;'>                                        <tr>                                        <td align='center' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                <table border='0' cellpadding='0' cellspacing='0' width='600' class='templateContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                    <tr>                                                        <td valign='top' class='preheaderContainer' style='padding-top: 9px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'><table border='0' cellpadding='0' cellspacing='0' width='100%' class='mcnTextBlock' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody class='mcnTextBlockOuter'>        <tr>            <td valign='top' class='mcnTextBlockInner' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                <table align='left' border='0' cellpadding='0' cellspacing='0' width='366' class='mcnTextContentContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                    <tbody><tr>                                                <td valign='top' class='mcnTextContent' style='padding-top: 9px;padding-left: 18px;padding-bottom: 9px;padding-right: 0;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #606060;font-family: Helvetica;font-size: 11px;line-height: 125%;text-align: left;'>                                                    <br>                        </td>                    </tr>                </tbody></table>                            </td>        </tr>    </tbody></table></td>                                                    </tr>                                                </table>                                            </td>                                                                                    </tr>                                    </table>                                    <!-- // END PREHEADER -->                                </td>                            </tr>                            <tr>                                <td align='center' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                    <!-- BEGIN HEADER // -->                                    <table border='0' cellpadding='0' cellspacing='0' width='100%' id='templateHeader' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;background-color: #fcfcfc;border-top: 0;border-bottom: 0;'>                                        <tr>                                            <td align='center' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                <table border='0' cellpadding='0' cellspacing='0' width='600' class='templateContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                    <tr>                                                        <td valign='top' class='headerContainer' style='padding-top: 10px;padding-right: 18px;padding-bottom: 10px;padding-left: 18px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'><table border='0' cellpadding='0' cellspacing='0' width='100%' class='mcnImageBlock' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody class='mcnImageBlockOuter'>            <tr>                <td valign='top' style='padding: 9px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;' class='mcnImageBlockInner'>                    <table align='left' width='100%' border='0' cellpadding='0' cellspacing='0' class='mcnImageContentContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                        <tbody><tr>                            <td class='mcnImageContent' valign='top' style='padding-right: 9px;padding-left: 9px;padding-top: 0;padding-bottom: 0;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                                    <a href='http://edx.org' title='' class='' target='_self' style='word-wrap: break-word !important;'>                                        <img align='left' alt='edX' src='http://courses.edx.org/static/images/bulk_email/edXHeaderImage.jpg' width='564.0000152587891' style='max-width: 600px;padding-bottom: 0;display: inline !important;vertical-align: bottom;border: 0;line-height: 100%;outline: none;text-decoration: none;height: auto !important;' class='mcnImage'>                                    </a>                                                            </td>                        </tr>                    </tbody></table>                </td>            </tr>    </tbody></table><table border='0' cellpadding='0' cellspacing='0' width='100%' class='mcnTextBlock' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody class='mcnTextBlockOuter'>        <tr>            <td valign='top' class='mcnTextBlockInner' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                <table align='left' border='0' cellpadding='0' cellspacing='0' width='599' class='mcnTextContentContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                    <tbody><tr>                                                <td valign='top' class='mcnTextContent' style='padding-top: 9px;padding-right: 18px;padding-bottom: 9px;padding-left: 18px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #606060;font-family: Helvetica;font-size: 15px;line-height: 150%;text-align: left;'>                                                    <div style='text-align: right;'><span style='font-size:11px;'><span style='color:#00a0e3;'>Connect with edX:</span></span> &nbsp;<a href='http://facebook.com/edxonline' target='_blank' style='color: #6DC6DD;font-weight: normal;text-decoration: underline;word-wrap: break-word !important;'><img align='none' height='16' src='http://courses.edx.org/static/images/bulk_email/FacebookIcon.png' style='width: 16px;height: 16px;border: 0;line-height: 100%;outline: none;text-decoration: none;' width='16'></a>&nbsp;&nbsp;<a href='http://twitter.com/edxonline' target='_blank' style='color: #6DC6DD;font-weight: normal;text-decoration: underline;word-wrap: break-word !important;'><img align='none' height='16' src='http://courses.edx.org/static/images/bulk_email/TwitterIcon.png' style='width: 16px;height: 16px;border: 0;line-height: 100%;outline: none;text-decoration: none;' width='16'></a>&nbsp;&nbsp;<a href='https://plus.google.com/108235383044095082735' target='_blank' style='color: #6DC6DD;font-weight: normal;text-decoration: underline;word-wrap: break-word !important;'><img align='none' height='16' src='http://courses.edx.org/static/images/bulk_email/GooglePlusIcon.png' style='width: 16px;height: 16px;border: 0;line-height: 100%;outline: none;text-decoration: none;' width='16'></a>&nbsp;&nbsp;<a href='http://www.meetup.com/edX-Communities/' target='_blank' style='color: #6DC6DD;font-weight: normal;text-decoration: underline;word-wrap: break-word !important;'><img align='none' height='16' src='http://courses.edx.org/static/images/bulk_email/MeetupIcon.png' style='width: 16px;height: 16px;border: 0;line-height: 100%;outline: none;text-decoration: none;' width='16'></a></div>                        </td>                    </tr>                </tbody></table>                            </td>        </tr>    </tbody></table></td>                                                    </tr>                                                </table>                                            </td>                                        </tr>                                    </table>                                    <!-- // END HEADER -->                                </td>                            </tr>                            <tr>                                <td align='center' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                    <!-- BEGIN BODY // -->                                    <table border='0' cellpadding='0' cellspacing='0' width='100%' id='templateBody' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;background-color: #fcfcfc;border-top: 0;border-bottom: 0;'>                                        <tr>                                            <td align='center' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                <table border='0' cellpadding='0' cellspacing='0' width='600' class='templateContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                    <tr>                                                        <td valign='top' class='bodyContainer' style='padding-top: 10px;padding-right: 18px;padding-bottom: 10px;padding-left: 18px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'><table border='0' cellpadding='0' cellspacing='0' width='100%' class='mcnCaptionBlock' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody class='mcnCaptionBlockOuter'>        <tr>            <td class='mcnCaptionBlockInner' valign='top' style='padding: 9px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                <table border='0' cellpadding='0' cellspacing='0' class='mcnCaptionLeftContentOuter' width='100%' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody><tr>        <td valign='top' class='mcnCaptionLeftContentInner' style='padding: 0 9px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>            <table align='right' border='0' cellpadding='0' cellspacing='0' class='mcnCaptionLeftImageContentContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                <tbody><tr>                    <td class='mcnCaptionLeftImageContent' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                                    <img alt='' src='{course_image_url}' width='176' style='max-width: 180px;border: 0;line-height: 100%;outline: none;text-decoration: none;vertical-align: bottom;height: auto !important;' class='mcnImage'>                                                                </td>                </tr>            </tbody></table>            <table class='mcnCaptionLeftTextContentContainer' align='left' border='0' cellpadding='0' cellspacing='0' width='352' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                <tbody><tr>                    <td valign='top' class='mcnTextContent' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #606060;font-family: Helvetica;font-size: 14px;line-height: 150%;text-align: left;'>                        <h3 class='null' style='display: block;font-family: Helvetica;font-size: 18px;font-style: normal;font-weight: bold;line-height: 125%;letter-spacing: -.5px;margin: 0;text-align: left;color: #606060 !important;'><strong style='font-size: 22px;'>{course_title}</strong><br></h3><br>                    </td>                </tr>            </tbody></table>        </td>    </tr></tbody></table>            </td>        </tr>    </tbody></table><table border='0' cellpadding='0' cellspacing='0' width='100%' class='mcnTextBlock' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody class='mcnTextBlockOuter'>        <tr>            <td valign='top' class='mcnTextBlockInner' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                <table align='left' border='0' cellpadding='0' cellspacing='0' width='600' class='mcnTextContentContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                    <tbody><tr>                                                <td valign='top' class='mcnTextContent' style='padding-top: 9px;padding-right: 18px;padding-bottom: 9px;padding-left: 18px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #606060;font-family: Helvetica;font-size: 14px;line-height: 150%;text-align: left;'>                        {{message_body}}                        </td>                    </tr>                </tbody></table>                            </td>        </tr>    </tbody></table><table border='0' cellpadding='0' cellspacing='0' width='100%' class='mcnDividerBlock' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody class='mcnDividerBlockOuter'>        <tr>            <td class='mcnDividerBlockInner' style='padding: 18px 18px 3px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                <table class='mcnDividerContent' border='0' cellpadding='0' cellspacing='0' width='100%' style='border-top-width: 1px;border-top-style: solid;border-top-color: #666666;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                    <tbody><tr>                        <td style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                            <span></span>                        </td>                    </tr>                </tbody></table>            </td>        </tr>    </tbody></table><table border='0' cellpadding='0' cellspacing='0' width='100%' class='mcnTextBlock' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody class='mcnTextBlockOuter'>        <tr>            <td valign='top' class='mcnTextBlockInner' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                <table align='left' border='0' cellpadding='0' cellspacing='0' width='600' class='mcnTextContentContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                    <tbody><tr>                                                <td valign='top' class='mcnTextContent' style='padding-top: 9px;padding-right: 18px;padding-bottom: 9px;padding-left: 18px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #606060;font-family: Helvetica;font-size: 14px;line-height: 150%;text-align: left;'>                                                    <div style='text-align: right;'><a href='http://facebook.com/edxonline' target='_blank' style='color: #2f73bc;font-weight: normal;text-decoration: underline;word-wrap: break-word !important;'><img align='none' height='16' src='http://courses.edx.org/static/images/bulk_email/FacebookIcon.png' style='width: 16px;height: 16px;border: 0;line-height: 100%;outline: none;text-decoration: none;' width='16'></a>&nbsp;&nbsp;<a href='http://twitter.com/edxonline' target='_blank' style='color: #2f73bc;font-weight: normal;text-decoration: underline;word-wrap: break-word !important;'><img align='none' height='16' src='http://courses.edx.org/static/images/bulk_email/TwitterIcon.png' style='width: 16px;height: 16px;border: 0;line-height: 100%;outline: none;text-decoration: none;' width='16'></a>&nbsp;&nbsp;<a href='https://plus.google.com/108235383044095082735' target='_blank' style='color: #2f73bc;font-weight: normal;text-decoration: underline;word-wrap: break-word !important;'><img align='none' height='16' src='http://courses.edx.org/static/images/bulk_email/GooglePlusIcon.png' style='width: 16px;height: 16px;border: 0;line-height: 100%;outline: none;text-decoration: none;' width='16'></a>&nbsp; &nbsp;<a href='http://www.meetup.com/edX-Communities/' target='_blank' style='color: #2f73bc;font-weight: normal;text-decoration: underline;word-wrap: break-word !important;'><img align='none' height='16' src='http://courses.edx.org/static/images/bulk_email/MeetupIcon.png' style='width: 16px;height: 16px;border: 0;line-height: 100%;outline: none;text-decoration: none;' width='16'></a></div>                        </td>                    </tr>                </tbody></table>                            </td>        </tr>    </tbody></table></td>                                                    </tr>                                                </table>                                            </td>                                        </tr>                                    </table>                                    <!-- // END BODY -->                                </td>                            </tr>                            <tr>                                <td align='center' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                    <!-- BEGIN FOOTER // -->                                    <table border='0' cellpadding='0' cellspacing='0' width='100%' id='templateFooter' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;background-color: #9FCFE8;border-top: 0;border-bottom: 0;'>                                        <tr>                                            <td align='center' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                <table border='0' cellpadding='0' cellspacing='0' width='600' class='templateContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                    <tr>                                                        <td valign='top' class='footerContainer' style='padding-top: 10px;padding-right: 18px;padding-bottom: 10px;padding-left: 18px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'><table border='0' cellpadding='0' cellspacing='0' width='100%' class='mcnTextBlock' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody class='mcnTextBlockOuter'>        <tr>            <td valign='top' class='mcnTextBlockInner' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                <table align='left' border='0' cellpadding='0' cellspacing='0' width='600' class='mcnTextContentContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                    <tbody><tr>                                                <td valign='top' class='mcnTextContent' style='padding-top: 9px;padding-right: 18px;padding-bottom: 9px;padding-left: 18px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #f2f2f2;font-family: Helvetica;font-size: 11px;line-height: 125%;text-align: left;'>                                                    <em>Copyright \u00a9 2013 edX, All rights reserved.</em><br><br><br>  <b>Our mailing address is:</b><br>  edX<br>  11 Cambridge Center, Suite 101<br>  Cambridge, MA, USA 02142<br><br><br>This email was automatically sent from {platform_name}. <br>You are receiving this email at address {email} because you are enrolled in <a href='{course_url}'>{course_title}</a>.<br>To stop receiving email like this, update your course email settings <a href='{email_settings_url}'>here</a>. <br>                        </td>                    </tr>                </tbody></table>                            </td>        </tr>    </tbody></table></td>                                                    </tr>                                                </table>                                            </td>                                        </tr>                                    </table>                                    <!-- // END FOOTER -->                                </td>                            </tr>                        </table>                        <!-- // END TEMPLATE -->                    </td>                </tr>            </table>        </center>    </body>    </body> </html>", "name": null}, "model": "bulk_email.courseemailtemplate", "pk": 1}, {"fields": {"plain_template": "THIS IS A BRANDED TEXT TEMPLATE. {course_title}\n\n{{message_body}}\r\n----\r\nCopyright 2013 edX, All rights reserved.\r\n----\r\nConnect with edX:\r\nFacebook (http://facebook.com/edxonline)\r\nTwitter (http://twitter.com/edxonline)\r\nGoogle+ (https://plus.google.com/108235383044095082735)\r\nMeetup (http://www.meetup.com/edX-Communities/)\r\n----\r\nThis email was automatically sent from {platform_name}.\r\nYou are receiving this email at address {email} because you are enrolled in {course_title}\r\n(URL: {course_url} ).\r\nTo stop receiving email like this, update your course email settings at {email_settings_url}.\r\n", "html_template": "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'><html xmlns:fb='http://www.facebook.com/2008/fbml' xmlns:og='http://opengraph.org/schema/'> <head><meta property='og:title' content='Update from {course_title}'/><meta property='fb:page_id' content='43929265776' />        <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>        THIS IS A BRANDED HTML TEMPLATE <title>Update from {course_title}</title>                    </head>        <body leftmargin='0' marginwidth='0' topmargin='0' marginheight='0' offset='0' style='margin: 0;padding: 0;background-color: #ffffff;'>        <center>            <table align='center' border='0' cellpadding='0' cellspacing='0' height='100%' width='100%' id='bodyTable' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;margin: 0;padding: 0;background-color: #ffffff;height: 100% !important;width: 100% !important;'>                <tr>                   <td align='center' valign='top' id='bodyCell' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;margin: 0;padding: 0;border-top: 0;height: 100% !important;width: 100% !important;'>                        <!-- BEGIN TEMPLATE // -->                        <table border='0' cellpadding='0' cellspacing='0' width='100%' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                            <tr>                                <td align='center' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                    <!-- BEGIN PREHEADER // -->                                    <table border='0' cellpadding='0' cellspacing='0' width='100%' id='templatePreheader' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;background-color: #fcfcfc;border-top: 0;border-bottom: 0;'>                                        <tr>                                        <td align='center' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                <table border='0' cellpadding='0' cellspacing='0' width='600' class='templateContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                    <tr>                                                        <td valign='top' class='preheaderContainer' style='padding-top: 9px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'><table border='0' cellpadding='0' cellspacing='0' width='100%' class='mcnTextBlock' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody class='mcnTextBlockOuter'>        <tr>            <td valign='top' class='mcnTextBlockInner' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                <table align='left' border='0' cellpadding='0' cellspacing='0' width='366' class='mcnTextContentContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                    <tbody><tr>                                                <td valign='top' class='mcnTextContent' style='padding-top: 9px;padding-left: 18px;padding-bottom: 9px;padding-right: 0;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #606060;font-family: Helvetica;font-size: 11px;line-height: 125%;text-align: left;'>                                                    <br>                        </td>                    </tr>                </tbody></table>                            </td>        </tr>    </tbody></table></td>                                                    </tr>                                                </table>                                            </td>                                                                                    </tr>                                    </table>                                    <!-- // END PREHEADER -->                                </td>                            </tr>                            <tr>                                <td align='center' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                    <!-- BEGIN HEADER // -->                                    <table border='0' cellpadding='0' cellspacing='0' width='100%' id='templateHeader' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;background-color: #fcfcfc;border-top: 0;border-bottom: 0;'>                                        <tr>                                            <td align='center' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                <table border='0' cellpadding='0' cellspacing='0' width='600' class='templateContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                    <tr>                                                        <td valign='top' class='headerContainer' style='padding-top: 10px;padding-right: 18px;padding-bottom: 10px;padding-left: 18px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'><table border='0' cellpadding='0' cellspacing='0' width='100%' class='mcnImageBlock' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody class='mcnImageBlockOuter'>            <tr>                <td valign='top' style='padding: 9px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;' class='mcnImageBlockInner'>                    <table align='left' width='100%' border='0' cellpadding='0' cellspacing='0' class='mcnImageContentContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                        <tbody><tr>                            <td class='mcnImageContent' valign='top' style='padding-right: 9px;padding-left: 9px;padding-top: 0;padding-bottom: 0;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                                    <a href='http://edx.org' title='' class='' target='_self' style='word-wrap: break-word !important;'>                                        <img align='left' alt='edX' src='http://courses.edx.org/static/images/bulk_email/edXHeaderImage.jpg' width='564.0000152587891' style='max-width: 600px;padding-bottom: 0;display: inline !important;vertical-align: bottom;border: 0;line-height: 100%;outline: none;text-decoration: none;height: auto !important;' class='mcnImage'>                                    </a>                                                            </td>                        </tr>                    </tbody></table>                </td>            </tr>    </tbody></table><table border='0' cellpadding='0' cellspacing='0' width='100%' class='mcnTextBlock' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody class='mcnTextBlockOuter'>        <tr>            <td valign='top' class='mcnTextBlockInner' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                <table align='left' border='0' cellpadding='0' cellspacing='0' width='599' class='mcnTextContentContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                    <tbody><tr>                                                <td valign='top' class='mcnTextContent' style='padding-top: 9px;padding-right: 18px;padding-bottom: 9px;padding-left: 18px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #606060;font-family: Helvetica;font-size: 15px;line-height: 150%;text-align: left;'>                                                    <div style='text-align: right;'><span style='font-size:11px;'><span style='color:#00a0e3;'>Connect with edX:</span></span> &nbsp;<a href='http://facebook.com/edxonline' target='_blank' style='color: #6DC6DD;font-weight: normal;text-decoration: underline;word-wrap: break-word !important;'><img align='none' height='16' src='http://courses.edx.org/static/images/bulk_email/FacebookIcon.png' style='width: 16px;height: 16px;border: 0;line-height: 100%;outline: none;text-decoration: none;' width='16'></a>&nbsp;&nbsp;<a href='http://twitter.com/edxonline' target='_blank' style='color: #6DC6DD;font-weight: normal;text-decoration: underline;word-wrap: break-word !important;'><img align='none' height='16' src='http://courses.edx.org/static/images/bulk_email/TwitterIcon.png' style='width: 16px;height: 16px;border: 0;line-height: 100%;outline: none;text-decoration: none;' width='16'></a>&nbsp;&nbsp;<a href='https://plus.google.com/108235383044095082735' target='_blank' style='color: #6DC6DD;font-weight: normal;text-decoration: underline;word-wrap: break-word !important;'><img align='none' height='16' src='http://courses.edx.org/static/images/bulk_email/GooglePlusIcon.png' style='width: 16px;height: 16px;border: 0;line-height: 100%;outline: none;text-decoration: none;' width='16'></a>&nbsp;&nbsp;<a href='http://www.meetup.com/edX-Communities/' target='_blank' style='color: #6DC6DD;font-weight: normal;text-decoration: underline;word-wrap: break-word !important;'><img align='none' height='16' src='http://courses.edx.org/static/images/bulk_email/MeetupIcon.png' style='width: 16px;height: 16px;border: 0;line-height: 100%;outline: none;text-decoration: none;' width='16'></a></div>                        </td>                    </tr>                </tbody></table>                            </td>        </tr>    </tbody></table></td>                                                    </tr>                                                </table>                                            </td>                                        </tr>                                    </table>                                    <!-- // END HEADER -->                                </td>                            </tr>                            <tr>                                <td align='center' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                    <!-- BEGIN BODY // -->                                    <table border='0' cellpadding='0' cellspacing='0' width='100%' id='templateBody' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;background-color: #fcfcfc;border-top: 0;border-bottom: 0;'>                                        <tr>                                            <td align='center' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                <table border='0' cellpadding='0' cellspacing='0' width='600' class='templateContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                    <tr>                                                        <td valign='top' class='bodyContainer' style='padding-top: 10px;padding-right: 18px;padding-bottom: 10px;padding-left: 18px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'><table border='0' cellpadding='0' cellspacing='0' width='100%' class='mcnCaptionBlock' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody class='mcnCaptionBlockOuter'>        <tr>            <td class='mcnCaptionBlockInner' valign='top' style='padding: 9px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                <table border='0' cellpadding='0' cellspacing='0' class='mcnCaptionLeftContentOuter' width='100%' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody><tr>        <td valign='top' class='mcnCaptionLeftContentInner' style='padding: 0 9px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>            <table align='right' border='0' cellpadding='0' cellspacing='0' class='mcnCaptionLeftImageContentContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                <tbody><tr>                    <td class='mcnCaptionLeftImageContent' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                                    <img alt='' src='{course_image_url}' width='176' style='max-width: 180px;border: 0;line-height: 100%;outline: none;text-decoration: none;vertical-align: bottom;height: auto !important;' class='mcnImage'>                                                                </td>                </tr>            </tbody></table>            <table class='mcnCaptionLeftTextContentContainer' align='left' border='0' cellpadding='0' cellspacing='0' width='352' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                <tbody><tr>                    <td valign='top' class='mcnTextContent' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #606060;font-family: Helvetica;font-size: 14px;line-height: 150%;text-align: left;'>                        <h3 class='null' style='display: block;font-family: Helvetica;font-size: 18px;font-style: normal;font-weight: bold;line-height: 125%;letter-spacing: -.5px;margin: 0;text-align: left;color: #606060 !important;'><strong style='font-size: 22px;'>{course_title}</strong><br></h3><br>                    </td>                </tr>            </tbody></table>        </td>    </tr></tbody></table>            </td>        </tr>    </tbody></table><table border='0' cellpadding='0' cellspacing='0' width='100%' class='mcnTextBlock' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody class='mcnTextBlockOuter'>        <tr>            <td valign='top' class='mcnTextBlockInner' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                <table align='left' border='0' cellpadding='0' cellspacing='0' width='600' class='mcnTextContentContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                    <tbody><tr>                                                <td valign='top' class='mcnTextContent' style='padding-top: 9px;padding-right: 18px;padding-bottom: 9px;padding-left: 18px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #606060;font-family: Helvetica;font-size: 14px;line-height: 150%;text-align: left;'>                        {{message_body}}                        </td>                    </tr>                </tbody></table>                            </td>        </tr>    </tbody></table><table border='0' cellpadding='0' cellspacing='0' width='100%' class='mcnDividerBlock' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody class='mcnDividerBlockOuter'>        <tr>            <td class='mcnDividerBlockInner' style='padding: 18px 18px 3px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                <table class='mcnDividerContent' border='0' cellpadding='0' cellspacing='0' width='100%' style='border-top-width: 1px;border-top-style: solid;border-top-color: #666666;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                    <tbody><tr>                        <td style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                            <span></span>                        </td>                    </tr>                </tbody></table>            </td>        </tr>    </tbody></table><table border='0' cellpadding='0' cellspacing='0' width='100%' class='mcnTextBlock' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody class='mcnTextBlockOuter'>        <tr>            <td valign='top' class='mcnTextBlockInner' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                <table align='left' border='0' cellpadding='0' cellspacing='0' width='600' class='mcnTextContentContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                    <tbody><tr>                                                <td valign='top' class='mcnTextContent' style='padding-top: 9px;padding-right: 18px;padding-bottom: 9px;padding-left: 18px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #606060;font-family: Helvetica;font-size: 14px;line-height: 150%;text-align: left;'>                                                    <div style='text-align: right;'><a href='http://facebook.com/edxonline' target='_blank' style='color: #2f73bc;font-weight: normal;text-decoration: underline;word-wrap: break-word !important;'><img align='none' height='16' src='http://courses.edx.org/static/images/bulk_email/FacebookIcon.png' style='width: 16px;height: 16px;border: 0;line-height: 100%;outline: none;text-decoration: none;' width='16'></a>&nbsp;&nbsp;<a href='http://twitter.com/edxonline' target='_blank' style='color: #2f73bc;font-weight: normal;text-decoration: underline;word-wrap: break-word !important;'><img align='none' height='16' src='http://courses.edx.org/static/images/bulk_email/TwitterIcon.png' style='width: 16px;height: 16px;border: 0;line-height: 100%;outline: none;text-decoration: none;' width='16'></a>&nbsp;&nbsp;<a href='https://plus.google.com/108235383044095082735' target='_blank' style='color: #2f73bc;font-weight: normal;text-decoration: underline;word-wrap: break-word !important;'><img align='none' height='16' src='http://courses.edx.org/static/images/bulk_email/GooglePlusIcon.png' style='width: 16px;height: 16px;border: 0;line-height: 100%;outline: none;text-decoration: none;' width='16'></a>&nbsp; &nbsp;<a href='http://www.meetup.com/edX-Communities/' target='_blank' style='color: #2f73bc;font-weight: normal;text-decoration: underline;word-wrap: break-word !important;'><img align='none' height='16' src='http://courses.edx.org/static/images/bulk_email/MeetupIcon.png' style='width: 16px;height: 16px;border: 0;line-height: 100%;outline: none;text-decoration: none;' width='16'></a></div>                        </td>                    </tr>                </tbody></table>                            </td>        </tr>    </tbody></table></td>                                                    </tr>                                                </table>                                            </td>                                        </tr>                                    </table>                                    <!-- // END BODY -->                                </td>                            </tr>                            <tr>                                <td align='center' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                    <!-- BEGIN FOOTER // -->                                    <table border='0' cellpadding='0' cellspacing='0' width='100%' id='templateFooter' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;background-color: #9FCFE8;border-top: 0;border-bottom: 0;'>                                        <tr>                                            <td align='center' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                <table border='0' cellpadding='0' cellspacing='0' width='600' class='templateContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                    <tr>                                                        <td valign='top' class='footerContainer' style='padding-top: 10px;padding-right: 18px;padding-bottom: 10px;padding-left: 18px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'><table border='0' cellpadding='0' cellspacing='0' width='100%' class='mcnTextBlock' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody class='mcnTextBlockOuter'>        <tr>            <td valign='top' class='mcnTextBlockInner' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                <table align='left' border='0' cellpadding='0' cellspacing='0' width='600' class='mcnTextContentContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                    <tbody><tr>                                                <td valign='top' class='mcnTextContent' style='padding-top: 9px;padding-right: 18px;padding-bottom: 9px;padding-left: 18px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #f2f2f2;font-family: Helvetica;font-size: 11px;line-height: 125%;text-align: left;'>                                                    <em>Copyright \u00a9 2013 edX, All rights reserved.</em><br><br><br>  <b>Our mailing address is:</b><br>  edX<br>  11 Cambridge Center, Suite 101<br>  Cambridge, MA, USA 02142<br><br><br>This email was automatically sent from {platform_name}. <br>You are receiving this email at address {email} because you are enrolled in <a href='{course_url}'>{course_title}</a>.<br>To stop receiving email like this, update your course email settings <a href='{email_settings_url}'>here</a>. <br>                        </td>                    </tr>                </tbody></table>                            </td>        </tr>    </tbody></table></td>                                                    </tr>                                                </table>                                            </td>                                        </tr>                                    </table>                                    <!-- // END FOOTER -->                                </td>                            </tr>                        </table>                        <!-- // END TEMPLATE -->                    </td>                </tr>            </table>        </center>    </body>    </body> </html>", "name": "branded.template"}, "model": "bulk_email.courseemailtemplate", "pk": 2}, {"fields": {"country": "AF"}, "model": "embargo.country", "pk": 1}, {"fields": {"country": "AX"}, "model": "embargo.country", "pk": 2}, {"fields": {"country": "AL"}, "model": "embargo.country", "pk": 3}, {"fields": {"country": "DZ"}, "model": "embargo.country", "pk": 4}, {"fields": {"country": "AS"}, "model": "embargo.country", "pk": 5}, {"fields": {"country": "AD"}, "model": "embargo.country", "pk": 6}, {"fields": {"country": "AO"}, "model": "embargo.country", "pk": 7}, {"fields": {"country": "AI"}, "model": "embargo.country", "pk": 8}, {"fields": {"country": "AQ"}, "model": "embargo.country", "pk": 9}, {"fields": {"country": "AG"}, "model": "embargo.country", "pk": 10}, {"fields": {"country": "AR"}, "model": "embargo.country", "pk": 11}, {"fields": {"country": "AM"}, "model": "embargo.country", "pk": 12}, {"fields": {"country": "AW"}, "model": "embargo.country", "pk": 13}, {"fields": {"country": "AU"}, "model": "embargo.country", "pk": 14}, {"fields": {"country": "AT"}, "model": "embargo.country", "pk": 15}, {"fields": {"country": "AZ"}, "model": "embargo.country", "pk": 16}, {"fields": {"country": "BS"}, "model": "embargo.country", "pk": 17}, {"fields": {"country": "BH"}, "model": "embargo.country", "pk": 18}, {"fields": {"country": "BD"}, "model": "embargo.country", "pk": 19}, {"fields": {"country": "BB"}, "model": "embargo.country", "pk": 20}, {"fields": {"country": "BY"}, "model": "embargo.country", "pk": 21}, {"fields": {"country": "BE"}, "model": "embargo.country", "pk": 22}, {"fields": {"country": "BZ"}, "model": "embargo.country", "pk": 23}, {"fields": {"country": "BJ"}, "model": "embargo.country", "pk": 24}, {"fields": {"country": "BM"}, "model": "embargo.country", "pk": 25}, {"fields": {"country": "BT"}, "model": "embargo.country", "pk": 26}, {"fields": {"country": "BO"}, "model": "embargo.country", "pk": 27}, {"fields": {"country": "BQ"}, "model": "embargo.country", "pk": 28}, {"fields": {"country": "BA"}, "model": "embargo.country", "pk": 29}, {"fields": {"country": "BW"}, "model": "embargo.country", "pk": 30}, {"fields": {"country": "BV"}, "model": "embargo.country", "pk": 31}, {"fields": {"country": "BR"}, "model": "embargo.country", "pk": 32}, {"fields": {"country": "IO"}, "model": "embargo.country", "pk": 33}, {"fields": {"country": "BN"}, "model": "embargo.country", "pk": 34}, {"fields": {"country": "BG"}, "model": "embargo.country", "pk": 35}, {"fields": {"country": "BF"}, "model": "embargo.country", "pk": 36}, {"fields": {"country": "BI"}, "model": "embargo.country", "pk": 37}, {"fields": {"country": "CV"}, "model": "embargo.country", "pk": 38}, {"fields": {"country": "KH"}, "model": "embargo.country", "pk": 39}, {"fields": {"country": "CM"}, "model": "embargo.country", "pk": 40}, {"fields": {"country": "CA"}, "model": "embargo.country", "pk": 41}, {"fields": {"country": "KY"}, "model": "embargo.country", "pk": 42}, {"fields": {"country": "CF"}, "model": "embargo.country", "pk": 43}, {"fields": {"country": "TD"}, "model": "embargo.country", "pk": 44}, {"fields": {"country": "CL"}, "model": "embargo.country", "pk": 45}, {"fields": {"country": "CN"}, "model": "embargo.country", "pk": 46}, {"fields": {"country": "CX"}, "model": "embargo.country", "pk": 47}, {"fields": {"country": "CC"}, "model": "embargo.country", "pk": 48}, {"fields": {"country": "CO"}, "model": "embargo.country", "pk": 49}, {"fields": {"country": "KM"}, "model": "embargo.country", "pk": 50}, {"fields": {"country": "CG"}, "model": "embargo.country", "pk": 51}, {"fields": {"country": "CD"}, "model": "embargo.country", "pk": 52}, {"fields": {"country": "CK"}, "model": "embargo.country", "pk": 53}, {"fields": {"country": "CR"}, "model": "embargo.country", "pk": 54}, {"fields": {"country": "CI"}, "model": "embargo.country", "pk": 55}, {"fields": {"country": "HR"}, "model": "embargo.country", "pk": 56}, {"fields": {"country": "CU"}, "model": "embargo.country", "pk": 57}, {"fields": {"country": "CW"}, "model": "embargo.country", "pk": 58}, {"fields": {"country": "CY"}, "model": "embargo.country", "pk": 59}, {"fields": {"country": "CZ"}, "model": "embargo.country", "pk": 60}, {"fields": {"country": "DK"}, "model": "embargo.country", "pk": 61}, {"fields": {"country": "DJ"}, "model": "embargo.country", "pk": 62}, {"fields": {"country": "DM"}, "model": "embargo.country", "pk": 63}, {"fields": {"country": "DO"}, "model": "embargo.country", "pk": 64}, {"fields": {"country": "EC"}, "model": "embargo.country", "pk": 65}, {"fields": {"country": "EG"}, "model": "embargo.country", "pk": 66}, {"fields": {"country": "SV"}, "model": "embargo.country", "pk": 67}, {"fields": {"country": "GQ"}, "model": "embargo.country", "pk": 68}, {"fields": {"country": "ER"}, "model": "embargo.country", "pk": 69}, {"fields": {"country": "EE"}, "model": "embargo.country", "pk": 70}, {"fields": {"country": "ET"}, "model": "embargo.country", "pk": 71}, {"fields": {"country": "FK"}, "model": "embargo.country", "pk": 72}, {"fields": {"country": "FO"}, "model": "embargo.country", "pk": 73}, {"fields": {"country": "FJ"}, "model": "embargo.country", "pk": 74}, {"fields": {"country": "FI"}, "model": "embargo.country", "pk": 75}, {"fields": {"country": "FR"}, "model": "embargo.country", "pk": 76}, {"fields": {"country": "GF"}, "model": "embargo.country", "pk": 77}, {"fields": {"country": "PF"}, "model": "embargo.country", "pk": 78}, {"fields": {"country": "TF"}, "model": "embargo.country", "pk": 79}, {"fields": {"country": "GA"}, "model": "embargo.country", "pk": 80}, {"fields": {"country": "GM"}, "model": "embargo.country", "pk": 81}, {"fields": {"country": "GE"}, "model": "embargo.country", "pk": 82}, {"fields": {"country": "DE"}, "model": "embargo.country", "pk": 83}, {"fields": {"country": "GH"}, "model": "embargo.country", "pk": 84}, {"fields": {"country": "GI"}, "model": "embargo.country", "pk": 85}, {"fields": {"country": "GR"}, "model": "embargo.country", "pk": 86}, {"fields": {"country": "GL"}, "model": "embargo.country", "pk": 87}, {"fields": {"country": "GD"}, "model": "embargo.country", "pk": 88}, {"fields": {"country": "GP"}, "model": "embargo.country", "pk": 89}, {"fields": {"country": "GU"}, "model": "embargo.country", "pk": 90}, {"fields": {"country": "GT"}, "model": "embargo.country", "pk": 91}, {"fields": {"country": "GG"}, "model": "embargo.country", "pk": 92}, {"fields": {"country": "GN"}, "model": "embargo.country", "pk": 93}, {"fields": {"country": "GW"}, "model": "embargo.country", "pk": 94}, {"fields": {"country": "GY"}, "model": "embargo.country", "pk": 95}, {"fields": {"country": "HT"}, "model": "embargo.country", "pk": 96}, {"fields": {"country": "HM"}, "model": "embargo.country", "pk": 97}, {"fields": {"country": "VA"}, "model": "embargo.country", "pk": 98}, {"fields": {"country": "HN"}, "model": "embargo.country", "pk": 99}, {"fields": {"country": "HK"}, "model": "embargo.country", "pk": 100}, {"fields": {"country": "HU"}, "model": "embargo.country", "pk": 101}, {"fields": {"country": "IS"}, "model": "embargo.country", "pk": 102}, {"fields": {"country": "IN"}, "model": "embargo.country", "pk": 103}, {"fields": {"country": "ID"}, "model": "embargo.country", "pk": 104}, {"fields": {"country": "IR"}, "model": "embargo.country", "pk": 105}, {"fields": {"country": "IQ"}, "model": "embargo.country", "pk": 106}, {"fields": {"country": "IE"}, "model": "embargo.country", "pk": 107}, {"fields": {"country": "IM"}, "model": "embargo.country", "pk": 108}, {"fields": {"country": "IL"}, "model": "embargo.country", "pk": 109}, {"fields": {"country": "IT"}, "model": "embargo.country", "pk": 110}, {"fields": {"country": "JM"}, "model": "embargo.country", "pk": 111}, {"fields": {"country": "JP"}, "model": "embargo.country", "pk": 112}, {"fields": {"country": "JE"}, "model": "embargo.country", "pk": 113}, {"fields": {"country": "JO"}, "model": "embargo.country", "pk": 114}, {"fields": {"country": "KZ"}, "model": "embargo.country", "pk": 115}, {"fields": {"country": "KE"}, "model": "embargo.country", "pk": 116}, {"fields": {"country": "KI"}, "model": "embargo.country", "pk": 117}, {"fields": {"country": "KW"}, "model": "embargo.country", "pk": 118}, {"fields": {"country": "KG"}, "model": "embargo.country", "pk": 119}, {"fields": {"country": "LA"}, "model": "embargo.country", "pk": 120}, {"fields": {"country": "LV"}, "model": "embargo.country", "pk": 121}, {"fields": {"country": "LB"}, "model": "embargo.country", "pk": 122}, {"fields": {"country": "LS"}, "model": "embargo.country", "pk": 123}, {"fields": {"country": "LR"}, "model": "embargo.country", "pk": 124}, {"fields": {"country": "LY"}, "model": "embargo.country", "pk": 125}, {"fields": {"country": "LI"}, "model": "embargo.country", "pk": 126}, {"fields": {"country": "LT"}, "model": "embargo.country", "pk": 127}, {"fields": {"country": "LU"}, "model": "embargo.country", "pk": 128}, {"fields": {"country": "MO"}, "model": "embargo.country", "pk": 129}, {"fields": {"country": "MK"}, "model": "embargo.country", "pk": 130}, {"fields": {"country": "MG"}, "model": "embargo.country", "pk": 131}, {"fields": {"country": "MW"}, "model": "embargo.country", "pk": 132}, {"fields": {"country": "MY"}, "model": "embargo.country", "pk": 133}, {"fields": {"country": "MV"}, "model": "embargo.country", "pk": 134}, {"fields": {"country": "ML"}, "model": "embargo.country", "pk": 135}, {"fields": {"country": "MT"}, "model": "embargo.country", "pk": 136}, {"fields": {"country": "MH"}, "model": "embargo.country", "pk": 137}, {"fields": {"country": "MQ"}, "model": "embargo.country", "pk": 138}, {"fields": {"country": "MR"}, "model": "embargo.country", "pk": 139}, {"fields": {"country": "MU"}, "model": "embargo.country", "pk": 140}, {"fields": {"country": "YT"}, "model": "embargo.country", "pk": 141}, {"fields": {"country": "MX"}, "model": "embargo.country", "pk": 142}, {"fields": {"country": "FM"}, "model": "embargo.country", "pk": 143}, {"fields": {"country": "MD"}, "model": "embargo.country", "pk": 144}, {"fields": {"country": "MC"}, "model": "embargo.country", "pk": 145}, {"fields": {"country": "MN"}, "model": "embargo.country", "pk": 146}, {"fields": {"country": "ME"}, "model": "embargo.country", "pk": 147}, {"fields": {"country": "MS"}, "model": "embargo.country", "pk": 148}, {"fields": {"country": "MA"}, "model": "embargo.country", "pk": 149}, {"fields": {"country": "MZ"}, "model": "embargo.country", "pk": 150}, {"fields": {"country": "MM"}, "model": "embargo.country", "pk": 151}, {"fields": {"country": "NA"}, "model": "embargo.country", "pk": 152}, {"fields": {"country": "NR"}, "model": "embargo.country", "pk": 153}, {"fields": {"country": "NP"}, "model": "embargo.country", "pk": 154}, {"fields": {"country": "NL"}, "model": "embargo.country", "pk": 155}, {"fields": {"country": "NC"}, "model": "embargo.country", "pk": 156}, {"fields": {"country": "NZ"}, "model": "embargo.country", "pk": 157}, {"fields": {"country": "NI"}, "model": "embargo.country", "pk": 158}, {"fields": {"country": "NE"}, "model": "embargo.country", "pk": 159}, {"fields": {"country": "NG"}, "model": "embargo.country", "pk": 160}, {"fields": {"country": "NU"}, "model": "embargo.country", "pk": 161}, {"fields": {"country": "NF"}, "model": "embargo.country", "pk": 162}, {"fields": {"country": "KP"}, "model": "embargo.country", "pk": 163}, {"fields": {"country": "MP"}, "model": "embargo.country", "pk": 164}, {"fields": {"country": "NO"}, "model": "embargo.country", "pk": 165}, {"fields": {"country": "OM"}, "model": "embargo.country", "pk": 166}, {"fields": {"country": "PK"}, "model": "embargo.country", "pk": 167}, {"fields": {"country": "PW"}, "model": "embargo.country", "pk": 168}, {"fields": {"country": "PS"}, "model": "embargo.country", "pk": 169}, {"fields": {"country": "PA"}, "model": "embargo.country", "pk": 170}, {"fields": {"country": "PG"}, "model": "embargo.country", "pk": 171}, {"fields": {"country": "PY"}, "model": "embargo.country", "pk": 172}, {"fields": {"country": "PE"}, "model": "embargo.country", "pk": 173}, {"fields": {"country": "PH"}, "model": "embargo.country", "pk": 174}, {"fields": {"country": "PN"}, "model": "embargo.country", "pk": 175}, {"fields": {"country": "PL"}, "model": "embargo.country", "pk": 176}, {"fields": {"country": "PT"}, "model": "embargo.country", "pk": 177}, {"fields": {"country": "PR"}, "model": "embargo.country", "pk": 178}, {"fields": {"country": "QA"}, "model": "embargo.country", "pk": 179}, {"fields": {"country": "RE"}, "model": "embargo.country", "pk": 180}, {"fields": {"country": "RO"}, "model": "embargo.country", "pk": 181}, {"fields": {"country": "RU"}, "model": "embargo.country", "pk": 182}, {"fields": {"country": "RW"}, "model": "embargo.country", "pk": 183}, {"fields": {"country": "BL"}, "model": "embargo.country", "pk": 184}, {"fields": {"country": "SH"}, "model": "embargo.country", "pk": 185}, {"fields": {"country": "KN"}, "model": "embargo.country", "pk": 186}, {"fields": {"country": "LC"}, "model": "embargo.country", "pk": 187}, {"fields": {"country": "MF"}, "model": "embargo.country", "pk": 188}, {"fields": {"country": "PM"}, "model": "embargo.country", "pk": 189}, {"fields": {"country": "VC"}, "model": "embargo.country", "pk": 190}, {"fields": {"country": "WS"}, "model": "embargo.country", "pk": 191}, {"fields": {"country": "SM"}, "model": "embargo.country", "pk": 192}, {"fields": {"country": "ST"}, "model": "embargo.country", "pk": 193}, {"fields": {"country": "SA"}, "model": "embargo.country", "pk": 194}, {"fields": {"country": "SN"}, "model": "embargo.country", "pk": 195}, {"fields": {"country": "RS"}, "model": "embargo.country", "pk": 196}, {"fields": {"country": "SC"}, "model": "embargo.country", "pk": 197}, {"fields": {"country": "SL"}, "model": "embargo.country", "pk": 198}, {"fields": {"country": "SG"}, "model": "embargo.country", "pk": 199}, {"fields": {"country": "SX"}, "model": "embargo.country", "pk": 200}, {"fields": {"country": "SK"}, "model": "embargo.country", "pk": 201}, {"fields": {"country": "SI"}, "model": "embargo.country", "pk": 202}, {"fields": {"country": "SB"}, "model": "embargo.country", "pk": 203}, {"fields": {"country": "SO"}, "model": "embargo.country", "pk": 204}, {"fields": {"country": "ZA"}, "model": "embargo.country", "pk": 205}, {"fields": {"country": "GS"}, "model": "embargo.country", "pk": 206}, {"fields": {"country": "KR"}, "model": "embargo.country", "pk": 207}, {"fields": {"country": "SS"}, "model": "embargo.country", "pk": 208}, {"fields": {"country": "ES"}, "model": "embargo.country", "pk": 209}, {"fields": {"country": "LK"}, "model": "embargo.country", "pk": 210}, {"fields": {"country": "SD"}, "model": "embargo.country", "pk": 211}, {"fields": {"country": "SR"}, "model": "embargo.country", "pk": 212}, {"fields": {"country": "SJ"}, "model": "embargo.country", "pk": 213}, {"fields": {"country": "SZ"}, "model": "embargo.country", "pk": 214}, {"fields": {"country": "SE"}, "model": "embargo.country", "pk": 215}, {"fields": {"country": "CH"}, "model": "embargo.country", "pk": 216}, {"fields": {"country": "SY"}, "model": "embargo.country", "pk": 217}, {"fields": {"country": "TW"}, "model": "embargo.country", "pk": 218}, {"fields": {"country": "TJ"}, "model": "embargo.country", "pk": 219}, {"fields": {"country": "TZ"}, "model": "embargo.country", "pk": 220}, {"fields": {"country": "TH"}, "model": "embargo.country", "pk": 221}, {"fields": {"country": "TL"}, "model": "embargo.country", "pk": 222}, {"fields": {"country": "TG"}, "model": "embargo.country", "pk": 223}, {"fields": {"country": "TK"}, "model": "embargo.country", "pk": 224}, {"fields": {"country": "TO"}, "model": "embargo.country", "pk": 225}, {"fields": {"country": "TT"}, "model": "embargo.country", "pk": 226}, {"fields": {"country": "TN"}, "model": "embargo.country", "pk": 227}, {"fields": {"country": "TR"}, "model": "embargo.country", "pk": 228}, {"fields": {"country": "TM"}, "model": "embargo.country", "pk": 229}, {"fields": {"country": "TC"}, "model": "embargo.country", "pk": 230}, {"fields": {"country": "TV"}, "model": "embargo.country", "pk": 231}, {"fields": {"country": "UG"}, "model": "embargo.country", "pk": 232}, {"fields": {"country": "UA"}, "model": "embargo.country", "pk": 233}, {"fields": {"country": "AE"}, "model": "embargo.country", "pk": 234}, {"fields": {"country": "GB"}, "model": "embargo.country", "pk": 235}, {"fields": {"country": "UM"}, "model": "embargo.country", "pk": 236}, {"fields": {"country": "US"}, "model": "embargo.country", "pk": 237}, {"fields": {"country": "UY"}, "model": "embargo.country", "pk": 238}, {"fields": {"country": "UZ"}, "model": "embargo.country", "pk": 239}, {"fields": {"country": "VU"}, "model": "embargo.country", "pk": 240}, {"fields": {"country": "VE"}, "model": "embargo.country", "pk": 241}, {"fields": {"country": "VN"}, "model": "embargo.country", "pk": 242}, {"fields": {"country": "VG"}, "model": "embargo.country", "pk": 243}, {"fields": {"country": "VI"}, "model": "embargo.country", "pk": 244}, {"fields": {"country": "WF"}, "model": "embargo.country", "pk": 245}, {"fields": {"country": "EH"}, "model": "embargo.country", "pk": 246}, {"fields": {"country": "YE"}, "model": "embargo.country", "pk": 247}, {"fields": {"country": "ZM"}, "model": "embargo.country", "pk": 248}, {"fields": {"country": "ZW"}, "model": "embargo.country", "pk": 249}, {"fields": {"profile_name": "desktop_mp4"}, "model": "edxval.profile", "pk": 1}, {"fields": {"profile_name": "desktop_webm"}, "model": "edxval.profile", "pk": 2}, {"fields": {"profile_name": "mobile_high"}, "model": "edxval.profile", "pk": 3}, {"fields": {"profile_name": "mobile_low"}, "model": "edxval.profile", "pk": 4}, {"fields": {"profile_name": "youtube"}, "model": "edxval.profile", "pk": 5}, {"fields": {"active": true, "description": "Autogenerated milestone relationship type \"fulfills\"", "modified": "2016-01-22T20:04:36.731Z", "name": "fulfills", "created": "2016-01-22T20:04:36.730Z"}, "model": "milestones.milestonerelationshiptype", "pk": 1}, {"fields": {"active": true, "description": "Autogenerated milestone relationship type \"requires\"", "modified": "2016-01-22T20:04:36.733Z", "name": "requires", "created": "2016-01-22T20:04:36.733Z"}, "model": "milestones.milestonerelationshiptype", "pk": 2}, {"fields": {"codename": "add_permission", "name": "Can add permission", "content_type": 1}, "model": "auth.permission", "pk": 1}, {"fields": {"codename": "change_permission", "name": "Can change permission", "content_type": 1}, "model": "auth.permission", "pk": 2}, {"fields": {"codename": "delete_permission", "name": "Can delete permission", "content_type": 1}, "model": "auth.permission", "pk": 3}, {"fields": {"codename": "add_group", "name": "Can add group", "content_type": 2}, "model": "auth.permission", "pk": 4}, {"fields": {"codename": "change_group", "name": "Can change group", "content_type": 2}, "model": "auth.permission", "pk": 5}, {"fields": {"codename": "delete_group", "name": "Can delete group", "content_type": 2}, "model": "auth.permission", "pk": 6}, {"fields": {"codename": "add_user", "name": "Can add user", "content_type": 3}, "model": "auth.permission", "pk": 7}, {"fields": {"codename": "change_user", "name": "Can change user", "content_type": 3}, "model": "auth.permission", "pk": 8}, {"fields": {"codename": "delete_user", "name": "Can delete user", "content_type": 3}, "model": "auth.permission", "pk": 9}, {"fields": {"codename": "add_contenttype", "name": "Can add content type", "content_type": 4}, "model": "auth.permission", "pk": 10}, {"fields": {"codename": "change_contenttype", "name": "Can change content type", "content_type": 4}, "model": "auth.permission", "pk": 11}, {"fields": {"codename": "delete_contenttype", "name": "Can delete content type", "content_type": 4}, "model": "auth.permission", "pk": 12}, {"fields": {"codename": "add_session", "name": "Can add session", "content_type": 5}, "model": "auth.permission", "pk": 13}, {"fields": {"codename": "change_session", "name": "Can change session", "content_type": 5}, "model": "auth.permission", "pk": 14}, {"fields": {"codename": "delete_session", "name": "Can delete session", "content_type": 5}, "model": "auth.permission", "pk": 15}, {"fields": {"codename": "add_site", "name": "Can add site", "content_type": 6}, "model": "auth.permission", "pk": 16}, {"fields": {"codename": "change_site", "name": "Can change site", "content_type": 6}, "model": "auth.permission", "pk": 17}, {"fields": {"codename": "delete_site", "name": "Can delete site", "content_type": 6}, "model": "auth.permission", "pk": 18}, {"fields": {"codename": "add_taskmeta", "name": "Can add task state", "content_type": 7}, "model": "auth.permission", "pk": 19}, {"fields": {"codename": "change_taskmeta", "name": "Can change task state", "content_type": 7}, "model": "auth.permission", "pk": 20}, {"fields": {"codename": "delete_taskmeta", "name": "Can delete task state", "content_type": 7}, "model": "auth.permission", "pk": 21}, {"fields": {"codename": "add_tasksetmeta", "name": "Can add saved group result", "content_type": 8}, "model": "auth.permission", "pk": 22}, {"fields": {"codename": "change_tasksetmeta", "name": "Can change saved group result", "content_type": 8}, "model": "auth.permission", "pk": 23}, {"fields": {"codename": "delete_tasksetmeta", "name": "Can delete saved group result", "content_type": 8}, "model": "auth.permission", "pk": 24}, {"fields": {"codename": "add_intervalschedule", "name": "Can add interval", "content_type": 9}, "model": "auth.permission", "pk": 25}, {"fields": {"codename": "change_intervalschedule", "name": "Can change interval", "content_type": 9}, "model": "auth.permission", "pk": 26}, {"fields": {"codename": "delete_intervalschedule", "name": "Can delete interval", "content_type": 9}, "model": "auth.permission", "pk": 27}, {"fields": {"codename": "add_crontabschedule", "name": "Can add crontab", "content_type": 10}, "model": "auth.permission", "pk": 28}, {"fields": {"codename": "change_crontabschedule", "name": "Can change crontab", "content_type": 10}, "model": "auth.permission", "pk": 29}, {"fields": {"codename": "delete_crontabschedule", "name": "Can delete crontab", "content_type": 10}, "model": "auth.permission", "pk": 30}, {"fields": {"codename": "add_periodictasks", "name": "Can add periodic tasks", "content_type": 11}, "model": "auth.permission", "pk": 31}, {"fields": {"codename": "change_periodictasks", "name": "Can change periodic tasks", "content_type": 11}, "model": "auth.permission", "pk": 32}, {"fields": {"codename": "delete_periodictasks", "name": "Can delete periodic tasks", "content_type": 11}, "model": "auth.permission", "pk": 33}, {"fields": {"codename": "add_periodictask", "name": "Can add periodic task", "content_type": 12}, "model": "auth.permission", "pk": 34}, {"fields": {"codename": "change_periodictask", "name": "Can change periodic task", "content_type": 12}, "model": "auth.permission", "pk": 35}, {"fields": {"codename": "delete_periodictask", "name": "Can delete periodic task", "content_type": 12}, "model": "auth.permission", "pk": 36}, {"fields": {"codename": "add_workerstate", "name": "Can add worker", "content_type": 13}, "model": "auth.permission", "pk": 37}, {"fields": {"codename": "change_workerstate", "name": "Can change worker", "content_type": 13}, "model": "auth.permission", "pk": 38}, {"fields": {"codename": "delete_workerstate", "name": "Can delete worker", "content_type": 13}, "model": "auth.permission", "pk": 39}, {"fields": {"codename": "add_taskstate", "name": "Can add task", "content_type": 14}, "model": "auth.permission", "pk": 40}, {"fields": {"codename": "change_taskstate", "name": "Can change task", "content_type": 14}, "model": "auth.permission", "pk": 41}, {"fields": {"codename": "delete_taskstate", "name": "Can delete task", "content_type": 14}, "model": "auth.permission", "pk": 42}, {"fields": {"codename": "add_globalstatusmessage", "name": "Can add global status message", "content_type": 15}, "model": "auth.permission", "pk": 43}, {"fields": {"codename": "change_globalstatusmessage", "name": "Can change global status message", "content_type": 15}, "model": "auth.permission", "pk": 44}, {"fields": {"codename": "delete_globalstatusmessage", "name": "Can delete global status message", "content_type": 15}, "model": "auth.permission", "pk": 45}, {"fields": {"codename": "add_coursemessage", "name": "Can add course message", "content_type": 16}, "model": "auth.permission", "pk": 46}, {"fields": {"codename": "change_coursemessage", "name": "Can change course message", "content_type": 16}, "model": "auth.permission", "pk": 47}, {"fields": {"codename": "delete_coursemessage", "name": "Can delete course message", "content_type": 16}, "model": "auth.permission", "pk": 48}, {"fields": {"codename": "add_assetbaseurlconfig", "name": "Can add asset base url config", "content_type": 17}, "model": "auth.permission", "pk": 49}, {"fields": {"codename": "change_assetbaseurlconfig", "name": "Can change asset base url config", "content_type": 17}, "model": "auth.permission", "pk": 50}, {"fields": {"codename": "delete_assetbaseurlconfig", "name": "Can delete asset base url config", "content_type": 17}, "model": "auth.permission", "pk": 51}, {"fields": {"codename": "add_studentmodule", "name": "Can add student module", "content_type": 18}, "model": "auth.permission", "pk": 52}, {"fields": {"codename": "change_studentmodule", "name": "Can change student module", "content_type": 18}, "model": "auth.permission", "pk": 53}, {"fields": {"codename": "delete_studentmodule", "name": "Can delete student module", "content_type": 18}, "model": "auth.permission", "pk": 54}, {"fields": {"codename": "add_studentmodulehistory", "name": "Can add student module history", "content_type": 19}, "model": "auth.permission", "pk": 55}, {"fields": {"codename": "change_studentmodulehistory", "name": "Can change student module history", "content_type": 19}, "model": "auth.permission", "pk": 56}, {"fields": {"codename": "delete_studentmodulehistory", "name": "Can delete student module history", "content_type": 19}, "model": "auth.permission", "pk": 57}, {"fields": {"codename": "add_xmoduleuserstatesummaryfield", "name": "Can add x module user state summary field", "content_type": 20}, "model": "auth.permission", "pk": 58}, {"fields": {"codename": "change_xmoduleuserstatesummaryfield", "name": "Can change x module user state summary field", "content_type": 20}, "model": "auth.permission", "pk": 59}, {"fields": {"codename": "delete_xmoduleuserstatesummaryfield", "name": "Can delete x module user state summary field", "content_type": 20}, "model": "auth.permission", "pk": 60}, {"fields": {"codename": "add_xmodulestudentprefsfield", "name": "Can add x module student prefs field", "content_type": 21}, "model": "auth.permission", "pk": 61}, {"fields": {"codename": "change_xmodulestudentprefsfield", "name": "Can change x module student prefs field", "content_type": 21}, "model": "auth.permission", "pk": 62}, {"fields": {"codename": "delete_xmodulestudentprefsfield", "name": "Can delete x module student prefs field", "content_type": 21}, "model": "auth.permission", "pk": 63}, {"fields": {"codename": "add_xmodulestudentinfofield", "name": "Can add x module student info field", "content_type": 22}, "model": "auth.permission", "pk": 64}, {"fields": {"codename": "change_xmodulestudentinfofield", "name": "Can change x module student info field", "content_type": 22}, "model": "auth.permission", "pk": 65}, {"fields": {"codename": "delete_xmodulestudentinfofield", "name": "Can delete x module student info field", "content_type": 22}, "model": "auth.permission", "pk": 66}, {"fields": {"codename": "add_offlinecomputedgrade", "name": "Can add offline computed grade", "content_type": 23}, "model": "auth.permission", "pk": 67}, {"fields": {"codename": "change_offlinecomputedgrade", "name": "Can change offline computed grade", "content_type": 23}, "model": "auth.permission", "pk": 68}, {"fields": {"codename": "delete_offlinecomputedgrade", "name": "Can delete offline computed grade", "content_type": 23}, "model": "auth.permission", "pk": 69}, {"fields": {"codename": "add_offlinecomputedgradelog", "name": "Can add offline computed grade log", "content_type": 24}, "model": "auth.permission", "pk": 70}, {"fields": {"codename": "change_offlinecomputedgradelog", "name": "Can change offline computed grade log", "content_type": 24}, "model": "auth.permission", "pk": 71}, {"fields": {"codename": "delete_offlinecomputedgradelog", "name": "Can delete offline computed grade log", "content_type": 24}, "model": "auth.permission", "pk": 72}, {"fields": {"codename": "add_studentfieldoverride", "name": "Can add student field override", "content_type": 25}, "model": "auth.permission", "pk": 73}, {"fields": {"codename": "change_studentfieldoverride", "name": "Can change student field override", "content_type": 25}, "model": "auth.permission", "pk": 74}, {"fields": {"codename": "delete_studentfieldoverride", "name": "Can delete student field override", "content_type": 25}, "model": "auth.permission", "pk": 75}, {"fields": {"codename": "add_anonymoususerid", "name": "Can add anonymous user id", "content_type": 26}, "model": "auth.permission", "pk": 76}, {"fields": {"codename": "change_anonymoususerid", "name": "Can change anonymous user id", "content_type": 26}, "model": "auth.permission", "pk": 77}, {"fields": {"codename": "delete_anonymoususerid", "name": "Can delete anonymous user id", "content_type": 26}, "model": "auth.permission", "pk": 78}, {"fields": {"codename": "add_userstanding", "name": "Can add user standing", "content_type": 27}, "model": "auth.permission", "pk": 79}, {"fields": {"codename": "change_userstanding", "name": "Can change user standing", "content_type": 27}, "model": "auth.permission", "pk": 80}, {"fields": {"codename": "delete_userstanding", "name": "Can delete user standing", "content_type": 27}, "model": "auth.permission", "pk": 81}, {"fields": {"codename": "add_userprofile", "name": "Can add user profile", "content_type": 28}, "model": "auth.permission", "pk": 82}, {"fields": {"codename": "change_userprofile", "name": "Can change user profile", "content_type": 28}, "model": "auth.permission", "pk": 83}, {"fields": {"codename": "delete_userprofile", "name": "Can delete user profile", "content_type": 28}, "model": "auth.permission", "pk": 84}, {"fields": {"codename": "add_usersignupsource", "name": "Can add user signup source", "content_type": 29}, "model": "auth.permission", "pk": 85}, {"fields": {"codename": "change_usersignupsource", "name": "Can change user signup source", "content_type": 29}, "model": "auth.permission", "pk": 86}, {"fields": {"codename": "delete_usersignupsource", "name": "Can delete user signup source", "content_type": 29}, "model": "auth.permission", "pk": 87}, {"fields": {"codename": "add_usertestgroup", "name": "Can add user test group", "content_type": 30}, "model": "auth.permission", "pk": 88}, {"fields": {"codename": "change_usertestgroup", "name": "Can change user test group", "content_type": 30}, "model": "auth.permission", "pk": 89}, {"fields": {"codename": "delete_usertestgroup", "name": "Can delete user test group", "content_type": 30}, "model": "auth.permission", "pk": 90}, {"fields": {"codename": "add_registration", "name": "Can add registration", "content_type": 31}, "model": "auth.permission", "pk": 91}, {"fields": {"codename": "change_registration", "name": "Can change registration", "content_type": 31}, "model": "auth.permission", "pk": 92}, {"fields": {"codename": "delete_registration", "name": "Can delete registration", "content_type": 31}, "model": "auth.permission", "pk": 93}, {"fields": {"codename": "add_pendingnamechange", "name": "Can add pending name change", "content_type": 32}, "model": "auth.permission", "pk": 94}, {"fields": {"codename": "change_pendingnamechange", "name": "Can change pending name change", "content_type": 32}, "model": "auth.permission", "pk": 95}, {"fields": {"codename": "delete_pendingnamechange", "name": "Can delete pending name change", "content_type": 32}, "model": "auth.permission", "pk": 96}, {"fields": {"codename": "add_pendingemailchange", "name": "Can add pending email change", "content_type": 33}, "model": "auth.permission", "pk": 97}, {"fields": {"codename": "change_pendingemailchange", "name": "Can change pending email change", "content_type": 33}, "model": "auth.permission", "pk": 98}, {"fields": {"codename": "delete_pendingemailchange", "name": "Can delete pending email change", "content_type": 33}, "model": "auth.permission", "pk": 99}, {"fields": {"codename": "add_passwordhistory", "name": "Can add password history", "content_type": 34}, "model": "auth.permission", "pk": 100}, {"fields": {"codename": "change_passwordhistory", "name": "Can change password history", "content_type": 34}, "model": "auth.permission", "pk": 101}, {"fields": {"codename": "delete_passwordhistory", "name": "Can delete password history", "content_type": 34}, "model": "auth.permission", "pk": 102}, {"fields": {"codename": "add_loginfailures", "name": "Can add login failures", "content_type": 35}, "model": "auth.permission", "pk": 103}, {"fields": {"codename": "change_loginfailures", "name": "Can change login failures", "content_type": 35}, "model": "auth.permission", "pk": 104}, {"fields": {"codename": "delete_loginfailures", "name": "Can delete login failures", "content_type": 35}, "model": "auth.permission", "pk": 105}, {"fields": {"codename": "add_historicalcourseenrollment", "name": "Can add historical course enrollment", "content_type": 36}, "model": "auth.permission", "pk": 106}, {"fields": {"codename": "change_historicalcourseenrollment", "name": "Can change historical course enrollment", "content_type": 36}, "model": "auth.permission", "pk": 107}, {"fields": {"codename": "delete_historicalcourseenrollment", "name": "Can delete historical course enrollment", "content_type": 36}, "model": "auth.permission", "pk": 108}, {"fields": {"codename": "add_courseenrollment", "name": "Can add course enrollment", "content_type": 37}, "model": "auth.permission", "pk": 109}, {"fields": {"codename": "change_courseenrollment", "name": "Can change course enrollment", "content_type": 37}, "model": "auth.permission", "pk": 110}, {"fields": {"codename": "delete_courseenrollment", "name": "Can delete course enrollment", "content_type": 37}, "model": "auth.permission", "pk": 111}, {"fields": {"codename": "add_manualenrollmentaudit", "name": "Can add manual enrollment audit", "content_type": 38}, "model": "auth.permission", "pk": 112}, {"fields": {"codename": "change_manualenrollmentaudit", "name": "Can change manual enrollment audit", "content_type": 38}, "model": "auth.permission", "pk": 113}, {"fields": {"codename": "delete_manualenrollmentaudit", "name": "Can delete manual enrollment audit", "content_type": 38}, "model": "auth.permission", "pk": 114}, {"fields": {"codename": "add_courseenrollmentallowed", "name": "Can add course enrollment allowed", "content_type": 39}, "model": "auth.permission", "pk": 115}, {"fields": {"codename": "change_courseenrollmentallowed", "name": "Can change course enrollment allowed", "content_type": 39}, "model": "auth.permission", "pk": 116}, {"fields": {"codename": "delete_courseenrollmentallowed", "name": "Can delete course enrollment allowed", "content_type": 39}, "model": "auth.permission", "pk": 117}, {"fields": {"codename": "add_courseaccessrole", "name": "Can add course access role", "content_type": 40}, "model": "auth.permission", "pk": 118}, {"fields": {"codename": "change_courseaccessrole", "name": "Can change course access role", "content_type": 40}, "model": "auth.permission", "pk": 119}, {"fields": {"codename": "delete_courseaccessrole", "name": "Can delete course access role", "content_type": 40}, "model": "auth.permission", "pk": 120}, {"fields": {"codename": "add_dashboardconfiguration", "name": "Can add dashboard configuration", "content_type": 41}, "model": "auth.permission", "pk": 121}, {"fields": {"codename": "change_dashboardconfiguration", "name": "Can change dashboard configuration", "content_type": 41}, "model": "auth.permission", "pk": 122}, {"fields": {"codename": "delete_dashboardconfiguration", "name": "Can delete dashboard configuration", "content_type": 41}, "model": "auth.permission", "pk": 123}, {"fields": {"codename": "add_linkedinaddtoprofileconfiguration", "name": "Can add linked in add to profile configuration", "content_type": 42}, "model": "auth.permission", "pk": 124}, {"fields": {"codename": "change_linkedinaddtoprofileconfiguration", "name": "Can change linked in add to profile configuration", "content_type": 42}, "model": "auth.permission", "pk": 125}, {"fields": {"codename": "delete_linkedinaddtoprofileconfiguration", "name": "Can delete linked in add to profile configuration", "content_type": 42}, "model": "auth.permission", "pk": 126}, {"fields": {"codename": "add_entranceexamconfiguration", "name": "Can add entrance exam configuration", "content_type": 43}, "model": "auth.permission", "pk": 127}, {"fields": {"codename": "change_entranceexamconfiguration", "name": "Can change entrance exam configuration", "content_type": 43}, "model": "auth.permission", "pk": 128}, {"fields": {"codename": "delete_entranceexamconfiguration", "name": "Can delete entrance exam configuration", "content_type": 43}, "model": "auth.permission", "pk": 129}, {"fields": {"codename": "add_languageproficiency", "name": "Can add language proficiency", "content_type": 44}, "model": "auth.permission", "pk": 130}, {"fields": {"codename": "change_languageproficiency", "name": "Can change language proficiency", "content_type": 44}, "model": "auth.permission", "pk": 131}, {"fields": {"codename": "delete_languageproficiency", "name": "Can delete language proficiency", "content_type": 44}, "model": "auth.permission", "pk": 132}, {"fields": {"codename": "add_courseenrollmentattribute", "name": "Can add course enrollment attribute", "content_type": 45}, "model": "auth.permission", "pk": 133}, {"fields": {"codename": "change_courseenrollmentattribute", "name": "Can change course enrollment attribute", "content_type": 45}, "model": "auth.permission", "pk": 134}, {"fields": {"codename": "delete_courseenrollmentattribute", "name": "Can delete course enrollment attribute", "content_type": 45}, "model": "auth.permission", "pk": 135}, {"fields": {"codename": "add_enrollmentrefundconfiguration", "name": "Can add enrollment refund configuration", "content_type": 46}, "model": "auth.permission", "pk": 136}, {"fields": {"codename": "change_enrollmentrefundconfiguration", "name": "Can change enrollment refund configuration", "content_type": 46}, "model": "auth.permission", "pk": 137}, {"fields": {"codename": "delete_enrollmentrefundconfiguration", "name": "Can delete enrollment refund configuration", "content_type": 46}, "model": "auth.permission", "pk": 138}, {"fields": {"codename": "add_trackinglog", "name": "Can add tracking log", "content_type": 47}, "model": "auth.permission", "pk": 139}, {"fields": {"codename": "change_trackinglog", "name": "Can change tracking log", "content_type": 47}, "model": "auth.permission", "pk": 140}, {"fields": {"codename": "delete_trackinglog", "name": "Can delete tracking log", "content_type": 47}, "model": "auth.permission", "pk": 141}, {"fields": {"codename": "add_ratelimitconfiguration", "name": "Can add rate limit configuration", "content_type": 48}, "model": "auth.permission", "pk": 142}, {"fields": {"codename": "change_ratelimitconfiguration", "name": "Can change rate limit configuration", "content_type": 48}, "model": "auth.permission", "pk": 143}, {"fields": {"codename": "delete_ratelimitconfiguration", "name": "Can delete rate limit configuration", "content_type": 48}, "model": "auth.permission", "pk": 144}, {"fields": {"codename": "add_certificatewhitelist", "name": "Can add certificate whitelist", "content_type": 49}, "model": "auth.permission", "pk": 145}, {"fields": {"codename": "change_certificatewhitelist", "name": "Can change certificate whitelist", "content_type": 49}, "model": "auth.permission", "pk": 146}, {"fields": {"codename": "delete_certificatewhitelist", "name": "Can delete certificate whitelist", "content_type": 49}, "model": "auth.permission", "pk": 147}, {"fields": {"codename": "add_generatedcertificate", "name": "Can add generated certificate", "content_type": 50}, "model": "auth.permission", "pk": 148}, {"fields": {"codename": "change_generatedcertificate", "name": "Can change generated certificate", "content_type": 50}, "model": "auth.permission", "pk": 149}, {"fields": {"codename": "delete_generatedcertificate", "name": "Can delete generated certificate", "content_type": 50}, "model": "auth.permission", "pk": 150}, {"fields": {"codename": "add_certificategenerationhistory", "name": "Can add certificate generation history", "content_type": 51}, "model": "auth.permission", "pk": 151}, {"fields": {"codename": "change_certificategenerationhistory", "name": "Can change certificate generation history", "content_type": 51}, "model": "auth.permission", "pk": 152}, {"fields": {"codename": "delete_certificategenerationhistory", "name": "Can delete certificate generation history", "content_type": 51}, "model": "auth.permission", "pk": 153}, {"fields": {"codename": "add_certificateinvalidation", "name": "Can add certificate invalidation", "content_type": 52}, "model": "auth.permission", "pk": 154}, {"fields": {"codename": "change_certificateinvalidation", "name": "Can change certificate invalidation", "content_type": 52}, "model": "auth.permission", "pk": 155}, {"fields": {"codename": "delete_certificateinvalidation", "name": "Can delete certificate invalidation", "content_type": 52}, "model": "auth.permission", "pk": 156}, {"fields": {"codename": "add_examplecertificateset", "name": "Can add example certificate set", "content_type": 53}, "model": "auth.permission", "pk": 157}, {"fields": {"codename": "change_examplecertificateset", "name": "Can change example certificate set", "content_type": 53}, "model": "auth.permission", "pk": 158}, {"fields": {"codename": "delete_examplecertificateset", "name": "Can delete example certificate set", "content_type": 53}, "model": "auth.permission", "pk": 159}, {"fields": {"codename": "add_examplecertificate", "name": "Can add example certificate", "content_type": 54}, "model": "auth.permission", "pk": 160}, {"fields": {"codename": "change_examplecertificate", "name": "Can change example certificate", "content_type": 54}, "model": "auth.permission", "pk": 161}, {"fields": {"codename": "delete_examplecertificate", "name": "Can delete example certificate", "content_type": 54}, "model": "auth.permission", "pk": 162}, {"fields": {"codename": "add_certificategenerationcoursesetting", "name": "Can add certificate generation course setting", "content_type": 55}, "model": "auth.permission", "pk": 163}, {"fields": {"codename": "change_certificategenerationcoursesetting", "name": "Can change certificate generation course setting", "content_type": 55}, "model": "auth.permission", "pk": 164}, {"fields": {"codename": "delete_certificategenerationcoursesetting", "name": "Can delete certificate generation course setting", "content_type": 55}, "model": "auth.permission", "pk": 165}, {"fields": {"codename": "add_certificategenerationconfiguration", "name": "Can add certificate generation configuration", "content_type": 56}, "model": "auth.permission", "pk": 166}, {"fields": {"codename": "change_certificategenerationconfiguration", "name": "Can change certificate generation configuration", "content_type": 56}, "model": "auth.permission", "pk": 167}, {"fields": {"codename": "delete_certificategenerationconfiguration", "name": "Can delete certificate generation configuration", "content_type": 56}, "model": "auth.permission", "pk": 168}, {"fields": {"codename": "add_certificatehtmlviewconfiguration", "name": "Can add certificate html view configuration", "content_type": 57}, "model": "auth.permission", "pk": 169}, {"fields": {"codename": "change_certificatehtmlviewconfiguration", "name": "Can change certificate html view configuration", "content_type": 57}, "model": "auth.permission", "pk": 170}, {"fields": {"codename": "delete_certificatehtmlviewconfiguration", "name": "Can delete certificate html view configuration", "content_type": 57}, "model": "auth.permission", "pk": 171}, {"fields": {"codename": "add_badgeassertion", "name": "Can add badge assertion", "content_type": 58}, "model": "auth.permission", "pk": 172}, {"fields": {"codename": "change_badgeassertion", "name": "Can change badge assertion", "content_type": 58}, "model": "auth.permission", "pk": 173}, {"fields": {"codename": "delete_badgeassertion", "name": "Can delete badge assertion", "content_type": 58}, "model": "auth.permission", "pk": 174}, {"fields": {"codename": "add_badgeimageconfiguration", "name": "Can add badge image configuration", "content_type": 59}, "model": "auth.permission", "pk": 175}, {"fields": {"codename": "change_badgeimageconfiguration", "name": "Can change badge image configuration", "content_type": 59}, "model": "auth.permission", "pk": 176}, {"fields": {"codename": "delete_badgeimageconfiguration", "name": "Can delete badge image configuration", "content_type": 59}, "model": "auth.permission", "pk": 177}, {"fields": {"codename": "add_certificatetemplate", "name": "Can add certificate template", "content_type": 60}, "model": "auth.permission", "pk": 178}, {"fields": {"codename": "change_certificatetemplate", "name": "Can change certificate template", "content_type": 60}, "model": "auth.permission", "pk": 179}, {"fields": {"codename": "delete_certificatetemplate", "name": "Can delete certificate template", "content_type": 60}, "model": "auth.permission", "pk": 180}, {"fields": {"codename": "add_certificatetemplateasset", "name": "Can add certificate template asset", "content_type": 61}, "model": "auth.permission", "pk": 181}, {"fields": {"codename": "change_certificatetemplateasset", "name": "Can change certificate template asset", "content_type": 61}, "model": "auth.permission", "pk": 182}, {"fields": {"codename": "delete_certificatetemplateasset", "name": "Can delete certificate template asset", "content_type": 61}, "model": "auth.permission", "pk": 183}, {"fields": {"codename": "add_instructortask", "name": "Can add instructor task", "content_type": 62}, "model": "auth.permission", "pk": 184}, {"fields": {"codename": "change_instructortask", "name": "Can change instructor task", "content_type": 62}, "model": "auth.permission", "pk": 185}, {"fields": {"codename": "delete_instructortask", "name": "Can delete instructor task", "content_type": 62}, "model": "auth.permission", "pk": 186}, {"fields": {"codename": "add_courseusergroup", "name": "Can add course user group", "content_type": 63}, "model": "auth.permission", "pk": 187}, {"fields": {"codename": "change_courseusergroup", "name": "Can change course user group", "content_type": 63}, "model": "auth.permission", "pk": 188}, {"fields": {"codename": "delete_courseusergroup", "name": "Can delete course user group", "content_type": 63}, "model": "auth.permission", "pk": 189}, {"fields": {"codename": "add_cohortmembership", "name": "Can add cohort membership", "content_type": 64}, "model": "auth.permission", "pk": 190}, {"fields": {"codename": "change_cohortmembership", "name": "Can change cohort membership", "content_type": 64}, "model": "auth.permission", "pk": 191}, {"fields": {"codename": "delete_cohortmembership", "name": "Can delete cohort membership", "content_type": 64}, "model": "auth.permission", "pk": 192}, {"fields": {"codename": "add_courseusergrouppartitiongroup", "name": "Can add course user group partition group", "content_type": 65}, "model": "auth.permission", "pk": 193}, {"fields": {"codename": "change_courseusergrouppartitiongroup", "name": "Can change course user group partition group", "content_type": 65}, "model": "auth.permission", "pk": 194}, {"fields": {"codename": "delete_courseusergrouppartitiongroup", "name": "Can delete course user group partition group", "content_type": 65}, "model": "auth.permission", "pk": 195}, {"fields": {"codename": "add_coursecohortssettings", "name": "Can add course cohorts settings", "content_type": 66}, "model": "auth.permission", "pk": 196}, {"fields": {"codename": "change_coursecohortssettings", "name": "Can change course cohorts settings", "content_type": 66}, "model": "auth.permission", "pk": 197}, {"fields": {"codename": "delete_coursecohortssettings", "name": "Can delete course cohorts settings", "content_type": 66}, "model": "auth.permission", "pk": 198}, {"fields": {"codename": "add_coursecohort", "name": "Can add course cohort", "content_type": 67}, "model": "auth.permission", "pk": 199}, {"fields": {"codename": "change_coursecohort", "name": "Can change course cohort", "content_type": 67}, "model": "auth.permission", "pk": 200}, {"fields": {"codename": "delete_coursecohort", "name": "Can delete course cohort", "content_type": 67}, "model": "auth.permission", "pk": 201}, {"fields": {"codename": "add_courseemail", "name": "Can add course email", "content_type": 68}, "model": "auth.permission", "pk": 202}, {"fields": {"codename": "change_courseemail", "name": "Can change course email", "content_type": 68}, "model": "auth.permission", "pk": 203}, {"fields": {"codename": "delete_courseemail", "name": "Can delete course email", "content_type": 68}, "model": "auth.permission", "pk": 204}, {"fields": {"codename": "add_optout", "name": "Can add optout", "content_type": 69}, "model": "auth.permission", "pk": 205}, {"fields": {"codename": "change_optout", "name": "Can change optout", "content_type": 69}, "model": "auth.permission", "pk": 206}, {"fields": {"codename": "delete_optout", "name": "Can delete optout", "content_type": 69}, "model": "auth.permission", "pk": 207}, {"fields": {"codename": "add_courseemailtemplate", "name": "Can add course email template", "content_type": 70}, "model": "auth.permission", "pk": 208}, {"fields": {"codename": "change_courseemailtemplate", "name": "Can change course email template", "content_type": 70}, "model": "auth.permission", "pk": 209}, {"fields": {"codename": "delete_courseemailtemplate", "name": "Can delete course email template", "content_type": 70}, "model": "auth.permission", "pk": 210}, {"fields": {"codename": "add_courseauthorization", "name": "Can add course authorization", "content_type": 71}, "model": "auth.permission", "pk": 211}, {"fields": {"codename": "change_courseauthorization", "name": "Can change course authorization", "content_type": 71}, "model": "auth.permission", "pk": 212}, {"fields": {"codename": "delete_courseauthorization", "name": "Can delete course authorization", "content_type": 71}, "model": "auth.permission", "pk": 213}, {"fields": {"codename": "add_brandinginfoconfig", "name": "Can add branding info config", "content_type": 72}, "model": "auth.permission", "pk": 214}, {"fields": {"codename": "change_brandinginfoconfig", "name": "Can change branding info config", "content_type": 72}, "model": "auth.permission", "pk": 215}, {"fields": {"codename": "delete_brandinginfoconfig", "name": "Can delete branding info config", "content_type": 72}, "model": "auth.permission", "pk": 216}, {"fields": {"codename": "add_brandingapiconfig", "name": "Can add branding api config", "content_type": 73}, "model": "auth.permission", "pk": 217}, {"fields": {"codename": "change_brandingapiconfig", "name": "Can change branding api config", "content_type": 73}, "model": "auth.permission", "pk": 218}, {"fields": {"codename": "delete_brandingapiconfig", "name": "Can delete branding api config", "content_type": 73}, "model": "auth.permission", "pk": 219}, {"fields": {"codename": "add_externalauthmap", "name": "Can add external auth map", "content_type": 74}, "model": "auth.permission", "pk": 220}, {"fields": {"codename": "change_externalauthmap", "name": "Can change external auth map", "content_type": 74}, "model": "auth.permission", "pk": 221}, {"fields": {"codename": "delete_externalauthmap", "name": "Can delete external auth map", "content_type": 74}, "model": "auth.permission", "pk": 222}, {"fields": {"codename": "add_nonce", "name": "Can add nonce", "content_type": 75}, "model": "auth.permission", "pk": 223}, {"fields": {"codename": "change_nonce", "name": "Can change nonce", "content_type": 75}, "model": "auth.permission", "pk": 224}, {"fields": {"codename": "delete_nonce", "name": "Can delete nonce", "content_type": 75}, "model": "auth.permission", "pk": 225}, {"fields": {"codename": "add_association", "name": "Can add association", "content_type": 76}, "model": "auth.permission", "pk": 226}, {"fields": {"codename": "change_association", "name": "Can change association", "content_type": 76}, "model": "auth.permission", "pk": 227}, {"fields": {"codename": "delete_association", "name": "Can delete association", "content_type": 76}, "model": "auth.permission", "pk": 228}, {"fields": {"codename": "add_useropenid", "name": "Can add user open id", "content_type": 77}, "model": "auth.permission", "pk": 229}, {"fields": {"codename": "change_useropenid", "name": "Can change user open id", "content_type": 77}, "model": "auth.permission", "pk": 230}, {"fields": {"codename": "delete_useropenid", "name": "Can delete user open id", "content_type": 77}, "model": "auth.permission", "pk": 231}, {"fields": {"codename": "account_verified", "name": "The OpenID has been verified", "content_type": 77}, "model": "auth.permission", "pk": 232}, {"fields": {"codename": "add_client", "name": "Can add client", "content_type": 78}, "model": "auth.permission", "pk": 233}, {"fields": {"codename": "change_client", "name": "Can change client", "content_type": 78}, "model": "auth.permission", "pk": 234}, {"fields": {"codename": "delete_client", "name": "Can delete client", "content_type": 78}, "model": "auth.permission", "pk": 235}, {"fields": {"codename": "add_grant", "name": "Can add grant", "content_type": 79}, "model": "auth.permission", "pk": 236}, {"fields": {"codename": "change_grant", "name": "Can change grant", "content_type": 79}, "model": "auth.permission", "pk": 237}, {"fields": {"codename": "delete_grant", "name": "Can delete grant", "content_type": 79}, "model": "auth.permission", "pk": 238}, {"fields": {"codename": "add_accesstoken", "name": "Can add access token", "content_type": 80}, "model": "auth.permission", "pk": 239}, {"fields": {"codename": "change_accesstoken", "name": "Can change access token", "content_type": 80}, "model": "auth.permission", "pk": 240}, {"fields": {"codename": "delete_accesstoken", "name": "Can delete access token", "content_type": 80}, "model": "auth.permission", "pk": 241}, {"fields": {"codename": "add_refreshtoken", "name": "Can add refresh token", "content_type": 81}, "model": "auth.permission", "pk": 242}, {"fields": {"codename": "change_refreshtoken", "name": "Can change refresh token", "content_type": 81}, "model": "auth.permission", "pk": 243}, {"fields": {"codename": "delete_refreshtoken", "name": "Can delete refresh token", "content_type": 81}, "model": "auth.permission", "pk": 244}, {"fields": {"codename": "add_trustedclient", "name": "Can add trusted client", "content_type": 82}, "model": "auth.permission", "pk": 245}, {"fields": {"codename": "change_trustedclient", "name": "Can change trusted client", "content_type": 82}, "model": "auth.permission", "pk": 246}, {"fields": {"codename": "delete_trustedclient", "name": "Can delete trusted client", "content_type": 82}, "model": "auth.permission", "pk": 247}, {"fields": {"codename": "add_oauth2providerconfig", "name": "Can add Provider Configuration (OAuth)", "content_type": 83}, "model": "auth.permission", "pk": 248}, {"fields": {"codename": "change_oauth2providerconfig", "name": "Can change Provider Configuration (OAuth)", "content_type": 83}, "model": "auth.permission", "pk": 249}, {"fields": {"codename": "delete_oauth2providerconfig", "name": "Can delete Provider Configuration (OAuth)", "content_type": 83}, "model": "auth.permission", "pk": 250}, {"fields": {"codename": "add_samlproviderconfig", "name": "Can add Provider Configuration (SAML IdP)", "content_type": 84}, "model": "auth.permission", "pk": 251}, {"fields": {"codename": "change_samlproviderconfig", "name": "Can change Provider Configuration (SAML IdP)", "content_type": 84}, "model": "auth.permission", "pk": 252}, {"fields": {"codename": "delete_samlproviderconfig", "name": "Can delete Provider Configuration (SAML IdP)", "content_type": 84}, "model": "auth.permission", "pk": 253}, {"fields": {"codename": "add_samlconfiguration", "name": "Can add SAML Configuration", "content_type": 85}, "model": "auth.permission", "pk": 254}, {"fields": {"codename": "change_samlconfiguration", "name": "Can change SAML Configuration", "content_type": 85}, "model": "auth.permission", "pk": 255}, {"fields": {"codename": "delete_samlconfiguration", "name": "Can delete SAML Configuration", "content_type": 85}, "model": "auth.permission", "pk": 256}, {"fields": {"codename": "add_samlproviderdata", "name": "Can add SAML Provider Data", "content_type": 86}, "model": "auth.permission", "pk": 257}, {"fields": {"codename": "change_samlproviderdata", "name": "Can change SAML Provider Data", "content_type": 86}, "model": "auth.permission", "pk": 258}, {"fields": {"codename": "delete_samlproviderdata", "name": "Can delete SAML Provider Data", "content_type": 86}, "model": "auth.permission", "pk": 259}, {"fields": {"codename": "add_ltiproviderconfig", "name": "Can add Provider Configuration (LTI)", "content_type": 87}, "model": "auth.permission", "pk": 260}, {"fields": {"codename": "change_ltiproviderconfig", "name": "Can change Provider Configuration (LTI)", "content_type": 87}, "model": "auth.permission", "pk": 261}, {"fields": {"codename": "delete_ltiproviderconfig", "name": "Can delete Provider Configuration (LTI)", "content_type": 87}, "model": "auth.permission", "pk": 262}, {"fields": {"codename": "add_providerapipermissions", "name": "Can add Provider API Permission", "content_type": 88}, "model": "auth.permission", "pk": 263}, {"fields": {"codename": "change_providerapipermissions", "name": "Can change Provider API Permission", "content_type": 88}, "model": "auth.permission", "pk": 264}, {"fields": {"codename": "delete_providerapipermissions", "name": "Can delete Provider API Permission", "content_type": 88}, "model": "auth.permission", "pk": 265}, {"fields": {"codename": "add_nonce", "name": "Can add nonce", "content_type": 89}, "model": "auth.permission", "pk": 266}, {"fields": {"codename": "change_nonce", "name": "Can change nonce", "content_type": 89}, "model": "auth.permission", "pk": 267}, {"fields": {"codename": "delete_nonce", "name": "Can delete nonce", "content_type": 89}, "model": "auth.permission", "pk": 268}, {"fields": {"codename": "add_scope", "name": "Can add scope", "content_type": 90}, "model": "auth.permission", "pk": 269}, {"fields": {"codename": "change_scope", "name": "Can change scope", "content_type": 90}, "model": "auth.permission", "pk": 270}, {"fields": {"codename": "delete_scope", "name": "Can delete scope", "content_type": 90}, "model": "auth.permission", "pk": 271}, {"fields": {"codename": "add_resource", "name": "Can add resource", "content_type": 90}, "model": "auth.permission", "pk": 272}, {"fields": {"codename": "change_resource", "name": "Can change resource", "content_type": 90}, "model": "auth.permission", "pk": 273}, {"fields": {"codename": "delete_resource", "name": "Can delete resource", "content_type": 90}, "model": "auth.permission", "pk": 274}, {"fields": {"codename": "add_consumer", "name": "Can add consumer", "content_type": 91}, "model": "auth.permission", "pk": 275}, {"fields": {"codename": "change_consumer", "name": "Can change consumer", "content_type": 91}, "model": "auth.permission", "pk": 276}, {"fields": {"codename": "delete_consumer", "name": "Can delete consumer", "content_type": 91}, "model": "auth.permission", "pk": 277}, {"fields": {"codename": "add_token", "name": "Can add token", "content_type": 92}, "model": "auth.permission", "pk": 278}, {"fields": {"codename": "change_token", "name": "Can change token", "content_type": 92}, "model": "auth.permission", "pk": 279}, {"fields": {"codename": "delete_token", "name": "Can delete token", "content_type": 92}, "model": "auth.permission", "pk": 280}, {"fields": {"codename": "add_article", "name": "Can add article", "content_type": 94}, "model": "auth.permission", "pk": 281}, {"fields": {"codename": "change_article", "name": "Can change article", "content_type": 94}, "model": "auth.permission", "pk": 282}, {"fields": {"codename": "delete_article", "name": "Can delete article", "content_type": 94}, "model": "auth.permission", "pk": 283}, {"fields": {"codename": "moderate", "name": "Can edit all articles and lock/unlock/restore", "content_type": 94}, "model": "auth.permission", "pk": 284}, {"fields": {"codename": "assign", "name": "Can change ownership of any article", "content_type": 94}, "model": "auth.permission", "pk": 285}, {"fields": {"codename": "grant", "name": "Can assign permissions to other users", "content_type": 94}, "model": "auth.permission", "pk": 286}, {"fields": {"codename": "add_articleforobject", "name": "Can add Article for object", "content_type": 95}, "model": "auth.permission", "pk": 287}, {"fields": {"codename": "change_articleforobject", "name": "Can change Article for object", "content_type": 95}, "model": "auth.permission", "pk": 288}, {"fields": {"codename": "delete_articleforobject", "name": "Can delete Article for object", "content_type": 95}, "model": "auth.permission", "pk": 289}, {"fields": {"codename": "add_articlerevision", "name": "Can add article revision", "content_type": 96}, "model": "auth.permission", "pk": 290}, {"fields": {"codename": "change_articlerevision", "name": "Can change article revision", "content_type": 96}, "model": "auth.permission", "pk": 291}, {"fields": {"codename": "delete_articlerevision", "name": "Can delete article revision", "content_type": 96}, "model": "auth.permission", "pk": 292}, {"fields": {"codename": "add_urlpath", "name": "Can add URL path", "content_type": 97}, "model": "auth.permission", "pk": 293}, {"fields": {"codename": "change_urlpath", "name": "Can change URL path", "content_type": 97}, "model": "auth.permission", "pk": 294}, {"fields": {"codename": "delete_urlpath", "name": "Can delete URL path", "content_type": 97}, "model": "auth.permission", "pk": 295}, {"fields": {"codename": "add_articleplugin", "name": "Can add article plugin", "content_type": 98}, "model": "auth.permission", "pk": 296}, {"fields": {"codename": "change_articleplugin", "name": "Can change article plugin", "content_type": 98}, "model": "auth.permission", "pk": 297}, {"fields": {"codename": "delete_articleplugin", "name": "Can delete article plugin", "content_type": 98}, "model": "auth.permission", "pk": 298}, {"fields": {"codename": "add_reusableplugin", "name": "Can add reusable plugin", "content_type": 99}, "model": "auth.permission", "pk": 299}, {"fields": {"codename": "change_reusableplugin", "name": "Can change reusable plugin", "content_type": 99}, "model": "auth.permission", "pk": 300}, {"fields": {"codename": "delete_reusableplugin", "name": "Can delete reusable plugin", "content_type": 99}, "model": "auth.permission", "pk": 301}, {"fields": {"codename": "add_simpleplugin", "name": "Can add simple plugin", "content_type": 100}, "model": "auth.permission", "pk": 302}, {"fields": {"codename": "change_simpleplugin", "name": "Can change simple plugin", "content_type": 100}, "model": "auth.permission", "pk": 303}, {"fields": {"codename": "delete_simpleplugin", "name": "Can delete simple plugin", "content_type": 100}, "model": "auth.permission", "pk": 304}, {"fields": {"codename": "add_revisionplugin", "name": "Can add revision plugin", "content_type": 101}, "model": "auth.permission", "pk": 305}, {"fields": {"codename": "change_revisionplugin", "name": "Can change revision plugin", "content_type": 101}, "model": "auth.permission", "pk": 306}, {"fields": {"codename": "delete_revisionplugin", "name": "Can delete revision plugin", "content_type": 101}, "model": "auth.permission", "pk": 307}, {"fields": {"codename": "add_revisionpluginrevision", "name": "Can add revision plugin revision", "content_type": 102}, "model": "auth.permission", "pk": 308}, {"fields": {"codename": "change_revisionpluginrevision", "name": "Can change revision plugin revision", "content_type": 102}, "model": "auth.permission", "pk": 309}, {"fields": {"codename": "delete_revisionpluginrevision", "name": "Can delete revision plugin revision", "content_type": 102}, "model": "auth.permission", "pk": 310}, {"fields": {"codename": "add_image", "name": "Can add image", "content_type": 103}, "model": "auth.permission", "pk": 311}, {"fields": {"codename": "change_image", "name": "Can change image", "content_type": 103}, "model": "auth.permission", "pk": 312}, {"fields": {"codename": "delete_image", "name": "Can delete image", "content_type": 103}, "model": "auth.permission", "pk": 313}, {"fields": {"codename": "add_imagerevision", "name": "Can add image revision", "content_type": 104}, "model": "auth.permission", "pk": 314}, {"fields": {"codename": "change_imagerevision", "name": "Can change image revision", "content_type": 104}, "model": "auth.permission", "pk": 315}, {"fields": {"codename": "delete_imagerevision", "name": "Can delete image revision", "content_type": 104}, "model": "auth.permission", "pk": 316}, {"fields": {"codename": "add_attachment", "name": "Can add attachment", "content_type": 105}, "model": "auth.permission", "pk": 317}, {"fields": {"codename": "change_attachment", "name": "Can change attachment", "content_type": 105}, "model": "auth.permission", "pk": 318}, {"fields": {"codename": "delete_attachment", "name": "Can delete attachment", "content_type": 105}, "model": "auth.permission", "pk": 319}, {"fields": {"codename": "add_attachmentrevision", "name": "Can add attachment revision", "content_type": 106}, "model": "auth.permission", "pk": 320}, {"fields": {"codename": "change_attachmentrevision", "name": "Can change attachment revision", "content_type": 106}, "model": "auth.permission", "pk": 321}, {"fields": {"codename": "delete_attachmentrevision", "name": "Can delete attachment revision", "content_type": 106}, "model": "auth.permission", "pk": 322}, {"fields": {"codename": "add_notificationtype", "name": "Can add type", "content_type": 107}, "model": "auth.permission", "pk": 323}, {"fields": {"codename": "change_notificationtype", "name": "Can change type", "content_type": 107}, "model": "auth.permission", "pk": 324}, {"fields": {"codename": "delete_notificationtype", "name": "Can delete type", "content_type": 107}, "model": "auth.permission", "pk": 325}, {"fields": {"codename": "add_settings", "name": "Can add settings", "content_type": 108}, "model": "auth.permission", "pk": 326}, {"fields": {"codename": "change_settings", "name": "Can change settings", "content_type": 108}, "model": "auth.permission", "pk": 327}, {"fields": {"codename": "delete_settings", "name": "Can delete settings", "content_type": 108}, "model": "auth.permission", "pk": 328}, {"fields": {"codename": "add_subscription", "name": "Can add subscription", "content_type": 109}, "model": "auth.permission", "pk": 329}, {"fields": {"codename": "change_subscription", "name": "Can change subscription", "content_type": 109}, "model": "auth.permission", "pk": 330}, {"fields": {"codename": "delete_subscription", "name": "Can delete subscription", "content_type": 109}, "model": "auth.permission", "pk": 331}, {"fields": {"codename": "add_notification", "name": "Can add notification", "content_type": 110}, "model": "auth.permission", "pk": 332}, {"fields": {"codename": "change_notification", "name": "Can change notification", "content_type": 110}, "model": "auth.permission", "pk": 333}, {"fields": {"codename": "delete_notification", "name": "Can delete notification", "content_type": 110}, "model": "auth.permission", "pk": 334}, {"fields": {"codename": "add_logentry", "name": "Can add log entry", "content_type": 111}, "model": "auth.permission", "pk": 335}, {"fields": {"codename": "change_logentry", "name": "Can change log entry", "content_type": 111}, "model": "auth.permission", "pk": 336}, {"fields": {"codename": "delete_logentry", "name": "Can delete log entry", "content_type": 111}, "model": "auth.permission", "pk": 337}, {"fields": {"codename": "add_role", "name": "Can add role", "content_type": 112}, "model": "auth.permission", "pk": 338}, {"fields": {"codename": "change_role", "name": "Can change role", "content_type": 112}, "model": "auth.permission", "pk": 339}, {"fields": {"codename": "delete_role", "name": "Can delete role", "content_type": 112}, "model": "auth.permission", "pk": 340}, {"fields": {"codename": "add_permission", "name": "Can add permission", "content_type": 113}, "model": "auth.permission", "pk": 341}, {"fields": {"codename": "change_permission", "name": "Can change permission", "content_type": 113}, "model": "auth.permission", "pk": 342}, {"fields": {"codename": "delete_permission", "name": "Can delete permission", "content_type": 113}, "model": "auth.permission", "pk": 343}, {"fields": {"codename": "add_note", "name": "Can add note", "content_type": 114}, "model": "auth.permission", "pk": 344}, {"fields": {"codename": "change_note", "name": "Can change note", "content_type": 114}, "model": "auth.permission", "pk": 345}, {"fields": {"codename": "delete_note", "name": "Can delete note", "content_type": 114}, "model": "auth.permission", "pk": 346}, {"fields": {"codename": "add_splashconfig", "name": "Can add splash config", "content_type": 115}, "model": "auth.permission", "pk": 347}, {"fields": {"codename": "change_splashconfig", "name": "Can change splash config", "content_type": 115}, "model": "auth.permission", "pk": 348}, {"fields": {"codename": "delete_splashconfig", "name": "Can delete splash config", "content_type": 115}, "model": "auth.permission", "pk": 349}, {"fields": {"codename": "add_userpreference", "name": "Can add user preference", "content_type": 116}, "model": "auth.permission", "pk": 350}, {"fields": {"codename": "change_userpreference", "name": "Can change user preference", "content_type": 116}, "model": "auth.permission", "pk": 351}, {"fields": {"codename": "delete_userpreference", "name": "Can delete user preference", "content_type": 116}, "model": "auth.permission", "pk": 352}, {"fields": {"codename": "add_usercoursetag", "name": "Can add user course tag", "content_type": 117}, "model": "auth.permission", "pk": 353}, {"fields": {"codename": "change_usercoursetag", "name": "Can change user course tag", "content_type": 117}, "model": "auth.permission", "pk": 354}, {"fields": {"codename": "delete_usercoursetag", "name": "Can delete user course tag", "content_type": 117}, "model": "auth.permission", "pk": 355}, {"fields": {"codename": "add_userorgtag", "name": "Can add user org tag", "content_type": 118}, "model": "auth.permission", "pk": 356}, {"fields": {"codename": "change_userorgtag", "name": "Can change user org tag", "content_type": 118}, "model": "auth.permission", "pk": 357}, {"fields": {"codename": "delete_userorgtag", "name": "Can delete user org tag", "content_type": 118}, "model": "auth.permission", "pk": 358}, {"fields": {"codename": "add_order", "name": "Can add order", "content_type": 119}, "model": "auth.permission", "pk": 359}, {"fields": {"codename": "change_order", "name": "Can change order", "content_type": 119}, "model": "auth.permission", "pk": 360}, {"fields": {"codename": "delete_order", "name": "Can delete order", "content_type": 119}, "model": "auth.permission", "pk": 361}, {"fields": {"codename": "add_orderitem", "name": "Can add order item", "content_type": 120}, "model": "auth.permission", "pk": 362}, {"fields": {"codename": "change_orderitem", "name": "Can change order item", "content_type": 120}, "model": "auth.permission", "pk": 363}, {"fields": {"codename": "delete_orderitem", "name": "Can delete order item", "content_type": 120}, "model": "auth.permission", "pk": 364}, {"fields": {"codename": "add_invoice", "name": "Can add invoice", "content_type": 121}, "model": "auth.permission", "pk": 365}, {"fields": {"codename": "change_invoice", "name": "Can change invoice", "content_type": 121}, "model": "auth.permission", "pk": 366}, {"fields": {"codename": "delete_invoice", "name": "Can delete invoice", "content_type": 121}, "model": "auth.permission", "pk": 367}, {"fields": {"codename": "add_invoicetransaction", "name": "Can add invoice transaction", "content_type": 122}, "model": "auth.permission", "pk": 368}, {"fields": {"codename": "change_invoicetransaction", "name": "Can change invoice transaction", "content_type": 122}, "model": "auth.permission", "pk": 369}, {"fields": {"codename": "delete_invoicetransaction", "name": "Can delete invoice transaction", "content_type": 122}, "model": "auth.permission", "pk": 370}, {"fields": {"codename": "add_invoiceitem", "name": "Can add invoice item", "content_type": 123}, "model": "auth.permission", "pk": 371}, {"fields": {"codename": "change_invoiceitem", "name": "Can change invoice item", "content_type": 123}, "model": "auth.permission", "pk": 372}, {"fields": {"codename": "delete_invoiceitem", "name": "Can delete invoice item", "content_type": 123}, "model": "auth.permission", "pk": 373}, {"fields": {"codename": "add_courseregistrationcodeinvoiceitem", "name": "Can add course registration code invoice item", "content_type": 124}, "model": "auth.permission", "pk": 374}, {"fields": {"codename": "change_courseregistrationcodeinvoiceitem", "name": "Can change course registration code invoice item", "content_type": 124}, "model": "auth.permission", "pk": 375}, {"fields": {"codename": "delete_courseregistrationcodeinvoiceitem", "name": "Can delete course registration code invoice item", "content_type": 124}, "model": "auth.permission", "pk": 376}, {"fields": {"codename": "add_invoicehistory", "name": "Can add invoice history", "content_type": 125}, "model": "auth.permission", "pk": 377}, {"fields": {"codename": "change_invoicehistory", "name": "Can change invoice history", "content_type": 125}, "model": "auth.permission", "pk": 378}, {"fields": {"codename": "delete_invoicehistory", "name": "Can delete invoice history", "content_type": 125}, "model": "auth.permission", "pk": 379}, {"fields": {"codename": "add_courseregistrationcode", "name": "Can add course registration code", "content_type": 126}, "model": "auth.permission", "pk": 380}, {"fields": {"codename": "change_courseregistrationcode", "name": "Can change course registration code", "content_type": 126}, "model": "auth.permission", "pk": 381}, {"fields": {"codename": "delete_courseregistrationcode", "name": "Can delete course registration code", "content_type": 126}, "model": "auth.permission", "pk": 382}, {"fields": {"codename": "add_registrationcoderedemption", "name": "Can add registration code redemption", "content_type": 127}, "model": "auth.permission", "pk": 383}, {"fields": {"codename": "change_registrationcoderedemption", "name": "Can change registration code redemption", "content_type": 127}, "model": "auth.permission", "pk": 384}, {"fields": {"codename": "delete_registrationcoderedemption", "name": "Can delete registration code redemption", "content_type": 127}, "model": "auth.permission", "pk": 385}, {"fields": {"codename": "add_coupon", "name": "Can add coupon", "content_type": 128}, "model": "auth.permission", "pk": 386}, {"fields": {"codename": "change_coupon", "name": "Can change coupon", "content_type": 128}, "model": "auth.permission", "pk": 387}, {"fields": {"codename": "delete_coupon", "name": "Can delete coupon", "content_type": 128}, "model": "auth.permission", "pk": 388}, {"fields": {"codename": "add_couponredemption", "name": "Can add coupon redemption", "content_type": 129}, "model": "auth.permission", "pk": 389}, {"fields": {"codename": "change_couponredemption", "name": "Can change coupon redemption", "content_type": 129}, "model": "auth.permission", "pk": 390}, {"fields": {"codename": "delete_couponredemption", "name": "Can delete coupon redemption", "content_type": 129}, "model": "auth.permission", "pk": 391}, {"fields": {"codename": "add_paidcourseregistration", "name": "Can add paid course registration", "content_type": 130}, "model": "auth.permission", "pk": 392}, {"fields": {"codename": "change_paidcourseregistration", "name": "Can change paid course registration", "content_type": 130}, "model": "auth.permission", "pk": 393}, {"fields": {"codename": "delete_paidcourseregistration", "name": "Can delete paid course registration", "content_type": 130}, "model": "auth.permission", "pk": 394}, {"fields": {"codename": "add_courseregcodeitem", "name": "Can add course reg code item", "content_type": 131}, "model": "auth.permission", "pk": 395}, {"fields": {"codename": "change_courseregcodeitem", "name": "Can change course reg code item", "content_type": 131}, "model": "auth.permission", "pk": 396}, {"fields": {"codename": "delete_courseregcodeitem", "name": "Can delete course reg code item", "content_type": 131}, "model": "auth.permission", "pk": 397}, {"fields": {"codename": "add_courseregcodeitemannotation", "name": "Can add course reg code item annotation", "content_type": 132}, "model": "auth.permission", "pk": 398}, {"fields": {"codename": "change_courseregcodeitemannotation", "name": "Can change course reg code item annotation", "content_type": 132}, "model": "auth.permission", "pk": 399}, {"fields": {"codename": "delete_courseregcodeitemannotation", "name": "Can delete course reg code item annotation", "content_type": 132}, "model": "auth.permission", "pk": 400}, {"fields": {"codename": "add_paidcourseregistrationannotation", "name": "Can add paid course registration annotation", "content_type": 133}, "model": "auth.permission", "pk": 401}, {"fields": {"codename": "change_paidcourseregistrationannotation", "name": "Can change paid course registration annotation", "content_type": 133}, "model": "auth.permission", "pk": 402}, {"fields": {"codename": "delete_paidcourseregistrationannotation", "name": "Can delete paid course registration annotation", "content_type": 133}, "model": "auth.permission", "pk": 403}, {"fields": {"codename": "add_certificateitem", "name": "Can add certificate item", "content_type": 134}, "model": "auth.permission", "pk": 404}, {"fields": {"codename": "change_certificateitem", "name": "Can change certificate item", "content_type": 134}, "model": "auth.permission", "pk": 405}, {"fields": {"codename": "delete_certificateitem", "name": "Can delete certificate item", "content_type": 134}, "model": "auth.permission", "pk": 406}, {"fields": {"codename": "add_donationconfiguration", "name": "Can add donation configuration", "content_type": 135}, "model": "auth.permission", "pk": 407}, {"fields": {"codename": "change_donationconfiguration", "name": "Can change donation configuration", "content_type": 135}, "model": "auth.permission", "pk": 408}, {"fields": {"codename": "delete_donationconfiguration", "name": "Can delete donation configuration", "content_type": 135}, "model": "auth.permission", "pk": 409}, {"fields": {"codename": "add_donation", "name": "Can add donation", "content_type": 136}, "model": "auth.permission", "pk": 410}, {"fields": {"codename": "change_donation", "name": "Can change donation", "content_type": 136}, "model": "auth.permission", "pk": 411}, {"fields": {"codename": "delete_donation", "name": "Can delete donation", "content_type": 136}, "model": "auth.permission", "pk": 412}, {"fields": {"codename": "add_coursemode", "name": "Can add course mode", "content_type": 137}, "model": "auth.permission", "pk": 413}, {"fields": {"codename": "change_coursemode", "name": "Can change course mode", "content_type": 137}, "model": "auth.permission", "pk": 414}, {"fields": {"codename": "delete_coursemode", "name": "Can delete course mode", "content_type": 137}, "model": "auth.permission", "pk": 415}, {"fields": {"codename": "add_coursemodesarchive", "name": "Can add course modes archive", "content_type": 138}, "model": "auth.permission", "pk": 416}, {"fields": {"codename": "change_coursemodesarchive", "name": "Can change course modes archive", "content_type": 138}, "model": "auth.permission", "pk": 417}, {"fields": {"codename": "delete_coursemodesarchive", "name": "Can delete course modes archive", "content_type": 138}, "model": "auth.permission", "pk": 418}, {"fields": {"codename": "add_coursemodeexpirationconfig", "name": "Can add course mode expiration config", "content_type": 139}, "model": "auth.permission", "pk": 419}, {"fields": {"codename": "change_coursemodeexpirationconfig", "name": "Can change course mode expiration config", "content_type": 139}, "model": "auth.permission", "pk": 420}, {"fields": {"codename": "delete_coursemodeexpirationconfig", "name": "Can delete course mode expiration config", "content_type": 139}, "model": "auth.permission", "pk": 421}, {"fields": {"codename": "add_softwaresecurephotoverification", "name": "Can add software secure photo verification", "content_type": 140}, "model": "auth.permission", "pk": 422}, {"fields": {"codename": "change_softwaresecurephotoverification", "name": "Can change software secure photo verification", "content_type": 140}, "model": "auth.permission", "pk": 423}, {"fields": {"codename": "delete_softwaresecurephotoverification", "name": "Can delete software secure photo verification", "content_type": 140}, "model": "auth.permission", "pk": 424}, {"fields": {"codename": "add_historicalverificationdeadline", "name": "Can add historical verification deadline", "content_type": 141}, "model": "auth.permission", "pk": 425}, {"fields": {"codename": "change_historicalverificationdeadline", "name": "Can change historical verification deadline", "content_type": 141}, "model": "auth.permission", "pk": 426}, {"fields": {"codename": "delete_historicalverificationdeadline", "name": "Can delete historical verification deadline", "content_type": 141}, "model": "auth.permission", "pk": 427}, {"fields": {"codename": "add_verificationdeadline", "name": "Can add verification deadline", "content_type": 142}, "model": "auth.permission", "pk": 428}, {"fields": {"codename": "change_verificationdeadline", "name": "Can change verification deadline", "content_type": 142}, "model": "auth.permission", "pk": 429}, {"fields": {"codename": "delete_verificationdeadline", "name": "Can delete verification deadline", "content_type": 142}, "model": "auth.permission", "pk": 430}, {"fields": {"codename": "add_verificationcheckpoint", "name": "Can add verification checkpoint", "content_type": 143}, "model": "auth.permission", "pk": 431}, {"fields": {"codename": "change_verificationcheckpoint", "name": "Can change verification checkpoint", "content_type": 143}, "model": "auth.permission", "pk": 432}, {"fields": {"codename": "delete_verificationcheckpoint", "name": "Can delete verification checkpoint", "content_type": 143}, "model": "auth.permission", "pk": 433}, {"fields": {"codename": "add_verificationstatus", "name": "Can add Verification Status", "content_type": 144}, "model": "auth.permission", "pk": 434}, {"fields": {"codename": "change_verificationstatus", "name": "Can change Verification Status", "content_type": 144}, "model": "auth.permission", "pk": 435}, {"fields": {"codename": "delete_verificationstatus", "name": "Can delete Verification Status", "content_type": 144}, "model": "auth.permission", "pk": 436}, {"fields": {"codename": "add_incoursereverificationconfiguration", "name": "Can add in course reverification configuration", "content_type": 145}, "model": "auth.permission", "pk": 437}, {"fields": {"codename": "change_incoursereverificationconfiguration", "name": "Can change in course reverification configuration", "content_type": 145}, "model": "auth.permission", "pk": 438}, {"fields": {"codename": "delete_incoursereverificationconfiguration", "name": "Can delete in course reverification configuration", "content_type": 145}, "model": "auth.permission", "pk": 439}, {"fields": {"codename": "add_icrvstatusemailsconfiguration", "name": "Can add icrv status emails configuration", "content_type": 146}, "model": "auth.permission", "pk": 440}, {"fields": {"codename": "change_icrvstatusemailsconfiguration", "name": "Can change icrv status emails configuration", "content_type": 146}, "model": "auth.permission", "pk": 441}, {"fields": {"codename": "delete_icrvstatusemailsconfiguration", "name": "Can delete icrv status emails configuration", "content_type": 146}, "model": "auth.permission", "pk": 442}, {"fields": {"codename": "add_skippedreverification", "name": "Can add skipped reverification", "content_type": 147}, "model": "auth.permission", "pk": 443}, {"fields": {"codename": "change_skippedreverification", "name": "Can change skipped reverification", "content_type": 147}, "model": "auth.permission", "pk": 444}, {"fields": {"codename": "delete_skippedreverification", "name": "Can delete skipped reverification", "content_type": 147}, "model": "auth.permission", "pk": 445}, {"fields": {"codename": "add_darklangconfig", "name": "Can add dark lang config", "content_type": 148}, "model": "auth.permission", "pk": 446}, {"fields": {"codename": "change_darklangconfig", "name": "Can change dark lang config", "content_type": 148}, "model": "auth.permission", "pk": 447}, {"fields": {"codename": "delete_darklangconfig", "name": "Can delete dark lang config", "content_type": 148}, "model": "auth.permission", "pk": 448}, {"fields": {"codename": "add_microsite", "name": "Can add microsite", "content_type": 149}, "model": "auth.permission", "pk": 449}, {"fields": {"codename": "change_microsite", "name": "Can change microsite", "content_type": 149}, "model": "auth.permission", "pk": 450}, {"fields": {"codename": "delete_microsite", "name": "Can delete microsite", "content_type": 149}, "model": "auth.permission", "pk": 451}, {"fields": {"codename": "add_micrositehistory", "name": "Can add microsite history", "content_type": 150}, "model": "auth.permission", "pk": 452}, {"fields": {"codename": "change_micrositehistory", "name": "Can change microsite history", "content_type": 150}, "model": "auth.permission", "pk": 453}, {"fields": {"codename": "delete_micrositehistory", "name": "Can delete microsite history", "content_type": 150}, "model": "auth.permission", "pk": 454}, {"fields": {"codename": "add_historicalmicrositeorganizationmapping", "name": "Can add historical microsite organization mapping", "content_type": 151}, "model": "auth.permission", "pk": 455}, {"fields": {"codename": "change_historicalmicrositeorganizationmapping", "name": "Can change historical microsite organization mapping", "content_type": 151}, "model": "auth.permission", "pk": 456}, {"fields": {"codename": "delete_historicalmicrositeorganizationmapping", "name": "Can delete historical microsite organization mapping", "content_type": 151}, "model": "auth.permission", "pk": 457}, {"fields": {"codename": "add_micrositeorganizationmapping", "name": "Can add microsite organization mapping", "content_type": 152}, "model": "auth.permission", "pk": 458}, {"fields": {"codename": "change_micrositeorganizationmapping", "name": "Can change microsite organization mapping", "content_type": 152}, "model": "auth.permission", "pk": 459}, {"fields": {"codename": "delete_micrositeorganizationmapping", "name": "Can delete microsite organization mapping", "content_type": 152}, "model": "auth.permission", "pk": 460}, {"fields": {"codename": "add_historicalmicrositetemplate", "name": "Can add historical microsite template", "content_type": 153}, "model": "auth.permission", "pk": 461}, {"fields": {"codename": "change_historicalmicrositetemplate", "name": "Can change historical microsite template", "content_type": 153}, "model": "auth.permission", "pk": 462}, {"fields": {"codename": "delete_historicalmicrositetemplate", "name": "Can delete historical microsite template", "content_type": 153}, "model": "auth.permission", "pk": 463}, {"fields": {"codename": "add_micrositetemplate", "name": "Can add microsite template", "content_type": 154}, "model": "auth.permission", "pk": 464}, {"fields": {"codename": "change_micrositetemplate", "name": "Can change microsite template", "content_type": 154}, "model": "auth.permission", "pk": 465}, {"fields": {"codename": "delete_micrositetemplate", "name": "Can delete microsite template", "content_type": 154}, "model": "auth.permission", "pk": 466}, {"fields": {"codename": "add_whitelistedrssurl", "name": "Can add whitelisted rss url", "content_type": 155}, "model": "auth.permission", "pk": 467}, {"fields": {"codename": "change_whitelistedrssurl", "name": "Can change whitelisted rss url", "content_type": 155}, "model": "auth.permission", "pk": 468}, {"fields": {"codename": "delete_whitelistedrssurl", "name": "Can delete whitelisted rss url", "content_type": 155}, "model": "auth.permission", "pk": 469}, {"fields": {"codename": "add_embargoedcourse", "name": "Can add embargoed course", "content_type": 156}, "model": "auth.permission", "pk": 470}, {"fields": {"codename": "change_embargoedcourse", "name": "Can change embargoed course", "content_type": 156}, "model": "auth.permission", "pk": 471}, {"fields": {"codename": "delete_embargoedcourse", "name": "Can delete embargoed course", "content_type": 156}, "model": "auth.permission", "pk": 472}, {"fields": {"codename": "add_embargoedstate", "name": "Can add embargoed state", "content_type": 157}, "model": "auth.permission", "pk": 473}, {"fields": {"codename": "change_embargoedstate", "name": "Can change embargoed state", "content_type": 157}, "model": "auth.permission", "pk": 474}, {"fields": {"codename": "delete_embargoedstate", "name": "Can delete embargoed state", "content_type": 157}, "model": "auth.permission", "pk": 475}, {"fields": {"codename": "add_restrictedcourse", "name": "Can add restricted course", "content_type": 158}, "model": "auth.permission", "pk": 476}, {"fields": {"codename": "change_restrictedcourse", "name": "Can change restricted course", "content_type": 158}, "model": "auth.permission", "pk": 477}, {"fields": {"codename": "delete_restrictedcourse", "name": "Can delete restricted course", "content_type": 158}, "model": "auth.permission", "pk": 478}, {"fields": {"codename": "add_country", "name": "Can add country", "content_type": 159}, "model": "auth.permission", "pk": 479}, {"fields": {"codename": "change_country", "name": "Can change country", "content_type": 159}, "model": "auth.permission", "pk": 480}, {"fields": {"codename": "delete_country", "name": "Can delete country", "content_type": 159}, "model": "auth.permission", "pk": 481}, {"fields": {"codename": "add_countryaccessrule", "name": "Can add country access rule", "content_type": 160}, "model": "auth.permission", "pk": 482}, {"fields": {"codename": "change_countryaccessrule", "name": "Can change country access rule", "content_type": 160}, "model": "auth.permission", "pk": 483}, {"fields": {"codename": "delete_countryaccessrule", "name": "Can delete country access rule", "content_type": 160}, "model": "auth.permission", "pk": 484}, {"fields": {"codename": "add_courseaccessrulehistory", "name": "Can add course access rule history", "content_type": 161}, "model": "auth.permission", "pk": 485}, {"fields": {"codename": "change_courseaccessrulehistory", "name": "Can change course access rule history", "content_type": 161}, "model": "auth.permission", "pk": 486}, {"fields": {"codename": "delete_courseaccessrulehistory", "name": "Can delete course access rule history", "content_type": 161}, "model": "auth.permission", "pk": 487}, {"fields": {"codename": "add_ipfilter", "name": "Can add ip filter", "content_type": 162}, "model": "auth.permission", "pk": 488}, {"fields": {"codename": "change_ipfilter", "name": "Can change ip filter", "content_type": 162}, "model": "auth.permission", "pk": 489}, {"fields": {"codename": "delete_ipfilter", "name": "Can delete ip filter", "content_type": 162}, "model": "auth.permission", "pk": 490}, {"fields": {"codename": "add_coursererunstate", "name": "Can add course rerun state", "content_type": 163}, "model": "auth.permission", "pk": 491}, {"fields": {"codename": "change_coursererunstate", "name": "Can change course rerun state", "content_type": 163}, "model": "auth.permission", "pk": 492}, {"fields": {"codename": "delete_coursererunstate", "name": "Can delete course rerun state", "content_type": 163}, "model": "auth.permission", "pk": 493}, {"fields": {"codename": "add_mobileapiconfig", "name": "Can add mobile api config", "content_type": 164}, "model": "auth.permission", "pk": 494}, {"fields": {"codename": "change_mobileapiconfig", "name": "Can change mobile api config", "content_type": 164}, "model": "auth.permission", "pk": 495}, {"fields": {"codename": "delete_mobileapiconfig", "name": "Can delete mobile api config", "content_type": 164}, "model": "auth.permission", "pk": 496}, {"fields": {"codename": "add_usersocialauth", "name": "Can add user social auth", "content_type": 165}, "model": "auth.permission", "pk": 497}, {"fields": {"codename": "change_usersocialauth", "name": "Can change user social auth", "content_type": 165}, "model": "auth.permission", "pk": 498}, {"fields": {"codename": "delete_usersocialauth", "name": "Can delete user social auth", "content_type": 165}, "model": "auth.permission", "pk": 499}, {"fields": {"codename": "add_nonce", "name": "Can add nonce", "content_type": 166}, "model": "auth.permission", "pk": 500}, {"fields": {"codename": "change_nonce", "name": "Can change nonce", "content_type": 166}, "model": "auth.permission", "pk": 501}, {"fields": {"codename": "delete_nonce", "name": "Can delete nonce", "content_type": 166}, "model": "auth.permission", "pk": 502}, {"fields": {"codename": "add_association", "name": "Can add association", "content_type": 167}, "model": "auth.permission", "pk": 503}, {"fields": {"codename": "change_association", "name": "Can change association", "content_type": 167}, "model": "auth.permission", "pk": 504}, {"fields": {"codename": "delete_association", "name": "Can delete association", "content_type": 167}, "model": "auth.permission", "pk": 505}, {"fields": {"codename": "add_code", "name": "Can add code", "content_type": 168}, "model": "auth.permission", "pk": 506}, {"fields": {"codename": "change_code", "name": "Can change code", "content_type": 168}, "model": "auth.permission", "pk": 507}, {"fields": {"codename": "delete_code", "name": "Can delete code", "content_type": 168}, "model": "auth.permission", "pk": 508}, {"fields": {"codename": "add_surveyform", "name": "Can add survey form", "content_type": 169}, "model": "auth.permission", "pk": 509}, {"fields": {"codename": "change_surveyform", "name": "Can change survey form", "content_type": 169}, "model": "auth.permission", "pk": 510}, {"fields": {"codename": "delete_surveyform", "name": "Can delete survey form", "content_type": 169}, "model": "auth.permission", "pk": 511}, {"fields": {"codename": "add_surveyanswer", "name": "Can add survey answer", "content_type": 170}, "model": "auth.permission", "pk": 512}, {"fields": {"codename": "change_surveyanswer", "name": "Can change survey answer", "content_type": 170}, "model": "auth.permission", "pk": 513}, {"fields": {"codename": "delete_surveyanswer", "name": "Can delete survey answer", "content_type": 170}, "model": "auth.permission", "pk": 514}, {"fields": {"codename": "add_xblockasidesconfig", "name": "Can add x block asides config", "content_type": 171}, "model": "auth.permission", "pk": 515}, {"fields": {"codename": "change_xblockasidesconfig", "name": "Can change x block asides config", "content_type": 171}, "model": "auth.permission", "pk": 516}, {"fields": {"codename": "delete_xblockasidesconfig", "name": "Can delete x block asides config", "content_type": 171}, "model": "auth.permission", "pk": 517}, {"fields": {"codename": "add_courseoverview", "name": "Can add course overview", "content_type": 172}, "model": "auth.permission", "pk": 518}, {"fields": {"codename": "change_courseoverview", "name": "Can change course overview", "content_type": 172}, "model": "auth.permission", "pk": 519}, {"fields": {"codename": "delete_courseoverview", "name": "Can delete course overview", "content_type": 172}, "model": "auth.permission", "pk": 520}, {"fields": {"codename": "add_courseoverviewtab", "name": "Can add course overview tab", "content_type": 173}, "model": "auth.permission", "pk": 521}, {"fields": {"codename": "change_courseoverviewtab", "name": "Can change course overview tab", "content_type": 173}, "model": "auth.permission", "pk": 522}, {"fields": {"codename": "delete_courseoverviewtab", "name": "Can delete course overview tab", "content_type": 173}, "model": "auth.permission", "pk": 523}, {"fields": {"codename": "add_courseoverviewimageset", "name": "Can add course overview image set", "content_type": 174}, "model": "auth.permission", "pk": 524}, {"fields": {"codename": "change_courseoverviewimageset", "name": "Can change course overview image set", "content_type": 174}, "model": "auth.permission", "pk": 525}, {"fields": {"codename": "delete_courseoverviewimageset", "name": "Can delete course overview image set", "content_type": 174}, "model": "auth.permission", "pk": 526}, {"fields": {"codename": "add_courseoverviewimageconfig", "name": "Can add course overview image config", "content_type": 175}, "model": "auth.permission", "pk": 527}, {"fields": {"codename": "change_courseoverviewimageconfig", "name": "Can change course overview image config", "content_type": 175}, "model": "auth.permission", "pk": 528}, {"fields": {"codename": "delete_courseoverviewimageconfig", "name": "Can delete course overview image config", "content_type": 175}, "model": "auth.permission", "pk": 529}, {"fields": {"codename": "add_coursestructure", "name": "Can add course structure", "content_type": 176}, "model": "auth.permission", "pk": 530}, {"fields": {"codename": "change_coursestructure", "name": "Can change course structure", "content_type": 176}, "model": "auth.permission", "pk": 531}, {"fields": {"codename": "delete_coursestructure", "name": "Can delete course structure", "content_type": 176}, "model": "auth.permission", "pk": 532}, {"fields": {"codename": "add_corsmodel", "name": "Can add cors model", "content_type": 177}, "model": "auth.permission", "pk": 533}, {"fields": {"codename": "change_corsmodel", "name": "Can change cors model", "content_type": 177}, "model": "auth.permission", "pk": 534}, {"fields": {"codename": "delete_corsmodel", "name": "Can delete cors model", "content_type": 177}, "model": "auth.permission", "pk": 535}, {"fields": {"codename": "add_xdomainproxyconfiguration", "name": "Can add x domain proxy configuration", "content_type": 178}, "model": "auth.permission", "pk": 536}, {"fields": {"codename": "change_xdomainproxyconfiguration", "name": "Can change x domain proxy configuration", "content_type": 178}, "model": "auth.permission", "pk": 537}, {"fields": {"codename": "delete_xdomainproxyconfiguration", "name": "Can delete x domain proxy configuration", "content_type": 178}, "model": "auth.permission", "pk": 538}, {"fields": {"codename": "add_creditprovider", "name": "Can add credit provider", "content_type": 179}, "model": "auth.permission", "pk": 539}, {"fields": {"codename": "change_creditprovider", "name": "Can change credit provider", "content_type": 179}, "model": "auth.permission", "pk": 540}, {"fields": {"codename": "delete_creditprovider", "name": "Can delete credit provider", "content_type": 179}, "model": "auth.permission", "pk": 541}, {"fields": {"codename": "add_creditcourse", "name": "Can add credit course", "content_type": 180}, "model": "auth.permission", "pk": 542}, {"fields": {"codename": "change_creditcourse", "name": "Can change credit course", "content_type": 180}, "model": "auth.permission", "pk": 543}, {"fields": {"codename": "delete_creditcourse", "name": "Can delete credit course", "content_type": 180}, "model": "auth.permission", "pk": 544}, {"fields": {"codename": "add_creditrequirement", "name": "Can add credit requirement", "content_type": 181}, "model": "auth.permission", "pk": 545}, {"fields": {"codename": "change_creditrequirement", "name": "Can change credit requirement", "content_type": 181}, "model": "auth.permission", "pk": 546}, {"fields": {"codename": "delete_creditrequirement", "name": "Can delete credit requirement", "content_type": 181}, "model": "auth.permission", "pk": 547}, {"fields": {"codename": "add_historicalcreditrequirementstatus", "name": "Can add historical credit requirement status", "content_type": 182}, "model": "auth.permission", "pk": 548}, {"fields": {"codename": "change_historicalcreditrequirementstatus", "name": "Can change historical credit requirement status", "content_type": 182}, "model": "auth.permission", "pk": 549}, {"fields": {"codename": "delete_historicalcreditrequirementstatus", "name": "Can delete historical credit requirement status", "content_type": 182}, "model": "auth.permission", "pk": 550}, {"fields": {"codename": "add_creditrequirementstatus", "name": "Can add credit requirement status", "content_type": 183}, "model": "auth.permission", "pk": 551}, {"fields": {"codename": "change_creditrequirementstatus", "name": "Can change credit requirement status", "content_type": 183}, "model": "auth.permission", "pk": 552}, {"fields": {"codename": "delete_creditrequirementstatus", "name": "Can delete credit requirement status", "content_type": 183}, "model": "auth.permission", "pk": 553}, {"fields": {"codename": "add_crediteligibility", "name": "Can add credit eligibility", "content_type": 184}, "model": "auth.permission", "pk": 554}, {"fields": {"codename": "change_crediteligibility", "name": "Can change credit eligibility", "content_type": 184}, "model": "auth.permission", "pk": 555}, {"fields": {"codename": "delete_crediteligibility", "name": "Can delete credit eligibility", "content_type": 184}, "model": "auth.permission", "pk": 556}, {"fields": {"codename": "add_historicalcreditrequest", "name": "Can add historical credit request", "content_type": 185}, "model": "auth.permission", "pk": 557}, {"fields": {"codename": "change_historicalcreditrequest", "name": "Can change historical credit request", "content_type": 185}, "model": "auth.permission", "pk": 558}, {"fields": {"codename": "delete_historicalcreditrequest", "name": "Can delete historical credit request", "content_type": 185}, "model": "auth.permission", "pk": 559}, {"fields": {"codename": "add_creditrequest", "name": "Can add credit request", "content_type": 186}, "model": "auth.permission", "pk": 560}, {"fields": {"codename": "change_creditrequest", "name": "Can change credit request", "content_type": 186}, "model": "auth.permission", "pk": 561}, {"fields": {"codename": "delete_creditrequest", "name": "Can delete credit request", "content_type": 186}, "model": "auth.permission", "pk": 562}, {"fields": {"codename": "add_courseteam", "name": "Can add course team", "content_type": 187}, "model": "auth.permission", "pk": 563}, {"fields": {"codename": "change_courseteam", "name": "Can change course team", "content_type": 187}, "model": "auth.permission", "pk": 564}, {"fields": {"codename": "delete_courseteam", "name": "Can delete course team", "content_type": 187}, "model": "auth.permission", "pk": 565}, {"fields": {"codename": "add_courseteammembership", "name": "Can add course team membership", "content_type": 188}, "model": "auth.permission", "pk": 566}, {"fields": {"codename": "change_courseteammembership", "name": "Can change course team membership", "content_type": 188}, "model": "auth.permission", "pk": 567}, {"fields": {"codename": "delete_courseteammembership", "name": "Can delete course team membership", "content_type": 188}, "model": "auth.permission", "pk": 568}, {"fields": {"codename": "add_xblockdisableconfig", "name": "Can add x block disable config", "content_type": 189}, "model": "auth.permission", "pk": 569}, {"fields": {"codename": "change_xblockdisableconfig", "name": "Can change x block disable config", "content_type": 189}, "model": "auth.permission", "pk": 570}, {"fields": {"codename": "delete_xblockdisableconfig", "name": "Can delete x block disable config", "content_type": 189}, "model": "auth.permission", "pk": 571}, {"fields": {"codename": "add_bookmark", "name": "Can add bookmark", "content_type": 190}, "model": "auth.permission", "pk": 572}, {"fields": {"codename": "change_bookmark", "name": "Can change bookmark", "content_type": 190}, "model": "auth.permission", "pk": 573}, {"fields": {"codename": "delete_bookmark", "name": "Can delete bookmark", "content_type": 190}, "model": "auth.permission", "pk": 574}, {"fields": {"codename": "add_xblockcache", "name": "Can add x block cache", "content_type": 191}, "model": "auth.permission", "pk": 575}, {"fields": {"codename": "change_xblockcache", "name": "Can change x block cache", "content_type": 191}, "model": "auth.permission", "pk": 576}, {"fields": {"codename": "delete_xblockcache", "name": "Can delete x block cache", "content_type": 191}, "model": "auth.permission", "pk": 577}, {"fields": {"codename": "add_programsapiconfig", "name": "Can add programs api config", "content_type": 192}, "model": "auth.permission", "pk": 578}, {"fields": {"codename": "change_programsapiconfig", "name": "Can change programs api config", "content_type": 192}, "model": "auth.permission", "pk": 579}, {"fields": {"codename": "delete_programsapiconfig", "name": "Can delete programs api config", "content_type": 192}, "model": "auth.permission", "pk": 580}, {"fields": {"codename": "add_selfpacedconfiguration", "name": "Can add self paced configuration", "content_type": 193}, "model": "auth.permission", "pk": 581}, {"fields": {"codename": "change_selfpacedconfiguration", "name": "Can change self paced configuration", "content_type": 193}, "model": "auth.permission", "pk": 582}, {"fields": {"codename": "delete_selfpacedconfiguration", "name": "Can delete self paced configuration", "content_type": 193}, "model": "auth.permission", "pk": 583}, {"fields": {"codename": "add_kvstore", "name": "Can add kv store", "content_type": 194}, "model": "auth.permission", "pk": 584}, {"fields": {"codename": "change_kvstore", "name": "Can change kv store", "content_type": 194}, "model": "auth.permission", "pk": 585}, {"fields": {"codename": "delete_kvstore", "name": "Can delete kv store", "content_type": 194}, "model": "auth.permission", "pk": 586}, {"fields": {"codename": "add_credentialsapiconfig", "name": "Can add credentials api config", "content_type": 195}, "model": "auth.permission", "pk": 587}, {"fields": {"codename": "change_credentialsapiconfig", "name": "Can change credentials api config", "content_type": 195}, "model": "auth.permission", "pk": 588}, {"fields": {"codename": "delete_credentialsapiconfig", "name": "Can delete credentials api config", "content_type": 195}, "model": "auth.permission", "pk": 589}, {"fields": {"codename": "add_answer", "name": "Can add answer", "content_type": 196}, "model": "auth.permission", "pk": 590}, {"fields": {"codename": "change_answer", "name": "Can change answer", "content_type": 196}, "model": "auth.permission", "pk": 591}, {"fields": {"codename": "delete_answer", "name": "Can delete answer", "content_type": 196}, "model": "auth.permission", "pk": 592}, {"fields": {"codename": "add_studentitem", "name": "Can add student item", "content_type": 197}, "model": "auth.permission", "pk": 593}, {"fields": {"codename": "change_studentitem", "name": "Can change student item", "content_type": 197}, "model": "auth.permission", "pk": 594}, {"fields": {"codename": "delete_studentitem", "name": "Can delete student item", "content_type": 197}, "model": "auth.permission", "pk": 595}, {"fields": {"codename": "add_submission", "name": "Can add submission", "content_type": 198}, "model": "auth.permission", "pk": 596}, {"fields": {"codename": "change_submission", "name": "Can change submission", "content_type": 198}, "model": "auth.permission", "pk": 597}, {"fields": {"codename": "delete_submission", "name": "Can delete submission", "content_type": 198}, "model": "auth.permission", "pk": 598}, {"fields": {"codename": "add_score", "name": "Can add score", "content_type": 199}, "model": "auth.permission", "pk": 599}, {"fields": {"codename": "change_score", "name": "Can change score", "content_type": 199}, "model": "auth.permission", "pk": 600}, {"fields": {"codename": "delete_score", "name": "Can delete score", "content_type": 199}, "model": "auth.permission", "pk": 601}, {"fields": {"codename": "add_scoresummary", "name": "Can add score summary", "content_type": 200}, "model": "auth.permission", "pk": 602}, {"fields": {"codename": "change_scoresummary", "name": "Can change score summary", "content_type": 200}, "model": "auth.permission", "pk": 603}, {"fields": {"codename": "delete_scoresummary", "name": "Can delete score summary", "content_type": 200}, "model": "auth.permission", "pk": 604}, {"fields": {"codename": "add_scoreannotation", "name": "Can add score annotation", "content_type": 201}, "model": "auth.permission", "pk": 605}, {"fields": {"codename": "change_scoreannotation", "name": "Can change score annotation", "content_type": 201}, "model": "auth.permission", "pk": 606}, {"fields": {"codename": "delete_scoreannotation", "name": "Can delete score annotation", "content_type": 201}, "model": "auth.permission", "pk": 607}, {"fields": {"codename": "add_rubric", "name": "Can add rubric", "content_type": 202}, "model": "auth.permission", "pk": 608}, {"fields": {"codename": "change_rubric", "name": "Can change rubric", "content_type": 202}, "model": "auth.permission", "pk": 609}, {"fields": {"codename": "delete_rubric", "name": "Can delete rubric", "content_type": 202}, "model": "auth.permission", "pk": 610}, {"fields": {"codename": "add_criterion", "name": "Can add criterion", "content_type": 203}, "model": "auth.permission", "pk": 611}, {"fields": {"codename": "change_criterion", "name": "Can change criterion", "content_type": 203}, "model": "auth.permission", "pk": 612}, {"fields": {"codename": "delete_criterion", "name": "Can delete criterion", "content_type": 203}, "model": "auth.permission", "pk": 613}, {"fields": {"codename": "add_criterionoption", "name": "Can add criterion option", "content_type": 204}, "model": "auth.permission", "pk": 614}, {"fields": {"codename": "change_criterionoption", "name": "Can change criterion option", "content_type": 204}, "model": "auth.permission", "pk": 615}, {"fields": {"codename": "delete_criterionoption", "name": "Can delete criterion option", "content_type": 204}, "model": "auth.permission", "pk": 616}, {"fields": {"codename": "add_assessment", "name": "Can add assessment", "content_type": 205}, "model": "auth.permission", "pk": 617}, {"fields": {"codename": "change_assessment", "name": "Can change assessment", "content_type": 205}, "model": "auth.permission", "pk": 618}, {"fields": {"codename": "delete_assessment", "name": "Can delete assessment", "content_type": 205}, "model": "auth.permission", "pk": 619}, {"fields": {"codename": "add_assessmentpart", "name": "Can add assessment part", "content_type": 206}, "model": "auth.permission", "pk": 620}, {"fields": {"codename": "change_assessmentpart", "name": "Can change assessment part", "content_type": 206}, "model": "auth.permission", "pk": 621}, {"fields": {"codename": "delete_assessmentpart", "name": "Can delete assessment part", "content_type": 206}, "model": "auth.permission", "pk": 622}, {"fields": {"codename": "add_assessmentfeedbackoption", "name": "Can add assessment feedback option", "content_type": 207}, "model": "auth.permission", "pk": 623}, {"fields": {"codename": "change_assessmentfeedbackoption", "name": "Can change assessment feedback option", "content_type": 207}, "model": "auth.permission", "pk": 624}, {"fields": {"codename": "delete_assessmentfeedbackoption", "name": "Can delete assessment feedback option", "content_type": 207}, "model": "auth.permission", "pk": 625}, {"fields": {"codename": "add_assessmentfeedback", "name": "Can add assessment feedback", "content_type": 208}, "model": "auth.permission", "pk": 626}, {"fields": {"codename": "change_assessmentfeedback", "name": "Can change assessment feedback", "content_type": 208}, "model": "auth.permission", "pk": 627}, {"fields": {"codename": "delete_assessmentfeedback", "name": "Can delete assessment feedback", "content_type": 208}, "model": "auth.permission", "pk": 628}, {"fields": {"codename": "add_peerworkflow", "name": "Can add peer workflow", "content_type": 209}, "model": "auth.permission", "pk": 629}, {"fields": {"codename": "change_peerworkflow", "name": "Can change peer workflow", "content_type": 209}, "model": "auth.permission", "pk": 630}, {"fields": {"codename": "delete_peerworkflow", "name": "Can delete peer workflow", "content_type": 209}, "model": "auth.permission", "pk": 631}, {"fields": {"codename": "add_peerworkflowitem", "name": "Can add peer workflow item", "content_type": 210}, "model": "auth.permission", "pk": 632}, {"fields": {"codename": "change_peerworkflowitem", "name": "Can change peer workflow item", "content_type": 210}, "model": "auth.permission", "pk": 633}, {"fields": {"codename": "delete_peerworkflowitem", "name": "Can delete peer workflow item", "content_type": 210}, "model": "auth.permission", "pk": 634}, {"fields": {"codename": "add_trainingexample", "name": "Can add training example", "content_type": 211}, "model": "auth.permission", "pk": 635}, {"fields": {"codename": "change_trainingexample", "name": "Can change training example", "content_type": 211}, "model": "auth.permission", "pk": 636}, {"fields": {"codename": "delete_trainingexample", "name": "Can delete training example", "content_type": 211}, "model": "auth.permission", "pk": 637}, {"fields": {"codename": "add_studenttrainingworkflow", "name": "Can add student training workflow", "content_type": 212}, "model": "auth.permission", "pk": 638}, {"fields": {"codename": "change_studenttrainingworkflow", "name": "Can change student training workflow", "content_type": 212}, "model": "auth.permission", "pk": 639}, {"fields": {"codename": "delete_studenttrainingworkflow", "name": "Can delete student training workflow", "content_type": 212}, "model": "auth.permission", "pk": 640}, {"fields": {"codename": "add_studenttrainingworkflowitem", "name": "Can add student training workflow item", "content_type": 213}, "model": "auth.permission", "pk": 641}, {"fields": {"codename": "change_studenttrainingworkflowitem", "name": "Can change student training workflow item", "content_type": 213}, "model": "auth.permission", "pk": 642}, {"fields": {"codename": "delete_studenttrainingworkflowitem", "name": "Can delete student training workflow item", "content_type": 213}, "model": "auth.permission", "pk": 643}, {"fields": {"codename": "add_aiclassifierset", "name": "Can add ai classifier set", "content_type": 214}, "model": "auth.permission", "pk": 644}, {"fields": {"codename": "change_aiclassifierset", "name": "Can change ai classifier set", "content_type": 214}, "model": "auth.permission", "pk": 645}, {"fields": {"codename": "delete_aiclassifierset", "name": "Can delete ai classifier set", "content_type": 214}, "model": "auth.permission", "pk": 646}, {"fields": {"codename": "add_aiclassifier", "name": "Can add ai classifier", "content_type": 215}, "model": "auth.permission", "pk": 647}, {"fields": {"codename": "change_aiclassifier", "name": "Can change ai classifier", "content_type": 215}, "model": "auth.permission", "pk": 648}, {"fields": {"codename": "delete_aiclassifier", "name": "Can delete ai classifier", "content_type": 215}, "model": "auth.permission", "pk": 649}, {"fields": {"codename": "add_aitrainingworkflow", "name": "Can add ai training workflow", "content_type": 216}, "model": "auth.permission", "pk": 650}, {"fields": {"codename": "change_aitrainingworkflow", "name": "Can change ai training workflow", "content_type": 216}, "model": "auth.permission", "pk": 651}, {"fields": {"codename": "delete_aitrainingworkflow", "name": "Can delete ai training workflow", "content_type": 216}, "model": "auth.permission", "pk": 652}, {"fields": {"codename": "add_aigradingworkflow", "name": "Can add ai grading workflow", "content_type": 217}, "model": "auth.permission", "pk": 653}, {"fields": {"codename": "change_aigradingworkflow", "name": "Can change ai grading workflow", "content_type": 217}, "model": "auth.permission", "pk": 654}, {"fields": {"codename": "delete_aigradingworkflow", "name": "Can delete ai grading workflow", "content_type": 217}, "model": "auth.permission", "pk": 655}, {"fields": {"codename": "add_staffworkflow", "name": "Can add staff workflow", "content_type": 218}, "model": "auth.permission", "pk": 656}, {"fields": {"codename": "change_staffworkflow", "name": "Can change staff workflow", "content_type": 218}, "model": "auth.permission", "pk": 657}, {"fields": {"codename": "delete_staffworkflow", "name": "Can delete staff workflow", "content_type": 218}, "model": "auth.permission", "pk": 658}, {"fields": {"codename": "add_assessmentworkflow", "name": "Can add assessment workflow", "content_type": 219}, "model": "auth.permission", "pk": 659}, {"fields": {"codename": "change_assessmentworkflow", "name": "Can change assessment workflow", "content_type": 219}, "model": "auth.permission", "pk": 660}, {"fields": {"codename": "delete_assessmentworkflow", "name": "Can delete assessment workflow", "content_type": 219}, "model": "auth.permission", "pk": 661}, {"fields": {"codename": "add_assessmentworkflowstep", "name": "Can add assessment workflow step", "content_type": 220}, "model": "auth.permission", "pk": 662}, {"fields": {"codename": "change_assessmentworkflowstep", "name": "Can change assessment workflow step", "content_type": 220}, "model": "auth.permission", "pk": 663}, {"fields": {"codename": "delete_assessmentworkflowstep", "name": "Can delete assessment workflow step", "content_type": 220}, "model": "auth.permission", "pk": 664}, {"fields": {"codename": "add_assessmentworkflowcancellation", "name": "Can add assessment workflow cancellation", "content_type": 221}, "model": "auth.permission", "pk": 665}, {"fields": {"codename": "change_assessmentworkflowcancellation", "name": "Can change assessment workflow cancellation", "content_type": 221}, "model": "auth.permission", "pk": 666}, {"fields": {"codename": "delete_assessmentworkflowcancellation", "name": "Can delete assessment workflow cancellation", "content_type": 221}, "model": "auth.permission", "pk": 667}, {"fields": {"codename": "add_profile", "name": "Can add profile", "content_type": 222}, "model": "auth.permission", "pk": 668}, {"fields": {"codename": "change_profile", "name": "Can change profile", "content_type": 222}, "model": "auth.permission", "pk": 669}, {"fields": {"codename": "delete_profile", "name": "Can delete profile", "content_type": 222}, "model": "auth.permission", "pk": 670}, {"fields": {"codename": "add_video", "name": "Can add video", "content_type": 223}, "model": "auth.permission", "pk": 671}, {"fields": {"codename": "change_video", "name": "Can change video", "content_type": 223}, "model": "auth.permission", "pk": 672}, {"fields": {"codename": "delete_video", "name": "Can delete video", "content_type": 223}, "model": "auth.permission", "pk": 673}, {"fields": {"codename": "add_coursevideo", "name": "Can add course video", "content_type": 224}, "model": "auth.permission", "pk": 674}, {"fields": {"codename": "change_coursevideo", "name": "Can change course video", "content_type": 224}, "model": "auth.permission", "pk": 675}, {"fields": {"codename": "delete_coursevideo", "name": "Can delete course video", "content_type": 224}, "model": "auth.permission", "pk": 676}, {"fields": {"codename": "add_encodedvideo", "name": "Can add encoded video", "content_type": 225}, "model": "auth.permission", "pk": 677}, {"fields": {"codename": "change_encodedvideo", "name": "Can change encoded video", "content_type": 225}, "model": "auth.permission", "pk": 678}, {"fields": {"codename": "delete_encodedvideo", "name": "Can delete encoded video", "content_type": 225}, "model": "auth.permission", "pk": 679}, {"fields": {"codename": "add_subtitle", "name": "Can add subtitle", "content_type": 226}, "model": "auth.permission", "pk": 680}, {"fields": {"codename": "change_subtitle", "name": "Can change subtitle", "content_type": 226}, "model": "auth.permission", "pk": 681}, {"fields": {"codename": "delete_subtitle", "name": "Can delete subtitle", "content_type": 226}, "model": "auth.permission", "pk": 682}, {"fields": {"codename": "add_milestone", "name": "Can add milestone", "content_type": 227}, "model": "auth.permission", "pk": 683}, {"fields": {"codename": "change_milestone", "name": "Can change milestone", "content_type": 227}, "model": "auth.permission", "pk": 684}, {"fields": {"codename": "delete_milestone", "name": "Can delete milestone", "content_type": 227}, "model": "auth.permission", "pk": 685}, {"fields": {"codename": "add_milestonerelationshiptype", "name": "Can add milestone relationship type", "content_type": 228}, "model": "auth.permission", "pk": 686}, {"fields": {"codename": "change_milestonerelationshiptype", "name": "Can change milestone relationship type", "content_type": 228}, "model": "auth.permission", "pk": 687}, {"fields": {"codename": "delete_milestonerelationshiptype", "name": "Can delete milestone relationship type", "content_type": 228}, "model": "auth.permission", "pk": 688}, {"fields": {"codename": "add_coursemilestone", "name": "Can add course milestone", "content_type": 229}, "model": "auth.permission", "pk": 689}, {"fields": {"codename": "change_coursemilestone", "name": "Can change course milestone", "content_type": 229}, "model": "auth.permission", "pk": 690}, {"fields": {"codename": "delete_coursemilestone", "name": "Can delete course milestone", "content_type": 229}, "model": "auth.permission", "pk": 691}, {"fields": {"codename": "add_coursecontentmilestone", "name": "Can add course content milestone", "content_type": 230}, "model": "auth.permission", "pk": 692}, {"fields": {"codename": "change_coursecontentmilestone", "name": "Can change course content milestone", "content_type": 230}, "model": "auth.permission", "pk": 693}, {"fields": {"codename": "delete_coursecontentmilestone", "name": "Can delete course content milestone", "content_type": 230}, "model": "auth.permission", "pk": 694}, {"fields": {"codename": "add_usermilestone", "name": "Can add user milestone", "content_type": 231}, "model": "auth.permission", "pk": 695}, {"fields": {"codename": "change_usermilestone", "name": "Can change user milestone", "content_type": 231}, "model": "auth.permission", "pk": 696}, {"fields": {"codename": "delete_usermilestone", "name": "Can delete user milestone", "content_type": 231}, "model": "auth.permission", "pk": 697}, {"fields": {"codename": "add_proctoredexam", "name": "Can add proctored exam", "content_type": 232}, "model": "auth.permission", "pk": 698}, {"fields": {"codename": "change_proctoredexam", "name": "Can change proctored exam", "content_type": 232}, "model": "auth.permission", "pk": 699}, {"fields": {"codename": "delete_proctoredexam", "name": "Can delete proctored exam", "content_type": 232}, "model": "auth.permission", "pk": 700}, {"fields": {"codename": "add_proctoredexamreviewpolicy", "name": "Can add Proctored exam review policy", "content_type": 233}, "model": "auth.permission", "pk": 701}, {"fields": {"codename": "change_proctoredexamreviewpolicy", "name": "Can change Proctored exam review policy", "content_type": 233}, "model": "auth.permission", "pk": 702}, {"fields": {"codename": "delete_proctoredexamreviewpolicy", "name": "Can delete Proctored exam review policy", "content_type": 233}, "model": "auth.permission", "pk": 703}, {"fields": {"codename": "add_proctoredexamreviewpolicyhistory", "name": "Can add proctored exam review policy history", "content_type": 234}, "model": "auth.permission", "pk": 704}, {"fields": {"codename": "change_proctoredexamreviewpolicyhistory", "name": "Can change proctored exam review policy history", "content_type": 234}, "model": "auth.permission", "pk": 705}, {"fields": {"codename": "delete_proctoredexamreviewpolicyhistory", "name": "Can delete proctored exam review policy history", "content_type": 234}, "model": "auth.permission", "pk": 706}, {"fields": {"codename": "add_proctoredexamstudentattempt", "name": "Can add proctored exam attempt", "content_type": 235}, "model": "auth.permission", "pk": 707}, {"fields": {"codename": "change_proctoredexamstudentattempt", "name": "Can change proctored exam attempt", "content_type": 235}, "model": "auth.permission", "pk": 708}, {"fields": {"codename": "delete_proctoredexamstudentattempt", "name": "Can delete proctored exam attempt", "content_type": 235}, "model": "auth.permission", "pk": 709}, {"fields": {"codename": "add_proctoredexamstudentattempthistory", "name": "Can add proctored exam attempt history", "content_type": 236}, "model": "auth.permission", "pk": 710}, {"fields": {"codename": "change_proctoredexamstudentattempthistory", "name": "Can change proctored exam attempt history", "content_type": 236}, "model": "auth.permission", "pk": 711}, {"fields": {"codename": "delete_proctoredexamstudentattempthistory", "name": "Can delete proctored exam attempt history", "content_type": 236}, "model": "auth.permission", "pk": 712}, {"fields": {"codename": "add_proctoredexamstudentallowance", "name": "Can add proctored allowance", "content_type": 237}, "model": "auth.permission", "pk": 713}, {"fields": {"codename": "change_proctoredexamstudentallowance", "name": "Can change proctored allowance", "content_type": 237}, "model": "auth.permission", "pk": 714}, {"fields": {"codename": "delete_proctoredexamstudentallowance", "name": "Can delete proctored allowance", "content_type": 237}, "model": "auth.permission", "pk": 715}, {"fields": {"codename": "add_proctoredexamstudentallowancehistory", "name": "Can add proctored allowance history", "content_type": 238}, "model": "auth.permission", "pk": 716}, {"fields": {"codename": "change_proctoredexamstudentallowancehistory", "name": "Can change proctored allowance history", "content_type": 238}, "model": "auth.permission", "pk": 717}, {"fields": {"codename": "delete_proctoredexamstudentallowancehistory", "name": "Can delete proctored allowance history", "content_type": 238}, "model": "auth.permission", "pk": 718}, {"fields": {"codename": "add_proctoredexamsoftwaresecurereview", "name": "Can add Proctored exam software secure review", "content_type": 239}, "model": "auth.permission", "pk": 719}, {"fields": {"codename": "change_proctoredexamsoftwaresecurereview", "name": "Can change Proctored exam software secure review", "content_type": 239}, "model": "auth.permission", "pk": 720}, {"fields": {"codename": "delete_proctoredexamsoftwaresecurereview", "name": "Can delete Proctored exam software secure review", "content_type": 239}, "model": "auth.permission", "pk": 721}, {"fields": {"codename": "add_proctoredexamsoftwaresecurereviewhistory", "name": "Can add Proctored exam review archive", "content_type": 240}, "model": "auth.permission", "pk": 722}, {"fields": {"codename": "change_proctoredexamsoftwaresecurereviewhistory", "name": "Can change Proctored exam review archive", "content_type": 240}, "model": "auth.permission", "pk": 723}, {"fields": {"codename": "delete_proctoredexamsoftwaresecurereviewhistory", "name": "Can delete Proctored exam review archive", "content_type": 240}, "model": "auth.permission", "pk": 724}, {"fields": {"codename": "add_proctoredexamsoftwaresecurecomment", "name": "Can add proctored exam software secure comment", "content_type": 241}, "model": "auth.permission", "pk": 725}, {"fields": {"codename": "change_proctoredexamsoftwaresecurecomment", "name": "Can change proctored exam software secure comment", "content_type": 241}, "model": "auth.permission", "pk": 726}, {"fields": {"codename": "delete_proctoredexamsoftwaresecurecomment", "name": "Can delete proctored exam software secure comment", "content_type": 241}, "model": "auth.permission", "pk": 727}, {"fields": {"codename": "add_organization", "name": "Can add organization", "content_type": 242}, "model": "auth.permission", "pk": 728}, {"fields": {"codename": "change_organization", "name": "Can change organization", "content_type": 242}, "model": "auth.permission", "pk": 729}, {"fields": {"codename": "delete_organization", "name": "Can delete organization", "content_type": 242}, "model": "auth.permission", "pk": 730}, {"fields": {"codename": "add_organizationcourse", "name": "Can add Link Course", "content_type": 243}, "model": "auth.permission", "pk": 731}, {"fields": {"codename": "change_organizationcourse", "name": "Can change Link Course", "content_type": 243}, "model": "auth.permission", "pk": 732}, {"fields": {"codename": "delete_organizationcourse", "name": "Can delete Link Course", "content_type": 243}, "model": "auth.permission", "pk": 733}, {"fields": {"codename": "add_videouploadconfig", "name": "Can add video upload config", "content_type": 244}, "model": "auth.permission", "pk": 734}, {"fields": {"codename": "change_videouploadconfig", "name": "Can change video upload config", "content_type": 244}, "model": "auth.permission", "pk": 735}, {"fields": {"codename": "delete_videouploadconfig", "name": "Can delete video upload config", "content_type": 244}, "model": "auth.permission", "pk": 736}, {"fields": {"codename": "add_pushnotificationconfig", "name": "Can add push notification config", "content_type": 245}, "model": "auth.permission", "pk": 737}, {"fields": {"codename": "change_pushnotificationconfig", "name": "Can change push notification config", "content_type": 245}, "model": "auth.permission", "pk": 738}, {"fields": {"codename": "delete_pushnotificationconfig", "name": "Can delete push notification config", "content_type": 245}, "model": "auth.permission", "pk": 739}, {"fields": {"codename": "add_coursecreator", "name": "Can add course creator", "content_type": 246}, "model": "auth.permission", "pk": 740}, {"fields": {"codename": "change_coursecreator", "name": "Can change course creator", "content_type": 246}, "model": "auth.permission", "pk": 741}, {"fields": {"codename": "delete_coursecreator", "name": "Can delete course creator", "content_type": 246}, "model": "auth.permission", "pk": 742}, {"fields": {"codename": "add_studioconfig", "name": "Can add studio config", "content_type": 247}, "model": "auth.permission", "pk": 743}, {"fields": {"codename": "change_studioconfig", "name": "Can change studio config", "content_type": 247}, "model": "auth.permission", "pk": 744}, {"fields": {"codename": "delete_studioconfig", "name": "Can delete studio config", "content_type": 247}, "model": "auth.permission", "pk": 745}, {"fields": {"username": "ecommerce_worker", "first_name": "", "last_name": "", "is_active": true, "is_superuser": false, "is_staff": false, "last_login": null, "groups": [], "user_permissions": [], "password": "!Bz0IiD8f4rtGAXbkt0fXqWWITFuRNaZZzqYQnUI0", "email": "ecommerce_worker@fake.email", "date_joined": "2016-01-22T20:04:10.525Z"}, "model": "auth.user", "pk": 1}, {"fields": {"username": "credentials_service_user", "first_name": "", "last_name": "", "is_active": true, "is_superuser": false, "is_staff": true, "last_login": null, "groups": [], "user_permissions": [], "password": "!U0fWlB5kZ85Dzw37oIwkHTsSCJkJ0bvMijQM4Vyg", "email": "", "date_joined": "2016-01-22T20:04:17.478Z"}, "model": "auth.user", "pk": 2}, {"fields": {"change_date": "2016-01-22T20:05:45.554Z", "changed_by": null, "enabled": true}, "model": "util.ratelimitconfiguration", "pk": 1}, {"fields": {"change_date": "2016-01-22T20:04:09.858Z", "changed_by": null, "configuration": "{\"default\": {\"accomplishment_class_append\": \"accomplishment-certificate\", \"platform_name\": \"Your Platform Name Here\", \"logo_src\": \"/static/certificates/images/logo.png\", \"logo_url\": \"http://www.example.com\", \"company_verified_certificate_url\": \"http://www.example.com/verified-certificate\", \"company_privacy_url\": \"http://www.example.com/privacy-policy\", \"company_tos_url\": \"http://www.example.com/terms-service\", \"company_about_url\": \"http://www.example.com/about-us\"}, \"verified\": {\"certificate_type\": \"Verified\", \"certificate_title\": \"Verified Certificate of Achievement\"}, \"honor\": {\"certificate_type\": \"Honor Code\", \"certificate_title\": \"Certificate of Achievement\"}}", "enabled": false}, "model": "certificates.certificatehtmlviewconfiguration", "pk": 1}, {"fields": {"change_date": "2016-01-22T20:04:19.877Z", "changed_by": null, "enabled": true, "released_languages": ""}, "model": "dark_lang.darklangconfig", "pk": 1}]
\ No newline at end of file
diff --git a/common/test/db_cache/bok_choy_data_default.json b/common/test/db_cache/bok_choy_data_default.json
new file mode 100644
index 00000000000..0663d2134f9
--- /dev/null
+++ b/common/test/db_cache/bok_choy_data_default.json
@@ -0,0 +1 @@
+[{"fields": {"model": "permission", "app_label": "auth"}, "model": "contenttypes.contenttype", "pk": 1}, {"fields": {"model": "group", "app_label": "auth"}, "model": "contenttypes.contenttype", "pk": 2}, {"fields": {"model": "user", "app_label": "auth"}, "model": "contenttypes.contenttype", "pk": 3}, {"fields": {"model": "contenttype", "app_label": "contenttypes"}, "model": "contenttypes.contenttype", "pk": 4}, {"fields": {"model": "session", "app_label": "sessions"}, "model": "contenttypes.contenttype", "pk": 5}, {"fields": {"model": "site", "app_label": "sites"}, "model": "contenttypes.contenttype", "pk": 6}, {"fields": {"model": "taskmeta", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 7}, {"fields": {"model": "tasksetmeta", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 8}, {"fields": {"model": "intervalschedule", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 9}, {"fields": {"model": "crontabschedule", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 10}, {"fields": {"model": "periodictasks", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 11}, {"fields": {"model": "periodictask", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 12}, {"fields": {"model": "workerstate", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 13}, {"fields": {"model": "taskstate", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 14}, {"fields": {"model": "globalstatusmessage", "app_label": "status"}, "model": "contenttypes.contenttype", "pk": 15}, {"fields": {"model": "coursemessage", "app_label": "status"}, "model": "contenttypes.contenttype", "pk": 16}, {"fields": {"model": "assetbaseurlconfig", "app_label": "static_replace"}, "model": "contenttypes.contenttype", "pk": 17}, {"fields": {"model": "studentmodule", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 18}, {"fields": {"model": "studentmodulehistory", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 19}, {"fields": {"model": "xmoduleuserstatesummaryfield", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 20}, {"fields": {"model": "xmodulestudentprefsfield", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 21}, {"fields": {"model": "xmodulestudentinfofield", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 22}, {"fields": {"model": "offlinecomputedgrade", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 23}, {"fields": {"model": "offlinecomputedgradelog", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 24}, {"fields": {"model": "studentfieldoverride", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 25}, {"fields": {"model": "anonymoususerid", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 26}, {"fields": {"model": "userstanding", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 27}, {"fields": {"model": "userprofile", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 28}, {"fields": {"model": "usersignupsource", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 29}, {"fields": {"model": "usertestgroup", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 30}, {"fields": {"model": "registration", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 31}, {"fields": {"model": "pendingnamechange", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 32}, {"fields": {"model": "pendingemailchange", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 33}, {"fields": {"model": "passwordhistory", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 34}, {"fields": {"model": "loginfailures", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 35}, {"fields": {"model": "historicalcourseenrollment", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 36}, {"fields": {"model": "courseenrollment", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 37}, {"fields": {"model": "manualenrollmentaudit", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 38}, {"fields": {"model": "courseenrollmentallowed", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 39}, {"fields": {"model": "courseaccessrole", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 40}, {"fields": {"model": "dashboardconfiguration", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 41}, {"fields": {"model": "linkedinaddtoprofileconfiguration", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 42}, {"fields": {"model": "entranceexamconfiguration", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 43}, {"fields": {"model": "languageproficiency", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 44}, {"fields": {"model": "courseenrollmentattribute", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 45}, {"fields": {"model": "enrollmentrefundconfiguration", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 46}, {"fields": {"model": "trackinglog", "app_label": "track"}, "model": "contenttypes.contenttype", "pk": 47}, {"fields": {"model": "ratelimitconfiguration", "app_label": "util"}, "model": "contenttypes.contenttype", "pk": 48}, {"fields": {"model": "certificatewhitelist", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 49}, {"fields": {"model": "generatedcertificate", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 50}, {"fields": {"model": "certificategenerationhistory", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 51}, {"fields": {"model": "certificateinvalidation", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 52}, {"fields": {"model": "examplecertificateset", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 53}, {"fields": {"model": "examplecertificate", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 54}, {"fields": {"model": "certificategenerationcoursesetting", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 55}, {"fields": {"model": "certificategenerationconfiguration", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 56}, {"fields": {"model": "certificatehtmlviewconfiguration", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 57}, {"fields": {"model": "badgeassertion", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 58}, {"fields": {"model": "badgeimageconfiguration", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 59}, {"fields": {"model": "certificatetemplate", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 60}, {"fields": {"model": "certificatetemplateasset", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 61}, {"fields": {"model": "instructortask", "app_label": "instructor_task"}, "model": "contenttypes.contenttype", "pk": 62}, {"fields": {"model": "courseusergroup", "app_label": "course_groups"}, "model": "contenttypes.contenttype", "pk": 63}, {"fields": {"model": "cohortmembership", "app_label": "course_groups"}, "model": "contenttypes.contenttype", "pk": 64}, {"fields": {"model": "courseusergrouppartitiongroup", "app_label": "course_groups"}, "model": "contenttypes.contenttype", "pk": 65}, {"fields": {"model": "coursecohortssettings", "app_label": "course_groups"}, "model": "contenttypes.contenttype", "pk": 66}, {"fields": {"model": "coursecohort", "app_label": "course_groups"}, "model": "contenttypes.contenttype", "pk": 67}, {"fields": {"model": "courseemail", "app_label": "bulk_email"}, "model": "contenttypes.contenttype", "pk": 68}, {"fields": {"model": "optout", "app_label": "bulk_email"}, "model": "contenttypes.contenttype", "pk": 69}, {"fields": {"model": "courseemailtemplate", "app_label": "bulk_email"}, "model": "contenttypes.contenttype", "pk": 70}, {"fields": {"model": "courseauthorization", "app_label": "bulk_email"}, "model": "contenttypes.contenttype", "pk": 71}, {"fields": {"model": "brandinginfoconfig", "app_label": "branding"}, "model": "contenttypes.contenttype", "pk": 72}, {"fields": {"model": "brandingapiconfig", "app_label": "branding"}, "model": "contenttypes.contenttype", "pk": 73}, {"fields": {"model": "externalauthmap", "app_label": "external_auth"}, "model": "contenttypes.contenttype", "pk": 74}, {"fields": {"model": "nonce", "app_label": "django_openid_auth"}, "model": "contenttypes.contenttype", "pk": 75}, {"fields": {"model": "association", "app_label": "django_openid_auth"}, "model": "contenttypes.contenttype", "pk": 76}, {"fields": {"model": "useropenid", "app_label": "django_openid_auth"}, "model": "contenttypes.contenttype", "pk": 77}, {"fields": {"model": "client", "app_label": "oauth2"}, "model": "contenttypes.contenttype", "pk": 78}, {"fields": {"model": "grant", "app_label": "oauth2"}, "model": "contenttypes.contenttype", "pk": 79}, {"fields": {"model": "accesstoken", "app_label": "oauth2"}, "model": "contenttypes.contenttype", "pk": 80}, {"fields": {"model": "refreshtoken", "app_label": "oauth2"}, "model": "contenttypes.contenttype", "pk": 81}, {"fields": {"model": "trustedclient", "app_label": "oauth2_provider"}, "model": "contenttypes.contenttype", "pk": 82}, {"fields": {"model": "oauth2providerconfig", "app_label": "third_party_auth"}, "model": "contenttypes.contenttype", "pk": 83}, {"fields": {"model": "samlproviderconfig", "app_label": "third_party_auth"}, "model": "contenttypes.contenttype", "pk": 84}, {"fields": {"model": "samlconfiguration", "app_label": "third_party_auth"}, "model": "contenttypes.contenttype", "pk": 85}, {"fields": {"model": "samlproviderdata", "app_label": "third_party_auth"}, "model": "contenttypes.contenttype", "pk": 86}, {"fields": {"model": "ltiproviderconfig", "app_label": "third_party_auth"}, "model": "contenttypes.contenttype", "pk": 87}, {"fields": {"model": "providerapipermissions", "app_label": "third_party_auth"}, "model": "contenttypes.contenttype", "pk": 88}, {"fields": {"model": "nonce", "app_label": "oauth_provider"}, "model": "contenttypes.contenttype", "pk": 89}, {"fields": {"model": "scope", "app_label": "oauth_provider"}, "model": "contenttypes.contenttype", "pk": 90}, {"fields": {"model": "consumer", "app_label": "oauth_provider"}, "model": "contenttypes.contenttype", "pk": 91}, {"fields": {"model": "token", "app_label": "oauth_provider"}, "model": "contenttypes.contenttype", "pk": 92}, {"fields": {"model": "resource", "app_label": "oauth_provider"}, "model": "contenttypes.contenttype", "pk": 93}, {"fields": {"model": "article", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 94}, {"fields": {"model": "articleforobject", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 95}, {"fields": {"model": "articlerevision", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 96}, {"fields": {"model": "urlpath", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 97}, {"fields": {"model": "articleplugin", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 98}, {"fields": {"model": "reusableplugin", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 99}, {"fields": {"model": "simpleplugin", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 100}, {"fields": {"model": "revisionplugin", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 101}, {"fields": {"model": "revisionpluginrevision", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 102}, {"fields": {"model": "image", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 103}, {"fields": {"model": "imagerevision", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 104}, {"fields": {"model": "attachment", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 105}, {"fields": {"model": "attachmentrevision", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 106}, {"fields": {"model": "notificationtype", "app_label": "django_notify"}, "model": "contenttypes.contenttype", "pk": 107}, {"fields": {"model": "settings", "app_label": "django_notify"}, "model": "contenttypes.contenttype", "pk": 108}, {"fields": {"model": "subscription", "app_label": "django_notify"}, "model": "contenttypes.contenttype", "pk": 109}, {"fields": {"model": "notification", "app_label": "django_notify"}, "model": "contenttypes.contenttype", "pk": 110}, {"fields": {"model": "logentry", "app_label": "admin"}, "model": "contenttypes.contenttype", "pk": 111}, {"fields": {"model": "role", "app_label": "django_comment_common"}, "model": "contenttypes.contenttype", "pk": 112}, {"fields": {"model": "permission", "app_label": "django_comment_common"}, "model": "contenttypes.contenttype", "pk": 113}, {"fields": {"model": "note", "app_label": "notes"}, "model": "contenttypes.contenttype", "pk": 114}, {"fields": {"model": "splashconfig", "app_label": "splash"}, "model": "contenttypes.contenttype", "pk": 115}, {"fields": {"model": "userpreference", "app_label": "user_api"}, "model": "contenttypes.contenttype", "pk": 116}, {"fields": {"model": "usercoursetag", "app_label": "user_api"}, "model": "contenttypes.contenttype", "pk": 117}, {"fields": {"model": "userorgtag", "app_label": "user_api"}, "model": "contenttypes.contenttype", "pk": 118}, {"fields": {"model": "order", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 119}, {"fields": {"model": "orderitem", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 120}, {"fields": {"model": "invoice", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 121}, {"fields": {"model": "invoicetransaction", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 122}, {"fields": {"model": "invoiceitem", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 123}, {"fields": {"model": "courseregistrationcodeinvoiceitem", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 124}, {"fields": {"model": "invoicehistory", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 125}, {"fields": {"model": "courseregistrationcode", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 126}, {"fields": {"model": "registrationcoderedemption", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 127}, {"fields": {"model": "coupon", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 128}, {"fields": {"model": "couponredemption", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 129}, {"fields": {"model": "paidcourseregistration", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 130}, {"fields": {"model": "courseregcodeitem", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 131}, {"fields": {"model": "courseregcodeitemannotation", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 132}, {"fields": {"model": "paidcourseregistrationannotation", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 133}, {"fields": {"model": "certificateitem", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 134}, {"fields": {"model": "donationconfiguration", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 135}, {"fields": {"model": "donation", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 136}, {"fields": {"model": "coursemode", "app_label": "course_modes"}, "model": "contenttypes.contenttype", "pk": 137}, {"fields": {"model": "coursemodesarchive", "app_label": "course_modes"}, "model": "contenttypes.contenttype", "pk": 138}, {"fields": {"model": "coursemodeexpirationconfig", "app_label": "course_modes"}, "model": "contenttypes.contenttype", "pk": 139}, {"fields": {"model": "softwaresecurephotoverification", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 140}, {"fields": {"model": "historicalverificationdeadline", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 141}, {"fields": {"model": "verificationdeadline", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 142}, {"fields": {"model": "verificationcheckpoint", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 143}, {"fields": {"model": "verificationstatus", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 144}, {"fields": {"model": "incoursereverificationconfiguration", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 145}, {"fields": {"model": "icrvstatusemailsconfiguration", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 146}, {"fields": {"model": "skippedreverification", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 147}, {"fields": {"model": "darklangconfig", "app_label": "dark_lang"}, "model": "contenttypes.contenttype", "pk": 148}, {"fields": {"model": "microsite", "app_label": "microsite_configuration"}, "model": "contenttypes.contenttype", "pk": 149}, {"fields": {"model": "micrositehistory", "app_label": "microsite_configuration"}, "model": "contenttypes.contenttype", "pk": 150}, {"fields": {"model": "historicalmicrositeorganizationmapping", "app_label": "microsite_configuration"}, "model": "contenttypes.contenttype", "pk": 151}, {"fields": {"model": "micrositeorganizationmapping", "app_label": "microsite_configuration"}, "model": "contenttypes.contenttype", "pk": 152}, {"fields": {"model": "historicalmicrositetemplate", "app_label": "microsite_configuration"}, "model": "contenttypes.contenttype", "pk": 153}, {"fields": {"model": "micrositetemplate", "app_label": "microsite_configuration"}, "model": "contenttypes.contenttype", "pk": 154}, {"fields": {"model": "whitelistedrssurl", "app_label": "rss_proxy"}, "model": "contenttypes.contenttype", "pk": 155}, {"fields": {"model": "embargoedcourse", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 156}, {"fields": {"model": "embargoedstate", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 157}, {"fields": {"model": "restrictedcourse", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 158}, {"fields": {"model": "country", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 159}, {"fields": {"model": "countryaccessrule", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 160}, {"fields": {"model": "courseaccessrulehistory", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 161}, {"fields": {"model": "ipfilter", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 162}, {"fields": {"model": "coursererunstate", "app_label": "course_action_state"}, "model": "contenttypes.contenttype", "pk": 163}, {"fields": {"model": "mobileapiconfig", "app_label": "mobile_api"}, "model": "contenttypes.contenttype", "pk": 164}, {"fields": {"model": "usersocialauth", "app_label": "default"}, "model": "contenttypes.contenttype", "pk": 165}, {"fields": {"model": "nonce", "app_label": "default"}, "model": "contenttypes.contenttype", "pk": 166}, {"fields": {"model": "association", "app_label": "default"}, "model": "contenttypes.contenttype", "pk": 167}, {"fields": {"model": "code", "app_label": "default"}, "model": "contenttypes.contenttype", "pk": 168}, {"fields": {"model": "surveyform", "app_label": "survey"}, "model": "contenttypes.contenttype", "pk": 169}, {"fields": {"model": "surveyanswer", "app_label": "survey"}, "model": "contenttypes.contenttype", "pk": 170}, {"fields": {"model": "xblockasidesconfig", "app_label": "lms_xblock"}, "model": "contenttypes.contenttype", "pk": 171}, {"fields": {"model": "courseoverview", "app_label": "course_overviews"}, "model": "contenttypes.contenttype", "pk": 172}, {"fields": {"model": "courseoverviewtab", "app_label": "course_overviews"}, "model": "contenttypes.contenttype", "pk": 173}, {"fields": {"model": "courseoverviewimageset", "app_label": "course_overviews"}, "model": "contenttypes.contenttype", "pk": 174}, {"fields": {"model": "courseoverviewimageconfig", "app_label": "course_overviews"}, "model": "contenttypes.contenttype", "pk": 175}, {"fields": {"model": "coursestructure", "app_label": "course_structures"}, "model": "contenttypes.contenttype", "pk": 176}, {"fields": {"model": "corsmodel", "app_label": "corsheaders"}, "model": "contenttypes.contenttype", "pk": 177}, {"fields": {"model": "xdomainproxyconfiguration", "app_label": "cors_csrf"}, "model": "contenttypes.contenttype", "pk": 178}, {"fields": {"model": "creditprovider", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 179}, {"fields": {"model": "creditcourse", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 180}, {"fields": {"model": "creditrequirement", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 181}, {"fields": {"model": "historicalcreditrequirementstatus", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 182}, {"fields": {"model": "creditrequirementstatus", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 183}, {"fields": {"model": "crediteligibility", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 184}, {"fields": {"model": "historicalcreditrequest", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 185}, {"fields": {"model": "creditrequest", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 186}, {"fields": {"model": "courseteam", "app_label": "teams"}, "model": "contenttypes.contenttype", "pk": 187}, {"fields": {"model": "courseteammembership", "app_label": "teams"}, "model": "contenttypes.contenttype", "pk": 188}, {"fields": {"model": "xblockdisableconfig", "app_label": "xblock_django"}, "model": "contenttypes.contenttype", "pk": 189}, {"fields": {"model": "bookmark", "app_label": "bookmarks"}, "model": "contenttypes.contenttype", "pk": 190}, {"fields": {"model": "xblockcache", "app_label": "bookmarks"}, "model": "contenttypes.contenttype", "pk": 191}, {"fields": {"model": "programsapiconfig", "app_label": "programs"}, "model": "contenttypes.contenttype", "pk": 192}, {"fields": {"model": "selfpacedconfiguration", "app_label": "self_paced"}, "model": "contenttypes.contenttype", "pk": 193}, {"fields": {"model": "kvstore", "app_label": "thumbnail"}, "model": "contenttypes.contenttype", "pk": 194}, {"fields": {"model": "studentitem", "app_label": "submissions"}, "model": "contenttypes.contenttype", "pk": 195}, {"fields": {"model": "submission", "app_label": "submissions"}, "model": "contenttypes.contenttype", "pk": 196}, {"fields": {"model": "score", "app_label": "submissions"}, "model": "contenttypes.contenttype", "pk": 197}, {"fields": {"model": "scoresummary", "app_label": "submissions"}, "model": "contenttypes.contenttype", "pk": 198}, {"fields": {"model": "scoreannotation", "app_label": "submissions"}, "model": "contenttypes.contenttype", "pk": 199}, {"fields": {"model": "rubric", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 200}, {"fields": {"model": "criterion", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 201}, {"fields": {"model": "criterionoption", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 202}, {"fields": {"model": "assessment", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 203}, {"fields": {"model": "assessmentpart", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 204}, {"fields": {"model": "assessmentfeedbackoption", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 205}, {"fields": {"model": "assessmentfeedback", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 206}, {"fields": {"model": "peerworkflow", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 207}, {"fields": {"model": "peerworkflowitem", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 208}, {"fields": {"model": "trainingexample", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 209}, {"fields": {"model": "studenttrainingworkflow", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 210}, {"fields": {"model": "studenttrainingworkflowitem", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 211}, {"fields": {"model": "aiclassifierset", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 212}, {"fields": {"model": "aiclassifier", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 213}, {"fields": {"model": "aitrainingworkflow", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 214}, {"fields": {"model": "aigradingworkflow", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 215}, {"fields": {"model": "staffworkflow", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 216}, {"fields": {"model": "assessmentworkflow", "app_label": "workflow"}, "model": "contenttypes.contenttype", "pk": 217}, {"fields": {"model": "assessmentworkflowstep", "app_label": "workflow"}, "model": "contenttypes.contenttype", "pk": 218}, {"fields": {"model": "assessmentworkflowcancellation", "app_label": "workflow"}, "model": "contenttypes.contenttype", "pk": 219}, {"fields": {"model": "profile", "app_label": "edxval"}, "model": "contenttypes.contenttype", "pk": 220}, {"fields": {"model": "video", "app_label": "edxval"}, "model": "contenttypes.contenttype", "pk": 221}, {"fields": {"model": "coursevideo", "app_label": "edxval"}, "model": "contenttypes.contenttype", "pk": 222}, {"fields": {"model": "encodedvideo", "app_label": "edxval"}, "model": "contenttypes.contenttype", "pk": 223}, {"fields": {"model": "subtitle", "app_label": "edxval"}, "model": "contenttypes.contenttype", "pk": 224}, {"fields": {"model": "milestone", "app_label": "milestones"}, "model": "contenttypes.contenttype", "pk": 225}, {"fields": {"model": "milestonerelationshiptype", "app_label": "milestones"}, "model": "contenttypes.contenttype", "pk": 226}, {"fields": {"model": "coursemilestone", "app_label": "milestones"}, "model": "contenttypes.contenttype", "pk": 227}, {"fields": {"model": "coursecontentmilestone", "app_label": "milestones"}, "model": "contenttypes.contenttype", "pk": 228}, {"fields": {"model": "usermilestone", "app_label": "milestones"}, "model": "contenttypes.contenttype", "pk": 229}, {"fields": {"model": "proctoredexam", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 230}, {"fields": {"model": "proctoredexamreviewpolicy", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 231}, {"fields": {"model": "proctoredexamreviewpolicyhistory", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 232}, {"fields": {"model": "proctoredexamstudentattempt", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 233}, {"fields": {"model": "proctoredexamstudentattempthistory", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 234}, {"fields": {"model": "proctoredexamstudentallowance", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 235}, {"fields": {"model": "proctoredexamstudentallowancehistory", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 236}, {"fields": {"model": "proctoredexamsoftwaresecurereview", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 237}, {"fields": {"model": "proctoredexamsoftwaresecurereviewhistory", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 238}, {"fields": {"model": "proctoredexamsoftwaresecurecomment", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 239}, {"fields": {"model": "organization", "app_label": "organizations"}, "model": "contenttypes.contenttype", "pk": 240}, {"fields": {"model": "organizationcourse", "app_label": "organizations"}, "model": "contenttypes.contenttype", "pk": 241}, {"fields": {"model": "videouploadconfig", "app_label": "contentstore"}, "model": "contenttypes.contenttype", "pk": 242}, {"fields": {"model": "pushnotificationconfig", "app_label": "contentstore"}, "model": "contenttypes.contenttype", "pk": 243}, {"fields": {"model": "coursecreator", "app_label": "course_creators"}, "model": "contenttypes.contenttype", "pk": 244}, {"fields": {"model": "studioconfig", "app_label": "xblock_config"}, "model": "contenttypes.contenttype", "pk": 245}, {"fields": {"domain": "example.com", "name": "example.com"}, "model": "sites.site", "pk": 1}, {"fields": {"default": false, "mode": "honor", "icon": "badges/honor.png"}, "model": "certificates.badgeimageconfiguration", "pk": 1}, {"fields": {"default": false, "mode": "verified", "icon": "badges/verified.png"}, "model": "certificates.badgeimageconfiguration", "pk": 2}, {"fields": {"default": false, "mode": "professional", "icon": "badges/professional.png"}, "model": "certificates.badgeimageconfiguration", "pk": 3}, {"fields": {"plain_template": "{course_title}\n\n{{message_body}}\r\n----\r\nCopyright 2013 edX, All rights reserved.\r\n----\r\nConnect with edX:\r\nFacebook (http://facebook.com/edxonline)\r\nTwitter (http://twitter.com/edxonline)\r\nGoogle+ (https://plus.google.com/108235383044095082735)\r\nMeetup (http://www.meetup.com/edX-Communities/)\r\n----\r\nThis email was automatically sent from {platform_name}.\r\nYou are receiving this email at address {email} because you are enrolled in {course_title}\r\n(URL: {course_url} ).\r\nTo stop receiving email like this, update your course email settings at {email_settings_url}.\r\n", "html_template": "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'><html xmlns:fb='http://www.facebook.com/2008/fbml' xmlns:og='http://opengraph.org/schema/'> <head><meta property='og:title' content='Update from {course_title}'/><meta property='fb:page_id' content='43929265776' />        <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>        <title>Update from {course_title}</title>                    </head>        <body leftmargin='0' marginwidth='0' topmargin='0' marginheight='0' offset='0' style='margin: 0;padding: 0;background-color: #ffffff;'>        <center>            <table align='center' border='0' cellpadding='0' cellspacing='0' height='100%' width='100%' id='bodyTable' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;margin: 0;padding: 0;background-color: #ffffff;height: 100% !important;width: 100% !important;'>                <tr>                   <td align='center' valign='top' id='bodyCell' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;margin: 0;padding: 0;border-top: 0;height: 100% !important;width: 100% !important;'>                        <!-- BEGIN TEMPLATE // -->                        <table border='0' cellpadding='0' cellspacing='0' width='100%' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                            <tr>                                <td align='center' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                    <!-- BEGIN PREHEADER // -->                                    <table border='0' cellpadding='0' cellspacing='0' width='100%' id='templatePreheader' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;background-color: #fcfcfc;border-top: 0;border-bottom: 0;'>                                        <tr>                                        <td align='center' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                <table border='0' cellpadding='0' cellspacing='0' width='600' class='templateContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                    <tr>                                                        <td valign='top' class='preheaderContainer' style='padding-top: 9px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'><table border='0' cellpadding='0' cellspacing='0' width='100%' class='mcnTextBlock' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody class='mcnTextBlockOuter'>        <tr>            <td valign='top' class='mcnTextBlockInner' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                <table align='left' border='0' cellpadding='0' cellspacing='0' width='366' class='mcnTextContentContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                    <tbody><tr>                                                <td valign='top' class='mcnTextContent' style='padding-top: 9px;padding-left: 18px;padding-bottom: 9px;padding-right: 0;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #606060;font-family: Helvetica;font-size: 11px;line-height: 125%;text-align: left;'>                                                    <br>                        </td>                    </tr>                </tbody></table>                            </td>        </tr>    </tbody></table></td>                                                    </tr>                                                </table>                                            </td>                                                                                    </tr>                                    </table>                                    <!-- // END PREHEADER -->                                </td>                            </tr>                            <tr>                                <td align='center' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                    <!-- BEGIN HEADER // -->                                    <table border='0' cellpadding='0' cellspacing='0' width='100%' id='templateHeader' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;background-color: #fcfcfc;border-top: 0;border-bottom: 0;'>                                        <tr>                                            <td align='center' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                <table border='0' cellpadding='0' cellspacing='0' width='600' class='templateContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                    <tr>                                                        <td valign='top' class='headerContainer' style='padding-top: 10px;padding-right: 18px;padding-bottom: 10px;padding-left: 18px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'><table border='0' cellpadding='0' cellspacing='0' width='100%' class='mcnImageBlock' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody class='mcnImageBlockOuter'>            <tr>                <td valign='top' style='padding: 9px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;' class='mcnImageBlockInner'>                    <table align='left' width='100%' border='0' cellpadding='0' cellspacing='0' class='mcnImageContentContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                        <tbody><tr>                            <td class='mcnImageContent' valign='top' style='padding-right: 9px;padding-left: 9px;padding-top: 0;padding-bottom: 0;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                                    <a href='http://edx.org' title='' class='' target='_self' style='word-wrap: break-word !important;'>                                        <img align='left' alt='edX' src='http://courses.edx.org/static/images/bulk_email/edXHeaderImage.jpg' width='564.0000152587891' style='max-width: 600px;padding-bottom: 0;display: inline !important;vertical-align: bottom;border: 0;line-height: 100%;outline: none;text-decoration: none;height: auto !important;' class='mcnImage'>                                    </a>                                                            </td>                        </tr>                    </tbody></table>                </td>            </tr>    </tbody></table><table border='0' cellpadding='0' cellspacing='0' width='100%' class='mcnTextBlock' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody class='mcnTextBlockOuter'>        <tr>            <td valign='top' class='mcnTextBlockInner' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                <table align='left' border='0' cellpadding='0' cellspacing='0' width='599' class='mcnTextContentContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                    <tbody><tr>                                                <td valign='top' class='mcnTextContent' style='padding-top: 9px;padding-right: 18px;padding-bottom: 9px;padding-left: 18px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #606060;font-family: Helvetica;font-size: 15px;line-height: 150%;text-align: left;'>                                                    <div style='text-align: right;'><span style='font-size:11px;'><span style='color:#00a0e3;'>Connect with edX:</span></span> &nbsp;<a href='http://facebook.com/edxonline' target='_blank' style='color: #6DC6DD;font-weight: normal;text-decoration: underline;word-wrap: break-word !important;'><img align='none' height='16' src='http://courses.edx.org/static/images/bulk_email/FacebookIcon.png' style='width: 16px;height: 16px;border: 0;line-height: 100%;outline: none;text-decoration: none;' width='16'></a>&nbsp;&nbsp;<a href='http://twitter.com/edxonline' target='_blank' style='color: #6DC6DD;font-weight: normal;text-decoration: underline;word-wrap: break-word !important;'><img align='none' height='16' src='http://courses.edx.org/static/images/bulk_email/TwitterIcon.png' style='width: 16px;height: 16px;border: 0;line-height: 100%;outline: none;text-decoration: none;' width='16'></a>&nbsp;&nbsp;<a href='https://plus.google.com/108235383044095082735' target='_blank' style='color: #6DC6DD;font-weight: normal;text-decoration: underline;word-wrap: break-word !important;'><img align='none' height='16' src='http://courses.edx.org/static/images/bulk_email/GooglePlusIcon.png' style='width: 16px;height: 16px;border: 0;line-height: 100%;outline: none;text-decoration: none;' width='16'></a>&nbsp;&nbsp;<a href='http://www.meetup.com/edX-Communities/' target='_blank' style='color: #6DC6DD;font-weight: normal;text-decoration: underline;word-wrap: break-word !important;'><img align='none' height='16' src='http://courses.edx.org/static/images/bulk_email/MeetupIcon.png' style='width: 16px;height: 16px;border: 0;line-height: 100%;outline: none;text-decoration: none;' width='16'></a></div>                        </td>                    </tr>                </tbody></table>                            </td>        </tr>    </tbody></table></td>                                                    </tr>                                                </table>                                            </td>                                        </tr>                                    </table>                                    <!-- // END HEADER -->                                </td>                            </tr>                            <tr>                                <td align='center' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                    <!-- BEGIN BODY // -->                                    <table border='0' cellpadding='0' cellspacing='0' width='100%' id='templateBody' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;background-color: #fcfcfc;border-top: 0;border-bottom: 0;'>                                        <tr>                                            <td align='center' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                <table border='0' cellpadding='0' cellspacing='0' width='600' class='templateContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                    <tr>                                                        <td valign='top' class='bodyContainer' style='padding-top: 10px;padding-right: 18px;padding-bottom: 10px;padding-left: 18px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'><table border='0' cellpadding='0' cellspacing='0' width='100%' class='mcnCaptionBlock' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody class='mcnCaptionBlockOuter'>        <tr>            <td class='mcnCaptionBlockInner' valign='top' style='padding: 9px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                <table border='0' cellpadding='0' cellspacing='0' class='mcnCaptionLeftContentOuter' width='100%' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody><tr>        <td valign='top' class='mcnCaptionLeftContentInner' style='padding: 0 9px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>            <table align='right' border='0' cellpadding='0' cellspacing='0' class='mcnCaptionLeftImageContentContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                <tbody><tr>                    <td class='mcnCaptionLeftImageContent' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                                    <img alt='' src='{course_image_url}' width='176' style='max-width: 180px;border: 0;line-height: 100%;outline: none;text-decoration: none;vertical-align: bottom;height: auto !important;' class='mcnImage'>                                                                </td>                </tr>            </tbody></table>            <table class='mcnCaptionLeftTextContentContainer' align='left' border='0' cellpadding='0' cellspacing='0' width='352' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                <tbody><tr>                    <td valign='top' class='mcnTextContent' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #606060;font-family: Helvetica;font-size: 14px;line-height: 150%;text-align: left;'>                        <h3 class='null' style='display: block;font-family: Helvetica;font-size: 18px;font-style: normal;font-weight: bold;line-height: 125%;letter-spacing: -.5px;margin: 0;text-align: left;color: #606060 !important;'><strong style='font-size: 22px;'>{course_title}</strong><br></h3><br>                    </td>                </tr>            </tbody></table>        </td>    </tr></tbody></table>            </td>        </tr>    </tbody></table><table border='0' cellpadding='0' cellspacing='0' width='100%' class='mcnTextBlock' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody class='mcnTextBlockOuter'>        <tr>            <td valign='top' class='mcnTextBlockInner' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                <table align='left' border='0' cellpadding='0' cellspacing='0' width='600' class='mcnTextContentContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                    <tbody><tr>                                                <td valign='top' class='mcnTextContent' style='padding-top: 9px;padding-right: 18px;padding-bottom: 9px;padding-left: 18px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #606060;font-family: Helvetica;font-size: 14px;line-height: 150%;text-align: left;'>                        {{message_body}}                        </td>                    </tr>                </tbody></table>                            </td>        </tr>    </tbody></table><table border='0' cellpadding='0' cellspacing='0' width='100%' class='mcnDividerBlock' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody class='mcnDividerBlockOuter'>        <tr>            <td class='mcnDividerBlockInner' style='padding: 18px 18px 3px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                <table class='mcnDividerContent' border='0' cellpadding='0' cellspacing='0' width='100%' style='border-top-width: 1px;border-top-style: solid;border-top-color: #666666;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                    <tbody><tr>                        <td style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                            <span></span>                        </td>                    </tr>                </tbody></table>            </td>        </tr>    </tbody></table><table border='0' cellpadding='0' cellspacing='0' width='100%' class='mcnTextBlock' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody class='mcnTextBlockOuter'>        <tr>            <td valign='top' class='mcnTextBlockInner' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                <table align='left' border='0' cellpadding='0' cellspacing='0' width='600' class='mcnTextContentContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                    <tbody><tr>                                                <td valign='top' class='mcnTextContent' style='padding-top: 9px;padding-right: 18px;padding-bottom: 9px;padding-left: 18px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #606060;font-family: Helvetica;font-size: 14px;line-height: 150%;text-align: left;'>                                                    <div style='text-align: right;'><a href='http://facebook.com/edxonline' target='_blank' style='color: #2f73bc;font-weight: normal;text-decoration: underline;word-wrap: break-word !important;'><img align='none' height='16' src='http://courses.edx.org/static/images/bulk_email/FacebookIcon.png' style='width: 16px;height: 16px;border: 0;line-height: 100%;outline: none;text-decoration: none;' width='16'></a>&nbsp;&nbsp;<a href='http://twitter.com/edxonline' target='_blank' style='color: #2f73bc;font-weight: normal;text-decoration: underline;word-wrap: break-word !important;'><img align='none' height='16' src='http://courses.edx.org/static/images/bulk_email/TwitterIcon.png' style='width: 16px;height: 16px;border: 0;line-height: 100%;outline: none;text-decoration: none;' width='16'></a>&nbsp;&nbsp;<a href='https://plus.google.com/108235383044095082735' target='_blank' style='color: #2f73bc;font-weight: normal;text-decoration: underline;word-wrap: break-word !important;'><img align='none' height='16' src='http://courses.edx.org/static/images/bulk_email/GooglePlusIcon.png' style='width: 16px;height: 16px;border: 0;line-height: 100%;outline: none;text-decoration: none;' width='16'></a>&nbsp; &nbsp;<a href='http://www.meetup.com/edX-Communities/' target='_blank' style='color: #2f73bc;font-weight: normal;text-decoration: underline;word-wrap: break-word !important;'><img align='none' height='16' src='http://courses.edx.org/static/images/bulk_email/MeetupIcon.png' style='width: 16px;height: 16px;border: 0;line-height: 100%;outline: none;text-decoration: none;' width='16'></a></div>                        </td>                    </tr>                </tbody></table>                            </td>        </tr>    </tbody></table></td>                                                    </tr>                                                </table>                                            </td>                                        </tr>                                    </table>                                    <!-- // END BODY -->                                </td>                            </tr>                            <tr>                                <td align='center' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                    <!-- BEGIN FOOTER // -->                                    <table border='0' cellpadding='0' cellspacing='0' width='100%' id='templateFooter' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;background-color: #9FCFE8;border-top: 0;border-bottom: 0;'>                                        <tr>                                            <td align='center' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                <table border='0' cellpadding='0' cellspacing='0' width='600' class='templateContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                    <tr>                                                        <td valign='top' class='footerContainer' style='padding-top: 10px;padding-right: 18px;padding-bottom: 10px;padding-left: 18px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'><table border='0' cellpadding='0' cellspacing='0' width='100%' class='mcnTextBlock' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody class='mcnTextBlockOuter'>        <tr>            <td valign='top' class='mcnTextBlockInner' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                <table align='left' border='0' cellpadding='0' cellspacing='0' width='600' class='mcnTextContentContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                    <tbody><tr>                                                <td valign='top' class='mcnTextContent' style='padding-top: 9px;padding-right: 18px;padding-bottom: 9px;padding-left: 18px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #f2f2f2;font-family: Helvetica;font-size: 11px;line-height: 125%;text-align: left;'>                                                    <em>Copyright \u00a9 2013 edX, All rights reserved.</em><br><br><br>  <b>Our mailing address is:</b><br>  edX<br>  11 Cambridge Center, Suite 101<br>  Cambridge, MA, USA 02142<br><br><br>This email was automatically sent from {platform_name}. <br>You are receiving this email at address {email} because you are enrolled in <a href='{course_url}'>{course_title}</a>.<br>To stop receiving email like this, update your course email settings <a href='{email_settings_url}'>here</a>. <br>                        </td>                    </tr>                </tbody></table>                            </td>        </tr>    </tbody></table></td>                                                    </tr>                                                </table>                                            </td>                                        </tr>                                    </table>                                    <!-- // END FOOTER -->                                </td>                            </tr>                        </table>                        <!-- // END TEMPLATE -->                    </td>                </tr>            </table>        </center>    </body>    </body> </html>", "name": null}, "model": "bulk_email.courseemailtemplate", "pk": 1}, {"fields": {"plain_template": "THIS IS A BRANDED TEXT TEMPLATE. {course_title}\n\n{{message_body}}\r\n----\r\nCopyright 2013 edX, All rights reserved.\r\n----\r\nConnect with edX:\r\nFacebook (http://facebook.com/edxonline)\r\nTwitter (http://twitter.com/edxonline)\r\nGoogle+ (https://plus.google.com/108235383044095082735)\r\nMeetup (http://www.meetup.com/edX-Communities/)\r\n----\r\nThis email was automatically sent from {platform_name}.\r\nYou are receiving this email at address {email} because you are enrolled in {course_title}\r\n(URL: {course_url} ).\r\nTo stop receiving email like this, update your course email settings at {email_settings_url}.\r\n", "html_template": "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'><html xmlns:fb='http://www.facebook.com/2008/fbml' xmlns:og='http://opengraph.org/schema/'> <head><meta property='og:title' content='Update from {course_title}'/><meta property='fb:page_id' content='43929265776' />        <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>        THIS IS A BRANDED HTML TEMPLATE <title>Update from {course_title}</title>                    </head>        <body leftmargin='0' marginwidth='0' topmargin='0' marginheight='0' offset='0' style='margin: 0;padding: 0;background-color: #ffffff;'>        <center>            <table align='center' border='0' cellpadding='0' cellspacing='0' height='100%' width='100%' id='bodyTable' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;margin: 0;padding: 0;background-color: #ffffff;height: 100% !important;width: 100% !important;'>                <tr>                   <td align='center' valign='top' id='bodyCell' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;margin: 0;padding: 0;border-top: 0;height: 100% !important;width: 100% !important;'>                        <!-- BEGIN TEMPLATE // -->                        <table border='0' cellpadding='0' cellspacing='0' width='100%' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                            <tr>                                <td align='center' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                    <!-- BEGIN PREHEADER // -->                                    <table border='0' cellpadding='0' cellspacing='0' width='100%' id='templatePreheader' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;background-color: #fcfcfc;border-top: 0;border-bottom: 0;'>                                        <tr>                                        <td align='center' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                <table border='0' cellpadding='0' cellspacing='0' width='600' class='templateContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                    <tr>                                                        <td valign='top' class='preheaderContainer' style='padding-top: 9px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'><table border='0' cellpadding='0' cellspacing='0' width='100%' class='mcnTextBlock' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody class='mcnTextBlockOuter'>        <tr>            <td valign='top' class='mcnTextBlockInner' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                <table align='left' border='0' cellpadding='0' cellspacing='0' width='366' class='mcnTextContentContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                    <tbody><tr>                                                <td valign='top' class='mcnTextContent' style='padding-top: 9px;padding-left: 18px;padding-bottom: 9px;padding-right: 0;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #606060;font-family: Helvetica;font-size: 11px;line-height: 125%;text-align: left;'>                                                    <br>                        </td>                    </tr>                </tbody></table>                            </td>        </tr>    </tbody></table></td>                                                    </tr>                                                </table>                                            </td>                                                                                    </tr>                                    </table>                                    <!-- // END PREHEADER -->                                </td>                            </tr>                            <tr>                                <td align='center' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                    <!-- BEGIN HEADER // -->                                    <table border='0' cellpadding='0' cellspacing='0' width='100%' id='templateHeader' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;background-color: #fcfcfc;border-top: 0;border-bottom: 0;'>                                        <tr>                                            <td align='center' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                <table border='0' cellpadding='0' cellspacing='0' width='600' class='templateContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                    <tr>                                                        <td valign='top' class='headerContainer' style='padding-top: 10px;padding-right: 18px;padding-bottom: 10px;padding-left: 18px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'><table border='0' cellpadding='0' cellspacing='0' width='100%' class='mcnImageBlock' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody class='mcnImageBlockOuter'>            <tr>                <td valign='top' style='padding: 9px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;' class='mcnImageBlockInner'>                    <table align='left' width='100%' border='0' cellpadding='0' cellspacing='0' class='mcnImageContentContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                        <tbody><tr>                            <td class='mcnImageContent' valign='top' style='padding-right: 9px;padding-left: 9px;padding-top: 0;padding-bottom: 0;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                                    <a href='http://edx.org' title='' class='' target='_self' style='word-wrap: break-word !important;'>                                        <img align='left' alt='edX' src='http://courses.edx.org/static/images/bulk_email/edXHeaderImage.jpg' width='564.0000152587891' style='max-width: 600px;padding-bottom: 0;display: inline !important;vertical-align: bottom;border: 0;line-height: 100%;outline: none;text-decoration: none;height: auto !important;' class='mcnImage'>                                    </a>                                                            </td>                        </tr>                    </tbody></table>                </td>            </tr>    </tbody></table><table border='0' cellpadding='0' cellspacing='0' width='100%' class='mcnTextBlock' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody class='mcnTextBlockOuter'>        <tr>            <td valign='top' class='mcnTextBlockInner' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                <table align='left' border='0' cellpadding='0' cellspacing='0' width='599' class='mcnTextContentContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                    <tbody><tr>                                                <td valign='top' class='mcnTextContent' style='padding-top: 9px;padding-right: 18px;padding-bottom: 9px;padding-left: 18px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #606060;font-family: Helvetica;font-size: 15px;line-height: 150%;text-align: left;'>                                                    <div style='text-align: right;'><span style='font-size:11px;'><span style='color:#00a0e3;'>Connect with edX:</span></span> &nbsp;<a href='http://facebook.com/edxonline' target='_blank' style='color: #6DC6DD;font-weight: normal;text-decoration: underline;word-wrap: break-word !important;'><img align='none' height='16' src='http://courses.edx.org/static/images/bulk_email/FacebookIcon.png' style='width: 16px;height: 16px;border: 0;line-height: 100%;outline: none;text-decoration: none;' width='16'></a>&nbsp;&nbsp;<a href='http://twitter.com/edxonline' target='_blank' style='color: #6DC6DD;font-weight: normal;text-decoration: underline;word-wrap: break-word !important;'><img align='none' height='16' src='http://courses.edx.org/static/images/bulk_email/TwitterIcon.png' style='width: 16px;height: 16px;border: 0;line-height: 100%;outline: none;text-decoration: none;' width='16'></a>&nbsp;&nbsp;<a href='https://plus.google.com/108235383044095082735' target='_blank' style='color: #6DC6DD;font-weight: normal;text-decoration: underline;word-wrap: break-word !important;'><img align='none' height='16' src='http://courses.edx.org/static/images/bulk_email/GooglePlusIcon.png' style='width: 16px;height: 16px;border: 0;line-height: 100%;outline: none;text-decoration: none;' width='16'></a>&nbsp;&nbsp;<a href='http://www.meetup.com/edX-Communities/' target='_blank' style='color: #6DC6DD;font-weight: normal;text-decoration: underline;word-wrap: break-word !important;'><img align='none' height='16' src='http://courses.edx.org/static/images/bulk_email/MeetupIcon.png' style='width: 16px;height: 16px;border: 0;line-height: 100%;outline: none;text-decoration: none;' width='16'></a></div>                        </td>                    </tr>                </tbody></table>                            </td>        </tr>    </tbody></table></td>                                                    </tr>                                                </table>                                            </td>                                        </tr>                                    </table>                                    <!-- // END HEADER -->                                </td>                            </tr>                            <tr>                                <td align='center' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                    <!-- BEGIN BODY // -->                                    <table border='0' cellpadding='0' cellspacing='0' width='100%' id='templateBody' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;background-color: #fcfcfc;border-top: 0;border-bottom: 0;'>                                        <tr>                                            <td align='center' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                <table border='0' cellpadding='0' cellspacing='0' width='600' class='templateContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                    <tr>                                                        <td valign='top' class='bodyContainer' style='padding-top: 10px;padding-right: 18px;padding-bottom: 10px;padding-left: 18px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'><table border='0' cellpadding='0' cellspacing='0' width='100%' class='mcnCaptionBlock' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody class='mcnCaptionBlockOuter'>        <tr>            <td class='mcnCaptionBlockInner' valign='top' style='padding: 9px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                <table border='0' cellpadding='0' cellspacing='0' class='mcnCaptionLeftContentOuter' width='100%' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody><tr>        <td valign='top' class='mcnCaptionLeftContentInner' style='padding: 0 9px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>            <table align='right' border='0' cellpadding='0' cellspacing='0' class='mcnCaptionLeftImageContentContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                <tbody><tr>                    <td class='mcnCaptionLeftImageContent' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                                    <img alt='' src='{course_image_url}' width='176' style='max-width: 180px;border: 0;line-height: 100%;outline: none;text-decoration: none;vertical-align: bottom;height: auto !important;' class='mcnImage'>                                                                </td>                </tr>            </tbody></table>            <table class='mcnCaptionLeftTextContentContainer' align='left' border='0' cellpadding='0' cellspacing='0' width='352' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                <tbody><tr>                    <td valign='top' class='mcnTextContent' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #606060;font-family: Helvetica;font-size: 14px;line-height: 150%;text-align: left;'>                        <h3 class='null' style='display: block;font-family: Helvetica;font-size: 18px;font-style: normal;font-weight: bold;line-height: 125%;letter-spacing: -.5px;margin: 0;text-align: left;color: #606060 !important;'><strong style='font-size: 22px;'>{course_title}</strong><br></h3><br>                    </td>                </tr>            </tbody></table>        </td>    </tr></tbody></table>            </td>        </tr>    </tbody></table><table border='0' cellpadding='0' cellspacing='0' width='100%' class='mcnTextBlock' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody class='mcnTextBlockOuter'>        <tr>            <td valign='top' class='mcnTextBlockInner' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                <table align='left' border='0' cellpadding='0' cellspacing='0' width='600' class='mcnTextContentContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                    <tbody><tr>                                                <td valign='top' class='mcnTextContent' style='padding-top: 9px;padding-right: 18px;padding-bottom: 9px;padding-left: 18px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #606060;font-family: Helvetica;font-size: 14px;line-height: 150%;text-align: left;'>                        {{message_body}}                        </td>                    </tr>                </tbody></table>                            </td>        </tr>    </tbody></table><table border='0' cellpadding='0' cellspacing='0' width='100%' class='mcnDividerBlock' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody class='mcnDividerBlockOuter'>        <tr>            <td class='mcnDividerBlockInner' style='padding: 18px 18px 3px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                <table class='mcnDividerContent' border='0' cellpadding='0' cellspacing='0' width='100%' style='border-top-width: 1px;border-top-style: solid;border-top-color: #666666;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                    <tbody><tr>                        <td style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                            <span></span>                        </td>                    </tr>                </tbody></table>            </td>        </tr>    </tbody></table><table border='0' cellpadding='0' cellspacing='0' width='100%' class='mcnTextBlock' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody class='mcnTextBlockOuter'>        <tr>            <td valign='top' class='mcnTextBlockInner' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                <table align='left' border='0' cellpadding='0' cellspacing='0' width='600' class='mcnTextContentContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                    <tbody><tr>                                                <td valign='top' class='mcnTextContent' style='padding-top: 9px;padding-right: 18px;padding-bottom: 9px;padding-left: 18px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #606060;font-family: Helvetica;font-size: 14px;line-height: 150%;text-align: left;'>                                                    <div style='text-align: right;'><a href='http://facebook.com/edxonline' target='_blank' style='color: #2f73bc;font-weight: normal;text-decoration: underline;word-wrap: break-word !important;'><img align='none' height='16' src='http://courses.edx.org/static/images/bulk_email/FacebookIcon.png' style='width: 16px;height: 16px;border: 0;line-height: 100%;outline: none;text-decoration: none;' width='16'></a>&nbsp;&nbsp;<a href='http://twitter.com/edxonline' target='_blank' style='color: #2f73bc;font-weight: normal;text-decoration: underline;word-wrap: break-word !important;'><img align='none' height='16' src='http://courses.edx.org/static/images/bulk_email/TwitterIcon.png' style='width: 16px;height: 16px;border: 0;line-height: 100%;outline: none;text-decoration: none;' width='16'></a>&nbsp;&nbsp;<a href='https://plus.google.com/108235383044095082735' target='_blank' style='color: #2f73bc;font-weight: normal;text-decoration: underline;word-wrap: break-word !important;'><img align='none' height='16' src='http://courses.edx.org/static/images/bulk_email/GooglePlusIcon.png' style='width: 16px;height: 16px;border: 0;line-height: 100%;outline: none;text-decoration: none;' width='16'></a>&nbsp; &nbsp;<a href='http://www.meetup.com/edX-Communities/' target='_blank' style='color: #2f73bc;font-weight: normal;text-decoration: underline;word-wrap: break-word !important;'><img align='none' height='16' src='http://courses.edx.org/static/images/bulk_email/MeetupIcon.png' style='width: 16px;height: 16px;border: 0;line-height: 100%;outline: none;text-decoration: none;' width='16'></a></div>                        </td>                    </tr>                </tbody></table>                            </td>        </tr>    </tbody></table></td>                                                    </tr>                                                </table>                                            </td>                                        </tr>                                    </table>                                    <!-- // END BODY -->                                </td>                            </tr>                            <tr>                                <td align='center' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                    <!-- BEGIN FOOTER // -->                                    <table border='0' cellpadding='0' cellspacing='0' width='100%' id='templateFooter' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;background-color: #9FCFE8;border-top: 0;border-bottom: 0;'>                                        <tr>                                            <td align='center' valign='top' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                <table border='0' cellpadding='0' cellspacing='0' width='600' class='templateContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                                    <tr>                                                        <td valign='top' class='footerContainer' style='padding-top: 10px;padding-right: 18px;padding-bottom: 10px;padding-left: 18px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'><table border='0' cellpadding='0' cellspacing='0' width='100%' class='mcnTextBlock' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>    <tbody class='mcnTextBlockOuter'>        <tr>            <td valign='top' class='mcnTextBlockInner' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                                <table align='left' border='0' cellpadding='0' cellspacing='0' width='600' class='mcnTextContentContainer' style='border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;'>                    <tbody><tr>                                                <td valign='top' class='mcnTextContent' style='padding-top: 9px;padding-right: 18px;padding-bottom: 9px;padding-left: 18px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #f2f2f2;font-family: Helvetica;font-size: 11px;line-height: 125%;text-align: left;'>                                                    <em>Copyright \u00a9 2013 edX, All rights reserved.</em><br><br><br>  <b>Our mailing address is:</b><br>  edX<br>  11 Cambridge Center, Suite 101<br>  Cambridge, MA, USA 02142<br><br><br>This email was automatically sent from {platform_name}. <br>You are receiving this email at address {email} because you are enrolled in <a href='{course_url}'>{course_title}</a>.<br>To stop receiving email like this, update your course email settings <a href='{email_settings_url}'>here</a>. <br>                        </td>                    </tr>                </tbody></table>                            </td>        </tr>    </tbody></table></td>                                                    </tr>                                                </table>                                            </td>                                        </tr>                                    </table>                                    <!-- // END FOOTER -->                                </td>                            </tr>                        </table>                        <!-- // END TEMPLATE -->                    </td>                </tr>            </table>        </center>    </body>    </body> </html>", "name": "branded.template"}, "model": "bulk_email.courseemailtemplate", "pk": 2}, {"fields": {"country": "AF"}, "model": "embargo.country", "pk": 1}, {"fields": {"country": "AX"}, "model": "embargo.country", "pk": 2}, {"fields": {"country": "AL"}, "model": "embargo.country", "pk": 3}, {"fields": {"country": "DZ"}, "model": "embargo.country", "pk": 4}, {"fields": {"country": "AS"}, "model": "embargo.country", "pk": 5}, {"fields": {"country": "AD"}, "model": "embargo.country", "pk": 6}, {"fields": {"country": "AO"}, "model": "embargo.country", "pk": 7}, {"fields": {"country": "AI"}, "model": "embargo.country", "pk": 8}, {"fields": {"country": "AQ"}, "model": "embargo.country", "pk": 9}, {"fields": {"country": "AG"}, "model": "embargo.country", "pk": 10}, {"fields": {"country": "AR"}, "model": "embargo.country", "pk": 11}, {"fields": {"country": "AM"}, "model": "embargo.country", "pk": 12}, {"fields": {"country": "AW"}, "model": "embargo.country", "pk": 13}, {"fields": {"country": "AU"}, "model": "embargo.country", "pk": 14}, {"fields": {"country": "AT"}, "model": "embargo.country", "pk": 15}, {"fields": {"country": "AZ"}, "model": "embargo.country", "pk": 16}, {"fields": {"country": "BS"}, "model": "embargo.country", "pk": 17}, {"fields": {"country": "BH"}, "model": "embargo.country", "pk": 18}, {"fields": {"country": "BD"}, "model": "embargo.country", "pk": 19}, {"fields": {"country": "BB"}, "model": "embargo.country", "pk": 20}, {"fields": {"country": "BY"}, "model": "embargo.country", "pk": 21}, {"fields": {"country": "BE"}, "model": "embargo.country", "pk": 22}, {"fields": {"country": "BZ"}, "model": "embargo.country", "pk": 23}, {"fields": {"country": "BJ"}, "model": "embargo.country", "pk": 24}, {"fields": {"country": "BM"}, "model": "embargo.country", "pk": 25}, {"fields": {"country": "BT"}, "model": "embargo.country", "pk": 26}, {"fields": {"country": "BO"}, "model": "embargo.country", "pk": 27}, {"fields": {"country": "BQ"}, "model": "embargo.country", "pk": 28}, {"fields": {"country": "BA"}, "model": "embargo.country", "pk": 29}, {"fields": {"country": "BW"}, "model": "embargo.country", "pk": 30}, {"fields": {"country": "BV"}, "model": "embargo.country", "pk": 31}, {"fields": {"country": "BR"}, "model": "embargo.country", "pk": 32}, {"fields": {"country": "IO"}, "model": "embargo.country", "pk": 33}, {"fields": {"country": "BN"}, "model": "embargo.country", "pk": 34}, {"fields": {"country": "BG"}, "model": "embargo.country", "pk": 35}, {"fields": {"country": "BF"}, "model": "embargo.country", "pk": 36}, {"fields": {"country": "BI"}, "model": "embargo.country", "pk": 37}, {"fields": {"country": "CV"}, "model": "embargo.country", "pk": 38}, {"fields": {"country": "KH"}, "model": "embargo.country", "pk": 39}, {"fields": {"country": "CM"}, "model": "embargo.country", "pk": 40}, {"fields": {"country": "CA"}, "model": "embargo.country", "pk": 41}, {"fields": {"country": "KY"}, "model": "embargo.country", "pk": 42}, {"fields": {"country": "CF"}, "model": "embargo.country", "pk": 43}, {"fields": {"country": "TD"}, "model": "embargo.country", "pk": 44}, {"fields": {"country": "CL"}, "model": "embargo.country", "pk": 45}, {"fields": {"country": "CN"}, "model": "embargo.country", "pk": 46}, {"fields": {"country": "CX"}, "model": "embargo.country", "pk": 47}, {"fields": {"country": "CC"}, "model": "embargo.country", "pk": 48}, {"fields": {"country": "CO"}, "model": "embargo.country", "pk": 49}, {"fields": {"country": "KM"}, "model": "embargo.country", "pk": 50}, {"fields": {"country": "CG"}, "model": "embargo.country", "pk": 51}, {"fields": {"country": "CD"}, "model": "embargo.country", "pk": 52}, {"fields": {"country": "CK"}, "model": "embargo.country", "pk": 53}, {"fields": {"country": "CR"}, "model": "embargo.country", "pk": 54}, {"fields": {"country": "CI"}, "model": "embargo.country", "pk": 55}, {"fields": {"country": "HR"}, "model": "embargo.country", "pk": 56}, {"fields": {"country": "CU"}, "model": "embargo.country", "pk": 57}, {"fields": {"country": "CW"}, "model": "embargo.country", "pk": 58}, {"fields": {"country": "CY"}, "model": "embargo.country", "pk": 59}, {"fields": {"country": "CZ"}, "model": "embargo.country", "pk": 60}, {"fields": {"country": "DK"}, "model": "embargo.country", "pk": 61}, {"fields": {"country": "DJ"}, "model": "embargo.country", "pk": 62}, {"fields": {"country": "DM"}, "model": "embargo.country", "pk": 63}, {"fields": {"country": "DO"}, "model": "embargo.country", "pk": 64}, {"fields": {"country": "EC"}, "model": "embargo.country", "pk": 65}, {"fields": {"country": "EG"}, "model": "embargo.country", "pk": 66}, {"fields": {"country": "SV"}, "model": "embargo.country", "pk": 67}, {"fields": {"country": "GQ"}, "model": "embargo.country", "pk": 68}, {"fields": {"country": "ER"}, "model": "embargo.country", "pk": 69}, {"fields": {"country": "EE"}, "model": "embargo.country", "pk": 70}, {"fields": {"country": "ET"}, "model": "embargo.country", "pk": 71}, {"fields": {"country": "FK"}, "model": "embargo.country", "pk": 72}, {"fields": {"country": "FO"}, "model": "embargo.country", "pk": 73}, {"fields": {"country": "FJ"}, "model": "embargo.country", "pk": 74}, {"fields": {"country": "FI"}, "model": "embargo.country", "pk": 75}, {"fields": {"country": "FR"}, "model": "embargo.country", "pk": 76}, {"fields": {"country": "GF"}, "model": "embargo.country", "pk": 77}, {"fields": {"country": "PF"}, "model": "embargo.country", "pk": 78}, {"fields": {"country": "TF"}, "model": "embargo.country", "pk": 79}, {"fields": {"country": "GA"}, "model": "embargo.country", "pk": 80}, {"fields": {"country": "GM"}, "model": "embargo.country", "pk": 81}, {"fields": {"country": "GE"}, "model": "embargo.country", "pk": 82}, {"fields": {"country": "DE"}, "model": "embargo.country", "pk": 83}, {"fields": {"country": "GH"}, "model": "embargo.country", "pk": 84}, {"fields": {"country": "GI"}, "model": "embargo.country", "pk": 85}, {"fields": {"country": "GR"}, "model": "embargo.country", "pk": 86}, {"fields": {"country": "GL"}, "model": "embargo.country", "pk": 87}, {"fields": {"country": "GD"}, "model": "embargo.country", "pk": 88}, {"fields": {"country": "GP"}, "model": "embargo.country", "pk": 89}, {"fields": {"country": "GU"}, "model": "embargo.country", "pk": 90}, {"fields": {"country": "GT"}, "model": "embargo.country", "pk": 91}, {"fields": {"country": "GG"}, "model": "embargo.country", "pk": 92}, {"fields": {"country": "GN"}, "model": "embargo.country", "pk": 93}, {"fields": {"country": "GW"}, "model": "embargo.country", "pk": 94}, {"fields": {"country": "GY"}, "model": "embargo.country", "pk": 95}, {"fields": {"country": "HT"}, "model": "embargo.country", "pk": 96}, {"fields": {"country": "HM"}, "model": "embargo.country", "pk": 97}, {"fields": {"country": "VA"}, "model": "embargo.country", "pk": 98}, {"fields": {"country": "HN"}, "model": "embargo.country", "pk": 99}, {"fields": {"country": "HK"}, "model": "embargo.country", "pk": 100}, {"fields": {"country": "HU"}, "model": "embargo.country", "pk": 101}, {"fields": {"country": "IS"}, "model": "embargo.country", "pk": 102}, {"fields": {"country": "IN"}, "model": "embargo.country", "pk": 103}, {"fields": {"country": "ID"}, "model": "embargo.country", "pk": 104}, {"fields": {"country": "IR"}, "model": "embargo.country", "pk": 105}, {"fields": {"country": "IQ"}, "model": "embargo.country", "pk": 106}, {"fields": {"country": "IE"}, "model": "embargo.country", "pk": 107}, {"fields": {"country": "IM"}, "model": "embargo.country", "pk": 108}, {"fields": {"country": "IL"}, "model": "embargo.country", "pk": 109}, {"fields": {"country": "IT"}, "model": "embargo.country", "pk": 110}, {"fields": {"country": "JM"}, "model": "embargo.country", "pk": 111}, {"fields": {"country": "JP"}, "model": "embargo.country", "pk": 112}, {"fields": {"country": "JE"}, "model": "embargo.country", "pk": 113}, {"fields": {"country": "JO"}, "model": "embargo.country", "pk": 114}, {"fields": {"country": "KZ"}, "model": "embargo.country", "pk": 115}, {"fields": {"country": "KE"}, "model": "embargo.country", "pk": 116}, {"fields": {"country": "KI"}, "model": "embargo.country", "pk": 117}, {"fields": {"country": "KW"}, "model": "embargo.country", "pk": 118}, {"fields": {"country": "KG"}, "model": "embargo.country", "pk": 119}, {"fields": {"country": "LA"}, "model": "embargo.country", "pk": 120}, {"fields": {"country": "LV"}, "model": "embargo.country", "pk": 121}, {"fields": {"country": "LB"}, "model": "embargo.country", "pk": 122}, {"fields": {"country": "LS"}, "model": "embargo.country", "pk": 123}, {"fields": {"country": "LR"}, "model": "embargo.country", "pk": 124}, {"fields": {"country": "LY"}, "model": "embargo.country", "pk": 125}, {"fields": {"country": "LI"}, "model": "embargo.country", "pk": 126}, {"fields": {"country": "LT"}, "model": "embargo.country", "pk": 127}, {"fields": {"country": "LU"}, "model": "embargo.country", "pk": 128}, {"fields": {"country": "MO"}, "model": "embargo.country", "pk": 129}, {"fields": {"country": "MK"}, "model": "embargo.country", "pk": 130}, {"fields": {"country": "MG"}, "model": "embargo.country", "pk": 131}, {"fields": {"country": "MW"}, "model": "embargo.country", "pk": 132}, {"fields": {"country": "MY"}, "model": "embargo.country", "pk": 133}, {"fields": {"country": "MV"}, "model": "embargo.country", "pk": 134}, {"fields": {"country": "ML"}, "model": "embargo.country", "pk": 135}, {"fields": {"country": "MT"}, "model": "embargo.country", "pk": 136}, {"fields": {"country": "MH"}, "model": "embargo.country", "pk": 137}, {"fields": {"country": "MQ"}, "model": "embargo.country", "pk": 138}, {"fields": {"country": "MR"}, "model": "embargo.country", "pk": 139}, {"fields": {"country": "MU"}, "model": "embargo.country", "pk": 140}, {"fields": {"country": "YT"}, "model": "embargo.country", "pk": 141}, {"fields": {"country": "MX"}, "model": "embargo.country", "pk": 142}, {"fields": {"country": "FM"}, "model": "embargo.country", "pk": 143}, {"fields": {"country": "MD"}, "model": "embargo.country", "pk": 144}, {"fields": {"country": "MC"}, "model": "embargo.country", "pk": 145}, {"fields": {"country": "MN"}, "model": "embargo.country", "pk": 146}, {"fields": {"country": "ME"}, "model": "embargo.country", "pk": 147}, {"fields": {"country": "MS"}, "model": "embargo.country", "pk": 148}, {"fields": {"country": "MA"}, "model": "embargo.country", "pk": 149}, {"fields": {"country": "MZ"}, "model": "embargo.country", "pk": 150}, {"fields": {"country": "MM"}, "model": "embargo.country", "pk": 151}, {"fields": {"country": "NA"}, "model": "embargo.country", "pk": 152}, {"fields": {"country": "NR"}, "model": "embargo.country", "pk": 153}, {"fields": {"country": "NP"}, "model": "embargo.country", "pk": 154}, {"fields": {"country": "NL"}, "model": "embargo.country", "pk": 155}, {"fields": {"country": "NC"}, "model": "embargo.country", "pk": 156}, {"fields": {"country": "NZ"}, "model": "embargo.country", "pk": 157}, {"fields": {"country": "NI"}, "model": "embargo.country", "pk": 158}, {"fields": {"country": "NE"}, "model": "embargo.country", "pk": 159}, {"fields": {"country": "NG"}, "model": "embargo.country", "pk": 160}, {"fields": {"country": "NU"}, "model": "embargo.country", "pk": 161}, {"fields": {"country": "NF"}, "model": "embargo.country", "pk": 162}, {"fields": {"country": "KP"}, "model": "embargo.country", "pk": 163}, {"fields": {"country": "MP"}, "model": "embargo.country", "pk": 164}, {"fields": {"country": "NO"}, "model": "embargo.country", "pk": 165}, {"fields": {"country": "OM"}, "model": "embargo.country", "pk": 166}, {"fields": {"country": "PK"}, "model": "embargo.country", "pk": 167}, {"fields": {"country": "PW"}, "model": "embargo.country", "pk": 168}, {"fields": {"country": "PS"}, "model": "embargo.country", "pk": 169}, {"fields": {"country": "PA"}, "model": "embargo.country", "pk": 170}, {"fields": {"country": "PG"}, "model": "embargo.country", "pk": 171}, {"fields": {"country": "PY"}, "model": "embargo.country", "pk": 172}, {"fields": {"country": "PE"}, "model": "embargo.country", "pk": 173}, {"fields": {"country": "PH"}, "model": "embargo.country", "pk": 174}, {"fields": {"country": "PN"}, "model": "embargo.country", "pk": 175}, {"fields": {"country": "PL"}, "model": "embargo.country", "pk": 176}, {"fields": {"country": "PT"}, "model": "embargo.country", "pk": 177}, {"fields": {"country": "PR"}, "model": "embargo.country", "pk": 178}, {"fields": {"country": "QA"}, "model": "embargo.country", "pk": 179}, {"fields": {"country": "RE"}, "model": "embargo.country", "pk": 180}, {"fields": {"country": "RO"}, "model": "embargo.country", "pk": 181}, {"fields": {"country": "RU"}, "model": "embargo.country", "pk": 182}, {"fields": {"country": "RW"}, "model": "embargo.country", "pk": 183}, {"fields": {"country": "BL"}, "model": "embargo.country", "pk": 184}, {"fields": {"country": "SH"}, "model": "embargo.country", "pk": 185}, {"fields": {"country": "KN"}, "model": "embargo.country", "pk": 186}, {"fields": {"country": "LC"}, "model": "embargo.country", "pk": 187}, {"fields": {"country": "MF"}, "model": "embargo.country", "pk": 188}, {"fields": {"country": "PM"}, "model": "embargo.country", "pk": 189}, {"fields": {"country": "VC"}, "model": "embargo.country", "pk": 190}, {"fields": {"country": "WS"}, "model": "embargo.country", "pk": 191}, {"fields": {"country": "SM"}, "model": "embargo.country", "pk": 192}, {"fields": {"country": "ST"}, "model": "embargo.country", "pk": 193}, {"fields": {"country": "SA"}, "model": "embargo.country", "pk": 194}, {"fields": {"country": "SN"}, "model": "embargo.country", "pk": 195}, {"fields": {"country": "RS"}, "model": "embargo.country", "pk": 196}, {"fields": {"country": "SC"}, "model": "embargo.country", "pk": 197}, {"fields": {"country": "SL"}, "model": "embargo.country", "pk": 198}, {"fields": {"country": "SG"}, "model": "embargo.country", "pk": 199}, {"fields": {"country": "SX"}, "model": "embargo.country", "pk": 200}, {"fields": {"country": "SK"}, "model": "embargo.country", "pk": 201}, {"fields": {"country": "SI"}, "model": "embargo.country", "pk": 202}, {"fields": {"country": "SB"}, "model": "embargo.country", "pk": 203}, {"fields": {"country": "SO"}, "model": "embargo.country", "pk": 204}, {"fields": {"country": "ZA"}, "model": "embargo.country", "pk": 205}, {"fields": {"country": "GS"}, "model": "embargo.country", "pk": 206}, {"fields": {"country": "KR"}, "model": "embargo.country", "pk": 207}, {"fields": {"country": "SS"}, "model": "embargo.country", "pk": 208}, {"fields": {"country": "ES"}, "model": "embargo.country", "pk": 209}, {"fields": {"country": "LK"}, "model": "embargo.country", "pk": 210}, {"fields": {"country": "SD"}, "model": "embargo.country", "pk": 211}, {"fields": {"country": "SR"}, "model": "embargo.country", "pk": 212}, {"fields": {"country": "SJ"}, "model": "embargo.country", "pk": 213}, {"fields": {"country": "SZ"}, "model": "embargo.country", "pk": 214}, {"fields": {"country": "SE"}, "model": "embargo.country", "pk": 215}, {"fields": {"country": "CH"}, "model": "embargo.country", "pk": 216}, {"fields": {"country": "SY"}, "model": "embargo.country", "pk": 217}, {"fields": {"country": "TW"}, "model": "embargo.country", "pk": 218}, {"fields": {"country": "TJ"}, "model": "embargo.country", "pk": 219}, {"fields": {"country": "TZ"}, "model": "embargo.country", "pk": 220}, {"fields": {"country": "TH"}, "model": "embargo.country", "pk": 221}, {"fields": {"country": "TL"}, "model": "embargo.country", "pk": 222}, {"fields": {"country": "TG"}, "model": "embargo.country", "pk": 223}, {"fields": {"country": "TK"}, "model": "embargo.country", "pk": 224}, {"fields": {"country": "TO"}, "model": "embargo.country", "pk": 225}, {"fields": {"country": "TT"}, "model": "embargo.country", "pk": 226}, {"fields": {"country": "TN"}, "model": "embargo.country", "pk": 227}, {"fields": {"country": "TR"}, "model": "embargo.country", "pk": 228}, {"fields": {"country": "TM"}, "model": "embargo.country", "pk": 229}, {"fields": {"country": "TC"}, "model": "embargo.country", "pk": 230}, {"fields": {"country": "TV"}, "model": "embargo.country", "pk": 231}, {"fields": {"country": "UG"}, "model": "embargo.country", "pk": 232}, {"fields": {"country": "UA"}, "model": "embargo.country", "pk": 233}, {"fields": {"country": "AE"}, "model": "embargo.country", "pk": 234}, {"fields": {"country": "GB"}, "model": "embargo.country", "pk": 235}, {"fields": {"country": "UM"}, "model": "embargo.country", "pk": 236}, {"fields": {"country": "US"}, "model": "embargo.country", "pk": 237}, {"fields": {"country": "UY"}, "model": "embargo.country", "pk": 238}, {"fields": {"country": "UZ"}, "model": "embargo.country", "pk": 239}, {"fields": {"country": "VU"}, "model": "embargo.country", "pk": 240}, {"fields": {"country": "VE"}, "model": "embargo.country", "pk": 241}, {"fields": {"country": "VN"}, "model": "embargo.country", "pk": 242}, {"fields": {"country": "VG"}, "model": "embargo.country", "pk": 243}, {"fields": {"country": "VI"}, "model": "embargo.country", "pk": 244}, {"fields": {"country": "WF"}, "model": "embargo.country", "pk": 245}, {"fields": {"country": "EH"}, "model": "embargo.country", "pk": 246}, {"fields": {"country": "YE"}, "model": "embargo.country", "pk": 247}, {"fields": {"country": "ZM"}, "model": "embargo.country", "pk": 248}, {"fields": {"country": "ZW"}, "model": "embargo.country", "pk": 249}, {"fields": {"profile_name": "desktop_mp4"}, "model": "edxval.profile", "pk": 1}, {"fields": {"profile_name": "desktop_webm"}, "model": "edxval.profile", "pk": 2}, {"fields": {"profile_name": "mobile_high"}, "model": "edxval.profile", "pk": 3}, {"fields": {"profile_name": "mobile_low"}, "model": "edxval.profile", "pk": 4}, {"fields": {"profile_name": "youtube"}, "model": "edxval.profile", "pk": 5}, {"fields": {"active": true, "description": "Autogenerated milestone relationship type \"fulfills\"", "modified": "2016-01-21T18:53:35.745Z", "name": "fulfills", "created": "2016-01-21T18:53:35.744Z"}, "model": "milestones.milestonerelationshiptype", "pk": 1}, {"fields": {"active": true, "description": "Autogenerated milestone relationship type \"requires\"", "modified": "2016-01-21T18:53:35.747Z", "name": "requires", "created": "2016-01-21T18:53:35.747Z"}, "model": "milestones.milestonerelationshiptype", "pk": 2}, {"fields": {"codename": "add_permission", "name": "Can add permission", "content_type": 1}, "model": "auth.permission", "pk": 1}, {"fields": {"codename": "change_permission", "name": "Can change permission", "content_type": 1}, "model": "auth.permission", "pk": 2}, {"fields": {"codename": "delete_permission", "name": "Can delete permission", "content_type": 1}, "model": "auth.permission", "pk": 3}, {"fields": {"codename": "add_group", "name": "Can add group", "content_type": 2}, "model": "auth.permission", "pk": 4}, {"fields": {"codename": "change_group", "name": "Can change group", "content_type": 2}, "model": "auth.permission", "pk": 5}, {"fields": {"codename": "delete_group", "name": "Can delete group", "content_type": 2}, "model": "auth.permission", "pk": 6}, {"fields": {"codename": "add_user", "name": "Can add user", "content_type": 3}, "model": "auth.permission", "pk": 7}, {"fields": {"codename": "change_user", "name": "Can change user", "content_type": 3}, "model": "auth.permission", "pk": 8}, {"fields": {"codename": "delete_user", "name": "Can delete user", "content_type": 3}, "model": "auth.permission", "pk": 9}, {"fields": {"codename": "add_contenttype", "name": "Can add content type", "content_type": 4}, "model": "auth.permission", "pk": 10}, {"fields": {"codename": "change_contenttype", "name": "Can change content type", "content_type": 4}, "model": "auth.permission", "pk": 11}, {"fields": {"codename": "delete_contenttype", "name": "Can delete content type", "content_type": 4}, "model": "auth.permission", "pk": 12}, {"fields": {"codename": "add_session", "name": "Can add session", "content_type": 5}, "model": "auth.permission", "pk": 13}, {"fields": {"codename": "change_session", "name": "Can change session", "content_type": 5}, "model": "auth.permission", "pk": 14}, {"fields": {"codename": "delete_session", "name": "Can delete session", "content_type": 5}, "model": "auth.permission", "pk": 15}, {"fields": {"codename": "add_site", "name": "Can add site", "content_type": 6}, "model": "auth.permission", "pk": 16}, {"fields": {"codename": "change_site", "name": "Can change site", "content_type": 6}, "model": "auth.permission", "pk": 17}, {"fields": {"codename": "delete_site", "name": "Can delete site", "content_type": 6}, "model": "auth.permission", "pk": 18}, {"fields": {"codename": "add_taskmeta", "name": "Can add task state", "content_type": 7}, "model": "auth.permission", "pk": 19}, {"fields": {"codename": "change_taskmeta", "name": "Can change task state", "content_type": 7}, "model": "auth.permission", "pk": 20}, {"fields": {"codename": "delete_taskmeta", "name": "Can delete task state", "content_type": 7}, "model": "auth.permission", "pk": 21}, {"fields": {"codename": "add_tasksetmeta", "name": "Can add saved group result", "content_type": 8}, "model": "auth.permission", "pk": 22}, {"fields": {"codename": "change_tasksetmeta", "name": "Can change saved group result", "content_type": 8}, "model": "auth.permission", "pk": 23}, {"fields": {"codename": "delete_tasksetmeta", "name": "Can delete saved group result", "content_type": 8}, "model": "auth.permission", "pk": 24}, {"fields": {"codename": "add_intervalschedule", "name": "Can add interval", "content_type": 9}, "model": "auth.permission", "pk": 25}, {"fields": {"codename": "change_intervalschedule", "name": "Can change interval", "content_type": 9}, "model": "auth.permission", "pk": 26}, {"fields": {"codename": "delete_intervalschedule", "name": "Can delete interval", "content_type": 9}, "model": "auth.permission", "pk": 27}, {"fields": {"codename": "add_crontabschedule", "name": "Can add crontab", "content_type": 10}, "model": "auth.permission", "pk": 28}, {"fields": {"codename": "change_crontabschedule", "name": "Can change crontab", "content_type": 10}, "model": "auth.permission", "pk": 29}, {"fields": {"codename": "delete_crontabschedule", "name": "Can delete crontab", "content_type": 10}, "model": "auth.permission", "pk": 30}, {"fields": {"codename": "add_periodictasks", "name": "Can add periodic tasks", "content_type": 11}, "model": "auth.permission", "pk": 31}, {"fields": {"codename": "change_periodictasks", "name": "Can change periodic tasks", "content_type": 11}, "model": "auth.permission", "pk": 32}, {"fields": {"codename": "delete_periodictasks", "name": "Can delete periodic tasks", "content_type": 11}, "model": "auth.permission", "pk": 33}, {"fields": {"codename": "add_periodictask", "name": "Can add periodic task", "content_type": 12}, "model": "auth.permission", "pk": 34}, {"fields": {"codename": "change_periodictask", "name": "Can change periodic task", "content_type": 12}, "model": "auth.permission", "pk": 35}, {"fields": {"codename": "delete_periodictask", "name": "Can delete periodic task", "content_type": 12}, "model": "auth.permission", "pk": 36}, {"fields": {"codename": "add_workerstate", "name": "Can add worker", "content_type": 13}, "model": "auth.permission", "pk": 37}, {"fields": {"codename": "change_workerstate", "name": "Can change worker", "content_type": 13}, "model": "auth.permission", "pk": 38}, {"fields": {"codename": "delete_workerstate", "name": "Can delete worker", "content_type": 13}, "model": "auth.permission", "pk": 39}, {"fields": {"codename": "add_taskstate", "name": "Can add task", "content_type": 14}, "model": "auth.permission", "pk": 40}, {"fields": {"codename": "change_taskstate", "name": "Can change task", "content_type": 14}, "model": "auth.permission", "pk": 41}, {"fields": {"codename": "delete_taskstate", "name": "Can delete task", "content_type": 14}, "model": "auth.permission", "pk": 42}, {"fields": {"codename": "add_globalstatusmessage", "name": "Can add global status message", "content_type": 15}, "model": "auth.permission", "pk": 43}, {"fields": {"codename": "change_globalstatusmessage", "name": "Can change global status message", "content_type": 15}, "model": "auth.permission", "pk": 44}, {"fields": {"codename": "delete_globalstatusmessage", "name": "Can delete global status message", "content_type": 15}, "model": "auth.permission", "pk": 45}, {"fields": {"codename": "add_coursemessage", "name": "Can add course message", "content_type": 16}, "model": "auth.permission", "pk": 46}, {"fields": {"codename": "change_coursemessage", "name": "Can change course message", "content_type": 16}, "model": "auth.permission", "pk": 47}, {"fields": {"codename": "delete_coursemessage", "name": "Can delete course message", "content_type": 16}, "model": "auth.permission", "pk": 48}, {"fields": {"codename": "add_assetbaseurlconfig", "name": "Can add asset base url config", "content_type": 17}, "model": "auth.permission", "pk": 49}, {"fields": {"codename": "change_assetbaseurlconfig", "name": "Can change asset base url config", "content_type": 17}, "model": "auth.permission", "pk": 50}, {"fields": {"codename": "delete_assetbaseurlconfig", "name": "Can delete asset base url config", "content_type": 17}, "model": "auth.permission", "pk": 51}, {"fields": {"codename": "add_studentmodule", "name": "Can add student module", "content_type": 18}, "model": "auth.permission", "pk": 52}, {"fields": {"codename": "change_studentmodule", "name": "Can change student module", "content_type": 18}, "model": "auth.permission", "pk": 53}, {"fields": {"codename": "delete_studentmodule", "name": "Can delete student module", "content_type": 18}, "model": "auth.permission", "pk": 54}, {"fields": {"codename": "add_studentmodulehistory", "name": "Can add student module history", "content_type": 19}, "model": "auth.permission", "pk": 55}, {"fields": {"codename": "change_studentmodulehistory", "name": "Can change student module history", "content_type": 19}, "model": "auth.permission", "pk": 56}, {"fields": {"codename": "delete_studentmodulehistory", "name": "Can delete student module history", "content_type": 19}, "model": "auth.permission", "pk": 57}, {"fields": {"codename": "add_xmoduleuserstatesummaryfield", "name": "Can add x module user state summary field", "content_type": 20}, "model": "auth.permission", "pk": 58}, {"fields": {"codename": "change_xmoduleuserstatesummaryfield", "name": "Can change x module user state summary field", "content_type": 20}, "model": "auth.permission", "pk": 59}, {"fields": {"codename": "delete_xmoduleuserstatesummaryfield", "name": "Can delete x module user state summary field", "content_type": 20}, "model": "auth.permission", "pk": 60}, {"fields": {"codename": "add_xmodulestudentprefsfield", "name": "Can add x module student prefs field", "content_type": 21}, "model": "auth.permission", "pk": 61}, {"fields": {"codename": "change_xmodulestudentprefsfield", "name": "Can change x module student prefs field", "content_type": 21}, "model": "auth.permission", "pk": 62}, {"fields": {"codename": "delete_xmodulestudentprefsfield", "name": "Can delete x module student prefs field", "content_type": 21}, "model": "auth.permission", "pk": 63}, {"fields": {"codename": "add_xmodulestudentinfofield", "name": "Can add x module student info field", "content_type": 22}, "model": "auth.permission", "pk": 64}, {"fields": {"codename": "change_xmodulestudentinfofield", "name": "Can change x module student info field", "content_type": 22}, "model": "auth.permission", "pk": 65}, {"fields": {"codename": "delete_xmodulestudentinfofield", "name": "Can delete x module student info field", "content_type": 22}, "model": "auth.permission", "pk": 66}, {"fields": {"codename": "add_offlinecomputedgrade", "name": "Can add offline computed grade", "content_type": 23}, "model": "auth.permission", "pk": 67}, {"fields": {"codename": "change_offlinecomputedgrade", "name": "Can change offline computed grade", "content_type": 23}, "model": "auth.permission", "pk": 68}, {"fields": {"codename": "delete_offlinecomputedgrade", "name": "Can delete offline computed grade", "content_type": 23}, "model": "auth.permission", "pk": 69}, {"fields": {"codename": "add_offlinecomputedgradelog", "name": "Can add offline computed grade log", "content_type": 24}, "model": "auth.permission", "pk": 70}, {"fields": {"codename": "change_offlinecomputedgradelog", "name": "Can change offline computed grade log", "content_type": 24}, "model": "auth.permission", "pk": 71}, {"fields": {"codename": "delete_offlinecomputedgradelog", "name": "Can delete offline computed grade log", "content_type": 24}, "model": "auth.permission", "pk": 72}, {"fields": {"codename": "add_studentfieldoverride", "name": "Can add student field override", "content_type": 25}, "model": "auth.permission", "pk": 73}, {"fields": {"codename": "change_studentfieldoverride", "name": "Can change student field override", "content_type": 25}, "model": "auth.permission", "pk": 74}, {"fields": {"codename": "delete_studentfieldoverride", "name": "Can delete student field override", "content_type": 25}, "model": "auth.permission", "pk": 75}, {"fields": {"codename": "add_anonymoususerid", "name": "Can add anonymous user id", "content_type": 26}, "model": "auth.permission", "pk": 76}, {"fields": {"codename": "change_anonymoususerid", "name": "Can change anonymous user id", "content_type": 26}, "model": "auth.permission", "pk": 77}, {"fields": {"codename": "delete_anonymoususerid", "name": "Can delete anonymous user id", "content_type": 26}, "model": "auth.permission", "pk": 78}, {"fields": {"codename": "add_userstanding", "name": "Can add user standing", "content_type": 27}, "model": "auth.permission", "pk": 79}, {"fields": {"codename": "change_userstanding", "name": "Can change user standing", "content_type": 27}, "model": "auth.permission", "pk": 80}, {"fields": {"codename": "delete_userstanding", "name": "Can delete user standing", "content_type": 27}, "model": "auth.permission", "pk": 81}, {"fields": {"codename": "add_userprofile", "name": "Can add user profile", "content_type": 28}, "model": "auth.permission", "pk": 82}, {"fields": {"codename": "change_userprofile", "name": "Can change user profile", "content_type": 28}, "model": "auth.permission", "pk": 83}, {"fields": {"codename": "delete_userprofile", "name": "Can delete user profile", "content_type": 28}, "model": "auth.permission", "pk": 84}, {"fields": {"codename": "add_usersignupsource", "name": "Can add user signup source", "content_type": 29}, "model": "auth.permission", "pk": 85}, {"fields": {"codename": "change_usersignupsource", "name": "Can change user signup source", "content_type": 29}, "model": "auth.permission", "pk": 86}, {"fields": {"codename": "delete_usersignupsource", "name": "Can delete user signup source", "content_type": 29}, "model": "auth.permission", "pk": 87}, {"fields": {"codename": "add_usertestgroup", "name": "Can add user test group", "content_type": 30}, "model": "auth.permission", "pk": 88}, {"fields": {"codename": "change_usertestgroup", "name": "Can change user test group", "content_type": 30}, "model": "auth.permission", "pk": 89}, {"fields": {"codename": "delete_usertestgroup", "name": "Can delete user test group", "content_type": 30}, "model": "auth.permission", "pk": 90}, {"fields": {"codename": "add_registration", "name": "Can add registration", "content_type": 31}, "model": "auth.permission", "pk": 91}, {"fields": {"codename": "change_registration", "name": "Can change registration", "content_type": 31}, "model": "auth.permission", "pk": 92}, {"fields": {"codename": "delete_registration", "name": "Can delete registration", "content_type": 31}, "model": "auth.permission", "pk": 93}, {"fields": {"codename": "add_pendingnamechange", "name": "Can add pending name change", "content_type": 32}, "model": "auth.permission", "pk": 94}, {"fields": {"codename": "change_pendingnamechange", "name": "Can change pending name change", "content_type": 32}, "model": "auth.permission", "pk": 95}, {"fields": {"codename": "delete_pendingnamechange", "name": "Can delete pending name change", "content_type": 32}, "model": "auth.permission", "pk": 96}, {"fields": {"codename": "add_pendingemailchange", "name": "Can add pending email change", "content_type": 33}, "model": "auth.permission", "pk": 97}, {"fields": {"codename": "change_pendingemailchange", "name": "Can change pending email change", "content_type": 33}, "model": "auth.permission", "pk": 98}, {"fields": {"codename": "delete_pendingemailchange", "name": "Can delete pending email change", "content_type": 33}, "model": "auth.permission", "pk": 99}, {"fields": {"codename": "add_passwordhistory", "name": "Can add password history", "content_type": 34}, "model": "auth.permission", "pk": 100}, {"fields": {"codename": "change_passwordhistory", "name": "Can change password history", "content_type": 34}, "model": "auth.permission", "pk": 101}, {"fields": {"codename": "delete_passwordhistory", "name": "Can delete password history", "content_type": 34}, "model": "auth.permission", "pk": 102}, {"fields": {"codename": "add_loginfailures", "name": "Can add login failures", "content_type": 35}, "model": "auth.permission", "pk": 103}, {"fields": {"codename": "change_loginfailures", "name": "Can change login failures", "content_type": 35}, "model": "auth.permission", "pk": 104}, {"fields": {"codename": "delete_loginfailures", "name": "Can delete login failures", "content_type": 35}, "model": "auth.permission", "pk": 105}, {"fields": {"codename": "add_historicalcourseenrollment", "name": "Can add historical course enrollment", "content_type": 36}, "model": "auth.permission", "pk": 106}, {"fields": {"codename": "change_historicalcourseenrollment", "name": "Can change historical course enrollment", "content_type": 36}, "model": "auth.permission", "pk": 107}, {"fields": {"codename": "delete_historicalcourseenrollment", "name": "Can delete historical course enrollment", "content_type": 36}, "model": "auth.permission", "pk": 108}, {"fields": {"codename": "add_courseenrollment", "name": "Can add course enrollment", "content_type": 37}, "model": "auth.permission", "pk": 109}, {"fields": {"codename": "change_courseenrollment", "name": "Can change course enrollment", "content_type": 37}, "model": "auth.permission", "pk": 110}, {"fields": {"codename": "delete_courseenrollment", "name": "Can delete course enrollment", "content_type": 37}, "model": "auth.permission", "pk": 111}, {"fields": {"codename": "add_manualenrollmentaudit", "name": "Can add manual enrollment audit", "content_type": 38}, "model": "auth.permission", "pk": 112}, {"fields": {"codename": "change_manualenrollmentaudit", "name": "Can change manual enrollment audit", "content_type": 38}, "model": "auth.permission", "pk": 113}, {"fields": {"codename": "delete_manualenrollmentaudit", "name": "Can delete manual enrollment audit", "content_type": 38}, "model": "auth.permission", "pk": 114}, {"fields": {"codename": "add_courseenrollmentallowed", "name": "Can add course enrollment allowed", "content_type": 39}, "model": "auth.permission", "pk": 115}, {"fields": {"codename": "change_courseenrollmentallowed", "name": "Can change course enrollment allowed", "content_type": 39}, "model": "auth.permission", "pk": 116}, {"fields": {"codename": "delete_courseenrollmentallowed", "name": "Can delete course enrollment allowed", "content_type": 39}, "model": "auth.permission", "pk": 117}, {"fields": {"codename": "add_courseaccessrole", "name": "Can add course access role", "content_type": 40}, "model": "auth.permission", "pk": 118}, {"fields": {"codename": "change_courseaccessrole", "name": "Can change course access role", "content_type": 40}, "model": "auth.permission", "pk": 119}, {"fields": {"codename": "delete_courseaccessrole", "name": "Can delete course access role", "content_type": 40}, "model": "auth.permission", "pk": 120}, {"fields": {"codename": "add_dashboardconfiguration", "name": "Can add dashboard configuration", "content_type": 41}, "model": "auth.permission", "pk": 121}, {"fields": {"codename": "change_dashboardconfiguration", "name": "Can change dashboard configuration", "content_type": 41}, "model": "auth.permission", "pk": 122}, {"fields": {"codename": "delete_dashboardconfiguration", "name": "Can delete dashboard configuration", "content_type": 41}, "model": "auth.permission", "pk": 123}, {"fields": {"codename": "add_linkedinaddtoprofileconfiguration", "name": "Can add linked in add to profile configuration", "content_type": 42}, "model": "auth.permission", "pk": 124}, {"fields": {"codename": "change_linkedinaddtoprofileconfiguration", "name": "Can change linked in add to profile configuration", "content_type": 42}, "model": "auth.permission", "pk": 125}, {"fields": {"codename": "delete_linkedinaddtoprofileconfiguration", "name": "Can delete linked in add to profile configuration", "content_type": 42}, "model": "auth.permission", "pk": 126}, {"fields": {"codename": "add_entranceexamconfiguration", "name": "Can add entrance exam configuration", "content_type": 43}, "model": "auth.permission", "pk": 127}, {"fields": {"codename": "change_entranceexamconfiguration", "name": "Can change entrance exam configuration", "content_type": 43}, "model": "auth.permission", "pk": 128}, {"fields": {"codename": "delete_entranceexamconfiguration", "name": "Can delete entrance exam configuration", "content_type": 43}, "model": "auth.permission", "pk": 129}, {"fields": {"codename": "add_languageproficiency", "name": "Can add language proficiency", "content_type": 44}, "model": "auth.permission", "pk": 130}, {"fields": {"codename": "change_languageproficiency", "name": "Can change language proficiency", "content_type": 44}, "model": "auth.permission", "pk": 131}, {"fields": {"codename": "delete_languageproficiency", "name": "Can delete language proficiency", "content_type": 44}, "model": "auth.permission", "pk": 132}, {"fields": {"codename": "add_courseenrollmentattribute", "name": "Can add course enrollment attribute", "content_type": 45}, "model": "auth.permission", "pk": 133}, {"fields": {"codename": "change_courseenrollmentattribute", "name": "Can change course enrollment attribute", "content_type": 45}, "model": "auth.permission", "pk": 134}, {"fields": {"codename": "delete_courseenrollmentattribute", "name": "Can delete course enrollment attribute", "content_type": 45}, "model": "auth.permission", "pk": 135}, {"fields": {"codename": "add_enrollmentrefundconfiguration", "name": "Can add enrollment refund configuration", "content_type": 46}, "model": "auth.permission", "pk": 136}, {"fields": {"codename": "change_enrollmentrefundconfiguration", "name": "Can change enrollment refund configuration", "content_type": 46}, "model": "auth.permission", "pk": 137}, {"fields": {"codename": "delete_enrollmentrefundconfiguration", "name": "Can delete enrollment refund configuration", "content_type": 46}, "model": "auth.permission", "pk": 138}, {"fields": {"codename": "add_trackinglog", "name": "Can add tracking log", "content_type": 47}, "model": "auth.permission", "pk": 139}, {"fields": {"codename": "change_trackinglog", "name": "Can change tracking log", "content_type": 47}, "model": "auth.permission", "pk": 140}, {"fields": {"codename": "delete_trackinglog", "name": "Can delete tracking log", "content_type": 47}, "model": "auth.permission", "pk": 141}, {"fields": {"codename": "add_ratelimitconfiguration", "name": "Can add rate limit configuration", "content_type": 48}, "model": "auth.permission", "pk": 142}, {"fields": {"codename": "change_ratelimitconfiguration", "name": "Can change rate limit configuration", "content_type": 48}, "model": "auth.permission", "pk": 143}, {"fields": {"codename": "delete_ratelimitconfiguration", "name": "Can delete rate limit configuration", "content_type": 48}, "model": "auth.permission", "pk": 144}, {"fields": {"codename": "add_certificatewhitelist", "name": "Can add certificate whitelist", "content_type": 49}, "model": "auth.permission", "pk": 145}, {"fields": {"codename": "change_certificatewhitelist", "name": "Can change certificate whitelist", "content_type": 49}, "model": "auth.permission", "pk": 146}, {"fields": {"codename": "delete_certificatewhitelist", "name": "Can delete certificate whitelist", "content_type": 49}, "model": "auth.permission", "pk": 147}, {"fields": {"codename": "add_generatedcertificate", "name": "Can add generated certificate", "content_type": 50}, "model": "auth.permission", "pk": 148}, {"fields": {"codename": "change_generatedcertificate", "name": "Can change generated certificate", "content_type": 50}, "model": "auth.permission", "pk": 149}, {"fields": {"codename": "delete_generatedcertificate", "name": "Can delete generated certificate", "content_type": 50}, "model": "auth.permission", "pk": 150}, {"fields": {"codename": "add_certificategenerationhistory", "name": "Can add certificate generation history", "content_type": 51}, "model": "auth.permission", "pk": 151}, {"fields": {"codename": "change_certificategenerationhistory", "name": "Can change certificate generation history", "content_type": 51}, "model": "auth.permission", "pk": 152}, {"fields": {"codename": "delete_certificategenerationhistory", "name": "Can delete certificate generation history", "content_type": 51}, "model": "auth.permission", "pk": 153}, {"fields": {"codename": "add_certificateinvalidation", "name": "Can add certificate invalidation", "content_type": 52}, "model": "auth.permission", "pk": 154}, {"fields": {"codename": "change_certificateinvalidation", "name": "Can change certificate invalidation", "content_type": 52}, "model": "auth.permission", "pk": 155}, {"fields": {"codename": "delete_certificateinvalidation", "name": "Can delete certificate invalidation", "content_type": 52}, "model": "auth.permission", "pk": 156}, {"fields": {"codename": "add_examplecertificateset", "name": "Can add example certificate set", "content_type": 53}, "model": "auth.permission", "pk": 157}, {"fields": {"codename": "change_examplecertificateset", "name": "Can change example certificate set", "content_type": 53}, "model": "auth.permission", "pk": 158}, {"fields": {"codename": "delete_examplecertificateset", "name": "Can delete example certificate set", "content_type": 53}, "model": "auth.permission", "pk": 159}, {"fields": {"codename": "add_examplecertificate", "name": "Can add example certificate", "content_type": 54}, "model": "auth.permission", "pk": 160}, {"fields": {"codename": "change_examplecertificate", "name": "Can change example certificate", "content_type": 54}, "model": "auth.permission", "pk": 161}, {"fields": {"codename": "delete_examplecertificate", "name": "Can delete example certificate", "content_type": 54}, "model": "auth.permission", "pk": 162}, {"fields": {"codename": "add_certificategenerationcoursesetting", "name": "Can add certificate generation course setting", "content_type": 55}, "model": "auth.permission", "pk": 163}, {"fields": {"codename": "change_certificategenerationcoursesetting", "name": "Can change certificate generation course setting", "content_type": 55}, "model": "auth.permission", "pk": 164}, {"fields": {"codename": "delete_certificategenerationcoursesetting", "name": "Can delete certificate generation course setting", "content_type": 55}, "model": "auth.permission", "pk": 165}, {"fields": {"codename": "add_certificategenerationconfiguration", "name": "Can add certificate generation configuration", "content_type": 56}, "model": "auth.permission", "pk": 166}, {"fields": {"codename": "change_certificategenerationconfiguration", "name": "Can change certificate generation configuration", "content_type": 56}, "model": "auth.permission", "pk": 167}, {"fields": {"codename": "delete_certificategenerationconfiguration", "name": "Can delete certificate generation configuration", "content_type": 56}, "model": "auth.permission", "pk": 168}, {"fields": {"codename": "add_certificatehtmlviewconfiguration", "name": "Can add certificate html view configuration", "content_type": 57}, "model": "auth.permission", "pk": 169}, {"fields": {"codename": "change_certificatehtmlviewconfiguration", "name": "Can change certificate html view configuration", "content_type": 57}, "model": "auth.permission", "pk": 170}, {"fields": {"codename": "delete_certificatehtmlviewconfiguration", "name": "Can delete certificate html view configuration", "content_type": 57}, "model": "auth.permission", "pk": 171}, {"fields": {"codename": "add_badgeassertion", "name": "Can add badge assertion", "content_type": 58}, "model": "auth.permission", "pk": 172}, {"fields": {"codename": "change_badgeassertion", "name": "Can change badge assertion", "content_type": 58}, "model": "auth.permission", "pk": 173}, {"fields": {"codename": "delete_badgeassertion", "name": "Can delete badge assertion", "content_type": 58}, "model": "auth.permission", "pk": 174}, {"fields": {"codename": "add_badgeimageconfiguration", "name": "Can add badge image configuration", "content_type": 59}, "model": "auth.permission", "pk": 175}, {"fields": {"codename": "change_badgeimageconfiguration", "name": "Can change badge image configuration", "content_type": 59}, "model": "auth.permission", "pk": 176}, {"fields": {"codename": "delete_badgeimageconfiguration", "name": "Can delete badge image configuration", "content_type": 59}, "model": "auth.permission", "pk": 177}, {"fields": {"codename": "add_certificatetemplate", "name": "Can add certificate template", "content_type": 60}, "model": "auth.permission", "pk": 178}, {"fields": {"codename": "change_certificatetemplate", "name": "Can change certificate template", "content_type": 60}, "model": "auth.permission", "pk": 179}, {"fields": {"codename": "delete_certificatetemplate", "name": "Can delete certificate template", "content_type": 60}, "model": "auth.permission", "pk": 180}, {"fields": {"codename": "add_certificatetemplateasset", "name": "Can add certificate template asset", "content_type": 61}, "model": "auth.permission", "pk": 181}, {"fields": {"codename": "change_certificatetemplateasset", "name": "Can change certificate template asset", "content_type": 61}, "model": "auth.permission", "pk": 182}, {"fields": {"codename": "delete_certificatetemplateasset", "name": "Can delete certificate template asset", "content_type": 61}, "model": "auth.permission", "pk": 183}, {"fields": {"codename": "add_instructortask", "name": "Can add instructor task", "content_type": 62}, "model": "auth.permission", "pk": 184}, {"fields": {"codename": "change_instructortask", "name": "Can change instructor task", "content_type": 62}, "model": "auth.permission", "pk": 185}, {"fields": {"codename": "delete_instructortask", "name": "Can delete instructor task", "content_type": 62}, "model": "auth.permission", "pk": 186}, {"fields": {"codename": "add_courseusergroup", "name": "Can add course user group", "content_type": 63}, "model": "auth.permission", "pk": 187}, {"fields": {"codename": "change_courseusergroup", "name": "Can change course user group", "content_type": 63}, "model": "auth.permission", "pk": 188}, {"fields": {"codename": "delete_courseusergroup", "name": "Can delete course user group", "content_type": 63}, "model": "auth.permission", "pk": 189}, {"fields": {"codename": "add_cohortmembership", "name": "Can add cohort membership", "content_type": 64}, "model": "auth.permission", "pk": 190}, {"fields": {"codename": "change_cohortmembership", "name": "Can change cohort membership", "content_type": 64}, "model": "auth.permission", "pk": 191}, {"fields": {"codename": "delete_cohortmembership", "name": "Can delete cohort membership", "content_type": 64}, "model": "auth.permission", "pk": 192}, {"fields": {"codename": "add_courseusergrouppartitiongroup", "name": "Can add course user group partition group", "content_type": 65}, "model": "auth.permission", "pk": 193}, {"fields": {"codename": "change_courseusergrouppartitiongroup", "name": "Can change course user group partition group", "content_type": 65}, "model": "auth.permission", "pk": 194}, {"fields": {"codename": "delete_courseusergrouppartitiongroup", "name": "Can delete course user group partition group", "content_type": 65}, "model": "auth.permission", "pk": 195}, {"fields": {"codename": "add_coursecohortssettings", "name": "Can add course cohorts settings", "content_type": 66}, "model": "auth.permission", "pk": 196}, {"fields": {"codename": "change_coursecohortssettings", "name": "Can change course cohorts settings", "content_type": 66}, "model": "auth.permission", "pk": 197}, {"fields": {"codename": "delete_coursecohortssettings", "name": "Can delete course cohorts settings", "content_type": 66}, "model": "auth.permission", "pk": 198}, {"fields": {"codename": "add_coursecohort", "name": "Can add course cohort", "content_type": 67}, "model": "auth.permission", "pk": 199}, {"fields": {"codename": "change_coursecohort", "name": "Can change course cohort", "content_type": 67}, "model": "auth.permission", "pk": 200}, {"fields": {"codename": "delete_coursecohort", "name": "Can delete course cohort", "content_type": 67}, "model": "auth.permission", "pk": 201}, {"fields": {"codename": "add_courseemail", "name": "Can add course email", "content_type": 68}, "model": "auth.permission", "pk": 202}, {"fields": {"codename": "change_courseemail", "name": "Can change course email", "content_type": 68}, "model": "auth.permission", "pk": 203}, {"fields": {"codename": "delete_courseemail", "name": "Can delete course email", "content_type": 68}, "model": "auth.permission", "pk": 204}, {"fields": {"codename": "add_optout", "name": "Can add optout", "content_type": 69}, "model": "auth.permission", "pk": 205}, {"fields": {"codename": "change_optout", "name": "Can change optout", "content_type": 69}, "model": "auth.permission", "pk": 206}, {"fields": {"codename": "delete_optout", "name": "Can delete optout", "content_type": 69}, "model": "auth.permission", "pk": 207}, {"fields": {"codename": "add_courseemailtemplate", "name": "Can add course email template", "content_type": 70}, "model": "auth.permission", "pk": 208}, {"fields": {"codename": "change_courseemailtemplate", "name": "Can change course email template", "content_type": 70}, "model": "auth.permission", "pk": 209}, {"fields": {"codename": "delete_courseemailtemplate", "name": "Can delete course email template", "content_type": 70}, "model": "auth.permission", "pk": 210}, {"fields": {"codename": "add_courseauthorization", "name": "Can add course authorization", "content_type": 71}, "model": "auth.permission", "pk": 211}, {"fields": {"codename": "change_courseauthorization", "name": "Can change course authorization", "content_type": 71}, "model": "auth.permission", "pk": 212}, {"fields": {"codename": "delete_courseauthorization", "name": "Can delete course authorization", "content_type": 71}, "model": "auth.permission", "pk": 213}, {"fields": {"codename": "add_brandinginfoconfig", "name": "Can add branding info config", "content_type": 72}, "model": "auth.permission", "pk": 214}, {"fields": {"codename": "change_brandinginfoconfig", "name": "Can change branding info config", "content_type": 72}, "model": "auth.permission", "pk": 215}, {"fields": {"codename": "delete_brandinginfoconfig", "name": "Can delete branding info config", "content_type": 72}, "model": "auth.permission", "pk": 216}, {"fields": {"codename": "add_brandingapiconfig", "name": "Can add branding api config", "content_type": 73}, "model": "auth.permission", "pk": 217}, {"fields": {"codename": "change_brandingapiconfig", "name": "Can change branding api config", "content_type": 73}, "model": "auth.permission", "pk": 218}, {"fields": {"codename": "delete_brandingapiconfig", "name": "Can delete branding api config", "content_type": 73}, "model": "auth.permission", "pk": 219}, {"fields": {"codename": "add_externalauthmap", "name": "Can add external auth map", "content_type": 74}, "model": "auth.permission", "pk": 220}, {"fields": {"codename": "change_externalauthmap", "name": "Can change external auth map", "content_type": 74}, "model": "auth.permission", "pk": 221}, {"fields": {"codename": "delete_externalauthmap", "name": "Can delete external auth map", "content_type": 74}, "model": "auth.permission", "pk": 222}, {"fields": {"codename": "add_nonce", "name": "Can add nonce", "content_type": 75}, "model": "auth.permission", "pk": 223}, {"fields": {"codename": "change_nonce", "name": "Can change nonce", "content_type": 75}, "model": "auth.permission", "pk": 224}, {"fields": {"codename": "delete_nonce", "name": "Can delete nonce", "content_type": 75}, "model": "auth.permission", "pk": 225}, {"fields": {"codename": "add_association", "name": "Can add association", "content_type": 76}, "model": "auth.permission", "pk": 226}, {"fields": {"codename": "change_association", "name": "Can change association", "content_type": 76}, "model": "auth.permission", "pk": 227}, {"fields": {"codename": "delete_association", "name": "Can delete association", "content_type": 76}, "model": "auth.permission", "pk": 228}, {"fields": {"codename": "add_useropenid", "name": "Can add user open id", "content_type": 77}, "model": "auth.permission", "pk": 229}, {"fields": {"codename": "change_useropenid", "name": "Can change user open id", "content_type": 77}, "model": "auth.permission", "pk": 230}, {"fields": {"codename": "delete_useropenid", "name": "Can delete user open id", "content_type": 77}, "model": "auth.permission", "pk": 231}, {"fields": {"codename": "account_verified", "name": "The OpenID has been verified", "content_type": 77}, "model": "auth.permission", "pk": 232}, {"fields": {"codename": "add_client", "name": "Can add client", "content_type": 78}, "model": "auth.permission", "pk": 233}, {"fields": {"codename": "change_client", "name": "Can change client", "content_type": 78}, "model": "auth.permission", "pk": 234}, {"fields": {"codename": "delete_client", "name": "Can delete client", "content_type": 78}, "model": "auth.permission", "pk": 235}, {"fields": {"codename": "add_grant", "name": "Can add grant", "content_type": 79}, "model": "auth.permission", "pk": 236}, {"fields": {"codename": "change_grant", "name": "Can change grant", "content_type": 79}, "model": "auth.permission", "pk": 237}, {"fields": {"codename": "delete_grant", "name": "Can delete grant", "content_type": 79}, "model": "auth.permission", "pk": 238}, {"fields": {"codename": "add_accesstoken", "name": "Can add access token", "content_type": 80}, "model": "auth.permission", "pk": 239}, {"fields": {"codename": "change_accesstoken", "name": "Can change access token", "content_type": 80}, "model": "auth.permission", "pk": 240}, {"fields": {"codename": "delete_accesstoken", "name": "Can delete access token", "content_type": 80}, "model": "auth.permission", "pk": 241}, {"fields": {"codename": "add_refreshtoken", "name": "Can add refresh token", "content_type": 81}, "model": "auth.permission", "pk": 242}, {"fields": {"codename": "change_refreshtoken", "name": "Can change refresh token", "content_type": 81}, "model": "auth.permission", "pk": 243}, {"fields": {"codename": "delete_refreshtoken", "name": "Can delete refresh token", "content_type": 81}, "model": "auth.permission", "pk": 244}, {"fields": {"codename": "add_trustedclient", "name": "Can add trusted client", "content_type": 82}, "model": "auth.permission", "pk": 245}, {"fields": {"codename": "change_trustedclient", "name": "Can change trusted client", "content_type": 82}, "model": "auth.permission", "pk": 246}, {"fields": {"codename": "delete_trustedclient", "name": "Can delete trusted client", "content_type": 82}, "model": "auth.permission", "pk": 247}, {"fields": {"codename": "add_oauth2providerconfig", "name": "Can add Provider Configuration (OAuth)", "content_type": 83}, "model": "auth.permission", "pk": 248}, {"fields": {"codename": "change_oauth2providerconfig", "name": "Can change Provider Configuration (OAuth)", "content_type": 83}, "model": "auth.permission", "pk": 249}, {"fields": {"codename": "delete_oauth2providerconfig", "name": "Can delete Provider Configuration (OAuth)", "content_type": 83}, "model": "auth.permission", "pk": 250}, {"fields": {"codename": "add_samlproviderconfig", "name": "Can add Provider Configuration (SAML IdP)", "content_type": 84}, "model": "auth.permission", "pk": 251}, {"fields": {"codename": "change_samlproviderconfig", "name": "Can change Provider Configuration (SAML IdP)", "content_type": 84}, "model": "auth.permission", "pk": 252}, {"fields": {"codename": "delete_samlproviderconfig", "name": "Can delete Provider Configuration (SAML IdP)", "content_type": 84}, "model": "auth.permission", "pk": 253}, {"fields": {"codename": "add_samlconfiguration", "name": "Can add SAML Configuration", "content_type": 85}, "model": "auth.permission", "pk": 254}, {"fields": {"codename": "change_samlconfiguration", "name": "Can change SAML Configuration", "content_type": 85}, "model": "auth.permission", "pk": 255}, {"fields": {"codename": "delete_samlconfiguration", "name": "Can delete SAML Configuration", "content_type": 85}, "model": "auth.permission", "pk": 256}, {"fields": {"codename": "add_samlproviderdata", "name": "Can add SAML Provider Data", "content_type": 86}, "model": "auth.permission", "pk": 257}, {"fields": {"codename": "change_samlproviderdata", "name": "Can change SAML Provider Data", "content_type": 86}, "model": "auth.permission", "pk": 258}, {"fields": {"codename": "delete_samlproviderdata", "name": "Can delete SAML Provider Data", "content_type": 86}, "model": "auth.permission", "pk": 259}, {"fields": {"codename": "add_ltiproviderconfig", "name": "Can add Provider Configuration (LTI)", "content_type": 87}, "model": "auth.permission", "pk": 260}, {"fields": {"codename": "change_ltiproviderconfig", "name": "Can change Provider Configuration (LTI)", "content_type": 87}, "model": "auth.permission", "pk": 261}, {"fields": {"codename": "delete_ltiproviderconfig", "name": "Can delete Provider Configuration (LTI)", "content_type": 87}, "model": "auth.permission", "pk": 262}, {"fields": {"codename": "add_providerapipermissions", "name": "Can add Provider API Permission", "content_type": 88}, "model": "auth.permission", "pk": 263}, {"fields": {"codename": "change_providerapipermissions", "name": "Can change Provider API Permission", "content_type": 88}, "model": "auth.permission", "pk": 264}, {"fields": {"codename": "delete_providerapipermissions", "name": "Can delete Provider API Permission", "content_type": 88}, "model": "auth.permission", "pk": 265}, {"fields": {"codename": "add_nonce", "name": "Can add nonce", "content_type": 89}, "model": "auth.permission", "pk": 266}, {"fields": {"codename": "change_nonce", "name": "Can change nonce", "content_type": 89}, "model": "auth.permission", "pk": 267}, {"fields": {"codename": "delete_nonce", "name": "Can delete nonce", "content_type": 89}, "model": "auth.permission", "pk": 268}, {"fields": {"codename": "add_scope", "name": "Can add scope", "content_type": 90}, "model": "auth.permission", "pk": 269}, {"fields": {"codename": "change_scope", "name": "Can change scope", "content_type": 90}, "model": "auth.permission", "pk": 270}, {"fields": {"codename": "delete_scope", "name": "Can delete scope", "content_type": 90}, "model": "auth.permission", "pk": 271}, {"fields": {"codename": "add_resource", "name": "Can add resource", "content_type": 90}, "model": "auth.permission", "pk": 272}, {"fields": {"codename": "change_resource", "name": "Can change resource", "content_type": 90}, "model": "auth.permission", "pk": 273}, {"fields": {"codename": "delete_resource", "name": "Can delete resource", "content_type": 90}, "model": "auth.permission", "pk": 274}, {"fields": {"codename": "add_consumer", "name": "Can add consumer", "content_type": 91}, "model": "auth.permission", "pk": 275}, {"fields": {"codename": "change_consumer", "name": "Can change consumer", "content_type": 91}, "model": "auth.permission", "pk": 276}, {"fields": {"codename": "delete_consumer", "name": "Can delete consumer", "content_type": 91}, "model": "auth.permission", "pk": 277}, {"fields": {"codename": "add_token", "name": "Can add token", "content_type": 92}, "model": "auth.permission", "pk": 278}, {"fields": {"codename": "change_token", "name": "Can change token", "content_type": 92}, "model": "auth.permission", "pk": 279}, {"fields": {"codename": "delete_token", "name": "Can delete token", "content_type": 92}, "model": "auth.permission", "pk": 280}, {"fields": {"codename": "add_article", "name": "Can add article", "content_type": 94}, "model": "auth.permission", "pk": 281}, {"fields": {"codename": "change_article", "name": "Can change article", "content_type": 94}, "model": "auth.permission", "pk": 282}, {"fields": {"codename": "delete_article", "name": "Can delete article", "content_type": 94}, "model": "auth.permission", "pk": 283}, {"fields": {"codename": "moderate", "name": "Can edit all articles and lock/unlock/restore", "content_type": 94}, "model": "auth.permission", "pk": 284}, {"fields": {"codename": "assign", "name": "Can change ownership of any article", "content_type": 94}, "model": "auth.permission", "pk": 285}, {"fields": {"codename": "grant", "name": "Can assign permissions to other users", "content_type": 94}, "model": "auth.permission", "pk": 286}, {"fields": {"codename": "add_articleforobject", "name": "Can add Article for object", "content_type": 95}, "model": "auth.permission", "pk": 287}, {"fields": {"codename": "change_articleforobject", "name": "Can change Article for object", "content_type": 95}, "model": "auth.permission", "pk": 288}, {"fields": {"codename": "delete_articleforobject", "name": "Can delete Article for object", "content_type": 95}, "model": "auth.permission", "pk": 289}, {"fields": {"codename": "add_articlerevision", "name": "Can add article revision", "content_type": 96}, "model": "auth.permission", "pk": 290}, {"fields": {"codename": "change_articlerevision", "name": "Can change article revision", "content_type": 96}, "model": "auth.permission", "pk": 291}, {"fields": {"codename": "delete_articlerevision", "name": "Can delete article revision", "content_type": 96}, "model": "auth.permission", "pk": 292}, {"fields": {"codename": "add_urlpath", "name": "Can add URL path", "content_type": 97}, "model": "auth.permission", "pk": 293}, {"fields": {"codename": "change_urlpath", "name": "Can change URL path", "content_type": 97}, "model": "auth.permission", "pk": 294}, {"fields": {"codename": "delete_urlpath", "name": "Can delete URL path", "content_type": 97}, "model": "auth.permission", "pk": 295}, {"fields": {"codename": "add_articleplugin", "name": "Can add article plugin", "content_type": 98}, "model": "auth.permission", "pk": 296}, {"fields": {"codename": "change_articleplugin", "name": "Can change article plugin", "content_type": 98}, "model": "auth.permission", "pk": 297}, {"fields": {"codename": "delete_articleplugin", "name": "Can delete article plugin", "content_type": 98}, "model": "auth.permission", "pk": 298}, {"fields": {"codename": "add_reusableplugin", "name": "Can add reusable plugin", "content_type": 99}, "model": "auth.permission", "pk": 299}, {"fields": {"codename": "change_reusableplugin", "name": "Can change reusable plugin", "content_type": 99}, "model": "auth.permission", "pk": 300}, {"fields": {"codename": "delete_reusableplugin", "name": "Can delete reusable plugin", "content_type": 99}, "model": "auth.permission", "pk": 301}, {"fields": {"codename": "add_simpleplugin", "name": "Can add simple plugin", "content_type": 100}, "model": "auth.permission", "pk": 302}, {"fields": {"codename": "change_simpleplugin", "name": "Can change simple plugin", "content_type": 100}, "model": "auth.permission", "pk": 303}, {"fields": {"codename": "delete_simpleplugin", "name": "Can delete simple plugin", "content_type": 100}, "model": "auth.permission", "pk": 304}, {"fields": {"codename": "add_revisionplugin", "name": "Can add revision plugin", "content_type": 101}, "model": "auth.permission", "pk": 305}, {"fields": {"codename": "change_revisionplugin", "name": "Can change revision plugin", "content_type": 101}, "model": "auth.permission", "pk": 306}, {"fields": {"codename": "delete_revisionplugin", "name": "Can delete revision plugin", "content_type": 101}, "model": "auth.permission", "pk": 307}, {"fields": {"codename": "add_revisionpluginrevision", "name": "Can add revision plugin revision", "content_type": 102}, "model": "auth.permission", "pk": 308}, {"fields": {"codename": "change_revisionpluginrevision", "name": "Can change revision plugin revision", "content_type": 102}, "model": "auth.permission", "pk": 309}, {"fields": {"codename": "delete_revisionpluginrevision", "name": "Can delete revision plugin revision", "content_type": 102}, "model": "auth.permission", "pk": 310}, {"fields": {"codename": "add_image", "name": "Can add image", "content_type": 103}, "model": "auth.permission", "pk": 311}, {"fields": {"codename": "change_image", "name": "Can change image", "content_type": 103}, "model": "auth.permission", "pk": 312}, {"fields": {"codename": "delete_image", "name": "Can delete image", "content_type": 103}, "model": "auth.permission", "pk": 313}, {"fields": {"codename": "add_imagerevision", "name": "Can add image revision", "content_type": 104}, "model": "auth.permission", "pk": 314}, {"fields": {"codename": "change_imagerevision", "name": "Can change image revision", "content_type": 104}, "model": "auth.permission", "pk": 315}, {"fields": {"codename": "delete_imagerevision", "name": "Can delete image revision", "content_type": 104}, "model": "auth.permission", "pk": 316}, {"fields": {"codename": "add_attachment", "name": "Can add attachment", "content_type": 105}, "model": "auth.permission", "pk": 317}, {"fields": {"codename": "change_attachment", "name": "Can change attachment", "content_type": 105}, "model": "auth.permission", "pk": 318}, {"fields": {"codename": "delete_attachment", "name": "Can delete attachment", "content_type": 105}, "model": "auth.permission", "pk": 319}, {"fields": {"codename": "add_attachmentrevision", "name": "Can add attachment revision", "content_type": 106}, "model": "auth.permission", "pk": 320}, {"fields": {"codename": "change_attachmentrevision", "name": "Can change attachment revision", "content_type": 106}, "model": "auth.permission", "pk": 321}, {"fields": {"codename": "delete_attachmentrevision", "name": "Can delete attachment revision", "content_type": 106}, "model": "auth.permission", "pk": 322}, {"fields": {"codename": "add_notificationtype", "name": "Can add type", "content_type": 107}, "model": "auth.permission", "pk": 323}, {"fields": {"codename": "change_notificationtype", "name": "Can change type", "content_type": 107}, "model": "auth.permission", "pk": 324}, {"fields": {"codename": "delete_notificationtype", "name": "Can delete type", "content_type": 107}, "model": "auth.permission", "pk": 325}, {"fields": {"codename": "add_settings", "name": "Can add settings", "content_type": 108}, "model": "auth.permission", "pk": 326}, {"fields": {"codename": "change_settings", "name": "Can change settings", "content_type": 108}, "model": "auth.permission", "pk": 327}, {"fields": {"codename": "delete_settings", "name": "Can delete settings", "content_type": 108}, "model": "auth.permission", "pk": 328}, {"fields": {"codename": "add_subscription", "name": "Can add subscription", "content_type": 109}, "model": "auth.permission", "pk": 329}, {"fields": {"codename": "change_subscription", "name": "Can change subscription", "content_type": 109}, "model": "auth.permission", "pk": 330}, {"fields": {"codename": "delete_subscription", "name": "Can delete subscription", "content_type": 109}, "model": "auth.permission", "pk": 331}, {"fields": {"codename": "add_notification", "name": "Can add notification", "content_type": 110}, "model": "auth.permission", "pk": 332}, {"fields": {"codename": "change_notification", "name": "Can change notification", "content_type": 110}, "model": "auth.permission", "pk": 333}, {"fields": {"codename": "delete_notification", "name": "Can delete notification", "content_type": 110}, "model": "auth.permission", "pk": 334}, {"fields": {"codename": "add_logentry", "name": "Can add log entry", "content_type": 111}, "model": "auth.permission", "pk": 335}, {"fields": {"codename": "change_logentry", "name": "Can change log entry", "content_type": 111}, "model": "auth.permission", "pk": 336}, {"fields": {"codename": "delete_logentry", "name": "Can delete log entry", "content_type": 111}, "model": "auth.permission", "pk": 337}, {"fields": {"codename": "add_role", "name": "Can add role", "content_type": 112}, "model": "auth.permission", "pk": 338}, {"fields": {"codename": "change_role", "name": "Can change role", "content_type": 112}, "model": "auth.permission", "pk": 339}, {"fields": {"codename": "delete_role", "name": "Can delete role", "content_type": 112}, "model": "auth.permission", "pk": 340}, {"fields": {"codename": "add_permission", "name": "Can add permission", "content_type": 113}, "model": "auth.permission", "pk": 341}, {"fields": {"codename": "change_permission", "name": "Can change permission", "content_type": 113}, "model": "auth.permission", "pk": 342}, {"fields": {"codename": "delete_permission", "name": "Can delete permission", "content_type": 113}, "model": "auth.permission", "pk": 343}, {"fields": {"codename": "add_note", "name": "Can add note", "content_type": 114}, "model": "auth.permission", "pk": 344}, {"fields": {"codename": "change_note", "name": "Can change note", "content_type": 114}, "model": "auth.permission", "pk": 345}, {"fields": {"codename": "delete_note", "name": "Can delete note", "content_type": 114}, "model": "auth.permission", "pk": 346}, {"fields": {"codename": "add_splashconfig", "name": "Can add splash config", "content_type": 115}, "model": "auth.permission", "pk": 347}, {"fields": {"codename": "change_splashconfig", "name": "Can change splash config", "content_type": 115}, "model": "auth.permission", "pk": 348}, {"fields": {"codename": "delete_splashconfig", "name": "Can delete splash config", "content_type": 115}, "model": "auth.permission", "pk": 349}, {"fields": {"codename": "add_userpreference", "name": "Can add user preference", "content_type": 116}, "model": "auth.permission", "pk": 350}, {"fields": {"codename": "change_userpreference", "name": "Can change user preference", "content_type": 116}, "model": "auth.permission", "pk": 351}, {"fields": {"codename": "delete_userpreference", "name": "Can delete user preference", "content_type": 116}, "model": "auth.permission", "pk": 352}, {"fields": {"codename": "add_usercoursetag", "name": "Can add user course tag", "content_type": 117}, "model": "auth.permission", "pk": 353}, {"fields": {"codename": "change_usercoursetag", "name": "Can change user course tag", "content_type": 117}, "model": "auth.permission", "pk": 354}, {"fields": {"codename": "delete_usercoursetag", "name": "Can delete user course tag", "content_type": 117}, "model": "auth.permission", "pk": 355}, {"fields": {"codename": "add_userorgtag", "name": "Can add user org tag", "content_type": 118}, "model": "auth.permission", "pk": 356}, {"fields": {"codename": "change_userorgtag", "name": "Can change user org tag", "content_type": 118}, "model": "auth.permission", "pk": 357}, {"fields": {"codename": "delete_userorgtag", "name": "Can delete user org tag", "content_type": 118}, "model": "auth.permission", "pk": 358}, {"fields": {"codename": "add_order", "name": "Can add order", "content_type": 119}, "model": "auth.permission", "pk": 359}, {"fields": {"codename": "change_order", "name": "Can change order", "content_type": 119}, "model": "auth.permission", "pk": 360}, {"fields": {"codename": "delete_order", "name": "Can delete order", "content_type": 119}, "model": "auth.permission", "pk": 361}, {"fields": {"codename": "add_orderitem", "name": "Can add order item", "content_type": 120}, "model": "auth.permission", "pk": 362}, {"fields": {"codename": "change_orderitem", "name": "Can change order item", "content_type": 120}, "model": "auth.permission", "pk": 363}, {"fields": {"codename": "delete_orderitem", "name": "Can delete order item", "content_type": 120}, "model": "auth.permission", "pk": 364}, {"fields": {"codename": "add_invoice", "name": "Can add invoice", "content_type": 121}, "model": "auth.permission", "pk": 365}, {"fields": {"codename": "change_invoice", "name": "Can change invoice", "content_type": 121}, "model": "auth.permission", "pk": 366}, {"fields": {"codename": "delete_invoice", "name": "Can delete invoice", "content_type": 121}, "model": "auth.permission", "pk": 367}, {"fields": {"codename": "add_invoicetransaction", "name": "Can add invoice transaction", "content_type": 122}, "model": "auth.permission", "pk": 368}, {"fields": {"codename": "change_invoicetransaction", "name": "Can change invoice transaction", "content_type": 122}, "model": "auth.permission", "pk": 369}, {"fields": {"codename": "delete_invoicetransaction", "name": "Can delete invoice transaction", "content_type": 122}, "model": "auth.permission", "pk": 370}, {"fields": {"codename": "add_invoiceitem", "name": "Can add invoice item", "content_type": 123}, "model": "auth.permission", "pk": 371}, {"fields": {"codename": "change_invoiceitem", "name": "Can change invoice item", "content_type": 123}, "model": "auth.permission", "pk": 372}, {"fields": {"codename": "delete_invoiceitem", "name": "Can delete invoice item", "content_type": 123}, "model": "auth.permission", "pk": 373}, {"fields": {"codename": "add_courseregistrationcodeinvoiceitem", "name": "Can add course registration code invoice item", "content_type": 124}, "model": "auth.permission", "pk": 374}, {"fields": {"codename": "change_courseregistrationcodeinvoiceitem", "name": "Can change course registration code invoice item", "content_type": 124}, "model": "auth.permission", "pk": 375}, {"fields": {"codename": "delete_courseregistrationcodeinvoiceitem", "name": "Can delete course registration code invoice item", "content_type": 124}, "model": "auth.permission", "pk": 376}, {"fields": {"codename": "add_invoicehistory", "name": "Can add invoice history", "content_type": 125}, "model": "auth.permission", "pk": 377}, {"fields": {"codename": "change_invoicehistory", "name": "Can change invoice history", "content_type": 125}, "model": "auth.permission", "pk": 378}, {"fields": {"codename": "delete_invoicehistory", "name": "Can delete invoice history", "content_type": 125}, "model": "auth.permission", "pk": 379}, {"fields": {"codename": "add_courseregistrationcode", "name": "Can add course registration code", "content_type": 126}, "model": "auth.permission", "pk": 380}, {"fields": {"codename": "change_courseregistrationcode", "name": "Can change course registration code", "content_type": 126}, "model": "auth.permission", "pk": 381}, {"fields": {"codename": "delete_courseregistrationcode", "name": "Can delete course registration code", "content_type": 126}, "model": "auth.permission", "pk": 382}, {"fields": {"codename": "add_registrationcoderedemption", "name": "Can add registration code redemption", "content_type": 127}, "model": "auth.permission", "pk": 383}, {"fields": {"codename": "change_registrationcoderedemption", "name": "Can change registration code redemption", "content_type": 127}, "model": "auth.permission", "pk": 384}, {"fields": {"codename": "delete_registrationcoderedemption", "name": "Can delete registration code redemption", "content_type": 127}, "model": "auth.permission", "pk": 385}, {"fields": {"codename": "add_coupon", "name": "Can add coupon", "content_type": 128}, "model": "auth.permission", "pk": 386}, {"fields": {"codename": "change_coupon", "name": "Can change coupon", "content_type": 128}, "model": "auth.permission", "pk": 387}, {"fields": {"codename": "delete_coupon", "name": "Can delete coupon", "content_type": 128}, "model": "auth.permission", "pk": 388}, {"fields": {"codename": "add_couponredemption", "name": "Can add coupon redemption", "content_type": 129}, "model": "auth.permission", "pk": 389}, {"fields": {"codename": "change_couponredemption", "name": "Can change coupon redemption", "content_type": 129}, "model": "auth.permission", "pk": 390}, {"fields": {"codename": "delete_couponredemption", "name": "Can delete coupon redemption", "content_type": 129}, "model": "auth.permission", "pk": 391}, {"fields": {"codename": "add_paidcourseregistration", "name": "Can add paid course registration", "content_type": 130}, "model": "auth.permission", "pk": 392}, {"fields": {"codename": "change_paidcourseregistration", "name": "Can change paid course registration", "content_type": 130}, "model": "auth.permission", "pk": 393}, {"fields": {"codename": "delete_paidcourseregistration", "name": "Can delete paid course registration", "content_type": 130}, "model": "auth.permission", "pk": 394}, {"fields": {"codename": "add_courseregcodeitem", "name": "Can add course reg code item", "content_type": 131}, "model": "auth.permission", "pk": 395}, {"fields": {"codename": "change_courseregcodeitem", "name": "Can change course reg code item", "content_type": 131}, "model": "auth.permission", "pk": 396}, {"fields": {"codename": "delete_courseregcodeitem", "name": "Can delete course reg code item", "content_type": 131}, "model": "auth.permission", "pk": 397}, {"fields": {"codename": "add_courseregcodeitemannotation", "name": "Can add course reg code item annotation", "content_type": 132}, "model": "auth.permission", "pk": 398}, {"fields": {"codename": "change_courseregcodeitemannotation", "name": "Can change course reg code item annotation", "content_type": 132}, "model": "auth.permission", "pk": 399}, {"fields": {"codename": "delete_courseregcodeitemannotation", "name": "Can delete course reg code item annotation", "content_type": 132}, "model": "auth.permission", "pk": 400}, {"fields": {"codename": "add_paidcourseregistrationannotation", "name": "Can add paid course registration annotation", "content_type": 133}, "model": "auth.permission", "pk": 401}, {"fields": {"codename": "change_paidcourseregistrationannotation", "name": "Can change paid course registration annotation", "content_type": 133}, "model": "auth.permission", "pk": 402}, {"fields": {"codename": "delete_paidcourseregistrationannotation", "name": "Can delete paid course registration annotation", "content_type": 133}, "model": "auth.permission", "pk": 403}, {"fields": {"codename": "add_certificateitem", "name": "Can add certificate item", "content_type": 134}, "model": "auth.permission", "pk": 404}, {"fields": {"codename": "change_certificateitem", "name": "Can change certificate item", "content_type": 134}, "model": "auth.permission", "pk": 405}, {"fields": {"codename": "delete_certificateitem", "name": "Can delete certificate item", "content_type": 134}, "model": "auth.permission", "pk": 406}, {"fields": {"codename": "add_donationconfiguration", "name": "Can add donation configuration", "content_type": 135}, "model": "auth.permission", "pk": 407}, {"fields": {"codename": "change_donationconfiguration", "name": "Can change donation configuration", "content_type": 135}, "model": "auth.permission", "pk": 408}, {"fields": {"codename": "delete_donationconfiguration", "name": "Can delete donation configuration", "content_type": 135}, "model": "auth.permission", "pk": 409}, {"fields": {"codename": "add_donation", "name": "Can add donation", "content_type": 136}, "model": "auth.permission", "pk": 410}, {"fields": {"codename": "change_donation", "name": "Can change donation", "content_type": 136}, "model": "auth.permission", "pk": 411}, {"fields": {"codename": "delete_donation", "name": "Can delete donation", "content_type": 136}, "model": "auth.permission", "pk": 412}, {"fields": {"codename": "add_coursemode", "name": "Can add course mode", "content_type": 137}, "model": "auth.permission", "pk": 413}, {"fields": {"codename": "change_coursemode", "name": "Can change course mode", "content_type": 137}, "model": "auth.permission", "pk": 414}, {"fields": {"codename": "delete_coursemode", "name": "Can delete course mode", "content_type": 137}, "model": "auth.permission", "pk": 415}, {"fields": {"codename": "add_coursemodesarchive", "name": "Can add course modes archive", "content_type": 138}, "model": "auth.permission", "pk": 416}, {"fields": {"codename": "change_coursemodesarchive", "name": "Can change course modes archive", "content_type": 138}, "model": "auth.permission", "pk": 417}, {"fields": {"codename": "delete_coursemodesarchive", "name": "Can delete course modes archive", "content_type": 138}, "model": "auth.permission", "pk": 418}, {"fields": {"codename": "add_coursemodeexpirationconfig", "name": "Can add course mode expiration config", "content_type": 139}, "model": "auth.permission", "pk": 419}, {"fields": {"codename": "change_coursemodeexpirationconfig", "name": "Can change course mode expiration config", "content_type": 139}, "model": "auth.permission", "pk": 420}, {"fields": {"codename": "delete_coursemodeexpirationconfig", "name": "Can delete course mode expiration config", "content_type": 139}, "model": "auth.permission", "pk": 421}, {"fields": {"codename": "add_softwaresecurephotoverification", "name": "Can add software secure photo verification", "content_type": 140}, "model": "auth.permission", "pk": 422}, {"fields": {"codename": "change_softwaresecurephotoverification", "name": "Can change software secure photo verification", "content_type": 140}, "model": "auth.permission", "pk": 423}, {"fields": {"codename": "delete_softwaresecurephotoverification", "name": "Can delete software secure photo verification", "content_type": 140}, "model": "auth.permission", "pk": 424}, {"fields": {"codename": "add_historicalverificationdeadline", "name": "Can add historical verification deadline", "content_type": 141}, "model": "auth.permission", "pk": 425}, {"fields": {"codename": "change_historicalverificationdeadline", "name": "Can change historical verification deadline", "content_type": 141}, "model": "auth.permission", "pk": 426}, {"fields": {"codename": "delete_historicalverificationdeadline", "name": "Can delete historical verification deadline", "content_type": 141}, "model": "auth.permission", "pk": 427}, {"fields": {"codename": "add_verificationdeadline", "name": "Can add verification deadline", "content_type": 142}, "model": "auth.permission", "pk": 428}, {"fields": {"codename": "change_verificationdeadline", "name": "Can change verification deadline", "content_type": 142}, "model": "auth.permission", "pk": 429}, {"fields": {"codename": "delete_verificationdeadline", "name": "Can delete verification deadline", "content_type": 142}, "model": "auth.permission", "pk": 430}, {"fields": {"codename": "add_verificationcheckpoint", "name": "Can add verification checkpoint", "content_type": 143}, "model": "auth.permission", "pk": 431}, {"fields": {"codename": "change_verificationcheckpoint", "name": "Can change verification checkpoint", "content_type": 143}, "model": "auth.permission", "pk": 432}, {"fields": {"codename": "delete_verificationcheckpoint", "name": "Can delete verification checkpoint", "content_type": 143}, "model": "auth.permission", "pk": 433}, {"fields": {"codename": "add_verificationstatus", "name": "Can add Verification Status", "content_type": 144}, "model": "auth.permission", "pk": 434}, {"fields": {"codename": "change_verificationstatus", "name": "Can change Verification Status", "content_type": 144}, "model": "auth.permission", "pk": 435}, {"fields": {"codename": "delete_verificationstatus", "name": "Can delete Verification Status", "content_type": 144}, "model": "auth.permission", "pk": 436}, {"fields": {"codename": "add_incoursereverificationconfiguration", "name": "Can add in course reverification configuration", "content_type": 145}, "model": "auth.permission", "pk": 437}, {"fields": {"codename": "change_incoursereverificationconfiguration", "name": "Can change in course reverification configuration", "content_type": 145}, "model": "auth.permission", "pk": 438}, {"fields": {"codename": "delete_incoursereverificationconfiguration", "name": "Can delete in course reverification configuration", "content_type": 145}, "model": "auth.permission", "pk": 439}, {"fields": {"codename": "add_icrvstatusemailsconfiguration", "name": "Can add icrv status emails configuration", "content_type": 146}, "model": "auth.permission", "pk": 440}, {"fields": {"codename": "change_icrvstatusemailsconfiguration", "name": "Can change icrv status emails configuration", "content_type": 146}, "model": "auth.permission", "pk": 441}, {"fields": {"codename": "delete_icrvstatusemailsconfiguration", "name": "Can delete icrv status emails configuration", "content_type": 146}, "model": "auth.permission", "pk": 442}, {"fields": {"codename": "add_skippedreverification", "name": "Can add skipped reverification", "content_type": 147}, "model": "auth.permission", "pk": 443}, {"fields": {"codename": "change_skippedreverification", "name": "Can change skipped reverification", "content_type": 147}, "model": "auth.permission", "pk": 444}, {"fields": {"codename": "delete_skippedreverification", "name": "Can delete skipped reverification", "content_type": 147}, "model": "auth.permission", "pk": 445}, {"fields": {"codename": "add_darklangconfig", "name": "Can add dark lang config", "content_type": 148}, "model": "auth.permission", "pk": 446}, {"fields": {"codename": "change_darklangconfig", "name": "Can change dark lang config", "content_type": 148}, "model": "auth.permission", "pk": 447}, {"fields": {"codename": "delete_darklangconfig", "name": "Can delete dark lang config", "content_type": 148}, "model": "auth.permission", "pk": 448}, {"fields": {"codename": "add_microsite", "name": "Can add microsite", "content_type": 149}, "model": "auth.permission", "pk": 449}, {"fields": {"codename": "change_microsite", "name": "Can change microsite", "content_type": 149}, "model": "auth.permission", "pk": 450}, {"fields": {"codename": "delete_microsite", "name": "Can delete microsite", "content_type": 149}, "model": "auth.permission", "pk": 451}, {"fields": {"codename": "add_micrositehistory", "name": "Can add microsite history", "content_type": 150}, "model": "auth.permission", "pk": 452}, {"fields": {"codename": "change_micrositehistory", "name": "Can change microsite history", "content_type": 150}, "model": "auth.permission", "pk": 453}, {"fields": {"codename": "delete_micrositehistory", "name": "Can delete microsite history", "content_type": 150}, "model": "auth.permission", "pk": 454}, {"fields": {"codename": "add_historicalmicrositeorganizationmapping", "name": "Can add historical microsite organization mapping", "content_type": 151}, "model": "auth.permission", "pk": 455}, {"fields": {"codename": "change_historicalmicrositeorganizationmapping", "name": "Can change historical microsite organization mapping", "content_type": 151}, "model": "auth.permission", "pk": 456}, {"fields": {"codename": "delete_historicalmicrositeorganizationmapping", "name": "Can delete historical microsite organization mapping", "content_type": 151}, "model": "auth.permission", "pk": 457}, {"fields": {"codename": "add_micrositeorganizationmapping", "name": "Can add microsite organization mapping", "content_type": 152}, "model": "auth.permission", "pk": 458}, {"fields": {"codename": "change_micrositeorganizationmapping", "name": "Can change microsite organization mapping", "content_type": 152}, "model": "auth.permission", "pk": 459}, {"fields": {"codename": "delete_micrositeorganizationmapping", "name": "Can delete microsite organization mapping", "content_type": 152}, "model": "auth.permission", "pk": 460}, {"fields": {"codename": "add_historicalmicrositetemplate", "name": "Can add historical microsite template", "content_type": 153}, "model": "auth.permission", "pk": 461}, {"fields": {"codename": "change_historicalmicrositetemplate", "name": "Can change historical microsite template", "content_type": 153}, "model": "auth.permission", "pk": 462}, {"fields": {"codename": "delete_historicalmicrositetemplate", "name": "Can delete historical microsite template", "content_type": 153}, "model": "auth.permission", "pk": 463}, {"fields": {"codename": "add_micrositetemplate", "name": "Can add microsite template", "content_type": 154}, "model": "auth.permission", "pk": 464}, {"fields": {"codename": "change_micrositetemplate", "name": "Can change microsite template", "content_type": 154}, "model": "auth.permission", "pk": 465}, {"fields": {"codename": "delete_micrositetemplate", "name": "Can delete microsite template", "content_type": 154}, "model": "auth.permission", "pk": 466}, {"fields": {"codename": "add_whitelistedrssurl", "name": "Can add whitelisted rss url", "content_type": 155}, "model": "auth.permission", "pk": 467}, {"fields": {"codename": "change_whitelistedrssurl", "name": "Can change whitelisted rss url", "content_type": 155}, "model": "auth.permission", "pk": 468}, {"fields": {"codename": "delete_whitelistedrssurl", "name": "Can delete whitelisted rss url", "content_type": 155}, "model": "auth.permission", "pk": 469}, {"fields": {"codename": "add_embargoedcourse", "name": "Can add embargoed course", "content_type": 156}, "model": "auth.permission", "pk": 470}, {"fields": {"codename": "change_embargoedcourse", "name": "Can change embargoed course", "content_type": 156}, "model": "auth.permission", "pk": 471}, {"fields": {"codename": "delete_embargoedcourse", "name": "Can delete embargoed course", "content_type": 156}, "model": "auth.permission", "pk": 472}, {"fields": {"codename": "add_embargoedstate", "name": "Can add embargoed state", "content_type": 157}, "model": "auth.permission", "pk": 473}, {"fields": {"codename": "change_embargoedstate", "name": "Can change embargoed state", "content_type": 157}, "model": "auth.permission", "pk": 474}, {"fields": {"codename": "delete_embargoedstate", "name": "Can delete embargoed state", "content_type": 157}, "model": "auth.permission", "pk": 475}, {"fields": {"codename": "add_restrictedcourse", "name": "Can add restricted course", "content_type": 158}, "model": "auth.permission", "pk": 476}, {"fields": {"codename": "change_restrictedcourse", "name": "Can change restricted course", "content_type": 158}, "model": "auth.permission", "pk": 477}, {"fields": {"codename": "delete_restrictedcourse", "name": "Can delete restricted course", "content_type": 158}, "model": "auth.permission", "pk": 478}, {"fields": {"codename": "add_country", "name": "Can add country", "content_type": 159}, "model": "auth.permission", "pk": 479}, {"fields": {"codename": "change_country", "name": "Can change country", "content_type": 159}, "model": "auth.permission", "pk": 480}, {"fields": {"codename": "delete_country", "name": "Can delete country", "content_type": 159}, "model": "auth.permission", "pk": 481}, {"fields": {"codename": "add_countryaccessrule", "name": "Can add country access rule", "content_type": 160}, "model": "auth.permission", "pk": 482}, {"fields": {"codename": "change_countryaccessrule", "name": "Can change country access rule", "content_type": 160}, "model": "auth.permission", "pk": 483}, {"fields": {"codename": "delete_countryaccessrule", "name": "Can delete country access rule", "content_type": 160}, "model": "auth.permission", "pk": 484}, {"fields": {"codename": "add_courseaccessrulehistory", "name": "Can add course access rule history", "content_type": 161}, "model": "auth.permission", "pk": 485}, {"fields": {"codename": "change_courseaccessrulehistory", "name": "Can change course access rule history", "content_type": 161}, "model": "auth.permission", "pk": 486}, {"fields": {"codename": "delete_courseaccessrulehistory", "name": "Can delete course access rule history", "content_type": 161}, "model": "auth.permission", "pk": 487}, {"fields": {"codename": "add_ipfilter", "name": "Can add ip filter", "content_type": 162}, "model": "auth.permission", "pk": 488}, {"fields": {"codename": "change_ipfilter", "name": "Can change ip filter", "content_type": 162}, "model": "auth.permission", "pk": 489}, {"fields": {"codename": "delete_ipfilter", "name": "Can delete ip filter", "content_type": 162}, "model": "auth.permission", "pk": 490}, {"fields": {"codename": "add_coursererunstate", "name": "Can add course rerun state", "content_type": 163}, "model": "auth.permission", "pk": 491}, {"fields": {"codename": "change_coursererunstate", "name": "Can change course rerun state", "content_type": 163}, "model": "auth.permission", "pk": 492}, {"fields": {"codename": "delete_coursererunstate", "name": "Can delete course rerun state", "content_type": 163}, "model": "auth.permission", "pk": 493}, {"fields": {"codename": "add_mobileapiconfig", "name": "Can add mobile api config", "content_type": 164}, "model": "auth.permission", "pk": 494}, {"fields": {"codename": "change_mobileapiconfig", "name": "Can change mobile api config", "content_type": 164}, "model": "auth.permission", "pk": 495}, {"fields": {"codename": "delete_mobileapiconfig", "name": "Can delete mobile api config", "content_type": 164}, "model": "auth.permission", "pk": 496}, {"fields": {"codename": "add_usersocialauth", "name": "Can add user social auth", "content_type": 165}, "model": "auth.permission", "pk": 497}, {"fields": {"codename": "change_usersocialauth", "name": "Can change user social auth", "content_type": 165}, "model": "auth.permission", "pk": 498}, {"fields": {"codename": "delete_usersocialauth", "name": "Can delete user social auth", "content_type": 165}, "model": "auth.permission", "pk": 499}, {"fields": {"codename": "add_nonce", "name": "Can add nonce", "content_type": 166}, "model": "auth.permission", "pk": 500}, {"fields": {"codename": "change_nonce", "name": "Can change nonce", "content_type": 166}, "model": "auth.permission", "pk": 501}, {"fields": {"codename": "delete_nonce", "name": "Can delete nonce", "content_type": 166}, "model": "auth.permission", "pk": 502}, {"fields": {"codename": "add_association", "name": "Can add association", "content_type": 167}, "model": "auth.permission", "pk": 503}, {"fields": {"codename": "change_association", "name": "Can change association", "content_type": 167}, "model": "auth.permission", "pk": 504}, {"fields": {"codename": "delete_association", "name": "Can delete association", "content_type": 167}, "model": "auth.permission", "pk": 505}, {"fields": {"codename": "add_code", "name": "Can add code", "content_type": 168}, "model": "auth.permission", "pk": 506}, {"fields": {"codename": "change_code", "name": "Can change code", "content_type": 168}, "model": "auth.permission", "pk": 507}, {"fields": {"codename": "delete_code", "name": "Can delete code", "content_type": 168}, "model": "auth.permission", "pk": 508}, {"fields": {"codename": "add_surveyform", "name": "Can add survey form", "content_type": 169}, "model": "auth.permission", "pk": 509}, {"fields": {"codename": "change_surveyform", "name": "Can change survey form", "content_type": 169}, "model": "auth.permission", "pk": 510}, {"fields": {"codename": "delete_surveyform", "name": "Can delete survey form", "content_type": 169}, "model": "auth.permission", "pk": 511}, {"fields": {"codename": "add_surveyanswer", "name": "Can add survey answer", "content_type": 170}, "model": "auth.permission", "pk": 512}, {"fields": {"codename": "change_surveyanswer", "name": "Can change survey answer", "content_type": 170}, "model": "auth.permission", "pk": 513}, {"fields": {"codename": "delete_surveyanswer", "name": "Can delete survey answer", "content_type": 170}, "model": "auth.permission", "pk": 514}, {"fields": {"codename": "add_xblockasidesconfig", "name": "Can add x block asides config", "content_type": 171}, "model": "auth.permission", "pk": 515}, {"fields": {"codename": "change_xblockasidesconfig", "name": "Can change x block asides config", "content_type": 171}, "model": "auth.permission", "pk": 516}, {"fields": {"codename": "delete_xblockasidesconfig", "name": "Can delete x block asides config", "content_type": 171}, "model": "auth.permission", "pk": 517}, {"fields": {"codename": "add_courseoverview", "name": "Can add course overview", "content_type": 172}, "model": "auth.permission", "pk": 518}, {"fields": {"codename": "change_courseoverview", "name": "Can change course overview", "content_type": 172}, "model": "auth.permission", "pk": 519}, {"fields": {"codename": "delete_courseoverview", "name": "Can delete course overview", "content_type": 172}, "model": "auth.permission", "pk": 520}, {"fields": {"codename": "add_courseoverviewtab", "name": "Can add course overview tab", "content_type": 173}, "model": "auth.permission", "pk": 521}, {"fields": {"codename": "change_courseoverviewtab", "name": "Can change course overview tab", "content_type": 173}, "model": "auth.permission", "pk": 522}, {"fields": {"codename": "delete_courseoverviewtab", "name": "Can delete course overview tab", "content_type": 173}, "model": "auth.permission", "pk": 523}, {"fields": {"codename": "add_courseoverviewimageset", "name": "Can add course overview image set", "content_type": 174}, "model": "auth.permission", "pk": 524}, {"fields": {"codename": "change_courseoverviewimageset", "name": "Can change course overview image set", "content_type": 174}, "model": "auth.permission", "pk": 525}, {"fields": {"codename": "delete_courseoverviewimageset", "name": "Can delete course overview image set", "content_type": 174}, "model": "auth.permission", "pk": 526}, {"fields": {"codename": "add_courseoverviewimageconfig", "name": "Can add course overview image config", "content_type": 175}, "model": "auth.permission", "pk": 527}, {"fields": {"codename": "change_courseoverviewimageconfig", "name": "Can change course overview image config", "content_type": 175}, "model": "auth.permission", "pk": 528}, {"fields": {"codename": "delete_courseoverviewimageconfig", "name": "Can delete course overview image config", "content_type": 175}, "model": "auth.permission", "pk": 529}, {"fields": {"codename": "add_coursestructure", "name": "Can add course structure", "content_type": 176}, "model": "auth.permission", "pk": 530}, {"fields": {"codename": "change_coursestructure", "name": "Can change course structure", "content_type": 176}, "model": "auth.permission", "pk": 531}, {"fields": {"codename": "delete_coursestructure", "name": "Can delete course structure", "content_type": 176}, "model": "auth.permission", "pk": 532}, {"fields": {"codename": "add_corsmodel", "name": "Can add cors model", "content_type": 177}, "model": "auth.permission", "pk": 533}, {"fields": {"codename": "change_corsmodel", "name": "Can change cors model", "content_type": 177}, "model": "auth.permission", "pk": 534}, {"fields": {"codename": "delete_corsmodel", "name": "Can delete cors model", "content_type": 177}, "model": "auth.permission", "pk": 535}, {"fields": {"codename": "add_xdomainproxyconfiguration", "name": "Can add x domain proxy configuration", "content_type": 178}, "model": "auth.permission", "pk": 536}, {"fields": {"codename": "change_xdomainproxyconfiguration", "name": "Can change x domain proxy configuration", "content_type": 178}, "model": "auth.permission", "pk": 537}, {"fields": {"codename": "delete_xdomainproxyconfiguration", "name": "Can delete x domain proxy configuration", "content_type": 178}, "model": "auth.permission", "pk": 538}, {"fields": {"codename": "add_creditprovider", "name": "Can add credit provider", "content_type": 179}, "model": "auth.permission", "pk": 539}, {"fields": {"codename": "change_creditprovider", "name": "Can change credit provider", "content_type": 179}, "model": "auth.permission", "pk": 540}, {"fields": {"codename": "delete_creditprovider", "name": "Can delete credit provider", "content_type": 179}, "model": "auth.permission", "pk": 541}, {"fields": {"codename": "add_creditcourse", "name": "Can add credit course", "content_type": 180}, "model": "auth.permission", "pk": 542}, {"fields": {"codename": "change_creditcourse", "name": "Can change credit course", "content_type": 180}, "model": "auth.permission", "pk": 543}, {"fields": {"codename": "delete_creditcourse", "name": "Can delete credit course", "content_type": 180}, "model": "auth.permission", "pk": 544}, {"fields": {"codename": "add_creditrequirement", "name": "Can add credit requirement", "content_type": 181}, "model": "auth.permission", "pk": 545}, {"fields": {"codename": "change_creditrequirement", "name": "Can change credit requirement", "content_type": 181}, "model": "auth.permission", "pk": 546}, {"fields": {"codename": "delete_creditrequirement", "name": "Can delete credit requirement", "content_type": 181}, "model": "auth.permission", "pk": 547}, {"fields": {"codename": "add_historicalcreditrequirementstatus", "name": "Can add historical credit requirement status", "content_type": 182}, "model": "auth.permission", "pk": 548}, {"fields": {"codename": "change_historicalcreditrequirementstatus", "name": "Can change historical credit requirement status", "content_type": 182}, "model": "auth.permission", "pk": 549}, {"fields": {"codename": "delete_historicalcreditrequirementstatus", "name": "Can delete historical credit requirement status", "content_type": 182}, "model": "auth.permission", "pk": 550}, {"fields": {"codename": "add_creditrequirementstatus", "name": "Can add credit requirement status", "content_type": 183}, "model": "auth.permission", "pk": 551}, {"fields": {"codename": "change_creditrequirementstatus", "name": "Can change credit requirement status", "content_type": 183}, "model": "auth.permission", "pk": 552}, {"fields": {"codename": "delete_creditrequirementstatus", "name": "Can delete credit requirement status", "content_type": 183}, "model": "auth.permission", "pk": 553}, {"fields": {"codename": "add_crediteligibility", "name": "Can add credit eligibility", "content_type": 184}, "model": "auth.permission", "pk": 554}, {"fields": {"codename": "change_crediteligibility", "name": "Can change credit eligibility", "content_type": 184}, "model": "auth.permission", "pk": 555}, {"fields": {"codename": "delete_crediteligibility", "name": "Can delete credit eligibility", "content_type": 184}, "model": "auth.permission", "pk": 556}, {"fields": {"codename": "add_historicalcreditrequest", "name": "Can add historical credit request", "content_type": 185}, "model": "auth.permission", "pk": 557}, {"fields": {"codename": "change_historicalcreditrequest", "name": "Can change historical credit request", "content_type": 185}, "model": "auth.permission", "pk": 558}, {"fields": {"codename": "delete_historicalcreditrequest", "name": "Can delete historical credit request", "content_type": 185}, "model": "auth.permission", "pk": 559}, {"fields": {"codename": "add_creditrequest", "name": "Can add credit request", "content_type": 186}, "model": "auth.permission", "pk": 560}, {"fields": {"codename": "change_creditrequest", "name": "Can change credit request", "content_type": 186}, "model": "auth.permission", "pk": 561}, {"fields": {"codename": "delete_creditrequest", "name": "Can delete credit request", "content_type": 186}, "model": "auth.permission", "pk": 562}, {"fields": {"codename": "add_courseteam", "name": "Can add course team", "content_type": 187}, "model": "auth.permission", "pk": 563}, {"fields": {"codename": "change_courseteam", "name": "Can change course team", "content_type": 187}, "model": "auth.permission", "pk": 564}, {"fields": {"codename": "delete_courseteam", "name": "Can delete course team", "content_type": 187}, "model": "auth.permission", "pk": 565}, {"fields": {"codename": "add_courseteammembership", "name": "Can add course team membership", "content_type": 188}, "model": "auth.permission", "pk": 566}, {"fields": {"codename": "change_courseteammembership", "name": "Can change course team membership", "content_type": 188}, "model": "auth.permission", "pk": 567}, {"fields": {"codename": "delete_courseteammembership", "name": "Can delete course team membership", "content_type": 188}, "model": "auth.permission", "pk": 568}, {"fields": {"codename": "add_xblockdisableconfig", "name": "Can add x block disable config", "content_type": 189}, "model": "auth.permission", "pk": 569}, {"fields": {"codename": "change_xblockdisableconfig", "name": "Can change x block disable config", "content_type": 189}, "model": "auth.permission", "pk": 570}, {"fields": {"codename": "delete_xblockdisableconfig", "name": "Can delete x block disable config", "content_type": 189}, "model": "auth.permission", "pk": 571}, {"fields": {"codename": "add_bookmark", "name": "Can add bookmark", "content_type": 190}, "model": "auth.permission", "pk": 572}, {"fields": {"codename": "change_bookmark", "name": "Can change bookmark", "content_type": 190}, "model": "auth.permission", "pk": 573}, {"fields": {"codename": "delete_bookmark", "name": "Can delete bookmark", "content_type": 190}, "model": "auth.permission", "pk": 574}, {"fields": {"codename": "add_xblockcache", "name": "Can add x block cache", "content_type": 191}, "model": "auth.permission", "pk": 575}, {"fields": {"codename": "change_xblockcache", "name": "Can change x block cache", "content_type": 191}, "model": "auth.permission", "pk": 576}, {"fields": {"codename": "delete_xblockcache", "name": "Can delete x block cache", "content_type": 191}, "model": "auth.permission", "pk": 577}, {"fields": {"codename": "add_programsapiconfig", "name": "Can add programs api config", "content_type": 192}, "model": "auth.permission", "pk": 578}, {"fields": {"codename": "change_programsapiconfig", "name": "Can change programs api config", "content_type": 192}, "model": "auth.permission", "pk": 579}, {"fields": {"codename": "delete_programsapiconfig", "name": "Can delete programs api config", "content_type": 192}, "model": "auth.permission", "pk": 580}, {"fields": {"codename": "add_selfpacedconfiguration", "name": "Can add self paced configuration", "content_type": 193}, "model": "auth.permission", "pk": 581}, {"fields": {"codename": "change_selfpacedconfiguration", "name": "Can change self paced configuration", "content_type": 193}, "model": "auth.permission", "pk": 582}, {"fields": {"codename": "delete_selfpacedconfiguration", "name": "Can delete self paced configuration", "content_type": 193}, "model": "auth.permission", "pk": 583}, {"fields": {"codename": "add_kvstore", "name": "Can add kv store", "content_type": 194}, "model": "auth.permission", "pk": 584}, {"fields": {"codename": "change_kvstore", "name": "Can change kv store", "content_type": 194}, "model": "auth.permission", "pk": 585}, {"fields": {"codename": "delete_kvstore", "name": "Can delete kv store", "content_type": 194}, "model": "auth.permission", "pk": 586}, {"fields": {"codename": "add_studentitem", "name": "Can add student item", "content_type": 195}, "model": "auth.permission", "pk": 587}, {"fields": {"codename": "change_studentitem", "name": "Can change student item", "content_type": 195}, "model": "auth.permission", "pk": 588}, {"fields": {"codename": "delete_studentitem", "name": "Can delete student item", "content_type": 195}, "model": "auth.permission", "pk": 589}, {"fields": {"codename": "add_submission", "name": "Can add submission", "content_type": 196}, "model": "auth.permission", "pk": 590}, {"fields": {"codename": "change_submission", "name": "Can change submission", "content_type": 196}, "model": "auth.permission", "pk": 591}, {"fields": {"codename": "delete_submission", "name": "Can delete submission", "content_type": 196}, "model": "auth.permission", "pk": 592}, {"fields": {"codename": "add_score", "name": "Can add score", "content_type": 197}, "model": "auth.permission", "pk": 593}, {"fields": {"codename": "change_score", "name": "Can change score", "content_type": 197}, "model": "auth.permission", "pk": 594}, {"fields": {"codename": "delete_score", "name": "Can delete score", "content_type": 197}, "model": "auth.permission", "pk": 595}, {"fields": {"codename": "add_scoresummary", "name": "Can add score summary", "content_type": 198}, "model": "auth.permission", "pk": 596}, {"fields": {"codename": "change_scoresummary", "name": "Can change score summary", "content_type": 198}, "model": "auth.permission", "pk": 597}, {"fields": {"codename": "delete_scoresummary", "name": "Can delete score summary", "content_type": 198}, "model": "auth.permission", "pk": 598}, {"fields": {"codename": "add_scoreannotation", "name": "Can add score annotation", "content_type": 199}, "model": "auth.permission", "pk": 599}, {"fields": {"codename": "change_scoreannotation", "name": "Can change score annotation", "content_type": 199}, "model": "auth.permission", "pk": 600}, {"fields": {"codename": "delete_scoreannotation", "name": "Can delete score annotation", "content_type": 199}, "model": "auth.permission", "pk": 601}, {"fields": {"codename": "add_rubric", "name": "Can add rubric", "content_type": 200}, "model": "auth.permission", "pk": 602}, {"fields": {"codename": "change_rubric", "name": "Can change rubric", "content_type": 200}, "model": "auth.permission", "pk": 603}, {"fields": {"codename": "delete_rubric", "name": "Can delete rubric", "content_type": 200}, "model": "auth.permission", "pk": 604}, {"fields": {"codename": "add_criterion", "name": "Can add criterion", "content_type": 201}, "model": "auth.permission", "pk": 605}, {"fields": {"codename": "change_criterion", "name": "Can change criterion", "content_type": 201}, "model": "auth.permission", "pk": 606}, {"fields": {"codename": "delete_criterion", "name": "Can delete criterion", "content_type": 201}, "model": "auth.permission", "pk": 607}, {"fields": {"codename": "add_criterionoption", "name": "Can add criterion option", "content_type": 202}, "model": "auth.permission", "pk": 608}, {"fields": {"codename": "change_criterionoption", "name": "Can change criterion option", "content_type": 202}, "model": "auth.permission", "pk": 609}, {"fields": {"codename": "delete_criterionoption", "name": "Can delete criterion option", "content_type": 202}, "model": "auth.permission", "pk": 610}, {"fields": {"codename": "add_assessment", "name": "Can add assessment", "content_type": 203}, "model": "auth.permission", "pk": 611}, {"fields": {"codename": "change_assessment", "name": "Can change assessment", "content_type": 203}, "model": "auth.permission", "pk": 612}, {"fields": {"codename": "delete_assessment", "name": "Can delete assessment", "content_type": 203}, "model": "auth.permission", "pk": 613}, {"fields": {"codename": "add_assessmentpart", "name": "Can add assessment part", "content_type": 204}, "model": "auth.permission", "pk": 614}, {"fields": {"codename": "change_assessmentpart", "name": "Can change assessment part", "content_type": 204}, "model": "auth.permission", "pk": 615}, {"fields": {"codename": "delete_assessmentpart", "name": "Can delete assessment part", "content_type": 204}, "model": "auth.permission", "pk": 616}, {"fields": {"codename": "add_assessmentfeedbackoption", "name": "Can add assessment feedback option", "content_type": 205}, "model": "auth.permission", "pk": 617}, {"fields": {"codename": "change_assessmentfeedbackoption", "name": "Can change assessment feedback option", "content_type": 205}, "model": "auth.permission", "pk": 618}, {"fields": {"codename": "delete_assessmentfeedbackoption", "name": "Can delete assessment feedback option", "content_type": 205}, "model": "auth.permission", "pk": 619}, {"fields": {"codename": "add_assessmentfeedback", "name": "Can add assessment feedback", "content_type": 206}, "model": "auth.permission", "pk": 620}, {"fields": {"codename": "change_assessmentfeedback", "name": "Can change assessment feedback", "content_type": 206}, "model": "auth.permission", "pk": 621}, {"fields": {"codename": "delete_assessmentfeedback", "name": "Can delete assessment feedback", "content_type": 206}, "model": "auth.permission", "pk": 622}, {"fields": {"codename": "add_peerworkflow", "name": "Can add peer workflow", "content_type": 207}, "model": "auth.permission", "pk": 623}, {"fields": {"codename": "change_peerworkflow", "name": "Can change peer workflow", "content_type": 207}, "model": "auth.permission", "pk": 624}, {"fields": {"codename": "delete_peerworkflow", "name": "Can delete peer workflow", "content_type": 207}, "model": "auth.permission", "pk": 625}, {"fields": {"codename": "add_peerworkflowitem", "name": "Can add peer workflow item", "content_type": 208}, "model": "auth.permission", "pk": 626}, {"fields": {"codename": "change_peerworkflowitem", "name": "Can change peer workflow item", "content_type": 208}, "model": "auth.permission", "pk": 627}, {"fields": {"codename": "delete_peerworkflowitem", "name": "Can delete peer workflow item", "content_type": 208}, "model": "auth.permission", "pk": 628}, {"fields": {"codename": "add_trainingexample", "name": "Can add training example", "content_type": 209}, "model": "auth.permission", "pk": 629}, {"fields": {"codename": "change_trainingexample", "name": "Can change training example", "content_type": 209}, "model": "auth.permission", "pk": 630}, {"fields": {"codename": "delete_trainingexample", "name": "Can delete training example", "content_type": 209}, "model": "auth.permission", "pk": 631}, {"fields": {"codename": "add_studenttrainingworkflow", "name": "Can add student training workflow", "content_type": 210}, "model": "auth.permission", "pk": 632}, {"fields": {"codename": "change_studenttrainingworkflow", "name": "Can change student training workflow", "content_type": 210}, "model": "auth.permission", "pk": 633}, {"fields": {"codename": "delete_studenttrainingworkflow", "name": "Can delete student training workflow", "content_type": 210}, "model": "auth.permission", "pk": 634}, {"fields": {"codename": "add_studenttrainingworkflowitem", "name": "Can add student training workflow item", "content_type": 211}, "model": "auth.permission", "pk": 635}, {"fields": {"codename": "change_studenttrainingworkflowitem", "name": "Can change student training workflow item", "content_type": 211}, "model": "auth.permission", "pk": 636}, {"fields": {"codename": "delete_studenttrainingworkflowitem", "name": "Can delete student training workflow item", "content_type": 211}, "model": "auth.permission", "pk": 637}, {"fields": {"codename": "add_aiclassifierset", "name": "Can add ai classifier set", "content_type": 212}, "model": "auth.permission", "pk": 638}, {"fields": {"codename": "change_aiclassifierset", "name": "Can change ai classifier set", "content_type": 212}, "model": "auth.permission", "pk": 639}, {"fields": {"codename": "delete_aiclassifierset", "name": "Can delete ai classifier set", "content_type": 212}, "model": "auth.permission", "pk": 640}, {"fields": {"codename": "add_aiclassifier", "name": "Can add ai classifier", "content_type": 213}, "model": "auth.permission", "pk": 641}, {"fields": {"codename": "change_aiclassifier", "name": "Can change ai classifier", "content_type": 213}, "model": "auth.permission", "pk": 642}, {"fields": {"codename": "delete_aiclassifier", "name": "Can delete ai classifier", "content_type": 213}, "model": "auth.permission", "pk": 643}, {"fields": {"codename": "add_aitrainingworkflow", "name": "Can add ai training workflow", "content_type": 214}, "model": "auth.permission", "pk": 644}, {"fields": {"codename": "change_aitrainingworkflow", "name": "Can change ai training workflow", "content_type": 214}, "model": "auth.permission", "pk": 645}, {"fields": {"codename": "delete_aitrainingworkflow", "name": "Can delete ai training workflow", "content_type": 214}, "model": "auth.permission", "pk": 646}, {"fields": {"codename": "add_aigradingworkflow", "name": "Can add ai grading workflow", "content_type": 215}, "model": "auth.permission", "pk": 647}, {"fields": {"codename": "change_aigradingworkflow", "name": "Can change ai grading workflow", "content_type": 215}, "model": "auth.permission", "pk": 648}, {"fields": {"codename": "delete_aigradingworkflow", "name": "Can delete ai grading workflow", "content_type": 215}, "model": "auth.permission", "pk": 649}, {"fields": {"codename": "add_staffworkflow", "name": "Can add staff workflow", "content_type": 216}, "model": "auth.permission", "pk": 650}, {"fields": {"codename": "change_staffworkflow", "name": "Can change staff workflow", "content_type": 216}, "model": "auth.permission", "pk": 651}, {"fields": {"codename": "delete_staffworkflow", "name": "Can delete staff workflow", "content_type": 216}, "model": "auth.permission", "pk": 652}, {"fields": {"codename": "add_assessmentworkflow", "name": "Can add assessment workflow", "content_type": 217}, "model": "auth.permission", "pk": 653}, {"fields": {"codename": "change_assessmentworkflow", "name": "Can change assessment workflow", "content_type": 217}, "model": "auth.permission", "pk": 654}, {"fields": {"codename": "delete_assessmentworkflow", "name": "Can delete assessment workflow", "content_type": 217}, "model": "auth.permission", "pk": 655}, {"fields": {"codename": "add_assessmentworkflowstep", "name": "Can add assessment workflow step", "content_type": 218}, "model": "auth.permission", "pk": 656}, {"fields": {"codename": "change_assessmentworkflowstep", "name": "Can change assessment workflow step", "content_type": 218}, "model": "auth.permission", "pk": 657}, {"fields": {"codename": "delete_assessmentworkflowstep", "name": "Can delete assessment workflow step", "content_type": 218}, "model": "auth.permission", "pk": 658}, {"fields": {"codename": "add_assessmentworkflowcancellation", "name": "Can add assessment workflow cancellation", "content_type": 219}, "model": "auth.permission", "pk": 659}, {"fields": {"codename": "change_assessmentworkflowcancellation", "name": "Can change assessment workflow cancellation", "content_type": 219}, "model": "auth.permission", "pk": 660}, {"fields": {"codename": "delete_assessmentworkflowcancellation", "name": "Can delete assessment workflow cancellation", "content_type": 219}, "model": "auth.permission", "pk": 661}, {"fields": {"codename": "add_profile", "name": "Can add profile", "content_type": 220}, "model": "auth.permission", "pk": 662}, {"fields": {"codename": "change_profile", "name": "Can change profile", "content_type": 220}, "model": "auth.permission", "pk": 663}, {"fields": {"codename": "delete_profile", "name": "Can delete profile", "content_type": 220}, "model": "auth.permission", "pk": 664}, {"fields": {"codename": "add_video", "name": "Can add video", "content_type": 221}, "model": "auth.permission", "pk": 665}, {"fields": {"codename": "change_video", "name": "Can change video", "content_type": 221}, "model": "auth.permission", "pk": 666}, {"fields": {"codename": "delete_video", "name": "Can delete video", "content_type": 221}, "model": "auth.permission", "pk": 667}, {"fields": {"codename": "add_coursevideo", "name": "Can add course video", "content_type": 222}, "model": "auth.permission", "pk": 668}, {"fields": {"codename": "change_coursevideo", "name": "Can change course video", "content_type": 222}, "model": "auth.permission", "pk": 669}, {"fields": {"codename": "delete_coursevideo", "name": "Can delete course video", "content_type": 222}, "model": "auth.permission", "pk": 670}, {"fields": {"codename": "add_encodedvideo", "name": "Can add encoded video", "content_type": 223}, "model": "auth.permission", "pk": 671}, {"fields": {"codename": "change_encodedvideo", "name": "Can change encoded video", "content_type": 223}, "model": "auth.permission", "pk": 672}, {"fields": {"codename": "delete_encodedvideo", "name": "Can delete encoded video", "content_type": 223}, "model": "auth.permission", "pk": 673}, {"fields": {"codename": "add_subtitle", "name": "Can add subtitle", "content_type": 224}, "model": "auth.permission", "pk": 674}, {"fields": {"codename": "change_subtitle", "name": "Can change subtitle", "content_type": 224}, "model": "auth.permission", "pk": 675}, {"fields": {"codename": "delete_subtitle", "name": "Can delete subtitle", "content_type": 224}, "model": "auth.permission", "pk": 676}, {"fields": {"codename": "add_milestone", "name": "Can add milestone", "content_type": 225}, "model": "auth.permission", "pk": 677}, {"fields": {"codename": "change_milestone", "name": "Can change milestone", "content_type": 225}, "model": "auth.permission", "pk": 678}, {"fields": {"codename": "delete_milestone", "name": "Can delete milestone", "content_type": 225}, "model": "auth.permission", "pk": 679}, {"fields": {"codename": "add_milestonerelationshiptype", "name": "Can add milestone relationship type", "content_type": 226}, "model": "auth.permission", "pk": 680}, {"fields": {"codename": "change_milestonerelationshiptype", "name": "Can change milestone relationship type", "content_type": 226}, "model": "auth.permission", "pk": 681}, {"fields": {"codename": "delete_milestonerelationshiptype", "name": "Can delete milestone relationship type", "content_type": 226}, "model": "auth.permission", "pk": 682}, {"fields": {"codename": "add_coursemilestone", "name": "Can add course milestone", "content_type": 227}, "model": "auth.permission", "pk": 683}, {"fields": {"codename": "change_coursemilestone", "name": "Can change course milestone", "content_type": 227}, "model": "auth.permission", "pk": 684}, {"fields": {"codename": "delete_coursemilestone", "name": "Can delete course milestone", "content_type": 227}, "model": "auth.permission", "pk": 685}, {"fields": {"codename": "add_coursecontentmilestone", "name": "Can add course content milestone", "content_type": 228}, "model": "auth.permission", "pk": 686}, {"fields": {"codename": "change_coursecontentmilestone", "name": "Can change course content milestone", "content_type": 228}, "model": "auth.permission", "pk": 687}, {"fields": {"codename": "delete_coursecontentmilestone", "name": "Can delete course content milestone", "content_type": 228}, "model": "auth.permission", "pk": 688}, {"fields": {"codename": "add_usermilestone", "name": "Can add user milestone", "content_type": 229}, "model": "auth.permission", "pk": 689}, {"fields": {"codename": "change_usermilestone", "name": "Can change user milestone", "content_type": 229}, "model": "auth.permission", "pk": 690}, {"fields": {"codename": "delete_usermilestone", "name": "Can delete user milestone", "content_type": 229}, "model": "auth.permission", "pk": 691}, {"fields": {"codename": "add_proctoredexam", "name": "Can add proctored exam", "content_type": 230}, "model": "auth.permission", "pk": 692}, {"fields": {"codename": "change_proctoredexam", "name": "Can change proctored exam", "content_type": 230}, "model": "auth.permission", "pk": 693}, {"fields": {"codename": "delete_proctoredexam", "name": "Can delete proctored exam", "content_type": 230}, "model": "auth.permission", "pk": 694}, {"fields": {"codename": "add_proctoredexamreviewpolicy", "name": "Can add Proctored exam review policy", "content_type": 231}, "model": "auth.permission", "pk": 695}, {"fields": {"codename": "change_proctoredexamreviewpolicy", "name": "Can change Proctored exam review policy", "content_type": 231}, "model": "auth.permission", "pk": 696}, {"fields": {"codename": "delete_proctoredexamreviewpolicy", "name": "Can delete Proctored exam review policy", "content_type": 231}, "model": "auth.permission", "pk": 697}, {"fields": {"codename": "add_proctoredexamreviewpolicyhistory", "name": "Can add proctored exam review policy history", "content_type": 232}, "model": "auth.permission", "pk": 698}, {"fields": {"codename": "change_proctoredexamreviewpolicyhistory", "name": "Can change proctored exam review policy history", "content_type": 232}, "model": "auth.permission", "pk": 699}, {"fields": {"codename": "delete_proctoredexamreviewpolicyhistory", "name": "Can delete proctored exam review policy history", "content_type": 232}, "model": "auth.permission", "pk": 700}, {"fields": {"codename": "add_proctoredexamstudentattempt", "name": "Can add proctored exam attempt", "content_type": 233}, "model": "auth.permission", "pk": 701}, {"fields": {"codename": "change_proctoredexamstudentattempt", "name": "Can change proctored exam attempt", "content_type": 233}, "model": "auth.permission", "pk": 702}, {"fields": {"codename": "delete_proctoredexamstudentattempt", "name": "Can delete proctored exam attempt", "content_type": 233}, "model": "auth.permission", "pk": 703}, {"fields": {"codename": "add_proctoredexamstudentattempthistory", "name": "Can add proctored exam attempt history", "content_type": 234}, "model": "auth.permission", "pk": 704}, {"fields": {"codename": "change_proctoredexamstudentattempthistory", "name": "Can change proctored exam attempt history", "content_type": 234}, "model": "auth.permission", "pk": 705}, {"fields": {"codename": "delete_proctoredexamstudentattempthistory", "name": "Can delete proctored exam attempt history", "content_type": 234}, "model": "auth.permission", "pk": 706}, {"fields": {"codename": "add_proctoredexamstudentallowance", "name": "Can add proctored allowance", "content_type": 235}, "model": "auth.permission", "pk": 707}, {"fields": {"codename": "change_proctoredexamstudentallowance", "name": "Can change proctored allowance", "content_type": 235}, "model": "auth.permission", "pk": 708}, {"fields": {"codename": "delete_proctoredexamstudentallowance", "name": "Can delete proctored allowance", "content_type": 235}, "model": "auth.permission", "pk": 709}, {"fields": {"codename": "add_proctoredexamstudentallowancehistory", "name": "Can add proctored allowance history", "content_type": 236}, "model": "auth.permission", "pk": 710}, {"fields": {"codename": "change_proctoredexamstudentallowancehistory", "name": "Can change proctored allowance history", "content_type": 236}, "model": "auth.permission", "pk": 711}, {"fields": {"codename": "delete_proctoredexamstudentallowancehistory", "name": "Can delete proctored allowance history", "content_type": 236}, "model": "auth.permission", "pk": 712}, {"fields": {"codename": "add_proctoredexamsoftwaresecurereview", "name": "Can add Proctored exam software secure review", "content_type": 237}, "model": "auth.permission", "pk": 713}, {"fields": {"codename": "change_proctoredexamsoftwaresecurereview", "name": "Can change Proctored exam software secure review", "content_type": 237}, "model": "auth.permission", "pk": 714}, {"fields": {"codename": "delete_proctoredexamsoftwaresecurereview", "name": "Can delete Proctored exam software secure review", "content_type": 237}, "model": "auth.permission", "pk": 715}, {"fields": {"codename": "add_proctoredexamsoftwaresecurereviewhistory", "name": "Can add Proctored exam review archive", "content_type": 238}, "model": "auth.permission", "pk": 716}, {"fields": {"codename": "change_proctoredexamsoftwaresecurereviewhistory", "name": "Can change Proctored exam review archive", "content_type": 238}, "model": "auth.permission", "pk": 717}, {"fields": {"codename": "delete_proctoredexamsoftwaresecurereviewhistory", "name": "Can delete Proctored exam review archive", "content_type": 238}, "model": "auth.permission", "pk": 718}, {"fields": {"codename": "add_proctoredexamsoftwaresecurecomment", "name": "Can add proctored exam software secure comment", "content_type": 239}, "model": "auth.permission", "pk": 719}, {"fields": {"codename": "change_proctoredexamsoftwaresecurecomment", "name": "Can change proctored exam software secure comment", "content_type": 239}, "model": "auth.permission", "pk": 720}, {"fields": {"codename": "delete_proctoredexamsoftwaresecurecomment", "name": "Can delete proctored exam software secure comment", "content_type": 239}, "model": "auth.permission", "pk": 721}, {"fields": {"codename": "add_organization", "name": "Can add organization", "content_type": 240}, "model": "auth.permission", "pk": 722}, {"fields": {"codename": "change_organization", "name": "Can change organization", "content_type": 240}, "model": "auth.permission", "pk": 723}, {"fields": {"codename": "delete_organization", "name": "Can delete organization", "content_type": 240}, "model": "auth.permission", "pk": 724}, {"fields": {"codename": "add_organizationcourse", "name": "Can add Link Course", "content_type": 241}, "model": "auth.permission", "pk": 725}, {"fields": {"codename": "change_organizationcourse", "name": "Can change Link Course", "content_type": 241}, "model": "auth.permission", "pk": 726}, {"fields": {"codename": "delete_organizationcourse", "name": "Can delete Link Course", "content_type": 241}, "model": "auth.permission", "pk": 727}, {"fields": {"codename": "add_videouploadconfig", "name": "Can add video upload config", "content_type": 242}, "model": "auth.permission", "pk": 728}, {"fields": {"codename": "change_videouploadconfig", "name": "Can change video upload config", "content_type": 242}, "model": "auth.permission", "pk": 729}, {"fields": {"codename": "delete_videouploadconfig", "name": "Can delete video upload config", "content_type": 242}, "model": "auth.permission", "pk": 730}, {"fields": {"codename": "add_pushnotificationconfig", "name": "Can add push notification config", "content_type": 243}, "model": "auth.permission", "pk": 731}, {"fields": {"codename": "change_pushnotificationconfig", "name": "Can change push notification config", "content_type": 243}, "model": "auth.permission", "pk": 732}, {"fields": {"codename": "delete_pushnotificationconfig", "name": "Can delete push notification config", "content_type": 243}, "model": "auth.permission", "pk": 733}, {"fields": {"codename": "add_coursecreator", "name": "Can add course creator", "content_type": 244}, "model": "auth.permission", "pk": 734}, {"fields": {"codename": "change_coursecreator", "name": "Can change course creator", "content_type": 244}, "model": "auth.permission", "pk": 735}, {"fields": {"codename": "delete_coursecreator", "name": "Can delete course creator", "content_type": 244}, "model": "auth.permission", "pk": 736}, {"fields": {"codename": "add_studioconfig", "name": "Can add studio config", "content_type": 245}, "model": "auth.permission", "pk": 737}, {"fields": {"codename": "change_studioconfig", "name": "Can change studio config", "content_type": 245}, "model": "auth.permission", "pk": 738}, {"fields": {"codename": "delete_studioconfig", "name": "Can delete studio config", "content_type": 245}, "model": "auth.permission", "pk": 739}, {"fields": {"username": "ecommerce_worker", "first_name": "", "last_name": "", "is_active": true, "is_superuser": false, "is_staff": false, "last_login": null, "groups": [], "user_permissions": [], "password": "!a7SudZ8tSftyXEVQPKpBHG2rj6ZOmcr0VCpboorI", "email": "ecommerce_worker@fake.email", "date_joined": "2016-01-21T18:53:18.229Z"}, "model": "auth.user", "pk": 1}, {"fields": {"change_date": "2016-01-21T18:54:25.176Z", "changed_by": null, "enabled": true}, "model": "util.ratelimitconfiguration", "pk": 1}, {"fields": {"change_date": "2016-01-21T18:53:13.524Z", "changed_by": null, "configuration": "{\"default\": {\"accomplishment_class_append\": \"accomplishment-certificate\", \"platform_name\": \"Your Platform Name Here\", \"logo_src\": \"/static/certificates/images/logo.png\", \"logo_url\": \"http://www.example.com\", \"company_verified_certificate_url\": \"http://www.example.com/verified-certificate\", \"company_privacy_url\": \"http://www.example.com/privacy-policy\", \"company_tos_url\": \"http://www.example.com/terms-service\", \"company_about_url\": \"http://www.example.com/about-us\"}, \"verified\": {\"certificate_type\": \"Verified\", \"certificate_title\": \"Verified Certificate of Achievement\"}, \"honor\": {\"certificate_type\": \"Honor Code\", \"certificate_title\": \"Certificate of Achievement\"}}", "enabled": false}, "model": "certificates.certificatehtmlviewconfiguration", "pk": 1}, {"fields": {"change_date": "2016-01-21T18:53:24.176Z", "changed_by": null, "enabled": true, "released_languages": ""}, "model": "dark_lang.darklangconfig", "pk": 1}]
\ No newline at end of file
diff --git a/common/test/db_cache/bok_choy_data_student_module_history.json b/common/test/db_cache/bok_choy_data_student_module_history.json
new file mode 100644
index 00000000000..8e2f0bef135
--- /dev/null
+++ b/common/test/db_cache/bok_choy_data_student_module_history.json
@@ -0,0 +1 @@
+[
\ No newline at end of file
diff --git a/common/test/db_cache/bok_choy_schema.sql b/common/test/db_cache/bok_choy_schema_default.sql
similarity index 99%
rename from common/test/db_cache/bok_choy_schema.sql
rename to common/test/db_cache/bok_choy_schema_default.sql
index 26d6fc5574f..df3174a46bd 100644
--- a/common/test/db_cache/bok_choy_schema.sql
+++ b/common/test/db_cache/bok_choy_schema_default.sql
@@ -412,7 +412,7 @@ CREATE TABLE `auth_permission` (
   PRIMARY KEY (`id`),
   UNIQUE KEY `content_type_id` (`content_type_id`,`codename`),
   CONSTRAINT `auth__content_type_id_508cf46651277a81_fk_django_content_type_id` FOREIGN KEY (`content_type_id`) REFERENCES `django_content_type` (`id`)
-) ENGINE=InnoDB AUTO_INCREMENT=746 DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=740 DEFAULT CHARSET=utf8;
 /*!40101 SET character_set_client = @saved_cs_client */;
 DROP TABLE IF EXISTS `auth_registration`;
 /*!40101 SET @saved_cs_client     = @@character_set_client */;
@@ -444,7 +444,7 @@ CREATE TABLE `auth_user` (
   `date_joined` datetime(6) NOT NULL,
   PRIMARY KEY (`id`),
   UNIQUE KEY `username` (`username`)
-) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
 /*!40101 SET character_set_client = @saved_cs_client */;
 DROP TABLE IF EXISTS `auth_user_groups`;
 /*!40101 SET @saved_cs_client     = @@character_set_client */;
@@ -1353,24 +1353,6 @@ CREATE TABLE `courseware_xmoduleuserstatesummaryfield` (
   KEY `courseware_xmoduleuserstatesummaryfield_0528eb2a` (`usage_id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 /*!40101 SET character_set_client = @saved_cs_client */;
-DROP TABLE IF EXISTS `credentials_credentialsapiconfig`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `credentials_credentialsapiconfig` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `change_date` datetime(6) NOT NULL,
-  `enabled` tinyint(1) NOT NULL,
-  `internal_service_url` varchar(200) NOT NULL,
-  `public_service_url` varchar(200) NOT NULL,
-  `enable_learner_issuance` tinyint(1) NOT NULL,
-  `enable_studio_authoring` tinyint(1) NOT NULL,
-  `cache_ttl` int(10) unsigned NOT NULL,
-  `changed_by_id` int(11) DEFAULT NULL,
-  PRIMARY KEY (`id`),
-  KEY `credentials_crede_changed_by_id_273a2e6b0649c861_fk_auth_user_id` (`changed_by_id`),
-  CONSTRAINT `credentials_crede_changed_by_id_273a2e6b0649c861_fk_auth_user_id` FOREIGN KEY (`changed_by_id`) REFERENCES `auth_user` (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-/*!40101 SET character_set_client = @saved_cs_client */;
 DROP TABLE IF EXISTS `credit_creditcourse`;
 /*!40101 SET @saved_cs_client     = @@character_set_client */;
 /*!40101 SET character_set_client = utf8 */;
@@ -1618,7 +1600,7 @@ CREATE TABLE `django_content_type` (
   `model` varchar(100) NOT NULL,
   PRIMARY KEY (`id`),
   UNIQUE KEY `django_content_type_app_label_45f3b1d93ec8c61c_uniq` (`app_label`,`model`)
-) ENGINE=InnoDB AUTO_INCREMENT=248 DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=246 DEFAULT CHARSET=utf8;
 /*!40101 SET character_set_client = @saved_cs_client */;
 DROP TABLE IF EXISTS `django_migrations`;
 /*!40101 SET @saved_cs_client     = @@character_set_client */;
@@ -1629,7 +1611,7 @@ CREATE TABLE `django_migrations` (
   `name` varchar(255) NOT NULL,
   `applied` datetime(6) NOT NULL,
   PRIMARY KEY (`id`)
-) ENGINE=InnoDB AUTO_INCREMENT=107 DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=103 DEFAULT CHARSET=utf8;
 /*!40101 SET character_set_client = @saved_cs_client */;
 DROP TABLE IF EXISTS `django_openid_auth_association`;
 /*!40101 SET @saved_cs_client     = @@character_set_client */;
diff --git a/common/test/db_cache/bok_choy_schema_student_module_history.sql b/common/test/db_cache/bok_choy_schema_student_module_history.sql
new file mode 100644
index 00000000000..696b1bdf435
--- /dev/null
+++ b/common/test/db_cache/bok_choy_schema_student_module_history.sql
@@ -0,0 +1,21 @@
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8 */;
+/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
+/*!40103 SET TIME_ZONE='+00:00' */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
+
diff --git a/lms/djangoapps/ccx/tests/test_field_override_performance.py b/lms/djangoapps/ccx/tests/test_field_override_performance.py
index d6a88b300b7..ffad914bee5 100644
--- a/lms/djangoapps/ccx/tests/test_field_override_performance.py
+++ b/lms/djangoapps/ccx/tests/test_field_override_performance.py
@@ -151,7 +151,10 @@ class FieldOverridePerformanceTestCase(ProceduralCourseTestMixin,
         """
         return check_sum_of_calls(XBlock, ['__init__'], instantiations, instantiations, include_arguments=False)
 
-    def instrument_course_progress_render(self, course_width, enable_ccx, view_as_ccx, queries, reads, xblocks):
+    def instrument_course_progress_render(
+            self, course_width, enable_ccx, view_as_ccx,
+            default_queries, history_queries, reads, xblocks
+    ):
         """
         Renders the progress page, instrumenting Mongo reads and SQL queries.
         """
@@ -173,10 +176,11 @@ class FieldOverridePerformanceTestCase(ProceduralCourseTestMixin,
             # can actually take affect.
             OverrideFieldData.provider_classes = None
 
-            with self.assertNumQueries(queries):
-                with self.assertMongoCallCount(reads):
-                    with self.assertXBlockInstantiations(xblocks):
-                        self.grade_course(self.course, view_as_ccx)
+            with self.assertNumQueries(default_queries, using='default'):
+                with self.assertNumQueries(history_queries, using='student_module_history'):
+                    with self.assertMongoCallCount(reads):
+                        with self.assertXBlockInstantiations(xblocks):
+                            self.grade_course(self.course, view_as_ccx)
 
     @ddt.data(*itertools.product(('no_overrides', 'ccx'), range(1, 4), (True, False), (True, False)))
     @ddt.unpack
@@ -201,8 +205,12 @@ class FieldOverridePerformanceTestCase(ProceduralCourseTestMixin,
             raise SkipTest("Can't use a MongoModulestore test as a CCX course")
 
         with self.settings(FIELD_OVERRIDE_PROVIDERS=providers[overrides]):
-            queries, reads, xblocks = self.TEST_DATA[(overrides, course_width, enable_ccx, view_as_ccx)]
-            self.instrument_course_progress_render(course_width, enable_ccx, view_as_ccx, queries, reads, xblocks)
+            default_queries, history_queries, reads, xblocks = self.TEST_DATA[
+                (overrides, course_width, enable_ccx, view_as_ccx)
+            ]
+            self.instrument_course_progress_render(
+                course_width, enable_ccx, view_as_ccx, default_queries, history_queries, reads, xblocks
+            )
 
 
 class TestFieldOverrideMongoPerformance(FieldOverridePerformanceTestCase):
@@ -213,25 +221,30 @@ class TestFieldOverrideMongoPerformance(FieldOverridePerformanceTestCase):
     __test__ = True
 
     TEST_DATA = {
-        # (providers, course_width, enable_ccx, view_as_ccx): # of sql queries, # of mongo queries, # of xblocks
-        ('no_overrides', 1, True, False): (48, 6, 13),
-        ('no_overrides', 2, True, False): (135, 6, 84),
-        ('no_overrides', 3, True, False): (480, 6, 335),
-        ('ccx', 1, True, False): (48, 6, 13),
-        ('ccx', 2, True, False): (135, 6, 84),
-        ('ccx', 3, True, False): (480, 6, 335),
-        ('ccx', 1, True, True): (48, 6, 13),
-        ('ccx', 2, True, True): (135, 6, 84),
-        ('ccx', 3, True, True): (480, 6, 335),
-        ('no_overrides', 1, False, False): (48, 6, 13),
-        ('no_overrides', 2, False, False): (135, 6, 84),
-        ('no_overrides', 3, False, False): (480, 6, 335),
-        ('ccx', 1, False, False): (48, 6, 13),
-        ('ccx', 2, False, False): (135, 6, 84),
-        ('ccx', 3, False, False): (480, 6, 335),
-        ('ccx', 1, False, True): (48, 6, 13),
-        ('ccx', 2, False, True): (135, 6, 84),
-        ('ccx', 3, False, True): (480, 6, 335),
+        # (providers, course_width, enable_ccx, view_as_ccx): (
+        #     # of sql queries to default,
+        #     # sql queries to student_module_history,
+        #     # of mongo queries,
+        #     # of xblocks
+        # )
+        ('no_overrides', 1, True, False): (23, 1, 6, 13),
+        ('no_overrides', 2, True, False): (53, 16, 6, 84),
+        ('no_overrides', 3, True, False): (183, 81, 6, 335),
+        ('ccx', 1, True, False): (23, 1, 6, 13),
+        ('ccx', 2, True, False): (53, 16, 6, 84),
+        ('ccx', 3, True, False): (183, 81, 6, 335),
+        ('ccx', 1, True, True): (23, 1, 6, 13),
+        ('ccx', 2, True, True): (53, 16, 6, 84),
+        ('ccx', 3, True, True): (183, 81, 6, 335),
+        ('no_overrides', 1, False, False): (23, 1, 6, 13),
+        ('no_overrides', 2, False, False): (53, 16, 6, 84),
+        ('no_overrides', 3, False, False): (183, 81, 6, 335),
+        ('ccx', 1, False, False): (23, 1, 6, 13),
+        ('ccx', 2, False, False): (53, 16, 6, 84),
+        ('ccx', 3, False, False): (183, 81, 6, 335),
+        ('ccx', 1, False, True): (23, 1, 6, 13),
+        ('ccx', 2, False, True): (53, 16, 6, 84),
+        ('ccx', 3, False, True): (183, 81, 6, 335),
     }
 
 
@@ -243,22 +256,22 @@ class TestFieldOverrideSplitPerformance(FieldOverridePerformanceTestCase):
     __test__ = True
 
     TEST_DATA = {
-        ('no_overrides', 1, True, False): (48, 4, 9),
-        ('no_overrides', 2, True, False): (135, 19, 54),
-        ('no_overrides', 3, True, False): (480, 84, 215),
-        ('ccx', 1, True, False): (48, 4, 9),
-        ('ccx', 2, True, False): (135, 19, 54),
-        ('ccx', 3, True, False): (480, 84, 215),
-        ('ccx', 1, True, True): (50, 4, 13),
-        ('ccx', 2, True, True): (137, 19, 84),
-        ('ccx', 3, True, True): (482, 84, 335),
-        ('no_overrides', 1, False, False): (48, 4, 9),
-        ('no_overrides', 2, False, False): (135, 19, 54),
-        ('no_overrides', 3, False, False): (480, 84, 215),
-        ('ccx', 1, False, False): (48, 4, 9),
-        ('ccx', 2, False, False): (135, 19, 54),
-        ('ccx', 3, False, False): (480, 84, 215),
-        ('ccx', 1, False, True): (48, 4, 9),
-        ('ccx', 2, False, True): (135, 19, 54),
-        ('ccx', 3, False, True): (480, 84, 215),
+        ('no_overrides', 1, True, False): (23, 1, 4, 9),
+        ('no_overrides', 2, True, False): (53, 16, 19, 54),
+        ('no_overrides', 3, True, False): (183, 81, 84, 215),
+        ('ccx', 1, True, False): (23, 1, 4, 9),
+        ('ccx', 2, True, False): (53, 16, 19, 54),
+        ('ccx', 3, True, False): (183, 81, 84, 215),
+        ('ccx', 1, True, True): (25, 1, 4, 13),
+        ('ccx', 2, True, True): (55, 16, 19, 84),
+        ('ccx', 3, True, True): (185, 81, 84, 335),
+        ('no_overrides', 1, False, False): (23, 1, 4, 9),
+        ('no_overrides', 2, False, False): (53, 16, 19, 54),
+        ('no_overrides', 3, False, False): (183, 81, 84, 215),
+        ('ccx', 1, False, False): (23, 1, 4, 9),
+        ('ccx', 2, False, False): (53, 16, 19, 54),
+        ('ccx', 3, False, False): (183, 81, 84, 215),
+        ('ccx', 1, False, True): (23, 1, 4, 9),
+        ('ccx', 2, False, True): (53, 16, 19, 54),
+        ('ccx', 3, False, True): (183, 81, 84, 215),
     }
diff --git a/lms/djangoapps/courseware/fields.py b/lms/djangoapps/courseware/fields.py
new file mode 100644
index 00000000000..6e34c4e635f
--- /dev/null
+++ b/lms/djangoapps/courseware/fields.py
@@ -0,0 +1,21 @@
+"""
+Custom fields for use in the courseware django app.
+"""
+
+from django.db.models.fields import AutoField
+
+
+class UnsignedBigIntAutoField(AutoField):
+    """
+    An unsigned 8-byte integer for auto-incrementing primary keys.
+    """
+    def db_type(self, connection):
+        if connection.settings_dict['ENGINE'] == 'django.db.backends.mysql':
+            return "bigint UNSIGNED AUTO_INCREMENT"
+        elif connection.settings_dict['ENGINE'] == 'django.db.backends.sqlite3':
+            # Sqlite will only auto-increment the ROWID column. Any INTEGER PRIMARY KEY column
+            # is an alias for that (https://www.sqlite.org/autoinc.html). An unsigned integer
+            # isn't an alias for ROWID, so we have to give up on the unsigned part.
+            return "integer"
+        else:
+            return None
diff --git a/lms/djangoapps/courseware/management/commands/clean_history.py b/lms/djangoapps/courseware/management/commands/clean_history.py
deleted file mode 100644
index d4f22a0e3e5..00000000000
--- a/lms/djangoapps/courseware/management/commands/clean_history.py
+++ /dev/null
@@ -1,222 +0,0 @@
-"""A command to clean the StudentModuleHistory table.
-
-When we added XBlock storage, each field modification wrote a new history row
-to the db.  Now that we have bulk saves to avoid that database hammering, we
-need to clean out the unnecessary rows from the database.
-
-This command that does that.
-
-"""
-
-import datetime
-import json
-import logging
-import optparse
-import time
-import traceback
-
-from django.core.management.base import NoArgsCommand
-from django.db import transaction
-from django.db.models import Max
-from courseware.models import StudentModuleHistory
-
-
-class Command(NoArgsCommand):
-    """The actual clean_history command to clean history rows."""
-
-    help = "Deletes unneeded rows from the StudentModuleHistory table."
-
-    option_list = NoArgsCommand.option_list + (
-        optparse.make_option(
-            '--batch',
-            type='int',
-            default=100,
-            help="Batch size, number of module_ids to examine in a transaction.",
-        ),
-        optparse.make_option(
-            '--dry-run',
-            action='store_true',
-            default=False,
-            help="Don't change the database, just show what would be done.",
-        ),
-        optparse.make_option(
-            '--sleep',
-            type='float',
-            default=0,
-            help="Seconds to sleep between batches.",
-        ),
-    )
-
-    def handle_noargs(self, **options):
-        # We don't want to see the SQL output from the db layer.
-        logging.getLogger("django.db.backends").setLevel(logging.INFO)
-
-        smhc = StudentModuleHistoryCleaner(
-            dry_run=options["dry_run"],
-        )
-        smhc.main(batch_size=options["batch"], sleep=options["sleep"])
-
-
-class StudentModuleHistoryCleaner(object):
-    """Logic to clean rows from the StudentModuleHistory table."""
-
-    DELETE_GAP_SECS = 0.5   # Rows this close can be discarded.
-    STATE_FILE = "clean_history.json"
-    BATCH_SIZE = 100
-
-    def __init__(self, dry_run=False):
-        self.dry_run = dry_run
-        self.next_student_module_id = 0
-        self.last_student_module_id = 0
-
-    def main(self, batch_size=None, sleep=0):
-        """Invoked from the management command to do all the work."""
-
-        batch_size = batch_size or self.BATCH_SIZE
-
-        self.last_student_module_id = self.get_last_student_module_id()
-        self.load_state()
-
-        while self.next_student_module_id <= self.last_student_module_id:
-            with transaction.atomic():
-                for smid in self.module_ids_to_check(batch_size):
-                    try:
-                        self.clean_one_student_module(smid)
-                    except Exception:       # pylint: disable=broad-except
-                        trace = traceback.format_exc()
-                        self.say("Couldn't clean student_module_id {}:\n{}".format(smid, trace))
-                if self.dry_run:
-                    transaction.set_rollback(True)
-                else:
-                    self.say("Committing")
-            self.save_state()
-            if sleep:
-                time.sleep(sleep)
-
-    def say(self, message):
-        """
-        Display a message to the user.
-
-        The message will have a trailing newline added to it.
-
-        """
-        print message
-
-    def load_state(self):
-        """
-        Load the latest state from disk.
-        """
-        try:
-            state_file = open(self.STATE_FILE)
-        except IOError:
-            self.say("No stored state")
-            self.next_student_module_id = 0
-        else:
-            with state_file:
-                state = json.load(state_file)
-            self.say(
-                "Loaded stored state: {}".format(
-                    json.dumps(state, sort_keys=True)
-                )
-            )
-            self.next_student_module_id = state['next_student_module_id']
-
-    def save_state(self):
-        """
-        Save the state to disk.
-        """
-        state = {
-            'next_student_module_id': self.next_student_module_id,
-        }
-        with open(self.STATE_FILE, "w") as state_file:
-            json.dump(state, state_file)
-        self.say("Saved state: {}".format(json.dumps(state, sort_keys=True)))
-
-    def get_last_student_module_id(self):
-        """
-        Return the id of the last student_module.
-        """
-        last = StudentModuleHistory.objects.all() \
-            .aggregate(Max('student_module'))['student_module__max']
-        self.say("Last student_module_id is {}".format(last))
-        return last
-
-    def module_ids_to_check(self, batch_size):
-        """Produce a sequence of student module ids to check.
-
-        `batch_size` is how many module ids to produce, max.
-
-        The sequence starts with `next_student_module_id`, and goes up to
-        and including `last_student_module_id`.
-
-        `next_student_module_id` is updated as each id is yielded.
-
-        """
-        start = self.next_student_module_id
-        for smid in range(start, start + batch_size):
-            if smid > self.last_student_module_id:
-                break
-            yield smid
-            self.next_student_module_id = smid + 1
-
-    def get_history_for_student_modules(self, student_module_id):
-        """
-        Get the history rows for a student module.
-
-        ```student_module_id```: the id of the student module we're
-        interested in.
-
-        Return a list: [(id, created), ...], all the rows of history.
-
-        """
-        history = StudentModuleHistory.objects \
-            .filter(student_module=student_module_id) \
-            .order_by('created', 'id')
-
-        return [(row.id, row.created) for row in history]
-
-    def delete_history(self, ids_to_delete):
-        """
-        Delete history rows.
-
-        ```ids_to_delete```: a non-empty list (or set...) of history row ids to delete.
-
-        """
-        assert ids_to_delete
-        StudentModuleHistory.objects.filter(id__in=ids_to_delete).delete()
-
-    def clean_one_student_module(self, student_module_id):
-        """Clean one StudentModule's-worth of history.
-
-        `student_module_id`: the id of the StudentModule to process.
-
-        """
-        delete_gap = datetime.timedelta(seconds=self.DELETE_GAP_SECS)
-
-        history = self.get_history_for_student_modules(student_module_id)
-        if not history:
-            self.say("No history for student_module_id {}".format(student_module_id))
-            return
-
-        ids_to_delete = []
-        next_created = None
-        for history_id, created in reversed(history):
-            if next_created is not None:
-                # Compare this timestamp with the next one.
-                if (next_created - created) < delete_gap:
-                    # This row is followed closely by another, we can discard
-                    # this one.
-                    ids_to_delete.append(history_id)
-
-            next_created = created
-
-        verb = "Would have deleted" if self.dry_run else "Deleting"
-        self.say("{verb} {to_delete} rows of {total} for student_module_id {id}".format(
-            verb=verb,
-            to_delete=len(ids_to_delete),
-            total=len(history),
-            id=student_module_id,
-        ))
-
-        if ids_to_delete and not self.dry_run:
-            self.delete_history(ids_to_delete)
diff --git a/lms/djangoapps/courseware/management/commands/tests/test_clean_history.py b/lms/djangoapps/courseware/management/commands/tests/test_clean_history.py
deleted file mode 100644
index e0c7da7af98..00000000000
--- a/lms/djangoapps/courseware/management/commands/tests/test_clean_history.py
+++ /dev/null
@@ -1,491 +0,0 @@
-"""Test the clean_history management command."""
-
-import fnmatch
-from mock import Mock
-from nose.plugins.attrib import attr
-import os.path
-import textwrap
-
-import dateutil.parser
-
-from django.test import TransactionTestCase
-from django.db import connection
-
-from courseware.management.commands.clean_history import StudentModuleHistoryCleaner
-
-# In lots of places in this file, smhc == StudentModuleHistoryCleaner
-
-
-def parse_date(sdate):
-    """Parse a string date into a datetime."""
-    parsed = dateutil.parser.parse(sdate)
-    parsed = parsed.replace(tzinfo=dateutil.tz.gettz('UTC'))
-    return parsed
-
-
-class SmhcSayStubbed(StudentModuleHistoryCleaner):
-    """StudentModuleHistoryCleaner, but with .say() stubbed for testing."""
-    def __init__(self, **kwargs):
-        super(SmhcSayStubbed, self).__init__(**kwargs)
-        self.said_lines = []
-
-    def say(self, msg):
-        self.said_lines.append(msg)
-
-
-class SmhcDbMocked(SmhcSayStubbed):
-    """StudentModuleHistoryCleaner, but with db access mocked."""
-    def __init__(self, **kwargs):
-        super(SmhcDbMocked, self).__init__(**kwargs)
-        self.get_history_for_student_modules = Mock()
-        self.delete_history = Mock()
-
-    def set_rows(self, rows):
-        """Set the mocked history rows."""
-        rows = [(row_id, parse_date(created)) for row_id, created in rows]
-        self.get_history_for_student_modules.return_value = rows
-
-
-class HistoryCleanerTest(TransactionTestCase):
-    """Base class for all history cleaner tests."""
-
-    maxDiff = None
-
-    def setUp(self):
-        super(HistoryCleanerTest, self).setUp()
-        self.addCleanup(self.clean_up_state_file)
-
-    def write_state_file(self, state):
-        """Write the string `state` into the state file read by StudentModuleHistoryCleaner."""
-        with open(StudentModuleHistoryCleaner.STATE_FILE, "w") as state_file:
-            state_file.write(state)
-
-    def read_state_file(self):
-        """Return the string contents of the state file read by StudentModuleHistoryCleaner."""
-        with open(StudentModuleHistoryCleaner.STATE_FILE) as state_file:
-            return state_file.read()
-
-    def clean_up_state_file(self):
-        """Remove any state file lying around."""
-        if os.path.exists(StudentModuleHistoryCleaner.STATE_FILE):
-            os.remove(StudentModuleHistoryCleaner.STATE_FILE)
-
-    def assert_said(self, smhc, *msgs):
-        """Fail if the `smhc` didn't say `msgs`.
-
-        The messages passed here are `fnmatch`-style patterns: "*" means anything.
-
-        """
-        for said, pattern in zip(smhc.said_lines, msgs):
-            if not fnmatch.fnmatch(said, pattern):
-                fmt = textwrap.dedent("""\
-                    Messages:
-
-                    {msgs}
-
-                    don't match patterns:
-
-                    {patterns}
-
-                    Failed at {said!r} and {pattern!r}
-                    """)
-
-                msg = fmt.format(
-                    msgs="\n".join(smhc.said_lines),
-                    patterns="\n".join(msgs),
-                    said=said,
-                    pattern=pattern
-                )
-                self.fail(msg)
-
-    def parse_rows(self, rows):
-        """Parse convenient rows into real data."""
-        rows = [
-            (row_id, parse_date(created), student_module_id)
-            for row_id, created, student_module_id in rows
-        ]
-        return rows
-
-    def write_history(self, rows):
-        """Write history rows to the db.
-
-        Each row should be (id, created, student_module_id).
-
-        """
-        cursor = connection.cursor()
-        cursor.executemany(
-            """
-            INSERT INTO courseware_studentmodulehistory
-            (id, created, student_module_id)
-            VALUES (%s, %s, %s)
-            """,
-            self.parse_rows(rows),
-        )
-
-    def read_history(self):
-        """Read the history from the db, and return it as a list of tuples.
-
-        Returns [(id, created, student_module_id), ...]
-
-        """
-        cursor = connection.cursor()
-        cursor.execute("""
-            SELECT id, created, student_module_id FROM courseware_studentmodulehistory
-        """)
-        return cursor.fetchall()
-
-    def assert_history(self, rows):
-        """Assert that the history rows are the same as `rows`."""
-        self.assertEqual(self.parse_rows(rows), self.read_history())
-
-
-@attr('shard_1')
-class HistoryCleanerNoDbTest(HistoryCleanerTest):
-    """Tests of StudentModuleHistoryCleaner with db access mocked."""
-
-    def test_empty(self):
-        smhc = SmhcDbMocked()
-        smhc.set_rows([])
-
-        smhc.clean_one_student_module(1)
-        self.assert_said(smhc, "No history for student_module_id 1")
-
-        # Nothing to delete, so delete_history wasn't called.
-        self.assertFalse(smhc.delete_history.called)
-
-    def test_one_row(self):
-        smhc = SmhcDbMocked()
-        smhc.set_rows([
-            (1, "2013-07-13 12:11:10.987"),
-        ])
-        smhc.clean_one_student_module(1)
-        self.assert_said(smhc, "Deleting 0 rows of 1 for student_module_id 1")
-        # Nothing to delete, so delete_history wasn't called.
-        self.assertFalse(smhc.delete_history.called)
-
-    def test_one_row_dry_run(self):
-        smhc = SmhcDbMocked(dry_run=True)
-        smhc.set_rows([
-            (1, "2013-07-13 12:11:10.987"),
-        ])
-        smhc.clean_one_student_module(1)
-        self.assert_said(smhc, "Would have deleted 0 rows of 1 for student_module_id 1")
-        # Nothing to delete, so delete_history wasn't called.
-        self.assertFalse(smhc.delete_history.called)
-
-    def test_two_rows_close(self):
-        smhc = SmhcDbMocked()
-        smhc.set_rows([
-            (7, "2013-07-13 12:34:56.789"),
-            (9, "2013-07-13 12:34:56.987"),
-        ])
-        smhc.clean_one_student_module(1)
-        self.assert_said(smhc, "Deleting 1 rows of 2 for student_module_id 1")
-        smhc.delete_history.assert_called_once_with([7])
-
-    def test_two_rows_far(self):
-        smhc = SmhcDbMocked()
-        smhc.set_rows([
-            (7, "2013-07-13 12:34:56.789"),
-            (9, "2013-07-13 12:34:57.890"),
-        ])
-        smhc.clean_one_student_module(1)
-        self.assert_said(smhc, "Deleting 0 rows of 2 for student_module_id 1")
-        self.assertFalse(smhc.delete_history.called)
-
-    def test_a_bunch_of_rows(self):
-        smhc = SmhcDbMocked()
-        smhc.set_rows([
-            (4, "2013-07-13 16:30:00.000"),    # keep
-            (8, "2013-07-13 16:30:01.100"),
-            (15, "2013-07-13 16:30:01.200"),
-            (16, "2013-07-13 16:30:01.300"),    # keep
-            (23, "2013-07-13 16:30:02.400"),
-            (42, "2013-07-13 16:30:02.500"),
-            (98, "2013-07-13 16:30:02.600"),    # keep
-            (99, "2013-07-13 16:30:59.000"),    # keep
-        ])
-        smhc.clean_one_student_module(17)
-        self.assert_said(smhc, "Deleting 4 rows of 8 for student_module_id 17")
-        smhc.delete_history.assert_called_once_with([42, 23, 15, 8])
-
-
-@attr('shard_1')
-class HistoryCleanerWitDbTest(HistoryCleanerTest):
-    """Tests of StudentModuleHistoryCleaner with a real db."""
-
-    def test_no_history(self):
-        # Cleaning a student_module_id with no history leaves the db unchanged.
-        smhc = SmhcSayStubbed()
-        self.write_history([
-            (4, "2013-07-13 16:30:00.000", 11),    # keep
-            (8, "2013-07-13 16:30:01.100", 11),
-            (15, "2013-07-13 16:30:01.200", 11),
-            (16, "2013-07-13 16:30:01.300", 11),    # keep
-            (23, "2013-07-13 16:30:02.400", 11),
-            (42, "2013-07-13 16:30:02.500", 11),
-            (98, "2013-07-13 16:30:02.600", 11),    # keep
-            (99, "2013-07-13 16:30:59.000", 11),    # keep
-        ])
-
-        smhc.clean_one_student_module(22)
-        self.assert_said(smhc, "No history for student_module_id 22")
-        self.assert_history([
-            (4, "2013-07-13 16:30:00.000", 11),    # keep
-            (8, "2013-07-13 16:30:01.100", 11),
-            (15, "2013-07-13 16:30:01.200", 11),
-            (16, "2013-07-13 16:30:01.300", 11),    # keep
-            (23, "2013-07-13 16:30:02.400", 11),
-            (42, "2013-07-13 16:30:02.500", 11),
-            (98, "2013-07-13 16:30:02.600", 11),    # keep
-            (99, "2013-07-13 16:30:59.000", 11),    # keep
-        ])
-
-    def test_a_bunch_of_rows(self):
-        # Cleaning a student_module_id with 8 records, 4 to delete.
-        smhc = SmhcSayStubbed()
-        self.write_history([
-            (4, "2013-07-13 16:30:00.000", 11),    # keep
-            (8, "2013-07-13 16:30:01.100", 11),
-            (15, "2013-07-13 16:30:01.200", 11),
-            (16, "2013-07-13 16:30:01.300", 11),    # keep
-            (17, "2013-07-13 16:30:01.310", 22),    # other student_module_id!
-            (23, "2013-07-13 16:30:02.400", 11),
-            (42, "2013-07-13 16:30:02.500", 11),
-            (98, "2013-07-13 16:30:02.600", 11),    # keep
-            (99, "2013-07-13 16:30:59.000", 11),    # keep
-        ])
-
-        smhc.clean_one_student_module(11)
-        self.assert_said(smhc, "Deleting 4 rows of 8 for student_module_id 11")
-        self.assert_history([
-            (4, "2013-07-13 16:30:00.000", 11),    # keep
-            (16, "2013-07-13 16:30:01.300", 11),    # keep
-            (17, "2013-07-13 16:30:01.310", 22),    # other student_module_id!
-            (98, "2013-07-13 16:30:02.600", 11),    # keep
-            (99, "2013-07-13 16:30:59.000", 11),    # keep
-        ])
-
-    def test_a_bunch_of_rows_dry_run(self):
-        # Cleaning a student_module_id with 8 records, 4 to delete,
-        # but don't really do it.
-        smhc = SmhcSayStubbed(dry_run=True)
-        self.write_history([
-            (4, "2013-07-13 16:30:00.000", 11),    # keep
-            (8, "2013-07-13 16:30:01.100", 11),
-            (15, "2013-07-13 16:30:01.200", 11),
-            (16, "2013-07-13 16:30:01.300", 11),    # keep
-            (23, "2013-07-13 16:30:02.400", 11),
-            (42, "2013-07-13 16:30:02.500", 11),
-            (98, "2013-07-13 16:30:02.600", 11),    # keep
-            (99, "2013-07-13 16:30:59.000", 11),    # keep
-        ])
-
-        smhc.clean_one_student_module(11)
-        self.assert_said(smhc, "Would have deleted 4 rows of 8 for student_module_id 11")
-        self.assert_history([
-            (4, "2013-07-13 16:30:00.000", 11),    # keep
-            (8, "2013-07-13 16:30:01.100", 11),
-            (15, "2013-07-13 16:30:01.200", 11),
-            (16, "2013-07-13 16:30:01.300", 11),    # keep
-            (23, "2013-07-13 16:30:02.400", 11),
-            (42, "2013-07-13 16:30:02.500", 11),
-            (98, "2013-07-13 16:30:02.600", 11),    # keep
-            (99, "2013-07-13 16:30:59.000", 11),    # keep
-        ])
-
-    def test_a_bunch_of_rows_in_jumbled_order(self):
-        # Cleaning a student_module_id with 8 records, 4 to delete.
-        smhc = SmhcSayStubbed()
-        self.write_history([
-            (23, "2013-07-13 16:30:01.100", 11),
-            (24, "2013-07-13 16:30:01.300", 11),    # keep
-            (27, "2013-07-13 16:30:02.500", 11),
-            (30, "2013-07-13 16:30:01.350", 22),    # other student_module_id!
-            (32, "2013-07-13 16:30:59.000", 11),    # keep
-            (50, "2013-07-13 16:30:02.400", 11),
-            (51, "2013-07-13 16:30:02.600", 11),    # keep
-            (56, "2013-07-13 16:30:00.000", 11),    # keep
-            (57, "2013-07-13 16:30:01.200", 11),
-        ])
-
-        smhc.clean_one_student_module(11)
-        self.assert_said(smhc, "Deleting 4 rows of 8 for student_module_id 11")
-        self.assert_history([
-            (24, "2013-07-13 16:30:01.300", 11),    # keep
-            (30, "2013-07-13 16:30:01.350", 22),    # other student_module_id!
-            (32, "2013-07-13 16:30:59.000", 11),    # keep
-            (51, "2013-07-13 16:30:02.600", 11),    # keep
-            (56, "2013-07-13 16:30:00.000", 11),    # keep
-        ])
-
-    def test_a_bunch_of_rows_with_timestamp_ties(self):
-        # Sometimes rows are written with identical timestamps.  The one with
-        # the greater id is the winner in that case.
-        smhc = SmhcSayStubbed()
-        self.write_history([
-            (21, "2013-07-13 16:30:01.100", 11),
-            (24, "2013-07-13 16:30:01.100", 11),    # keep
-            (22, "2013-07-13 16:30:01.100", 11),
-            (23, "2013-07-13 16:30:01.100", 11),
-            (27, "2013-07-13 16:30:02.500", 11),
-            (30, "2013-07-13 16:30:01.350", 22),    # other student_module_id!
-            (32, "2013-07-13 16:30:59.000", 11),    # keep
-            (50, "2013-07-13 16:30:02.500", 11),    # keep
-        ])
-
-        smhc.clean_one_student_module(11)
-        self.assert_said(smhc, "Deleting 4 rows of 7 for student_module_id 11")
-        self.assert_history([
-            (24, "2013-07-13 16:30:01.100", 11),    # keep
-            (30, "2013-07-13 16:30:01.350", 22),    # other student_module_id!
-            (32, "2013-07-13 16:30:59.000", 11),    # keep
-            (50, "2013-07-13 16:30:02.500", 11),    # keep
-        ])
-
-    def test_get_last_student_module(self):
-        # Can we find the last student_module_id properly?
-        smhc = SmhcSayStubbed()
-        self.write_history([
-            (23, "2013-07-13 16:30:01.100", 11),
-            (24, "2013-07-13 16:30:01.300", 44),
-            (27, "2013-07-13 16:30:02.500", 11),
-            (30, "2013-07-13 16:30:01.350", 22),
-            (32, "2013-07-13 16:30:59.000", 11),
-            (51, "2013-07-13 16:30:02.600", 33),
-            (56, "2013-07-13 16:30:00.000", 11),
-        ])
-        last = smhc.get_last_student_module_id()
-        self.assertEqual(last, 44)
-        self.assert_said(smhc, "Last student_module_id is 44")
-
-    def test_load_state_with_no_stored_state(self):
-        smhc = SmhcSayStubbed()
-        self.assertFalse(os.path.exists(smhc.STATE_FILE))
-        smhc.load_state()
-        self.assertEqual(smhc.next_student_module_id, 0)
-        self.assert_said(smhc, "No stored state")
-
-    def test_load_stored_state(self):
-        self.write_state_file('{"next_student_module_id": 23}')
-        smhc = SmhcSayStubbed()
-        smhc.load_state()
-        self.assertEqual(smhc.next_student_module_id, 23)
-        self.assert_said(smhc, 'Loaded stored state: {"next_student_module_id": 23}')
-
-    def test_save_state(self):
-        smhc = SmhcSayStubbed()
-        smhc.next_student_module_id = 47
-        smhc.save_state()
-        state = self.read_state_file()
-        self.assertEqual(state, '{"next_student_module_id": 47}')
-
-
-class SmhcForTestingMain(SmhcSayStubbed):
-    """A StudentModuleHistoryCleaner with a few function stubbed for testing main."""
-
-    def __init__(self, *args, **kwargs):
-        self.exception_smids = kwargs.pop('exception_smids', ())
-        super(SmhcForTestingMain, self).__init__(*args, **kwargs)
-
-    def clean_one_student_module(self, smid):
-        self.say("(not really cleaning {})".format(smid))
-        if smid in self.exception_smids:
-            raise Exception("Something went wrong!")
-
-
-@attr('shard_1')
-class HistoryCleanerMainTest(HistoryCleanerTest):
-    """Tests of StudentModuleHistoryCleaner.main(), using SmhcForTestingMain."""
-
-    def test_only_one_record(self):
-        smhc = SmhcForTestingMain()
-        self.write_history([
-            (1, "2013-07-15 11:47:00.000", 1),
-        ])
-        smhc.main()
-        self.assert_said(
-            smhc,
-            'Last student_module_id is 1',
-            'No stored state',
-            '(not really cleaning 0)',
-            '(not really cleaning 1)',
-            'Committing',
-            'Saved state: {"next_student_module_id": 2}',
-        )
-
-    def test_already_processed_some(self):
-        smhc = SmhcForTestingMain()
-        self.write_state_file('{"next_student_module_id": 25}')
-        self.write_history([
-            (1, "2013-07-15 15:04:00.000", 23),
-            (2, "2013-07-15 15:04:11.000", 23),
-            (3, "2013-07-15 15:04:01.000", 24),
-            (4, "2013-07-15 15:04:00.000", 25),
-            (5, "2013-07-15 15:04:00.000", 26),
-        ])
-        smhc.main()
-        self.assert_said(
-            smhc,
-            'Last student_module_id is 26',
-            'Loaded stored state: {"next_student_module_id": 25}',
-            '(not really cleaning 25)',
-            '(not really cleaning 26)',
-            'Committing',
-            'Saved state: {"next_student_module_id": 27}'
-        )
-
-    def test_working_in_batches(self):
-        smhc = SmhcForTestingMain()
-        self.write_state_file('{"next_student_module_id": 25}')
-        self.write_history([
-            (3, "2013-07-15 15:04:01.000", 24),
-            (4, "2013-07-15 15:04:00.000", 25),
-            (5, "2013-07-15 15:04:00.000", 26),
-            (6, "2013-07-15 15:04:00.000", 27),
-            (7, "2013-07-15 15:04:00.000", 28),
-            (8, "2013-07-15 15:04:00.000", 29),
-        ])
-        smhc.main(batch_size=3)
-        self.assert_said(
-            smhc,
-            'Last student_module_id is 29',
-            'Loaded stored state: {"next_student_module_id": 25}',
-            '(not really cleaning 25)',
-            '(not really cleaning 26)',
-            '(not really cleaning 27)',
-            'Committing',
-            'Saved state: {"next_student_module_id": 28}',
-            '(not really cleaning 28)',
-            '(not really cleaning 29)',
-            'Committing',
-            'Saved state: {"next_student_module_id": 30}',
-        )
-
-    def test_something_failing_while_cleaning(self):
-        smhc = SmhcForTestingMain(exception_smids=[26])
-        self.write_state_file('{"next_student_module_id": 25}')
-        self.write_history([
-            (3, "2013-07-15 15:04:01.000", 24),
-            (4, "2013-07-15 15:04:00.000", 25),
-            (5, "2013-07-15 15:04:00.000", 26),
-            (6, "2013-07-15 15:04:00.000", 27),
-            (7, "2013-07-15 15:04:00.000", 28),
-            (8, "2013-07-15 15:04:00.000", 29),
-        ])
-        smhc.main(batch_size=3)
-        self.assert_said(
-            smhc,
-            'Last student_module_id is 29',
-            'Loaded stored state: {"next_student_module_id": 25}',
-            '(not really cleaning 25)',
-            '(not really cleaning 26)',
-            "Couldn't clean student_module_id 26:\nTraceback*Exception: Something went wrong!\n",
-            '(not really cleaning 27)',
-            'Committing',
-            'Saved state: {"next_student_module_id": 28}',
-            '(not really cleaning 28)',
-            '(not really cleaning 29)',
-            'Committing',
-            'Saved state: {"next_student_module_id": 30}',
-        )
diff --git a/lms/djangoapps/courseware/migrations/0002_csmh-extended-keyspace.py b/lms/djangoapps/courseware/migrations/0002_csmh-extended-keyspace.py
new file mode 100644
index 00000000000..8ee63b6f3b8
--- /dev/null
+++ b/lms/djangoapps/courseware/migrations/0002_csmh-extended-keyspace.py
@@ -0,0 +1,53 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import courseware.fields
+from django.conf import settings
+
+
+def bump_pk_start(apps, schema_editor):
+    if not schema_editor.connection.alias == 'student_module_history':
+                return
+    StudentModuleHistory = apps.get_model("courseware", "StudentModuleHistory")
+    initial_id = settings.STUDENTMODULEHISTORYEXTENDED_OFFSET + StudentModuleHistory.objects.all().latest('id').id
+
+    if schema_editor.connection.vendor == 'mysql':
+        schema_editor.execute('ALTER TABLE courseware_studentmodulehistoryextended AUTO_INCREMENT=%s', [initial_id])
+    elif schema_editor.connection.vendor == 'sqlite3':
+        # This is a hack to force sqlite to add new rows after the earlier rows we
+        # want to migrate.
+        StudentModuleHistory(
+            id=initial_id,
+            course_key=None,
+            usage_key=None,
+            username="",
+            version="",
+            created=datetime.datetime.now(),
+        ).save()
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('courseware', '0001_initial'),
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name='StudentModuleHistoryExtended',
+            fields=[
+                ('id', courseware.fields.UnsignedBigIntAutoField(serialize=False, primary_key=True)),
+                ('version', models.CharField(db_index=True, max_length=255, null=True, blank=True)),
+                ('created', models.DateTimeField(db_index=True)),
+                ('state', models.TextField(null=True, blank=True)),
+                ('grade', models.FloatField(null=True, blank=True)),
+                ('max_grade', models.FloatField(null=True, blank=True)),
+                ('student_module', models.ForeignKey(to='courseware.StudentModule', db_constraint=False)),
+            ],
+            options={
+                'get_latest_by': 'created',
+            },
+        ),
+        migrations.RunPython(bump_pk_start, reverse_code=migrations.RunPython.noop),
+    ]
diff --git a/lms/djangoapps/courseware/models.py b/lms/djangoapps/courseware/models.py
index 5dff6ea01d2..c67bb1fd16c 100644
--- a/lms/djangoapps/courseware/models.py
+++ b/lms/djangoapps/courseware/models.py
@@ -26,7 +26,7 @@ from student.models import user_by_anonymous_id
 from submissions.models import score_set, score_reset
 
 from xmodule_django.models import CourseKeyField, LocationKeyField, BlockTypeKeyField
-log = logging.getLogger(__name__)
+from courseware.fields import UnsignedBigIntAutoField
 
 log = logging.getLogger("edx.courseware")
 
@@ -188,6 +188,50 @@ class StudentModuleHistory(models.Model):
     def __unicode__(self):
         return unicode(repr(self))
 
+class StudentModuleHistoryExtended(models.Model):
+    """Keeps a complete history of state changes for a given XModule for a given
+    Student. Right now, we restrict this to problems so that the table doesn't
+    explode in size.
+
+    This new extended CSMH has a larger primary key that won't run out of space
+    so quickly."""
+    objects = ChunkingManager()
+    HISTORY_SAVING_TYPES = {'problem'}
+
+    class Meta(object):
+        app_label = "courseware"
+        get_latest_by = "created"
+
+    id = UnsignedBigIntAutoField(primary_key=True)  # pylint: disable=invalid-name
+
+    student_module = models.ForeignKey(StudentModule, db_index=True, db_constraint=False)
+    version = models.CharField(max_length=255, null=True, blank=True, db_index=True)
+
+    # This should be populated from the modified field in StudentModule
+    created = models.DateTimeField(db_index=True)
+    state = models.TextField(null=True, blank=True)
+    grade = models.FloatField(null=True, blank=True)
+    max_grade = models.FloatField(null=True, blank=True)
+
+    @receiver(post_save, sender=StudentModule)
+    def save_history(sender, instance, **kwargs):  # pylint: disable=no-self-argument, unused-argument
+        """
+        Checks the instance's module_type, and creates & saves a
+        StudentModuleHistory entry if the module_type is one that
+        we save.
+        """
+        if instance.module_type in StudentModuleHistoryExtended.HISTORY_SAVING_TYPES:
+            history_entry = StudentModuleHistoryExtended(student_module=instance,
+                                                 version=None,
+                                                 created=instance.modified,
+                                                 state=instance.state,
+                                                 grade=instance.grade,
+                                                 max_grade=instance.max_grade)
+            history_entry.save()
+
+    def __unicode__(self):
+        return unicode(repr(self))
+
 
 class XBlockFieldBase(models.Model):
     """
diff --git a/lms/djangoapps/courseware/routers.py b/lms/djangoapps/courseware/routers.py
new file mode 100644
index 00000000000..1514c102597
--- /dev/null
+++ b/lms/djangoapps/courseware/routers.py
@@ -0,0 +1,57 @@
+"""
+Database Routers for use with the courseware django app.
+"""
+
+
+class StudentModuleHistoryRouter(object):
+    """
+    A Database Router that separates StudentModuleHistory into its own database.
+    """
+
+    DATABASE_NAME = 'student_module_history'
+
+    def _is_csmh(self, model):
+        """
+        Return True if ``model`` is courseware.StudentModuleHistory.
+        """
+        return (
+            model._meta.app_label == 'courseware' and  # pylint: disable=protected-access
+            model.__name__ == 'StudentModuleHistory'
+        )
+
+    def db_for_read(self, model, **hints):  # pylint: disable=unused-argument
+        """
+        Use the StudentModuleHistoryRouter.DATABASE_NAME if the model is StudentModuleHistory.
+        """
+        if self._is_csmh(model):
+            return self.DATABASE_NAME
+        else:
+            return None
+
+    def db_for_write(self, model, **hints):  # pylint: disable=unused-argument
+        """
+        Use the StudentModuleHistoryRouter.DATABASE_NAME if the model is StudentModuleHistory.
+        """
+        if self._is_csmh(model):
+            return self.DATABASE_NAME
+        else:
+            return None
+
+    def allow_relation(self, obj1, obj2, **hints):  # pylint: disable=unused-argument
+        """
+        Disable relations if the model is StudentModuleHistory.
+        """
+        if self._is_csmh(obj1) or self._is_csmh(obj2):
+            return False
+        return None
+
+    def allow_migrate(self, db, model):  # pylint: disable=unused-argument
+        """
+        Only sync StudentModuleHistory to StudentModuleHistoryRouter.DATABASE_Name
+        """
+        if self._is_csmh(model):
+            return db == self.DATABASE_NAME
+        elif db == self.DATABASE_NAME:
+            return False
+
+        return None
diff --git a/lms/djangoapps/courseware/tests/test_model_data.py b/lms/djangoapps/courseware/tests/test_model_data.py
index e8c2a275f13..b80f05d2a12 100644
--- a/lms/djangoapps/courseware/tests/test_model_data.py
+++ b/lms/djangoapps/courseware/tests/test_model_data.py
@@ -249,8 +249,9 @@ class TestMissingStudentModule(TestCase):
         # to discover if something other than the DjangoXBlockUserStateClient
         # has written to the StudentModule (such as UserStateCache setting the score
         # on the StudentModule).
-        with self.assertNumQueries(5):
-            self.kvs.set(user_state_key('a_field'), 'a_value')
+        with self.assertNumQueries(2, using='default'):
+            with self.assertNumQueries(1, using='student_module_history'):
+                self.kvs.set(user_state_key('a_field'), 'a_value')
 
         self.assertEquals(1, sum(len(cache) for cache in self.field_data_cache.cache.values()))
         self.assertEquals(1, StudentModule.objects.all().count())
diff --git a/lms/envs/acceptance.py b/lms/envs/acceptance.py
index 7a8b3bee557..41c64afe56d 100644
--- a/lms/envs/acceptance.py
+++ b/lms/envs/acceptance.py
@@ -72,6 +72,14 @@ DATABASES = {
             'timeout': 30,
         },
         'ATOMIC_REQUESTS': True,
+    },
+    'student_module_history': {
+        'ENGINE': 'django.db.backends.sqlite3',
+        'NAME': TEST_ROOT / "db" / "test_student_module_history.db",
+        'TEST_NAME': TEST_ROOT / "db" / "test_student_module_history.db",
+        'OPTIONS': {
+            'timeout': 30,
+        },
     }
 }
 
diff --git a/lms/envs/aws.py b/lms/envs/aws.py
index 5e9327376d1..6f593d139c0 100644
--- a/lms/envs/aws.py
+++ b/lms/envs/aws.py
@@ -759,6 +759,11 @@ MICROSITE_DATABASE_TEMPLATE_CACHE_TTL = ENV_TOKENS.get(
 # Course Content Bookmarks Settings
 MAX_BOOKMARKS_PER_COURSE = ENV_TOKENS.get('MAX_BOOKMARKS_PER_COURSE', MAX_BOOKMARKS_PER_COURSE)
 
+# Offset for pk of courseware.StudentModuleHistoryExtended
+STUDENTMODULEHISTORYEXTENDED_OFFSET = ENV_TOKENS.get(
+    'STUDENTMODULEHISTORYEXTENDED_OFFSET', STUDENTMODULEHISTORYEXTENDED_OFFSET
+)
+
 # Cutoff date for granting audit certificates
 if ENV_TOKENS.get('AUDIT_CERT_CUTOFF_DATE', None):
     AUDIT_CERT_CUTOFF_DATE = dateutil.parser.parse(ENV_TOKENS.get('AUDIT_CERT_CUTOFF_DATE'))
diff --git a/lms/envs/aws_migrate.py b/lms/envs/aws_migrate.py
index e14834ec2d1..6dff6973395 100644
--- a/lms/envs/aws_migrate.py
+++ b/lms/envs/aws_migrate.py
@@ -13,18 +13,25 @@ from .aws import *
 import os
 from django.core.exceptions import ImproperlyConfigured
 
-DB_OVERRIDES = dict(
-    PASSWORD=os.environ.get('DB_MIGRATION_PASS', None),
-    ENGINE=os.environ.get('DB_MIGRATION_ENGINE', DATABASES['default']['ENGINE']),
-    USER=os.environ.get('DB_MIGRATION_USER', DATABASES['default']['USER']),
-    NAME=os.environ.get('DB_MIGRATION_NAME', DATABASES['default']['NAME']),
-    HOST=os.environ.get('DB_MIGRATION_HOST', DATABASES['default']['HOST']),
-    PORT=os.environ.get('DB_MIGRATION_PORT', DATABASES['default']['PORT']),
-)
 
-if DB_OVERRIDES['PASSWORD'] is None:
-    raise ImproperlyConfigured("No database password was provided for running "
-                               "migrations.  This is fatal.")
+def get_db_overrides(db_name):
+    """
+    Now that we have multiple databases, we want to look up from the environment
+    for both databases.
+    """
+    db_overrides = dict(
+        PASSWORD=os.environ.get('DB_MIGRATION_PASS', None),
+        ENGINE=os.environ.get('DB_MIGRATION_ENGINE', DATABASES[db_name]['ENGINE']),
+        USER=os.environ.get('DB_MIGRATION_USER', DATABASES[db_name]['USER']),
+        NAME=os.environ.get('DB_MIGRATION_NAME', DATABASES[db_name]['NAME']),
+        HOST=os.environ.get('DB_MIGRATION_HOST', DATABASES[db_name]['HOST']),
+        PORT=os.environ.get('DB_MIGRATION_PORT', DATABASES[db_name]['PORT']),
+    )
 
-for override, value in DB_OVERRIDES.iteritems():
-    DATABASES['default'][override] = value
+    if db_overrides['PASSWORD'] is None:
+        raise ImproperlyConfigured("No database password was provided for running "
+                                   "migrations.  This is fatal.")
+    return db_overrides
+
+for db in ['default', 'student_module_history']:
+    DATABASES[db].update(get_db_overrides(db))
diff --git a/lms/envs/bok_choy.auth.json b/lms/envs/bok_choy.auth.json
index c8b83d25bd8..a25ec6fb099 100644
--- a/lms/envs/bok_choy.auth.json
+++ b/lms/envs/bok_choy.auth.json
@@ -39,6 +39,14 @@
             "PASSWORD": "",
             "PORT": "3306",
             "USER": "root"
+        },
+        "student_module_history": {
+            "ENGINE": "django.db.backends.mysql",
+            "HOST": "localhost",
+            "NAME": "student_module_history_test",
+            "PASSWORD": "",
+            "PORT": "3306",
+            "USER": "root"
         }
     },
     "DOC_STORE_CONFIG": {
diff --git a/lms/envs/common.py b/lms/envs/common.py
index e58e5839535..fa7cbe68fc6 100644
--- a/lms/envs/common.py
+++ b/lms/envs/common.py
@@ -413,6 +413,12 @@ GEOIPV6_PATH = REPO_ROOT / "common/static/data/geoip/GeoIPv6.dat"
 # Where to look for a status message
 STATUS_MESSAGE_PATH = ENV_ROOT / "status_message.json"
 
+############################ Global Database Configuration #####################
+
+DATABASE_ROUTERS = [
+    'courseware.routers.StudentModuleHistoryRouter',
+]
+
 ############################ OpenID Provider  ##################################
 OPENID_PROVIDER_TRUSTED_ROOTS = ['cs50.net', '*.cs50.net']
 
@@ -2759,6 +2765,10 @@ MOBILE_APP_USER_AGENT_REGEXES = [
     r'edX/org.edx.mobile',
 ]
 
+# Offset for courseware.StudentModuleHistoryExtended which is used to
+# calculate the starting primary key for the underlying table.
+STUDENTMODULEHISTORYEXTENDED_OFFSET = 10000
+
 # Deprecated xblock types
 DEPRECATED_ADVANCED_COMPONENT_TYPES = []
 
diff --git a/lms/envs/dev.py b/lms/envs/dev.py
index 065ed74b285..024bb630ea3 100644
--- a/lms/envs/dev.py
+++ b/lms/envs/dev.py
@@ -48,6 +48,11 @@ DATABASES = {
         'ENGINE': 'django.db.backends.sqlite3',
         'NAME': ENV_ROOT / "db" / "edx.db",
         'ATOMIC_REQUESTS': True,
+    },
+    'student_module_history': {
+        'ENGINE': 'django.db.backends.sqlite3',
+        'NAME': ENV_ROOT / "db" / "student_module_history.db",
+        'ATOMIC_REQUESTS': True,
     }
 }
 
diff --git a/lms/envs/devplus.py b/lms/envs/devplus.py
index 86800d88479..c06c6987303 100644
--- a/lms/envs/devplus.py
+++ b/lms/envs/devplus.py
@@ -31,6 +31,15 @@ DATABASES = {
         'HOST': '127.0.0.1',
         'PORT': '3306',
         'ATOMIC_REQUESTS': True,
+    },
+    'student_module_history': {
+        'ENGINE': 'django.db.backends.mysql',
+        'NAME': 'student_module_history',
+        'USER': 'root',
+        'PASSWORD': '',
+        'HOST': '127.0.0.1',
+        'PORT': '3306',
+        'ATOMIC_REQUESTS': True,
     }
 }
 
diff --git a/lms/envs/static.py b/lms/envs/static.py
index f0da488e75b..2229850f896 100644
--- a/lms/envs/static.py
+++ b/lms/envs/static.py
@@ -27,6 +27,11 @@ DATABASES = {
         'ENGINE': 'django.db.backends.sqlite3',
         'NAME': ENV_ROOT / "db" / "edx.db",
         'ATOMIC_REQUESTS': True,
+    },
+    'student_module_history': {
+        'ENGINE': 'django.db.backends.sqlite3',
+        'NAME': ENV_ROOT / "db" / "student_module_history.db",
+        'ATOMIC_REQUESTS': True,
     }
 }
 
diff --git a/lms/envs/test.py b/lms/envs/test.py
index c16ac9d37ee..111de79ca9f 100644
--- a/lms/envs/test.py
+++ b/lms/envs/test.py
@@ -186,7 +186,10 @@ DATABASES = {
         'NAME': TEST_ROOT / 'db' / 'edx.db',
         'ATOMIC_REQUESTS': True,
     },
-
+    'student_module_history': {
+        'ENGINE': 'django.db.backends.sqlite3',
+        'NAME': TEST_ROOT / 'db' / 'student_module_history.db'
+    },
 }
 
 if os.environ.get('DISABLE_MIGRATIONS'):
diff --git a/lms/envs/test_static_optimized.py b/lms/envs/test_static_optimized.py
index 19eaa2814ed..f8ed5a9bb11 100644
--- a/lms/envs/test_static_optimized.py
+++ b/lms/envs/test_static_optimized.py
@@ -19,7 +19,9 @@ DATABASES = {
         'ENGINE': 'django.db.backends.sqlite3',
         'ATOMIC_REQUESTS': True,
     },
-
+    'student_module_history': {
+        'ENGINE': 'django.db.backends.sqlite3',
+    },
 }
 
 # Provide a dummy XQUEUE_INTERFACE setting as LMS expects it to exist on start up
diff --git a/scripts/reset-test-db.sh b/scripts/reset-test-db.sh
index 41eefdedf46..b5f186e5b32 100755
--- a/scripts/reset-test-db.sh
+++ b/scripts/reset-test-db.sh
@@ -24,29 +24,54 @@
 
 DB_CACHE_DIR="common/test/db_cache"
 
+declare -A databases
+databases=(["default"]="edxtest" ["student_module_history"]="student_module_history_test")
+
+
 # Ensure the test database exists.
-echo "CREATE DATABASE IF NOT EXISTS edxtest;" | mysql -u root
+for db in "${!databases[@]}"; do
+    echo "CREATE DATABASE IF NOT EXISTS ${databases[$db]};" | mysql -u root
+
+    # Clear out the test database
+    #
+    # We are using the django-extensions's reset_db command which uses "DROP DATABASE" and
+    # "CREATE DATABASE" in case the tests are being run in an environment (e.g. devstack
+    # or a jenkins worker environment) that already ran tests on another commit that had
+    # different migrations that created, dropped, or altered tables.
+    echo "Issuing a reset_db command to the bok_choy MySQL database."
+    ./manage.py lms --settings bok_choy reset_db --traceback --noinput --router $db
+
+    # If there are cached database schemas/data, load them
+    if [[ ! -f $DB_CACHE_DIR/bok_choy_schema_$db.sql || ! -f $DB_CACHE_DIR/bok_choy_data_$db.json ]]; then
+        echo "Missing $DB_CACHE_DIR/bok_choy_schema_$db.sql or $DB_CACHE_DIR/bok_choy_data_$db.json, rebuilding cache"
+        REBUILD_CACHE=true
+    fi
+
+done
+
+# migrations are only stored in the default database
+if [[ ! -f $DB_CACHE_DIR/bok_choy_migrations_data.sql ]]; then
+    REBUILD_CACHE=true
+fi
+
 
-# Clear out the test database
-#
-# We are using the django-extensions's reset_db command which uses "DROP DATABASE" and
-# "CREATE DATABASE" in case the tests are being run in an environment (e.g. devstack
-# or a jenkins worker environment) that already ran tests on another commit that had
-# different migrations that created, dropped, or altered tables.
-echo "Issuing a reset_db command to the bok_choy MySQL database."
-./manage.py lms --settings bok_choy reset_db --traceback --noinput
 
 # If there are cached database schemas/data, load them
-if [[ -f $DB_CACHE_DIR/bok_choy_schema.sql && -f $DB_CACHE_DIR/bok_choy_migrations_data.sql && -f $DB_CACHE_DIR/bok_choy_data.json ]]; then
+if [[ -z $REBUILD_CACHE ]]; then
 
     echo "Found the bok_choy DB cache files. Loading them into the database..."
-    # Load the schema, then the data (including the migration history)
-    echo "Loading the schema from the filesystem into the MySQL DB."
-    mysql -u root edxtest < $DB_CACHE_DIR/bok_choy_schema.sql
+
+    for db in "${!databases[@]}"; do
+        # Load the schema, then the data (including the migration history)
+        echo "Loading the schema from the filesystem into the MySQL DB."
+        mysql -u root "${databases["$db"]}" < $DB_CACHE_DIR/bok_choy_schema_$db.sql
+        echo "Loading the fixture data from the filesystem into the MySQL DB."
+        ./manage.py lms --settings bok_choy loaddata --database $db $DB_CACHE_DIR/bok_choy_data_$db.json
+    done
+
+    # Migrations are stored in the default database
     echo "Loading the migration data from the filesystem into the MySQL DB."
-    mysql -u root edxtest < $DB_CACHE_DIR/bok_choy_migrations_data.sql
-    echo "Loading the fixture data from the filesystem into the MySQL DB."
-    ./manage.py lms --settings bok_choy loaddata $DB_CACHE_DIR/bok_choy_data.json
+    mysql -u root "${databases['default']}" < $DB_CACHE_DIR/bok_choy_migrations_data.sql
 
     # Re-run migrations to ensure we are up-to-date
     echo "Running the lms migrations on the bok_choy DB."
@@ -66,13 +91,15 @@ else
     echo "Issuing a migrate command to the bok_choy MySQL database for the cms django apps."
     ./manage.py cms --settings bok_choy migrate --traceback --noinput
 
-    # Dump the schema and data to the cache
-    echo "Using the dumpdata command to save the fixture data to the filesystem."
-    ./manage.py lms --settings bok_choy dumpdata > $DB_CACHE_DIR/bok_choy_data.json
+    for db in "${!databases[@]}"; do
+        # Dump the schema and data to the cache
+        echo "Using the dumpdata command to save the fixture data to the filesystem."
+        ./manage.py lms --settings bok_choy dumpdata --database $db > $DB_CACHE_DIR/bok_choy_data_$db.json
+        echo "Saving the schema of the bok_choy DB to the filesystem."
+        mysqldump -u root --no-data --skip-comments --skip-dump-date "${databases[$db]}" > $DB_CACHE_DIR/bok_choy_schema_$db.sql
+    done
+
     # dump_data does not dump the django_migrations table so we do it separately.
     echo "Saving the django_migrations table of the bok_choy DB to the filesystem."
-    mysqldump -u root --no-create-info edxtest django_migrations > $DB_CACHE_DIR/bok_choy_migrations_data.sql
-    echo "Saving the schema of the bok_choy DB to the filesystem."
-    mysqldump -u root --no-data --skip-comments --skip-dump-date edxtest > $DB_CACHE_DIR/bok_choy_schema.sql
+    mysqldump -u root --no-create-info "${databases['default']}" django_migrations > $DB_CACHE_DIR/bok_choy_migrations_data.sql
 fi
-
-- 
GitLab