diff --git a/apps/i18n/common/en_us.json b/apps/i18n/common/en_us.json index 74926c701943f..0727f8e5ac037 100644 --- a/apps/i18n/common/en_us.json +++ b/apps/i18n/common/en_us.json @@ -695,6 +695,18 @@ "makerViewProjectsTitle": "View your project list", "makeYourOwnFlappy": "Make Your Own Flappy Game", "manageAssets": "Manage Assets", + "manageLinkedAccounts": "Manage Linked Accounts", + "manageLinkedAccounts_actions": "Actions", + "manageLinkedAccounts_cannotDisconnectTooltip": "To make sure you can still sign in to your account, please add a password or another linked account first.", + "manageLinkedAccounts_clever": "Clever Account", + "manageLinkedAccounts_connect": "Connect", + "manageLinkedAccounts_disconnect": "Disconnect", + "manageLinkedAccounts_emailAddress": "Email Address", + "manageLinkedAccounts_facebook": "Facebook Account", + "manageLinkedAccounts_google_oauth2": "Google Account", + "manageLinkedAccounts_loginType": "Login Type", + "manageLinkedAccounts_microsoft": "Microsoft Account", + "manageLinkedAccounts_notConnected": "Not Connected", "manageStudents": "Manage Students", "manageStudentsNotificationFailure": "Something went wrong.", "manageStudentsNotificationCannotAdd": "You could not add {numStudents, plural, one {1 student} other {# students}} to your section. Please try again or refresh the page.", @@ -763,6 +775,7 @@ "parentsAndStudents": "Parents and Students", "password": "Password", "passwordConfirmation": "Password confirmation", + "passwordTooShort": "Password too short (minimum is 6 characters)", "passwordsMustMatch": "Passwords must match", "pause": "Break", "percentCorrect": "% correct", diff --git a/apps/src/lib/ui/accounts/AddPasswordForm.jsx b/apps/src/lib/ui/accounts/AddPasswordForm.jsx index 1215a2cef9d83..91347059ff2f5 100644 --- a/apps/src/lib/ui/accounts/AddPasswordForm.jsx +++ b/apps/src/lib/ui/accounts/AddPasswordForm.jsx @@ -33,8 +33,10 @@ const styles = { }, }; +const MIN_PASSWORD_LENGTH = 6; export const SAVING_STATE = i18n.saving(); export const SUCCESS_STATE = i18n.success(); +export const PASSWORD_TOO_SHORT = i18n.passwordTooShort(); export const PASSWORDS_MUST_MATCH = i18n.passwordsMustMatch(); const DEFAULT_STATE = { @@ -69,18 +71,28 @@ export default class AddPasswordForm extends React.Component { }); }; - passwordFieldsHaveContent = () => { + passwordsHaveMinimumContent = () => { const {password, passwordConfirmation} = this.state; - return password.length > 0 && passwordConfirmation.length > 0; + return password.length >= MIN_PASSWORD_LENGTH && passwordConfirmation.length >= MIN_PASSWORD_LENGTH; }; - isFormValid = () => { + passwordsMatch = () => { const {password, passwordConfirmation} = this.state; - return this.passwordFieldsHaveContent() && (password === passwordConfirmation); + return password === passwordConfirmation; + }; + + isFormValid = () => { + return this.passwordsHaveMinimumContent() && this.passwordsMatch(); + }; + + minimumLengthError = (value) => { + if (value.length > 0 && value.length < MIN_PASSWORD_LENGTH) { + return PASSWORD_TOO_SHORT; + } }; mismatchedPasswordsError = () => { - if (this.passwordFieldsHaveContent() && !this.isFormValid()) { + if (this.passwordsHaveMinimumContent() && !this.passwordsMatch()) { return PASSWORDS_MUST_MATCH; } }; @@ -116,7 +128,7 @@ export default class AddPasswordForm extends React.Component { }; render() { - const {submissionState} = this.state; + const {password, passwordConfirmation, submissionState} = this.state; let statusTextStyles = styles.statusText; statusTextStyles = submissionState.isError ? {...statusTextStyles, ...styles.errorText} : statusTextStyles; @@ -131,13 +143,14 @@ export default class AddPasswordForm extends React.Component {
diff --git a/apps/src/lib/ui/accounts/ManageLinkedAccounts.jsx b/apps/src/lib/ui/accounts/ManageLinkedAccounts.jsx new file mode 100644 index 0000000000000..99b1bdc3b8a72 --- /dev/null +++ b/apps/src/lib/ui/accounts/ManageLinkedAccounts.jsx @@ -0,0 +1,159 @@ +import React, {PropTypes} from 'react'; +import ReactTooltip from 'react-tooltip'; +import _ from 'lodash'; +import i18n from '@cdo/locale'; +import color from '@cdo/apps/util/color'; +import {tableLayoutStyles} from "@cdo/apps/templates/tables/tableConstants"; +import BootstrapButton from './BootstrapButton'; + +const OAUTH_PROVIDERS = { + GOOGLE: 'google_oauth2', + FACEBOOK: 'facebook', + CLEVER: 'clever', + MICROSOFT: 'microsoft', +}; + +export default class ManageLinkedAccounts extends React.Component { + render() { + return ( +
+
+

{i18n.manageLinkedAccounts()}

+ + + + + + + + + + {}} + /> + {}} + /> + {}} + /> + {}} + cannotDisconnect + /> + +
{i18n.manageLinkedAccounts_loginType()}{i18n.manageLinkedAccounts_emailAddress()}{i18n.manageLinkedAccounts_actions()}
+
+ ); + } +} + +class OauthConnection extends React.Component { + static propTypes = { + type: PropTypes.oneOf(Object.values(OAUTH_PROVIDERS)).isRequired, + displayName: PropTypes.string.isRequired, + email: PropTypes.string, + onClick: PropTypes.func.isRequired, + cannotDisconnect: PropTypes.bool + }; + + render() { + const {displayName, email, onClick, cannotDisconnect} = this.props; + const emailStyles = !!email ? styles.cell : {...styles.cell, ...styles.emptyEmailCell}; + const buttonText = !!email ? + i18n.manageLinkedAccounts_disconnect() : + i18n.manageLinkedAccounts_connect(); + const tooltipId = _.uniqueId(); + + return ( + + + {displayName} + + + {email || i18n.manageLinkedAccounts_notConnected()} + + + + {/* This button intentionally uses BootstrapButton to match other account page buttons */} + + {cannotDisconnect && + +
+ {i18n.manageLinkedAccounts_cannotDisconnectTooltip()} +
+
+ } +
+ + + ); + } +} + +const GUTTER = 20; +const BUTTON_WIDTH = 105; +const styles = { + container: { + paddingTop: GUTTER, + }, + header: { + fontSize: 22, + }, + table: { + ...tableLayoutStyles.table, + marginTop: GUTTER, + }, + headerCell: { + ...tableLayoutStyles.headerCell, + paddingLeft: GUTTER, + paddingRight: GUTTER, + fontWeight: 'normal', + }, + cell: { + ...tableLayoutStyles.cell, + paddingLeft: GUTTER, + paddingRight: GUTTER, + }, + emptyEmailCell: { + color: color.light_gray, + fontStyle: 'italic', + }, + button: { + width: BUTTON_WIDTH, + fontFamily: '"Gotham 5r", sans-serif', + color: color.charcoal, + padding: 8, + }, + tooltipOffset: { + left: -(BUTTON_WIDTH / 2) + }, + tooltip: { + width: BUTTON_WIDTH * 2 + }, +}; diff --git a/apps/src/lib/ui/accounts/ManageLinkedAccounts.story.jsx b/apps/src/lib/ui/accounts/ManageLinkedAccounts.story.jsx new file mode 100644 index 0000000000000..032262e7dbfc9 --- /dev/null +++ b/apps/src/lib/ui/accounts/ManageLinkedAccounts.story.jsx @@ -0,0 +1,6 @@ +import React from 'react'; +import ManageLinkedAccounts from './ManageLinkedAccounts'; + +export default storybook => storybook + .storiesOf('ManageLinkedAccounts', module) + .add('default table', () => ()); diff --git a/apps/src/lib/ui/accounts/ManageLinkedAccountsController.js b/apps/src/lib/ui/accounts/ManageLinkedAccountsController.js new file mode 100644 index 0000000000000..39ac83f0c0ed0 --- /dev/null +++ b/apps/src/lib/ui/accounts/ManageLinkedAccountsController.js @@ -0,0 +1,12 @@ +import React from 'react'; +import ReactDOM from 'react-dom'; +import ManageLinkedAccounts from './ManageLinkedAccounts'; + +export default class ManageLinkedAccountsController { + constructor(mountPoint) { + ReactDOM.render( + , + mountPoint + ); + } +} diff --git a/apps/src/sites/studio/pages/devise/registrations/edit.js b/apps/src/sites/studio/pages/devise/registrations/edit.js index 0aa646b58e05a..a785340edaeaa 100644 --- a/apps/src/sites/studio/pages/devise/registrations/edit.js +++ b/apps/src/sites/studio/pages/devise/registrations/edit.js @@ -2,6 +2,7 @@ import $ from 'jquery'; import ChangeEmailController from '@cdo/apps/lib/ui/accounts/ChangeEmailController'; import AddPasswordController from '@cdo/apps/lib/ui/accounts/AddPasswordController'; import ChangeUserTypeController from '@cdo/apps/lib/ui/accounts/ChangeUserTypeController'; +import ManageLinkedAccountsController from '@cdo/apps/lib/ui/accounts/ManageLinkedAccountsController'; import getScriptData from '@cdo/apps/util/getScriptData'; // Values loaded from scriptData are always initial values, not the latest @@ -25,10 +26,16 @@ $(document).ready(() => { userType, ); - new AddPasswordController( - $('#add-password-form'), - document.getElementById('add-password-fields'), - ); + const addPasswordMountPoint = document.getElementById('add-password-fields'); + if (addPasswordMountPoint) { + new AddPasswordController($('#add-password-form'), addPasswordMountPoint); + } + + + const manageLinkedAccountsMountPoint = document.getElementById('manage-linked-accounts'); + if (manageLinkedAccountsMountPoint) { + new ManageLinkedAccountsController(manageLinkedAccountsMountPoint); + } initializeCreatePersonalAccountControls(); }); diff --git a/apps/test/unit/lib/ui/accounts/AddPasswordFormTest.jsx b/apps/test/unit/lib/ui/accounts/AddPasswordFormTest.jsx index 0e4cbf75bb2eb..60d450d7d493f 100644 --- a/apps/test/unit/lib/ui/accounts/AddPasswordFormTest.jsx +++ b/apps/test/unit/lib/ui/accounts/AddPasswordFormTest.jsx @@ -2,7 +2,12 @@ import React from 'react'; import {mount} from 'enzyme'; import sinon from 'sinon'; import {expect} from '../../../../util/configuredChai'; -import AddPasswordForm, {SAVING_STATE, SUCCESS_STATE, PASSWORDS_MUST_MATCH} from '@cdo/apps/lib/ui/accounts/AddPasswordForm'; +import AddPasswordForm, { + SAVING_STATE, + SUCCESS_STATE, + PASSWORD_TOO_SHORT, + PASSWORDS_MUST_MATCH +} from '@cdo/apps/lib/ui/accounts/AddPasswordForm'; describe('AddPasswordForm', () => { let wrapper, handleSubmit; @@ -16,7 +21,7 @@ describe('AddPasswordForm', () => { ); }); - it('enables form submission if passwords are present and match', () => { + it('enables form submission if passwords have minimum length and match', () => { wrapper.setState({ password: 'mypassword', passwordConfirmation: 'mypassword' @@ -33,6 +38,14 @@ describe('AddPasswordForm', () => { expect(wrapper.find('button')).to.have.attr('disabled'); }); + it('disables form submission if passwords are too short', () => { + wrapper.setState({ + password: 'short', + passwordConfirmation: 'short' + }); + expect(wrapper.find('button')).to.have.attr('disabled'); + }); + it('disables form submission if passwords do not match', () => { wrapper.setState({ password: 'newpassword', @@ -41,6 +54,17 @@ describe('AddPasswordForm', () => { expect(wrapper.find('button')).to.have.attr('disabled'); }); + it('renders password length validation errors if passwords are too short', () => { + wrapper.setState({ + password: 'short', + passwordConfirmation: 'short' + }); + const fieldErrors = wrapper.find('FieldError'); + expect(fieldErrors).to.have.length(2); + expect(fieldErrors.at(0)).to.have.text(PASSWORD_TOO_SHORT); + expect(fieldErrors.at(1)).to.have.text(PASSWORD_TOO_SHORT); + }); + it('renders a password mismatch validation error if passwords do not match', () => { wrapper.setState({ password: 'newpassword', diff --git a/aws/redshift/tables/outreach_stats_by_year.sql b/aws/redshift/tables/outreach_stats_by_year.sql index 65484a4948a1a..ed71ebeb6d11b 100644 --- a/aws/redshift/tables/outreach_stats_by_year.sql +++ b/aws/redshift/tables/outreach_stats_by_year.sql @@ -3,8 +3,10 @@ CREATE table analysis.outreach_stats_by_year AS SELECT 'State' region_type, ug.state region, ug.state state, - school_year, - -- DATE_PART(year,us.created_at::DATE) AS year, + sy1.school_year school_year, + -- old ways of getting the year: + -- coalesce(sy1.school_year, sy2.school_year) as school_year, + -- DATE_PART(year,us.created_at::DATE) AS year, COUNT(DISTINCT u.id) teachers, COUNT(DISTINCT f.student_user_id) students, COUNT(DISTINCT CASE WHEN u_students.gender = 'f' THEN f.student_user_id ELSE NULL END)::FLOAT/ NULLIF(COUNT(DISTINCT CASE WHEN u_students.gender IN ('m','f') THEN f.student_user_id ELSE NULL END),0) pct_female, @@ -28,7 +30,8 @@ CREATE table analysis.outreach_stats_by_year AS ON u_students.id = us.user_id LEFT JOIN dashboard_production.user_proficiencies up ON up.user_id = u_students.id - JOIN analysis.school_years sy on us.created_at between sy.started_at and sy.ended_at + LEFT JOIN analysis.school_years sy1 on us.started_at between sy1.started_at and sy1.ended_at + --LEFT JOIN analysis.school_years sy2 on us.created_at between sy2.started_at and sy2.ended_at WHERE country = 'United States' AND u_students.current_sign_in_at IS NOT NULL AND u_students.user_type = 'student' @@ -38,8 +41,10 @@ CREATE table analysis.outreach_stats_by_year AS SELECT 'City' region_type, ug.city|| ', ' ||ug.state region, ug.state state, - -- DATE_PART(year,us.created_at::DATE) AS year, - school_year, + sy1.school_year school_year, + -- old ways of getting the year: + -- coalesce(sy1.school_year, sy2.school_year) as school_year, + -- DATE_PART(year,us.created_at::DATE) AS year, COUNT(DISTINCT u.id) teachers, COUNT(DISTINCT f.student_user_id) students, COUNT(DISTINCT CASE WHEN u_students.gender = 'f' THEN f.student_user_id ELSE NULL END)::FLOAT/ NULLIF(COUNT(DISTINCT CASE WHEN u_students.gender IN ('m','f') THEN f.student_user_id ELSE NULL END),0) pct_female, @@ -63,7 +68,8 @@ CREATE table analysis.outreach_stats_by_year AS ON u_students.id = us.user_id LEFT JOIN dashboard_production.user_proficiencies up ON up.user_id = u_students.id - JOIN analysis.school_years sy on us.created_at between sy.started_at and sy.ended_at + LEFT JOIN analysis.school_years sy1 on us.started_at between sy1.started_at and sy1.ended_at + --LEFT JOIN analysis.school_years sy2 on us.created_at between sy2.started_at and sy2.ended_at WHERE country = 'United States' AND u_students.current_sign_in_at IS NOT NULL AND u_students.user_type = 'student' diff --git a/dashboard/app/controllers/report_abuse_controller.rb b/dashboard/app/controllers/report_abuse_controller.rb index 092e6d6098d0a..169ed20c0de63 100644 --- a/dashboard/app/controllers/report_abuse_controller.rb +++ b/dashboard/app/controllers/report_abuse_controller.rb @@ -21,6 +21,9 @@ class ReportAbuseController < ApplicationController def report_abuse unless Rails.env.development? + subject = FeaturedProject.featured_channel_id?(params[:channel_id]) ? + 'Featured Project: Abuse Reported' : + 'Abuse Reported' response = HTTParty.post( 'https://codeorg.zendesk.com/api/v2/tickets.json', headers: {"Content-Type" => "application/json", "Accept" => "application/json"}, @@ -30,7 +33,7 @@ def report_abuse name: (params[:name] == '' ? params[:email] : params[:name]), email: params[:email] }, - subject: 'Abuse Reported', + subject: subject, comment: { body: [ "URL: #{params[:abuse_url]}", diff --git a/dashboard/app/models/authentication_option.rb b/dashboard/app/models/authentication_option.rb index 43c49abb78fe8..a3c6c6838c95d 100644 --- a/dashboard/app/models/authentication_option.rb +++ b/dashboard/app/models/authentication_option.rb @@ -26,8 +26,11 @@ class AuthenticationOption < ApplicationRecord belongs_to :user # These are duplicated from the user model, until we're ready to cut over and remove them from there - before_save :normalize_email, :hash_email, :remove_student_cleartext_email, - :fill_authentication_id + before_validation :normalize_email, :hash_email, + :remove_student_cleartext_email, :fill_authentication_id + + validate :email_must_be_unique + validate :hashed_email_must_be_unique OAUTH_CREDENTIAL_TYPES = [ CLEVER = 'clever', @@ -70,4 +73,24 @@ def hash_email return unless email.present? self.hashed_email = AuthenticationOption.hash_email(email) end + + private def email_must_be_unique + # skip the db lookup if possible + return unless email_changed? && email.present? && errors.blank? + + other = User.find_by_email_or_hashed_email(email) + if other && other != user + errors.add :email, I18n.t('errors.messages.taken') + end + end + + private def hashed_email_must_be_unique + # skip the db lookup if possible + return unless hashed_email_changed? && hashed_email.present? && errors.blank? + + other = User.find_by_hashed_email(hashed_email) + if other && other != user + errors.add :email, I18n.t('errors.messages.taken') + end + end end diff --git a/dashboard/app/models/featured_project.rb b/dashboard/app/models/featured_project.rb index 827a9b7860f31..a5ac0f5d864d0 100644 --- a/dashboard/app/models/featured_project.rb +++ b/dashboard/app/models/featured_project.rb @@ -18,4 +18,18 @@ class FeaturedProject < ApplicationRecord def featured? !featured_at.nil? && unfeatured_at.nil? end + + # Determines if a project is currently featured by decrypting the provided + # encrypted_channel_id, using the decrypted channel id to check for a + # FeaturedProject with the corresponding storage_app_id. If there is a + # FeaturedProject with that storage_app_id, check if it is currently featured. + # @param encrypted_channel_id [string] + # @return [Boolean] whether the project associated with the given + # encrypted_channel_id is currently featured + def self.featured_channel_id?(encrypted_channel_id) + _, channel_id = storage_decrypt_channel_id encrypted_channel_id + find_by(storage_app_id: channel_id)&.featured? + rescue ArgumentError + false + end end diff --git a/dashboard/app/models/user.rb b/dashboard/app/models/user.rb index 8f0ad87db7ef3..c586228f5c763 100644 --- a/dashboard/app/models/user.rb +++ b/dashboard/app/models/user.rb @@ -219,6 +219,19 @@ class User < ActiveRecord::Base has_many :authentication_options, dependent: :destroy belongs_to :primary_authentication_option, class_name: 'AuthenticationOption' + # This custom validator makes email collision checks on the AuthenticationOption + # model also show up as validation errors for the email field on the User + # model. + # There's probably some performance cost in additional queries here - once + # we are fully migrated to multi-auth, we may want to remove this code and + # check that we handle validation errors from AuthenticationOption everywhere. + validate if: :migrated? do |user| + user.authentication_options.each do |ao| + unless ao.valid? + ao.errors.each {|k, v| user.errors.add k, v} + end + end + end belongs_to :school_info accepts_nested_attributes_for :school_info, reject_if: :preprocess_school_info diff --git a/dashboard/app/views/devise/registrations/edit.html.haml b/dashboard/app/views/devise/registrations/edit.html.haml index 2e43fbd9bb6d3..4871b18d6ed56 100644 --- a/dashboard/app/views/devise/registrations/edit.html.haml +++ b/dashboard/app/views/devise/registrations/edit.html.haml @@ -112,6 +112,9 @@ = f.hidden_field :password = f.hidden_field :password_confirmation + -# Mount point for React ManageLinkedAccounts component. + %div#manage-linked-accounts + - if current_user.can_create_personal_login? %hr %h2= t('user.create_personal_login') diff --git a/dashboard/config/blocks/GamelabJr/gamelab_pointInDirection.js b/dashboard/config/blocks/GamelabJr/gamelab_pointInDirection.js new file mode 100644 index 0000000000000..eeb21aa7336f4 --- /dev/null +++ b/dashboard/config/blocks/GamelabJr/gamelab_pointInDirection.js @@ -0,0 +1,17 @@ +function pointInDirection(sprite,direction) { + if (direction== "North") { + sprite.rotation = 360; + } + else if (direction== "East") { + sprite.rotation = 90; + } + else if (direction=="South") { + sprite.rotation = 180; + } + else if (direction=="West") { + sprite.rotation = 270; + } + else { + console.error("pointInDirection: invalid direction provided"); + } +} \ No newline at end of file diff --git a/dashboard/config/blocks/GamelabJr/gamelab_pointInDirection.json b/dashboard/config/blocks/GamelabJr/gamelab_pointInDirection.json new file mode 100644 index 0000000000000..59fe1338bbe45 --- /dev/null +++ b/dashboard/config/blocks/GamelabJr/gamelab_pointInDirection.json @@ -0,0 +1,34 @@ +{ + "category": "Actions", + "config": { + "func": "pointInDirection", + "blockText": "point {SPRITE} {DIRECTION}", + "args": [ + { + "name": "SPRITE", + "type": "Sprite" + }, + { + "name": "DIRECTION", + "options": [ + [ + "North", + "\"North\"" + ], + [ + "East", + "\"East\"" + ], + [ + "South", + "\"South\"" + ], + [ + "West", + "\"West\"" + ] + ] + } + ] + } +} \ No newline at end of file diff --git a/dashboard/config/blocks/GamelabJr/gamelab_spriteDirection.js b/dashboard/config/blocks/GamelabJr/gamelab_spriteDirection.js new file mode 100644 index 0000000000000..f46e545a2878f --- /dev/null +++ b/dashboard/config/blocks/GamelabJr/gamelab_spriteDirection.js @@ -0,0 +1,17 @@ +function spriteDirection(direction){ + if (direction== "North") { + return 360; + } + else if (direction== "East") { + return 90; + } + else if (direction=="South") { + return 180; + } + else if (direction=="West") { + return 270; + } + else { + console.error("pointInDirection: invalid direction provided"); + } +} \ No newline at end of file diff --git a/dashboard/config/blocks/GamelabJr/gamelab_spriteDirection.json b/dashboard/config/blocks/GamelabJr/gamelab_spriteDirection.json new file mode 100644 index 0000000000000..871730d499e52 --- /dev/null +++ b/dashboard/config/blocks/GamelabJr/gamelab_spriteDirection.json @@ -0,0 +1,37 @@ +{ + "category": "Sprites", + "config": { + "func": "spriteDirection", + "inline": false, + "blockText": "{DIRECTION}", + "returnType": "None", + "color": [ + 230, + "0.50", + "0.70" + ], + "args": [ + { + "name": "DIRECTION", + "options": [ + [ + "North", + "\"North\"" + ], + [ + "East", + "\"East\"" + ], + [ + "South", + "\"South\"" + ], + [ + "West", + "\"West\"" + ] + ] + } + ] + } +} \ No newline at end of file diff --git a/dashboard/config/blocks/GamelabJr/gamelab_spritesWhere.json b/dashboard/config/blocks/GamelabJr/gamelab_spritesWhere.json index fc16cf494e4e0..85a8171757955 100644 --- a/dashboard/config/blocks/GamelabJr/gamelab_spritesWhere.json +++ b/dashboard/config/blocks/GamelabJr/gamelab_spritesWhere.json @@ -17,10 +17,6 @@ "size", "\"scale\"" ], - [ - "rotation", - "\"rotation\"" - ], [ "x position", "\"x\"" @@ -37,6 +33,10 @@ "movement direction", "\"direction\"" ], + [ + "rotation or direction", + "\"rotation\"" + ], [ "tint", "\"tint\"" diff --git a/dashboard/config/locales/dsls.en.yml b/dashboard/config/locales/dsls.en.yml index 8538619581719..98d2b51f6ce67 100644 --- a/dashboard/config/locales/dsls.en.yml +++ b/dashboard/config/locales/dsls.en.yml @@ -472,7 +472,8 @@ en: Algo How Routers Learn Student Lesson Introduction: description here: description here title: title - Algo MST Student Lesson Introduction: {} + Algo MST Student Lesson Introduction: + Algorithm detour - Minimum Spanning Tree: Algorithm detour - Minimum Spanning Tree Algo Shortest Path Student Lesson Introduction: description here: description here title: title @@ -1204,17 +1205,13 @@ en: CSPU5_U3L20 - combining And and Or explanation: description here: description here title: title - CSPU5_U3L20 Student Lesson Introduction: {} CSPU5_U3L21 Student Lesson Introduction v2: {} CSPU5_U3L23 Student Lesson Introduction: Natural Language Processing: Natural Language Processing CSPU5_U3L24 Student Lesson Introduction: Chained Conditionals: Chained Conditionals - CSPU5_U3L25 Student Lesson Introduction: {} CSPU5_U3L26 Student Lesson Introduction: Strings and Substrings: Strings and Substrings - CSPU5_U3L27 Student Lesson Introduction: {} - CSPU5_U3L28 Student Lesson Introduction: {} CSPU5_U3L29 Student Lesson Introduction: While Loops and Counting: While Loops and Counting CSPU5_U3L30 Student Lesson Introduction: @@ -2336,11 +2333,14 @@ en: 'Technique: Frequency Analysis_2018': How to crack a substitution cipher: How to crack a substitution cipher description here: description here - Terminology Recap: {} + Terminology Recap: + That was easy, what's next?: That was easy, what's next? + description here: description here Terminology Recap_2018: That was easy, what's next?: That was easy, what's next? description here: description here - Test External Markdown: {} + Test External Markdown: + Test External Markdown: Test External Markdown Test discourse forum-comment level: Degree of Difficulty: Degree of Difficulty Was programming as hard as you expected? Explain why or why not. How does this impact your teaching of computer science?: Was programming as hard as you expected? Explain why or why not. How does this impact your teaching of computer science? @@ -2357,7 +2357,9 @@ en: Tips For Working on Your Own_2018: description here: description here title: title - U1L1 Student Lesson Introduction: {} + U1L1 Student Lesson Introduction: + Impact of Innovation: Impact of Innovation + description here: description here U1L1 Student Lesson Introduction_2018: Impact of Innovation: Impact of Innovation description here: description here @@ -2371,10 +2373,18 @@ en: U1L11 Student Lesson Introduction: description here: description here title: title - U1L12 Student Lesson Introduction: {} - U1L13 Student Lesson Summary: {} - U1L14 Student Lesson Summary: {} - U1L15 Student Lesson Summary: {} + U1L12 Student Lesson Introduction: + description here: description here + title: title + U1L13 Student Lesson Summary: + description here: description here + title: title + U1L14 Student Lesson Summary: + description here: description here + title: title + U1L15 Student Lesson Summary: + description here: description here + title: title U1L16 Student Lesson Introduction: Lossy Compression and File Formats: Lossy Compression and File Formats description here: description here @@ -2395,7 +2405,9 @@ en: U1L4 Widget Demo - Video: Widget Demonstration - Video: Widget Demonstration - Video description here: description here - U1L5 Student Lesson Introduction: {} + U1L5 Student Lesson Introduction: + description here: description here + title: title U1L6 Lesson Overview: {} U1L6 Lesson Plan: {} U1L6 Student Lesson Introduction: @@ -2409,7 +2421,9 @@ en: title: title U1L9 Lesson Overview: {} U1L9 Lesson Plan: {} - U1L9 Student Lesson Introduction: {} + U1L9 Student Lesson Introduction: + description here: description here + title: title U2 - Website Comparison: {} U2L1 Student Lesson Introduction: description here: description here @@ -2423,31 +2437,40 @@ en: U2L12 Student Lesson Introduction: description here: description here title: title - U2L13 Student Lesson Introduction: {} - U2L14 Student Lesson Introduction: {} - U2L15 Student Lesson Introduction: {} + U2L13 Student Lesson Introduction: + Tell Me a Secret - Encrypting Text: Tell Me a Secret - Encrypting Text + U2L14 Student Lesson Introduction: + Cracking the Code: Cracking the Code + U2L15 Student Lesson Introduction: + Encryption Algorithms: Encryption Algorithms U2L16 Student Lesson Introduction: Alice and Bob and Asymmetric Keys: Alice and Bob and Asymmetric Keys U2L17 Student Lesson Introduction: Algorithms Detour - Hard Problems TSP: Algorithms Detour - Hard Problems TSP description here: description here - U2L18 Student Lesson Introduction: {} + U2L18 Student Lesson Introduction: + One Way Functions - Ice Cream Vans: One Way Functions - Ice Cream Vans U2L19 Student Lesson Introduction: Public Key Encryption: Public Key Encryption U2L2 Lesson Overview: {} U2L2 Lesson Plan: {} U2L2 Student Lesson Introduction: The Need for Addressing: The Need for Addressing - U2L20 Student Lesson Introduction: {} + U2L20 Student Lesson Introduction: + Security and Hacking in the Real World: Security and Hacking in the Real World U2L3 Lesson Overview: {} U2L3 Lesson Plan: {} - U2L3 Student Lesson Introduction: {} + U2L3 Student Lesson Introduction: + Lesson 3 - Invent an addressing protocol: Lesson 3 - Invent an addressing protocol U2L4 Student Lesson Introduction: U2L04 Routers and Redundancy: U2L04 Routers and Redundancy U2L5 Student Lesson Introduction: Packets and Making a Reliable Internet: Packets and Making a Reliable Internet - U2L6 Student Lesson Introduction: {} - U2L7 Student Lesson Introduction: {} + U2L6 Student Lesson Introduction: + Algorithm detour - Minimum Spanning Tree: Algorithm detour - Minimum Spanning Tree + U2L7 Student Lesson Introduction: + description here: description here + title: title U2L8 Student Lesson Introduction: description here: description here title: title @@ -2589,7 +2612,8 @@ en: U3L20 - combining And and Or explanation: description here: description here title: title - U3L20 Student Lesson Introduction: {} + U3L20 Student Lesson Introduction: + Conditional Basics: Conditional Basics U3L21 Student Lesson Introduction: More Variables: More Variables U3L21 Student Lesson Introduction v2: {} @@ -2602,11 +2626,14 @@ en: U3L24 Return Statements Lecture: {} U3L24 Student Lesson Introduction: Chained Conditionals: Chained Conditionals - U3L25 Student Lesson Introduction: {} + U3L25 Student Lesson Introduction: + Compound Conditionals: Compound Conditionals U3L26 Student Lesson Introduction: Strings and Substrings: Strings and Substrings - U3L27 Student Lesson Introduction: {} - U3L28 Student Lesson Introduction: {} + U3L27 Student Lesson Introduction: + Digital Assistant Challenge: Digital Assistant Challenge + U3L28 Student Lesson Introduction: + While Loop Basics: While Loop Basics U3L29 Student Lesson Introduction: While Loops and Counting: While Loops and Counting U3L30 Student Lesson Introduction: @@ -2743,7 +2770,9 @@ en: U4L08v2 Student Intro: description here: description here title: title - U4L09 Student Lesson Intro Practice PT big data dilemma: {} + U4L09 Student Lesson Intro Practice PT big data dilemma: + description here: description here + title: title U4L09 Student Lesson Introduction: description here: description here title: title @@ -2946,11 +2975,15 @@ en: Unit 3 Survey 2: {} Unit 3 Tool Talk: {} Unit 3 Vocab and Concept Review Activity: {} - Unit 4 Lesson 1 Introduction: {} + Unit 4 Lesson 1 Introduction: + description here: description here + title: title Unit 4 Lesson 1 Introduction_2018: description here: description here title: title - Unit 4 Lesson 2 Introduction: {} + Unit 4 Lesson 2 Introduction: + description here: description here + title: title Unit 4 Lesson 2 Introduction_2018: description here: description here title: title @@ -2958,11 +2991,14 @@ en: Unit 4 Lesson 3 Introduction_2018: {} Unit 4 Lesson 4 Introduction: {} Unit 4 Lesson 4 Introduction_2018: {} - Unit 4 Lesson 5 Introduction: {} + Unit 4 Lesson 5 Introduction: + description here: description here + title: title Unit 4 Lesson 5 Introduction_2018: description here: description here title: title - Unit 4 Lesson 6 Introduction: {} + Unit 4 Lesson 6 Introduction: + Cracking the Code: Cracking the Code Unit 4 Lesson 6 Introduction_2018: Cracking the Code: Cracking the Code Unit 4 Lesson 7 Introduction: {} @@ -2989,7 +3025,8 @@ en: Unit 5 Lesson 10 Introduction_2018: description here: description here title: title - Unit 5 Lesson 11 Introduction: {} + Unit 5 Lesson 11 Introduction: + While Loop Basics: While Loop Basics Unit 5 Lesson 11 Introduction_2018: While Loop Basics: While Loop Basics Unit 5 Lesson 12 Introduction: @@ -3008,7 +3045,8 @@ en: Images are Arrays: Images are Arrays Unit 5 Lesson 15 Introduction_2018: Images are Arrays: Images are Arrays - Unit 5 Lesson 16 Introduction: {} + Unit 5 Lesson 16 Introduction: + Digital Assistant Challenge: Digital Assistant Challenge Unit 5 Lesson 16 Introduction_2018: Digital Assistant Challenge: Digital Assistant Challenge Unit 5 Lesson 17 Introduction: @@ -3111,7 +3149,9 @@ en: Why are they doing this stage?: Why are they doing this stage? apprentice-congrats: {} boolean logic and expressions overview: {} - brad-repro-bug-000: {} + brad-repro-bug-000: + Brad Repro Bug 000: Brad Repro Bug 000 + description here: description here brad-test-continue-buttons-in-markdown: "(Brad) Test continue buttons in markdown": "(Brad) Test continue buttons in markdown" description here: description here @@ -3408,7 +3448,9 @@ en: csp_unit5_finalassessment_overview_exam_prep: description here: description here title: title - csp_unit_assessment_overview: {} + csp_unit_assessment_overview: + description here: description here + title: title csp_unit_assessment_overview_2018: description here: description here title: title @@ -3876,8 +3918,10 @@ en: wrapup: wrapup subgoal v2 U3L04 Student Lesson Introduction: Programming with Simple Commands - Getting Started: Programming with Simple Commands - Getting Started - swipeRightPassThrough: {} - swipeRightPassThrough-test123: {} + swipeRightPassThrough: + Recruitment Scenarios Session: Recruitment Scenarios Session + swipeRightPassThrough-test123: + Recruitment Scenarios Session: Recruitment Scenarios Session test cb level: description here: description here test cb level: test cb level @@ -3919,7 +3963,9 @@ en: HTTP and Abstraction: HTTP and Abstraction v2 U1L13 Student Lesson Introduction_2018: HTTP and Abstraction: HTTP and Abstraction - v2 U1L14 Student Lesson Introduction: {} + v2 U1L14 Student Lesson Introduction: + description here: description here + title: title v2 U1L14 Student Lesson Introduction_2018: description here: description here title: title @@ -3941,7 +3987,9 @@ en: v2 U1L4 Student Lesson Introduction_2018: description here: description here title: title - v2 U1L5 Student Lesson Introduction: {} + v2 U1L5 Student Lesson Introduction: + description here: description here + title: title v2 U1L5 Student Lesson Introduction_2018: description here: description here title: title @@ -3951,14 +3999,19 @@ en: v2 U1L6 Student Lesson Introduction_2018: Sending Numbers: Sending Numbers description here: description here - v2 U1L8 Student Lesson Introduction: {} + v2 U1L8 Student Lesson Introduction: + description here: description here + title: title v2 U1L8 Student Lesson Introduction_2018: description here: description here title: title - v2 U1L9 Student Lesson Introduction: {} + v2 U1L9 Student Lesson Introduction: + The Need for Addressing: The Need for Addressing v2 U1L9 Student Lesson Introduction_2018: The Need for Addressing: The Need for Addressing - v2 U2L1 Student Lesson Introduction: {} + v2 U2L1 Student Lesson Introduction: + description here: description here + title: title v2 U2L1 Student Lesson Introduction_2018: description here: description here title: title @@ -3968,7 +4021,9 @@ en: v2 U2L10 Student Lesson Introduction_2018: description here: description here title: title - v2 U2L11 Student Lesson Introduction: {} + v2 U2L11 Student Lesson Introduction: + description here: description here + title: title v2 U2L11 Student Lesson Introduction_2018: description here: description here title: title @@ -3990,7 +4045,9 @@ en: v2 U2L14 Student Lesson Introduction_2018: description here: description here title: title - v2 U2L15 Student Lesson Introduction: {} + v2 U2L15 Student Lesson Introduction: + description here: description here + title: title v2 U2L15 Student Lesson Introduction_2018: description here: description here title: title @@ -4000,19 +4057,27 @@ en: v2 U2L2 Student Lesson Summary_2018: description here: description here title: title - v2 U2L3 Student Lesson Summary: {} + v2 U2L3 Student Lesson Summary: + description here: description here + title: title v2 U2L3 Student Lesson Summary_2018: description here: description here title: title - v2 U2L4 Student Lesson Summary: {} + v2 U2L4 Student Lesson Summary: + description here: description here + title: title v2 U2L4 Student Lesson Summary_2018: description here: description here title: title - v2 U2L5 Student Lesson Introduction: {} + v2 U2L5 Student Lesson Introduction: + Lossy Compression and File Formats: Lossy Compression and File Formats + description here: description here v2 U2L5 Student Lesson Introduction_2018: Lossy Compression and File Formats: Lossy Compression and File Formats description here: description here - v2 U2L6 Student Lesson Introduction: {} + v2 U2L6 Student Lesson Introduction: + description here: description here + title: title v2 U2L6 Student Lesson Introduction_2018: description here: description here title: title @@ -4028,7 +4093,9 @@ en: v2 U2L8 Student Lesson Introduction_2018: description here: description here title: title - v2 U2L9 Student Lesson Introduction: {} + v2 U2L9 Student Lesson Introduction: + description here: description here + title: title v2 U2L9 Student Lesson Introduction_2018: description here: description here title: title @@ -4066,7 +4133,8 @@ en: Looping and Random Numbers: Looping and Random Numbers v2 U3L09 Student Lesson Introduction_2018: Looping and Random Numbers: Looping and Random Numbers - v2 U3L10 Student Lesson Introduction: {} + v2 U3L10 Student Lesson Introduction: + Design a Digital Scene: Design a Digital Scene v2 U3L10 Student Lesson Introduction - stage mods only: Design a Digital Scene: Design a Digital Scene v2 U3L10 Student Lesson Introduction_2018: @@ -4075,8 +4143,11 @@ en: Functions and Top-Down Design: Functions and Top-Down Design v2 U3L6 Student Lesson Introduction_2018: Functions and Top-Down Design: Functions and Top-Down Design - v2 U4L05 Student Lesson Intro Encryption Caesar: {} - v2 U4L06 Student Lesson Introduction Encryption Vigenere: {} + v2 U4L05 Student Lesson Intro Encryption Caesar: + description here: description here + title: title + v2 U4L06 Student Lesson Introduction Encryption Vigenere: + Cracking the Code: Cracking the Code welcome-apprentice-18: {} welcome-csd-novice: {} welcome-csp-novice: {} @@ -4990,9 +5061,49 @@ en: Match the bit sending technology with the underlying system: Match the bit sending technology with the underlying system 'Matching Assessment: Sending Bits in the Real World': 'Matching Assessment: Sending Bits in the Real World' Radio Wave: Radio Wave - 'U2L06 - Matching: Label the Diagram': {} - U2L14 Assessment: {} - U2L14 Assessment4: {} + 'U2L06 - Matching: Label the Diagram': + A: A + B: B + C: C + Cycle: Cycle + D: D + E: E + Edge: Edge + Graph: Graph + Graph Terminology: Graph Terminology + Look at the diagram below and then match the proper term with what each label is pointing to.: Look at the diagram below and then match the proper term with what each label is pointing to. + Node: Node + Weight: Weight + U2L14 Assessment: + Caesar cipher: Caesar cipher + Computationally Hard: Computationally Hard + Terminology Matching: Terminology Matching + Vigenère Cipher: Vigenère Cipher + a problem that cannot be solved in a reasonable amount of time: a problem that cannot be solved in a reasonable amount of time + another term for encrypted message: another term for encrypted message + cipher: cipher + decrypt: decrypt + encrypt: encrypt + encryption in which arbitrary symbols replace letters: encryption in which arbitrary symbols replace letters + encryption scheme based on shifting the alphabet: encryption scheme based on shifting the alphabet + encryption that shifts the alphabet differently per character: encryption that shifts the alphabet differently per character + random substitution cipher: random substitution cipher + use an algorithm to decode a message: use an algorithm to decode a message + use an algorithm to encode a message: use an algorithm to encode a message + U2L14 Assessment4: + ? |- + Given the original plaintext: “AAAABBBBCCCCDDDD” + Match the encryption method that must have been used to produce the ciphertext: + : |- + Given the original plaintext: “AAAABBBBCCCCDDDD” + Match the encryption method that must have been used to produce the ciphertext: + Random Substitution Cipher: Random Substitution Cipher + SECRFULF_UGEUHWN: SECRFULF_UGEUHWN + SSSSFFFFXXXXTTTT: SSSSFFFFXXXXTTTT + TTTTUUUUVVVVWWWW: TTTTUUUUVVVVWWWW + The Caesar Cipher: The Caesar Cipher + Vigenere Cipher: Vigenere Cipher + Which encryption technique?: Which encryption technique? U2L14 Assessment_2018: Caesar cipher: Caesar cipher Computationally Hard: Computationally Hard @@ -5009,8 +5120,26 @@ en: random substitution cipher: random substitution cipher use an algorithm to decode a message: use an algorithm to decode a message use an algorithm to encode a message: use an algorithm to encode a message - U2L17 - Vocabulary matching: {} - U2L18 Match terms to cups and beans analogy: {} + U2L17 - Vocabulary matching: + "
Brute force": "
Brute force" + "
Computationally hard": "
Computationally hard" + "
Heuristic": "
Heuristic" + "
One Way Function": "
One Way Function" + A problem that requires an unreasonable amount of time to solve, even for many computers: A problem that requires an unreasonable amount of time to solve, even for many computers + An algorithm that is easy to run but results in output that is hard or impossible to reverse: An algorithm that is easy to run but results in output that is hard or impossible to reverse + Assessment 2 - Matching: Assessment 2 - Matching + Rules or an algorithm for finding an approximate solution: Rules or an algorithm for finding an approximate solution + Trying every possible solution to a problem to find the answer


: Trying every possible solution to a problem to find the answer


+ U2L18 Match terms to cups and beans analogy: + A sealed cup of beans that Alice puts on the table: A sealed cup of beans that Alice puts on the table + Alice dumping the beans out of the cup and counting off her original number: Alice dumping the beans out of the cup and counting off her original number + Asymmetric Encryption Assessment 2 - Match the terms to their counterpart in the Cups and Beans Activity: Asymmetric Encryption Assessment 2 - Match the terms to their counterpart in the Cups and Beans Activity + Bob adding beans to the cup: Bob adding beans to the cup + Decrypting a message: Decrypting a message + Encrypting a message: Encrypting a message + Private key: Private key + Public key: Public key + The number of beans Alice chooses to put in the cup initially: The number of beans Alice chooses to put in the cup initially U2L18 Match terms to cups and beans analogy_2018: A sealed cup of beans that Alice puts on the table: A sealed cup of beans that Alice puts on the table Alice dumping the beans out of the cup and counting off her original number: Alice dumping the beans out of the cup and counting off her original number @@ -5021,7 +5150,16 @@ en: Private key: Private key Public key: Public key The number of beans Alice chooses to put in the cup initially: The number of beans Alice chooses to put in the cup initially - U2L3 Assessment: {} + U2L3 Assessment: + A chunk of information that gets sent on the internet: A chunk of information that gets sent on the internet + A packet of data that uses 32-bit addresses: A packet of data that uses 32-bit addresses + A well-known set of rules and standards used to communicate: A well-known set of rules and standards used to communicate + IP addresses, Packets and Protocols: IP addresses, Packets and Protocols + IPv4 packet: IPv4 packet + The Internet Protocol (IP): The Internet Protocol (IP) + The required structure of a packet to be sent on the internet: The required structure of a packet to be sent on the internet + packet: packet + protocol: protocol U2L3 Assessment_2018: A chunk of information that gets sent on the internet: A chunk of information that gets sent on the internet A packet of data that uses 32-bit addresses: A packet of data that uses 32-bit addresses @@ -5496,9 +5634,21 @@ en: : : : - CB_Question_1: {} - CB_Question_10: {} - CB_Question_11: {} + CB_Question_1: + 2 times as many values can be represented.: 2 times as many values can be represented. + 2^32 times as many values can be represented.: 2^32 times as many values can be represented. + 32 times as many values can be represented.: 32 times as many values can be represented. + 32^2 times as many values can be represented.: 32^2 times as many values can be represented. + CB_Question_10: + Better late than never.: Better late than never. + Hello. Better late than never.: Hello. Better late than never. + Hello. Is anyone there?: Hello. Is anyone there? + Is anyone there?: Is anyone there? + CB_Question_11: + When the problem can be solved in a reasonable time and an approximate solution is acceptable: When the problem can be solved in a reasonable time and an approximate solution is acceptable + When the problem can be solved in a reasonable time and an exact solution is needed: When the problem can be solved in a reasonable time and an exact solution is needed + When the problem cannot be solved in a reasonable time and an approximate solution is acceptable: When the problem cannot be solved in a reasonable time and an approximate solution is acceptable + When the problem cannot be solved in a reasonable time and an exact solution is needed: When the problem cannot be solved in a reasonable time and an exact solution is needed CB_Question_11_2018: When the problem can be solved in a reasonable time and an approximate solution is acceptable: When the problem can be solved in a reasonable time and an approximate solution is acceptable When the problem can be solved in a reasonable time and an exact solution is needed: When the problem can be solved in a reasonable time and an exact solution is needed @@ -5509,7 +5659,11 @@ en: When the problem can be solved in a reasonable time and an exact solution is needed: When the problem can be solved in a reasonable time and an exact solution is needed When the problem cannot be solved in a reasonable time and an approximate solution is acceptable: When the problem cannot be solved in a reasonable time and an approximate solution is acceptable When the problem cannot be solved in a reasonable time and an exact solution is needed: When the problem cannot be solved in a reasonable time and an exact solution is needed - CB_Question_12: {} + CB_Question_12: + I and II: I and II + I only: I only + II only: II only + Neither I nor II: Neither I nor II CB_Question_12_2018: I and II: I and II I only: I only @@ -5520,9 +5674,21 @@ en: I only: I only II only: II only Neither I nor II: Neither I nor II - CB_Question_13: {} - CB_Question_14: {} - CB_Question_15: {} + CB_Question_13: + Algorithm A always calculates the correct average, but Algorithm B does not.: Algorithm A always calculates the correct average, but Algorithm B does not. + Algorithm B always calculates the correct average, but Algorithm A does not.: Algorithm B always calculates the correct average, but Algorithm A does not. + Both Algorithm A and Algorithm B always calculate the correct average.: Both Algorithm A and Algorithm B always calculate the correct average. + Neither Algorithm A nor Algorithm B calculates the correct average.: Neither Algorithm A nor Algorithm B calculates the correct average. + CB_Question_14: + : + : + : + : + CB_Question_15: + Approximately how many miles did the animal travel in one week?: Approximately how many miles did the animal travel in one week? + Do the movement patterns of the animal vary according to the weather?: Do the movement patterns of the animal vary according to the weather? + Does the animal travel in groups with other tracked animals?: Does the animal travel in groups with other tracked animals? + In what geographic locations does the animal typically travel?: In what geographic locations does the animal typically travel? CB_Question_15_2018: Approximately how many miles did the animal travel in one week?: Approximately how many miles did the animal travel in one week? Do the movement patterns of the animal vary according to the weather?: Do the movement patterns of the animal vary according to the weather? @@ -5533,9 +5699,21 @@ en: Do the movement patterns of the animal vary according to the weather?: Do the movement patterns of the animal vary according to the weather? Does the animal travel in groups with other tracked animals?: Does the animal travel in groups with other tracked animals? In what geographic locations does the animal typically travel?: In what geographic locations does the animal typically travel? - CB_Question_16: {} - CB_Question_17: {} - CB_Question_18: {} + CB_Question_16: + : + : + : + : + CB_Question_17: + Nothing is displayed; the program results in an infinite loop.: Nothing is displayed; the program results in an infinite loop. + The number 0 is displayed.: The number 0 is displayed. + The number 10 is displayed.: The number 10 is displayed. + The number 6 is displayed.: The number 6 is displayed. + CB_Question_18: + Data compression is only useful for files being transmitted over the Internet.: Data compression is only useful for files being transmitted over the Internet. + Regardless of the compression technique used, once a data file is compressed, it cannot be restored to its original state.: Regardless of the compression technique used, once a data file is compressed, it cannot be restored to its original state. + Sending a compressed version of a file ensures that the contents of the file cannot be intercepted by an unauthorized user.: Sending a compressed version of a file ensures that the contents of the file cannot be intercepted by an unauthorized user. + There are trade-offs involved in choosing a compression technique for storing and transmitting data.: There are trade-offs involved in choosing a compression technique for storing and transmitting data. CB_Question_18_2018: Data compression is only useful for files being transmitted over the Internet.: Data compression is only useful for files being transmitted over the Internet. Regardless of the compression technique used, once a data file is compressed, it cannot be restored to its original state.: Regardless of the compression technique used, once a data file is compressed, it cannot be restored to its original state. @@ -5546,20 +5724,40 @@ en: Regardless of the compression technique used, once a data file is compressed, it cannot be restored to its original state.: Regardless of the compression technique used, once a data file is compressed, it cannot be restored to its original state. Sending a compressed version of a file ensures that the contents of the file cannot be intercepted by an unauthorized user.: Sending a compressed version of a file ensures that the contents of the file cannot be intercepted by an unauthorized user. There are trade-offs involved in choosing a compression technique for storing and transmitting data.: There are trade-offs involved in choosing a compression technique for storing and transmitting data. - CB_Question_19: {} + CB_Question_19: + "(onFloor1 AND callTo2) AND (onFloor2 AND callTo1)": "(onFloor1 AND callTo2) AND (onFloor2 AND callTo1)" + "(onFloor1 AND callTo2) OR (onFloor2 AND callTo1)": "(onFloor1 AND callTo2) OR (onFloor2 AND callTo1)" + "(onFloor1 OR callTo2) AND (onFloor2 OR callTo1)": "(onFloor1 OR callTo2) AND (onFloor2 OR callTo1)" + "(onFloor1 OR callTo2) OR (onFloor2 OR callTo1)": "(onFloor1 OR callTo2) OR (onFloor2 OR callTo1)" CB_Question_1_2018: 2 times as many values can be represented.: 2 times as many values can be represented. 2^32 times as many values can be represented.: 2^32 times as many values can be represented. 32 times as many values can be represented.: 32 times as many values can be represented. 32^2 times as many values can be represented.: 32^2 times as many values can be represented. - CB_Question_1_copy: {} + CB_Question_1_copy: + 2 times as many values can be represented.: 2 times as many values can be represented. + 2^32 times as many values can be represented.: 2^32 times as many values can be represented. + 32 times as many values can be represented.: 32 times as many values can be represented. + 32^2 times as many values can be represented.: 32^2 times as many values can be represented. CB_Question_1_exam_prep: 2 times as many values can be represented.: 2 times as many values can be represented. 2^32 times as many values can be represented.: 2^32 times as many values can be represented. 32 times as many values can be represented.: 32 times as many values can be represented. 32^2 times as many values can be represented.: 32^2 times as many values can be represented. - CB_Question_2: {} - CB_Question_20: {} + CB_Question_2: + ? First, change all occurrences of "goats" to "foxes."
Then, change all occurrences of "foxes" to "sheep."
Last, change all occurrences of "sheep" to "goats." + : First, change all occurrences of "goats" to "foxes."
Then, change all occurrences of "foxes" to "sheep."
Last, change all occurrences of "sheep" to "goats." + ? First, change all occurrences of "goats" to "foxes."
Then, change all occurrences of "sheep" to "goats."
Last, change all occurrences of "foxes" to "sheep." + : First, change all occurrences of "goats" to "foxes."
Then, change all occurrences of "sheep" to "goats."
Last, change all occurrences of "foxes" to "sheep." + ? First, change all occurrences of "goats" to "sheep."
Then, change all occurrences of "sheep" to "goats." + : First, change all occurrences of "goats" to "sheep."
Then, change all occurrences of "sheep" to "goats." + ? First, change all occurrences of "goats" to "sheep."
Then, change all occurrences of "sheep" to "goats."
Last, change all occurrences of "foxes" to "sheep." + : First, change all occurrences of "goats" to "sheep."
Then, change all occurrences of "sheep" to "goats."
Last, change all occurrences of "foxes" to "sheep." + CB_Question_20: + about.example.com: about.example.com + example.co.uk: example.co.uk + example.com.org: example.com.org + example.org: example.org CB_Question_20_2018: about.example.com: about.example.com example.co.uk: example.co.uk @@ -5570,10 +5768,26 @@ en: example.co.uk: example.co.uk example.com.org: example.com.org example.org: example.org - CB_Question_21: {} - CB_Question_22: {} - CB_Question_3: {} - CB_Question_3update: {} + CB_Question_21: + An algorithm that, given a list of integers, displays only the negative integers in the list: An algorithm that, given a list of integers, displays only the negative integers in the list + An algorithm that, given a list of integers, displays the number of even integers in the list: An algorithm that, given a list of integers, displays the number of even integers in the list + An algorithm that, given a list of integers, displays the sum of the integers in the list: An algorithm that, given a list of integers, displays the sum of the integers in the list + An algorithm that, given two integers, displays the greater of the two integers: An algorithm that, given two integers, displays the greater of the two integers + CB_Question_22: + : + : + : + : + CB_Question_3: + A: A + L: L + V: V + Y: Y + CB_Question_3update: + 'ASCII Character: A ': 'ASCII Character: A ' + 'ASCII Character: B ': 'ASCII Character: B ' + 'ASCII Character: D ': 'ASCII Character: D ' + The table does not contain the value represented by the binary number 0100 0010: The table does not contain the value represented by the binary number 0100 0010 CB_Question_3update_2018: 'ASCII Character: A ': 'ASCII Character: A ' 'ASCII Character: B ': 'ASCII Character: B ' @@ -5584,10 +5798,26 @@ en: 'ASCII Character: B ': 'ASCII Character: B ' 'ASCII Character: D ': 'ASCII Character: D ' The table does not contain the value represented by the binary number 0100 0010: The table does not contain the value represented by the binary number 0100 0010 - CB_Question_4: {} - CB_Question_5: {} - CB_Question_6: {} - CB_Question_7: {} + CB_Question_4: + Input A can be either true or false: Input A can be either true or false + Input A must be false: Input A must be false + Input A must be true: Input A must be true + There is no possible value of input A that will cause the circuit to have the output true.: There is no possible value of input A that will cause the circuit to have the output true. + CB_Question_5: + : + : + : + : + CB_Question_6: + Computer simulations can only be built after the real-world object or system has been created.: Computer simulations can only be built after the real-world object or system has been created. + Computer simulations only run on very powerful computers that are not available to the public.: Computer simulations only run on very powerful computers that are not available to the public. + Computer simulations usually make some simplifying assumptions about the real-world object or system being modeled.: Computer simulations usually make some simplifying assumptions about the real-world object or system being modeled. + It is difficult to change input parameters or conditions when using computer simulations.: It is difficult to change input parameters or conditions when using computer simulations. + CB_Question_7: + To determine the time of day that the site is most active: To determine the time of day that the site is most active + To determine the topics that many users are posting about: To determine the topics that many users are posting about + To determine the users who post messages most frequently: To determine the users who post messages most frequently + To determine which posts from a particular user have received the greatest number of comments: To determine which posts from a particular user have received the greatest number of comments CB_Question_7_2018: To determine the time of day that the site is most active: To determine the time of day that the site is most active To determine the topics that many users are posting about: To determine the topics that many users are posting about @@ -5598,9 +5828,23 @@ en: To determine the topics that many users are posting about: To determine the topics that many users are posting about To determine the users who post messages most frequently: To determine the users who post messages most frequently To determine which posts from a particular user have received the greatest number of comments: To determine which posts from a particular user have received the greatest number of comments - CB_Question_8: {} - CB_Question_9: {} - CPS Unit2 Ch 1 MC lossless compression: {} + CB_Question_8: + : + : + : + : + CB_Question_9: + Backing up data: Backing up data + Deleting entries from data: Deleting entries from data + Searching through data: Searching through data + Sorting data: Sorting data + CPS Unit2 Ch 1 MC lossless compression: + " ": " " + Compression: Compression + Fast Fourier Transform compression: Fast Fourier Transform compression + Lossless compression: Lossless compression + Lossy compression: Lossy compression + Tailored compression: Tailored compression CPS Unit2 Ch 1 MC lossless compression_2018: " ": " " Compression: Compression @@ -5977,7 +6221,14 @@ en: ? 'The Internet Engineering Task Force (IETF) defines the protocols and standards for how the Internet works. The members of the IETF are:' : 'The Internet Engineering Task Force (IETF) defines the protocols and standards for how the Internet works. The members of the IETF are:' There are no members. IETF is an "organization" in name only.: There are no members. IETF is an "organization" in name only. - CSP Unit 2 Ch 2 MC data bias: {} + CSP Unit 2 Ch 2 MC data bias: + " ": " " + Data Bias: Data Bias + She learns that responses were collected only by mobile app.: She learns that responses were collected only by mobile app. + ? She learns that the survey administrators only asked a representative sample of students, rather than every student in each state. + : She learns that the survey administrators only asked a representative sample of students, rather than every student in each state. + She learns that the survey was only available to students who scored at the top 10% on the PSAT.: She learns that the survey was only available to students who scored at the top 10% on the PSAT. + She learns the survey was available to complete in both digital and paper form.: She learns the survey was available to complete in both digital and paper form. CSP Unit 2 Ch 2 MC data bias_2018: " ": " " Data Bias: Data Bias @@ -6640,7 +6891,6 @@ en: I feel like I could run this unit right now: I feel like I could run this unit right now I feel like I need to do A LOT of review of the tasks before I run this unit: I feel like I need to do A LOT of review of the tasks before I run this unit I feel like I need to do SOME review of the tasks before I run this unit: I feel like I need to do SOME review of the tasks before I run this unit - CSPU5_U3L13 debugging Multi: {} CSPU5_U3L14 - MC Duplicate Ids: A warning message will appear for the second button that that ID is already in use.: A warning message will appear for the second button that that ID is already in use. 'Choose Two: Buttons and IDs': 'Choose Two: Buttons and IDs' @@ -7761,7 +8011,11 @@ en: Here is a question.: Here is a question. Here is a title: Here is a title feedback for this wrong answer.: feedback for this wrong answer. - PS U3 Q1-1: {} + PS U3 Q1-1: + Ambiguities in natural language necessitate the creation of programming languages for controlling a computer.: Ambiguities in natural language necessitate the creation of programming languages for controlling a computer. + Compared to the number of words in a natural language, the number of defined words in a programming language is very small.: Compared to the number of words in a natural language, the number of defined words in a programming language is very small. + The number of defined words in a programming language is about the same as the number of words in a natural language.: The number of defined words in a programming language is about the same as the number of words in a natural language. + There are typically many possible ways to interpret an instruction written in a programming language.: There are typically many possible ways to interpret an instruction written in a programming language. PS U3 Q1-2: Robots in a grid of square Part 1: Robots in a grid of square Part 1 https://images.code.org/3e341ed57ac366663807df24b2a7e329-image-1459376286013.png: https://images.code.org/3e341ed57ac366663807df24b2a7e329-image-1459376286013.png @@ -7878,9 +8132,28 @@ en: 'Multiple Choice: False Statements about Functions': 'Multiple Choice: False Statements about Functions' Once defined, a function can be called many times from different parts of a program.: Once defined, a function can be called many times from different parts of a program. Which of the following is NOT a true statement about functions?: Which of the following is NOT a true statement about functions? - SG U3L04 Assessment2: {} - SG U3L06 Assessment2: {} - SG U3L06-API-multichoice: {} + SG U3L04 Assessment2: + 'Multiple Choice: Functions and Top-Down Design': 'Multiple Choice: Functions and Top-Down Design' + Top-Down Design assists in identifying the layers of functions that will be used to solve a programming problem.: Top-Down Design assists in identifying the layers of functions that will be used to solve a programming problem. + Top-Down Design leads to programs which feature multiple layers of abstraction.: Top-Down Design leads to programs which feature multiple layers of abstraction. + Top-Down Design relies upon identifying sub-problems of a larger problem.: Top-Down Design relies upon identifying sub-problems of a larger problem. + Two programmers solving the same problem using Top-Down Design should arrive at identical programs.: Two programmers solving the same problem using Top-Down Design should arrive at identical programs. + Which of the following statements about writing functions and Top-Down Design is NOT true?: Which of the following statements about writing functions and Top-Down Design is NOT true? + Writing functions helps manage complexity in a program.: Writing functions helps manage complexity in a program. + SG U3L06 Assessment2: + A collection of commands that can be used in a programming language.: A collection of commands that can be used in a programming language. + A named memory location.: A named memory location. + A way to give input to a function that controls how the function runs.: A way to give input to a function that controls how the function runs. + Another name for the purpose of a function.: Another name for the purpose of a function. + 'Multiple Choice: What is a function parameter?': 'Multiple Choice: What is a function parameter?' + 'Para-meter: a measure of the distance between a function''s conception and implementation.': 'Para-meter: a measure of the distance between a function''s conception and implementation.' + SG U3L06-API-multichoice: + Abstract Parameter Interface: Abstract Parameter Interface + Abstract Programming Inheritance: Abstract Programming Inheritance + Application Program Interface: Application Program Interface + Applied Power Implementation: Applied Power Implementation + Artificial Parameter Intelligence: Artificial Parameter Intelligence + 'Multiple Choice: What is an API?': 'Multiple Choice: What is an API?' SG U3L07 - MC remove line of code loops: '1': '1' '14': '14' @@ -7958,7 +8231,14 @@ en: 22 = 4 times as many values: 22 = 4 times as many values 23 = 8 times as many values: 23 = 8 times as many values 24 = 16 times as many values: 24 = 16 times as many values - U1L07 Assessment 1: {} + U1L07 Assessment 1: + A: A + B: B + C: C + D: D + E: E + Single Source Shortest Path Assessment: Single Source Shortest Path Assessment + Which one is the shortest path tree from the source node indicated?: Which one is the shortest path tree from the source node indicated? U1L10 Assessment 1: 2 bits: 2 bits 3 bits: 3 bits @@ -8007,7 +8287,13 @@ en: The standard QWERTY keyboard has 47 keys that can place characters on the screen. Each of these keys can also display a second character by holding the "Shift" key at the same time. How many bits would you need to encode everything that could be typed on this keyboard? - U1L11 Assessment 1: {} + U1L11 Assessment 1: + 16 bits: 16 bits + 24 bits: 24 bits + 3 bits: 3 bits + 32 bits: 32 bits + 8 bits: 8 bits + 'Assessment: Sending Numbers': 'Assessment: Sending Numbers' U1L11 Assessment 1_2018: 16 bits: 16 bits 24 bits: 24 bits @@ -8061,7 +8347,13 @@ en: 5 bits: 5 bits 'Multiple Choice: Sending Complex Messages': 'Multiple Choice: Sending Complex Messages' When responding to a question with 4 choices, the most efficient method will require _____ number of bits.: When responding to a question with 4 choices, the most efficient method will require _____ number of bits. - U1L4 Multiple Choice: {} + U1L4 Multiple Choice: + AAAA: AAAA + AABB: AABB + ABAB: ABAB + ABBB: ABBB + BBBB: BBBB + 'Multiple Choice: Coordination and Binary Messages': 'Multiple Choice: Coordination and Binary Messages' U1L4 Multiple Choice_2018: AAAA: AAAA AABB: AABB @@ -8135,7 +8427,14 @@ en: Restricted Fiduciary Contract: Restricted Fiduciary Contract 'The Internet is for Everyone: Assessment 2': 'The Internet is for Everyone: Assessment 2' What is an RFC?: What is an RFC? - U2L01 Assessment 3: {} + U2L01 Assessment 3: + 'Choose the two best answers to complete the sentence: If I understand how the internet works then I will be able to:': 'Choose the two best answers to complete the sentence: If I understand how the internet works then I will be able to:' + 'The Internet is for Everyone: Assessment 3': 'The Internet is for Everyone: Assessment 3' + connect the latest devices to the internet.: connect the latest devices to the internet. + get the best price for my cell phone plan.: get the best price for my cell phone plan. + make informed choices about my privacy on the internet.: make informed choices about my privacy on the internet. + 'make informed choices to support or oppose decisions my government makes about access to the internet. ': 'make informed choices to support or oppose decisions my government makes about access to the internet. ' + speed up my downloads of movies I purchase.: speed up my downloads of movies I purchase. U2L01 Assessment 3_2018: 'Choose the two best answers to complete the sentence: If I understand how the internet works then I will be able to:': 'Choose the two best answers to complete the sentence: If I understand how the internet works then I will be able to:' 'The Internet is for Everyone: Assessment 3': 'The Internet is for Everyone: Assessment 3' @@ -8144,7 +8443,13 @@ en: make informed choices about my privacy on the internet.: make informed choices about my privacy on the internet. 'make informed choices to support or oppose decisions my government makes about access to the internet. ': 'make informed choices to support or oppose decisions my government makes about access to the internet. ' speed up my downloads of movies I purchase.: speed up my downloads of movies I purchase. - U2L02 Assessment 3: {} + U2L02 Assessment 3: + The Need For Addressing: The Need For Addressing + 'To improve communication in playing battleship on the Internet Simulator your group invented a(n):': 'To improve communication in playing battleship on the Internet Simulator your group invented a(n):' + algorithm: algorithm + encoding: encoding + heuristic: heuristic + protocol: protocol U2L02 Assessment 3_2018: The Need For Addressing: The Need For Addressing 'To improve communication in playing battleship on the Internet Simulator your group invented a(n):': 'To improve communication in playing battleship on the Internet Simulator your group invented a(n):' @@ -8152,7 +8457,13 @@ en: encoding: encoding heuristic: heuristic protocol: protocol - U2L02 Assessment 4: {} + U2L02 Assessment 4: + From: From + Grid Coordinates: Grid Coordinates + The Need For Addressing: The Need For Addressing + Time of Day: Time of Day + To: To + Which of the following information is not necessary in your protocol to play battleship?: Which of the following information is not necessary in your protocol to play battleship? U2L02 Assessment 4_2018: From: From Grid Coordinates: Grid Coordinates @@ -8160,7 +8471,13 @@ en: Time of Day: Time of Day To: To Which of the following information is not necessary in your protocol to play battleship?: Which of the following information is not necessary in your protocol to play battleship? - U2L04 Assessment1: {} + U2L04 Assessment1: + Everyone is on the same router.: Everyone is on the same router. + 'In the Internet Simulator, your router knows to send your message to a different router because:': 'In the Internet Simulator, your router knows to send your message to a different router because:' + Messages are routed over different paths.: Messages are routed over different paths. + 'Routers and Redundancy: Question 1': 'Routers and Redundancy: Question 1' + The first 4 bits of the address specify the router number that your friend is on.: The first 4 bits of the address specify the router number that your friend is on. + You set the “other router” bit in the message.: You set the “other router” bit in the message. U2L04 Assessment1_2018: Everyone is on the same router.: Everyone is on the same router. 'In the Internet Simulator, your router knows to send your message to a different router because:': 'In the Internet Simulator, your router knows to send your message to a different router because:' @@ -8168,7 +8485,14 @@ en: 'Routers and Redundancy: Question 1': 'Routers and Redundancy: Question 1' The first 4 bits of the address specify the router number that your friend is on.: The first 4 bits of the address specify the router number that your friend is on. You set the "other router" bit in the message.: You set the "other router" bit in the message. - U2L04 Assessment4: {} + U2L04 Assessment4: + ? If the post office delivered mail exactly like routers deliver messages on the internet, which 2 of the following statements would be true? + : If the post office delivered mail exactly like routers deliver messages on the internet, which 2 of the following statements would be true? + Letters would be written on the outside of envelopes for all to read instead of letters put inside envelopes.: Letters would be written on the outside of envelopes for all to read instead of letters put inside envelopes. + One mailman would be responsible for delivering a letter from sender to receiver.: One mailman would be responsible for delivering a letter from sender to receiver. + 'Routers and Redundancy: Question 2': 'Routers and Redundancy: Question 2' + The mailman would sometimes take a different path to deliver each letter to your home.: The mailman would sometimes take a different path to deliver each letter to your home. + Your mail could not be delivered if a road your mailman was planning to take were under construction.: Your mail could not be delivered if a road your mailman was planning to take were under construction. U2L04 Assessment4_2018: ? If the post office delivered mail exactly like routers deliver messages on the internet, which 2 of the following statements would be true? : If the post office delivered mail exactly like routers deliver messages on the internet, which 2 of the following statements would be true? @@ -8177,7 +8501,15 @@ en: 'Routers and Redundancy: Question 2': 'Routers and Redundancy: Question 2' The mailman would sometimes take a different path to deliver each letter to your home.: The mailman would sometimes take a different path to deliver each letter to your home. Your mail could not be delivered if a road your mailman was planning to take were under construction.: Your mail could not be delivered if a road your mailman was planning to take were under construction. - U2L04 Assessment5: {} + U2L04 Assessment5: + ? A packet contains addressing information to allow routers to decide how best to forward along that packet towards its destination. + : A packet contains addressing information to allow routers to decide how best to forward along that packet towards its destination. + A packet travelling between two computers on the Internet may be rerouted many times along the way.: A packet travelling between two computers on the Internet may be rerouted many times along the way. + Information travelling between two computers over the Internet will always take the same path.: Information travelling between two computers over the Internet will always take the same path. + 'Routers and Redundancy: Question 3': 'Routers and Redundancy: Question 3' + There is one router which receives and redirects all the traffic of the Internet.: There is one router which receives and redirects all the traffic of the Internet. + Which two of the following statements are true about routing on the Internet.: Which two of the following statements are true about routing on the Internet. + Your router receives all the traffic of the Internet and delivers to your computer only the messages intended for you.: Your router receives all the traffic of the Internet and delivers to your computer only the messages intended for you. U2L04 Assessment5_2018: ? A packet contains addressing information to allow routers to decide how best to forward along that packet towards its destination. : A packet contains addressing information to allow routers to decide how best to forward along that packet towards its destination. @@ -8187,7 +8519,14 @@ en: There is one router which receives and redirects all the traffic of the Internet.: There is one router which receives and redirects all the traffic of the Internet. Which two of the following statements are true about routing on the Internet.: Which two of the following statements are true about routing on the Internet. Your router receives all the traffic of the Internet and delivers to your computer only the messages intended for you.: Your router receives all the traffic of the Internet and delivers to your computer only the messages intended for you. - U2L05 Assessment 1: {} + U2L05 Assessment 1: + 'Packets and Making a Reliable Internet: Question 1': 'Packets and Making a Reliable Internet: Question 1' + ? Packets travelling across the Internet take a standardized amount of time and so can be counted on to arrive in the order they were sent + : Packets travelling across the Internet take a standardized amount of time and so can be counted on to arrive in the order they were sent + 'Pick Two: Pick the two statements about packets and routing on the Internet which are true.': 'Pick Two: Pick the two statements about packets and routing on the Internet which are true.' + TCP depends on the infrastructure of the Internet to be reliable enough to ensure no packets are lost in transmission: TCP depends on the infrastructure of the Internet to be reliable enough to ensure no packets are lost in transmission + TCP ensures messages can be reliably transmitted across the Internet: TCP ensures messages can be reliably transmitted across the Internet + TCP must account for the fact that packets may not arrive at a destination computer in the intended order: TCP must account for the fact that packets may not arrive at a destination computer in the intended order U2L05 Assessment 1_2018: 'Packets and Making a Reliable Internet: Question 1': 'Packets and Making a Reliable Internet: Question 1' ? Packets travelling across the Internet take a standardized amount of time and so can be counted on to arrive in the order they were sent @@ -8196,7 +8535,13 @@ en: TCP depends on the infrastructure of the Internet to be reliable enough to ensure no packets are lost in transmission: TCP depends on the infrastructure of the Internet to be reliable enough to ensure no packets are lost in transmission TCP ensures messages can be reliably transmitted across the Internet: TCP ensures messages can be reliably transmitted across the Internet TCP must account for the fact that packets may not arrive at a destination computer in the intended order: TCP must account for the fact that packets may not arrive at a destination computer in the intended order - U2L05 Assessment 2: {} + U2L05 Assessment 2: + A message sent across the Internet can always be contained in a single packet: A message sent across the Internet can always be contained in a single packet + 'Packets and Making a Reliable Internet: Question 2': 'Packets and Making a Reliable Internet: Question 2' + Packets are numbered so if they arrive out of order the message can be reassembled.: Packets are numbered so if they arrive out of order the message can be reassembled. + Packets are routed on different paths from sender to receiver.: Packets are routed on different paths from sender to receiver. + The receiver computer must confirm to the sending computer that each packet was received.: The receiver computer must confirm to the sending computer that each packet was received. + Which of the following is NOT true about packets?: Which of the following is NOT true about packets? U2L05 Assessment 2_2018: A message sent across the Internet can always be contained in a single packet: A message sent across the Internet can always be contained in a single packet 'Packets and Making a Reliable Internet: Question 2': 'Packets and Making a Reliable Internet: Question 2' @@ -8252,30 +8597,96 @@ en: 30,003 bytes (240,024 bits): 30,003 bytes (240,024 bits) How many bytes does it take...?: How many bytes does it take...? How many bytes?: How many bytes? - 'U2L06 - MC: Which is an MST?': {} - 'U2L06- MC: what is an MST?': {} - U2L07 Assessment2: {} - U2L07 Assessment3: {} - U2L08 Assessment 1: {} - U2L09 Assessment1: {} - U2L09 Assessment1_2018: - ? A single central register of IP addresses and names (a DNS style system) is an efficient means of translating human readable names to IP addresses. Which of the following is NOT solved by DNS? - : A single central register of IP addresses and names (a DNS style system) is an efficient means of translating human readable names to IP addresses. Which of the following is NOT solved by DNS? - A. It is inefficient to have everyone on the Internet maintain their own list of IP addresses.: A. It is inefficient to have everyone on the Internet maintain their own list of IP addresses. - B. There are too few IP addresses to meet the current demand.: B. There are too few IP addresses to meet the current demand. - C. When someone new joins the Internet they must inform everyone else of the new IP address: C. When someone new joins the Internet they must inform everyone else of the new IP address - D. When an IP address changes, it is impossible to locate a computer until the owner announces the change.: D. When an IP address changes, it is impossible to locate a computer until the owner announces the change. - 'The Need for DNS: Question 1': 'The Need for DNS: Question 1' - U2L10 Assessment1: {} - U2L10 Assessment1_2018: + 'U2L06 - MC: Which is an MST?': + ? "

The images below all show the same map (or graph) but have different paths between the points highlighted.

\n

Please choose the image that is highlighting a Minimum Spanning Tree for the map.

\n

NOTE: The “distance” between points is depicted by the number of line segments connecting any two points.

\n" + : "

The images below all show the same map (or graph) but have different paths between the points highlighted.

\n

Please choose the image that is highlighting a Minimum Spanning Tree for the map.

\n

NOTE: The “distance” between points is depicted by the number of line segments connecting any two points.

\n" + A: A + B: B + C: C + D: D + E: E + Which one is the MST?: Which one is the MST? + 'U2L06- MC: what is an MST?': + Minimum Spanning Trees: Minimum Spanning Trees + The fewest number and smallest total distance of connections necessary to connect all points in a graph: The fewest number and smallest total distance of connections necessary to connect all points in a graph + ? The fewest number and smallest total distance of connections necessary to travel from one point to all the other points without having to visit a point twice + : The fewest number and smallest total distance of connections necessary to travel from one point to all the other points without having to visit a point twice + The shortest path between any two points for all points in the graph: The shortest path between any two points for all points in the graph + The shortest path from a particular point in the graph to another point in the graph: The shortest path from a particular point in the graph to another point in the graph + What does a minimum spanning tree tell you about a graph?: What does a minimum spanning tree tell you about a graph? + Whether or not the graph represents a network: Whether or not the graph represents a network + U2L07 Assessment2: + A minimum spanning tree contains the shortest path between the starting vertex and every other reachable vertex in the graph.: A minimum spanning tree contains the shortest path between the starting vertex and every other reachable vertex in the graph. + ? |- + Both the minimum spanning tree algorithm you learned and the + shortest path algorithm you learned used a “greedy” approach, + choosing the smallest edge first or vertex with the smallest distance value first. + : |- + Both the minimum spanning tree algorithm you learned and the + shortest path algorithm you learned used a “greedy” approach, + choosing the smallest edge first or vertex with the smallest distance value first. + Question 2: Question 2 + The minimum spanning tree algorithm you learned does not necessarily need to try every edge.: The minimum spanning tree algorithm you learned does not necessarily need to try every edge. + The shortest path algorithm you learned visits each vertex and edge once.: The shortest path algorithm you learned visits each vertex and edge once. + 'Which of the following statements is FALSE about minimum spanning trees (from the previous lesson) and shortest path trees:': 'Which of the following statements is FALSE about minimum spanning trees (from the previous lesson) and shortest path trees:' + U2L07 Assessment3: + Question 3: Question 3 + The algorithm is correct.: The algorithm is correct. + The algorithm is efficient.: The algorithm is efficient. + The algorithm is short.: The algorithm is short. + The algorithm is understandable.: The algorithm is understandable. + Which of the following is NOT something we are concerned with when we write an algorithm?: Which of the following is NOT something we are concerned with when we write an algorithm? + U2L08 Assessment 1: + '11': '11' + '5': '5' + '6': '6' + '8': '8' + '9': '9' + 'Router Table: Assessment': 'Router Table: Assessment' + U2L09 Assessment1: + ? A single central register of IP addresses and names (a DNS style system) is an efficient means of translating human readable names to IP addresses. Which of the following is NOT solved by DNS? + : A single central register of IP addresses and names (a DNS style system) is an efficient means of translating human readable names to IP addresses. Which of the following is NOT solved by DNS? + A. It is inefficient to have everyone on the Internet maintain their own list of IP addresses.: A. It is inefficient to have everyone on the Internet maintain their own list of IP addresses. + B. There are too few IP addresses to meet the current demand.: B. There are too few IP addresses to meet the current demand. + C. When someone new joins the Internet they must inform everyone else of the new IP address: C. When someone new joins the Internet they must inform everyone else of the new IP address + D. When an IP address changes, it is impossible to locate a computer until the owner announces the change.: D. When an IP address changes, it is impossible to locate a computer until the owner announces the change. + 'The Need for DNS: Question 1': 'The Need for DNS: Question 1' + U2L09 Assessment1_2018: + ? A single central register of IP addresses and names (a DNS style system) is an efficient means of translating human readable names to IP addresses. Which of the following is NOT solved by DNS? + : A single central register of IP addresses and names (a DNS style system) is an efficient means of translating human readable names to IP addresses. Which of the following is NOT solved by DNS? + A. It is inefficient to have everyone on the Internet maintain their own list of IP addresses.: A. It is inefficient to have everyone on the Internet maintain their own list of IP addresses. + B. There are too few IP addresses to meet the current demand.: B. There are too few IP addresses to meet the current demand. + C. When someone new joins the Internet they must inform everyone else of the new IP address: C. When someone new joins the Internet they must inform everyone else of the new IP address + D. When an IP address changes, it is impossible to locate a computer until the owner announces the change.: D. When an IP address changes, it is impossible to locate a computer until the owner announces the change. + 'The Need for DNS: Question 1': 'The Need for DNS: Question 1' + U2L10 Assessment1: A. Redundancy: A. Redundancy Assessment Question 1: Assessment Question 1 B. Hierarchy: B. Hierarchy C. Multiple servers: C. Multiple servers D. Government control: D. Government control What feature of DNS and IP allow the internet to scale?: What feature of DNS and IP allow the internet to scale? - U2L10 Assessment2: {} - U2L11 Assessment 1: {} + U2L10 Assessment1_2018: + A. Redundancy: A. Redundancy + Assessment Question 1: Assessment Question 1 + B. Hierarchy: B. Hierarchy + C. Multiple servers: C. Multiple servers + D. Government control: D. Government control + What feature of DNS and IP allow the internet to scale?: What feature of DNS and IP allow the internet to scale? + U2L10 Assessment2: + Assessment Question 2: Assessment Question 2 + Censorship: Censorship + Hierarchy: Hierarchy + Redundancy: Redundancy + Spoofing: Spoofing + What is a disadvantage of the open standard of addressing used by the internet? (Pick 2): What is a disadvantage of the open standard of addressing used by the internet? (Pick 2) + U2L11 Assessment 1: + 'HTTP and Abstraction on the Internet: Question 1': 'HTTP and Abstraction on the Internet: Question 1' + 'HTTP is considered to be a high level protocol because:': 'HTTP is considered to be a high level protocol because:' + HTTP messages can be either requests or responses.: HTTP messages can be either requests or responses. + HTTP requests are encoded using higher frequency radio waves.: HTTP requests are encoded using higher frequency radio waves. + HTTP requests are given higher priority for fast delivery when being routed on the Internet.: HTTP requests are given higher priority for fast delivery when being routed on the Internet. + HTTP requests make use of abstractions provided by lower level protocols.: HTTP requests make use of abstractions provided by lower level protocols. U2L11 Assessment 1_2018: 'HTTP and Abstraction on the Internet: Question 1': 'HTTP and Abstraction on the Internet: Question 1' 'HTTP is considered to be a high level protocol because:': 'HTTP is considered to be a high level protocol because:' @@ -8283,7 +8694,13 @@ en: HTTP requests are encoded using higher frequency radio waves.: HTTP requests are encoded using higher frequency radio waves. HTTP requests are given higher priority for fast delivery when being routed on the Internet.: HTTP requests are given higher priority for fast delivery when being routed on the Internet. HTTP requests make use of abstractions provided by lower level protocols.: HTTP requests make use of abstractions provided by lower level protocols. - U2L11 Assessment 2: {} + U2L11 Assessment 2: + An HTTP request is sent from a client to request access to data stored on a server.: An HTTP request is sent from a client to request access to data stored on a server. + An HTTP response code is only used when a server could not fulfill a request.: An HTTP response code is only used when a server could not fulfill a request. + 'Choose Two: Identify the two true statements about HTTP.': 'Choose Two: Identify the two true statements about HTTP.' + Displaying a web page will often require multiple HTTP requests in order to acquire all the necessary data.: Displaying a web page will often require multiple HTTP requests in order to acquire all the necessary data. + 'HTTP and Abstraction on the Internet: Question 2': 'HTTP and Abstraction on the Internet: Question 2' + HTTP requests and responses have identical formats.: HTTP requests and responses have identical formats. U2L11 Assessment 2_2018: An HTTP request is sent from a client to request access to data stored on a server.: An HTTP request is sent from a client to request access to data stored on a server. An HTTP response code is only used when a server could not fulfill a request.: An HTTP response code is only used when a server could not fulfill a request. @@ -8291,7 +8708,13 @@ en: Displaying a web page will often require multiple HTTP requests in order to acquire all the necessary data.: Displaying a web page will often require multiple HTTP requests in order to acquire all the necessary data. 'HTTP and Abstraction on the Internet: Question 2': 'HTTP and Abstraction on the Internet: Question 2' HTTP requests and responses have identical formats.: HTTP requests and responses have identical formats. - U2L13 Assessment3: {} + U2L13 Assessment3: + A secret word only know by Caesar.: A secret word only know by Caesar. + 'Assessment: Question 2': 'Assessment: Question 2' + The day of the month that the encrypted message was sent.: The day of the month that the encrypted message was sent. + The letter that occurs most often in the encrypted message.: The letter that occurs most often in the encrypted message. + The number of characters to shift each letter in the alphabet.: The number of characters to shift each letter in the alphabet. + What is the “key” to a Caesar Cipher that someone needs to know (or discover) to decrypt the message?: What is the “key” to a Caesar Cipher that someone needs to know (or discover) to decrypt the message? U2L13 Assessment3_2018: A secret word only know by Caesar.: A secret word only know by Caesar. 'Assessment: Question 2': 'Assessment: Question 2' @@ -8299,7 +8722,13 @@ en: The letter that occurs most often in the encrypted message.: The letter that occurs most often in the encrypted message. The number of characters to shift each letter in the alphabet.: The number of characters to shift each letter in the alphabet. What is the "key" to a Caesar Cipher that someone needs to know (or discover) to decrypt the message?: What is the "key" to a Caesar Cipher that someone needs to know (or discover) to decrypt the message? - U2L13 Assessment4: {} + U2L13 Assessment4: + '26': '26' + 26 x 25: 26 x 25 + 26 × 25 × 24 ×···× 3 × 2 x 1: 26 × 25 × 24 ×···× 3 × 2 x 1 + 26^26: 26^26 + 'Assessment: Question 3': 'Assessment: Question 3' + The Caesar Cipher has 25 different shifts to try. How many possibilities are there to try in a random substitution cipher?: The Caesar Cipher has 25 different shifts to try. How many possibilities are there to try in a random substitution cipher? U2L13 Assessment4_2018: '26': '26' 26 x 25: 26 x 25 @@ -8321,7 +8750,11 @@ en: Filtering and cleaning data is necessary to ensure that data is in a form that is better for computers to process: Filtering and cleaning data is necessary to ensure that data is in a form that is better for computers to process Using computing tools to filter and clean raw data makes it impossible to analyze or draw accurate conclusions: Using computing tools to filter and clean raw data makes it impossible to analyze or draw accurate conclusions Which of the following is the most accurate statement about cleaning and filtering data?: Which of the following is the most accurate statement about cleaning and filtering data? - U2L14 Assessment3: {} + U2L14 Assessment3: + 'Assessment: Question 4': 'Assessment: Question 4' + True or false? The Vigenere Cipher is like using multiple Caesar ciphers.: True or false? The Vigenere Cipher is like using multiple Caesar ciphers. + 'false': 'false' + 'true': 'true' U2L14 Summary Tables MC: Pivot tables are used because they automatically detect and highlight potential trends or patterns in the underlying raw data: Pivot tables are used because they automatically detect and highlight potential trends or patterns in the underlying raw data Pivot tables are used to generate a summarized view of a large dataset which is helpful for gaining insight: Pivot tables are used to generate a summarized view of a large dataset which is helpful for gaining insight @@ -8336,7 +8769,13 @@ en: Pivot tables are used to quickly remove errors and inconsistencies from a dataset.: Pivot tables are used to quickly remove errors and inconsistencies from a dataset. What's it good for?: What's it good for? Which of the following statements are true about pivot tables?
Select two answers.: Which of the following statements are true about pivot tables?
Select two answers. - U2L15 Assessment1: {} + U2L15 Assessment1: + A Vigenere cipher relies upon an "alphabet shift" algorithm.: A Vigenere cipher relies upon an "alphabet shift" algorithm. + One cannot solve using frequency analysis directly.: One cannot solve using frequency analysis directly. + The key is always secret to both the sender and receiver of the message.: The key is always secret to both the sender and receiver of the message. + The key length is variable and potentially very long: The key length is variable and potentially very long + Vigenere Cipher: Vigenere Cipher + Why is the Vigenere cipher hard to crack? (select 2): Why is the Vigenere cipher hard to crack? (select 2) U2L15 Assessment1_2018: A Vigenere cipher relies upon an "alphabet shift" algorithm.: A Vigenere cipher relies upon an "alphabet shift" algorithm. One cannot solve using frequency analysis directly.: One cannot solve using frequency analysis directly. @@ -8344,8 +8783,21 @@ en: The key length is variable and potentially very long: The key length is variable and potentially very long Vigenere Cipher: Vigenere Cipher Why is the Vigenere cipher hard to crack? (select 2): Why is the Vigenere cipher hard to crack? (select 2) - U2L15 Assessment3: {} - U2L15 Assessment4: {} + U2L15 Assessment3: + 'Assessment: Question 3': 'Assessment: Question 3' + Computers are faster than humans.: Computers are faster than humans. + Computers are smarter than humans.: Computers are smarter than humans. + The Vigenere was originally designed by a computer.: The Vigenere was originally designed by a computer. + They are not - humans are better at breaking Vigenere encryptions than computers.: They are not - humans are better at breaking Vigenere encryptions than computers. + Why are computers better than humans at breaking encryptions such as the Vigenere?: Why are computers better than humans at breaking encryptions such as the Vigenere? + U2L15 Assessment4: + 8 random characters that include numbers and punctuation: 8 random characters that include numbers and punctuation + A 150 character password that is all the same character.: A 150 character password that is all the same character. + A 16 character password that is all letters of the alphabet: A 16 character password that is all letters of the alphabet + A 32 character password that is all letters of the alphabet: A 32 character password that is all letters of the alphabet + A word from the dictionary: A word from the dictionary + 'Assessment: Question 4': 'Assessment: Question 4' + 'Which makes for a password that is harder to crack:': 'Which makes for a password that is harder to crack:' U2L17 - One Way functions Def MC: Easy to create and easy to solve: Easy to create and easy to solve Easy to create and hard to solve: Easy to create and hard to solve @@ -8353,8 +8805,22 @@ en: Hard to create and hard to solve: Hard to create and hard to solve One-Way Functions: One-Way Functions Which of the following correctly defines a one-way function?: Which of the following correctly defines a one-way function? - U2L17 Free Responses Assessment 1: {} - U2L19 multichoice 13 MOD 17: {} + U2L17 Free Responses Assessment 1: + Assessment 1: Assessment 1 + Easy to create and easy to solve: Easy to create and easy to solve + Easy to create and hard to solve: Easy to create and hard to solve + Hard to create and easy to solve: Hard to create and easy to solve + Hard to create and hard to solve: Hard to create and hard to solve + Select the best answer.: Select the best answer. + Which of the following correctly defines a one-way function?: Which of the following correctly defines a one-way function? + U2L19 multichoice 13 MOD 17: + '0': '0' + 1 4/13: 1 4/13 + '13': '13' + '17': '17' + '4': '4' + Modulo Multiple Choice: Modulo Multiple Choice + 'What is 13 MOD 17? ': 'What is 13 MOD 17? ' U2L19 multichoice 13 MOD 17_2018: '0': '0' 1 4/13: 1 4/13 @@ -8371,7 +8837,14 @@ en: '5': '5' Modulo Multiple Choice: Modulo Multiple Choice What is 20 MOD 15?: What is 20 MOD 15? - U2L19 mutlichoice 20 mod 15: {} + U2L19 mutlichoice 20 mod 15: + '0': '0' + '1.5': '1.5' + '15': '15' + '20': '20' + '5': '5' + Modulo Multiple Choice: Modulo Multiple Choice + What is 20 MOD 15?: What is 20 MOD 15? U2L19 mutlichoice 20 mod 15_2018: '0': '0' '1.5': '1.5' @@ -8380,7 +8853,13 @@ en: '5': '5' Modulo Multiple Choice: Modulo Multiple Choice What is 20 MOD 15?: What is 20 MOD 15? - U2L3 Assessment 2: {} + U2L3 Assessment 2: + 12 users: 12 users + 32 users: 32 users + 6 users: 6 users + 64 users: 64 users + How many unique IP addresses could be made in a fixed-length IP address system using 6 bits?: How many unique IP addresses could be made in a fixed-length IP address system using 6 bits? + IP Addresses and Bits: IP Addresses and Bits U2L3 Assessment 2_2018: 12 users: 12 users 32 users: 32 users @@ -8388,7 +8867,14 @@ en: 64 users: 64 users How many unique IP addresses could be made in a fixed-length IP address system using 6 bits?: How many unique IP addresses could be made in a fixed-length IP address system using 6 bits? IP Addresses and Bits: IP Addresses and Bits - U2L3 Assessment 3: {} + U2L3 Assessment 3: + ? 'IP addresses contain information similar to addressing a letter where you need include the state, zip code, street and number. This is called:' + : 'IP addresses contain information similar to addressing a letter where you need include the state, zip code, street and number. This is called:' + Invent an Addressing Protocol: Invent an Addressing Protocol + abstraction: abstraction + hierarchy: hierarchy + packet: packet + protocol: protocol U2L5 Color Pixel MC Question: " ": " " 1,250 bytes (10,000 bits): 1,250 bytes (10,000 bits) @@ -8452,7 +8938,13 @@ en: Spread 1 slice with jelly: Spread 1 slice with jelly Spread 1 slice with peanut butter: Spread 1 slice with peanut butter Why Programming? Question 2: Why Programming? Question 2 - U3L03 - multiselect - properties of functions: {} + U3L03 - multiselect - properties of functions: + 'Choose Two: True Statements about Functions': 'Choose Two: True Statements about Functions' + Choose the two (2) statements that are true about functions: Choose the two (2) statements that are true about functions + Functions in programming are named groupings of programming instructions.
: Functions in programming are named groupings of programming instructions.
+ Functions in programming are useful mathematical tools for doing complex computations.
: Functions in programming are useful mathematical tools for doing complex computations.
+ Meaningful function names help computers better understand programs.
: Meaningful function names help computers better understand programs.
+ Meaningful function names help people better understand programs.
: Meaningful function names help people better understand programs.
U3L03 - multiselect - properties of functions_2018: 'Choose Two: True Statements about Functions': 'Choose Two: True Statements about Functions' Choose the two (2) statements that are true about functions: Choose the two (2) statements that are true about functions @@ -8460,7 +8952,14 @@ en: Functions in programming are useful mathematical tools for doing complex computations.
: Functions in programming are useful mathematical tools for doing complex computations.
Meaningful function names help computers better understand programs.
: Meaningful function names help computers better understand programs.
Meaningful function names help people better understand programs.
: Meaningful function names help people better understand programs.
- U3L03 Assessment: {} + U3L03 Assessment: + Functions are reusable programming abstractions.: Functions are reusable programming abstractions. + Functions cannot make calls to other functions written by the same programmer.: Functions cannot make calls to other functions written by the same programmer. + Functions help break a problem into logical chunks.: Functions help break a problem into logical chunks. + Functions help reduce the complexity of writing and maintaining programs.: Functions help reduce the complexity of writing and maintaining programs. + 'Multiple Choice: False Statements about Functions': 'Multiple Choice: False Statements about Functions' + Once defined, a function can be called many times from different parts of a program.: Once defined, a function can be called many times from different parts of a program. + Which of the following is NOT a true statement about functions?: Which of the following is NOT a true statement about functions? U3L03 Assessment_2018: Functions are reusable programming abstractions.: Functions are reusable programming abstractions. Functions cannot make calls to other functions written by the same programmer.: Functions cannot make calls to other functions written by the same programmer. @@ -8469,7 +8968,14 @@ en: 'Multiple Choice: False Statements about Functions': 'Multiple Choice: False Statements about Functions' Once defined, a function can be called many times from different parts of a program.: Once defined, a function can be called many times from different parts of a program. Which of the following is NOT a true statement about functions?: Which of the following is NOT a true statement about functions? - U3L04 Assessment2: {} + U3L04 Assessment2: + 'Multiple Choice: Functions and Top-Down Design': 'Multiple Choice: Functions and Top-Down Design' + Top-Down Design assists in identifying the layers of functions that will be used to solve a programming problem.: Top-Down Design assists in identifying the layers of functions that will be used to solve a programming problem. + Top-Down Design leads to programs which feature multiple layers of abstraction.: Top-Down Design leads to programs which feature multiple layers of abstraction. + Top-Down Design relies upon identifying sub-problems of a larger problem.: Top-Down Design relies upon identifying sub-problems of a larger problem. + Two programmers solving the same problem using Top-Down Design should arrive at identical programs.: Two programmers solving the same problem using Top-Down Design should arrive at identical programs. + Which of the following statements about writing functions and Top-Down Design is NOT true?: Which of the following statements about writing functions and Top-Down Design is NOT true? + Writing functions helps manage complexity in a program.: Writing functions helps manage complexity in a program. U3L04 Assessment2_2018: 'Multiple Choice: Functions and Top-Down Design': 'Multiple Choice: Functions and Top-Down Design' Top-Down Design assists in identifying the layers of functions that will be used to solve a programming problem.: Top-Down Design assists in identifying the layers of functions that will be used to solve a programming problem. @@ -8478,7 +8984,13 @@ en: Two programmers solving the same problem using Top-Down Design should arrive at identical programs.: Two programmers solving the same problem using Top-Down Design should arrive at identical programs. Which of the following statements about writing functions and Top-Down Design is NOT true?: Which of the following statements about writing functions and Top-Down Design is NOT true? Writing functions helps manage complexity in a program.: Writing functions helps manage complexity in a program. - U3L06 Assessment2: {} + U3L06 Assessment2: + A collection of commands that can be used in a programming language.: A collection of commands that can be used in a programming language. + A named memory location.: A named memory location. + A way to give input to a function that controls how the function runs.: A way to give input to a function that controls how the function runs. + Another name for the purpose of a function.: Another name for the purpose of a function. + 'Multiple Choice: What is a function parameter?': 'Multiple Choice: What is a function parameter?' + 'Para-meter: a measure of the distance between a function''s conception and implementation.': 'Para-meter: a measure of the distance between a function''s conception and implementation.' U3L06 Assessment2_2018: A collection of commands that can be used in a programming language.: A collection of commands that can be used in a programming language. A named memory location.: A named memory location. @@ -8486,7 +8998,13 @@ en: Another name for the purpose of a function.: Another name for the purpose of a function. 'Multiple Choice: What is a function parameter?': 'Multiple Choice: What is a function parameter?' 'Para-meter: a measure of the distance between a function''s conception and implementation.': 'Para-meter: a measure of the distance between a function''s conception and implementation.' - U3L06-API-multichoice: {} + U3L06-API-multichoice: + Abstract Parameter Interface: Abstract Parameter Interface + Abstract Programming Inheritance: Abstract Programming Inheritance + Application Program Interface: Application Program Interface + Applied Power Implementation: Applied Power Implementation + Artificial Parameter Intelligence: Artificial Parameter Intelligence + 'Multiple Choice: What is an API?': 'Multiple Choice: What is an API?' U3L06-API-multichoice_2018: Abstract Parameter Interface: Abstract Parameter Interface Abstract Programming Inheritance: Abstract Programming Inheritance @@ -8494,7 +9012,13 @@ en: Applied Power Implementation: Applied Power Implementation Artificial Parameter Intelligence: Artificial Parameter Intelligence 'Multiple Choice: What is an API?': 'Multiple Choice: What is an API?' - U3L07 - MC remove line of code loops: {} + U3L07 - MC remove line of code loops: + '1': '1' + '14': '14' + '5': '5' + '6': '6' + '7': '7' + Which line of code should be removed to make the program do what it's supposed to?: Which line of code should be removed to make the program do what it's supposed to? U3L07 - MC remove line of code loops_2018: '1': '1' '14': '14' @@ -8511,7 +9035,13 @@ en: forward100( ): forward100( ) forward283( ): forward283( ) forward50( ): forward50( ) - U3L08 Assessment1: {} + U3L08 Assessment1: + 'Choose Two: Functions with Parameters': 'Choose Two: Functions with Parameters' + Functions with parameters can be used to prevent the creation of duplicated code.: Functions with parameters can be used to prevent the creation of duplicated code. + Parameters can only be used once within the body of a function.: Parameters can only be used once within the body of a function. + Parameters help generalize the solution of a specific problem.: Parameters help generalize the solution of a specific problem. + 'Select the two true statements about functions with parameters:': 'Select the two true statements about functions with parameters:' + Values do not need to be provided to a function with parameters in any particular order.: Values do not need to be provided to a function with parameters in any particular order. U3L08 Assessment1_2018: 'Choose Two: Functions with Parameters': 'Choose Two: Functions with Parameters' Functions with parameters can be used to prevent the creation of duplicated code.: Functions with parameters can be used to prevent the creation of duplicated code. @@ -8542,7 +9072,14 @@ en: 'When the "left" button is clicked: nothing will happen': 'When the "left" button is clicked: nothing will happen' 'When the forward button is clicked: The turtle will move forward and turn left': 'When the forward button is clicked: The turtle will move forward and turn left' description here: description here - U3L13 debugging Multi: {} + U3L13 debugging Multi: + A program that does not generate any error messages will run as intended.: A program that does not generate any error messages will run as intended. + Debugging is the process of locating and correcting errors in a program.: Debugging is the process of locating and correcting errors in a program. + Error messages help programmers identify problems in their code.: Error messages help programmers identify problems in their code. + It is common for programs to contain errors the first time they are written.: It is common for programs to contain errors the first time they are written. + 'Multiple Choice: Debugging and Error Messages': 'Multiple Choice: Debugging and Error Messages' + Not all errors in a program will generate an error message.: Not all errors in a program will generate an error message. + Which of the following statements about debugging and program errors is FALSE?: Which of the following statements about debugging and program errors is FALSE? U3L14 - MC Duplicate Ids: A warning message will appear for the second button that that ID is already in use.: A warning message will appear for the second button that that ID is already in use. 'Choose Two: Buttons and IDs': 'Choose Two: Buttons and IDs' @@ -13896,7 +14433,12 @@ en: csp_subgoal_experiment_consent: No Thanks.: No Thanks. Yes, I agree! I want to participate in the subgoal labels study.: Yes, I agree! I want to participate in the subgoal labels study. - cspu3_assess1_callfunction: {} + cspu3_assess1_callfunction: + : + : + : + : + : cspu3_assess1_callfunction_2018: : : @@ -13909,7 +14451,11 @@ en: : : : - cspu3_assess1_codeoutcome: {} + cspu3_assess1_codeoutcome: + It will draw a star with each side 150 pixels long.: It will draw a star with each side 150 pixels long. + The program will run without error, but will not draw anything.: The program will run without error, but will not draw anything. + The program will stop with an error at line 3 because parameters may not be used in for loops.: The program will stop with an error at line 3 because parameters may not be used in for loops. + The program will stop with an error at line 5 because it is dividing by 0.: The program will stop with an error at line 5 because it is dividing by 0. cspu3_assess1_codeoutcome_2018: It will draw a star with each side 150 pixels long.: It will draw a star with each side 150 pixels long. The program will run without error, but will not draw anything.: The program will run without error, but will not draw anything. @@ -13920,7 +14466,13 @@ en: The program will run without error, but will not draw anything.: The program will run without error, but will not draw anything. The program will stop with an error at line 3 because parameters may not be used in for loops.: The program will stop with an error at line 3 because parameters may not be used in for loops. The program will stop with an error at line 5 because it is dividing by 0.: The program will stop with an error at line 5 because it is dividing by 0. - cspu3_assess1_collaboration: {} + cspu3_assess1_collaboration: + Abstraction allows programmers to brainstorm more creative solutions to problems.: Abstraction allows programmers to brainstorm more creative solutions to problems. + In order for programmers to work together, they must work in the same room.: In order for programmers to work together, they must work in the same room. + ? Programmers can use functions created by their partners, relying on the functionality without needing to know the specific details of how the function is implemented. + : Programmers can use functions created by their partners, relying on the functionality without needing to know the specific details of how the function is implemented. + Programmers can write functions without needing to know what they do or how they should work.: Programmers can write functions without needing to know what they do or how they should work. + Team members can rely on one another to explain their code.: Team members can rely on one another to explain their code. cspu3_assess1_collaboration_2018: Abstraction allows programmers to brainstorm more creative solutions to problems.: Abstraction allows programmers to brainstorm more creative solutions to problems. In order for programmers to work together, they must work in the same room.: In order for programmers to work together, they must work in the same room. @@ -13935,7 +14487,12 @@ en: : Programmers can use functions created by their partners, relying on the functionality without needing to know the specific details of how the function is implemented. Programmers can write functions without needing to know what they do or how they should work.: Programmers can write functions without needing to know what they do or how they should work. Team members can rely on one another to explain their code.: Team members can rely on one another to explain their code. - cspu3_assess1_functionsfalse: {} + cspu3_assess1_functionsfalse: + Functions are reusable programming abstractions.: Functions are reusable programming abstractions. + Functions cannot make calls to other functions within the same program.: Functions cannot make calls to other functions within the same program. + Functions help break a problem into logical chunks.: Functions help break a problem into logical chunks. + Functions help reduce the complexity of writing and maintaining programs.: Functions help reduce the complexity of writing and maintaining programs. + Once defined, a function can be called many times from different parts of a program.: Once defined, a function can be called many times from different parts of a program. cspu3_assess1_functionsfalse_2018: Functions are reusable programming abstractions.: Functions are reusable programming abstractions. Functions cannot make calls to other functions within the same program.: Functions cannot make calls to other functions within the same program. @@ -13957,28 +14514,39 @@ en: cspu3_assess1_loop_or_function1_exam_prep: Function(s): Function(s) Loop: Loop - cspu3_assess1_loop_or_function2: {} + cspu3_assess1_loop_or_function2: + Function(s): Function(s) + Loop: Loop cspu3_assess1_loop_or_function2_2018: Function(s): Function(s) Loop: Loop cspu3_assess1_loop_or_function2_exam_prep: Function(s): Function(s) Loop: Loop - cspu3_assess1_loop_or_function3: {} + cspu3_assess1_loop_or_function3: + Function(s): Function(s) + Loop: Loop cspu3_assess1_loop_or_function3_2018: Function(s): Function(s) Loop: Loop cspu3_assess1_loop_or_function3_exam_prep: Function(s): Function(s) Loop: Loop - cspu3_assess1_loop_or_function4: {} + cspu3_assess1_loop_or_function4: + Function(s): Function(s) + Loop: Loop cspu3_assess1_loop_or_function4_2018: Function(s): Function(s) Loop: Loop cspu3_assess1_loop_or_function4_exam_prep: Function(s): Function(s) Loop: Loop - cspu3_assess1_namingconvention: {} + cspu3_assess1_namingconvention: + A function name should be as descriptive as possible to indicate what the function does.: A function name should be as descriptive as possible to indicate what the function does. + A function name should indicate how long the function takes to run.: A function name should indicate how long the function takes to run. + Function names should be organized alphabetically.: Function names should be organized alphabetically. + The function name should begin with a number that indicates the order in which it should be executed.: The function name should begin with a number that indicates the order in which it should be executed. + Two functions with similar behavior should be given identical names to indicate the relationship between them.: Two functions with similar behavior should be given identical names to indicate the relationship between them. cspu3_assess1_namingconvention_2018: A function name should be as descriptive as possible to indicate what the function does.: A function name should be as descriptive as possible to indicate what the function does. A function name should indicate how long the function takes to run.: A function name should indicate how long the function takes to run. @@ -13991,7 +14559,11 @@ en: Function names should be organized alphabetically.: Function names should be organized alphabetically. The function name should begin with a number that indicates the order in which it should be executed.: The function name should begin with a number that indicates the order in which it should be executed. Two functions with similar behavior should be given identical names to indicate the relationship between them.: Two functions with similar behavior should be given identical names to indicate the relationship between them. - cspu3_assess1_naturallanguage: {} + cspu3_assess1_naturallanguage: + Ambiguities in natural language necessitate the creation of programming languages for controlling a computer: Ambiguities in natural language necessitate the creation of programming languages for controlling a computer + Compared to the number of words in a natural language, the number of defined words in a programming language is very small.: Compared to the number of words in a natural language, the number of defined words in a programming language is very small. + The number of defined words in a programming language is about the same as the number of words in a natural language.: The number of defined words in a programming language is about the same as the number of words in a natural language. + There are typically many possible ways to interpret an instruction written in a programming language.: There are typically many possible ways to interpret an instruction written in a programming language. cspu3_assess1_naturallanguage_2018: Ambiguities in natural language necessitate the creation of programming languages for controlling a computer: Ambiguities in natural language necessitate the creation of programming languages for controlling a computer Compared to the number of words in a natural language, the number of defined words in a programming language is very small.: Compared to the number of words in a natural language, the number of defined words in a programming language is very small. @@ -14002,7 +14574,12 @@ en: Compared to the number of words in a natural language, the number of defined words in a programming language is very small.: Compared to the number of words in a natural language, the number of defined words in a programming language is very small. The number of defined words in a programming language is about the same as the number of words in a natural language.: The number of defined words in a programming language is about the same as the number of words in a natural language. There are typically many possible ways to interpret an instruction written in a programming language.: There are typically many possible ways to interpret an instruction written in a programming language. - cspu3_assess1_outputdrawing: {} + cspu3_assess1_outputdrawing: + : + : + : + : + : cspu3_assess1_outputdrawing_2018: : : @@ -14015,7 +14592,11 @@ en: : : : - cspu3_assess1_parameters: {} + cspu3_assess1_parameters: + Parameters allow for more flexible, generalized behaviors in functions.: Parameters allow for more flexible, generalized behaviors in functions. + Parameters are useful for teams of programmers because they help define the boundaries of the problem they are trying to solve.: Parameters are useful for teams of programmers because they help define the boundaries of the problem they are trying to solve. + Parameters change the order of operations within a function.: Parameters change the order of operations within a function. + Parameters determine the number of times the function will run.: Parameters determine the number of times the function will run. cspu3_assess1_parameters_2018: Parameters allow for more flexible, generalized behaviors in functions.: Parameters allow for more flexible, generalized behaviors in functions. Parameters are useful for teams of programmers because they help define the boundaries of the problem they are trying to solve.: Parameters are useful for teams of programmers because they help define the boundaries of the problem they are trying to solve. @@ -14026,7 +14607,11 @@ en: Parameters are useful for teams of programmers because they help define the boundaries of the problem they are trying to solve.: Parameters are useful for teams of programmers because they help define the boundaries of the problem they are trying to solve. Parameters change the order of operations within a function.: Parameters change the order of operations within a function. Parameters determine the number of times the function will run.: Parameters determine the number of times the function will run. - cspu3_assess1_removeline: {} + cspu3_assess1_removeline: + Line 3 and Line 4: Line 3 and Line 4 + Line 8 and Line 9: Line 8 and Line 9 + Line 9: Line 9 + Lines 5, 6, 7, 8 and 9: Lines 5, 6, 7, 8 and 9 cspu3_assess1_removeline_2018: Line 3 and Line 4: Line 3 and Line 4 Line 8 and Line 9: Line 8 and Line 9 @@ -14037,7 +14622,12 @@ en: Line 8 and Line 9: Line 8 and Line 9 Line 9: Line 9 Lines 5, 6, 7, 8 and 9: Lines 5, 6, 7, 8 and 9 - cspu3_assess1_robotpath: {} + cspu3_assess1_robotpath: + : + : + : + : + : cspu3_assess1_robotpath_2018: : : @@ -14050,7 +14640,12 @@ en: : : : - cspu3_assess1_truefunctions: {} + cspu3_assess1_truefunctions: + A function can change names over the course of a program.: A function can change names over the course of a program. + Code can be added or removed dynamically from a function while the program is running.: Code can be added or removed dynamically from a function while the program is running. + Functions can be called using different names depending on where in the program they are called.: Functions can be called using different names depending on where in the program they are called. + Two functions can be given identical names as long as their code is identical.: Two functions can be given identical names as long as their code is identical. + Two functions in a single program can have different names but contain identical code.: Two functions in a single program can have different names but contain identical code. cspu3_assess1_truefunctions_2018: A function can change names over the course of a program.: A function can change names over the course of a program. Code can be added or removed dynamically from a function while the program is running.: Code can be added or removed dynamically from a function while the program is running. @@ -14063,7 +14658,11 @@ en: Functions can be called using different names depending on where in the program they are called.: Functions can be called using different names depending on where in the program they are called. Two functions can be given identical names as long as their code is identical.: Two functions can be given identical names as long as their code is identical. Two functions in a single program can have different names but contain identical code.: Two functions in a single program can have different names but contain identical code. - cspu4_assess1_DDoS: {} + cspu4_assess1_DDoS: + A coordinated effort by a group to simultaneously attempt to gain entry to foreign government's servers or systems: A coordinated effort by a group to simultaneously attempt to gain entry to foreign government's servers or systems + An attempt to compromise a single target by flooding it with requests from multiple systems.: An attempt to compromise a single target by flooding it with requests from multiple systems. + An attempt to harass or extort all customers of one or more Internet Service Providers (ISPs).: An attempt to harass or extort all customers of one or more Internet Service Providers (ISPs). + An effort by network engineers to focus all systems on catching a user or computer that has illegally gained access.: An effort by network engineers to focus all systems on catching a user or computer that has illegally gained access. cspu4_assess1_DDoS_2018: A coordinated effort by a group to simultaneously attempt to gain entry to foreign government's servers or systems: A coordinated effort by a group to simultaneously attempt to gain entry to foreign government's servers or systems An attempt to compromise a single target by flooding it with requests from multiple systems.: An attempt to compromise a single target by flooding it with requests from multiple systems. @@ -14074,7 +14673,11 @@ en: An attempt to compromise a single target by flooding it with requests from multiple systems.: An attempt to compromise a single target by flooding it with requests from multiple systems. An attempt to harass or extort all customers of one or more Internet Service Providers (ISPs).: An attempt to harass or extort all customers of one or more Internet Service Providers (ISPs). An effort by network engineers to focus all systems on catching a user or computer that has illegally gained access.: An effort by network engineers to focus all systems on catching a user or computer that has illegally gained access. - cspu4_assess1_encryption: {} + cspu4_assess1_encryption: + Asymmetric: Asymmetric + Public key: Public key + SSL: SSL + Symmetric: Symmetric cspu4_assess1_encryption_2018: Asymmetric: Asymmetric Public key: Public key @@ -14085,7 +14688,11 @@ en: Public key: Public key SSL: SSL Symmetric: Symmetric - cspu4_assess1_keyEncryption: {} + cspu4_assess1_keyEncryption: + A Public Key database ensures 3rd party accountability of security: A Public Key database ensures 3rd party accountability of security + A key for decrypting is never made public: A key for decrypting is never made public + Allows secure communication without establishing a *shared* encryption key ahead of time.: Allows secure communication without establishing a *shared* encryption key ahead of time. + Using public key guarantees that only the intended recipient can decrypt the message: Using public key guarantees that only the intended recipient can decrypt the message cspu4_assess1_keyEncryption_2018: A Public Key database ensures 3rd party accountability of security: A Public Key database ensures 3rd party accountability of security A key for decrypting is never made public: A key for decrypting is never made public @@ -14096,7 +14703,11 @@ en: A key for decrypting is never made public: A key for decrypting is never made public Allows secure communication without establishing a *shared* encryption key ahead of time.: Allows secure communication without establishing a *shared* encryption key ahead of time. Using public key guarantees that only the intended recipient can decrypt the message: Using public key guarantees that only the intended recipient can decrypt the message - cspu4_assess1_mod: {} + cspu4_assess1_mod: + 1 MOD 16: 1 MOD 16 + 52 MOD 32: 52 MOD 32 + 9 MOD 64: 9 MOD 64 + 9 MOD 8: 9 MOD 8 cspu4_assess1_mod_2018: 1 MOD 16: 1 MOD 16 52 MOD 32: 52 MOD 32 @@ -14107,7 +14718,11 @@ en: 52 MOD 32: 52 MOD 32 9 MOD 64: 9 MOD 64 9 MOD 8: 9 MOD 8 - cspu4_assess1_moore: {} + cspu4_assess1_moore: + Moore's Law describes a relationship of boolean logic statements involving AND and OR: Moore's Law describes a relationship of boolean logic statements involving AND and OR + Moore's Law explains why cracking modern cryptography is a "computationally hard" problem: Moore's Law explains why cracking modern cryptography is a "computationally hard" problem + Moore's Law is the observation that computing power tends to double every two years: Moore's Law is the observation that computing power tends to double every two years + Moore's Law is the principle that one should assume that any traffic on the Internet is insecure: Moore's Law is the principle that one should assume that any traffic on the Internet is insecure cspu4_assess1_moore_2018: Moore's Law describes a relationship of boolean logic statements involving AND and OR: Moore's Law describes a relationship of boolean logic statements involving AND and OR Moore's Law explains why cracking modern cryptography is a "computationally hard" problem: Moore's Law explains why cracking modern cryptography is a "computationally hard" problem @@ -14118,7 +14733,13 @@ en: Moore's Law explains why cracking modern cryptography is a "computationally hard" problem: Moore's Law explains why cracking modern cryptography is a "computationally hard" problem Moore's Law is the observation that computing power tends to double every two years: Moore's Law is the observation that computing power tends to double every two years Moore's Law is the principle that one should assume that any traffic on the Internet is insecure: Moore's Law is the principle that one should assume that any traffic on the Internet is insecure - cspu4_assess1_phishing: {} + cspu4_assess1_phishing: + ? You accidentally install a piece of software that monitors your activity to steal personal information like your passwords, date of birth, social security number, etc. + : You accidentally install a piece of software that monitors your activity to steal personal information like your passwords, date of birth, social security number, etc. + You accidentally run a piece of code that automatically spreads from one computer to another, exploiting a common vulnerability: You accidentally run a piece of code that automatically spreads from one computer to another, exploiting a common vulnerability + ? You get an email from the IT support desk that asks you to send a reply email with your username and password to verify your account + : You get an email from the IT support desk that asks you to send a reply email with your username and password to verify your account + You get an unwanted email trying to sell you a low quality product or service that seems "fishy.”: You get an unwanted email trying to sell you a low quality product or service that seems "fishy.” cspu4_assess1_phishing_2018: ? You accidentally install a piece of software that monitors your activity to steal personal information like your passwords, date of birth, social security number, etc. : You accidentally install a piece of software that monitors your activity to steal personal information like your passwords, date of birth, social security number, etc. @@ -14133,7 +14754,12 @@ en: ? You get an email from the IT support desk that asks you to send a reply email with your username and password to verify your account : You get an email from the IT support desk that asks you to send a reply email with your username and password to verify your account You get an unwanted email trying to sell you a low quality product or service that seems "fishy.": You get an unwanted email trying to sell you a low quality product or service that seems "fishy." - cspu5_assess1_additem: {} + cspu5_assess1_additem: + cart total = 1;: cart total = 1; + cartTotal + 1;: cartTotal + 1; + cartTotal = cartTotal +1;: cartTotal = cartTotal +1; + var cartTotal + 1;: var cartTotal + 1; + var cartTotal = cartTotal + 1;: var cartTotal = cartTotal + 1; cspu5_assess1_additem_2018: cart total = 1;: cart total = 1; cartTotal + 1;: cartTotal + 1; @@ -14146,7 +14772,12 @@ en: cartTotal = cartTotal +1;: cartTotal = cartTotal +1; var cartTotal + 1;: var cartTotal + 1; var cartTotal = cartTotal + 1;: var cartTotal = cartTotal + 1; - cspu5_assess1_algorithm: {} + cspu5_assess1_algorithm: + Alexander Graham Bell was born 141 years before Alexander Graham Bell, so he was never able to telephone his neighbors.: Alexander Graham Bell was born 141 years before Alexander Graham Bell, so he was never able to telephone his neighbors. + Alexander Graham Bell was born 141 years before apple, so he was never able to telephone his neighbors.: Alexander Graham Bell was born 141 years before apple, so he was never able to telephone his neighbors. + Benjamin Franklin was born 141 years before Alexander Graham Bell, so he was never able to telephone his neighbors.: Benjamin Franklin was born 141 years before Alexander Graham Bell, so he was never able to telephone his neighbors. + Benjamin Franklin was born 141 years before Benjamin Franklin, so he was never able to telephone his neighbors.: Benjamin Franklin was born 141 years before Benjamin Franklin, so he was never able to telephone his neighbors. + apple was born 141 years before Benjamin Franklin, so he was never able to telephone his neighbors.: apple was born 141 years before Benjamin Franklin, so he was never able to telephone his neighbors. cspu5_assess1_algorithm_2018: Alexander Graham Bell was born 141 years before Alexander Graham Bell, so he was never able to telephone his neighbors.: Alexander Graham Bell was born 141 years before Alexander Graham Bell, so he was never able to telephone his neighbors. Alexander Graham Bell was born 141 years before apple, so he was never able to telephone his neighbors.: Alexander Graham Bell was born 141 years before apple, so he was never able to telephone his neighbors. @@ -14159,7 +14790,12 @@ en: Benjamin Franklin was born 141 years before Alexander Graham Bell, so he was never able to telephone his neighbors.: Benjamin Franklin was born 141 years before Alexander Graham Bell, so he was never able to telephone his neighbors. Benjamin Franklin was born 141 years before Benjamin Franklin, so he was never able to telephone his neighbors.: Benjamin Franklin was born 141 years before Benjamin Franklin, so he was never able to telephone his neighbors. apple was born 141 years before Benjamin Franklin, so he was never able to telephone his neighbors.: apple was born 141 years before Benjamin Franklin, so he was never able to telephone his neighbors. - cspu5_assess1_codevalues: {} + cspu5_assess1_codevalues: + : + : + : + : + : cspu5_assess1_codevalues_2018: : : @@ -14172,7 +14808,11 @@ en: : : : - cspu5_assess1_debugging: {} + cspu5_assess1_debugging: + Ask a friend or collaborator to look over the code segment to see if they are able to find any errors.: Ask a friend or collaborator to look over the code segment to see if they are able to find any errors. + Change the names of variables within the program and run the program again.: Change the names of variables within the program and run the program again. + Delete the code and re-type it to make sure there were no spelling errors and that it was written correctly.: Delete the code and re-type it to make sure there were no spelling errors and that it was written correctly. + Display the value of variables at various points during the program.: Display the value of variables at various points during the program. cspu5_assess1_debugging_2018: Ask a friend or collaborator to look over the code segment to see if they are able to find any errors.: Ask a friend or collaborator to look over the code segment to see if they are able to find any errors. Change the names of variables within the program and run the program again.: Change the names of variables within the program and run the program again. @@ -14183,7 +14823,11 @@ en: Change the names of variables within the program and run the program again.: Change the names of variables within the program and run the program again. Delete the code and re-type it to make sure there were no spelling errors and that it was written correctly.: Delete the code and re-type it to make sure there were no spelling errors and that it was written correctly. Display the value of variables at various points during the program.: Display the value of variables at various points during the program. - cspu5_assess1_drawingoutcome: {} + cspu5_assess1_drawingoutcome: + : + : + : + : cspu5_assess1_drawingoutcome_2018: : : @@ -14194,7 +14838,12 @@ en: : : : - cspu5_assess1_elementid: {} + cspu5_assess1_elementid: + An element with a unique ID must always have an event handler associated with it.: An element with a unique ID must always have an event handler associated with it. + Any element that needs to be triggered by onEvent must have a unique ID.: Any element that needs to be triggered by onEvent must have a unique ID. + IDs allow a programmer to reference interface elements within their code.: IDs allow a programmer to reference interface elements within their code. + Two or more onEvent calls may reference the same ID.: Two or more onEvent calls may reference the same ID. + While not a requirement, IDs should be meaningful and descriptive.: While not a requirement, IDs should be meaningful and descriptive. cspu5_assess1_elementid_2018: An element with a unique ID must always have an event handler associated with it.: An element with a unique ID must always have an event handler associated with it. Any element that needs to be triggered by onEvent must have a unique ID.: Any element that needs to be triggered by onEvent must have a unique ID. @@ -14207,7 +14856,13 @@ en: IDs allow a programmer to reference interface elements within their code.: IDs allow a programmer to reference interface elements within their code. Two or more onEvent calls may reference the same ID.: Two or more onEvent calls may reference the same ID. While not a requirement, IDs should be meaningful and descriptive.: While not a requirement, IDs should be meaningful and descriptive. - cspu5_assess1_eventprograms: {} + cspu5_assess1_eventprograms: + ? An event-driven program is written to respond to specified events by executing a block of code or function associated with the event. + : An event-driven program is written to respond to specified events by executing a block of code or function associated with the event. + Event-driven programs can be run multiple times with different outcomes, based on user interactions.: Event-driven programs can be run multiple times with different outcomes, based on user interactions. + Event-driven programs do not implement algorithms.: Event-driven programs do not implement algorithms. + Some portions of an event-driven program may never execute while the program is running.: Some portions of an event-driven program may never execute while the program is running. + The order in which an event-driven program will run cannot always be known ahead of time.: The order in which an event-driven program will run cannot always be known ahead of time. cspu5_assess1_eventprograms_2018: ? An event-driven program is written to respond to specified events by executing a block of code or function associated with the event. : An event-driven program is written to respond to specified events by executing a block of code or function associated with the event. @@ -14222,7 +14877,12 @@ en: Event-driven programs do not implement algorithms.: Event-driven programs do not implement algorithms. Some portions of an event-driven program may never execute while the program is running.: Some portions of an event-driven program may never execute while the program is running. The order in which an event-driven program will run cannot always be known ahead of time.: The order in which an event-driven program will run cannot always be known ahead of time. - cspu5_assess1_fivemore: {} + cspu5_assess1_fivemore: + "-2": "-2" + '3': '3' + '5': '5' + '8': '8' + 'Error. Unknown Identifier: x': 'Error. Unknown Identifier: x' cspu5_assess1_fivemore_2018: "-2": "-2" '3': '3' @@ -14235,7 +14895,12 @@ en: '5': '5' '8': '8' 'Error. Unknown Identifier: x': 'Error. Unknown Identifier: x' - cspu5_assess1_flowchart: {} + cspu5_assess1_flowchart: + '10': '10' + '5': '5' + Nothing will be displayed: Nothing will be displayed + a is bigger: a is bigger + b: b cspu5_assess1_flowchart_2018: '10': '10' '5': '5' @@ -14248,7 +14913,12 @@ en: Nothing will be displayed: Nothing will be displayed a is bigger: a is bigger b: b - cspu5_assess1_increase: {} + cspu5_assess1_increase: + '10': '10' + '13': '13' + '5': '5' + '8': '8' + Error. Cannot make a new variable x inside function increase(): Error. Cannot make a new variable x inside function increase() cspu5_assess1_increase_2018: '10': '10' '13': '13' @@ -14261,7 +14931,12 @@ en: '5': '5' '8': '8' Error. Cannot make a new variable x inside function increase(): Error. Cannot make a new variable x inside function increase() - cspu5_assess1_snowman: {} + cspu5_assess1_snowman: + : + : + : + : + : cspu5_assess1_snowman_2018: : : @@ -14274,7 +14949,12 @@ en: : : : - cspu5_assess1_swap: {} + cspu5_assess1_swap: + : + : + : + : + : cspu5_assess1_swap_2018: : : @@ -14287,7 +14967,12 @@ en: : : : - cspu5_assess1_turtle: {} + cspu5_assess1_turtle: + : + : + : + : + : cspu5_assess1_turtle_2018: : : @@ -14300,7 +14985,12 @@ en: : : : - cspu5_assess1_value: {} + cspu5_assess1_value: + 'value is: 2': 'value is: 2' + 'value is: 2.3333333': 'value is: 2.3333333' + 'value is: 3': 'value is: 3' + 'value is: 4': 'value is: 4' + 'value is: c': 'value is: c' cspu5_assess1_value_2018: 'value is: 2': 'value is: 2' 'value is: 2.3333333': 'value is: 2.3333333' @@ -14313,7 +15003,11 @@ en: 'value is: 3': 'value is: 3' 'value is: 4': 'value is: 4' 'value is: c': 'value is: c' - cspu5_assess2_addstrings: {} + cspu5_assess2_addstrings: + 5 + hello: 5 + hello + 5hello: 5hello + 'error on num + str: type mismatch': 'error on num + str: type mismatch' + result: result cspu5_assess2_addstrings_2018: 5 + hello: 5 + hello 5hello: 5hello @@ -14324,8 +15018,18 @@ en: 5hello: 5hello 'error on num + str: type mismatch': 'error on num + str: type mismatch' result: result - cspu5_assess2_appLabError: {} - cspu5_assess2_boolean: {} + cspu5_assess2_appLabError: + 'Line 1 - time should be written in quotation marks like this: “time”': 'Line 1 - time should be written in quotation marks like this: “time”' + Line 2 - The symbol used should be > instead of <: Line 2 - The symbol used should be > instead of < + Line 4 - else must always be followed by another conditional statement: Line 4 - else must always be followed by another conditional statement + Line 5 - It is after 10pm must be written in quotations.: Line 5 - It is after 10pm must be written in quotations. + Line 5 - The setText on line 5 will override the setText on line 3: Line 5 - The setText on line 5 will override the setText on line 3 + cspu5_assess2_boolean: + Any Integer: Any Integer + Any single character: Any single character + Integers between 1 and 10: Integers between 1 and 10 + True/False: True/False + Yes/Maybe/No: Yes/Maybe/No cspu5_assess2_boolean_2018: Any Integer: Any Integer Any single character: Any single character @@ -14338,7 +15042,11 @@ en: Integers between 1 and 10: Integers between 1 and 10 True/False: True/False Yes/Maybe/No: Yes/Maybe/No - cspu5_assess2_combineString: {} + cspu5_assess2_combineString: + '10': '10' + '55': '55' + 'error on str1 + str2: type mismatch': 'error on str1 + str2: type mismatch' + result: result cspu5_assess2_combineString_2018: '10': '10' '55': '55' @@ -14349,7 +15057,12 @@ en: '55': '55' 'error on str1 + str2: type mismatch': 'error on str1 + str2: type mismatch' result: result - cspu5_assess2_false: {} + cspu5_assess2_false: + A string can be empty, meaning that it contains nothing.: A string can be empty, meaning that it contains nothing. + Strings are indicated by quotation marks.: Strings are indicated by quotation marks. + Strings consist of a sequence of concatenated characters.: Strings consist of a sequence of concatenated characters. + Strings sometimes include spaces.: Strings sometimes include spaces. + Strings with numerical digits in them are invalid.: Strings with numerical digits in them are invalid. cspu5_assess2_false_2018: A string can be empty, meaning that it contains nothing.: A string can be empty, meaning that it contains nothing. Strings are indicated by quotation marks.: Strings are indicated by quotation marks. @@ -14362,7 +15075,12 @@ en: Strings consist of a sequence of concatenated characters.: Strings consist of a sequence of concatenated characters. Strings sometimes include spaces.: Strings sometimes include spaces. Strings with numerical digits in them are invalid.: Strings with numerical digits in them are invalid. - cspu5_assess2_goodbye: {} + cspu5_assess2_goodbye: + Did you say something? That was so short.: Did you say something? That was so short. + I have never heard that before.: I have never heard that before. + Nothing will be printed: Nothing will be printed + Use that word on the SAT.: Use that word on the SAT. + Wow, big word.: Wow, big word. cspu5_assess2_goodbye_2018: Did you say something? That was so short.: Did you say something? That was so short. I have never heard that before.: I have never heard that before. @@ -14375,7 +15093,12 @@ en: Nothing will be printed: Nothing will be printed Use that word on the SAT.: Use that word on the SAT. Wow, big word.: Wow, big word. - cspu5_assess2_hello: {} + cspu5_assess2_hello: + Did you say something? That was so short.: Did you say something? That was so short. + I have never heard that before.: I have never heard that before. + Nothing will be printed.: Nothing will be printed. + Use that word on the SAT.: Use that word on the SAT. + Wow, big word.: Wow, big word. cspu5_assess2_hello_2018: Did you say something? That was so short.: Did you say something? That was so short. I have never heard that before.: I have never heard that before. @@ -14388,7 +15111,12 @@ en: Nothing will be printed.: Nothing will be printed. Use that word on the SAT.: Use that word on the SAT. Wow, big word.: Wow, big word. - cspu5_assess2_numValues: {} + cspu5_assess2_numValues: + The code will always display the value stored in variable a: The code will always display the value stored in variable a + The code will display the largest of the three values: The code will display the largest of the three values + The code will display the middle of all three values: The code will display the middle of all three values + The code will display the smallest of the three values: The code will display the smallest of the three values + The code will not display anything due to an error: The code will not display anything due to an error cspu5_assess2_numValues_2018: The code will always display the value stored in variable a: The code will always display the value stored in variable a The code will display the largest of the three values: The code will display the largest of the three values @@ -14401,7 +15129,12 @@ en: The code will display the middle of all three values: The code will display the middle of all three values The code will display the smallest of the three values: The code will display the smallest of the three values The code will not display anything due to an error: The code will not display anything due to an error - cspu5_assess2_oldEnough: {} + cspu5_assess2_oldEnough: + '35': '35' + You are not old enough to be President.: You are not old enough to be President. + You are old enough to be President!: You are old enough to be President! + 'false': 'false' + 'true': 'true' cspu5_assess2_oldEnough_2018: '35': '35' You are not old enough to be President.: You are not old enough to be President. @@ -14414,7 +15147,12 @@ en: You are old enough to be President!: You are old enough to be President! 'false': 'false' 'true': 'true' - cspu5_assess2_pseudoCode: {} + cspu5_assess2_pseudoCode: + "Time to start studying again!": "Time to start studying again!" + "You passed!": "You passed!" + "You passed! and Time to start studying again! ": "You passed! and Time to start studying again! " + An error will occur on line 7; you cannot have an IF inside an ELSE statement: An error will occur on line 7; you cannot have an IF inside an ELSE statement + Nothing will be displayed: Nothing will be displayed cspu5_assess2_pseudoCode_2018: "Time to start studying again!": "Time to start studying again!" "You passed!": "You passed!" @@ -14427,7 +15165,12 @@ en: "You passed! and Time to start studying again! ": "You passed! and Time to start studying again! " An error will occur on line 7; you cannot have an IF inside an ELSE statement: An error will occur on line 7; you cannot have an IF inside an ELSE statement Nothing will be displayed: Nothing will be displayed - cspu5_assess2_setAlarm: {} + cspu5_assess2_setAlarm: + "(day == “Saturday”) && (day == “Sunday”)": "(day == “Saturday”) && (day == “Sunday”)" + "(day == “Saturday”) || (day == “Sunday”)": "(day == “Saturday”) || (day == “Sunday”)" + day != “Monday”: day != “Monday” + day == “Saturday”: day == “Saturday” + day == “Sunday”: day == “Sunday” cspu5_assess2_setAlarm_2018: (day == "Saturday") && (day == "Sunday"): (day == "Saturday") && (day == "Sunday") (day == "Saturday") || (day == "Sunday"): (day == "Saturday") || (day == "Sunday") @@ -14440,7 +15183,12 @@ en: day != "Monday": day != "Monday" day == "Saturday": day == "Saturday" day == "Sunday": day == "Sunday" - cspu5_assess2_statementOutput: {} + cspu5_assess2_statementOutput: + console.log(“Hello! \bHow are you?”);: console.log(“Hello! \bHow are you?”); + console.log(“Hello! \nHow are you?”);: console.log(“Hello! \nHow are you?”); + console.log(“Hello! \newLineHow are you?”);: console.log(“Hello! \newLineHow are you?”); + console.log(“Hello! \nlHow are you?”);: console.log(“Hello! \nlHow are you?”); + console.log(“Hello! \tHow are you?”);: console.log(“Hello! \tHow are you?”); cspu5_assess2_statementOutput_2018: console.log("Hello! \bHow are you?");: console.log("Hello! \bHow are you?"); console.log("Hello! \nHow are you?");: console.log("Hello! \nHow are you?"); @@ -14471,7 +15219,12 @@ en: '30': '30' '50': '50' '75': '75' - cspu5_assess2_wrongLogic: {} + cspu5_assess2_wrongLogic: + Any time between 0 and 20: Any time between 0 and 20 + Any time between 10 and 19: Any time between 10 and 19 + Any time between 6 and 9: Any time between 6 and 9 + The logic error will cause the program to stop running at line 7.: The logic error will cause the program to stop running at line 7. + There is no value of time that will result in “Good Morning” being displayed: There is no value of time that will result in “Good Morning” being displayed cspu5_assess2_wrongLogic_2018: Any time between 0 and 20: Any time between 0 and 20 Any time between 10 and 19: Any time between 10 and 19 @@ -14484,7 +15237,11 @@ en: Any time between 6 and 9: Any time between 6 and 9 The logic error will cause the program to stop running at line 7.: The logic error will cause the program to stop running at line 7. There is no value of time that will result in "Good Morning" being displayed: There is no value of time that will result in "Good Morning" being displayed - cspu5_assess3_ageList: {} + cspu5_assess3_ageList: + INSERT the value 13 at the index of 2: INSERT the value 13 at the index of 2 + REMOVE the value at the index of 2, then INSERT 13 in the index 2: REMOVE the value at the index of 2, then INSERT 13 in the index 2 + Remove all items from the list and start over: Remove all items from the list and start over + ages[2] = ages[2] + 1: ages[2] = ages[2] + 1 cspu5_assess3_ageList_2018: INSERT the value 13 at the index of 2: INSERT the value 13 at the index of 2 REMOVE the value at the index of 2, then INSERT 13 in the index 2: REMOVE the value at the index of 2, then INSERT 13 in the index 2 @@ -14495,7 +15252,12 @@ en: REMOVE the value at the index of 2, then INSERT 13 in the index 2: REMOVE the value at the index of 2, then INSERT 13 in the index 2 Remove all items from the list and start over: Remove all items from the list and start over ages[2] = ages[2] + 1: ages[2] = ages[2] + 1 - cspu5_assess3_array1: {} + cspu5_assess3_array1: + '10': '10' + '4': '4' + '7': '7' + '9': '9' + ab: ab cspu5_assess3_array1_2018: '10': '10' '4': '4' @@ -14508,7 +15270,12 @@ en: '7': '7' '9': '9' ab: ab - cspu5_assess3_array2: {} + cspu5_assess3_array2: + '2': '2' + '3': '3' + '4': '4' + '5': '5' + '6': '6' cspu5_assess3_array2_2018: '2': '2' '3': '3' @@ -14521,7 +15288,12 @@ en: '4': '4' '5': '5' '6': '6' - cspu5_assess3_array3: {} + cspu5_assess3_array3: + : + : + : + : + : cspu5_assess3_array3_2018: : : @@ -14534,7 +15306,12 @@ en: : : : - cspu5_assess3_array4: {} + cspu5_assess3_array4: + '0': '0' + '1': '1' + '2': '2' + '8': '8' + Error. Index 3 does not exist.: Error. Index 3 does not exist. cspu5_assess3_array4_2018: '0': '0' '1': '1' @@ -14547,7 +15324,12 @@ en: '2': '2' '8': '8' Error. Index 3 does not exist.: Error. Index 3 does not exist. - cspu5_assess3_array5: {} + cspu5_assess3_array5: + : + : + : + : + : cspu5_assess3_array5_2018: : : @@ -14560,7 +15342,12 @@ en: : : : - cspu5_assess3_bakeSale: {} + cspu5_assess3_bakeSale: + 'Add after line 3:
numItems = numItems - 1;
': 'Add after line 3:
numItems = numItems - 1;
' + 'Add after line 4:
numItems = 0;
': 'Add after line 4:
numItems = 0;
' + 'Change Line 1 to:
var total = -1;
': 'Change Line 1 to:
var total = -1;
' + 'Change Line 2 to:
while (itemsInCart >= 0){
': 'Change Line 2 to:
while (itemsInCart >= 0){
' + 'Change Line 3 to:
total = promptNum(“Enter next item price”);
': 'Change Line 3 to:
total = promptNum(“Enter next item price”);
' cspu5_assess3_bakeSale_2018: 'Add after line 3:
numItems = numItems - 1;
': 'Add after line 3:
numItems = numItems - 1;
' 'Add after line 4:
numItems = 0;
': 'Add after line 4:
numItems = 0;
' @@ -14573,7 +15360,12 @@ en: 'Change Line 1 to:
var total = -1;
': 'Change Line 1 to:
var total = -1;
' 'Change Line 2 to:
while (itemsInCart >= 0){
': 'Change Line 2 to:
while (itemsInCart >= 0){
' 'Change Line 3 to:
total = promptNum("Enter next item price");
': 'Change Line 3 to:
total = promptNum("Enter next item price");
' - cspu5_assess3_counter: {} + cspu5_assess3_counter: + '0': '0' + '1': '1' + '2': '2' + '3': '3' + '4': '4' cspu5_assess3_counter_2018: '0': '0' '1': '1' @@ -14586,7 +15378,12 @@ en: '2': '2' '3': '3' '4': '4' - cspu5_assess3_impossibleOutput: {} + cspu5_assess3_impossibleOutput: + 0, 0: 0, 0 + 1, 1: 1, 1 + 2, 1: 2, 1 + 2, 2: 2, 2 + 2, 4: 2, 4 cspu5_assess3_impossibleOutput_2018: 0, 0: 0, 0 1, 1: 1, 1 @@ -14599,7 +15396,12 @@ en: 2, 1: 2, 1 2, 2: 2, 2 2, 4: 2, 4 - cspu5_assess3_listAppend: {} + cspu5_assess3_listAppend: + '1': '1' + '2': '2' + '3': '3' + '6': '6' + Error. There is no index 2.: Error. There is no index 2. cspu5_assess3_listAppend_2018: '1': '1' '2': '2' @@ -14612,7 +15414,12 @@ en: '3': '3' '6': '6' Error. There is no index 2.: Error. There is no index 2. - cspu5_assess3_loopValue1: {} + cspu5_assess3_loopValue1: + '2': '2' + '3': '3' + '4': '4' + '5': '5' + Infinite loop: Infinite loop cspu5_assess3_loopValue1_2018: '2': '2' '3': '3' @@ -14625,7 +15432,12 @@ en: '4': '4' '5': '5' Infinite loop: Infinite loop - cspu5_assess3_loopValue2: {} + cspu5_assess3_loopValue2: + '0': '0' + '4': '4' + '5': '5' + '6': '6' + Infinite loop: Infinite loop cspu5_assess3_loopValue2_2018: '0': '0' '4': '4' @@ -14638,7 +15450,12 @@ en: '5': '5' '6': '6' Infinite loop: Infinite loop - cspu5_assess3_loopValue3: {} + cspu5_assess3_loopValue3: + '0': '0' + '4': '4' + '5': '5' + '6': '6' + Infinite loop: Infinite loop cspu5_assess3_loopValue3_2018: '0': '0' '4': '4' @@ -14651,7 +15468,12 @@ en: '5': '5' '6': '6' Infinite loop: Infinite loop - cspu5_assess3_mysterySwap: {} + cspu5_assess3_mysterySwap: + a: a + b: b + c: c + d: d + e: e cspu5_assess3_mysterySwap_2018: a: a b: b @@ -14664,7 +15486,12 @@ en: c: c d: d e: e - cspu5_assess3_robot: {} + cspu5_assess3_robot: + : + : + : + : + : cspu5_assess3_robot_2018: : : @@ -14677,7 +15504,12 @@ en: : : : - cspu5_assess3_rollDie: {} + cspu5_assess3_rollDie: + rolls < 100 && sixes < 25: rolls < 100 && sixes < 25 + rolls < 100 || sixes < 25: rolls < 100 || sixes < 25 + rolls < sixes || sixes > 25: rolls < sixes || sixes > 25 + rolls = 100 || sixes <= 25: rolls = 100 || sixes <= 25 + rolls >= 0 && sixes < 25: rolls >= 0 && sixes < 25 cspu5_assess3_rollDie_2018: rolls < 100 && sixes < 25: rolls < 100 && sixes < 25 rolls < 100 || sixes < 25: rolls < 100 || sixes < 25 @@ -14690,7 +15522,11 @@ en: rolls < sixes || sixes > 25: rolls < sixes || sixes > 25 rolls = 100 || sixes <= 25: rolls = 100 || sixes <= 25 rolls >= 0 && sixes < 25: rolls >= 0 && sixes < 25 - cspu5_assess3_swap: {} + cspu5_assess3_swap: + : + : + : + : cspu5_assess3_swap_2018: : : @@ -14701,7 +15537,12 @@ en: : : : - cspu5_assess3_whileTrue: {} + cspu5_assess3_whileTrue: + While loops are known as “forever loops” and never stop until the program is halted by the user.: While loops are known as “forever loops” and never stop until the program is halted by the user. + While loops run as long as a given boolean condition is false.: While loops run as long as a given boolean condition is false. + While loops run as long as a given boolean condition is true.: While loops run as long as a given boolean condition is true. + While loops terminate after a fixed number of loops that is determined after the loop executes once.: While loops terminate after a fixed number of loops that is determined after the loop executes once. + While loops terminate after a fixed number of loops that is pre-determined: While loops terminate after a fixed number of loops that is pre-determined cspu5_assess3_whileTrue_2018: While loops are known as "forever loops" and never stop until the program is halted by the user.: While loops are known as "forever loops" and never stop until the program is halted by the user. While loops run as long as a given boolean condition is false.: While loops run as long as a given boolean condition is false. @@ -14714,7 +15555,12 @@ en: While loops run as long as a given boolean condition is true.: While loops run as long as a given boolean condition is true. While loops terminate after a fixed number of loops that is determined after the loop executes once.: While loops terminate after a fixed number of loops that is determined after the loop executes once. While loops terminate after a fixed number of loops that is pre-determined: While loops terminate after a fixed number of loops that is pre-determined - cspu5_assess4_arrayContains: {} + cspu5_assess4_arrayContains: + : + : + : + : + : cspu5_assess4_arrayContains_2018: : : @@ -14727,7 +15573,12 @@ en: : : : - cspu5_assess4_dataReturns: {} + cspu5_assess4_dataReturns: + '10': '10' + '16': '16' + '3': '3' + '4': '4' + '9': '9' cspu5_assess4_dataReturns_2018: '10': '10' '16': '16' @@ -14740,7 +15591,11 @@ en: '3': '3' '4': '4' '9': '9' - cspu5_assess4_listContains: {} + cspu5_assess4_listContains: + : + : + : + : cspu5_assess4_listContains_2018: : : @@ -14751,7 +15606,12 @@ en: : : : - cspu5_assess4_listOutput: {} + cspu5_assess4_listOutput: + '17': '17' + '3': '3' + '42': '42' + '9': '9' + Error. Index 1 does not exist.: Error. Index 1 does not exist. cspu5_assess4_listOutput_2018: '17': '17' '3': '3' @@ -14764,7 +15624,12 @@ en: '42': '42' '9': '9' Error. Index 1 does not exist.: Error. Index 1 does not exist. - cspu5_assess4_mysteryMethod: {} + cspu5_assess4_mysteryMethod: + Mystery displays the index of every occurrence of the value n in the list.: Mystery displays the index of every occurrence of the value n in the list. + Mystery displays the index of the first occurrence of the value n in the list.: Mystery displays the index of the first occurrence of the value n in the list. + Mystery displays the index of the last occurrence of the value n in the list.: Mystery displays the index of the last occurrence of the value n in the list. + Mystery displays the number at index n.: Mystery displays the number at index n. + Mystery displays true if n is in the list.: Mystery displays true if n is in the list. cspu5_assess4_mysteryMethod_2018: Mystery displays the index of every occurrence of the value n in the list.: Mystery displays the index of every occurrence of the value n in the list. Mystery displays the index of the first occurrence of the value n in the list.: Mystery displays the index of the first occurrence of the value n in the list. @@ -14777,7 +15642,12 @@ en: Mystery displays the index of the last occurrence of the value n in the list.: Mystery displays the index of the last occurrence of the value n in the list. Mystery displays the number at index n.: Mystery displays the number at index n. Mystery displays true if n is in the list.: Mystery displays true if n is in the list. - cspu5_assess4_mysteryResult: {} + cspu5_assess4_mysteryResult: + It always returns c: It always returns c + It returns the average of the three input values: It returns the average of the three input values + It returns the largest of the three input values: It returns the largest of the three input values + It returns the middle of the three input values: It returns the middle of the three input values + mystery returns the smallest of the three input values: mystery returns the smallest of the three input values cspu5_assess4_mysteryResult_2018: It always returns c: It always returns c It returns the average of the three input values: It returns the average of the three input values @@ -14790,7 +15660,12 @@ en: It returns the largest of the three input values: It returns the largest of the three input values It returns the middle of the three input values: It returns the middle of the three input values mystery returns the smallest of the three input values: mystery returns the smallest of the three input values - cspu5_assess4_mysteryReturn: {} + cspu5_assess4_mysteryReturn: + The procedure counts how long it takes to find two numbers in descending order and returns that number: The procedure counts how long it takes to find two numbers in descending order and returns that number + The procedure returns false when data is in descending order: The procedure returns false when data is in descending order + The procedure returns how long it takes to find two numbers in ascending order: The procedure returns how long it takes to find two numbers in ascending order + The procedure returns the number of times adjacent items are in ascending order: The procedure returns the number of times adjacent items are in ascending order + The procedure returns true when data is in ascending order: The procedure returns true when data is in ascending order cspu5_assess4_mysteryReturn_2018: The procedure counts how long it takes to find two numbers in descending order and returns that number: The procedure counts how long it takes to find two numbers in descending order and returns that number The procedure returns false when data is in descending order: The procedure returns false when data is in descending order @@ -14803,7 +15678,12 @@ en: The procedure returns how long it takes to find two numbers in ascending order: The procedure returns how long it takes to find two numbers in ascending order The procedure returns the number of times adjacent items are in ascending order: The procedure returns the number of times adjacent items are in ascending order The procedure returns true when data is in ascending order: The procedure returns true when data is in ascending order - cspu5_assess4_playGame: {} + cspu5_assess4_playGame: + DISPLAY (count): DISPLAY (count) + DISPLAY (“game over”): DISPLAY (“game over”) + Nothing. Procedure works as is.: Nothing. Procedure works as is. + RETURN (count): RETURN (count) + RETURN (“game over”): RETURN (“game over”) cspu5_assess4_playGame_2018: DISPLAY ("game over"): DISPLAY ("game over") DISPLAY (count): DISPLAY (count) @@ -14816,7 +15696,12 @@ en: Nothing. Procedure works as is.: Nothing. Procedure works as is. RETURN ("game over"): RETURN ("game over") RETURN (count): RETURN (count) - cspu5_assess4_robot: {} + cspu5_assess4_robot: + : + : + : + : + : cspu5_assess4_robot_2018: : : @@ -15481,7 +16366,11 @@ en: Slightly disagree: Slightly disagree Strongly agree: Strongly agree Strongly disagree: Strongly disagree - sarah_test_maggie: {} + sarah_test_maggie: + : + Question: Question + right answer: right answer + test: test sciPD PreQ 1: Before now, have you ever participated in an online PD program?: Before now, have you ever participated in an online PD program? 'No': 'No' @@ -15720,7 +16609,13 @@ en: Convert Blocks to Math: Convert Blocks to Math Type out the arithmetic expression that matches this code: Type out the arithmetic expression that matches this code Type the arithmetic expression here: Type the arithmetic expression here - Blocks to Math 1: {} + Blocks to Math 1: + "(4+5)": "(4+5)" + 4 + 5: 4 + 5 + Blocks to Math 1.blocks.start_blocks, 200: Blocks to Math 1.blocks.start_blocks, 200 + Convert Blocks to Math: Convert Blocks to Math + Type out the arithmetic expression that matches this code: Type out the arithmetic expression that matches this code + Type the arithmetic expression here: Type the arithmetic expression here Blocks to Math 2: "(7 * 6)": "(7 * 6)" 7 * 6: 7 * 6 @@ -15782,11 +16677,15 @@ en: PS U3 Q1-7: Enter answer here: Enter answer here Enter prompt here: Enter prompt here - U1L13 - Assess Text Compression reverse process: {} + U1L13 - Assess Text Compression reverse process: + Act as the computer!: Act as the computer! + the_big_bug_bit_the_bull_but_the_bull_bit_the_big_bug_back: the_big_bug_bit_the_bull_but_the_bull_bit_the_big_bug_back U1L13 - Assess Text Compression reverse process_2018: Act as the computer!: Act as the computer! the_big_bug_bit_the_bull_but_the_bull_bit_the_big_bug_back: the_big_bug_bit_the_bull_but_the_bull_bit_the_big_bug_back - U2L07 Assessment4: {} + U2L07 Assessment4: + '43': '43' + Question 4: Question 4 text match test: "(9-3)+(4*7)": "(9-3)+(4*7)" "(9-3)+4*7": "(9-3)+4*7" diff --git a/dashboard/config/locales/scripts.en.yml b/dashboard/config/locales/scripts.en.yml index 48ae7d33412da..cc8f4245c2ad3 100644 --- a/dashboard/config/locales/scripts.en.yml +++ b/dashboard/config/locales/scripts.en.yml @@ -7850,7 +7850,7 @@ en: description_student: '' description_teacher: '' Loops in Artist: - name: Drawing Castles with Loops + name: Drawing Gardens with Loops description_student: '' description_teacher: '' 'Events: The Big Event': @@ -9486,7 +9486,7 @@ en: description_student: '' description_teacher: '' Loops in Artist: - name: Drawing Castles with Loops + name: Drawing Gardens with Loops description_student: '' description_teacher: '' 'Events: The Big Event': diff --git a/dashboard/config/scripts/coursee-2018.script b/dashboard/config/scripts/coursee-2018.script index 57cf46598e5fc..26a5a96716a5f 100644 --- a/dashboard/config/scripts/coursee-2018.script +++ b/dashboard/config/scripts/coursee-2018.script @@ -120,7 +120,7 @@ level 'courseE_farmer_ramp12c_2018' level 'courseE_farmer_ramp12d_2018' level 'courseE_farmer_ramp12e_2018' level 'courseE_video_BeeifElse_2018' -level 'courseE_farmer_ramp12f_2018' +level 'courseE_farmer_ramp12f_2018', challenge: true level 'courseE_farmer_ramp12g_2018' level 'courseF_markdown_conditionals_end' diff --git a/dashboard/config/scripts/levels/CourseE_hoops - take2.level b/dashboard/config/scripts/levels/CourseE_hoops - take2.level index d0cc2b7f51317..02a34cee37b54 100644 --- a/dashboard/config/scripts/levels/CourseE_hoops - take2.level +++ b/dashboard/config/scripts/levels/CourseE_hoops - take2.level @@ -45,11 +45,8 @@ "pause_animations_by_default": "false", "hide_custom_blocks": "false", "parent_level_id": 14378, - "contained_level_names": null, - "encrypted_examples": [ - - ], - "include_shared_functions": "false" + "include_shared_functions": "false", + "contained_level_names": null }, "published": true, "notes": "", diff --git a/dashboard/config/scripts/levels/New Sprite Lab Project.level b/dashboard/config/scripts/levels/New Sprite Lab Project.level index 264ea1d232713..d29fb85c10299 100644 --- a/dashboard/config/scripts/levels/New Sprite Lab Project.level +++ b/dashboard/config/scripts/levels/New Sprite Lab Project.level @@ -43,7 +43,7 @@ ], "droplet_tooltips_disabled": "false", "lock_zero_param_functions": "false", - "start_animations": "{\r\n \r\n \"orderedKeys\": [\r\n \"8dfb76d9-a15b-43d0-82f2-69b069619359\",\r\n \"18dcfb13-55b3-4156-abc1-135edf103463\",\r\n \"9f98e76b-80d4-4593-9333-8f8d526d4dce\",\r\n \"c41eeff9-0f23-40e8-b01a-ab14f56fa183\",\r\n \"f301db45-48a3-45c5-a45e-fffdd8e5ee1d\",\r\n \"55f7b08e-a9d9-4f86-b2d1-5baf1a817fe4\",\r\n \"dfdcb6f8-a5ec-4d83-aa42-0b7d709081f4\",\r\n \"429679de-a5f6-476b-98eb-42fb1c7a9992\",\r\n \"4652d038-77a4-43bf-9c66-16bb79742ef9\",\r\n \"9ad519be-f846-4578-b0aa-78686aff9368\",\r\n \"09d90fb3-d809-4193-89e6-ea9152c1e015\",\r\n \"64057d90-40a3-4deb-87fb-ad5e64e4fdce\",\r\n \"10df2d40-baad-44d2-975b-c04cadbe30be\",\r\n \"c8b2aa8f-05bb-4dbc-8a29-b8cb78958fab\",\r\n \"650c7068-f025-43d4-8d31-5fd6d9c70701\",\r\n \"48fd4099-7ceb-464a-8964-adad57e4e87d\",\r\n \"b0befc88-0347-4756-8375-6a4989ffc90a\",\r\n \"f31ce599-2e53-4d3c-8862-ccbfeb90d93a\",\r\n \"81fd855a-9beb-4f44-b049-7d88ffe65376\",\r\n \"ddc74a56-2033-4194-81ca-6c0f4910ba86\",\r\n \"3fc82e56-8582-4804-ac66-68fee8a334e2\",\r\n \"57b3783d-fe35-4562-a8e3-feb19dd74031\",\r\n \"bc06eb81-766c-4f1a-98dc-776c12519d64\",\r\n \"8616f1dd-9060-4e5b-9e0d-8d54e2c24b8f\",\r\n \"23f50eb1-7564-4a33-bd52-8910ef186a6a\",\r\n \"4b720350-9ba0-454c-bfaa-a4073e08f78d\",\r\n \"0d07a497-717a-4e97-8fab-6e6cd4627c1b\",\r\n \"2d00ca36-3d60-4589-b72e-2883371ae232\",\r\n \"43cac766-4450-4001-bec6-c3856a415e82\",\r\n \"f7a83dd6-4609-4eed-a415-0335f80cc4ff\",\r\n \"3c806e6a-68f4-4acf-910e-7e6b3ad0f5d0\",\r\n \"9f42dd43-0e65-460d-b868-a449181e39b8\",\r\n \"43c5ad39-29e5-4444-9d21-3987fecc037f\",\r\n \"d868bce1-5819-4325-95ad-e9c8424dfa5a\",\r\n \"8093568a-2324-4645-bcac-d30caf8405bb\",\r\n \"3b788acc-84e8-40d2-97c6-ee7933a2b262\",\r\n \"27b2d651-8b6a-4f9d-b62e-1444333b97d4\",\r\n \"a4320bb4-5b7d-420d-be72-db4222f94e6e\",\r\n \"ebd02377-1e4a-4e2f-b7a5-a7fb3f9412e0\",\r\n \"9b4b7e2e-e279-469f-84bd-e3968fbcfe70\",\r\n \"0d269907-b1e8-494b-aeeb-a3293f093cfe\",\r\n \"017fe36e-dc51-495f-b75b-1de52b371109\",\r\n \"023bb8fa-bb0c-4694-bde1-c2c85fdb1369\",\r\n \"1527c762-76b2-4a38-8d52-14bac41145cb\",\r\n \"a32f8eb3-a9de-40b4-8c8c-0f9059ee1a34\",\r\n \"3c5fc665-9280-4337-b3da-02adf78b58d2\",\r\n \"de8b32e6-cd6d-4e4a-9a34-a81d150c8cb1\",\r\n \"69f92a2e-29aa-4716-8434-1f080c282c4f\",\r\n \"f9ac2d3d-2c0c-4279-9b6e-05bf7110dfbe\",\r\n \"c56d37de-4fb3-448c-9fc8-f1132629700f\",\r\n \"30ee3afa-e245-4fdd-b399-4d2570077c5d\",\r\n \"31b7b585-9765-48d5-8135-14136a7b461c\",\r\n \"fb21aae7-3c61-4615-99d8-60e7ac637c71\"\r\n ],\r\n \"propsByKey\": {\r\n \"8dfb76d9-a15b-43d0-82f2-69b069619359\": {\r\n \"name\": \"bear\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/8dfb76d9-a15b-43d0-82f2-69b069619359.png?version=MVSdmNEPoAE2GKk0EUSdhYqY4C3PTZuY\",\r\n \"frameSize\": {\r\n \"x\": 76,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"MVSdmNEPoAE2GKk0EUSdhYqY4C3PTZuY\"\r\n },\r\n \"18dcfb13-55b3-4156-abc1-135edf103463\": {\r\n \"name\": \"bee\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/18dcfb13-55b3-4156-abc1-135edf103463.png?version=Ky_.gpXNijZdHly3_fbIK_Hd.Ts0hSr3\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 79\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"Ky_.gpXNijZdHly3_fbIK_Hd.Ts0hSr3\"\r\n },\r\n \"9f98e76b-80d4-4593-9333-8f8d526d4dce\": {\r\n \"name\": \"brown bunny\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/9f98e76b-80d4-4593-9333-8f8d526d4dce.png?version=eLdRebTFWpj.mHZXZpCqV_erPBikXw4c\",\r\n \"frameSize\": {\r\n \"x\": 66,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"eLdRebTFWpj.mHZXZpCqV_erPBikXw4c\"\r\n },\r\n \"c41eeff9-0f23-40e8-b01a-ab14f56fa183\": {\r\n \"name\": \"purple bunny\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/c41eeff9-0f23-40e8-b01a-ab14f56fa183.png?version=2KG2KIeaR01BDvNVTFnFt_sUqmIuP.sj\",\r\n \"frameSize\": {\r\n \"x\": 63,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"2KG2KIeaR01BDvNVTFnFt_sUqmIuP.sj\"\r\n },\r\n \"f301db45-48a3-45c5-a45e-fffdd8e5ee1d\": {\r\n \"name\": \"corgi\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/f301db45-48a3-45c5-a45e-fffdd8e5ee1d.png?version=LCueNJ9WF7juYDU9rt9iMZM08KQeaqy2\",\r\n \"frameSize\": {\r\n \"x\": 542,\r\n \"y\": 500\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"LCueNJ9WF7juYDU9rt9iMZM08KQeaqy2\"\r\n },\r\n \"55f7b08e-a9d9-4f86-b2d1-5baf1a817fe4\": {\r\n \"name\": \"cow\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/55f7b08e-a9d9-4f86-b2d1-5baf1a817fe4.png?version=2r0b3E_glSNq_N8HLPSyaSzdRmXnP9.c\",\r\n \"frameSize\": {\r\n \"x\": 88,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"2r0b3E_glSNq_N8HLPSyaSzdRmXnP9.c\"\r\n },\r\n \"dfdcb6f8-a5ec-4d83-aa42-0b7d709081f4\": {\r\n \"name\": \"crab\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/dfdcb6f8-a5ec-4d83-aa42-0b7d709081f4.png?version=i3pcPjDt8PfGfwjkZRcPw7WCY9.vc9aQ\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 66\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"i3pcPjDt8PfGfwjkZRcPw7WCY9.vc9aQ\"\r\n },\r\n \"429679de-a5f6-476b-98eb-42fb1c7a9992\": {\r\n \"name\": \"elephant\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/429679de-a5f6-476b-98eb-42fb1c7a9992.png?version=9aBDAUqtqVZmwe.ad.PuCAjlkfvxknET\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 95\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"9aBDAUqtqVZmwe.ad.PuCAjlkfvxknET\"\r\n },\r\n \"4652d038-77a4-43bf-9c66-16bb79742ef9\": {\r\n \"name\": \"fish\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/4652d038-77a4-43bf-9c66-16bb79742ef9.png?version=2LKp7yUR8qGuPb.SsxgmhbE24XhYQYwj\",\r\n \"frameSize\": {\r\n \"x\": 91,\r\n \"y\": 75\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"2LKp7yUR8qGuPb.SsxgmhbE24XhYQYwj\"\r\n },\r\n \"9ad519be-f846-4578-b0aa-78686aff9368\": {\r\n \"name\": \"hippo\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/9ad519be-f846-4578-b0aa-78686aff9368.png?version=k8R9uitXAsu3NJdEn5rZDxbRD9gmjnBW\",\r\n \"frameSize\": {\r\n \"x\": 81,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"k8R9uitXAsu3NJdEn5rZDxbRD9gmjnBW\"\r\n },\r\n \"09d90fb3-d809-4193-89e6-ea9152c1e015\": {\r\n \"name\": \"ladybug\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/09d90fb3-d809-4193-89e6-ea9152c1e015.png?version=3SgMnlg9xxSPVJsZdClppzFUBIE2ASYR\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 59\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"3SgMnlg9xxSPVJsZdClppzFUBIE2ASYR\"\r\n },\r\n \"64057d90-40a3-4deb-87fb-ad5e64e4fdce\": {\r\n \"name\": \"mouse\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/64057d90-40a3-4deb-87fb-ad5e64e4fdce.png?version=BZ9YiI7i.sw6kxTfLG8ibZtsF17v3a7L\",\r\n \"frameSize\": {\r\n \"x\": 59,\r\n \"y\": 35\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"BZ9YiI7i.sw6kxTfLG8ibZtsF17v3a7L\"\r\n },\r\n \"10df2d40-baad-44d2-975b-c04cadbe30be\": {\r\n \"name\": \"pig\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/10df2d40-baad-44d2-975b-c04cadbe30be.png?version=I2C5vcykhRoXL9OOCIQLJc47C7AnjtPy\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 89\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"I2C5vcykhRoXL9OOCIQLJc47C7AnjtPy\"\r\n },\r\n \"c8b2aa8f-05bb-4dbc-8a29-b8cb78958fab\": {\r\n \"name\": \"bell\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/wyks_lhYmiSPwyPQy8xydYuBJPL.zvUS/category_generic_items/bell.png\",\r\n \"frameSize\": {\r\n \"x\": 85,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"wyks_lhYmiSPwyPQy8xydYuBJPL.zvUS\"\r\n },\r\n \"650c7068-f025-43d4-8d31-5fd6d9c70701\": {\r\n \"name\": \"book\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/650c7068-f025-43d4-8d31-5fd6d9c70701.png?version=QQmQmpdGufGNLIKa30MvIbw_2PcJ9y8Y\",\r\n \"frameSize\": {\r\n \"x\": 87,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"QQmQmpdGufGNLIKa30MvIbw_2PcJ9y8Y\"\r\n },\r\n \"48fd4099-7ceb-464a-8964-adad57e4e87d\": {\r\n \"name\": \"compass\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/48fd4099-7ceb-464a-8964-adad57e4e87d.png?version=aDsUn_qfYfqSAOTDgnLdJS5DQkamD120\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 75\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"aDsUn_qfYfqSAOTDgnLdJS5DQkamD120\"\r\n },\r\n \"b0befc88-0347-4756-8375-6a4989ffc90a\": {\r\n \"name\": \"computer monitor\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/b0befc88-0347-4756-8375-6a4989ffc90a.png?version=mBct1WnOW1QRqU0QVrOfQhbvqDs1dZ7V\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 95\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"mBct1WnOW1QRqU0QVrOfQhbvqDs1dZ7V\"\r\n },\r\n \"f31ce599-2e53-4d3c-8862-ccbfeb90d93a\": {\r\n \"name\": \"first aid kit\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/f31ce599-2e53-4d3c-8862-ccbfeb90d93a.png?version=qfXrDaOyw3yD0YhFZVaeKxgrim.uzTj0\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"qfXrDaOyw3yD0YhFZVaeKxgrim.uzTj0\"\r\n },\r\n \"81fd855a-9beb-4f44-b049-7d88ffe65376\": {\r\n \"name\": \"keys\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/81fd855a-9beb-4f44-b049-7d88ffe65376.png?version=Es9DGZmAx_ShmhrXFuEXFfXBjdujHj5E\",\r\n \"frameSize\": {\r\n \"x\": 94,\r\n \"y\": 73\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"Es9DGZmAx_ShmhrXFuEXFfXBjdujHj5E\"\r\n },\r\n \"ddc74a56-2033-4194-81ca-6c0f4910ba86\": {\r\n \"name\": \"money\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/ddc74a56-2033-4194-81ca-6c0f4910ba86.png?version=6JG3TE9Sj3yvKCjf3AbHwcKto.241xBI\",\r\n \"frameSize\": {\r\n \"x\": 95,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"6JG3TE9Sj3yvKCjf3AbHwcKto.241xBI\"\r\n },\r\n \"3fc82e56-8582-4804-ac66-68fee8a334e2\": {\r\n \"name\": \"paint pallette\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/3fc82e56-8582-4804-ac66-68fee8a334e2.png?version=Sp0.AKNUNK.Dym.eQwwx0xWKAIgfMMCc\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 83\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"Sp0.AKNUNK.Dym.eQwwx0xWKAIgfMMCc\"\r\n },\r\n \"57b3783d-fe35-4562-a8e3-feb19dd74031\": {\r\n \"name\": \"potion\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/57b3783d-fe35-4562-a8e3-feb19dd74031.png?version=mEi4mXYjJZBqruNqS_hbHl1p8eFfWn7R\",\r\n \"frameSize\": {\r\n \"x\": 54,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"mEi4mXYjJZBqruNqS_hbHl1p8eFfWn7R\"\r\n },\r\n \"bc06eb81-766c-4f1a-98dc-776c12519d64\": {\r\n \"name\": \"tablet\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/bc06eb81-766c-4f1a-98dc-776c12519d64.png?version=ipv5bpa.5vQONR2dF8x4voPLyYYiPuO4\",\r\n \"frameSize\": {\r\n \"x\": 84,\r\n \"y\": 98\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"ipv5bpa.5vQONR2dF8x4voPLyYYiPuO4\"\r\n },\r\n \"8616f1dd-9060-4e5b-9e0d-8d54e2c24b8f\": {\r\n \"name\": \"teapot\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/8616f1dd-9060-4e5b-9e0d-8d54e2c24b8f.png?version=9uILGNJ5w1pEz8xRIPEGea8CLA0MZfVS\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 76\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"9uILGNJ5w1pEz8xRIPEGea8CLA0MZfVS\"\r\n },\r\n \"23f50eb1-7564-4a33-bd52-8910ef186a6a\": {\r\n \"name\": \"boat\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/tFAa19t579qKK_hf6Nc4mvHm2YkuF.GJ/category_vehicles/boat.png\",\r\n \"frameSize\": {\r\n \"x\": 128,\r\n \"y\": 128\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"tFAa19t579qKK_hf6Nc4mvHm2YkuF.GJ\"\r\n },\r\n \"4b720350-9ba0-454c-bfaa-a4073e08f78d\": {\r\n \"name\": \"black car\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/4b720350-9ba0-454c-bfaa-a4073e08f78d.png?version=aq5kOX8620ZZvvgaCnR7RauIwU9QNA3B\",\r\n \"frameSize\": {\r\n \"x\": 54,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"aq5kOX8620ZZvvgaCnR7RauIwU9QNA3B\"\r\n },\r\n \"0d07a497-717a-4e97-8fab-6e6cd4627c1b\": {\r\n \"name\": \"blue car\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/0d07a497-717a-4e97-8fab-6e6cd4627c1b.png?version=9zjXOORwE571IHwbgA4KNd8Cl75qvOB6\",\r\n \"frameSize\": {\r\n \"x\": 61,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"9zjXOORwE571IHwbgA4KNd8Cl75qvOB6\"\r\n },\r\n \"2d00ca36-3d60-4589-b72e-2883371ae232\": {\r\n \"name\": \"green car\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/2d00ca36-3d60-4589-b72e-2883371ae232.png?version=z3UQakYgm1yg4Xw8Pra9VM2sYC05Ax9P\",\r\n \"frameSize\": {\r\n \"x\": 53,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"z3UQakYgm1yg4Xw8Pra9VM2sYC05Ax9P\"\r\n },\r\n \"43cac766-4450-4001-bec6-c3856a415e82\": {\r\n \"name\": \"red car\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/43cac766-4450-4001-bec6-c3856a415e82.png?version=monJZJ.BCLeX.ym.V.BT.wZzJ5Cy.Mpu\",\r\n \"frameSize\": {\r\n \"x\": 53,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"monJZJ.BCLeX.ym.V.BT.wZzJ5Cy.Mpu\"\r\n },\r\n \"f7a83dd6-4609-4eed-a415-0335f80cc4ff\": {\r\n \"name\": \"yellow car\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/f7a83dd6-4609-4eed-a415-0335f80cc4ff.png?version=u_zEdruVMlfvVo8atWKVcabHt0sIyx1L\",\r\n \"frameSize\": {\r\n \"x\": 58,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"u_zEdruVMlfvVo8atWKVcabHt0sIyx1L\"\r\n },\r\n \"3c806e6a-68f4-4acf-910e-7e6b3ad0f5d0\": {\r\n \"name\": \"blue plane\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/.ApvGWkDQiZOglBVfOFwPSkPv.qELuPf/category_vehicles/planeBlue1.png\",\r\n \"frameSize\": {\r\n \"x\": 88,\r\n \"y\": 73\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \".ApvGWkDQiZOglBVfOFwPSkPv.qELuPf\"\r\n },\r\n \"9f42dd43-0e65-460d-b868-a449181e39b8\": {\r\n \"name\": \"red plane\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/oO2CEHRYhRHeulN6V5OdX2JAKtk.6N0K/category_vehicles/planeRed1.png\",\r\n \"frameSize\": {\r\n \"x\": 88,\r\n \"y\": 73\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"oO2CEHRYhRHeulN6V5OdX2JAKtk.6N0K\"\r\n },\r\n \"43c5ad39-29e5-4444-9d21-3987fecc037f\": {\r\n \"name\": \"blue alien\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/zd4LEPr15yvJQrHm7yi7obo_N9RTudLE/category_characters/alienBlue.png\",\r\n \"frameSize\": {\r\n \"x\": 66,\r\n \"y\": 92\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"zd4LEPr15yvJQrHm7yi7obo_N9RTudLE\"\r\n },\r\n \"d868bce1-5819-4325-95ad-e9c8424dfa5a\": {\r\n \"name\": \"green alien\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/3qqVaslWPlTDDg6Po4GHWLcgIWE7qh2J/category_characters/alienGreen.png\",\r\n \"frameSize\": {\r\n \"x\": 66,\r\n \"y\": 92\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"3qqVaslWPlTDDg6Po4GHWLcgIWE7qh2J\"\r\n },\r\n \"8093568a-2324-4645-bcac-d30caf8405bb\": {\r\n \"name\": \"pink alien\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/ecnW7rdKTB0fUrKRKrqIHbrHVvyWh5hu/category_characters/alienPink.png\",\r\n \"frameSize\": {\r\n \"x\": 66,\r\n \"y\": 92\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"ecnW7rdKTB0fUrKRKrqIHbrHVvyWh5hu\"\r\n },\r\n \"3b788acc-84e8-40d2-97c6-ee7933a2b262\": {\r\n \"name\": \"yellow alien\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/vX.4aiKiQ5g4hujfBaVmRlOe0M2UHiys/category_characters/alienYellow.png\",\r\n \"frameSize\": {\r\n \"x\": 66,\r\n \"y\": 82\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"vX.4aiKiQ5g4hujfBaVmRlOe0M2UHiys\"\r\n },\r\n \"27b2d651-8b6a-4f9d-b62e-1444333b97d4\": {\r\n \"name\": \"ghost\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/27b2d651-8b6a-4f9d-b62e-1444333b97d4.png?version=0kQur.A5ACCgn86_3CAgsP7_3NC92wXx\",\r\n \"frameSize\": {\r\n \"x\": 51,\r\n \"y\": 73\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"0kQur.A5ACCgn86_3CAgsP7_3NC92wXx\"\r\n },\r\n \"a4320bb4-5b7d-420d-be72-db4222f94e6e\": {\r\n \"name\": \"orange monster\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/a4320bb4-5b7d-420d-be72-db4222f94e6e.png?version=im5T6RcFJ55W90tCSXa76eSamZX8Zzfr\",\r\n \"frameSize\": {\r\n \"x\": 80,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"im5T6RcFJ55W90tCSXa76eSamZX8Zzfr\"\r\n },\r\n \"ebd02377-1e4a-4e2f-b7a5-a7fb3f9412e0\": {\r\n \"name\": \"green monster\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/ebd02377-1e4a-4e2f-b7a5-a7fb3f9412e0.png?version=KwPGu9hUEn0sNjJBOySlEmNEecJHZRUM\",\r\n \"frameSize\": {\r\n \"x\": 87,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"KwPGu9hUEn0sNjJBOySlEmNEecJHZRUM\"\r\n },\r\n \"9b4b7e2e-e279-469f-84bd-e3968fbcfe70\": {\r\n \"name\": \"purple monster\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/9b4b7e2e-e279-469f-84bd-e3968fbcfe70.png?version=TdB14igpQpIVizo84QukVtUNSVupVliv\",\r\n \"frameSize\": {\r\n \"x\": 97,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"TdB14igpQpIVizo84QukVtUNSVupVliv\"\r\n },\r\n \"0d269907-b1e8-494b-aeeb-a3293f093cfe\": {\r\n \"name\": \"cloud\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/0d269907-b1e8-494b-aeeb-a3293f093cfe.png?version=YzsMR.UUtHHKoeSnX8MZ_62NZOKejdBB\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 52\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"YzsMR.UUtHHKoeSnX8MZ_62NZOKejdBB\"\r\n },\r\n \"017fe36e-dc51-495f-b75b-1de52b371109\": {\r\n \"name\": \"rock\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/017fe36e-dc51-495f-b75b-1de52b371109.png?version=3B92e.XM4K2QbGPZ_mEAEzBKXpAUxDNI\",\r\n \"frameSize\": {\r\n \"x\": 92,\r\n \"y\": 47\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"3B92e.XM4K2QbGPZ_mEAEzBKXpAUxDNI\"\r\n },\r\n \"023bb8fa-bb0c-4694-bde1-c2c85fdb1369\": {\r\n \"name\": \"sun\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/023bb8fa-bb0c-4694-bde1-c2c85fdb1369.png?version=RT2gRKn3sEdodsD_pKRrLAQZdWr.RMK9\",\r\n \"frameSize\": {\r\n \"x\": 95,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"RT2gRKn3sEdodsD_pKRrLAQZdWr.RMK9\"\r\n },\r\n \"1527c762-76b2-4a38-8d52-14bac41145cb\": {\r\n \"name\": \"apple\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/1527c762-76b2-4a38-8d52-14bac41145cb.png?version=GfqQHTqf2oy8zwvQSi0nWyNCbr5bnmA0\",\r\n \"frameSize\": {\r\n \"x\": 68,\r\n \"y\": 74\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"GfqQHTqf2oy8zwvQSi0nWyNCbr5bnmA0\"\r\n },\r\n \"a32f8eb3-a9de-40b4-8c8c-0f9059ee1a34\": {\r\n \"name\": \"carrot\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/fCiFCbsTDOoiLsbStivUZ249XH0TOxIY/category_food/carrot.png\",\r\n \"frameSize\": {\r\n \"x\": 78,\r\n \"y\": 70\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"fCiFCbsTDOoiLsbStivUZ249XH0TOxIY\"\r\n },\r\n \"3c5fc665-9280-4337-b3da-02adf78b58d2\": {\r\n \"name\": \"cupcake\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/3c5fc665-9280-4337-b3da-02adf78b58d2.png?version=9gVv4Tp_TNKDUGYII2ti_JehGw0.jN7W\",\r\n \"frameSize\": {\r\n \"x\": 94,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"9gVv4Tp_TNKDUGYII2ti_JehGw0.jN7W\"\r\n },\r\n \"de8b32e6-cd6d-4e4a-9a34-a81d150c8cb1\": {\r\n \"name\": \"mushroom\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/FUHEI0ZIhRQ_wcJhJHwv73LP7bcSfuYa/category_food/mushroom_red.png\",\r\n \"frameSize\": {\r\n \"x\": 81,\r\n \"y\": 99\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"FUHEI0ZIhRQ_wcJhJHwv73LP7bcSfuYa\"\r\n },\r\n \"69f92a2e-29aa-4716-8434-1f080c282c4f\": {\r\n \"name\": \"watermelon\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/69f92a2e-29aa-4716-8434-1f080c282c4f.png?version=685dTZ5vjG05FiCOT5H0mymOgi_4d2Ue\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 79\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"685dTZ5vjG05FiCOT5H0mymOgi_4d2Ue\"\r\n },\r\n \"f9ac2d3d-2c0c-4279-9b6e-05bf7110dfbe\": {\r\n \"name\": \"gold coin\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/i9_exqo4EZveb7Cs3ci67bPuExMkYfuQ/category_gameplay/coin_gold.png\",\r\n \"frameSize\": {\r\n \"x\": 61,\r\n \"y\": 61\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"i9_exqo4EZveb7Cs3ci67bPuExMkYfuQ\"\r\n },\r\n \"c56d37de-4fb3-448c-9fc8-f1132629700f\": {\r\n \"name\": \"silver coin\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/vOdajK6KZGj20TqNy7gJo9YfriC9FDfl/category_gameplay/coin_silver.png\",\r\n \"frameSize\": {\r\n \"x\": 61,\r\n \"y\": 61\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"vOdajK6KZGj20TqNy7gJo9YfriC9FDfl\"\r\n },\r\n \"30ee3afa-e245-4fdd-b399-4d2570077c5d\": {\r\n \"name\": \"target\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/30ee3afa-e245-4fdd-b399-4d2570077c5d.png?version=mz9HCS7y0vMOktTnjYqgCYydYD7Jnl_S\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"mz9HCS7y0vMOktTnjYqgCYydYD7Jnl_S\"\r\n },\r\n \"31b7b585-9765-48d5-8135-14136a7b461c\": {\r\n \"name\": \"cactus\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/31b7b585-9765-48d5-8135-14136a7b461c.png?version=gc3ZNV2l4kI73.10kx9k4Up.O_Mn59zf\",\r\n \"frameSize\": {\r\n \"x\": 73,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"gc3ZNV2l4kI73.10kx9k4Up.O_Mn59zf\"\r\n },\r\n \"fb21aae7-3c61-4615-99d8-60e7ac637c71\": {\r\n \"name\": \"wheat\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/fb21aae7-3c61-4615-99d8-60e7ac637c71.png?version=5L2P2T4Yi_NQDgdM8zlUNNodFU_9gUUo\",\r\n \"frameSize\": {\r\n \"x\": 99,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"5L2P2T4Yi_NQDgdM8zlUNNodFU_9gUUo\"\r\n }\r\n }\r\n}", + "start_animations": "{\r\n \r\n \"orderedKeys\": [\r\n \"8dfb76d9-a15b-43d0-82f2-69b069619359\",\r\n \"18dcfb13-55b3-4156-abc1-135edf103463\",\r\n \"9f98e76b-80d4-4593-9333-8f8d526d4dce\",\r\n \"c41eeff9-0f23-40e8-b01a-ab14f56fa183\",\r\n \"f301db45-48a3-45c5-a45e-fffdd8e5ee1d\",\r\n \"55f7b08e-a9d9-4f86-b2d1-5baf1a817fe4\",\r\n \"dfdcb6f8-a5ec-4d83-aa42-0b7d709081f4\",\r\n \"429679de-a5f6-476b-98eb-42fb1c7a9992\",\r\n \"c1e751a6-4007-4447-8795-f38ecabdefc0\",\r\n \"9ad519be-f846-4578-b0aa-78686aff9368\",\r\n \"09d90fb3-d809-4193-89e6-ea9152c1e015\",\r\n \"64057d90-40a3-4deb-87fb-ad5e64e4fdce\",\r\n \"10df2d40-baad-44d2-975b-c04cadbe30be\",\r\n \"c8b2aa8f-05bb-4dbc-8a29-b8cb78958fab\",\r\n \"650c7068-f025-43d4-8d31-5fd6d9c70701\",\r\n \"48fd4099-7ceb-464a-8964-adad57e4e87d\",\r\n \"b0befc88-0347-4756-8375-6a4989ffc90a\",\r\n \"f31ce599-2e53-4d3c-8862-ccbfeb90d93a\",\r\n \"81fd855a-9beb-4f44-b049-7d88ffe65376\",\r\n \"ddc74a56-2033-4194-81ca-6c0f4910ba86\",\r\n \"3fc82e56-8582-4804-ac66-68fee8a334e2\",\r\n \"57b3783d-fe35-4562-a8e3-feb19dd74031\",\r\n \"bc06eb81-766c-4f1a-98dc-776c12519d64\",\r\n \"8616f1dd-9060-4e5b-9e0d-8d54e2c24b8f\",\r\n \"23f50eb1-7564-4a33-bd52-8910ef186a6a\",\r\n \"4b720350-9ba0-454c-bfaa-a4073e08f78d\",\r\n \"0d07a497-717a-4e97-8fab-6e6cd4627c1b\",\r\n \"2d00ca36-3d60-4589-b72e-2883371ae232\",\r\n \"43cac766-4450-4001-bec6-c3856a415e82\",\r\n \"f7a83dd6-4609-4eed-a415-0335f80cc4ff\",\r\n \"3c806e6a-68f4-4acf-910e-7e6b3ad0f5d0\",\r\n \"9f42dd43-0e65-460d-b868-a449181e39b8\",\r\n \"43c5ad39-29e5-4444-9d21-3987fecc037f\",\r\n \"d868bce1-5819-4325-95ad-e9c8424dfa5a\",\r\n \"8093568a-2324-4645-bcac-d30caf8405bb\",\r\n \"3b788acc-84e8-40d2-97c6-ee7933a2b262\",\r\n \"27b2d651-8b6a-4f9d-b62e-1444333b97d4\",\r\n \"a4320bb4-5b7d-420d-be72-db4222f94e6e\",\r\n \"ebd02377-1e4a-4e2f-b7a5-a7fb3f9412e0\",\r\n \"9b4b7e2e-e279-469f-84bd-e3968fbcfe70\",\r\n \"0d269907-b1e8-494b-aeeb-a3293f093cfe\",\r\n \"017fe36e-dc51-495f-b75b-1de52b371109\",\r\n \"023bb8fa-bb0c-4694-bde1-c2c85fdb1369\",\r\n \"1527c762-76b2-4a38-8d52-14bac41145cb\",\r\n \"a32f8eb3-a9de-40b4-8c8c-0f9059ee1a34\",\r\n \"3c5fc665-9280-4337-b3da-02adf78b58d2\",\r\n \"de8b32e6-cd6d-4e4a-9a34-a81d150c8cb1\",\r\n \"69f92a2e-29aa-4716-8434-1f080c282c4f\",\r\n \"f9ac2d3d-2c0c-4279-9b6e-05bf7110dfbe\",\r\n \"c56d37de-4fb3-448c-9fc8-f1132629700f\",\r\n \"30ee3afa-e245-4fdd-b399-4d2570077c5d\",\r\n \"31b7b585-9765-48d5-8135-14136a7b461c\",\r\n \"fb21aae7-3c61-4615-99d8-60e7ac637c71\",\r\n \"642d2bdd-d19e-41eb-a17b-d1dc006f13ff\"\r\n ],\r\n \"propsByKey\": {\r\n \"8dfb76d9-a15b-43d0-82f2-69b069619359\": {\r\n \"name\": \"bear\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/8dfb76d9-a15b-43d0-82f2-69b069619359.png?version=MVSdmNEPoAE2GKk0EUSdhYqY4C3PTZuY\",\r\n \"frameSize\": {\r\n \"x\": 76,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"MVSdmNEPoAE2GKk0EUSdhYqY4C3PTZuY\"\r\n },\r\n \"18dcfb13-55b3-4156-abc1-135edf103463\": {\r\n \"name\": \"bee\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/18dcfb13-55b3-4156-abc1-135edf103463.png?version=Ky_.gpXNijZdHly3_fbIK_Hd.Ts0hSr3\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 79\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"Ky_.gpXNijZdHly3_fbIK_Hd.Ts0hSr3\"\r\n },\r\n \"9f98e76b-80d4-4593-9333-8f8d526d4dce\": {\r\n \"name\": \"brown bunny\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/9f98e76b-80d4-4593-9333-8f8d526d4dce.png?version=eLdRebTFWpj.mHZXZpCqV_erPBikXw4c\",\r\n \"frameSize\": {\r\n \"x\": 66,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"eLdRebTFWpj.mHZXZpCqV_erPBikXw4c\"\r\n },\r\n \"c41eeff9-0f23-40e8-b01a-ab14f56fa183\": {\r\n \"name\": \"purple bunny\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/c41eeff9-0f23-40e8-b01a-ab14f56fa183.png?version=2KG2KIeaR01BDvNVTFnFt_sUqmIuP.sj\",\r\n \"frameSize\": {\r\n \"x\": 63,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"2KG2KIeaR01BDvNVTFnFt_sUqmIuP.sj\"\r\n },\r\n \"f301db45-48a3-45c5-a45e-fffdd8e5ee1d\": {\r\n \"name\": \"corgi\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/f301db45-48a3-45c5-a45e-fffdd8e5ee1d.png?version=LCueNJ9WF7juYDU9rt9iMZM08KQeaqy2\",\r\n \"frameSize\": {\r\n \"x\": 542,\r\n \"y\": 500\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"LCueNJ9WF7juYDU9rt9iMZM08KQeaqy2\"\r\n },\r\n \"55f7b08e-a9d9-4f86-b2d1-5baf1a817fe4\": {\r\n \"name\": \"cow\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/55f7b08e-a9d9-4f86-b2d1-5baf1a817fe4.png?version=2r0b3E_glSNq_N8HLPSyaSzdRmXnP9.c\",\r\n \"frameSize\": {\r\n \"x\": 88,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"2r0b3E_glSNq_N8HLPSyaSzdRmXnP9.c\"\r\n },\r\n \"dfdcb6f8-a5ec-4d83-aa42-0b7d709081f4\": {\r\n \"name\": \"crab\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/dfdcb6f8-a5ec-4d83-aa42-0b7d709081f4.png?version=i3pcPjDt8PfGfwjkZRcPw7WCY9.vc9aQ\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 66\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"i3pcPjDt8PfGfwjkZRcPw7WCY9.vc9aQ\"\r\n },\r\n \"429679de-a5f6-476b-98eb-42fb1c7a9992\": {\r\n \"name\": \"elephant\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/429679de-a5f6-476b-98eb-42fb1c7a9992.png?version=9aBDAUqtqVZmwe.ad.PuCAjlkfvxknET\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 95\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"9aBDAUqtqVZmwe.ad.PuCAjlkfvxknET\"\r\n },\r\n \"c1e751a6-4007-4447-8795-f38ecabdefc0\": {\r\n \"name\": \"fish\",\r\n \"sourceUrl\": \"https://studio.code.org/v3/animations/qgDKF1w2UNt0ypCMrQeL5w/c1e751a6-4007-4447-8795-f38ecabdefc0.png?version=0IUNwUQl3CoqvRD3f9nxVW6Y.gheZ9rt\",\r\n \"frameSize\": {\r\n \"x\": 98,\r\n \"y\": 73\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 4,\r\n \"version\": \"0IUNwUQl3CoqvRD3f9nxVW6Y.gheZ9rt\"\r\n },\r\n \"9ad519be-f846-4578-b0aa-78686aff9368\": {\r\n \"name\": \"hippo\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/9ad519be-f846-4578-b0aa-78686aff9368.png?version=k8R9uitXAsu3NJdEn5rZDxbRD9gmjnBW\",\r\n \"frameSize\": {\r\n \"x\": 81,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"k8R9uitXAsu3NJdEn5rZDxbRD9gmjnBW\"\r\n },\r\n \"09d90fb3-d809-4193-89e6-ea9152c1e015\": {\r\n \"name\": \"ladybug\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/09d90fb3-d809-4193-89e6-ea9152c1e015.png?version=3SgMnlg9xxSPVJsZdClppzFUBIE2ASYR\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 59\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"3SgMnlg9xxSPVJsZdClppzFUBIE2ASYR\"\r\n },\r\n \"64057d90-40a3-4deb-87fb-ad5e64e4fdce\": {\r\n \"name\": \"mouse\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/64057d90-40a3-4deb-87fb-ad5e64e4fdce.png?version=BZ9YiI7i.sw6kxTfLG8ibZtsF17v3a7L\",\r\n \"frameSize\": {\r\n \"x\": 59,\r\n \"y\": 35\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"BZ9YiI7i.sw6kxTfLG8ibZtsF17v3a7L\"\r\n },\r\n \"10df2d40-baad-44d2-975b-c04cadbe30be\": {\r\n \"name\": \"pig\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/10df2d40-baad-44d2-975b-c04cadbe30be.png?version=I2C5vcykhRoXL9OOCIQLJc47C7AnjtPy\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 89\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"I2C5vcykhRoXL9OOCIQLJc47C7AnjtPy\"\r\n },\r\n \"c8b2aa8f-05bb-4dbc-8a29-b8cb78958fab\": {\r\n \"name\": \"bell\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/wyks_lhYmiSPwyPQy8xydYuBJPL.zvUS/category_generic_items/bell.png\",\r\n \"frameSize\": {\r\n \"x\": 85,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"wyks_lhYmiSPwyPQy8xydYuBJPL.zvUS\"\r\n },\r\n \"650c7068-f025-43d4-8d31-5fd6d9c70701\": {\r\n \"name\": \"book\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/650c7068-f025-43d4-8d31-5fd6d9c70701.png?version=QQmQmpdGufGNLIKa30MvIbw_2PcJ9y8Y\",\r\n \"frameSize\": {\r\n \"x\": 87,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"QQmQmpdGufGNLIKa30MvIbw_2PcJ9y8Y\"\r\n },\r\n \"48fd4099-7ceb-464a-8964-adad57e4e87d\": {\r\n \"name\": \"compass\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/48fd4099-7ceb-464a-8964-adad57e4e87d.png?version=aDsUn_qfYfqSAOTDgnLdJS5DQkamD120\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 75\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"aDsUn_qfYfqSAOTDgnLdJS5DQkamD120\"\r\n },\r\n \"b0befc88-0347-4756-8375-6a4989ffc90a\": {\r\n \"name\": \"computer monitor\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/b0befc88-0347-4756-8375-6a4989ffc90a.png?version=mBct1WnOW1QRqU0QVrOfQhbvqDs1dZ7V\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 95\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"mBct1WnOW1QRqU0QVrOfQhbvqDs1dZ7V\"\r\n },\r\n \"f31ce599-2e53-4d3c-8862-ccbfeb90d93a\": {\r\n \"name\": \"first aid kit\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/f31ce599-2e53-4d3c-8862-ccbfeb90d93a.png?version=qfXrDaOyw3yD0YhFZVaeKxgrim.uzTj0\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"qfXrDaOyw3yD0YhFZVaeKxgrim.uzTj0\"\r\n },\r\n \"81fd855a-9beb-4f44-b049-7d88ffe65376\": {\r\n \"name\": \"keys\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/81fd855a-9beb-4f44-b049-7d88ffe65376.png?version=Es9DGZmAx_ShmhrXFuEXFfXBjdujHj5E\",\r\n \"frameSize\": {\r\n \"x\": 94,\r\n \"y\": 73\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"Es9DGZmAx_ShmhrXFuEXFfXBjdujHj5E\"\r\n },\r\n \"ddc74a56-2033-4194-81ca-6c0f4910ba86\": {\r\n \"name\": \"money\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/ddc74a56-2033-4194-81ca-6c0f4910ba86.png?version=6JG3TE9Sj3yvKCjf3AbHwcKto.241xBI\",\r\n \"frameSize\": {\r\n \"x\": 95,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"6JG3TE9Sj3yvKCjf3AbHwcKto.241xBI\"\r\n },\r\n \"3fc82e56-8582-4804-ac66-68fee8a334e2\": {\r\n \"name\": \"paint pallette\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/3fc82e56-8582-4804-ac66-68fee8a334e2.png?version=Sp0.AKNUNK.Dym.eQwwx0xWKAIgfMMCc\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 83\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"Sp0.AKNUNK.Dym.eQwwx0xWKAIgfMMCc\"\r\n },\r\n \"57b3783d-fe35-4562-a8e3-feb19dd74031\": {\r\n \"name\": \"potion\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/57b3783d-fe35-4562-a8e3-feb19dd74031.png?version=mEi4mXYjJZBqruNqS_hbHl1p8eFfWn7R\",\r\n \"frameSize\": {\r\n \"x\": 54,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"mEi4mXYjJZBqruNqS_hbHl1p8eFfWn7R\"\r\n },\r\n \"bc06eb81-766c-4f1a-98dc-776c12519d64\": {\r\n \"name\": \"tablet\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/bc06eb81-766c-4f1a-98dc-776c12519d64.png?version=ipv5bpa.5vQONR2dF8x4voPLyYYiPuO4\",\r\n \"frameSize\": {\r\n \"x\": 84,\r\n \"y\": 98\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"ipv5bpa.5vQONR2dF8x4voPLyYYiPuO4\"\r\n },\r\n \"8616f1dd-9060-4e5b-9e0d-8d54e2c24b8f\": {\r\n \"name\": \"teapot\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/8616f1dd-9060-4e5b-9e0d-8d54e2c24b8f.png?version=9uILGNJ5w1pEz8xRIPEGea8CLA0MZfVS\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 76\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"9uILGNJ5w1pEz8xRIPEGea8CLA0MZfVS\"\r\n },\r\n \"23f50eb1-7564-4a33-bd52-8910ef186a6a\": {\r\n \"name\": \"boat\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/tFAa19t579qKK_hf6Nc4mvHm2YkuF.GJ/category_vehicles/boat.png\",\r\n \"frameSize\": {\r\n \"x\": 128,\r\n \"y\": 128\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"tFAa19t579qKK_hf6Nc4mvHm2YkuF.GJ\"\r\n },\r\n \"4b720350-9ba0-454c-bfaa-a4073e08f78d\": {\r\n \"name\": \"black car\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/4b720350-9ba0-454c-bfaa-a4073e08f78d.png?version=aq5kOX8620ZZvvgaCnR7RauIwU9QNA3B\",\r\n \"frameSize\": {\r\n \"x\": 54,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"aq5kOX8620ZZvvgaCnR7RauIwU9QNA3B\"\r\n },\r\n \"0d07a497-717a-4e97-8fab-6e6cd4627c1b\": {\r\n \"name\": \"blue car\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/0d07a497-717a-4e97-8fab-6e6cd4627c1b.png?version=9zjXOORwE571IHwbgA4KNd8Cl75qvOB6\",\r\n \"frameSize\": {\r\n \"x\": 61,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"9zjXOORwE571IHwbgA4KNd8Cl75qvOB6\"\r\n },\r\n \"2d00ca36-3d60-4589-b72e-2883371ae232\": {\r\n \"name\": \"green car\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/2d00ca36-3d60-4589-b72e-2883371ae232.png?version=z3UQakYgm1yg4Xw8Pra9VM2sYC05Ax9P\",\r\n \"frameSize\": {\r\n \"x\": 53,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"z3UQakYgm1yg4Xw8Pra9VM2sYC05Ax9P\"\r\n },\r\n \"43cac766-4450-4001-bec6-c3856a415e82\": {\r\n \"name\": \"red car\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/43cac766-4450-4001-bec6-c3856a415e82.png?version=monJZJ.BCLeX.ym.V.BT.wZzJ5Cy.Mpu\",\r\n \"frameSize\": {\r\n \"x\": 53,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"monJZJ.BCLeX.ym.V.BT.wZzJ5Cy.Mpu\"\r\n },\r\n \"f7a83dd6-4609-4eed-a415-0335f80cc4ff\": {\r\n \"name\": \"yellow car\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/f7a83dd6-4609-4eed-a415-0335f80cc4ff.png?version=u_zEdruVMlfvVo8atWKVcabHt0sIyx1L\",\r\n \"frameSize\": {\r\n \"x\": 58,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"u_zEdruVMlfvVo8atWKVcabHt0sIyx1L\"\r\n },\r\n \"3c806e6a-68f4-4acf-910e-7e6b3ad0f5d0\": {\r\n \"name\": \"blue plane\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/.ApvGWkDQiZOglBVfOFwPSkPv.qELuPf/category_vehicles/planeBlue1.png\",\r\n \"frameSize\": {\r\n \"x\": 88,\r\n \"y\": 73\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \".ApvGWkDQiZOglBVfOFwPSkPv.qELuPf\"\r\n },\r\n \"9f42dd43-0e65-460d-b868-a449181e39b8\": {\r\n \"name\": \"red plane\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/oO2CEHRYhRHeulN6V5OdX2JAKtk.6N0K/category_vehicles/planeRed1.png\",\r\n \"frameSize\": {\r\n \"x\": 88,\r\n \"y\": 73\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"oO2CEHRYhRHeulN6V5OdX2JAKtk.6N0K\"\r\n },\r\n \"43c5ad39-29e5-4444-9d21-3987fecc037f\": {\r\n \"name\": \"blue alien\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/zd4LEPr15yvJQrHm7yi7obo_N9RTudLE/category_characters/alienBlue.png\",\r\n \"frameSize\": {\r\n \"x\": 66,\r\n \"y\": 92\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"zd4LEPr15yvJQrHm7yi7obo_N9RTudLE\"\r\n },\r\n \"d868bce1-5819-4325-95ad-e9c8424dfa5a\": {\r\n \"name\": \"green alien\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/3qqVaslWPlTDDg6Po4GHWLcgIWE7qh2J/category_characters/alienGreen.png\",\r\n \"frameSize\": {\r\n \"x\": 66,\r\n \"y\": 92\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"3qqVaslWPlTDDg6Po4GHWLcgIWE7qh2J\"\r\n },\r\n \"8093568a-2324-4645-bcac-d30caf8405bb\": {\r\n \"name\": \"pink alien\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/ecnW7rdKTB0fUrKRKrqIHbrHVvyWh5hu/category_characters/alienPink.png\",\r\n \"frameSize\": {\r\n \"x\": 66,\r\n \"y\": 92\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"ecnW7rdKTB0fUrKRKrqIHbrHVvyWh5hu\"\r\n },\r\n \"3b788acc-84e8-40d2-97c6-ee7933a2b262\": {\r\n \"name\": \"yellow alien\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/vX.4aiKiQ5g4hujfBaVmRlOe0M2UHiys/category_characters/alienYellow.png\",\r\n \"frameSize\": {\r\n \"x\": 66,\r\n \"y\": 82\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"vX.4aiKiQ5g4hujfBaVmRlOe0M2UHiys\"\r\n },\r\n \"27b2d651-8b6a-4f9d-b62e-1444333b97d4\": {\r\n \"name\": \"ghost\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/27b2d651-8b6a-4f9d-b62e-1444333b97d4.png?version=0kQur.A5ACCgn86_3CAgsP7_3NC92wXx\",\r\n \"frameSize\": {\r\n \"x\": 51,\r\n \"y\": 73\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"0kQur.A5ACCgn86_3CAgsP7_3NC92wXx\"\r\n },\r\n \"a4320bb4-5b7d-420d-be72-db4222f94e6e\": {\r\n \"name\": \"orange monster\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/a4320bb4-5b7d-420d-be72-db4222f94e6e.png?version=im5T6RcFJ55W90tCSXa76eSamZX8Zzfr\",\r\n \"frameSize\": {\r\n \"x\": 80,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"im5T6RcFJ55W90tCSXa76eSamZX8Zzfr\"\r\n },\r\n \"ebd02377-1e4a-4e2f-b7a5-a7fb3f9412e0\": {\r\n \"name\": \"green monster\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/ebd02377-1e4a-4e2f-b7a5-a7fb3f9412e0.png?version=KwPGu9hUEn0sNjJBOySlEmNEecJHZRUM\",\r\n \"frameSize\": {\r\n \"x\": 87,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"KwPGu9hUEn0sNjJBOySlEmNEecJHZRUM\"\r\n },\r\n \"9b4b7e2e-e279-469f-84bd-e3968fbcfe70\": {\r\n \"name\": \"purple monster\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/9b4b7e2e-e279-469f-84bd-e3968fbcfe70.png?version=TdB14igpQpIVizo84QukVtUNSVupVliv\",\r\n \"frameSize\": {\r\n \"x\": 97,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"TdB14igpQpIVizo84QukVtUNSVupVliv\"\r\n },\r\n \"0d269907-b1e8-494b-aeeb-a3293f093cfe\": {\r\n \"name\": \"cloud\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/0d269907-b1e8-494b-aeeb-a3293f093cfe.png?version=YzsMR.UUtHHKoeSnX8MZ_62NZOKejdBB\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 52\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"YzsMR.UUtHHKoeSnX8MZ_62NZOKejdBB\"\r\n },\r\n \"017fe36e-dc51-495f-b75b-1de52b371109\": {\r\n \"name\": \"rock\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/017fe36e-dc51-495f-b75b-1de52b371109.png?version=3B92e.XM4K2QbGPZ_mEAEzBKXpAUxDNI\",\r\n \"frameSize\": {\r\n \"x\": 92,\r\n \"y\": 47\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"3B92e.XM4K2QbGPZ_mEAEzBKXpAUxDNI\"\r\n },\r\n \"023bb8fa-bb0c-4694-bde1-c2c85fdb1369\": {\r\n \"name\": \"sun\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/023bb8fa-bb0c-4694-bde1-c2c85fdb1369.png?version=RT2gRKn3sEdodsD_pKRrLAQZdWr.RMK9\",\r\n \"frameSize\": {\r\n \"x\": 95,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"RT2gRKn3sEdodsD_pKRrLAQZdWr.RMK9\"\r\n },\r\n \"1527c762-76b2-4a38-8d52-14bac41145cb\": {\r\n \"name\": \"apple\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/1527c762-76b2-4a38-8d52-14bac41145cb.png?version=GfqQHTqf2oy8zwvQSi0nWyNCbr5bnmA0\",\r\n \"frameSize\": {\r\n \"x\": 68,\r\n \"y\": 74\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"GfqQHTqf2oy8zwvQSi0nWyNCbr5bnmA0\"\r\n },\r\n \"a32f8eb3-a9de-40b4-8c8c-0f9059ee1a34\": {\r\n \"name\": \"carrot\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/fCiFCbsTDOoiLsbStivUZ249XH0TOxIY/category_food/carrot.png\",\r\n \"frameSize\": {\r\n \"x\": 78,\r\n \"y\": 70\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"fCiFCbsTDOoiLsbStivUZ249XH0TOxIY\"\r\n },\r\n \"3c5fc665-9280-4337-b3da-02adf78b58d2\": {\r\n \"name\": \"cupcake\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/3c5fc665-9280-4337-b3da-02adf78b58d2.png?version=9gVv4Tp_TNKDUGYII2ti_JehGw0.jN7W\",\r\n \"frameSize\": {\r\n \"x\": 94,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"9gVv4Tp_TNKDUGYII2ti_JehGw0.jN7W\"\r\n },\r\n \"de8b32e6-cd6d-4e4a-9a34-a81d150c8cb1\": {\r\n \"name\": \"mushroom\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/FUHEI0ZIhRQ_wcJhJHwv73LP7bcSfuYa/category_food/mushroom_red.png\",\r\n \"frameSize\": {\r\n \"x\": 81,\r\n \"y\": 99\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"FUHEI0ZIhRQ_wcJhJHwv73LP7bcSfuYa\"\r\n },\r\n \"69f92a2e-29aa-4716-8434-1f080c282c4f\": {\r\n \"name\": \"watermelon\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/69f92a2e-29aa-4716-8434-1f080c282c4f.png?version=685dTZ5vjG05FiCOT5H0mymOgi_4d2Ue\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 79\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"685dTZ5vjG05FiCOT5H0mymOgi_4d2Ue\"\r\n },\r\n \"f9ac2d3d-2c0c-4279-9b6e-05bf7110dfbe\": {\r\n \"name\": \"gold coin\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/i9_exqo4EZveb7Cs3ci67bPuExMkYfuQ/category_gameplay/coin_gold.png\",\r\n \"frameSize\": {\r\n \"x\": 61,\r\n \"y\": 61\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"i9_exqo4EZveb7Cs3ci67bPuExMkYfuQ\"\r\n },\r\n \"c56d37de-4fb3-448c-9fc8-f1132629700f\": {\r\n \"name\": \"silver coin\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/vOdajK6KZGj20TqNy7gJo9YfriC9FDfl/category_gameplay/coin_silver.png\",\r\n \"frameSize\": {\r\n \"x\": 61,\r\n \"y\": 61\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"vOdajK6KZGj20TqNy7gJo9YfriC9FDfl\"\r\n },\r\n \"30ee3afa-e245-4fdd-b399-4d2570077c5d\": {\r\n \"name\": \"target\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/30ee3afa-e245-4fdd-b399-4d2570077c5d.png?version=mz9HCS7y0vMOktTnjYqgCYydYD7Jnl_S\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"mz9HCS7y0vMOktTnjYqgCYydYD7Jnl_S\"\r\n },\r\n \"31b7b585-9765-48d5-8135-14136a7b461c\": {\r\n \"name\": \"cactus\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/31b7b585-9765-48d5-8135-14136a7b461c.png?version=gc3ZNV2l4kI73.10kx9k4Up.O_Mn59zf\",\r\n \"frameSize\": {\r\n \"x\": 73,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"gc3ZNV2l4kI73.10kx9k4Up.O_Mn59zf\"\r\n },\r\n \"fb21aae7-3c61-4615-99d8-60e7ac637c71\": {\r\n \"name\": \"wheat\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/fb21aae7-3c61-4615-99d8-60e7ac637c71.png?version=5L2P2T4Yi_NQDgdM8zlUNNodFU_9gUUo\",\r\n \"frameSize\": {\r\n \"x\": 99,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"5L2P2T4Yi_NQDgdM8zlUNNodFU_9gUUo\"\r\n },\r\n \"642d2bdd-d19e-41eb-a17b-d1dc006f13ff\": {\r\n \"name\": \"soap\",\r\n \"sourceUrl\": \"https://studio.code.org/v3/animations/qgDKF1w2UNt0ypCMrQeL5w/642d2bdd-d19e-41eb-a17b-d1dc006f13ff.png?version=osfKLQLQNr8b8TENQ4P9sEAVUopzCV8G\",\r\n \"frameSize\": {\r\n \"x\": 97,\r\n \"y\": 97\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 4,\r\n \"version\": \"osfKLQLQNr8b8TENQ4P9sEAVUopzCV8G\"\r\n }\r\n }\r\n}", "custom_blocks": "[\r\n {\r\n \"func\": \"jitter\",\r\n \"blockText\": \"jittering\",\r\n \"returnType\": \"Behavior\",\r\n \"color\": [\r\n 136,\r\n \".84\",\r\n \".80\"\r\n ]\r\n },\r\n {\r\n \"func\": \"wander\",\r\n \"blockText\": \"wandering\",\r\n \"returnType\": \"Behavior\",\r\n \"color\": [\r\n 136,\r\n \".84\",\r\n \".80\"\r\n ]\r\n },\r\n {\r\n \"func\": \"grow\",\r\n \"blockText\": \"growing\",\r\n \"returnType\": \"Behavior\",\r\n \"color\": [\r\n 136,\r\n \".84\",\r\n \".80\"\r\n ]\r\n },\r\n {\r\n \"func\": \"shrink\",\r\n \"blockText\": \"shrinking\",\r\n \"returnType\": \"Behavior\",\r\n \"color\": [\r\n 136,\r\n \".84\",\r\n \".80\"\r\n ]\r\n },\r\n {\r\n \"func\": \"spin\",\r\n \"blockText\": \"spinning\",\r\n \"returnType\": \"Behavior\",\r\n \"color\": [\r\n 136,\r\n \".84\",\r\n \".80\"\r\n ]\r\n },\r\n {\r\n \"func\": \"danceParty\",\r\n \"blockText\": \"dancing\",\r\n \"returnType\": \"Behavior\",\r\n \"color\": [\r\n 136,\r\n \".84\",\r\n \".80\"\r\n ]\r\n },\r\n {\r\n \"func\": \"runUp\",\r\n \"blockText\": \"running north\",\r\n \"returnType\": \"Behavior\",\r\n \"color\": [\r\n 136,\r\n \".84\",\r\n \".80\"\r\n ]\r\n },\r\n {\r\n \"func\": \"draggable\",\r\n \"blockText\": \"being draggable\",\r\n \"returnType\": \"Behavior\",\r\n \"color\": [\r\n 136,\r\n \".84\",\r\n \".80\"\r\n ]\r\n },\r\n {\r\n \"func\": \"runDown\",\r\n \"blockText\": \"running south\",\r\n \"returnType\": \"Behavior\",\r\n \"color\": [\r\n 136,\r\n \".84\",\r\n \".80\"\r\n ]\r\n },\r\n {\r\n \"func\": \"runLeft\",\r\n \"blockText\": \"running west\",\r\n \"returnType\": \"Behavior\",\r\n \"color\": [\r\n 136,\r\n \".84\",\r\n \".80\"\r\n ]\r\n },\r\n {\r\n \"func\": \"runRight\",\r\n \"blockText\": \"running east\",\r\n \"returnType\": \"Behavior\",\r\n \"color\": [\r\n 136,\r\n \".84\",\r\n \".80\"\r\n ]\r\n },\r\n {\r\n \"func\": \"patrollingUpDown\",\r\n \"blockText\": \"patrolling up and down\",\r\n \"returnType\": \"Behavior\",\r\n \"color\": [\r\n 136,\r\n \".84\",\r\n \".80\"\r\n ]\r\n },\r\n {\r\n \"func\": \"patrollingLeftRight\",\r\n \"blockText\": \"patrolling left and right\",\r\n \"returnType\": \"Behavior\",\r\n \"color\": [\r\n 136,\r\n \".84\",\r\n \".80\"\r\n ]\r\n },\r\n {\r\n \"func\": \"followingSprite\",\r\n \"blockText\": \"following {TARGET}\",\r\n \"returnType\": \"Behavior\",\r\n \"color\": [\r\n 136,\r\n \".84\",\r\n \".80\"\r\n ],\r\n \"args\": [\r\n {\r\n \"name\": \"TARGET\",\r\n \"type\": \"Sprite\"\r\n }\r\n ]\r\n },\r\n {\r\n \"func\": \"wanderRewrite\",\r\n \"blockText\": \"wandering (new)\",\r\n \"returnType\": \"Behavior\",\r\n \"color\": [\r\n 136,\r\n \".84\",\r\n \".80\"\r\n ]\r\n }\r\n]", "is_project_level": true, "hide_custom_blocks": "true", @@ -52,11 +52,12 @@ "auto_run_setup": "DRAW_LOOP", "parent_level_id": 11086, "show_type_hints": "true", + "include_shared_functions": "false", "contained_level_names": null }, "published": true, "notes": "", - "audit_log": "[{\"changed_at\":\"2018-02-21 19:18:17 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-02-23 01:34:36 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-02-23 01:34:52 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-01 11:22:37 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-01 11:23:03 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-01 11:24:03 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 11:21:33 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 11:22:59 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 14:30:24 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:11:30 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:12:51 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:16:55 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:17:27 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:18:40 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-06 11:24:18 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:12:16 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:15:51 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:18:04 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:21:22 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:24:13 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:42:39 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:39:09 -0800\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:39:43 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:40:26 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:42:14 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-12 15:46:16 -0700\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-13 18:43:01 -0700\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:47:07 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:48:56 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:49:07 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 12:50:40 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 17:30:08 -0700\",\"changed\":[\"toolbox_blocks\",\"hide_animation_mode\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 18:21:03 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-23 16:15:40 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-26 14:54:18 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-26 14:56:12 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-28 00:57:34 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 00:58:08 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 00:58:26 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 18:40:17 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-30 16:44:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:45:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:46:37 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:52:41 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 17:01:10 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 17:02:04 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 19:16:49 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:08:29 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:08:51 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:14:23 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:19:08 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:23:56 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:14:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:19:10 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:24:30 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-20 23:51:01 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-04-23 20:23:10 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:31:11 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:32:51 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:33:56 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:35:02 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:39:26 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:25:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:26:46 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:27:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:28:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:30:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:19:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:19:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:21:20 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:22:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:24:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:24:33 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 18:37:19 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 19:46:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 19:47:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:53:25 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:54:48 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:56:44 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:00:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:03:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:05:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:06:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:07:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:07:47 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:11:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:17:34 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:23:03 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:24:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:07:24 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:10:42 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:15:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:27:35 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:28:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:28:36 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:29:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:31:25 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:36:01 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:37:12 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:43:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:44:24 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:49:16 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:53:02 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:58:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:23:28 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:24:05 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:29:35 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:31:17 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:32:14 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:08:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:10:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:10:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:11:45 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:12:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:15:02 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:15:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:16:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:17:43 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:18:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 19:50:55 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 19:56:41 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-01 18:35:38 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:26:48 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:31:21 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:32:45 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:35:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:37:28 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:38:18 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 17:47:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 18:00:53 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 18:01:59 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 22:31:17 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:07:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:37:20 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:38:03 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:38:54 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-03 17:05:51 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-04 00:46:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":1,\"changed_by_email\":\"josh@code.org\"},{\"changed_at\":\"2018-05-04 19:22:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-04 19:30:07 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 17:19:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 17:19:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 18:03:12 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 18:04:12 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 18:16:33 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-14 23:24:23 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-14 23:25:02 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-19 00:22:43 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-19 00:23:39 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"use_modal_function_editor\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-19 00:33:46 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-19 01:08:22 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-22 16:44:58 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 20:31:48 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 20:32:37 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 20:38:07 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 20:38:47 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 20:46:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 21:17:26 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 21:21:33 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 21:22:38 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 21:25:31 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 21:31:55 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 21:32:41 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 21:33:29 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 21:35:14 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 21:35:52 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 21:37:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 21:37:35 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 21:38:45 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 21:45:40 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 22:00:23 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"show_type_hints\",\"contained_level_names\"],\"changed_by_id\":53,\"changed_by_email\":\"test5@code.org\"},{\"changed_at\":\"2018-06-07 15:37:30 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-07 15:37:59 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-07 15:38:28 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-07 15:38:55 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-07 15:39:38 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-07 15:41:52 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-07 15:42:55 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-07 15:46:32 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-07 15:50:29 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-07 15:52:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-07 19:41:55 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-07 21:22:53 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-06-07 21:24:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-06-11 17:38:37 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 17:39:46 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 17:42:43 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 17:48:31 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 17:55:14 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 18:14:44 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 21:05:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-13 20:35:44 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-13 20:36:13 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-13 20:55:47 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-06-21 20:28:22 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":53,\"changed_by_email\":\"test5@code.org\"}]", + "audit_log": "[{\"changed_at\":\"2018-02-21 19:18:17 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-02-23 01:34:36 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-02-23 01:34:52 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-01 11:22:37 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-01 11:23:03 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-01 11:24:03 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 11:21:33 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 11:22:59 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 14:30:24 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:11:30 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:12:51 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:16:55 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:17:27 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:18:40 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-06 11:24:18 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:12:16 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:15:51 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:18:04 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:21:22 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:24:13 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:42:39 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:39:09 -0800\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:39:43 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:40:26 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:42:14 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-12 15:46:16 -0700\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-13 18:43:01 -0700\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:47:07 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:48:56 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:49:07 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 12:50:40 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 17:30:08 -0700\",\"changed\":[\"toolbox_blocks\",\"hide_animation_mode\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 18:21:03 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-23 16:15:40 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-26 14:54:18 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-26 14:56:12 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-28 00:57:34 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 00:58:08 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 00:58:26 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 18:40:17 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-30 16:44:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:45:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:46:37 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:52:41 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 17:01:10 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 17:02:04 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 19:16:49 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:08:29 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:08:51 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:14:23 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:19:08 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:23:56 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:14:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:19:10 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:24:30 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-20 23:51:01 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-04-23 20:23:10 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:31:11 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:32:51 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:33:56 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:35:02 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:39:26 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:25:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:26:46 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:27:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:28:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:30:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:19:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:19:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:21:20 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:22:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:24:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:24:33 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 18:37:19 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 19:46:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 19:47:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:53:25 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:54:48 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:56:44 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:00:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:03:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:05:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:06:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:07:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:07:47 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:11:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:17:34 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:23:03 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:24:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:07:24 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:10:42 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:15:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:27:35 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:28:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:28:36 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:29:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:31:25 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:36:01 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:37:12 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:43:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:44:24 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:49:16 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:53:02 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:58:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:23:28 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:24:05 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:29:35 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:31:17 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:32:14 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:08:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:10:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:10:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:11:45 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:12:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:15:02 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:15:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:16:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:17:43 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:18:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 19:50:55 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 19:56:41 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-01 18:35:38 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:26:48 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:31:21 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:32:45 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:35:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:37:28 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:38:18 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 17:47:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 18:00:53 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 18:01:59 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 22:31:17 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:07:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:37:20 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:38:03 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:38:54 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-03 17:05:51 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-04 00:46:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":1,\"changed_by_email\":\"josh@code.org\"},{\"changed_at\":\"2018-05-04 19:22:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-04 19:30:07 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 17:19:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 17:19:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 18:03:12 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 18:04:12 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 18:16:33 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-14 23:24:23 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-14 23:25:02 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-19 00:22:43 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-19 00:23:39 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"use_modal_function_editor\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-19 00:33:46 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-19 01:08:22 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-22 16:44:58 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 20:31:48 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 20:32:37 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 20:38:07 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 20:38:47 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 20:46:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 21:17:26 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 21:21:33 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 21:22:38 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 21:25:31 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 21:31:55 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 21:32:41 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 21:33:29 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 21:35:14 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 21:35:52 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 21:37:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 21:37:35 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 21:38:45 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 21:45:40 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-30 22:00:23 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"show_type_hints\",\"contained_level_names\"],\"changed_by_id\":53,\"changed_by_email\":\"test5@code.org\"},{\"changed_at\":\"2018-06-07 15:37:30 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-07 15:37:59 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-07 15:38:28 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-07 15:38:55 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-07 15:39:38 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-07 15:41:52 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-07 15:42:55 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-07 15:46:32 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-07 15:50:29 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-07 15:52:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-07 19:41:55 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-07 21:22:53 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-06-07 21:24:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-06-11 17:38:37 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 17:39:46 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 17:42:43 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 17:48:31 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 17:55:14 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 18:14:44 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 21:05:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-13 20:35:44 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-13 20:36:13 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-13 20:55:47 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-06-21 20:28:22 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":53,\"changed_by_email\":\"test5@code.org\"},{\"changed_at\":\"2018-06-26 22:14:30 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-26 22:15:30 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"}]", "level_concept_difficulty": { } }]]> diff --git a/dashboard/config/scripts/levels/Virtual Pet 1 Predict.level b/dashboard/config/scripts/levels/Virtual Pet 1 Predict.level new file mode 100644 index 0000000000000..acd5d830a18a7 --- /dev/null +++ b/dashboard/config/scripts/levels/Virtual Pet 1 Predict.level @@ -0,0 +1,24 @@ + + + diff --git a/dashboard/config/scripts/levels/Virtual Pet 1.level b/dashboard/config/scripts/levels/Virtual Pet 1.level index 95418317bd2a5..a99b356ee5604 100644 --- a/dashboard/config/scripts/levels/Virtual Pet 1.level +++ b/dashboard/config/scripts/levels/Virtual Pet 1.level @@ -53,11 +53,17 @@ "markdown_instructions": "This is Geraldine, your new pet giraffe. \r\n\r\nWhat do you think will happen if you press \"▶ Run\" and then click on her? \r\n\r\n---", "show_type_hints": "true", "instructions": "What do you think will happen if you press \"Run\" and then click on her?", - "contained_level_names": null + "contained_level_names": [ + "Virtual Pet 1 Predict" + ], + "encrypted_examples": [ + + ], + "include_shared_functions": "false" }, "published": true, "notes": "", - "audit_log": "[{\"changed_at\":\"2018-02-21 19:18:17 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-02-23 01:34:36 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-02-23 01:34:52 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-01 11:22:37 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-01 11:23:03 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-01 11:24:03 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 11:21:33 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 11:22:59 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 14:30:24 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:11:30 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:12:51 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:16:55 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:17:27 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:18:40 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-06 11:24:18 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:12:16 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:15:51 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:18:04 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:21:22 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:24:13 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:42:39 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:39:09 -0800\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:39:43 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:40:26 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:42:14 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-12 15:46:16 -0700\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-13 18:43:01 -0700\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:47:07 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:48:56 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:49:07 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 12:50:40 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 17:30:08 -0700\",\"changed\":[\"toolbox_blocks\",\"hide_animation_mode\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 18:21:03 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-23 16:15:40 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-26 14:54:18 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-26 14:56:12 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-28 00:57:34 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 00:58:08 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 00:58:26 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 18:40:17 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-30 16:44:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:45:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:46:37 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:52:41 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 17:01:10 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 17:02:04 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 19:16:49 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:08:29 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:08:51 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:14:23 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:19:08 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:23:56 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:14:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:19:10 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:24:30 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-20 23:51:01 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-04-23 20:23:10 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:31:11 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:32:51 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:33:56 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:35:02 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:39:26 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:25:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:26:46 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:27:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:28:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:30:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:19:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:19:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:21:20 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:22:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:24:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:24:33 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 18:37:19 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 19:46:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 19:47:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:53:25 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:54:48 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:56:44 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:00:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:03:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:05:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:06:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:07:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:07:47 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:11:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:17:34 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:23:03 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:24:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:07:24 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:10:42 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:15:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:27:35 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:28:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:28:36 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:29:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:31:25 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:36:01 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:37:12 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:43:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:44:24 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:49:16 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:53:02 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:58:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:23:28 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:24:05 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:29:35 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:31:17 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:32:14 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:08:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:10:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:10:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:11:45 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:12:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:15:02 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:15:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:16:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:17:43 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:18:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 19:50:55 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 19:56:41 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-01 18:35:38 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:26:48 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:31:21 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:32:45 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:35:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:37:28 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:38:18 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 17:47:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 18:00:53 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 18:01:59 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 22:31:17 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:07:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:37:20 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:38:03 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:38:54 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-03 17:05:51 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-04 00:46:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":1,\"changed_by_email\":\"josh@code.org\"},{\"changed_at\":\"2018-05-04 19:22:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-04 19:30:07 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 17:19:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 17:19:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:22:54 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:26:35 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:30:08 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:31:36 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-09 17:42:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 21:03:02 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-05-10 21:13:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 21:14:43 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 21:16:01 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-05-10 21:17:17 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-05-11 00:01:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"show_type_hints\"],\"changed_by_id\":53,\"changed_by_email\":\"test5@code.org\"},{\"changed_at\":\"2018-05-15 16:22:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 17:45:15 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 17:52:02 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:57:03 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:57:42 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:58:29 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:58:47 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:59:21 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:59:49 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:59:04 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"hide_custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-06 00:47:18 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-06 01:16:36 +0000\",\"changed\":[\"start_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-14 19:01:21 +0000\",\"changed\":[\"start_blocks\",\"custom_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-14 19:02:52 +0000\",\"changed\":[\"start_blocks\",\"markdown_instructions\",\"contained_level_names\",\"encrypted_examples\",\"instructions\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"}]", + "audit_log": "[{\"changed_at\":\"2018-02-21 19:18:17 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-02-23 01:34:36 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-02-23 01:34:52 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-01 11:22:37 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-01 11:23:03 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-01 11:24:03 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 11:21:33 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 11:22:59 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 14:30:24 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:11:30 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:12:51 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:16:55 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:17:27 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:18:40 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-06 11:24:18 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:12:16 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:15:51 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:18:04 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:21:22 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:24:13 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:42:39 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:39:09 -0800\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:39:43 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:40:26 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:42:14 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-12 15:46:16 -0700\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-13 18:43:01 -0700\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:47:07 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:48:56 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:49:07 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 12:50:40 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 17:30:08 -0700\",\"changed\":[\"toolbox_blocks\",\"hide_animation_mode\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 18:21:03 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-23 16:15:40 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-26 14:54:18 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-26 14:56:12 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-28 00:57:34 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 00:58:08 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 00:58:26 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 18:40:17 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-30 16:44:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:45:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:46:37 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:52:41 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 17:01:10 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 17:02:04 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 19:16:49 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:08:29 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:08:51 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:14:23 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:19:08 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:23:56 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:14:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:19:10 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:24:30 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-20 23:51:01 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-04-23 20:23:10 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:31:11 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:32:51 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:33:56 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:35:02 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:39:26 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:25:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:26:46 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:27:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:28:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:30:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:19:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:19:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:21:20 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:22:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:24:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:24:33 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 18:37:19 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 19:46:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 19:47:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:53:25 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:54:48 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:56:44 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:00:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:03:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:05:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:06:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:07:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:07:47 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:11:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:17:34 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:23:03 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:24:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:07:24 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:10:42 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:15:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:27:35 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:28:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:28:36 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:29:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:31:25 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:36:01 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:37:12 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:43:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:44:24 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:49:16 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:53:02 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:58:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:23:28 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:24:05 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:29:35 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:31:17 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:32:14 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:08:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:10:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:10:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:11:45 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:12:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:15:02 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:15:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:16:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:17:43 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:18:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 19:50:55 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 19:56:41 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-01 18:35:38 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:26:48 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:31:21 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:32:45 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:35:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:37:28 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:38:18 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 17:47:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 18:00:53 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 18:01:59 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 22:31:17 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:07:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:37:20 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:38:03 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:38:54 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-03 17:05:51 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-04 00:46:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":1,\"changed_by_email\":\"josh@code.org\"},{\"changed_at\":\"2018-05-04 19:22:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-04 19:30:07 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 17:19:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 17:19:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:22:54 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:26:35 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:30:08 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:31:36 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-09 17:42:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 21:03:02 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-05-10 21:13:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 21:14:43 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 21:16:01 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-05-10 21:17:17 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-05-11 00:01:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"show_type_hints\"],\"changed_by_id\":53,\"changed_by_email\":\"test5@code.org\"},{\"changed_at\":\"2018-05-15 16:22:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 17:45:15 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 17:52:02 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:57:03 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:57:42 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:58:29 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:58:47 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:59:21 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:59:49 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:59:04 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"hide_custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-06 00:47:18 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-06 01:16:36 +0000\",\"changed\":[\"start_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-14 19:01:21 +0000\",\"changed\":[\"start_blocks\",\"custom_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-14 19:02:52 +0000\",\"changed\":[\"start_blocks\",\"markdown_instructions\",\"contained_level_names\",\"encrypted_examples\",\"instructions\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-27 17:53:48 +0000\",\"changed\":[\"start_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"}]", "level_concept_difficulty": { } }]]> diff --git a/dashboard/config/scripts/levels/Virtual Pet 2.level b/dashboard/config/scripts/levels/Virtual Pet 2.level index 3d96f6b2a040c..497b3306a61e8 100644 --- a/dashboard/config/scripts/levels/Virtual Pet 2.level +++ b/dashboard/config/scripts/levels/Virtual Pet 2.level @@ -8,7 +8,7 @@ "skin": "gamelab", "show_debug_watch": "true", "embed": "false", - "instructions_important": "false", + "instructions_important": "true", "submittable": "false", "is_k1": "false", "skip_instructions_popup": "false", @@ -43,7 +43,7 @@ ], "droplet_tooltips_disabled": "false", "lock_zero_param_functions": "false", - "start_animations": "{\r\n \r\n \"orderedKeys\": [\r\n \"8dfb76d9-a15b-43d0-82f2-69b069619359\",\r\n \"18dcfb13-55b3-4156-abc1-135edf103463\",\r\n \"9f98e76b-80d4-4593-9333-8f8d526d4dce\",\r\n \"c41eeff9-0f23-40e8-b01a-ab14f56fa183\",\r\n \"f301db45-48a3-45c5-a45e-fffdd8e5ee1d\",\r\n \"55f7b08e-a9d9-4f86-b2d1-5baf1a817fe4\",\r\n \"dfdcb6f8-a5ec-4d83-aa42-0b7d709081f4\",\r\n \"429679de-a5f6-476b-98eb-42fb1c7a9992\",\r\n \"4652d038-77a4-43bf-9c66-16bb79742ef9\",\r\n \"9ad519be-f846-4578-b0aa-78686aff9368\",\r\n \"09d90fb3-d809-4193-89e6-ea9152c1e015\",\r\n \"64057d90-40a3-4deb-87fb-ad5e64e4fdce\",\r\n \"10df2d40-baad-44d2-975b-c04cadbe30be\",\r\n \"c8b2aa8f-05bb-4dbc-8a29-b8cb78958fab\",\r\n \"650c7068-f025-43d4-8d31-5fd6d9c70701\",\r\n \"48fd4099-7ceb-464a-8964-adad57e4e87d\",\r\n \"b0befc88-0347-4756-8375-6a4989ffc90a\",\r\n \"f31ce599-2e53-4d3c-8862-ccbfeb90d93a\",\r\n \"81fd855a-9beb-4f44-b049-7d88ffe65376\",\r\n \"ddc74a56-2033-4194-81ca-6c0f4910ba86\",\r\n \"3fc82e56-8582-4804-ac66-68fee8a334e2\",\r\n \"57b3783d-fe35-4562-a8e3-feb19dd74031\",\r\n \"bc06eb81-766c-4f1a-98dc-776c12519d64\",\r\n \"8616f1dd-9060-4e5b-9e0d-8d54e2c24b8f\",\r\n \"23f50eb1-7564-4a33-bd52-8910ef186a6a\",\r\n \"4b720350-9ba0-454c-bfaa-a4073e08f78d\",\r\n \"0d07a497-717a-4e97-8fab-6e6cd4627c1b\",\r\n \"2d00ca36-3d60-4589-b72e-2883371ae232\",\r\n \"43cac766-4450-4001-bec6-c3856a415e82\",\r\n \"f7a83dd6-4609-4eed-a415-0335f80cc4ff\",\r\n \"3c806e6a-68f4-4acf-910e-7e6b3ad0f5d0\",\r\n \"9f42dd43-0e65-460d-b868-a449181e39b8\",\r\n \"43c5ad39-29e5-4444-9d21-3987fecc037f\",\r\n \"d868bce1-5819-4325-95ad-e9c8424dfa5a\",\r\n \"8093568a-2324-4645-bcac-d30caf8405bb\",\r\n \"3b788acc-84e8-40d2-97c6-ee7933a2b262\",\r\n \"27b2d651-8b6a-4f9d-b62e-1444333b97d4\",\r\n \"a4320bb4-5b7d-420d-be72-db4222f94e6e\",\r\n \"ebd02377-1e4a-4e2f-b7a5-a7fb3f9412e0\",\r\n \"9b4b7e2e-e279-469f-84bd-e3968fbcfe70\",\r\n \"0d269907-b1e8-494b-aeeb-a3293f093cfe\",\r\n \"017fe36e-dc51-495f-b75b-1de52b371109\",\r\n \"023bb8fa-bb0c-4694-bde1-c2c85fdb1369\",\r\n \"1527c762-76b2-4a38-8d52-14bac41145cb\",\r\n \"a32f8eb3-a9de-40b4-8c8c-0f9059ee1a34\",\r\n \"3c5fc665-9280-4337-b3da-02adf78b58d2\",\r\n \"de8b32e6-cd6d-4e4a-9a34-a81d150c8cb1\",\r\n \"69f92a2e-29aa-4716-8434-1f080c282c4f\",\r\n \"f9ac2d3d-2c0c-4279-9b6e-05bf7110dfbe\",\r\n \"c56d37de-4fb3-448c-9fc8-f1132629700f\",\r\n \"30ee3afa-e245-4fdd-b399-4d2570077c5d\",\r\n \"31b7b585-9765-48d5-8135-14136a7b461c\",\r\n \"fb21aae7-3c61-4615-99d8-60e7ac637c71\",\r\n \"cd765349-4f8c-4b30-b227-3d15edd63f78\",\r\n \"299560ac-e664-449e-bb0d-1c705e6e6928\",\r\n \"81230afd-fc82-4483-aeb7-9c1247647d28\",\r\n \"fc752fa0-1cf7-4e48-996b-87b3368531c5\"\r\n ],\r\n \"propsByKey\": {\r\n \"8dfb76d9-a15b-43d0-82f2-69b069619359\": {\r\n \"name\": \"bear\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/8dfb76d9-a15b-43d0-82f2-69b069619359.png?version=MVSdmNEPoAE2GKk0EUSdhYqY4C3PTZuY\",\r\n \"frameSize\": {\r\n \"x\": 76,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"MVSdmNEPoAE2GKk0EUSdhYqY4C3PTZuY\"\r\n },\r\n \"18dcfb13-55b3-4156-abc1-135edf103463\": {\r\n \"name\": \"bee\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/18dcfb13-55b3-4156-abc1-135edf103463.png?version=Ky_.gpXNijZdHly3_fbIK_Hd.Ts0hSr3\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 79\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"Ky_.gpXNijZdHly3_fbIK_Hd.Ts0hSr3\"\r\n },\r\n \"9f98e76b-80d4-4593-9333-8f8d526d4dce\": {\r\n \"name\": \"brown bunny\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/9f98e76b-80d4-4593-9333-8f8d526d4dce.png?version=eLdRebTFWpj.mHZXZpCqV_erPBikXw4c\",\r\n \"frameSize\": {\r\n \"x\": 66,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"eLdRebTFWpj.mHZXZpCqV_erPBikXw4c\"\r\n },\r\n \"c41eeff9-0f23-40e8-b01a-ab14f56fa183\": {\r\n \"name\": \"purple bunny\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/c41eeff9-0f23-40e8-b01a-ab14f56fa183.png?version=2KG2KIeaR01BDvNVTFnFt_sUqmIuP.sj\",\r\n \"frameSize\": {\r\n \"x\": 63,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"2KG2KIeaR01BDvNVTFnFt_sUqmIuP.sj\"\r\n },\r\n \"f301db45-48a3-45c5-a45e-fffdd8e5ee1d\": {\r\n \"name\": \"corgi\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/f301db45-48a3-45c5-a45e-fffdd8e5ee1d.png?version=LCueNJ9WF7juYDU9rt9iMZM08KQeaqy2\",\r\n \"frameSize\": {\r\n \"x\": 542,\r\n \"y\": 500\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"LCueNJ9WF7juYDU9rt9iMZM08KQeaqy2\"\r\n },\r\n \"55f7b08e-a9d9-4f86-b2d1-5baf1a817fe4\": {\r\n \"name\": \"cow\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/55f7b08e-a9d9-4f86-b2d1-5baf1a817fe4.png?version=2r0b3E_glSNq_N8HLPSyaSzdRmXnP9.c\",\r\n \"frameSize\": {\r\n \"x\": 88,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"2r0b3E_glSNq_N8HLPSyaSzdRmXnP9.c\"\r\n },\r\n \"dfdcb6f8-a5ec-4d83-aa42-0b7d709081f4\": {\r\n \"name\": \"crab\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/dfdcb6f8-a5ec-4d83-aa42-0b7d709081f4.png?version=i3pcPjDt8PfGfwjkZRcPw7WCY9.vc9aQ\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 66\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"i3pcPjDt8PfGfwjkZRcPw7WCY9.vc9aQ\"\r\n },\r\n \"429679de-a5f6-476b-98eb-42fb1c7a9992\": {\r\n \"name\": \"elephant\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/429679de-a5f6-476b-98eb-42fb1c7a9992.png?version=9aBDAUqtqVZmwe.ad.PuCAjlkfvxknET\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 95\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"9aBDAUqtqVZmwe.ad.PuCAjlkfvxknET\"\r\n },\r\n \"4652d038-77a4-43bf-9c66-16bb79742ef9\": {\r\n \"name\": \"fish\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/4652d038-77a4-43bf-9c66-16bb79742ef9.png?version=2LKp7yUR8qGuPb.SsxgmhbE24XhYQYwj\",\r\n \"frameSize\": {\r\n \"x\": 91,\r\n \"y\": 75\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"2LKp7yUR8qGuPb.SsxgmhbE24XhYQYwj\"\r\n },\r\n \"9ad519be-f846-4578-b0aa-78686aff9368\": {\r\n \"name\": \"hippo\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/9ad519be-f846-4578-b0aa-78686aff9368.png?version=k8R9uitXAsu3NJdEn5rZDxbRD9gmjnBW\",\r\n \"frameSize\": {\r\n \"x\": 81,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"k8R9uitXAsu3NJdEn5rZDxbRD9gmjnBW\"\r\n },\r\n \"09d90fb3-d809-4193-89e6-ea9152c1e015\": {\r\n \"name\": \"ladybug\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/09d90fb3-d809-4193-89e6-ea9152c1e015.png?version=3SgMnlg9xxSPVJsZdClppzFUBIE2ASYR\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 59\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"3SgMnlg9xxSPVJsZdClppzFUBIE2ASYR\"\r\n },\r\n \"64057d90-40a3-4deb-87fb-ad5e64e4fdce\": {\r\n \"name\": \"mouse\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/64057d90-40a3-4deb-87fb-ad5e64e4fdce.png?version=BZ9YiI7i.sw6kxTfLG8ibZtsF17v3a7L\",\r\n \"frameSize\": {\r\n \"x\": 59,\r\n \"y\": 35\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"BZ9YiI7i.sw6kxTfLG8ibZtsF17v3a7L\"\r\n },\r\n \"10df2d40-baad-44d2-975b-c04cadbe30be\": {\r\n \"name\": \"pig\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/10df2d40-baad-44d2-975b-c04cadbe30be.png?version=I2C5vcykhRoXL9OOCIQLJc47C7AnjtPy\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 89\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"I2C5vcykhRoXL9OOCIQLJc47C7AnjtPy\"\r\n },\r\n \"c8b2aa8f-05bb-4dbc-8a29-b8cb78958fab\": {\r\n \"name\": \"bell\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/wyks_lhYmiSPwyPQy8xydYuBJPL.zvUS/category_generic_items/bell.png\",\r\n \"frameSize\": {\r\n \"x\": 85,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"wyks_lhYmiSPwyPQy8xydYuBJPL.zvUS\"\r\n },\r\n \"650c7068-f025-43d4-8d31-5fd6d9c70701\": {\r\n \"name\": \"book\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/650c7068-f025-43d4-8d31-5fd6d9c70701.png?version=QQmQmpdGufGNLIKa30MvIbw_2PcJ9y8Y\",\r\n \"frameSize\": {\r\n \"x\": 87,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"QQmQmpdGufGNLIKa30MvIbw_2PcJ9y8Y\"\r\n },\r\n \"48fd4099-7ceb-464a-8964-adad57e4e87d\": {\r\n \"name\": \"compass\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/48fd4099-7ceb-464a-8964-adad57e4e87d.png?version=aDsUn_qfYfqSAOTDgnLdJS5DQkamD120\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 75\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"aDsUn_qfYfqSAOTDgnLdJS5DQkamD120\"\r\n },\r\n \"b0befc88-0347-4756-8375-6a4989ffc90a\": {\r\n \"name\": \"computer monitor\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/b0befc88-0347-4756-8375-6a4989ffc90a.png?version=mBct1WnOW1QRqU0QVrOfQhbvqDs1dZ7V\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 95\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"mBct1WnOW1QRqU0QVrOfQhbvqDs1dZ7V\"\r\n },\r\n \"f31ce599-2e53-4d3c-8862-ccbfeb90d93a\": {\r\n \"name\": \"first aid kit\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/f31ce599-2e53-4d3c-8862-ccbfeb90d93a.png?version=qfXrDaOyw3yD0YhFZVaeKxgrim.uzTj0\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"qfXrDaOyw3yD0YhFZVaeKxgrim.uzTj0\"\r\n },\r\n \"81fd855a-9beb-4f44-b049-7d88ffe65376\": {\r\n \"name\": \"keys\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/81fd855a-9beb-4f44-b049-7d88ffe65376.png?version=Es9DGZmAx_ShmhrXFuEXFfXBjdujHj5E\",\r\n \"frameSize\": {\r\n \"x\": 94,\r\n \"y\": 73\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"Es9DGZmAx_ShmhrXFuEXFfXBjdujHj5E\"\r\n },\r\n \"ddc74a56-2033-4194-81ca-6c0f4910ba86\": {\r\n \"name\": \"money\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/ddc74a56-2033-4194-81ca-6c0f4910ba86.png?version=6JG3TE9Sj3yvKCjf3AbHwcKto.241xBI\",\r\n \"frameSize\": {\r\n \"x\": 95,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"6JG3TE9Sj3yvKCjf3AbHwcKto.241xBI\"\r\n },\r\n \"3fc82e56-8582-4804-ac66-68fee8a334e2\": {\r\n \"name\": \"paint pallette\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/3fc82e56-8582-4804-ac66-68fee8a334e2.png?version=Sp0.AKNUNK.Dym.eQwwx0xWKAIgfMMCc\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 83\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"Sp0.AKNUNK.Dym.eQwwx0xWKAIgfMMCc\"\r\n },\r\n \"57b3783d-fe35-4562-a8e3-feb19dd74031\": {\r\n \"name\": \"potion\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/57b3783d-fe35-4562-a8e3-feb19dd74031.png?version=mEi4mXYjJZBqruNqS_hbHl1p8eFfWn7R\",\r\n \"frameSize\": {\r\n \"x\": 54,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"mEi4mXYjJZBqruNqS_hbHl1p8eFfWn7R\"\r\n },\r\n \"bc06eb81-766c-4f1a-98dc-776c12519d64\": {\r\n \"name\": \"tablet\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/bc06eb81-766c-4f1a-98dc-776c12519d64.png?version=ipv5bpa.5vQONR2dF8x4voPLyYYiPuO4\",\r\n \"frameSize\": {\r\n \"x\": 84,\r\n \"y\": 98\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"ipv5bpa.5vQONR2dF8x4voPLyYYiPuO4\"\r\n },\r\n \"8616f1dd-9060-4e5b-9e0d-8d54e2c24b8f\": {\r\n \"name\": \"teapot\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/8616f1dd-9060-4e5b-9e0d-8d54e2c24b8f.png?version=9uILGNJ5w1pEz8xRIPEGea8CLA0MZfVS\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 76\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"9uILGNJ5w1pEz8xRIPEGea8CLA0MZfVS\"\r\n },\r\n \"23f50eb1-7564-4a33-bd52-8910ef186a6a\": {\r\n \"name\": \"boat\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/tFAa19t579qKK_hf6Nc4mvHm2YkuF.GJ/category_vehicles/boat.png\",\r\n \"frameSize\": {\r\n \"x\": 128,\r\n \"y\": 128\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"tFAa19t579qKK_hf6Nc4mvHm2YkuF.GJ\"\r\n },\r\n \"4b720350-9ba0-454c-bfaa-a4073e08f78d\": {\r\n \"name\": \"black car\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/4b720350-9ba0-454c-bfaa-a4073e08f78d.png?version=aq5kOX8620ZZvvgaCnR7RauIwU9QNA3B\",\r\n \"frameSize\": {\r\n \"x\": 54,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"aq5kOX8620ZZvvgaCnR7RauIwU9QNA3B\"\r\n },\r\n \"0d07a497-717a-4e97-8fab-6e6cd4627c1b\": {\r\n \"name\": \"blue car\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/0d07a497-717a-4e97-8fab-6e6cd4627c1b.png?version=9zjXOORwE571IHwbgA4KNd8Cl75qvOB6\",\r\n \"frameSize\": {\r\n \"x\": 61,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"9zjXOORwE571IHwbgA4KNd8Cl75qvOB6\"\r\n },\r\n \"2d00ca36-3d60-4589-b72e-2883371ae232\": {\r\n \"name\": \"green car\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/2d00ca36-3d60-4589-b72e-2883371ae232.png?version=z3UQakYgm1yg4Xw8Pra9VM2sYC05Ax9P\",\r\n \"frameSize\": {\r\n \"x\": 53,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"z3UQakYgm1yg4Xw8Pra9VM2sYC05Ax9P\"\r\n },\r\n \"43cac766-4450-4001-bec6-c3856a415e82\": {\r\n \"name\": \"red car\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/43cac766-4450-4001-bec6-c3856a415e82.png?version=monJZJ.BCLeX.ym.V.BT.wZzJ5Cy.Mpu\",\r\n \"frameSize\": {\r\n \"x\": 53,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"monJZJ.BCLeX.ym.V.BT.wZzJ5Cy.Mpu\"\r\n },\r\n \"f7a83dd6-4609-4eed-a415-0335f80cc4ff\": {\r\n \"name\": \"yellow car\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/f7a83dd6-4609-4eed-a415-0335f80cc4ff.png?version=u_zEdruVMlfvVo8atWKVcabHt0sIyx1L\",\r\n \"frameSize\": {\r\n \"x\": 58,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"u_zEdruVMlfvVo8atWKVcabHt0sIyx1L\"\r\n },\r\n \"3c806e6a-68f4-4acf-910e-7e6b3ad0f5d0\": {\r\n \"name\": \"blue plane\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/.ApvGWkDQiZOglBVfOFwPSkPv.qELuPf/category_vehicles/planeBlue1.png\",\r\n \"frameSize\": {\r\n \"x\": 88,\r\n \"y\": 73\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \".ApvGWkDQiZOglBVfOFwPSkPv.qELuPf\"\r\n },\r\n \"9f42dd43-0e65-460d-b868-a449181e39b8\": {\r\n \"name\": \"red plane\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/oO2CEHRYhRHeulN6V5OdX2JAKtk.6N0K/category_vehicles/planeRed1.png\",\r\n \"frameSize\": {\r\n \"x\": 88,\r\n \"y\": 73\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"oO2CEHRYhRHeulN6V5OdX2JAKtk.6N0K\"\r\n },\r\n \"43c5ad39-29e5-4444-9d21-3987fecc037f\": {\r\n \"name\": \"blue alien\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/zd4LEPr15yvJQrHm7yi7obo_N9RTudLE/category_characters/alienBlue.png\",\r\n \"frameSize\": {\r\n \"x\": 66,\r\n \"y\": 92\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"zd4LEPr15yvJQrHm7yi7obo_N9RTudLE\"\r\n },\r\n \"d868bce1-5819-4325-95ad-e9c8424dfa5a\": {\r\n \"name\": \"green alien\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/3qqVaslWPlTDDg6Po4GHWLcgIWE7qh2J/category_characters/alienGreen.png\",\r\n \"frameSize\": {\r\n \"x\": 66,\r\n \"y\": 92\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"3qqVaslWPlTDDg6Po4GHWLcgIWE7qh2J\"\r\n },\r\n \"8093568a-2324-4645-bcac-d30caf8405bb\": {\r\n \"name\": \"pink alien\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/ecnW7rdKTB0fUrKRKrqIHbrHVvyWh5hu/category_characters/alienPink.png\",\r\n \"frameSize\": {\r\n \"x\": 66,\r\n \"y\": 92\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"ecnW7rdKTB0fUrKRKrqIHbrHVvyWh5hu\"\r\n },\r\n \"3b788acc-84e8-40d2-97c6-ee7933a2b262\": {\r\n \"name\": \"yellow alien\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/vX.4aiKiQ5g4hujfBaVmRlOe0M2UHiys/category_characters/alienYellow.png\",\r\n \"frameSize\": {\r\n \"x\": 66,\r\n \"y\": 82\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"vX.4aiKiQ5g4hujfBaVmRlOe0M2UHiys\"\r\n },\r\n \"27b2d651-8b6a-4f9d-b62e-1444333b97d4\": {\r\n \"name\": \"ghost\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/27b2d651-8b6a-4f9d-b62e-1444333b97d4.png?version=0kQur.A5ACCgn86_3CAgsP7_3NC92wXx\",\r\n \"frameSize\": {\r\n \"x\": 51,\r\n \"y\": 73\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"0kQur.A5ACCgn86_3CAgsP7_3NC92wXx\"\r\n },\r\n \"a4320bb4-5b7d-420d-be72-db4222f94e6e\": {\r\n \"name\": \"orange monster\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/a4320bb4-5b7d-420d-be72-db4222f94e6e.png?version=im5T6RcFJ55W90tCSXa76eSamZX8Zzfr\",\r\n \"frameSize\": {\r\n \"x\": 80,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"im5T6RcFJ55W90tCSXa76eSamZX8Zzfr\"\r\n },\r\n \"ebd02377-1e4a-4e2f-b7a5-a7fb3f9412e0\": {\r\n \"name\": \"green monster\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/ebd02377-1e4a-4e2f-b7a5-a7fb3f9412e0.png?version=KwPGu9hUEn0sNjJBOySlEmNEecJHZRUM\",\r\n \"frameSize\": {\r\n \"x\": 87,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"KwPGu9hUEn0sNjJBOySlEmNEecJHZRUM\"\r\n },\r\n \"9b4b7e2e-e279-469f-84bd-e3968fbcfe70\": {\r\n \"name\": \"purple monster\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/9b4b7e2e-e279-469f-84bd-e3968fbcfe70.png?version=TdB14igpQpIVizo84QukVtUNSVupVliv\",\r\n \"frameSize\": {\r\n \"x\": 97,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"TdB14igpQpIVizo84QukVtUNSVupVliv\"\r\n },\r\n \"0d269907-b1e8-494b-aeeb-a3293f093cfe\": {\r\n \"name\": \"cloud\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/0d269907-b1e8-494b-aeeb-a3293f093cfe.png?version=YzsMR.UUtHHKoeSnX8MZ_62NZOKejdBB\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 52\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"YzsMR.UUtHHKoeSnX8MZ_62NZOKejdBB\"\r\n },\r\n \"017fe36e-dc51-495f-b75b-1de52b371109\": {\r\n \"name\": \"rock\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/017fe36e-dc51-495f-b75b-1de52b371109.png?version=3B92e.XM4K2QbGPZ_mEAEzBKXpAUxDNI\",\r\n \"frameSize\": {\r\n \"x\": 92,\r\n \"y\": 47\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"3B92e.XM4K2QbGPZ_mEAEzBKXpAUxDNI\"\r\n },\r\n \"023bb8fa-bb0c-4694-bde1-c2c85fdb1369\": {\r\n \"name\": \"sun\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/023bb8fa-bb0c-4694-bde1-c2c85fdb1369.png?version=RT2gRKn3sEdodsD_pKRrLAQZdWr.RMK9\",\r\n \"frameSize\": {\r\n \"x\": 95,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"RT2gRKn3sEdodsD_pKRrLAQZdWr.RMK9\"\r\n },\r\n \"1527c762-76b2-4a38-8d52-14bac41145cb\": {\r\n \"name\": \"apple\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/1527c762-76b2-4a38-8d52-14bac41145cb.png?version=GfqQHTqf2oy8zwvQSi0nWyNCbr5bnmA0\",\r\n \"frameSize\": {\r\n \"x\": 68,\r\n \"y\": 74\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"GfqQHTqf2oy8zwvQSi0nWyNCbr5bnmA0\"\r\n },\r\n \"a32f8eb3-a9de-40b4-8c8c-0f9059ee1a34\": {\r\n \"name\": \"carrot\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/fCiFCbsTDOoiLsbStivUZ249XH0TOxIY/category_food/carrot.png\",\r\n \"frameSize\": {\r\n \"x\": 78,\r\n \"y\": 70\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"fCiFCbsTDOoiLsbStivUZ249XH0TOxIY\"\r\n },\r\n \"3c5fc665-9280-4337-b3da-02adf78b58d2\": {\r\n \"name\": \"cupcake\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/3c5fc665-9280-4337-b3da-02adf78b58d2.png?version=9gVv4Tp_TNKDUGYII2ti_JehGw0.jN7W\",\r\n \"frameSize\": {\r\n \"x\": 94,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"9gVv4Tp_TNKDUGYII2ti_JehGw0.jN7W\"\r\n },\r\n \"de8b32e6-cd6d-4e4a-9a34-a81d150c8cb1\": {\r\n \"name\": \"mushroom\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/FUHEI0ZIhRQ_wcJhJHwv73LP7bcSfuYa/category_food/mushroom_red.png\",\r\n \"frameSize\": {\r\n \"x\": 81,\r\n \"y\": 99\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"FUHEI0ZIhRQ_wcJhJHwv73LP7bcSfuYa\"\r\n },\r\n \"69f92a2e-29aa-4716-8434-1f080c282c4f\": {\r\n \"name\": \"watermelon\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/69f92a2e-29aa-4716-8434-1f080c282c4f.png?version=685dTZ5vjG05FiCOT5H0mymOgi_4d2Ue\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 79\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"685dTZ5vjG05FiCOT5H0mymOgi_4d2Ue\"\r\n },\r\n \"f9ac2d3d-2c0c-4279-9b6e-05bf7110dfbe\": {\r\n \"name\": \"gold coin\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/i9_exqo4EZveb7Cs3ci67bPuExMkYfuQ/category_gameplay/coin_gold.png\",\r\n \"frameSize\": {\r\n \"x\": 61,\r\n \"y\": 61\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"i9_exqo4EZveb7Cs3ci67bPuExMkYfuQ\"\r\n },\r\n \"c56d37de-4fb3-448c-9fc8-f1132629700f\": {\r\n \"name\": \"silver coin\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/vOdajK6KZGj20TqNy7gJo9YfriC9FDfl/category_gameplay/coin_silver.png\",\r\n \"frameSize\": {\r\n \"x\": 61,\r\n \"y\": 61\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"vOdajK6KZGj20TqNy7gJo9YfriC9FDfl\"\r\n },\r\n \"30ee3afa-e245-4fdd-b399-4d2570077c5d\": {\r\n \"name\": \"target\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/30ee3afa-e245-4fdd-b399-4d2570077c5d.png?version=mz9HCS7y0vMOktTnjYqgCYydYD7Jnl_S\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"mz9HCS7y0vMOktTnjYqgCYydYD7Jnl_S\"\r\n },\r\n \"31b7b585-9765-48d5-8135-14136a7b461c\": {\r\n \"name\": \"cactus\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/31b7b585-9765-48d5-8135-14136a7b461c.png?version=gc3ZNV2l4kI73.10kx9k4Up.O_Mn59zf\",\r\n \"frameSize\": {\r\n \"x\": 73,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"gc3ZNV2l4kI73.10kx9k4Up.O_Mn59zf\"\r\n },\r\n \"fb21aae7-3c61-4615-99d8-60e7ac637c71\": {\r\n \"name\": \"wheat\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/fb21aae7-3c61-4615-99d8-60e7ac637c71.png?version=5L2P2T4Yi_NQDgdM8zlUNNodFU_9gUUo\",\r\n \"frameSize\": {\r\n \"x\": 99,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"5L2P2T4Yi_NQDgdM8zlUNNodFU_9gUUo\"\r\n },\r\n \"cd765349-4f8c-4b30-b227-3d15edd63f78\": {\r\n \"name\": \"giraffe\",\r\n \"sourceUrl\": \"https://studio.code.org/v3/animations/209ThPsVf0LADjiT2-SQsA/cd765349-4f8c-4b30-b227-3d15edd63f78.png?version=HbmHI6UGuksDomsOz.cK3iL5WcSR5Xk.\",\r\n \"frameSize\": {\r\n \"x\": 95,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"HbmHI6UGuksDomsOz.cK3iL5WcSR5Xk\"\r\n },\r\n \"299560ac-e664-449e-bb0d-1c705e6e6928\": {\r\n \"name\": \"dirt patch\",\r\n \"sourceUrl\": \"https://studio.code.org/v3/animations/209ThPsVf0LADjiT2-SQsA/299560ac-e664-449e-bb0d-1c705e6e6928.png?version=_Xa5Q27Z57Srk94wLbm3kvmZ30cVizMt\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 95\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"_Xa5Q27Z57Srk94wLbm3kvmZ30cVizMt\"\r\n },\r\n \"81230afd-fc82-4483-aeb7-9c1247647d28\": {\r\n \"name\": \"soap\",\r\n \"sourceUrl\": \"https://studio.code.org/v3/animations/209ThPsVf0LADjiT2-SQsA/81230afd-fc82-4483-aeb7-9c1247647d28.png?version=OzFkXEKalzs4_U9MI6fZBz3fPQrRiO44\",\r\n \"frameSize\": {\r\n \"x\": 96,\r\n \"y\": 76\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"OzFkXEKalzs4_U9MI6fZBz3fPQrRiO44\"\r\n },\r\n \"fc752fa0-1cf7-4e48-996b-87b3368531c5\": {\r\n \"name\": \"ball\",\r\n \"sourceUrl\": \"https://studio.code.org/v3/animations/209ThPsVf0LADjiT2-SQsA/fc752fa0-1cf7-4e48-996b-87b3368531c5.png?version=DSfeplAcAXFmVKDugSMjY9s43lwt2zQv\",\r\n \"frameSize\": {\r\n \"x\": 82,\r\n \"y\": 82\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"DSfeplAcAXFmVKDugSMjY9s43lwt2zQv\"\r\n }\r\n }\r\n}", + "start_animations": "{\r\n \r\n \"orderedKeys\": [\r\n \"8dfb76d9-a15b-43d0-82f2-69b069619359\",\r\n \"18dcfb13-55b3-4156-abc1-135edf103463\",\r\n \"9f98e76b-80d4-4593-9333-8f8d526d4dce\",\r\n \"c41eeff9-0f23-40e8-b01a-ab14f56fa183\",\r\n \"f301db45-48a3-45c5-a45e-fffdd8e5ee1d\",\r\n \"55f7b08e-a9d9-4f86-b2d1-5baf1a817fe4\",\r\n \"dfdcb6f8-a5ec-4d83-aa42-0b7d709081f4\",\r\n \"429679de-a5f6-476b-98eb-42fb1c7a9992\",\r\n\"c1e751a6-4007-4447-8795-f38ecabdefc0\",\r\n \"9ad519be-f846-4578-b0aa-78686aff9368\",\r\n \"09d90fb3-d809-4193-89e6-ea9152c1e015\",\r\n \"64057d90-40a3-4deb-87fb-ad5e64e4fdce\",\r\n \"10df2d40-baad-44d2-975b-c04cadbe30be\",\r\n \"c8b2aa8f-05bb-4dbc-8a29-b8cb78958fab\",\r\n \"650c7068-f025-43d4-8d31-5fd6d9c70701\",\r\n \"48fd4099-7ceb-464a-8964-adad57e4e87d\",\r\n \"b0befc88-0347-4756-8375-6a4989ffc90a\",\r\n \"f31ce599-2e53-4d3c-8862-ccbfeb90d93a\",\r\n \"81fd855a-9beb-4f44-b049-7d88ffe65376\",\r\n \"ddc74a56-2033-4194-81ca-6c0f4910ba86\",\r\n \"3fc82e56-8582-4804-ac66-68fee8a334e2\",\r\n \"57b3783d-fe35-4562-a8e3-feb19dd74031\",\r\n \"bc06eb81-766c-4f1a-98dc-776c12519d64\",\r\n \"8616f1dd-9060-4e5b-9e0d-8d54e2c24b8f\",\r\n \"23f50eb1-7564-4a33-bd52-8910ef186a6a\",\r\n \"4b720350-9ba0-454c-bfaa-a4073e08f78d\",\r\n \"0d07a497-717a-4e97-8fab-6e6cd4627c1b\",\r\n \"2d00ca36-3d60-4589-b72e-2883371ae232\",\r\n \"43cac766-4450-4001-bec6-c3856a415e82\",\r\n \"f7a83dd6-4609-4eed-a415-0335f80cc4ff\",\r\n \"3c806e6a-68f4-4acf-910e-7e6b3ad0f5d0\",\r\n \"9f42dd43-0e65-460d-b868-a449181e39b8\",\r\n \"43c5ad39-29e5-4444-9d21-3987fecc037f\",\r\n \"d868bce1-5819-4325-95ad-e9c8424dfa5a\",\r\n \"8093568a-2324-4645-bcac-d30caf8405bb\",\r\n \"3b788acc-84e8-40d2-97c6-ee7933a2b262\",\r\n \"27b2d651-8b6a-4f9d-b62e-1444333b97d4\",\r\n \"a4320bb4-5b7d-420d-be72-db4222f94e6e\",\r\n \"ebd02377-1e4a-4e2f-b7a5-a7fb3f9412e0\",\r\n \"9b4b7e2e-e279-469f-84bd-e3968fbcfe70\",\r\n \"0d269907-b1e8-494b-aeeb-a3293f093cfe\",\r\n \"017fe36e-dc51-495f-b75b-1de52b371109\",\r\n \"023bb8fa-bb0c-4694-bde1-c2c85fdb1369\",\r\n \"1527c762-76b2-4a38-8d52-14bac41145cb\",\r\n \"a32f8eb3-a9de-40b4-8c8c-0f9059ee1a34\",\r\n \"3c5fc665-9280-4337-b3da-02adf78b58d2\",\r\n \"de8b32e6-cd6d-4e4a-9a34-a81d150c8cb1\",\r\n \"69f92a2e-29aa-4716-8434-1f080c282c4f\",\r\n \"f9ac2d3d-2c0c-4279-9b6e-05bf7110dfbe\",\r\n \"c56d37de-4fb3-448c-9fc8-f1132629700f\",\r\n \"30ee3afa-e245-4fdd-b399-4d2570077c5d\",\r\n \"31b7b585-9765-48d5-8135-14136a7b461c\",\r\n \"fb21aae7-3c61-4615-99d8-60e7ac637c71\",\r\n \"cd765349-4f8c-4b30-b227-3d15edd63f78\",\r\n \"299560ac-e664-449e-bb0d-1c705e6e6928\",\r\n \"642d2bdd-d19e-41eb-a17b-d1dc006f13ff\",\r\n \"fc752fa0-1cf7-4e48-996b-87b3368531c5\"\r\n ],\r\n \"propsByKey\": {\r\n \"8dfb76d9-a15b-43d0-82f2-69b069619359\": {\r\n \"name\": \"bear\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/8dfb76d9-a15b-43d0-82f2-69b069619359.png?version=MVSdmNEPoAE2GKk0EUSdhYqY4C3PTZuY\",\r\n \"frameSize\": {\r\n \"x\": 76,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"MVSdmNEPoAE2GKk0EUSdhYqY4C3PTZuY\"\r\n },\r\n \"18dcfb13-55b3-4156-abc1-135edf103463\": {\r\n \"name\": \"bee\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/18dcfb13-55b3-4156-abc1-135edf103463.png?version=Ky_.gpXNijZdHly3_fbIK_Hd.Ts0hSr3\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 79\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"Ky_.gpXNijZdHly3_fbIK_Hd.Ts0hSr3\"\r\n },\r\n \"9f98e76b-80d4-4593-9333-8f8d526d4dce\": {\r\n \"name\": \"brown bunny\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/9f98e76b-80d4-4593-9333-8f8d526d4dce.png?version=eLdRebTFWpj.mHZXZpCqV_erPBikXw4c\",\r\n \"frameSize\": {\r\n \"x\": 66,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"eLdRebTFWpj.mHZXZpCqV_erPBikXw4c\"\r\n },\r\n \"c41eeff9-0f23-40e8-b01a-ab14f56fa183\": {\r\n \"name\": \"purple bunny\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/c41eeff9-0f23-40e8-b01a-ab14f56fa183.png?version=2KG2KIeaR01BDvNVTFnFt_sUqmIuP.sj\",\r\n \"frameSize\": {\r\n \"x\": 63,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"2KG2KIeaR01BDvNVTFnFt_sUqmIuP.sj\"\r\n },\r\n \"f301db45-48a3-45c5-a45e-fffdd8e5ee1d\": {\r\n \"name\": \"corgi\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/f301db45-48a3-45c5-a45e-fffdd8e5ee1d.png?version=LCueNJ9WF7juYDU9rt9iMZM08KQeaqy2\",\r\n \"frameSize\": {\r\n \"x\": 542,\r\n \"y\": 500\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"LCueNJ9WF7juYDU9rt9iMZM08KQeaqy2\"\r\n },\r\n \"55f7b08e-a9d9-4f86-b2d1-5baf1a817fe4\": {\r\n \"name\": \"cow\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/55f7b08e-a9d9-4f86-b2d1-5baf1a817fe4.png?version=2r0b3E_glSNq_N8HLPSyaSzdRmXnP9.c\",\r\n \"frameSize\": {\r\n \"x\": 88,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"2r0b3E_glSNq_N8HLPSyaSzdRmXnP9.c\"\r\n },\r\n \"dfdcb6f8-a5ec-4d83-aa42-0b7d709081f4\": {\r\n \"name\": \"crab\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/dfdcb6f8-a5ec-4d83-aa42-0b7d709081f4.png?version=i3pcPjDt8PfGfwjkZRcPw7WCY9.vc9aQ\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 66\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"i3pcPjDt8PfGfwjkZRcPw7WCY9.vc9aQ\"\r\n },\r\n \"429679de-a5f6-476b-98eb-42fb1c7a9992\": {\r\n \"name\": \"elephant\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/429679de-a5f6-476b-98eb-42fb1c7a9992.png?version=9aBDAUqtqVZmwe.ad.PuCAjlkfvxknET\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 95\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"9aBDAUqtqVZmwe.ad.PuCAjlkfvxknET\"\r\n },\r\n \"c1e751a6-4007-4447-8795-f38ecabdefc0\": {\r\n \"name\": \"fish\",\r\n \"sourceUrl\": \"https://studio.code.org/v3/animations/qgDKF1w2UNt0ypCMrQeL5w/c1e751a6-4007-4447-8795-f38ecabdefc0.png?version=0IUNwUQl3CoqvRD3f9nxVW6Y.gheZ9rt\",\r\n \"frameSize\": {\r\n \"x\": 98,\r\n \"y\": 73\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"0IUNwUQl3CoqvRD3f9nxVW6Y.gheZ9rt\"\r\n },\r\n \"9ad519be-f846-4578-b0aa-78686aff9368\": {\r\n \"name\": \"hippo\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/9ad519be-f846-4578-b0aa-78686aff9368.png?version=k8R9uitXAsu3NJdEn5rZDxbRD9gmjnBW\",\r\n \"frameSize\": {\r\n \"x\": 81,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"k8R9uitXAsu3NJdEn5rZDxbRD9gmjnBW\"\r\n },\r\n \"09d90fb3-d809-4193-89e6-ea9152c1e015\": {\r\n \"name\": \"ladybug\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/09d90fb3-d809-4193-89e6-ea9152c1e015.png?version=3SgMnlg9xxSPVJsZdClppzFUBIE2ASYR\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 59\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"3SgMnlg9xxSPVJsZdClppzFUBIE2ASYR\"\r\n },\r\n \"64057d90-40a3-4deb-87fb-ad5e64e4fdce\": {\r\n \"name\": \"mouse\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/64057d90-40a3-4deb-87fb-ad5e64e4fdce.png?version=BZ9YiI7i.sw6kxTfLG8ibZtsF17v3a7L\",\r\n \"frameSize\": {\r\n \"x\": 59,\r\n \"y\": 35\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"BZ9YiI7i.sw6kxTfLG8ibZtsF17v3a7L\"\r\n },\r\n \"10df2d40-baad-44d2-975b-c04cadbe30be\": {\r\n \"name\": \"pig\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/10df2d40-baad-44d2-975b-c04cadbe30be.png?version=I2C5vcykhRoXL9OOCIQLJc47C7AnjtPy\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 89\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"I2C5vcykhRoXL9OOCIQLJc47C7AnjtPy\"\r\n },\r\n \"c8b2aa8f-05bb-4dbc-8a29-b8cb78958fab\": {\r\n \"name\": \"bell\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/wyks_lhYmiSPwyPQy8xydYuBJPL.zvUS/category_generic_items/bell.png\",\r\n \"frameSize\": {\r\n \"x\": 85,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"wyks_lhYmiSPwyPQy8xydYuBJPL.zvUS\"\r\n },\r\n \"650c7068-f025-43d4-8d31-5fd6d9c70701\": {\r\n \"name\": \"book\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/650c7068-f025-43d4-8d31-5fd6d9c70701.png?version=QQmQmpdGufGNLIKa30MvIbw_2PcJ9y8Y\",\r\n \"frameSize\": {\r\n \"x\": 87,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"QQmQmpdGufGNLIKa30MvIbw_2PcJ9y8Y\"\r\n },\r\n \"48fd4099-7ceb-464a-8964-adad57e4e87d\": {\r\n \"name\": \"compass\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/48fd4099-7ceb-464a-8964-adad57e4e87d.png?version=aDsUn_qfYfqSAOTDgnLdJS5DQkamD120\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 75\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"aDsUn_qfYfqSAOTDgnLdJS5DQkamD120\"\r\n },\r\n \"b0befc88-0347-4756-8375-6a4989ffc90a\": {\r\n \"name\": \"computer monitor\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/b0befc88-0347-4756-8375-6a4989ffc90a.png?version=mBct1WnOW1QRqU0QVrOfQhbvqDs1dZ7V\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 95\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"mBct1WnOW1QRqU0QVrOfQhbvqDs1dZ7V\"\r\n },\r\n \"f31ce599-2e53-4d3c-8862-ccbfeb90d93a\": {\r\n \"name\": \"first aid kit\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/f31ce599-2e53-4d3c-8862-ccbfeb90d93a.png?version=qfXrDaOyw3yD0YhFZVaeKxgrim.uzTj0\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"qfXrDaOyw3yD0YhFZVaeKxgrim.uzTj0\"\r\n },\r\n \"81fd855a-9beb-4f44-b049-7d88ffe65376\": {\r\n \"name\": \"keys\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/81fd855a-9beb-4f44-b049-7d88ffe65376.png?version=Es9DGZmAx_ShmhrXFuEXFfXBjdujHj5E\",\r\n \"frameSize\": {\r\n \"x\": 94,\r\n \"y\": 73\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"Es9DGZmAx_ShmhrXFuEXFfXBjdujHj5E\"\r\n },\r\n \"ddc74a56-2033-4194-81ca-6c0f4910ba86\": {\r\n \"name\": \"money\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/ddc74a56-2033-4194-81ca-6c0f4910ba86.png?version=6JG3TE9Sj3yvKCjf3AbHwcKto.241xBI\",\r\n \"frameSize\": {\r\n \"x\": 95,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"6JG3TE9Sj3yvKCjf3AbHwcKto.241xBI\"\r\n },\r\n \"3fc82e56-8582-4804-ac66-68fee8a334e2\": {\r\n \"name\": \"paint pallette\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/3fc82e56-8582-4804-ac66-68fee8a334e2.png?version=Sp0.AKNUNK.Dym.eQwwx0xWKAIgfMMCc\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 83\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"Sp0.AKNUNK.Dym.eQwwx0xWKAIgfMMCc\"\r\n },\r\n \"57b3783d-fe35-4562-a8e3-feb19dd74031\": {\r\n \"name\": \"potion\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/57b3783d-fe35-4562-a8e3-feb19dd74031.png?version=mEi4mXYjJZBqruNqS_hbHl1p8eFfWn7R\",\r\n \"frameSize\": {\r\n \"x\": 54,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"mEi4mXYjJZBqruNqS_hbHl1p8eFfWn7R\"\r\n },\r\n \"bc06eb81-766c-4f1a-98dc-776c12519d64\": {\r\n \"name\": \"tablet\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/bc06eb81-766c-4f1a-98dc-776c12519d64.png?version=ipv5bpa.5vQONR2dF8x4voPLyYYiPuO4\",\r\n \"frameSize\": {\r\n \"x\": 84,\r\n \"y\": 98\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"ipv5bpa.5vQONR2dF8x4voPLyYYiPuO4\"\r\n },\r\n \"8616f1dd-9060-4e5b-9e0d-8d54e2c24b8f\": {\r\n \"name\": \"teapot\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/8616f1dd-9060-4e5b-9e0d-8d54e2c24b8f.png?version=9uILGNJ5w1pEz8xRIPEGea8CLA0MZfVS\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 76\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"9uILGNJ5w1pEz8xRIPEGea8CLA0MZfVS\"\r\n },\r\n \"23f50eb1-7564-4a33-bd52-8910ef186a6a\": {\r\n \"name\": \"boat\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/tFAa19t579qKK_hf6Nc4mvHm2YkuF.GJ/category_vehicles/boat.png\",\r\n \"frameSize\": {\r\n \"x\": 128,\r\n \"y\": 128\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"tFAa19t579qKK_hf6Nc4mvHm2YkuF.GJ\"\r\n },\r\n \"4b720350-9ba0-454c-bfaa-a4073e08f78d\": {\r\n \"name\": \"black car\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/4b720350-9ba0-454c-bfaa-a4073e08f78d.png?version=aq5kOX8620ZZvvgaCnR7RauIwU9QNA3B\",\r\n \"frameSize\": {\r\n \"x\": 54,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"aq5kOX8620ZZvvgaCnR7RauIwU9QNA3B\"\r\n },\r\n \"0d07a497-717a-4e97-8fab-6e6cd4627c1b\": {\r\n \"name\": \"blue car\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/0d07a497-717a-4e97-8fab-6e6cd4627c1b.png?version=9zjXOORwE571IHwbgA4KNd8Cl75qvOB6\",\r\n \"frameSize\": {\r\n \"x\": 61,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"9zjXOORwE571IHwbgA4KNd8Cl75qvOB6\"\r\n },\r\n \"2d00ca36-3d60-4589-b72e-2883371ae232\": {\r\n \"name\": \"green car\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/2d00ca36-3d60-4589-b72e-2883371ae232.png?version=z3UQakYgm1yg4Xw8Pra9VM2sYC05Ax9P\",\r\n \"frameSize\": {\r\n \"x\": 53,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"z3UQakYgm1yg4Xw8Pra9VM2sYC05Ax9P\"\r\n },\r\n \"43cac766-4450-4001-bec6-c3856a415e82\": {\r\n \"name\": \"red car\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/43cac766-4450-4001-bec6-c3856a415e82.png?version=monJZJ.BCLeX.ym.V.BT.wZzJ5Cy.Mpu\",\r\n \"frameSize\": {\r\n \"x\": 53,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"monJZJ.BCLeX.ym.V.BT.wZzJ5Cy.Mpu\"\r\n },\r\n \"f7a83dd6-4609-4eed-a415-0335f80cc4ff\": {\r\n \"name\": \"yellow car\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/f7a83dd6-4609-4eed-a415-0335f80cc4ff.png?version=u_zEdruVMlfvVo8atWKVcabHt0sIyx1L\",\r\n \"frameSize\": {\r\n \"x\": 58,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"u_zEdruVMlfvVo8atWKVcabHt0sIyx1L\"\r\n },\r\n \"3c806e6a-68f4-4acf-910e-7e6b3ad0f5d0\": {\r\n \"name\": \"blue plane\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/.ApvGWkDQiZOglBVfOFwPSkPv.qELuPf/category_vehicles/planeBlue1.png\",\r\n \"frameSize\": {\r\n \"x\": 88,\r\n \"y\": 73\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \".ApvGWkDQiZOglBVfOFwPSkPv.qELuPf\"\r\n },\r\n \"9f42dd43-0e65-460d-b868-a449181e39b8\": {\r\n \"name\": \"red plane\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/oO2CEHRYhRHeulN6V5OdX2JAKtk.6N0K/category_vehicles/planeRed1.png\",\r\n \"frameSize\": {\r\n \"x\": 88,\r\n \"y\": 73\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"oO2CEHRYhRHeulN6V5OdX2JAKtk.6N0K\"\r\n },\r\n \"43c5ad39-29e5-4444-9d21-3987fecc037f\": {\r\n \"name\": \"blue alien\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/zd4LEPr15yvJQrHm7yi7obo_N9RTudLE/category_characters/alienBlue.png\",\r\n \"frameSize\": {\r\n \"x\": 66,\r\n \"y\": 92\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"zd4LEPr15yvJQrHm7yi7obo_N9RTudLE\"\r\n },\r\n \"d868bce1-5819-4325-95ad-e9c8424dfa5a\": {\r\n \"name\": \"green alien\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/3qqVaslWPlTDDg6Po4GHWLcgIWE7qh2J/category_characters/alienGreen.png\",\r\n \"frameSize\": {\r\n \"x\": 66,\r\n \"y\": 92\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"3qqVaslWPlTDDg6Po4GHWLcgIWE7qh2J\"\r\n },\r\n \"8093568a-2324-4645-bcac-d30caf8405bb\": {\r\n \"name\": \"pink alien\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/ecnW7rdKTB0fUrKRKrqIHbrHVvyWh5hu/category_characters/alienPink.png\",\r\n \"frameSize\": {\r\n \"x\": 66,\r\n \"y\": 92\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"ecnW7rdKTB0fUrKRKrqIHbrHVvyWh5hu\"\r\n },\r\n \"3b788acc-84e8-40d2-97c6-ee7933a2b262\": {\r\n \"name\": \"yellow alien\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/vX.4aiKiQ5g4hujfBaVmRlOe0M2UHiys/category_characters/alienYellow.png\",\r\n \"frameSize\": {\r\n \"x\": 66,\r\n \"y\": 82\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"vX.4aiKiQ5g4hujfBaVmRlOe0M2UHiys\"\r\n },\r\n \"27b2d651-8b6a-4f9d-b62e-1444333b97d4\": {\r\n \"name\": \"ghost\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/27b2d651-8b6a-4f9d-b62e-1444333b97d4.png?version=0kQur.A5ACCgn86_3CAgsP7_3NC92wXx\",\r\n \"frameSize\": {\r\n \"x\": 51,\r\n \"y\": 73\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"0kQur.A5ACCgn86_3CAgsP7_3NC92wXx\"\r\n },\r\n \"a4320bb4-5b7d-420d-be72-db4222f94e6e\": {\r\n \"name\": \"orange monster\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/a4320bb4-5b7d-420d-be72-db4222f94e6e.png?version=im5T6RcFJ55W90tCSXa76eSamZX8Zzfr\",\r\n \"frameSize\": {\r\n \"x\": 80,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"im5T6RcFJ55W90tCSXa76eSamZX8Zzfr\"\r\n },\r\n \"ebd02377-1e4a-4e2f-b7a5-a7fb3f9412e0\": {\r\n \"name\": \"green monster\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/ebd02377-1e4a-4e2f-b7a5-a7fb3f9412e0.png?version=KwPGu9hUEn0sNjJBOySlEmNEecJHZRUM\",\r\n \"frameSize\": {\r\n \"x\": 87,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"KwPGu9hUEn0sNjJBOySlEmNEecJHZRUM\"\r\n },\r\n \"9b4b7e2e-e279-469f-84bd-e3968fbcfe70\": {\r\n \"name\": \"purple monster\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/9b4b7e2e-e279-469f-84bd-e3968fbcfe70.png?version=TdB14igpQpIVizo84QukVtUNSVupVliv\",\r\n \"frameSize\": {\r\n \"x\": 97,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"TdB14igpQpIVizo84QukVtUNSVupVliv\"\r\n },\r\n \"0d269907-b1e8-494b-aeeb-a3293f093cfe\": {\r\n \"name\": \"cloud\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/0d269907-b1e8-494b-aeeb-a3293f093cfe.png?version=YzsMR.UUtHHKoeSnX8MZ_62NZOKejdBB\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 52\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"YzsMR.UUtHHKoeSnX8MZ_62NZOKejdBB\"\r\n },\r\n \"017fe36e-dc51-495f-b75b-1de52b371109\": {\r\n \"name\": \"rock\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/017fe36e-dc51-495f-b75b-1de52b371109.png?version=3B92e.XM4K2QbGPZ_mEAEzBKXpAUxDNI\",\r\n \"frameSize\": {\r\n \"x\": 92,\r\n \"y\": 47\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"3B92e.XM4K2QbGPZ_mEAEzBKXpAUxDNI\"\r\n },\r\n \"023bb8fa-bb0c-4694-bde1-c2c85fdb1369\": {\r\n \"name\": \"sun\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/023bb8fa-bb0c-4694-bde1-c2c85fdb1369.png?version=RT2gRKn3sEdodsD_pKRrLAQZdWr.RMK9\",\r\n \"frameSize\": {\r\n \"x\": 95,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"RT2gRKn3sEdodsD_pKRrLAQZdWr.RMK9\"\r\n },\r\n \"1527c762-76b2-4a38-8d52-14bac41145cb\": {\r\n \"name\": \"apple\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/1527c762-76b2-4a38-8d52-14bac41145cb.png?version=GfqQHTqf2oy8zwvQSi0nWyNCbr5bnmA0\",\r\n \"frameSize\": {\r\n \"x\": 68,\r\n \"y\": 74\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"GfqQHTqf2oy8zwvQSi0nWyNCbr5bnmA0\"\r\n },\r\n \"a32f8eb3-a9de-40b4-8c8c-0f9059ee1a34\": {\r\n \"name\": \"carrot\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/fCiFCbsTDOoiLsbStivUZ249XH0TOxIY/category_food/carrot.png\",\r\n \"frameSize\": {\r\n \"x\": 78,\r\n \"y\": 70\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"fCiFCbsTDOoiLsbStivUZ249XH0TOxIY\"\r\n },\r\n \"3c5fc665-9280-4337-b3da-02adf78b58d2\": {\r\n \"name\": \"cupcake\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/3c5fc665-9280-4337-b3da-02adf78b58d2.png?version=9gVv4Tp_TNKDUGYII2ti_JehGw0.jN7W\",\r\n \"frameSize\": {\r\n \"x\": 94,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"9gVv4Tp_TNKDUGYII2ti_JehGw0.jN7W\"\r\n },\r\n \"de8b32e6-cd6d-4e4a-9a34-a81d150c8cb1\": {\r\n \"name\": \"mushroom\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/FUHEI0ZIhRQ_wcJhJHwv73LP7bcSfuYa/category_food/mushroom_red.png\",\r\n \"frameSize\": {\r\n \"x\": 81,\r\n \"y\": 99\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"FUHEI0ZIhRQ_wcJhJHwv73LP7bcSfuYa\"\r\n },\r\n \"69f92a2e-29aa-4716-8434-1f080c282c4f\": {\r\n \"name\": \"watermelon\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/69f92a2e-29aa-4716-8434-1f080c282c4f.png?version=685dTZ5vjG05FiCOT5H0mymOgi_4d2Ue\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 79\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"685dTZ5vjG05FiCOT5H0mymOgi_4d2Ue\"\r\n },\r\n \"f9ac2d3d-2c0c-4279-9b6e-05bf7110dfbe\": {\r\n \"name\": \"gold coin\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/i9_exqo4EZveb7Cs3ci67bPuExMkYfuQ/category_gameplay/coin_gold.png\",\r\n \"frameSize\": {\r\n \"x\": 61,\r\n \"y\": 61\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"i9_exqo4EZveb7Cs3ci67bPuExMkYfuQ\"\r\n },\r\n \"c56d37de-4fb3-448c-9fc8-f1132629700f\": {\r\n \"name\": \"silver coin\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/api/v1/animation-library/vOdajK6KZGj20TqNy7gJo9YfriC9FDfl/category_gameplay/coin_silver.png\",\r\n \"frameSize\": {\r\n \"x\": 61,\r\n \"y\": 61\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"vOdajK6KZGj20TqNy7gJo9YfriC9FDfl\"\r\n },\r\n \"30ee3afa-e245-4fdd-b399-4d2570077c5d\": {\r\n \"name\": \"target\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/30ee3afa-e245-4fdd-b399-4d2570077c5d.png?version=mz9HCS7y0vMOktTnjYqgCYydYD7Jnl_S\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"mz9HCS7y0vMOktTnjYqgCYydYD7Jnl_S\"\r\n },\r\n \"31b7b585-9765-48d5-8135-14136a7b461c\": {\r\n \"name\": \"cactus\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/31b7b585-9765-48d5-8135-14136a7b461c.png?version=gc3ZNV2l4kI73.10kx9k4Up.O_Mn59zf\",\r\n \"frameSize\": {\r\n \"x\": 73,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"gc3ZNV2l4kI73.10kx9k4Up.O_Mn59zf\"\r\n },\r\n \"fb21aae7-3c61-4615-99d8-60e7ac637c71\": {\r\n \"name\": \"wheat\",\r\n \"sourceUrl\": \"https://levelbuilder-studio.code.org/v3/animations/PkH20_2tpk7B0m53R_p3pQ/fb21aae7-3c61-4615-99d8-60e7ac637c71.png?version=5L2P2T4Yi_NQDgdM8zlUNNodFU_9gUUo\",\r\n \"frameSize\": {\r\n \"x\": 99,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"5L2P2T4Yi_NQDgdM8zlUNNodFU_9gUUo\"\r\n },\r\n \"cd765349-4f8c-4b30-b227-3d15edd63f78\": {\r\n \"name\": \"giraffe\",\r\n \"sourceUrl\": \"https://studio.code.org/v3/animations/209ThPsVf0LADjiT2-SQsA/cd765349-4f8c-4b30-b227-3d15edd63f78.png?version=HbmHI6UGuksDomsOz.cK3iL5WcSR5Xk.\",\r\n \"frameSize\": {\r\n \"x\": 95,\r\n \"y\": 100\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 2,\r\n \"version\": \"HbmHI6UGuksDomsOz.cK3iL5WcSR5Xk\"\r\n },\r\n \"299560ac-e664-449e-bb0d-1c705e6e6928\": {\r\n \"name\": \"dirt patch\",\r\n \"sourceUrl\": \"https://studio.code.org/v3/animations/209ThPsVf0LADjiT2-SQsA/299560ac-e664-449e-bb0d-1c705e6e6928.png?version=_Xa5Q27Z57Srk94wLbm3kvmZ30cVizMt\",\r\n \"frameSize\": {\r\n \"x\": 100,\r\n \"y\": 95\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"_Xa5Q27Z57Srk94wLbm3kvmZ30cVizMt\"\r\n },\r\n \"642d2bdd-d19e-41eb-a17b-d1dc006f13ff\": {\r\n \"name\": \"soap\",\r\n \"sourceUrl\": \"https://studio.code.org/v3/animations/qgDKF1w2UNt0ypCMrQeL5w/642d2bdd-d19e-41eb-a17b-d1dc006f13ff.png?version=osfKLQLQNr8b8TENQ4P9sEAVUopzCV8G\",\r\n \"frameSize\": {\r\n \"x\": 97,\r\n \"y\": 97\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"osfKLQLQNr8b8TENQ4P9sEAVUopzCV8G\"\r\n },\r\n \"fc752fa0-1cf7-4e48-996b-87b3368531c5\": {\r\n \"name\": \"ball\",\r\n \"sourceUrl\": \"https://studio.code.org/v3/animations/209ThPsVf0LADjiT2-SQsA/fc752fa0-1cf7-4e48-996b-87b3368531c5.png?version=DSfeplAcAXFmVKDugSMjY9s43lwt2zQv\",\r\n \"frameSize\": {\r\n \"x\": 82,\r\n \"y\": 82\r\n },\r\n \"frameCount\": 1,\r\n \"looping\": true,\r\n \"frameDelay\": 12,\r\n \"version\": \"DSfeplAcAXFmVKDugSMjY9s43lwt2zQv\"\r\n }\r\n }\r\n}", "custom_blocks": "[\r\n {\r\n \"func\": \"draggable\",\r\n \"blockText\": \"being draggable\",\r\n \"returnType\": \"Behavior\",\r\n \"color\": [\r\n 136,\r\n \".84\",\r\n \".80\"\r\n ]\r\n },\r\n {\r\n \"func\": \"faceDirection\",\r\n \"blockText\": \"{SPRITE} face {DIRECTION}\",\r\n \"args\": [\r\n {\r\n \"name\": \"SPRITE\",\r\n \"type\": \"Sprite\"\r\n },\r\n {\r\n \"name\": \"DIRECTION\",\r\n \"options\": [\r\n [\r\n \"right\",\r\n \"1\"\r\n ],\r\n [\r\n \"left\",\r\n \"-1\"\r\n ]\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n \"func\": \"followingSprite\",\r\n \"blockText\": \"following {TARGET}\",\r\n \"returnType\": \"Behavior\",\r\n \"color\": [\r\n 136,\r\n \".84\",\r\n \".80\"\r\n ],\r\n \"args\": [\r\n {\r\n \"name\": \"TARGET\",\r\n \"type\": \"Sprite\"\r\n }\r\n ]\r\n }\r\n]", "hide_custom_blocks": "true", "use_default_sprites": "false", @@ -53,11 +53,15 @@ "markdown_instructions": "There's a mud puddle over in the corner. \r\n\r\nCreate an **event** so that when Geraldine touches the puddle, her color changes to brown. \r\n\r\n---", "show_type_hints": "true", "instructions": "Create an **event** so that when Geraldine touches the puddle, her color changes to brown.", - "contained_level_names": null + "include_shared_functions": "false", + "contained_level_names": null, + "encrypted_examples": [ + + ] }, "published": true, "notes": "", - "audit_log": "[{\"changed_at\":\"2018-02-21 19:18:17 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-02-23 01:34:36 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-02-23 01:34:52 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-01 11:22:37 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-01 11:23:03 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-01 11:24:03 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 11:21:33 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 11:22:59 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 14:30:24 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:11:30 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:12:51 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:16:55 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:17:27 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:18:40 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-06 11:24:18 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:12:16 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:15:51 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:18:04 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:21:22 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:24:13 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:42:39 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:39:09 -0800\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:39:43 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:40:26 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:42:14 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-12 15:46:16 -0700\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-13 18:43:01 -0700\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:47:07 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:48:56 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:49:07 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 12:50:40 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 17:30:08 -0700\",\"changed\":[\"toolbox_blocks\",\"hide_animation_mode\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 18:21:03 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-23 16:15:40 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-26 14:54:18 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-26 14:56:12 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-28 00:57:34 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 00:58:08 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 00:58:26 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 18:40:17 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-30 16:44:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:45:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:46:37 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:52:41 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 17:01:10 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 17:02:04 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 19:16:49 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:08:29 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:08:51 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:14:23 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:19:08 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:23:56 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:14:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:19:10 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:24:30 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-20 23:51:01 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-04-23 20:23:10 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:31:11 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:32:51 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:33:56 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:35:02 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:39:26 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:25:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:26:46 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:27:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:28:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:30:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:19:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:19:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:21:20 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:22:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:24:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:24:33 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 18:37:19 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 19:46:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 19:47:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:53:25 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:54:48 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:56:44 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:00:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:03:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:05:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:06:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:07:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:07:47 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:11:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:17:34 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:23:03 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:24:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:07:24 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:10:42 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:15:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:27:35 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:28:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:28:36 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:29:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:31:25 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:36:01 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:37:12 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:43:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:44:24 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:49:16 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:53:02 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:58:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:23:28 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:24:05 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:29:35 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:31:17 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:32:14 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:08:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:10:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:10:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:11:45 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:12:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:15:02 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:15:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:16:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:17:43 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:18:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 19:50:55 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 19:56:41 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-01 18:35:38 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:26:48 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:31:21 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:32:45 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:35:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:37:28 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:38:18 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 17:47:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 18:00:53 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 18:01:59 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 22:31:17 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:07:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:37:20 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:38:03 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:38:54 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-03 17:05:51 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-04 00:46:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":1,\"changed_by_email\":\"josh@code.org\"},{\"changed_at\":\"2018-05-04 19:22:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-04 19:30:07 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 17:19:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 17:19:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:22:54 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:26:35 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:30:08 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:31:36 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-09 17:42:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 21:03:02 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-05-10 21:13:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 21:14:43 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 21:16:01 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-05-10 21:17:17 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-05-11 00:01:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"show_type_hints\"],\"changed_by_id\":53,\"changed_by_email\":\"test5@code.org\"},{\"changed_at\":\"2018-05-15 16:22:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 17:45:15 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 17:52:02 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:57:03 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:57:42 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:58:29 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:58:47 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:59:21 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:59:49 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:01:03 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:02:27 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:02:40 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 23:00:31 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 23:00:53 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"project_template_level_name\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 23:03:47 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 23:04:12 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 23:04:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 23:22:04 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-18 23:28:04 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-06 00:48:21 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-06 00:51:29 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-06 01:17:16 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 16:12:07 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"use_modal_function_editor\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 16:19:14 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 16:20:08 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 16:22:06 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 21:10:21 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-12 00:03:05 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-14 19:03:57 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"}]", + "audit_log": "[{\"changed_at\":\"2018-02-21 19:18:17 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-02-23 01:34:36 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-02-23 01:34:52 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-01 11:22:37 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-01 11:23:03 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-01 11:24:03 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 11:21:33 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 11:22:59 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 14:30:24 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:11:30 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:12:51 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:16:55 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:17:27 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:18:40 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-06 11:24:18 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:12:16 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:15:51 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:18:04 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:21:22 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:24:13 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:42:39 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:39:09 -0800\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:39:43 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:40:26 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:42:14 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-12 15:46:16 -0700\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-13 18:43:01 -0700\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:47:07 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:48:56 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:49:07 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 12:50:40 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 17:30:08 -0700\",\"changed\":[\"toolbox_blocks\",\"hide_animation_mode\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 18:21:03 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-23 16:15:40 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-26 14:54:18 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-26 14:56:12 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-28 00:57:34 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 00:58:08 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 00:58:26 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 18:40:17 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-30 16:44:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:45:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:46:37 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:52:41 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 17:01:10 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 17:02:04 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 19:16:49 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:08:29 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:08:51 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:14:23 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:19:08 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:23:56 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:14:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:19:10 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:24:30 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-20 23:51:01 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-04-23 20:23:10 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:31:11 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:32:51 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:33:56 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:35:02 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:39:26 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:25:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:26:46 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:27:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:28:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:30:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:19:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:19:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:21:20 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:22:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:24:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:24:33 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 18:37:19 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 19:46:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 19:47:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:53:25 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:54:48 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:56:44 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:00:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:03:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:05:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:06:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:07:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:07:47 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:11:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:17:34 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:23:03 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:24:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:07:24 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:10:42 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:15:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:27:35 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:28:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:28:36 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:29:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:31:25 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:36:01 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:37:12 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:43:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:44:24 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:49:16 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:53:02 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:58:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:23:28 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:24:05 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:29:35 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:31:17 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:32:14 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:08:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:10:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:10:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:11:45 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:12:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:15:02 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:15:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:16:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:17:43 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:18:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 19:50:55 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 19:56:41 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-01 18:35:38 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:26:48 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:31:21 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:32:45 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:35:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:37:28 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:38:18 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 17:47:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 18:00:53 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 18:01:59 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 22:31:17 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:07:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:37:20 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:38:03 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:38:54 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-03 17:05:51 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-04 00:46:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":1,\"changed_by_email\":\"josh@code.org\"},{\"changed_at\":\"2018-05-04 19:22:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-04 19:30:07 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 17:19:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 17:19:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:22:54 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:26:35 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:30:08 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:31:36 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-09 17:42:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 21:03:02 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-05-10 21:13:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 21:14:43 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 21:16:01 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-05-10 21:17:17 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-05-11 00:01:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"show_type_hints\"],\"changed_by_id\":53,\"changed_by_email\":\"test5@code.org\"},{\"changed_at\":\"2018-05-15 16:22:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 17:45:15 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 17:52:02 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:57:03 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:57:42 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:58:29 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:58:47 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:59:21 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:59:49 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:01:03 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:02:27 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:02:40 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 23:00:31 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 23:00:53 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"project_template_level_name\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 23:03:47 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 23:04:12 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 23:04:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 23:22:04 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-18 23:28:04 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-06 00:48:21 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-06 00:51:29 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-06 01:17:16 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 16:12:07 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"use_modal_function_editor\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 16:19:14 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 16:20:08 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 16:22:06 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 21:10:21 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-12 00:03:05 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-14 19:03:57 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-26 20:34:32 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-26 22:08:45 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-26 22:09:58 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-27 18:02:56 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"instructions_important\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"}]", "level_concept_difficulty": { } }]]> @@ -111,7 +115,9 @@ - + + wandering + diff --git a/dashboard/config/scripts/levels/Virtual Pet 4.level b/dashboard/config/scripts/levels/Virtual Pet 4.level index d00f4c6d1bd5b..1636fa1738a15 100644 --- a/dashboard/config/scripts/levels/Virtual Pet 4.level +++ b/dashboard/config/scripts/levels/Virtual Pet 4.level @@ -50,15 +50,19 @@ "custom_helper_library": "var wanderTargetPoint={};\r\n\r\n\r\nfunction draggable() {\r\n var behavior = function(sprite) {\r\n if (mousePressedOver(sprite) && !sprite.dragging) {\r\n sprite.dragging = true;\r\n sprite.xOffset = sprite.x - World.mouseX;\r\n sprite.yOffset = sprite.y - World.mouseY;\r\n }\r\n if (sprite.dragging) {\r\n sprite.x = World.mouseX + sprite.xOffset;\r\n sprite.y = World.mouseY + sprite.yOffset;\r\n }\r\n if (mouseWentUp()) {\r\n sprite.dragging = false;\r\n }\r\n }\r\n behavior.name='draggable';\r\n return behavior;\r\n}\r\n\r\nfunction moveToward(sprite,distance,target) {\r\n //The canvas coordinate system is different, hence the need to negate things\r\n var angleOfMovement=Math.atan2((-1*target.y+sprite.y),(-1*target.x+sprite.x));\r\n var dx = distance*Math.cos(angleOfMovement);\r\n var dy = distance*Math.sin(angleOfMovement);\r\n sprite.x-=dx;\r\n sprite.y-=dy;\r\n}\r\nfunction followingSprite(target) {\r\n var behavior = function(sprite) {\r\n moveToward(sprite,5,target);\r\n }\r\n behavior.name = 'followingSprite';\r\n return behavior;\r\n}", "auto_run_setup": "DRAW_LOOP", "parent_level_id": 14162, - "markdown_instructions": "We don't want to wait for the giraffe to clean itself every time. \r\n\r\nAdd a behavior to your soap to make it draggable, then drag it over to clean the giraffe!\r\n\r\n---", + "markdown_instructions": "We don't want to wait for the giraffe to clean itself every time. \r\n\r\nAdd a behavior to your soap to make it draggable, then drag it over to clean the giraffe!\r\n", "show_type_hints": "true", "project_template_level_name": "Virtual Pet 2", "instructions": "Add a behavior to your soap to make it draggable, then drag it over to clean the giraffe!", - "contained_level_names": null + "contained_level_names": null, + "encrypted_examples": [ + + ], + "include_shared_functions": "false" }, "published": true, "notes": "", - "audit_log": "[{\"changed_at\":\"2018-02-21 19:18:17 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-02-23 01:34:36 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-02-23 01:34:52 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-01 11:22:37 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-01 11:23:03 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-01 11:24:03 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 11:21:33 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 11:22:59 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 14:30:24 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:11:30 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:12:51 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:16:55 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:17:27 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:18:40 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-06 11:24:18 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:12:16 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:15:51 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:18:04 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:21:22 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:24:13 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:42:39 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:39:09 -0800\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:39:43 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:40:26 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:42:14 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-12 15:46:16 -0700\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-13 18:43:01 -0700\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:47:07 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:48:56 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:49:07 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 12:50:40 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 17:30:08 -0700\",\"changed\":[\"toolbox_blocks\",\"hide_animation_mode\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 18:21:03 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-23 16:15:40 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-26 14:54:18 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-26 14:56:12 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-28 00:57:34 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 00:58:08 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 00:58:26 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 18:40:17 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-30 16:44:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:45:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:46:37 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:52:41 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 17:01:10 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 17:02:04 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 19:16:49 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:08:29 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:08:51 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:14:23 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:19:08 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:23:56 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:14:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:19:10 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:24:30 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-20 23:51:01 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-04-23 20:23:10 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:31:11 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:32:51 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:33:56 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:35:02 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:39:26 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:25:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:26:46 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:27:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:28:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:30:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:19:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:19:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:21:20 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:22:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:24:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:24:33 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 18:37:19 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 19:46:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 19:47:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:53:25 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:54:48 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:56:44 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:00:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:03:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:05:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:06:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:07:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:07:47 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:11:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:17:34 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:23:03 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:24:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:07:24 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:10:42 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:15:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:27:35 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:28:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:28:36 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:29:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:31:25 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:36:01 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:37:12 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:43:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:44:24 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:49:16 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:53:02 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:58:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:23:28 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:24:05 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:29:35 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:31:17 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:32:14 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:08:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:10:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:10:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:11:45 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:12:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:15:02 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:15:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:16:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:17:43 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:18:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 19:50:55 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 19:56:41 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-01 18:35:38 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:26:48 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:31:21 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:32:45 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:35:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:37:28 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:38:18 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 17:47:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 18:00:53 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 18:01:59 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 22:31:17 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:07:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:37:20 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:38:03 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:38:54 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-03 17:05:51 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-04 00:46:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":1,\"changed_by_email\":\"josh@code.org\"},{\"changed_at\":\"2018-05-04 19:22:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-04 19:30:07 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 17:19:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 17:19:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:22:54 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:26:35 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:30:08 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:31:36 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-09 17:42:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 21:03:02 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-05-10 21:13:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 21:14:43 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 21:16:01 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-05-10 21:17:17 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-05-11 00:01:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"show_type_hints\"],\"changed_by_id\":53,\"changed_by_email\":\"test5@code.org\"},{\"changed_at\":\"2018-05-15 16:22:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 17:45:15 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 17:52:02 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:57:03 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:57:42 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:58:29 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:58:47 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:59:21 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:59:49 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:01:03 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:02:27 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:02:40 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:03:55 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:04:51 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-18 01:45:37 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-06 01:18:45 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 16:36:26 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"use_modal_function_editor\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 21:07:38 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-14 19:08:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"}]", + "audit_log": "[{\"changed_at\":\"2018-02-21 19:18:17 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-02-23 01:34:36 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-02-23 01:34:52 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-01 11:22:37 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-01 11:23:03 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-01 11:24:03 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 11:21:33 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 11:22:59 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 14:30:24 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:11:30 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:12:51 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:16:55 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:17:27 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:18:40 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-06 11:24:18 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:12:16 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:15:51 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:18:04 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:21:22 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:24:13 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:42:39 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:39:09 -0800\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:39:43 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:40:26 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:42:14 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-12 15:46:16 -0700\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-13 18:43:01 -0700\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:47:07 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:48:56 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:49:07 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 12:50:40 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 17:30:08 -0700\",\"changed\":[\"toolbox_blocks\",\"hide_animation_mode\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 18:21:03 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-23 16:15:40 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-26 14:54:18 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-26 14:56:12 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-28 00:57:34 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 00:58:08 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 00:58:26 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 18:40:17 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-30 16:44:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:45:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:46:37 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:52:41 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 17:01:10 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 17:02:04 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 19:16:49 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:08:29 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:08:51 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:14:23 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:19:08 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:23:56 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:14:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:19:10 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:24:30 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-20 23:51:01 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-04-23 20:23:10 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:31:11 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:32:51 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:33:56 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:35:02 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:39:26 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:25:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:26:46 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:27:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:28:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:30:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:19:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:19:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:21:20 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:22:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:24:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:24:33 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 18:37:19 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 19:46:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 19:47:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:53:25 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:54:48 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:56:44 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:00:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:03:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:05:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:06:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:07:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:07:47 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:11:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:17:34 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:23:03 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:24:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:07:24 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:10:42 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:15:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:27:35 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:28:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:28:36 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:29:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:31:25 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:36:01 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:37:12 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:43:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:44:24 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:49:16 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:53:02 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:58:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:23:28 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:24:05 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:29:35 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:31:17 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:32:14 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:08:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:10:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:10:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:11:45 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:12:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:15:02 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:15:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:16:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:17:43 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:18:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 19:50:55 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 19:56:41 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-01 18:35:38 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:26:48 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:31:21 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:32:45 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:35:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:37:28 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:38:18 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 17:47:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 18:00:53 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 18:01:59 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 22:31:17 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:07:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:37:20 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:38:03 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:38:54 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-03 17:05:51 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-04 00:46:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":1,\"changed_by_email\":\"josh@code.org\"},{\"changed_at\":\"2018-05-04 19:22:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-04 19:30:07 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 17:19:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 17:19:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:22:54 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:26:35 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:30:08 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:31:36 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-09 17:42:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 21:03:02 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-05-10 21:13:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 21:14:43 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 21:16:01 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-05-10 21:17:17 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-05-11 00:01:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"show_type_hints\"],\"changed_by_id\":53,\"changed_by_email\":\"test5@code.org\"},{\"changed_at\":\"2018-05-15 16:22:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 17:45:15 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 17:52:02 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:57:03 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:57:42 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:58:29 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:58:47 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:59:21 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:59:49 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:01:03 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:02:27 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:02:40 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:03:55 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:04:51 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-18 01:45:37 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-06 01:18:45 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 16:36:26 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"use_modal_function_editor\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 21:07:38 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-14 19:08:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-27 18:05:29 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"}]", "level_concept_difficulty": { } }]]> diff --git a/dashboard/config/scripts/levels/Virtual Pet 5.level b/dashboard/config/scripts/levels/Virtual Pet 5.level index 4f7b90cff75e6..480372e541730 100644 --- a/dashboard/config/scripts/levels/Virtual Pet 5.level +++ b/dashboard/config/scripts/levels/Virtual Pet 5.level @@ -50,15 +50,19 @@ "custom_helper_library": "var wanderTargetPoint={};\r\n\r\n\r\nfunction draggable() {\r\n var behavior = function(sprite) {\r\n if (mousePressedOver(sprite) && !sprite.dragging) {\r\n sprite.dragging = true;\r\n sprite.xOffset = sprite.x - World.mouseX;\r\n sprite.yOffset = sprite.y - World.mouseY;\r\n }\r\n if (sprite.dragging) {\r\n sprite.x = World.mouseX + sprite.xOffset;\r\n sprite.y = World.mouseY + sprite.yOffset;\r\n }\r\n if (mouseWentUp()) {\r\n sprite.dragging = false;\r\n }\r\n }\r\n behavior.name='draggable';\r\n return behavior;\r\n}\r\n\r\nfunction moveToward(sprite,distance,target) {\r\n //The canvas coordinate system is different, hence the need to negate things\r\n var angleOfMovement=Math.atan2((-1*target.y+sprite.y),(-1*target.x+sprite.x));\r\n var dx = distance*Math.cos(angleOfMovement);\r\n var dy = distance*Math.sin(angleOfMovement);\r\n sprite.x-=dx;\r\n sprite.y-=dy;\r\n}\r\nfunction followingSprite(target) {\r\n var behavior = function(sprite) {\r\n moveToward(sprite,5,target);\r\n }\r\n behavior.name = 'followingSprite';\r\n return behavior;\r\n}", "auto_run_setup": "DRAW_LOOP", "parent_level_id": 14163, - "markdown_instructions": "All of this play takes energy! \r\n\r\nAdd actions to each event so the giraffe gets a little smaller (shrinks by 5) each time it collides with another sprite. \r\n\r\n---", + "markdown_instructions": "All of this play takes energy! \r\n\r\nAdd actions to each event so the giraffe gets a little smaller (shrinks by 5) each time it collides with another sprite. \r\n", "show_type_hints": "true", "project_template_level_name": "Virtual Pet 2", "instructions": "Add actions to each event so that when the giraffe collides with each sprite, it shrinks by 5.", - "contained_level_names": null + "contained_level_names": null, + "encrypted_examples": [ + + ], + "include_shared_functions": "false" }, "published": true, "notes": "", - "audit_log": "[{\"changed_at\":\"2018-02-21 19:18:17 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-02-23 01:34:36 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-02-23 01:34:52 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-01 11:22:37 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-01 11:23:03 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-01 11:24:03 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 11:21:33 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 11:22:59 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 14:30:24 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:11:30 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:12:51 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:16:55 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:17:27 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:18:40 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-06 11:24:18 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:12:16 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:15:51 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:18:04 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:21:22 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:24:13 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:42:39 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:39:09 -0800\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:39:43 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:40:26 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:42:14 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-12 15:46:16 -0700\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-13 18:43:01 -0700\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:47:07 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:48:56 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:49:07 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 12:50:40 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 17:30:08 -0700\",\"changed\":[\"toolbox_blocks\",\"hide_animation_mode\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 18:21:03 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-23 16:15:40 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-26 14:54:18 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-26 14:56:12 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-28 00:57:34 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 00:58:08 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 00:58:26 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 18:40:17 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-30 16:44:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:45:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:46:37 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:52:41 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 17:01:10 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 17:02:04 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 19:16:49 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:08:29 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:08:51 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:14:23 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:19:08 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:23:56 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:14:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:19:10 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:24:30 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-20 23:51:01 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-04-23 20:23:10 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:31:11 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:32:51 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:33:56 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:35:02 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:39:26 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:25:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:26:46 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:27:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:28:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:30:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:19:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:19:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:21:20 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:22:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:24:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:24:33 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 18:37:19 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 19:46:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 19:47:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:53:25 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:54:48 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:56:44 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:00:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:03:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:05:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:06:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:07:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:07:47 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:11:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:17:34 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:23:03 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:24:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:07:24 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:10:42 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:15:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:27:35 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:28:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:28:36 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:29:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:31:25 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:36:01 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:37:12 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:43:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:44:24 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:49:16 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:53:02 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:58:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:23:28 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:24:05 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:29:35 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:31:17 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:32:14 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:08:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:10:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:10:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:11:45 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:12:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:15:02 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:15:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:16:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:17:43 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:18:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 19:50:55 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 19:56:41 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-01 18:35:38 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:26:48 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:31:21 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:32:45 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:35:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:37:28 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:38:18 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 17:47:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 18:00:53 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 18:01:59 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 22:31:17 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:07:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:37:20 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:38:03 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:38:54 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-03 17:05:51 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-04 00:46:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":1,\"changed_by_email\":\"josh@code.org\"},{\"changed_at\":\"2018-05-04 19:22:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-04 19:30:07 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 17:19:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 17:19:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:22:54 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:26:35 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:30:08 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:31:36 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-09 17:42:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 21:03:02 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-05-10 21:13:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 21:14:43 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 21:16:01 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-05-10 21:17:17 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-05-11 00:01:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"show_type_hints\"],\"changed_by_id\":53,\"changed_by_email\":\"test5@code.org\"},{\"changed_at\":\"2018-05-15 16:22:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 17:45:15 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 17:52:02 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:57:03 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:57:42 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:58:29 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:58:47 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:59:21 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:59:49 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:01:03 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:02:27 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:02:40 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:03:55 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:04:51 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:05:43 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-18 01:46:15 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-06 01:25:42 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 16:37:16 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"use_modal_function_editor\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 21:07:17 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-14 19:15:09 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"}]", + "audit_log": "[{\"changed_at\":\"2018-02-21 19:18:17 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-02-23 01:34:36 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-02-23 01:34:52 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-01 11:22:37 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-01 11:23:03 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-01 11:24:03 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 11:21:33 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 11:22:59 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 14:30:24 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:11:30 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:12:51 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:16:55 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:17:27 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:18:40 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-06 11:24:18 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:12:16 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:15:51 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:18:04 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:21:22 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:24:13 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:42:39 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:39:09 -0800\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:39:43 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:40:26 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:42:14 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-12 15:46:16 -0700\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-13 18:43:01 -0700\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:47:07 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:48:56 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:49:07 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 12:50:40 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 17:30:08 -0700\",\"changed\":[\"toolbox_blocks\",\"hide_animation_mode\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 18:21:03 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-23 16:15:40 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-26 14:54:18 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-26 14:56:12 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-28 00:57:34 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 00:58:08 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 00:58:26 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 18:40:17 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-30 16:44:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:45:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:46:37 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:52:41 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 17:01:10 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 17:02:04 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 19:16:49 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:08:29 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:08:51 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:14:23 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:19:08 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:23:56 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:14:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:19:10 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:24:30 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-20 23:51:01 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-04-23 20:23:10 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:31:11 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:32:51 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:33:56 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:35:02 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:39:26 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:25:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:26:46 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:27:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:28:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:30:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:19:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:19:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:21:20 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:22:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:24:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:24:33 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 18:37:19 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 19:46:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 19:47:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:53:25 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:54:48 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:56:44 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:00:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:03:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:05:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:06:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:07:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:07:47 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:11:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:17:34 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:23:03 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:24:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:07:24 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:10:42 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:15:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:27:35 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:28:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:28:36 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:29:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:31:25 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:36:01 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:37:12 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:43:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:44:24 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:49:16 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:53:02 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:58:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:23:28 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:24:05 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:29:35 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:31:17 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:32:14 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:08:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:10:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:10:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:11:45 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:12:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:15:02 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:15:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:16:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:17:43 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:18:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 19:50:55 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 19:56:41 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-01 18:35:38 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:26:48 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:31:21 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:32:45 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:35:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:37:28 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:38:18 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 17:47:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 18:00:53 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 18:01:59 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 22:31:17 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:07:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:37:20 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:38:03 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:38:54 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-03 17:05:51 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-04 00:46:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":1,\"changed_by_email\":\"josh@code.org\"},{\"changed_at\":\"2018-05-04 19:22:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-04 19:30:07 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 17:19:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 17:19:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:22:54 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:26:35 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:30:08 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:31:36 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-09 17:42:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 21:03:02 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-05-10 21:13:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 21:14:43 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 21:16:01 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-05-10 21:17:17 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-05-11 00:01:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"show_type_hints\"],\"changed_by_id\":53,\"changed_by_email\":\"test5@code.org\"},{\"changed_at\":\"2018-05-15 16:22:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 17:45:15 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 17:52:02 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:57:03 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:57:42 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:58:29 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:58:47 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:59:21 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:59:49 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:01:03 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:02:27 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:02:40 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:03:55 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:04:51 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:05:43 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-18 01:46:15 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-06 01:25:42 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 16:37:16 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"use_modal_function_editor\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 21:07:17 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-14 19:15:09 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-27 18:07:07 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"}]", "level_concept_difficulty": { } }]]> diff --git a/dashboard/config/scripts/levels/Virtual Pet 6.level b/dashboard/config/scripts/levels/Virtual Pet 6.level index ab6cae7c64fdd..a003e65540ef2 100644 --- a/dashboard/config/scripts/levels/Virtual Pet 6.level +++ b/dashboard/config/scripts/levels/Virtual Pet 6.level @@ -50,15 +50,19 @@ "custom_helper_library": "var wanderTargetPoint={};\r\n\r\n\r\nfunction draggable() {\r\n var behavior = function(sprite) {\r\n if (mousePressedOver(sprite) && !sprite.dragging) {\r\n sprite.dragging = true;\r\n sprite.xOffset = sprite.x - World.mouseX;\r\n sprite.yOffset = sprite.y - World.mouseY;\r\n }\r\n if (sprite.dragging) {\r\n sprite.x = World.mouseX + sprite.xOffset;\r\n sprite.y = World.mouseY + sprite.yOffset;\r\n }\r\n if (mouseWentUp()) {\r\n sprite.dragging = false;\r\n }\r\n }\r\n behavior.name='draggable';\r\n return behavior;\r\n}\r\n\r\nfunction moveToward(sprite,distance,target) {\r\n //The canvas coordinate system is different, hence the need to negate things\r\n var angleOfMovement=Math.atan2((-1*target.y+sprite.y),(-1*target.x+sprite.x));\r\n var dx = distance*Math.cos(angleOfMovement);\r\n var dy = distance*Math.sin(angleOfMovement);\r\n sprite.x-=dx;\r\n sprite.y-=dy;\r\n}\r\nfunction followingSprite(target) {\r\n var behavior = function(sprite) {\r\n moveToward(sprite,5,target);\r\n }\r\n behavior.name = 'followingSprite';\r\n return behavior;\r\n}", "auto_run_setup": "DRAW_LOOP", "parent_level_id": 14164, - "markdown_instructions": "A balanced diet is important! We have to feed the giraffe to get its strength back. \r\n\r\nAdd an apple to the scene and have it return the giraffe back to regular size when the two sprites touch. \r\n\r\n---", + "markdown_instructions": "A balanced diet is important! We have to feed the giraffe to get its strength back. \r\n\r\nAdd an apple to the scene and have it return the giraffe back to regular size when the two sprites touch. \r\n", "show_type_hints": "true", "project_template_level_name": "Virtual Pet 2", "instructions": "Add an apple that returns the giraffe back to regular size when they touch.", - "contained_level_names": null + "contained_level_names": null, + "encrypted_examples": [ + + ], + "include_shared_functions": "false" }, "published": true, "notes": "", - "audit_log": "[{\"changed_at\":\"2018-02-21 19:18:17 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-02-23 01:34:36 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-02-23 01:34:52 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-01 11:22:37 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-01 11:23:03 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-01 11:24:03 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 11:21:33 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 11:22:59 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 14:30:24 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:11:30 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:12:51 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:16:55 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:17:27 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:18:40 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-06 11:24:18 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:12:16 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:15:51 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:18:04 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:21:22 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:24:13 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:42:39 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:39:09 -0800\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:39:43 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:40:26 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:42:14 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-12 15:46:16 -0700\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-13 18:43:01 -0700\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:47:07 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:48:56 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:49:07 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 12:50:40 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 17:30:08 -0700\",\"changed\":[\"toolbox_blocks\",\"hide_animation_mode\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 18:21:03 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-23 16:15:40 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-26 14:54:18 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-26 14:56:12 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-28 00:57:34 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 00:58:08 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 00:58:26 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 18:40:17 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-30 16:44:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:45:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:46:37 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:52:41 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 17:01:10 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 17:02:04 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 19:16:49 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:08:29 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:08:51 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:14:23 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:19:08 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:23:56 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:14:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:19:10 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:24:30 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-20 23:51:01 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-04-23 20:23:10 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:31:11 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:32:51 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:33:56 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:35:02 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:39:26 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:25:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:26:46 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:27:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:28:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:30:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:19:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:19:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:21:20 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:22:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:24:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:24:33 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 18:37:19 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 19:46:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 19:47:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:53:25 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:54:48 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:56:44 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:00:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:03:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:05:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:06:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:07:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:07:47 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:11:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:17:34 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:23:03 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:24:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:07:24 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:10:42 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:15:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:27:35 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:28:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:28:36 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:29:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:31:25 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:36:01 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:37:12 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:43:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:44:24 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:49:16 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:53:02 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:58:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:23:28 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:24:05 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:29:35 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:31:17 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:32:14 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:08:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:10:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:10:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:11:45 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:12:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:15:02 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:15:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:16:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:17:43 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:18:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 19:50:55 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 19:56:41 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-01 18:35:38 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:26:48 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:31:21 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:32:45 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:35:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:37:28 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:38:18 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 17:47:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 18:00:53 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 18:01:59 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 22:31:17 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:07:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:37:20 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:38:03 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:38:54 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-03 17:05:51 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-04 00:46:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":1,\"changed_by_email\":\"josh@code.org\"},{\"changed_at\":\"2018-05-04 19:22:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-04 19:30:07 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 17:19:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 17:19:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:22:54 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:26:35 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:30:08 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:31:36 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-09 17:42:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 21:03:02 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-05-10 21:13:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 21:14:43 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 21:16:01 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-05-10 21:17:17 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-05-11 00:01:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"show_type_hints\"],\"changed_by_id\":53,\"changed_by_email\":\"test5@code.org\"},{\"changed_at\":\"2018-05-15 16:22:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 17:45:15 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 17:52:02 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:57:03 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:57:42 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:58:29 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:58:47 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:59:21 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:59:49 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:01:03 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:02:27 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:02:40 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:03:55 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:04:51 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:05:43 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:06:32 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-18 01:46:37 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-06 01:26:12 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 16:38:03 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"use_modal_function_editor\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 21:06:53 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-14 19:16:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-14 19:18:38 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"}]", + "audit_log": "[{\"changed_at\":\"2018-02-21 19:18:17 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-02-23 01:34:36 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-02-23 01:34:52 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-01 11:22:37 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-01 11:23:03 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-01 11:24:03 -0800\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 11:21:33 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 11:22:59 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 14:30:24 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:11:30 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:12:51 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:16:55 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:17:27 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-02 15:18:40 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-06 11:24:18 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:12:16 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:15:51 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:18:04 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:21:22 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:24:13 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-08 11:42:39 -0800\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:39:09 -0800\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:39:43 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:40:26 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-09 14:42:14 -0800\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-12 15:46:16 -0700\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-13 18:43:01 -0700\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:47:07 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:48:56 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 11:49:07 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 12:50:40 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"hide_custom_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 17:30:08 -0700\",\"changed\":[\"toolbox_blocks\",\"hide_animation_mode\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-22 18:21:03 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-23 16:15:40 -0700\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-26 14:54:18 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-26 14:56:12 -0700\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":2,\"changed_by_email\":\"ram+teacher@code.org\"},{\"changed_at\":\"2018-03-28 00:57:34 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 00:58:08 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 00:58:26 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-28 18:40:17 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-03-30 16:44:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:45:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:46:37 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 16:52:41 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 17:01:10 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 17:02:04 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\",\"custom_helper_library\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-03-30 19:16:49 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:08:29 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:08:51 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:14:23 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:19:08 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-04 23:23:56 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:14:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:19:10 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-05 01:24:30 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-20 23:51:01 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-04-23 20:23:10 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:31:11 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:32:51 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:33:56 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:35:02 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 21:39:26 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:25:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:26:46 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:27:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:28:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-23 22:30:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:19:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:19:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:21:20 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:22:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:24:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 17:24:33 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 18:37:19 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 19:46:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-24 19:47:08 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:53:25 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:54:48 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 02:56:44 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:00:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:03:28 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:05:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:06:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:07:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:07:47 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:11:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:17:34 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:23:03 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 03:24:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:07:24 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:10:42 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:15:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:27:35 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:28:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:28:36 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:29:15 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:31:25 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:36:01 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:37:12 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:43:27 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:44:24 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:49:16 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:53:02 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 17:58:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:23:28 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:24:05 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:29:35 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:31:17 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-25 23:32:14 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:08:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:10:05 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:10:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:11:45 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:12:55 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:15:02 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:15:38 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:16:57 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:17:43 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 00:18:30 +0000\",\"changed\":[\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 19:50:55 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-04-26 19:56:41 +0000\",\"changed\":[\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\",\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-01 18:35:38 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:26:48 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:31:21 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:32:45 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:35:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:37:28 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 16:38:18 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 17:47:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 18:00:53 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 18:01:59 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 22:31:17 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:07:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:37:20 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:38:03 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-02 23:38:54 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-03 17:05:51 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-04 00:46:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":1,\"changed_by_email\":\"josh@code.org\"},{\"changed_at\":\"2018-05-04 19:22:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-04 19:30:07 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 17:19:25 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 17:19:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:22:54 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:26:35 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:30:08 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-08 22:31:36 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-09 17:42:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 21:03:02 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"custom_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-05-10 21:13:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 21:14:43 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-10 21:16:01 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-05-10 21:17:17 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":255,\"changed_by_email\":\"ram@code.org\"},{\"changed_at\":\"2018-05-11 00:01:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\",\"show_type_hints\"],\"changed_by_id\":53,\"changed_by_email\":\"test5@code.org\"},{\"changed_at\":\"2018-05-15 16:22:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 17:45:15 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 17:52:02 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"start_animations\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:57:03 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:57:42 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:58:29 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:58:47 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:59:21 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 21:59:49 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:01:03 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:02:27 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:02:40 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:03:55 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:04:51 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:05:43 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-16 22:06:32 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-05-18 01:46:37 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"hide_custom_blocks\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-06 01:26:12 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 16:38:03 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"use_modal_function_editor\",\"custom_blocks\",\"custom_helper_library\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-11 21:06:53 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2018-06-14 19:16:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-14 19:18:38 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\",\"encrypted_examples\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-27 18:08:10 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"}]", "level_concept_difficulty": { } }]]> diff --git a/dashboard/config/scripts/levels/comment_intro_maze_2018.level b/dashboard/config/scripts/levels/comment_intro_maze_2018.level index a89ea5247fa28..2e35cda708a13 100644 --- a/dashboard/config/scripts/levels/comment_intro_maze_2018.level +++ b/dashboard/config/scripts/levels/comment_intro_maze_2018.level @@ -27,7 +27,7 @@ "definition_collapse": "false", "disable_examples": "false", "authored_hints": "[{\"hint_class\":\"content\",\"hint_markdown\":\"Comments are also helpful when other people try to read your code.\",\"hint_id\":\"courseC_maze_programming4_a\",\"hint_type\":\"general\",\"hint_path\":\"\",\"hint_video\":\"\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/94e837bb4793a4a925f124b537583365/comment_intro_maze_2018.mp3\"},{\"hint_class\":\"pointer\",\"hint_markdown\":\"Add a comment when you change directions- what would have happened if you turned the other way?\",\"hint_id\":\"courseC_maze_programming4_b\",\"hint_type\":\"general\",\"hint_path\":\"\",\"hint_video\":\"\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/cf7908b894161204d072f084a9476039/comment_intro_maze_2018.mp3\"}]", - "markdown_instructions": "*\"I'm confused. Help me remember how to solve this maze.\"* \r\n\r\nUse the new `comment` block to leave yourself quick reminders. They can help you remember what you were doing and why!\r\n\r\nComments are only used for **you**. Your Play Area won't look different because of a comment.", + "markdown_instructions": "*\"I'm confused. Help me remember how to solve this maze.\"* \r\n\r\n---\r\n\r\nTo pass this puzzle, solve the maze and use the new \r\n \r\n block to leave yourself quick reminders. They can help you remember what you were doing and why! \r\n \r\n\r\nComments are only used for **you**, they don't affect the play area.", "callout_json": "[]", "instructions_important": "true", "hide_share_and_remix": "false", @@ -35,11 +35,13 @@ "disable_procedure_autopopulate": "false", "top_level_procedure_autopopulate": "false", "shape_shift": "false", + "show_type_hints": "false", + "include_shared_functions": "false", "contained_level_names": null }, "published": true, "notes": "", - "audit_log": "[{\"changed_at\":\"2018-02-22 19:13:20 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"callout_json\",\"contained_level_names\"],\"changed_by_id\":772,\"changed_by_email\":\"tessa.wiedmann@code.org\"},{\"changed_at\":\"2018-02-22 19:16:46 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":772,\"changed_by_email\":\"tessa.wiedmann@code.org\"},{\"changed_at\":\"2018-02-22 20:06:00 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"instructions\",\"authored_hints\",\"markdown_instructions\",\"instructions_important\",\"contained_level_names\"],\"changed_by_id\":772,\"changed_by_email\":\"tessa.wiedmann@code.org\"},{\"changed_at\":\"2018-02-22 20:11:43 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"start_direction\",\"contained_level_names\",\"maze_data\"],\"changed_by_id\":772,\"changed_by_email\":\"tessa.wiedmann@code.org\"},{\"changed_at\":\"2018-02-22 20:13:58 +0000\",\"changed\":[\"solution_blocks\"],\"changed_by_id\":772,\"changed_by_email\":\"tessa.wiedmann@code.org\"},{\"changed_at\":\"2018-02-22 20:15:19 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"markdown_instructions\",\"required_blocks\",\"contained_level_names\"],\"changed_by_id\":772,\"changed_by_email\":\"tessa.wiedmann@code.org\"},{\"changed_at\":\"2018-02-28 20:27:37 +0000\",\"changed\":[\"toolbox_blocks\",\"required_blocks\",\"solution_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":772,\"changed_by_email\":\"tessa.wiedmann@code.org\"},{\"changed_at\":\"2018-03-01 23:11:22 +0000\",\"changed\":[\"toolbox_blocks\",\"required_blocks\",\"solution_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":772,\"changed_by_email\":\"tessa.wiedmann@code.org\"},{\"changed_at\":\"2018-03-01 23:12:44 +0000\",\"changed\":[\"toolbox_blocks\",\"required_blocks\",\"solution_blocks\",\"markdown_instructions\",\"contained_level_names\",\"maze_data\"],\"changed_by_id\":772,\"changed_by_email\":\"tessa.wiedmann@code.org\"}]", + "audit_log": "[{\"changed_at\":\"2018-02-22 19:13:20 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"callout_json\",\"contained_level_names\"],\"changed_by_id\":772,\"changed_by_email\":\"tessa.wiedmann@code.org\"},{\"changed_at\":\"2018-02-22 19:16:46 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":772,\"changed_by_email\":\"tessa.wiedmann@code.org\"},{\"changed_at\":\"2018-02-22 20:06:00 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"instructions\",\"authored_hints\",\"markdown_instructions\",\"instructions_important\",\"contained_level_names\"],\"changed_by_id\":772,\"changed_by_email\":\"tessa.wiedmann@code.org\"},{\"changed_at\":\"2018-02-22 20:11:43 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"start_direction\",\"contained_level_names\",\"maze_data\"],\"changed_by_id\":772,\"changed_by_email\":\"tessa.wiedmann@code.org\"},{\"changed_at\":\"2018-02-22 20:13:58 +0000\",\"changed\":[\"solution_blocks\"],\"changed_by_id\":772,\"changed_by_email\":\"tessa.wiedmann@code.org\"},{\"changed_at\":\"2018-02-22 20:15:19 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"markdown_instructions\",\"required_blocks\",\"contained_level_names\"],\"changed_by_id\":772,\"changed_by_email\":\"tessa.wiedmann@code.org\"},{\"changed_at\":\"2018-02-28 20:27:37 +0000\",\"changed\":[\"toolbox_blocks\",\"required_blocks\",\"solution_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":772,\"changed_by_email\":\"tessa.wiedmann@code.org\"},{\"changed_at\":\"2018-03-01 23:11:22 +0000\",\"changed\":[\"toolbox_blocks\",\"required_blocks\",\"solution_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":772,\"changed_by_email\":\"tessa.wiedmann@code.org\"},{\"changed_at\":\"2018-03-01 23:12:44 +0000\",\"changed\":[\"toolbox_blocks\",\"required_blocks\",\"solution_blocks\",\"markdown_instructions\",\"contained_level_names\",\"maze_data\"],\"changed_by_id\":772,\"changed_by_email\":\"tessa.wiedmann@code.org\"},{\"changed_at\":\"2018-06-26 19:24:19 +0000\",\"changed\":[\"toolbox_blocks\",\"required_blocks\",\"solution_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-26 19:25:42 +0000\",\"changed\":[\"toolbox_blocks\",\"required_blocks\",\"solution_blocks\",\"contained_level_names\",\"maze_data\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-26 19:27:57 +0000\",\"changed\":[\"toolbox_blocks\",\"required_blocks\",\"solution_blocks\",\"markdown_instructions\",\"contained_level_names\",\"maze_data\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-26 19:29:40 +0000\",\"changed\":[\"toolbox_blocks\",\"required_blocks\",\"solution_blocks\",\"markdown_instructions\",\"contained_level_names\",\"maze_data\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-26 19:54:02 +0000\",\"changed\":[\"solution_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-26 19:54:23 +0000\",\"changed\":[\"solution_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"}]", "level_concept_difficulty": { } }]]> @@ -54,7 +56,7 @@ turnRight - + <title name="TEXT"> @@ -76,7 +78,12 @@ turnRight - + + Turn to the bird's right, not the pig's. + + + + diff --git a/dashboard/config/scripts/levels/courseA_artist_loops4_2018.level b/dashboard/config/scripts/levels/courseA_artist_loops4_2018.level index d043b9b8f0fed..6972c9cf2f20c 100644 --- a/dashboard/config/scripts/levels/courseA_artist_loops4_2018.level +++ b/dashboard/config/scripts/levels/courseA_artist_loops4_2018.level @@ -42,10 +42,10 @@ "disable_procedure_autopopulate": "false", "parent_level_id": 5912, "name_suffix": "_2018", - "contained_level_names": null, "top_level_procedure_autopopulate": "false", "show_type_hints": "false", - "include_shared_functions": "false" + "include_shared_functions": "false", + "contained_level_names": null }, "published": true, "notes": "", diff --git a/dashboard/config/scripts/levels/courseA_playLab_events2.level b/dashboard/config/scripts/levels/courseA_playLab_events2.level index 9fcb763f18fa5..ab5f172285e8c 100644 --- a/dashboard/config/scripts/levels/courseA_playLab_events2.level +++ b/dashboard/config/scripts/levels/courseA_playLab_events2.level @@ -52,11 +52,11 @@ "disable_procedure_autopopulate": "false", "background": "city", "hint_prompt_attempts_threshold": 3, - "contained_level_names": null, "top_level_procedure_autopopulate": "false", "show_type_hints": "false", "include_shared_functions": "false", - "remove_items_when_actor_collides": "false" + "remove_items_when_actor_collides": "false", + "contained_level_names": null }, "published": true, "notes": "", diff --git a/dashboard/config/scripts/levels/courseC_PlayLab_events8.level b/dashboard/config/scripts/levels/courseC_PlayLab_events8.level index 0ad9f8eb4f83d..49281108a8b34 100644 --- a/dashboard/config/scripts/levels/courseC_PlayLab_events8.level +++ b/dashboard/config/scripts/levels/courseC_PlayLab_events8.level @@ -54,9 +54,9 @@ "top_level_procedure_autopopulate": "false", "remove_items_when_actor_collides": "false", "hint_prompt_attempts_threshold": 2, - "contained_level_names": null, "show_type_hints": "false", - "include_shared_functions": "false" + "include_shared_functions": "false", + "contained_level_names": null }, "published": true, "notes": "", diff --git a/dashboard/config/scripts/levels/courseC_maze_debugging5_2018.level b/dashboard/config/scripts/levels/courseC_maze_debugging5_2018.level index 47b3767a0f204..8999b1791876c 100644 --- a/dashboard/config/scripts/levels/courseC_maze_debugging5_2018.level +++ b/dashboard/config/scripts/levels/courseC_maze_debugging5_2018.level @@ -27,18 +27,24 @@ "never_autoplay_video": "false", "examples_required": "false", "instructions_important": "false", - "authored_hints": "[{\"hint_class\":\"content\",\"hint_markdown\":\"There are lots of helpful blocks in the workspace already. Don't delete them all! \\n\\nUse the \\\"Step\\\" button to go through and figure out where the code goes wrong.\",\"hint_id\":\"courseC_maze_debugging5_a\",\"hint_type\":\"general\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/8e72f349ebb18190e5a24825667121c1/courseC_maze_debugging5.mp3\"},{\"hint_class\":\"content\",\"hint_markdown\":\"Try saying what Scrat should do out loud. Is it the same as the code in the workspace? What goes wrong?\",\"hint_id\":\"courseC_maze_debugging5_b\",\"hint_type\":\"general\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/6cf665b1bc1bd82f45b693684ab804b0/courseC_maze_debugging5.mp3\"}]", + "authored_hints": "[{\"hint_class\":\"content\",\"hint_markdown\":\"There are lots of helpful blocks in the workspace already. Don't delete them all! \\n\\nUse the \\\"Step\\\" button to go through and figure out where the code goes wrong.\",\"hint_id\":\"courseC_maze_debugging5_a\",\"hint_type\":\"general\",\"hint_path\":\"\",\"hint_video\":\"\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/8e72f349ebb18190e5a24825667121c1/courseC_maze_debugging5_2018.mp3\"},{\"hint_class\":\"content\",\"hint_markdown\":\"You can change the direction of the turn block by clicking on the dropdown.\",\"hint_id\":\"courseC_maze_debugging5_c\",\"hint_type\":\"general\",\"hint_path\":\"\",\"hint_video\":\"\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/f196a9dc65f4c2f15163de7fbc5f47bb/courseC_maze_debugging5_2018.mp3\"},{\"hint_class\":\"content\",\"hint_markdown\":\"Try saying what Scrat should do out loud. Is it the same as the code in the workspace? What goes wrong?\",\"hint_id\":\"courseC_maze_debugging5_b\",\"hint_type\":\"general\",\"hint_path\":\"\",\"hint_video\":\"\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/6cf665b1bc1bd82f45b693684ab804b0/courseC_maze_debugging5_2018.mp3\"}]", "hide_share_and_remix": "false", "disable_if_else_editing": "false", "callout_json": "[\r\n {\r\n \"localization_key\": \"courseC_maze_debugging5_1\",\r\n \"callout_text\": \"These blocks are locked and cannot be deleted!\",\r\n \"element_id\": \"#callMe\",\r\n \"on\": \"\",\r\n \"qtip_config\": {\r\n \"codeStudio\": {\r\n \"canReappear\": true,\r\n \"dropletPaletteCategory\": \"\"\r\n },\r\n \"style\": {\r\n \"classes\": \"\"\r\n },\r\n \"position\": {\r\n \"my\": \"left top\",\r\n \"at\": \"left center\",\r\n \"adjust\": {\r\n \"x\": 0,\r\n \"y\": 0\r\n }\r\n }\r\n }\r\n }\r\n]", "disable_procedure_autopopulate": "false", "shape_shift": "false", "name_suffix": "_2018", - "contained_level_names": null + "contained_level_names": null, + "top_level_procedure_autopopulate": "false", + "show_type_hints": "false", + "include_shared_functions": "false", + "maze_data": null }, "published": true, "notes": "", - "audit_log": "[{\"changed_at\":\"2017-09-19 20:34:22 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"solution_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-09-19 20:35:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"solution_blocks\",\"contained_level_names\",\"callout_json\",\"maze_data\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-09-19 20:36:49 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"solution_blocks\",\"contained_level_names\",\"callout_json\",\"maze_data\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-09-28 05:18:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"solution_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"}]" + "audit_log": "[{\"changed_at\":\"2017-09-19 20:34:22 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"solution_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-09-19 20:35:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"solution_blocks\",\"contained_level_names\",\"callout_json\",\"maze_data\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-09-19 20:36:49 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"solution_blocks\",\"contained_level_names\",\"callout_json\",\"maze_data\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-09-28 05:18:00 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"solution_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-27 00:03:12 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"solution_blocks\",\"authored_hints\",\"contained_level_names\"],\"changed_by_id\":568,\"changed_by_email\":\"meilani.eyre@code.org\"}]", + "level_concept_difficulty": { + } }]]> diff --git a/dashboard/config/scripts/levels/courseD_artist_3_2018.level b/dashboard/config/scripts/levels/courseD_artist_3_2018.level index 1c8678b6a2974..62659cd442eb0 100644 --- a/dashboard/config/scripts/levels/courseD_artist_3_2018.level +++ b/dashboard/config/scripts/levels/courseD_artist_3_2018.level @@ -30,7 +30,7 @@ "x": "200", "y": "200", "free_play": "false", - "impressive": "false", + "impressive": "true", "discard_background": "false", "disable_sharing": "false", "authored_hints": "[]", @@ -40,11 +40,12 @@ "top_level_procedure_autopopulate": "false", "solution_image_url": "https://d3p74s6bwmy6t9.cloudfront.net/96501c9896cdde40c8bbba756c3e4eef=levelbuilder/36838.png", "show_type_hints": "false", + "include_shared_functions": "false", "contained_level_names": null }, "published": true, "notes": "", - "audit_log": "[{\"changed_at\":\"2017-05-26 00:16:25 +0000\",\"changed\":[\"notes\",\"skin\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-05-26 00:58:09 +0000\",\"changed\":[],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-05-26 02:32:47 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-05-26 17:30:50 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-05-26 17:35:54 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-05-26 17:36:29 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-05-26 17:47:41 +0000\",\"changed\":[\"toolbox_blocks\",\"authored_hints\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-06-02 20:14:07 +0000\",\"changed\":[\"toolbox_blocks\",\"instructions\",\"authored_hints\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-06-02 20:55:08 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"markdown_instructions\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-06-02 20:55:57 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"markdown_instructions\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-07-11 21:18:25 +0000\",\"changed\":[\"toolbox_blocks\",\"authored_hints\",\"contained_level_names\"],\"changed_by_id\":302,\"changed_by_email\":\"mara.downing@code.org\"},{\"changed_at\":\"2017-07-21 18:01:03 +0000\",\"changed\":[\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2017-08-29 01:00:43 +0000\",\"changed\":[\"toolbox_blocks\",\"instructions\",\"authored_hints\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 19:38:04 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 19:42:18 +0000\",\"changed\":[\"toolbox_blocks\",\"instructions\",\"project_template_level_name\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 19:43:27 +0000\",\"changed\":[],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 19:43:35 +0000\",\"changed\":[\"solution_image_url\",\"solution_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 19:46:01 +0000\",\"changed\":[\"toolbox_blocks\",\"markdown_instructions\",\"solution_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 19:51:23 +0000\",\"changed\":[\"toolbox_blocks\",\"instructions\",\"markdown_instructions\",\"solution_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 19:52:03 +0000\",\"changed\":[\"solution_image_url\",\"solution_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 19:52:10 +0000\",\"changed\":[\"solution_image_url\",\"solution_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 19:53:14 +0000\",\"changed\":[\"toolbox_blocks\",\"instructions\",\"markdown_instructions\",\"solution_blocks\",\"start_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 21:41:26 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"start_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 21:42:09 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"start_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 22:15:34 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"start_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 22:17:13 +0000\",\"changed\":[\"solution_image_url\",\"solution_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 22:25:08 +0000\",\"changed\":[\"toolbox_blocks\",\"authored_hints\",\"markdown_instructions\",\"solution_blocks\",\"start_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 22:25:59 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 22:26:44 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 22:32:14 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"solution_blocks\",\"free_play\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 22:34:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"solution_blocks\",\"instructions\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-20 17:01:39 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"solution_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-20 18:35:38 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-05-04 23:07:46 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-01 01:24:20 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"solution_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"}]", + "audit_log": "[{\"changed_at\":\"2017-05-26 00:16:25 +0000\",\"changed\":[\"notes\",\"skin\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-05-26 00:58:09 +0000\",\"changed\":[],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-05-26 02:32:47 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-05-26 17:30:50 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-05-26 17:35:54 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-05-26 17:36:29 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-05-26 17:47:41 +0000\",\"changed\":[\"toolbox_blocks\",\"authored_hints\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-06-02 20:14:07 +0000\",\"changed\":[\"toolbox_blocks\",\"instructions\",\"authored_hints\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-06-02 20:55:08 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"markdown_instructions\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-06-02 20:55:57 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\",\"markdown_instructions\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-07-11 21:18:25 +0000\",\"changed\":[\"toolbox_blocks\",\"authored_hints\",\"contained_level_names\"],\"changed_by_id\":302,\"changed_by_email\":\"mara.downing@code.org\"},{\"changed_at\":\"2017-07-21 18:01:03 +0000\",\"changed\":[\"toolbox_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":182,\"changed_by_email\":\"ryan@code.org\"},{\"changed_at\":\"2017-08-29 01:00:43 +0000\",\"changed\":[\"toolbox_blocks\",\"instructions\",\"authored_hints\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 19:38:04 +0000\",\"changed\":[\"toolbox_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 19:42:18 +0000\",\"changed\":[\"toolbox_blocks\",\"instructions\",\"project_template_level_name\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 19:43:27 +0000\",\"changed\":[],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 19:43:35 +0000\",\"changed\":[\"solution_image_url\",\"solution_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 19:46:01 +0000\",\"changed\":[\"toolbox_blocks\",\"markdown_instructions\",\"solution_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 19:51:23 +0000\",\"changed\":[\"toolbox_blocks\",\"instructions\",\"markdown_instructions\",\"solution_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 19:52:03 +0000\",\"changed\":[\"solution_image_url\",\"solution_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 19:52:10 +0000\",\"changed\":[\"solution_image_url\",\"solution_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 19:53:14 +0000\",\"changed\":[\"toolbox_blocks\",\"instructions\",\"markdown_instructions\",\"solution_blocks\",\"start_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 21:41:26 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"start_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 21:42:09 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"start_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 22:15:34 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"start_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 22:17:13 +0000\",\"changed\":[\"solution_image_url\",\"solution_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 22:25:08 +0000\",\"changed\":[\"toolbox_blocks\",\"authored_hints\",\"markdown_instructions\",\"solution_blocks\",\"start_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 22:25:59 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 22:26:44 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 22:32:14 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"solution_blocks\",\"free_play\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-19 22:34:24 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"solution_blocks\",\"instructions\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-20 17:01:39 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"solution_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-04-20 18:35:38 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-05-04 23:07:46 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-01 01:24:20 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"solution_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-26 19:18:54 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"solution_blocks\",\"impressive\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"}]", "level_concept_difficulty": { } }]]> diff --git a/dashboard/config/scripts/levels/courseD_farmer_while5_2018.level b/dashboard/config/scripts/levels/courseD_farmer_while5_2018.level index 7fc918e185a79..ff3a70d38ca86 100644 --- a/dashboard/config/scripts/levels/courseD_farmer_while5_2018.level +++ b/dashboard/config/scripts/levels/courseD_farmer_while5_2018.level @@ -35,13 +35,12 @@ "disable_if_else_editing": "false", "parent_level_id": 5720, "name_suffix": "_2018", - "contained_level_names": null, "disable_procedure_autopopulate": "false", "top_level_procedure_autopopulate": "false", "show_type_hints": "false", "include_shared_functions": "false", - "maze_data": null, - "shape_shift": "false" + "shape_shift": "false", + "contained_level_names": null }, "published": true, "notes": "", diff --git a/dashboard/config/scripts/levels/courseD_farmer_while7_2018.level b/dashboard/config/scripts/levels/courseD_farmer_while7_2018.level index 59e6fbd79d645..ae7e10bcb6bdc 100644 --- a/dashboard/config/scripts/levels/courseD_farmer_while7_2018.level +++ b/dashboard/config/scripts/levels/courseD_farmer_while7_2018.level @@ -38,9 +38,9 @@ "disable_procedure_autopopulate": "false", "top_level_procedure_autopopulate": "false", "show_type_hints": "false", - "contained_level_names": null, "callout_json": "[\r\n {\r\n \"localization_key\": \"courseD_farmer_while7_2018_PathAhead\",\r\n \"callout_text\": \"You'll need to use the `while path ahead` block in order to solve this puzzle.\",\r\n \"element_id\": \"#runButton\",\r\n \"on\": \"\",\r\n \"qtip_config\": {\r\n \"codeStudio\": {\r\n \"canReappear\": true,\r\n \"dropletPaletteCategory\": \"\"\r\n },\r\n \"style\": {\r\n \"classes\": \"\"\r\n },\r\n \"position\": {\r\n \"my\": \"bottom left\",\r\n \"at\": \"bottom left\",\r\n \"adjust\": {\r\n \"x\": 0,\r\n \"y\": 0\r\n }\r\n }\r\n }\r\n }\r\n]", - "include_shared_functions": "false" + "include_shared_functions": "false", + "contained_level_names": null }, "published": true, "notes": "", diff --git a/dashboard/config/scripts/levels/courseD_maze_ramp4_2018.level b/dashboard/config/scripts/levels/courseD_maze_ramp4_2018.level index 973039297fba7..865c7e49a8545 100644 --- a/dashboard/config/scripts/levels/courseD_maze_ramp4_2018.level +++ b/dashboard/config/scripts/levels/courseD_maze_ramp4_2018.level @@ -37,7 +37,7 @@ }, "published": true, "notes": "", - "audit_log": "[{\"changed_at\":\"2018-03-01 23:14:49 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":772,\"changed_by_email\":\"tessa.wiedmann@code.org\"}]" + "audit_log": "[{\"changed_at\":\"2018-03-01 23:14:49 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":772,\"changed_by_email\":\"tessa.wiedmann@code.org\"},{\"changed_at\":\"2018-06-26 19:30:25 +0000\",\"changed\":[\"solution_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"}]" }]]> @@ -61,12 +61,12 @@ - turnLeft + turnRight - turnRight + turnLeft diff --git a/dashboard/config/scripts/levels/courseD_playLab_cond3_2018.level b/dashboard/config/scripts/levels/courseD_playLab_cond3_2018.level index 933d355601a1c..93d57a449ef69 100644 --- a/dashboard/config/scripts/levels/courseD_playLab_cond3_2018.level +++ b/dashboard/config/scripts/levels/courseD_playLab_cond3_2018.level @@ -6,8 +6,8 @@ "user_id": 63, "properties": { "skin": "studio", - "success_condition": "function () {\r\n // Sample conditions:\r\n // return Studio.sprite[0].isCollidingWith(1);\r\n // return Studio.sayComplete > 0;\r\n // return Studio.sprite[0].emotion === Emotions.HAPPY;\r\n // return Studio.tickCount > 50;\r\n\treturn Studio.playerScore >=1; \r\n}", - "failure_condition": "function () {\r\n return Studio.victoryText == \"You lose!\";\r\n}", + "success_condition": "function () {\r\n // Sample conditions:\r\n // return Studio.sprite[0].isCollidingWith(1);\r\n // return Studio.sayComplete > 0;\r\n // return Studio.sprite[0].emotion === Emotions.HAPPY;\r\n // return Studio.tickCount > 50;\r\n\r\n\treturn Studio.tickCount > 60 && Studio.sprite[1].emotion != 0; \r\n}", + "failure_condition": "function () {\r\n}", "timeout_after_when_run": "false", "maze": "[[{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0}],[{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0}],[{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0}],[{\"tileType\":0},{\"tileType\":0},{\"tileType\":16,\"size\":0.5,\"sprite\":19},{\"tileType\":0},{\"tileType\":16,\"size\":0.5,\"sprite\":8},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0}],[{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0}],[{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0}],[{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0}],[{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0}]]", "embed": "false", @@ -56,11 +56,12 @@ "name_suffix": "_2018", "top_level_procedure_autopopulate": "false", "show_type_hints": "false", + "include_shared_functions": "false", "contained_level_names": null }, "published": true, "notes": "", - "audit_log": "[{\"changed_at\":\"2017-07-27 02:10:10 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"instructions\",\"markdown_instructions\",\"authored_hints\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-07-27 02:11:13 +0000\",\"changed\":[\"solution_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-08-24 18:47:51 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":684,\"changed_by_email\":\"audrey.clark@code.org\"},{\"changed_at\":\"2017-10-18 04:16:51 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-01 02:22:21 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"}]", + "audit_log": "[{\"changed_at\":\"2017-07-27 02:10:10 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"instructions\",\"markdown_instructions\",\"authored_hints\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-07-27 02:11:13 +0000\",\"changed\":[\"solution_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-08-24 18:47:51 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":684,\"changed_by_email\":\"audrey.clark@code.org\"},{\"changed_at\":\"2017-10-18 04:16:51 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-01 02:22:21 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-26 19:08:31 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"success_condition\",\"failure_condition\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-26 19:10:50 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"success_condition\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-26 19:11:49 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"failure_condition\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-26 19:12:28 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"failure_condition\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-26 19:13:37 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"success_condition\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"}]", "level_concept_difficulty": { } }]]> diff --git a/dashboard/config/scripts/levels/courseD_playLab_cond6_2018.level b/dashboard/config/scripts/levels/courseD_playLab_cond6_2018.level index df6559f934bf7..c64e36d613a70 100644 --- a/dashboard/config/scripts/levels/courseD_playLab_cond6_2018.level +++ b/dashboard/config/scripts/levels/courseD_playLab_cond6_2018.level @@ -45,7 +45,7 @@ ], "markdown_instructions": "Wow, this game is hard to win!\r\n\r\nLet's customize this game to make it more fun. This challenge has two parts:\r\n___\r\n\r\n1) Slow down the ninja (actor 3) before you set him to chase the pirate (actor 1). \r\n\r\n2) Use a `repeat forever` loop to check to see if the pirate is in the \"safe zone\" beneath the line of octopuses (greater than 225 pixels down). If he is, set the ninja to **flee** the pirate. Otherwise, set the ninja to **chase** the pirate. ", "instructions": "1) Slow the ninja (actor 3) down before you set him to chase the pirate. \r\n2) If the pirate is greater than 225 pixels down, set the ninja to **flee** the pirate. Otherwise, set the ninja to **chase** the pirate. ", - "authored_hints": "[{\"hint_class\":\"content\",\"hint_markdown\":\"Add the `set masked ninja speed` block to the beginning of the program to help slow the ninja down.\",\"hint_id\":\"courseD_playLab_cond6_a\",\"hint_type\":\"general\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/324e93ba7713300fb2a1979b31f88abb/courseD_playLab_cond6.mp3\"},{\"hint_class\":\"content\",\"hint_markdown\":\"You will need to use an `if actor 1 y position > 255` block inside of a `repeat forever` block to always check if the pirate is below the octopuses.\",\"hint_id\":\"courseD_playLab_cond6_b\",\"hint_type\":\"general\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/a42552de052b3fb2acb1c19dbacd69a7/courseD_playLab_cond6.mp3\"}]", + "authored_hints": "[{\"hint_class\":\"content\",\"hint_markdown\":\"Add the `set masked ninja speed` block to the beginning of the program to help slow the ninja down.\",\"hint_id\":\"courseD_playLab_cond6_a\",\"hint_type\":\"general\",\"hint_path\":\"\",\"hint_video\":\"\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/324e93ba7713300fb2a1979b31f88abb/courseD_playLab_cond6_2018.mp3\"},{\"hint_class\":null,\"hint_markdown\":\"The 'safe zone' is an area the ninja can't go into, making it safe for the pirate.\",\"hint_id\":\"\",\"hint_type\":\"general\",\"hint_path\":\"\",\"hint_video\":\"\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/750b3179ba754211ba0e102fc3b21b97/courseD_playLab_cond6_2018.mp3\"},{\"hint_class\":\"content\",\"hint_markdown\":\"You will need to use an `if actor 1 y position > 255` block inside of a `repeat forever` block to always check if the pirate is below the octopuses.\",\"hint_id\":\"courseD_playLab_cond6_b\",\"hint_type\":\"general\",\"hint_path\":\"\",\"hint_video\":\"\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/bb606765590265d3ffc42189bdecf92b/courseD_playLab_cond6_2018.mp3\"}]", "project_template_level_name": "courseD_playLab_condTemplate_2018", "hide_share_and_remix": "false", "disable_if_else_editing": "true", @@ -57,11 +57,12 @@ "parent_level_id": 7991, "name_suffix": "_2018", "show_type_hints": "false", - "contained_level_names": null + "contained_level_names": null, + "include_shared_functions": "false" }, "published": true, "notes": "", - "audit_log": "[{\"changed_at\":\"2017-06-20 17:23:57 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"contained_level_names\"],\"changed_by_id\":302,\"changed_by_email\":\"mara.downing@code.org\"},{\"changed_at\":\"2017-06-20 17:36:43 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"success_condition\",\"contained_level_names\"],\"changed_by_id\":302,\"changed_by_email\":\"mara.downing@code.org\"},{\"changed_at\":\"2017-06-20 21:16:18 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":302,\"changed_by_email\":\"mara.downing@code.org\"},{\"changed_at\":\"2017-07-27 02:15:54 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"markdown_instructions\",\"instructions\",\"authored_hints\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-07-27 02:17:00 +0000\",\"changed\":[\"solution_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-08-24 18:50:07 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":684,\"changed_by_email\":\"audrey.clark@code.org\"},{\"changed_at\":\"2017-10-18 04:31:15 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"instructions\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-01-02 19:03:08 +0000\",\"changed\":[\"solution_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-01-02 19:03:36 +0000\",\"changed\":[\"solution_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-01-02 19:03:47 +0000\",\"changed\":[\"solution_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-01-02 19:04:44 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"failure_condition\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-01-02 19:09:12 +0000\",\"changed\":[\"solution_blocks\",\"solution_image_url\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-01-02 19:09:14 +0000\",\"changed\":[\"solution_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-01-02 19:27:10 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-01 02:24:53 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"}]", + "audit_log": "[{\"changed_at\":\"2017-06-20 17:23:57 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"contained_level_names\"],\"changed_by_id\":302,\"changed_by_email\":\"mara.downing@code.org\"},{\"changed_at\":\"2017-06-20 17:36:43 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"success_condition\",\"contained_level_names\"],\"changed_by_id\":302,\"changed_by_email\":\"mara.downing@code.org\"},{\"changed_at\":\"2017-06-20 21:16:18 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":302,\"changed_by_email\":\"mara.downing@code.org\"},{\"changed_at\":\"2017-07-27 02:15:54 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"markdown_instructions\",\"instructions\",\"authored_hints\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-07-27 02:17:00 +0000\",\"changed\":[\"solution_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2017-08-24 18:50:07 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":684,\"changed_by_email\":\"audrey.clark@code.org\"},{\"changed_at\":\"2017-10-18 04:31:15 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"instructions\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-01-02 19:03:08 +0000\",\"changed\":[\"solution_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-01-02 19:03:36 +0000\",\"changed\":[\"solution_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-01-02 19:03:47 +0000\",\"changed\":[\"solution_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-01-02 19:04:44 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"failure_condition\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-01-02 19:09:12 +0000\",\"changed\":[\"solution_blocks\",\"solution_image_url\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-01-02 19:09:14 +0000\",\"changed\":[\"solution_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-01-02 19:27:10 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-01 02:24:53 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-27 16:00:42 +0000\",\"changed\":[\"toolbox_blocks\",\"solution_blocks\",\"authored_hints\",\"contained_level_names\"],\"changed_by_id\":568,\"changed_by_email\":\"meilani.eyre@code.org\"}]", "level_concept_difficulty": { } }]]> diff --git a/dashboard/config/scripts/levels/courseE_Dogger - take2.level b/dashboard/config/scripts/levels/courseE_Dogger - take2.level index 6871f100935f9..ed479c19c5768 100644 --- a/dashboard/config/scripts/levels/courseE_Dogger - take2.level +++ b/dashboard/config/scripts/levels/courseE_Dogger - take2.level @@ -48,7 +48,7 @@ }, "published": true, "notes": "", - "audit_log": "[{\"changed_at\":\"2018-06-21 21:59:12 +0000\",\"changed\":[\"notes\",\"show_debug_watch\",\"use_default_sprites\",\"hide_animation_mode\",\"show_type_hints\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-21 22:01:02 +0000\",\"changed\":[],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-22 19:10:23 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-22 19:11:53 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-22 19:21:37 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-22 19:26:35 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-22 19:34:11 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-22 19:43:32 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-22 19:51:37 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-22 19:57:21 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-22 19:59:13 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-22 19:59:40 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-25 17:23:03 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-25 17:24:25 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-25 17:24:36 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-25 17:25:56 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-25 17:27:10 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-25 17:31:26 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-25 17:31:47 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-25 17:32:13 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-25 21:19:40 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":568,\"changed_by_email\":\"meilani.eyre@code.org\"},{\"changed_at\":\"2018-06-25 21:26:47 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":568,\"changed_by_email\":\"meilani.eyre@code.org\"},{\"changed_at\":\"2018-06-25 21:32:49 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":568,\"changed_by_email\":\"meilani.eyre@code.org\"},{\"changed_at\":\"2018-06-25 21:36:41 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":568,\"changed_by_email\":\"meilani.eyre@code.org\"},{\"changed_at\":\"2018-06-25 21:41:16 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":568,\"changed_by_email\":\"meilani.eyre@code.org\"},{\"changed_at\":\"2018-06-25 21:43:48 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":568,\"changed_by_email\":\"meilani.eyre@code.org\"},{\"changed_at\":\"2018-06-25 22:00:21 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":568,\"changed_by_email\":\"meilani.eyre@code.org\"},{\"changed_at\":\"2018-06-25 22:00:54 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":568,\"changed_by_email\":\"meilani.eyre@code.org\"},{\"changed_at\":\"2018-06-25 22:10:42 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":568,\"changed_by_email\":\"meilani.eyre@code.org\"},{\"changed_at\":\"2018-06-25 22:10:46 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":568,\"changed_by_email\":\"meilani.eyre@code.org\"},{\"changed_at\":\"2018-06-25 22:12:03 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":568,\"changed_by_email\":\"meilani.eyre@code.org\"},{\"changed_at\":\"2018-06-25 22:13:28 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":568,\"changed_by_email\":\"meilani.eyre@code.org\"},{\"changed_at\":\"2018-06-25 22:21:32 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":568,\"changed_by_email\":\"meilani.eyre@code.org\"}]" + "audit_log": "[{\"changed_at\":\"2018-06-21 21:59:12 +0000\",\"changed\":[\"notes\",\"show_debug_watch\",\"use_default_sprites\",\"hide_animation_mode\",\"show_type_hints\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-21 22:01:02 +0000\",\"changed\":[],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-22 19:10:23 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-22 19:11:53 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-22 19:21:37 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-22 19:26:35 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-22 19:34:11 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-22 19:43:32 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-22 19:51:37 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-22 19:57:21 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-22 19:59:13 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-22 19:59:40 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-25 17:23:03 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-25 17:24:25 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-25 17:24:36 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-25 17:25:56 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-25 17:27:10 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-25 17:31:26 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-25 17:31:47 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-25 17:32:13 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-25 21:19:40 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":568,\"changed_by_email\":\"meilani.eyre@code.org\"},{\"changed_at\":\"2018-06-25 21:26:47 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":568,\"changed_by_email\":\"meilani.eyre@code.org\"},{\"changed_at\":\"2018-06-25 21:32:49 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":568,\"changed_by_email\":\"meilani.eyre@code.org\"},{\"changed_at\":\"2018-06-25 21:36:41 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":568,\"changed_by_email\":\"meilani.eyre@code.org\"},{\"changed_at\":\"2018-06-25 21:41:16 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":568,\"changed_by_email\":\"meilani.eyre@code.org\"},{\"changed_at\":\"2018-06-25 21:43:48 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":568,\"changed_by_email\":\"meilani.eyre@code.org\"},{\"changed_at\":\"2018-06-25 22:00:21 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":568,\"changed_by_email\":\"meilani.eyre@code.org\"},{\"changed_at\":\"2018-06-25 22:00:54 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":568,\"changed_by_email\":\"meilani.eyre@code.org\"},{\"changed_at\":\"2018-06-25 22:10:42 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":568,\"changed_by_email\":\"meilani.eyre@code.org\"},{\"changed_at\":\"2018-06-25 22:10:46 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":568,\"changed_by_email\":\"meilani.eyre@code.org\"},{\"changed_at\":\"2018-06-25 22:12:03 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":568,\"changed_by_email\":\"meilani.eyre@code.org\"},{\"changed_at\":\"2018-06-25 22:13:28 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":568,\"changed_by_email\":\"meilani.eyre@code.org\"},{\"changed_at\":\"2018-06-25 22:21:32 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":568,\"changed_by_email\":\"meilani.eyre@code.org\"},{\"changed_at\":\"2018-06-26 23:54:47 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":568,\"changed_by_email\":\"meilani.eyre@code.org\"},{\"changed_at\":\"2018-06-27 16:20:50 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":568,\"changed_by_email\":\"meilani.eyre@code.org\"},{\"changed_at\":\"2018-06-27 16:47:34 +0000\",\"changed\":[\"start_blocks\"],\"changed_by_id\":568,\"changed_by_email\":\"meilani.eyre@code.org\"}]" }]]> @@ -82,7 +82,7 @@ - EQ + LTE @@ -181,7 +181,7 @@ - EQ + GTE @@ -253,115 +253,136 @@ - - "right" + + "East" lowerLeftie - - - 90 - - - - lowerRightie - "black car" - - - {"x":379,"y":197} + + "scale" + + + lowerLeftie + + + + + 80 - - "left" - - - lowerRightie - - - - - 90 + + lowerRightie + "black car" + + + {"x":379,"y":197} - - upperLeftie - "green car" - - - {"x":17,"y":103} + + "West" + + + lowerRightie - - "right" + + "scale" - upperLeftie + lowerRightie - 90 + 80 - target - "gold coin" + upperLeftie + "green car" - {"x":204,"y":6} + {"x":17,"y":103} - + + "scale" - lowerLeftie + upperLeftie - - - drive right + + + 80 - + + "East" upperLeftie - - - drive right - - - - + + target + "gold coin" + + + {"x":204,"y":6} + + + + + + + lowerLeftie + + + + + drive right + + + + + + + upperLeftie + + + + + drive right + + + + + lowerRightie - - + + drive left - - - - - - "bear" - + + + + @@ -388,26 +409,6 @@ - - - - - - this sprite - - - - - - - - - touched - - - - - @@ -438,27 +439,60 @@ Game over. + + + + + - - - - "East" - - - dogger + + + + dogger + + + + + "rotation" + + + "West" - - - 10 + + + + + + + #ff6666 + + + + + Game over. + + + + + You lost. + + + + + + + + + - + @@ -468,10 +502,10 @@ - "costume" + "rotation" - - "black car" + + "East" @@ -495,15 +529,20 @@ You lost. + + + + + - + - "West" + "East" dogger @@ -517,10 +556,10 @@ - + - "South" + "North" dogger @@ -534,50 +573,27 @@ - - - - dogger - - - - - "rotation" - - - 90 + + + + "West" + + + dogger - - - - - - - #ff6666 + + + 10 - - - - - Game over. - - - - - You lost. - - - - - + - + - "North" + "South" dogger diff --git a/dashboard/config/scripts/levels/courseE_artist_functions2_2018.level b/dashboard/config/scripts/levels/courseE_artist_functions2_2018.level index cca4e78ec047f..dd846e323be2d 100644 --- a/dashboard/config/scripts/levels/courseE_artist_functions2_2018.level +++ b/dashboard/config/scripts/levels/courseE_artist_functions2_2018.level @@ -33,7 +33,7 @@ "impressive": "false", "disable_sharing": "false", "never_autoplay_video": "true", - "authored_hints": "[{\"hint_class\":\"content\",\"hint_markdown\":\"The function should not contain your whole program, just the part that draws a square with 100 pixel sides.\",\"hint_id\":\"courseD_artist_functions2_b\",\"hint_type\":\"general\",\"hint_path\":\"\",\"hint_video\":\"\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/f4342e95a442dcc2bb8b147953f254ec/courseE_artist_functions2_2018.mp3\"},{\"hint_class\":\"content\",\"hint_markdown\":\"Make sure that you use the green `draw a square` block to \\\"call\\\" your function. Otherwise, the code in your function will not run.\\n\",\"hint_id\":\"courseD_artist_functions2_c\",\"hint_type\":\"general\",\"hint_path\":\"\",\"hint_video\":\"\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/cec9974e24d32f01732439435754d7d9/courseE_artist_functions2_2018.mp3\"},{\"hint_class\":\"content\",\"hint_markdown\":\"Your program should:\\n- Use function\\n- Move forward 100 + 75 pixels\\n- Use function\",\"hint_id\":\"courseD_artist_functions2_a\",\"hint_type\":\"general\",\"hint_path\":\"\",\"hint_video\":\"\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/a7f470d79f423a1dcac8b8c8920c402e/courseE_artist_functions2_2018.mp3\"}]", + "authored_hints": "[{\"hint_class\":\"content\",\"hint_markdown\":\"The function should not contain your whole program, just the part that draws a square with 100 pixel sides.\",\"hint_id\":\"courseD_artist_functions2_b\",\"hint_type\":\"general\",\"hint_path\":\"\",\"hint_video\":\"\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/f4342e95a442dcc2bb8b147953f254ec/courseE_artist_functions2_2018.mp3\"},{\"hint_class\":\"content\",\"hint_markdown\":\"Make sure that you use the green `draw a square` block to \\\"call\\\" your function. Otherwise, the code in your function will not run.\\n\",\"hint_id\":\"courseD_artist_functions2_c\",\"hint_type\":\"general\",\"hint_path\":\"\",\"hint_video\":\"\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/cec9974e24d32f01732439435754d7d9/courseE_artist_functions2_2018.mp3\"},{\"hint_class\":\"content\",\"hint_markdown\":\"Your program should:\\n- Use your function\\n- Move forward 100 + 75 pixels\\n- Use your function again\",\"hint_id\":\"courseD_artist_functions2_a\",\"hint_type\":\"general\",\"hint_path\":\"\",\"hint_video\":\"\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/f0ce0bd2c2b51042bd7cc48ee8830487/courseE_artist_functions2_2018.mp3\"}]", "discard_background": "false", "callout_json": "[\r\n {\r\n \"localization_key\": \"courseD_artist_functions2_1\",\r\n \"callout_text\": \"When this green block runs, all of the code in the function will run. What should the artist do after drawing the first square?\",\r\n \"element_id\": \"#start\",\r\n \"on\": \"\",\r\n \"qtip_config\": {\r\n \"codeStudio\": {\r\n \"canReappear\": false,\r\n \"dropletPaletteCategory\": \"\"\r\n },\r\n \"style\": {\r\n \"classes\": \"\"\r\n },\r\n \"position\": {\r\n \"my\": \"bottom left\",\r\n \"at\": \"top right\",\r\n \"adjust\": {\r\n \"x\": 0,\r\n \"y\": 10\r\n }\r\n }\r\n }\r\n }\r\n]", "instructions_important": "false", @@ -43,11 +43,12 @@ "name_suffix": "_2018", "top_level_procedure_autopopulate": "false", "show_type_hints": "false", + "include_shared_functions": "false", "contained_level_names": null }, "published": true, "notes": "", - "audit_log": "[{\"changed_at\":\"2017-06-20 20:50:44 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"solution_blocks\",\"predraw_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":302,\"changed_by_email\":\"mara.downing@code.org\"},{\"changed_at\":\"2017-07-13 03:23:52 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"solution_blocks\",\"predraw_blocks\",\"authored_hints\",\"contained_level_names\"],\"changed_by_id\":302,\"changed_by_email\":\"mara.downing@code.org\"},{\"changed_at\":\"2017-07-28 22:35:45 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"solution_blocks\",\"predraw_blocks\",\"never_autoplay_video\",\"contained_level_names\"],\"changed_by_id\":684,\"changed_by_email\":\"audrey.clark@code.org\"},{\"changed_at\":\"2017-08-24 15:52:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"solution_blocks\",\"predraw_blocks\",\"instructions\",\"authored_hints\",\"contained_level_names\"],\"changed_by_id\":684,\"changed_by_email\":\"audrey.clark@code.org\"},{\"changed_at\":\"2018-05-01 18:44:10 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"solution_blocks\",\"predraw_blocks\",\"instructions\",\"markdown_instructions\",\"authored_hints\",\"instructions_important\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-04 20:47:34 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-04 20:48:17 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"solution_blocks\",\"predraw_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"}]", + "audit_log": "[{\"changed_at\":\"2017-06-20 20:50:44 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"solution_blocks\",\"predraw_blocks\",\"markdown_instructions\",\"contained_level_names\"],\"changed_by_id\":302,\"changed_by_email\":\"mara.downing@code.org\"},{\"changed_at\":\"2017-07-13 03:23:52 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"solution_blocks\",\"predraw_blocks\",\"authored_hints\",\"contained_level_names\"],\"changed_by_id\":302,\"changed_by_email\":\"mara.downing@code.org\"},{\"changed_at\":\"2017-07-28 22:35:45 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"solution_blocks\",\"predraw_blocks\",\"never_autoplay_video\",\"contained_level_names\"],\"changed_by_id\":684,\"changed_by_email\":\"audrey.clark@code.org\"},{\"changed_at\":\"2017-08-24 15:52:50 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"solution_blocks\",\"predraw_blocks\",\"instructions\",\"authored_hints\",\"contained_level_names\"],\"changed_by_id\":684,\"changed_by_email\":\"audrey.clark@code.org\"},{\"changed_at\":\"2018-05-01 18:44:10 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"solution_blocks\",\"predraw_blocks\",\"instructions\",\"markdown_instructions\",\"authored_hints\",\"instructions_important\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-04 20:47:34 +0000\",\"changed\":[\"toolbox_blocks\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-04 20:48:17 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"solution_blocks\",\"predraw_blocks\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"},{\"changed_at\":\"2018-06-26 20:12:20 +0000\",\"changed\":[\"start_blocks\",\"toolbox_blocks\",\"solution_blocks\",\"predraw_blocks\",\"authored_hints\",\"contained_level_names\"],\"changed_by_id\":63,\"changed_by_email\":\"kiki@code.org\"}]", "level_concept_difficulty": { } }]]> diff --git a/dashboard/config/scripts/levels/coursef_EOC_2.level b/dashboard/config/scripts/levels/coursef_EOC_2.level new file mode 100644 index 0000000000000..2408cc6ebb0ae --- /dev/null +++ b/dashboard/config/scripts/levels/coursef_EOC_2.level @@ -0,0 +1,59 @@ + + + + \ No newline at end of file diff --git a/dashboard/config/scripts/levels/ramp_artist_loops1_2018.level b/dashboard/config/scripts/levels/ramp_artist_loops1_2018.level index f212e713af25c..848a45206328b 100644 --- a/dashboard/config/scripts/levels/ramp_artist_loops1_2018.level +++ b/dashboard/config/scripts/levels/ramp_artist_loops1_2018.level @@ -39,11 +39,11 @@ "markdown_instructions": "What a lovely day! \r\n\r\nHelp the Artist cover his flowers before the winter by moving forward by 60 pixels.", "ideal": "3", "name_suffix": "_2018", - "contained_level_names": null, "slider_speed": "0.5", "top_level_procedure_autopopulate": "false", "show_type_hints": "false", - "include_shared_functions": "false" + "include_shared_functions": "false", + "contained_level_names": null }, "published": true, "notes": "Slow intro to loops. Start with line...profit.", diff --git a/dashboard/config/scripts/levels/ramp_artist_loops2_2018.level b/dashboard/config/scripts/levels/ramp_artist_loops2_2018.level index 8ede0271f50de..58b8a16905462 100644 --- a/dashboard/config/scripts/levels/ramp_artist_loops2_2018.level +++ b/dashboard/config/scripts/levels/ramp_artist_loops2_2018.level @@ -39,11 +39,11 @@ "markdown_instructions": "Add some beauty by repeating that step five times, changing to a random color between each move.", "ideal": "7", "name_suffix": "_2018", - "contained_level_names": null, "slider_speed": "0.5", "top_level_procedure_autopopulate": "false", "show_type_hints": "false", - "include_shared_functions": "false" + "include_shared_functions": "false", + "contained_level_names": null }, "published": true, "notes": "Slow intro to loops. Start with line...profit.", diff --git a/dashboard/config/scripts/levels/ramp_artist_loops3_2018.level b/dashboard/config/scripts/levels/ramp_artist_loops3_2018.level index a8f36fc8b81db..26705b56a438d 100644 --- a/dashboard/config/scripts/levels/ramp_artist_loops3_2018.level +++ b/dashboard/config/scripts/levels/ramp_artist_loops3_2018.level @@ -39,11 +39,11 @@ "markdown_instructions": "Draw the colorful line 5 times again, this time using a `repeat` loop.", "ideal": "4", "name_suffix": "_2018", - "contained_level_names": null, "slider_speed": "0.5", "top_level_procedure_autopopulate": "false", "show_type_hints": "false", - "include_shared_functions": "false" + "include_shared_functions": "false", + "contained_level_names": null }, "published": true, "notes": "Slow intro to loops. Start with line...profit.", diff --git a/dashboard/config/scripts/levels/ramp_artist_loops4_2018.level b/dashboard/config/scripts/levels/ramp_artist_loops4_2018.level index b9a1510dde086..abaab7e0b0a77 100644 --- a/dashboard/config/scripts/levels/ramp_artist_loops4_2018.level +++ b/dashboard/config/scripts/levels/ramp_artist_loops4_2018.level @@ -38,11 +38,11 @@ "markdown_instructions": "What happens when you add a 72 degree right turn after everything else inside your loop?", "ideal": "5", "name_suffix": "_2018", - "contained_level_names": null, "slider_speed": "0.5", "top_level_procedure_autopopulate": "false", "show_type_hints": "false", - "include_shared_functions": "false" + "include_shared_functions": "false", + "contained_level_names": null }, "published": true, "notes": "Slow intro to loops. Start with line...profit.", diff --git a/dashboard/config/scripts/levels/ramp_artist_loops5_2018.level b/dashboard/config/scripts/levels/ramp_artist_loops5_2018.level index 4aa9814c185f6..f7aa25a034e19 100644 --- a/dashboard/config/scripts/levels/ramp_artist_loops5_2018.level +++ b/dashboard/config/scripts/levels/ramp_artist_loops5_2018.level @@ -38,11 +38,11 @@ "markdown_instructions": "Loops sure make writing code easier!\r\n\r\nUse loops to draw this staircase.\r\n- Each stairstep is 50 pixels long and 50 pixels tall\r\n- You will need to turn 90 degrees in each direction", "ideal": "7", "name_suffix": "_2018", - "contained_level_names": null, "slider_speed": "0.5", "top_level_procedure_autopopulate": "false", "show_type_hints": "false", - "include_shared_functions": "false" + "include_shared_functions": "false", + "contained_level_names": null }, "published": true, "notes": "Slow intro to loops. Start with line...profit.", diff --git a/dashboard/config/scripts/levels/ramp_artist_loops6_2018.level b/dashboard/config/scripts/levels/ramp_artist_loops6_2018.level index a7ef8a0bafce0..89aee6af389f3 100644 --- a/dashboard/config/scripts/levels/ramp_artist_loops6_2018.level +++ b/dashboard/config/scripts/levels/ramp_artist_loops6_2018.level @@ -38,11 +38,11 @@ "markdown_instructions": "This staircase is much bigger, but it takes the same amount of code as the last puzzle!\r\n\r\nFix this loop to complete the puzzle.", "ideal": "7", "name_suffix": "_2018", - "contained_level_names": null, "slider_speed": "0.5", "top_level_procedure_autopopulate": "false", "show_type_hints": "false", - "include_shared_functions": "false" + "include_shared_functions": "false", + "contained_level_names": null }, "published": true, "notes": "", diff --git a/dashboard/config/scripts/levels/ramp_artist_loops7_2018.level b/dashboard/config/scripts/levels/ramp_artist_loops7_2018.level index 8169fa00e8150..3ae79888e6b0f 100644 --- a/dashboard/config/scripts/levels/ramp_artist_loops7_2018.level +++ b/dashboard/config/scripts/levels/ramp_artist_loops7_2018.level @@ -38,11 +38,11 @@ "markdown_instructions": "Look for a pattern and make this code shorter using loops!", "ideal": "7", "name_suffix": "_2018", - "contained_level_names": null, "slider_speed": "0.5", "top_level_procedure_autopopulate": "false", "show_type_hints": "false", - "include_shared_functions": "false" + "include_shared_functions": "false", + "contained_level_names": null }, "published": true, "notes": "", diff --git a/dashboard/config/scripts/levels/ramp_artist_loops8_2018.level b/dashboard/config/scripts/levels/ramp_artist_loops8_2018.level index 77e199a2fae3f..eaeed77626726 100644 --- a/dashboard/config/scripts/levels/ramp_artist_loops8_2018.level +++ b/dashboard/config/scripts/levels/ramp_artist_loops8_2018.level @@ -40,10 +40,10 @@ "top_level_procedure_autopopulate": "false", "permitted_errors": "0", "name_suffix": "_2018", - "contained_level_names": null, "slider_speed": "0.5", "show_type_hints": "false", - "include_shared_functions": "false" + "include_shared_functions": "false", + "contained_level_names": null }, "published": true, "notes": "Slow intro to loops. Start with line...profit.", diff --git a/dashboard/config/scripts/levels/ramp_artist_loops9_2018.level b/dashboard/config/scripts/levels/ramp_artist_loops9_2018.level index 71fa45014d5a5..0c76e2b2fee92 100644 --- a/dashboard/config/scripts/levels/ramp_artist_loops9_2018.level +++ b/dashboard/config/scripts/levels/ramp_artist_loops9_2018.level @@ -38,11 +38,11 @@ "markdown_instructions": "Solve this puzzle by drawing a square with 200 pixel sides.", "ideal": "5", "name_suffix": "_2018", - "contained_level_names": null, "slider_speed": "0.5", "top_level_procedure_autopopulate": "false", "show_type_hints": "false", - "include_shared_functions": "false" + "include_shared_functions": "false", + "contained_level_names": null }, "published": true, "notes": "", diff --git a/dashboard/test/factories/factories.rb b/dashboard/test/factories/factories.rb index 9ee1fa946223c..ef15130fb6851 100644 --- a/dashboard/test/factories/factories.rb +++ b/dashboard/test/factories/factories.rb @@ -319,7 +319,9 @@ ) user.update!( primary_authentication_option: ao, - provider: User::PROVIDER_MIGRATED + provider: User::PROVIDER_MIGRATED, + email: '', + hashed_email: nil ) end end @@ -357,6 +359,7 @@ credential_type: AuthenticationOption::EMAIL, authentication_id: user.hashed_email ) + user.authentication_options << ao user.update!( primary_authentication_option: ao, provider: User::PROVIDER_MIGRATED, diff --git a/dashboard/test/models/user_test.rb b/dashboard/test/models/user_test.rb index c16650278065f..1a4f7158cfd6d 100644 --- a/dashboard/test/models/user_test.rb +++ b/dashboard/test/models/user_test.rb @@ -192,6 +192,218 @@ class UserTest < ActiveSupport::TestCase assert_equal ['Email has already been taken'], user.errors.full_messages end + # + # Email uniqueness validation tests + # These should simplify significantly once we are fully migrated to multi-auth + # + COLLISION_EMAIL = 'collision@example.org' + + def create_single_auth_user_with_email(email) + create :student, email: email + end + + def create_multi_auth_user_with_email(email) + create :student, :with_migrated_email_authentication_option, email: email + end + + def create_multi_auth_user_with_second_email(email) + user = create :student, :with_migrated_email_authentication_option + user.authentication_options << create(:google_authentication_option, user: user, email: email) + user.save + user + end + + test "cannot create single-auth user with duplicate of single-auth user's email" do + create_single_auth_user_with_email COLLISION_EMAIL + cannot_create_single_auth_users_with_email COLLISION_EMAIL + end + + test "cannot create single-auth user with duplicate of multi-auth user's email" do + create_multi_auth_user_with_email COLLISION_EMAIL + cannot_create_single_auth_users_with_email COLLISION_EMAIL + end + + test "cannot create single-auth user with duplicate of multi-auth user's second email" do + create_multi_auth_user_with_second_email COLLISION_EMAIL + cannot_create_single_auth_users_with_email COLLISION_EMAIL + end + + test "cannot create multi-auth user with duplicate of single-auth user's email" do + create_single_auth_user_with_email COLLISION_EMAIL + cannot_create_multi_auth_users_with_email COLLISION_EMAIL + end + + test "cannot create multi-auth user with duplicate of multi-auth user's email" do + create_multi_auth_user_with_email COLLISION_EMAIL + cannot_create_multi_auth_users_with_email COLLISION_EMAIL + end + + test "cannot create multi-auth user with duplicate of multi-auth user's second email" do + create_multi_auth_user_with_second_email COLLISION_EMAIL + cannot_create_multi_auth_users_with_email COLLISION_EMAIL + end + + def cannot_create_single_auth_users_with_email(email) + cannot_create_user_with_email :teacher, email: email + cannot_create_user_with_email :student, email: email + end + + def cannot_create_multi_auth_users_with_email(email) + cannot_create_user_with_email :teacher, + :with_migrated_email_authentication_option, + email: email + cannot_create_user_with_email :student, + :with_migrated_email_authentication_option, + email: email + end + + def cannot_create_user_with_email(*args) + assert_fails_email_uniqueness_validation FactoryGirl.build(*args) + end + + test "cannot update single-auth user with duplicate of single-auth user's email" do + create_single_auth_user_with_email COLLISION_EMAIL + cannot_update_single_auth_users_with_email COLLISION_EMAIL + end + + test "cannot update single-auth user with duplicate of multi-auth user's email" do + create_multi_auth_user_with_email COLLISION_EMAIL + cannot_update_single_auth_users_with_email COLLISION_EMAIL + end + + test "cannot update single-auth user with duplicate of multi-auth user's second email" do + create_multi_auth_user_with_second_email COLLISION_EMAIL + cannot_update_single_auth_users_with_email COLLISION_EMAIL + end + + test "cannot update multi-auth user with duplicate of single-auth user's email" do + create_single_auth_user_with_email COLLISION_EMAIL + cannot_update_multi_auth_users_with_email COLLISION_EMAIL + end + + test "cannot update multi-auth user with duplicate of multi-auth user's email" do + create_multi_auth_user_with_email COLLISION_EMAIL + cannot_update_multi_auth_users_with_email COLLISION_EMAIL + end + + test "cannot update multi-auth user with duplicate of multi-auth user's second email" do + create_multi_auth_user_with_second_email COLLISION_EMAIL + cannot_update_multi_auth_users_with_email COLLISION_EMAIL + end + + def cannot_update_single_auth_users_with_email(email) + cannot_update_user_with_email email, :teacher + cannot_update_user_with_email email, :student + end + + def cannot_update_multi_auth_users_with_email(email) + cannot_update_user_with_email email, :teacher, :with_migrated_email_authentication_option + cannot_update_user_with_email email, :student, :with_migrated_email_authentication_option + end + + def cannot_update_user_with_email(email, *user_args) + user = create(*user_args) + if user.migrated? + refute user.authentication_options.first.update(email: email) + else + refute user.update(email: email) + end + assert_fails_email_uniqueness_validation user + end + + test "cannot give user an additional email that is a duplicate of single-auth user's email" do + create_single_auth_user_with_email COLLISION_EMAIL + cannot_give_users_additional_email COLLISION_EMAIL + end + + test "cannot give user an additional email that is a duplicate of multi-auth user's email" do + create_multi_auth_user_with_email COLLISION_EMAIL + cannot_give_users_additional_email COLLISION_EMAIL + end + + test "cannot give user an additional email that is a duplicate of multi-auth user's second email" do + create_multi_auth_user_with_second_email COLLISION_EMAIL + cannot_give_users_additional_email COLLISION_EMAIL + end + + def cannot_give_users_additional_email(email) + cannot_give_user_additional_email :teacher, email + cannot_give_user_additional_email :student, email + end + + def cannot_give_user_additional_email(type, email) + user = create type, :with_migrated_email_authentication_option + user.authentication_options << FactoryGirl.build(:google_authentication_option, user: user, email: email) + refute user.save + assert_fails_email_uniqueness_validation user + end + + def assert_fails_email_uniqueness_validation(user) + refute user.valid? + assert_equal ['has already been taken'], user.errors[:email] + assert_includes user.errors.full_messages, 'Email has already been taken' + end + + test "Creating Teacher with email causes email collision check" do + User.expects(:find_by_email_or_hashed_email) + create :teacher + end + + test "Creating Student with email causes email collision check" do + User.expects(:find_by_hashed_email) + create :student + end + + test "Creating User without email does not cause email collision check" do + User.expects(:find_by_email_or_hashed_email).never + User.expects(:find_by_hashed_email).never + create :parent_managed_student + end + + test "Saving Teacher with email change causes email collision check" do + user = create :teacher + User.expects(:find_by_email_or_hashed_email) + user.email = 'new-email@example.org' + user.valid? + end + + test "Saving Student with hashed_email change causes email collision check" do + user = create :student + User.expects(:find_by_hashed_email) + user.hashed_email = User.hash_email 'new-email@example.org' + user.valid? + end + + test "Saving User without changing email does not cause email collision check" do + user = create :student + User.expects(:find_by_email_or_hashed_email).never + User.expects(:find_by_hashed_email).never + user.name = 'New username' + user.valid? + end + + test "Saving Teacher's AuthenticationOption with an email change causes email collision check" do + user = create :teacher, :with_migrated_email_authentication_option + User.expects(:find_by_email_or_hashed_email) + user.authentication_options.first.email = 'new-email@example.org' + user.valid? + end + + test "Saving Student's AuthenticationOption with a hashed_email change causes email collision check" do + user = create :student, :with_migrated_email_authentication_option + User.expects(:find_by_hashed_email) + user.authentication_options.first.hashed_email = User.hash_email 'new-email@example.org' + user.valid? + end + + test "Saving AuthenticationOption without changing email does not cause email collision check" do + user = create :student, :with_migrated_email_authentication_option + User.expects(:find_by_email_or_hashed_email).never + User.expects(:find_by_hashed_email).never + user.authentication_options.first.data = 'unrelated change' + user.valid? + end + test "can create a user with age" do Timecop.travel Time.local(2013, 9, 1, 12, 0, 0) do assert_creates(User) do diff --git a/pegasus/cache/i18n/en-US.yml b/pegasus/cache/i18n/en-US.yml index 205a3cbb7338b..edb5503b78c70 100644 --- a/pegasus/cache/i18n/en-US.yml +++ b/pegasus/cache/i18n/en-US.yml @@ -70,17 +70,7 @@ congratulations: "Congratulations!" congratulations_on_completing_hoc: "Congratulations on completing one Hour of Code" congratulations_volunteer: 'Congratulations: Now that you’ve tried the Hour of Code, sign up to volunteer in a classroom and help students learn an Hour of Code!' - congratulations_on_completing_course1: "Congratulations on completing Course 1" - congratulations_on_completing_course2: "Congratulations on completing Course 2" - congratulations_on_completing_course3: "Congratulations on completing Course 3" - congratulations_on_completing_course4: "Congratulations on completing Course 4" - congratulations_on_completing_coursea: "Congratulations on completing Course A" - congratulations_on_completing_courseb: "Congratulations on completing Course B" - congratulations_on_completing_coursec: "Congratulations on completing Course C" - congratulations_on_completing_coursed: "Congratulations on completing Course D" - congratulations_on_completing_coursee: "Congratulations on completing Course E" - congratulations_on_completing_coursef: "Congratulations on completing Course F" - congratulations_on_completing_accelerated: "Congratulations on completing the Accelerated Course" + congratulations_on_completing_course: "Congratulations on completing %{course}" congrats_next_tutorials_title: "Graduate to the next level" congrats_next_tutorials_desc: "Try these shorter, 1 hour tutorials or try a partner tutorial." get_a_certificate_of_achievement: "Get a certificate of achievement" @@ -213,17 +203,7 @@ just_did_coursef: "I just finished Course F - check it out! @codeorg" just_did_accelerated: "I just finished the Accelerated Course - check it out! @codeorg" just_did_hoc_donor: 'I just did the #HourOfCode - check it out! (Thanks %{donor_twitter} for supporting @codeorg)' - just_did_course1_donor: "I just finished Course 1 - check it out! Thanks %{donor_twitter} for supporting @codeorg" - just_did_course2_donor: "I just finished Course 2 - check it out! Thanks %{donor_twitter} for supporting @codeorg" - just_did_course3_donor: "I just finished Course 3 - check it out! Thanks %{donor_twitter} for supporting @codeorg" - just_did_course4_donor: "I just finished Course 4 - check it out! Thanks %{donor_twitter} for supporting @codeorg" - just_did_coursea_donor: "I just finished Course A - check it out! Thanks %{donor_twitter} for supporting @codeorg" - just_did_courseb_donor: "I just finished Course B - check it out! Thanks %{donor_twitter} for supporting @codeorg" - just_did_coursec_donor: "I just finished Course C - check it out! Thanks %{donor_twitter} for supporting @codeorg" - just_did_coursed_donor: "I just finished Course D - check it out! Thanks %{donor_twitter} for supporting @codeorg" - just_did_coursee_donor: "I just finished Course E - check it out! Thanks %{donor_twitter} for supporting @codeorg" - just_did_coursef_donor: "I just finished Course F - check it out! Thanks %{donor_twitter} for supporting @codeorg" - just_did_accelerated_donor: "I just finished the Accelerated Course - check it out! Thanks %{donor_twitter} for supporting @codeorg" + just_did_course_donor: "I just finished %{course} - check it out! Thanks %{donor_twitter} for supporting @codeorg" twitter_teach_cs: "9 out of 10 people agree, schools should teach computer science. http://youtu.be/nKIu9yen5nc. Visit https://code.org/." twitter_cs_foundational: "Computer science is foundational for every student to learn. https://youtu.be/QvyTEx1wyOY." learn_hoc: "Learn an Hour of Code" @@ -1119,6 +1099,18 @@ coursed_gradelevel: "Ages 7-11" coursee_gradelevel: "Ages 8-12" coursef_gradelevel: "Ages 9-13" + coursea-2017_gradelevel: Ages 4-7 + courseb-2017_gradelevel: Ages 5-8 + coursec-2017_gradelevel: Ages 6-10 + coursed-2017_gradelevel: Ages 7-11 + coursee-2017_gradelevel: Ages 8-12 + coursef-2017_gradelevel: Ages 9-13 + coursea-2018_gradelevel: Ages 4-7 + courseb-2018_gradelevel: Ages 5-8 + coursec-2018_gradelevel: Ages 6-10 + coursed-2018_gradelevel: Ages 7-11 + coursee-2018_gradelevel: Ages 8-12 + coursef-2018_gradelevel: Ages 9-13 accelerated_gradelevel: "Ages 10-18" codeorg_platformtext: "Modern browsers, smartphones, tablets" codeintl_platformtext: "Modern browsers, smartphones, tablets" @@ -1227,6 +1219,18 @@ coursed_shortdescription_congrats: "Quickly cover concepts from Course C, then go further with algorithms, nested loops, conditionals, and more." coursee_shortdescription_congrats: "Quickly cover concepts in Course C & D and then go further with functions." coursef_shortdescription_congrats: "Learn all the concepts in Computer Science Fundamentals and create your own art, story or game." + coursea-2017_shortdescription_congrats: An introduction to computer science for pre-readers. + courseb-2017_shortdescription_congrats: An introduction to computer science for pre-readers. (Similar to Course A, but with more variety for older students.) + coursec-2017_shortdescription_congrats: Learn the basics of computer science and create your own art, stories, and games. + coursed-2017_shortdescription_congrats: Quickly cover concepts from Course C, then go further with algorithms, nested loops, conditionals, and more. + coursee-2017_shortdescription_congrats: Quickly cover concepts in Course C & D and then go further with functions. + coursef-2017_shortdescription_congrats: Learn all the concepts in Computer Science Fundamentals and create your own art, story or game. + coursea-2018_shortdescription_congrats: An introduction to computer science for pre-readers. + courseb-2018_shortdescription_congrats: An introduction to computer science for pre-readers. (Similar to Course A, but with more variety for older students.) + coursec-2018_shortdescription_congrats: Learn the basics of computer science and create your own art, stories, and games. + coursed-2018_shortdescription_congrats: Quickly cover concepts from Course C, then go further with algorithms, nested loops, conditionals, and more. + coursee-2018_shortdescription_congrats: Quickly cover concepts in Course C & D and then go further with functions. + coursef-2018_shortdescription_congrats: Learn all the concepts in Computer Science Fundamentals and create your own art, story or game. codeorg_longdescription: "Learn the basic concepts of Computer Science with drag and drop programming. This is a game-like, self-directed tutorial starring video lectures by Bill Gates, Mark Zuckerberg, Angry Birds and Plants vs. Zombies. Learn repeat-loops, conditionals, and basic algorithms. Available in 34 languages." codeintl_longdescription: "Learn the basic concepts of Computer Science with drag and drop programming. This is a game-like, self-directed tutorial starring video lectures by Bill Gates, Mark Zuckerberg, Angry Birds and Plants vs. Zombies. Learn repeat-loops, conditionals, and basic algorithms. Available in 34 languages." thinkersmithspanish_longdescription: "Mediante el uso de un \"Vocabulario Robot\" predefinido, los estudiantes descubrirán como guiarse de modo tal de llevar a cabo tareas específicas sin ser estas discutidas previamente. Este segmento enseña a los estudiantes la conexión entre símbolos y acciones así como la valiosa habilidad de depuración." diff --git a/pegasus/sites.v3/code.org/public/congrats/splat.haml b/pegasus/sites.v3/code.org/public/congrats/splat.haml index fc46c1ef9aefe..b420033142c92 100644 --- a/pegasus/sites.v3/code.org/public/congrats/splat.haml +++ b/pegasus/sites.v3/code.org/public/congrats/splat.haml @@ -17,9 +17,17 @@ max_age: 60 - course = File.basename(request.path_info) - - -- if %w(course1 course2 course3 course4 coursea courseb coursec coursed coursee coursef accelerated).include? course +- if [ ScriptConstants::COURSE1_NAME, + ScriptConstants::COURSE2_NAME, + ScriptConstants::COURSE3_NAME, + ScriptConstants::COURSE4_NAME, + ScriptConstants::COURSEA_NAME, + ScriptConstants::COURSEB_NAME, + ScriptConstants::COURSEC_NAME, + ScriptConstants::COURSED_NAME, + ScriptConstants::COURSEE_NAME, + ScriptConstants::COURSEF_NAME, + ScriptConstants::ACCELERATED_NAME ].include? course = view :csf_congrats, course: course - else - redirect "/congrats" diff --git a/pegasus/sites.v3/code.org/public/educate/professional-learning/cs-discoveries.md b/pegasus/sites.v3/code.org/public/educate/professional-learning/cs-discoveries.md index eb070ecf9d5fe..d8b469c0fcbf2 100644 --- a/pegasus/sites.v3/code.org/public/educate/professional-learning/cs-discoveries.md +++ b/pegasus/sites.v3/code.org/public/educate/professional-learning/cs-discoveries.md @@ -55,9 +55,6 @@ The priority deadline for 2018 has passed, but we still have openings for our CS [col-33] -Alabama
-California
-Florida
Idaho
Illinois
Iowa
@@ -69,21 +66,17 @@ Maine
Maryland
Massachusetts
-Mississippi
Montana
-Southeastern New York
-North Carolina
-North Dakota
+New York (southeastern regions)
+ [/col-33] [col-33] -Central Pennsylvania
-South Dakota
-Virginia
+North Carolina
+Pennsylvania (central regions)
Wisconsin
-Wyoming
[/col-33] diff --git a/pegasus/sites.v3/code.org/public/educate/professional-learning/cs-principles.md b/pegasus/sites.v3/code.org/public/educate/professional-learning/cs-principles.md index e1392934da8e3..ccdacb170d2a6 100644 --- a/pegasus/sites.v3/code.org/public/educate/professional-learning/cs-principles.md +++ b/pegasus/sites.v3/code.org/public/educate/professional-learning/cs-principles.md @@ -52,9 +52,7 @@ The priority deadline for 2018 has passed, but we still have openings for our CS [col-33] -Alabama
-California
-Florida
+California (San Diego, East Bay regions)
Idaho
Illinois
Indiana
@@ -68,23 +66,18 @@ Kansas
Maine
Maryland
Massachusetts
-Mississippi
Missouri
Montana
New Jersey
-Southeastern New York
[/col-33] [col-33] +New York (southeastern regions)
North Carolina
-North Dakota
Oklahoma
-South Dakota
-Virginia
Wisconsin
-Wyoming
[/col-33] diff --git a/pegasus/sites.v3/code.org/public/files/computer_science_advocacy.pptx b/pegasus/sites.v3/code.org/public/files/computer_science_advocacy.pptx index 404e93e485ec1..9c368a47c2d1c 100644 Binary files a/pegasus/sites.v3/code.org/public/files/computer_science_advocacy.pptx and b/pegasus/sites.v3/code.org/public/files/computer_science_advocacy.pptx differ diff --git a/pegasus/sites.v3/code.org/views/csf_congrats.haml b/pegasus/sites.v3/code.org/views/csf_congrats.haml index 7089154fb65b6..db4b4e4177d42 100644 --- a/pegasus/sites.v3/code.org/views/csf_congrats.haml +++ b/pegasus/sites.v3/code.org/views/csf_congrats.haml @@ -4,9 +4,14 @@ :ruby cert_script = ScriptConstants::COURSE1_NAME share_url = "https://studio.code.org" + course_name = I18n.t(:"#{course}_name") facebook = {:u=>share_url} - twitter = {:url=>share_url, :related=>'codeorg', :text=>I18n.t(:"just_did_#{course}_donor", donor_twitter: get_random_donor_twitter)} + twitter = { + :url=>share_url, + :related=>'codeorg', + :text=> I18n.t(:"just_did_course_donor", donor_twitter: get_random_donor_twitter, course: course_name) + } rec_code_studio = { "course1" => "course2", @@ -15,12 +20,12 @@ "accelerated" => "course4", "course4" => "applab", - "coursea" => "courseb", - "courseb" => "coursec", - "coursec" => "coursed", - "coursed" => "coursee", - "coursee" => "coursef", - "coursef" => "applab", + ScriptConstants::COURSEA_NAME => ScriptConstants::COURSEB_NAME, + ScriptConstants::COURSEB_NAME => ScriptConstants::COURSEC_NAME, + ScriptConstants::COURSEC_NAME => ScriptConstants::COURSED_NAME, + ScriptConstants::COURSED_NAME => ScriptConstants::COURSEE_NAME, + ScriptConstants::COURSEE_NAME => ScriptConstants::COURSEF_NAME, + ScriptConstants::COURSEF_NAME => "applab", } rec_third_party = { @@ -31,17 +36,17 @@ "accelerated" => "accelerated_next", - "coursea" => "coursea_next", - "courseb" => "courseb_next", - "coursec" => "coursec_next", - "coursed" => "coursed_next", - "coursee" => "coursee_next", - "coursef" => "coursef_next", + ScriptConstants::COURSEA_NAME => "coursea_next", + ScriptConstants::COURSEB_NAME => "courseb_next", + ScriptConstants::COURSEC_NAME => "coursec_next", + ScriptConstants::COURSED_NAME => "coursed_next", + ScriptConstants::COURSEE_NAME => "coursee_next", + ScriptConstants::COURSEF_NAME => "coursef_next", } #congrats.mobile-pad{:style=>'margin: 0 auto;'} - %h1= I18n.t(:"congratulations_on_completing_#{course}") + %h1= I18n.t(:congratulations_on_completing_course, course: course_name) #toprow #hoc-certificate-small.col-50{:style=>"padding:20px; padding-top: 0; box-sizing: border-box"} diff --git a/shared/images/courses/logo_coursea-2017.png b/shared/images/courses/logo_coursea-2017.png new file mode 100644 index 0000000000000..1b7c025fe75d1 Binary files /dev/null and b/shared/images/courses/logo_coursea-2017.png differ diff --git a/shared/images/courses/logo_coursea-2018.png b/shared/images/courses/logo_coursea-2018.png new file mode 100644 index 0000000000000..1b7c025fe75d1 Binary files /dev/null and b/shared/images/courses/logo_coursea-2018.png differ diff --git a/shared/images/courses/logo_courseb-2017.png b/shared/images/courses/logo_courseb-2017.png new file mode 100644 index 0000000000000..6b2d64421d6ed Binary files /dev/null and b/shared/images/courses/logo_courseb-2017.png differ diff --git a/shared/images/courses/logo_courseb-2018.png b/shared/images/courses/logo_courseb-2018.png new file mode 100644 index 0000000000000..6b2d64421d6ed Binary files /dev/null and b/shared/images/courses/logo_courseb-2018.png differ diff --git a/shared/images/courses/logo_coursec-2017.png b/shared/images/courses/logo_coursec-2017.png new file mode 100644 index 0000000000000..966a2948abce4 Binary files /dev/null and b/shared/images/courses/logo_coursec-2017.png differ diff --git a/shared/images/courses/logo_coursec-2018.png b/shared/images/courses/logo_coursec-2018.png new file mode 100644 index 0000000000000..966a2948abce4 Binary files /dev/null and b/shared/images/courses/logo_coursec-2018.png differ diff --git a/shared/images/courses/logo_coursed-2017.png b/shared/images/courses/logo_coursed-2017.png new file mode 100644 index 0000000000000..262a382ed3848 Binary files /dev/null and b/shared/images/courses/logo_coursed-2017.png differ diff --git a/shared/images/courses/logo_coursed-2018.png b/shared/images/courses/logo_coursed-2018.png new file mode 100644 index 0000000000000..262a382ed3848 Binary files /dev/null and b/shared/images/courses/logo_coursed-2018.png differ diff --git a/shared/images/courses/logo_coursee-2017.png b/shared/images/courses/logo_coursee-2017.png new file mode 100644 index 0000000000000..b7b21d1917e71 Binary files /dev/null and b/shared/images/courses/logo_coursee-2017.png differ diff --git a/shared/images/courses/logo_coursee-2018.png b/shared/images/courses/logo_coursee-2018.png new file mode 100644 index 0000000000000..b7b21d1917e71 Binary files /dev/null and b/shared/images/courses/logo_coursee-2018.png differ diff --git a/shared/images/courses/logo_coursef-2017.png b/shared/images/courses/logo_coursef-2017.png new file mode 100644 index 0000000000000..ef836b917da8b Binary files /dev/null and b/shared/images/courses/logo_coursef-2017.png differ diff --git a/shared/images/courses/logo_coursef-2018.png b/shared/images/courses/logo_coursef-2018.png new file mode 100644 index 0000000000000..ef836b917da8b Binary files /dev/null and b/shared/images/courses/logo_coursef-2018.png differ