{"version":3,"sources":["webpack:///./public/javascripts/translations/assignments.assignment_list_item.js","webpack:///./public/javascripts/dummyI18nResource.js?9fd9","webpack:///./public/javascripts/dummyI18nResource.js?5855","webpack:///./app/coffeescripts/models/AssignmentOverride.coffee","webpack:///./app/views/jst/ExternalTools/_external_tools_menu.handlebars","webpack:///./public/javascripts/translations/lock_btn_module.js","webpack:///./public/javascripts/translations/assignments.assignment_settings.js","webpack:///./app/coffeescripts/collections/SubmissionCollection.js","webpack:///./public/javascripts/translations/assignments.date_available_column_view.js","webpack:///./node_modules/@instructure/ui-core/lib/components/Select/index.js","webpack:///./app/jsx/bundles/assignment_index.js","webpack:///./node_modules/parse-decimal-number/dist/parse-decimal-number.js","webpack:///./public/javascripts/dummyI18nResource.js?bd2d","webpack:///./app/coffeescripts/models/DateGroup.coffee","webpack:///./public/javascripts/dummyI18nResource.js?e43e","webpack:///./public/javascripts/translations/keyboard_nav_dialog.js","webpack:///./node_modules/symbol-observable/es/index.js","webpack:///./public/javascripts/dummyI18nResource.js?e9e7","webpack:///./public/javascripts/translations/cyoe_assignment_sidebar.js","webpack:///./app/coffeescripts/editor/stocktiny.js","webpack:///./app/coffeescripts/models/Submission.js","webpack:///./app/coffeescripts/views/ValidatedMixin.coffee","webpack:///./app/views/jst/KeyboardNavDialog.handlebars","webpack:///./node_modules/tinymce/tinymce.js","webpack:///./app/coffeescripts/views/assignments/AssignmentListItemView.coffee","webpack:///./app/jsx/shared/modal.js","webpack:///./app/coffeescripts/api/gradingPeriodsApi.js","webpack:///./app/jsx/shared/FlashAlert.js","webpack:///./public/javascripts/translations/assignments.delete_group.js","webpack:///./public/javascripts/dummyI18nResource.js?9619","webpack:///./public/javascripts/dummyI18nResource.js?424a","webpack:///./app/coffeescripts/views/assignments/AssignmentGroupListItemView.coffee","webpack:///./app/coffeescripts/jquery/serializeForm.js","webpack:///./public/javascripts/dummyI18nResource.js?4592","webpack:///./app/views/jst/assignments/_assignmentListItemScore.handlebars","webpack:///./app/jsx/move_item/propTypes.js","webpack:///./public/javascripts/translations/move_item_tray.js","webpack:///./app/coffeescripts/views/assignments/AssignmentKeyBindingsMixin.coffee","webpack:///./node_modules/tinymce/plugins/directionality/plugin.js","webpack:///./app/coffeescripts/views/assignments/NeverDropView.coffee","webpack:///./app/jsx/grading/helpers/GradingPeriodsHelper.js","webpack:///./app/views/jst/assignments/DateDueColumnView.handlebars","webpack:///./node_modules/tinymce/plugins/table/plugin.js","webpack:///./public/javascripts/dummyI18nResource.js?40c5","webpack:///./app/coffeescripts/views/assignments/AssignmentGroupListView.coffee","webpack:///./app/views/jst/_sisButton.handlebars","webpack:///./node_modules/tinymce/plugins/autolink/plugin.js","webpack:///./app/views/jst/assignments/CreateAssignment.handlebars","webpack:///./app/views/jst/assignments/IndexView.handlebars","webpack:///./public/javascripts/translations/assignments.assignment_group_list_item.js","webpack:///./public/javascripts/dummyI18nResource.js?0bd5","webpack:///./public/javascripts/translations/assignments.no_assignments_search.js","webpack:///./node_modules/symbol-observable/es/ponyfill.js","webpack:///./app/jsx/assignments/actions/IndexMenuActions.js","webpack:///./app/views/jst/assignments/AssignmentGroupList.handlebars","webpack:///./app/coffeescripts/views/assignments/CreateGroupView.coffee","webpack:///./app/coffeescripts/models/Course.coffee","webpack:///./public/javascripts/dummyI18nResource.js?07aa","webpack:///./app/jsx/move_item/MoveSelect.js","webpack:///./app/jsx/shared/sanitizeHtml.js","webpack:///./public/javascripts/translations/assignment_index_menu.js","webpack:///./public/javascripts/dummyI18nResource.js?ba9f","webpack:///./public/javascripts/translations/move_positions.js","webpack:///./node_modules/tinymce/plugins/wordcount/plugin.js","webpack:///./public/javascripts/translations/assignments.create_group.js","webpack:///./public/javascripts/translations/assignments.index_view.js","webpack:///./app/views/jst/assignments/DeleteGroup.handlebars","webpack:///./app/views/jst/assignments/_available_date_description.handlebars","webpack:///./app/views/jst/assignments/NoAssignmentsSearch.handlebars","webpack:///./app/coffeescripts/util/DateValidator.js","webpack:///./app/coffeescripts/models/VeriCiteSettings.coffee","webpack:///./app/coffeescripts/views/assignments/IndexView.coffee","webpack:///./node_modules/@instructure/ui-forms/lib/utils/FormPropTypes.js","webpack:///./app/coffeescripts/util/hasLocalStorage.coffee","webpack:///./public/javascripts/translations/assignments.date_due_column_view.js","webpack:///./app/coffeescripts/views/PublishIconView.coffee","webpack:///./node_modules/redux/es/redux.js","webpack:///./app/jsx/assignments/reducers/indexMenuReducer.js","webpack:///./app/coffeescripts/util/round.js","webpack:///./public/javascripts/translations/assignments.assignment_group_weights.js","webpack:///./public/javascripts/dummyI18nResource.js?5e0d","webpack:///./app/coffeescripts/collections/ModuleCollection.coffee","webpack:///./public/javascripts/vendor/jqueryui/tooltip.js","webpack:///./public/javascripts/translations/assignments.create_assignment.js","webpack:///./public/javascripts/translations/overrides.js","webpack:///./app/coffeescripts/views/assignments/ToggleShowByView.js","webpack:///./public/javascripts/translations/publish_btn_module.js","webpack:///./app/coffeescripts/views/SisButtonView.coffee","webpack:///./node_modules/tinymce/plugins/paste/plugin.js","webpack:///./app/jsx/shared/modal-buttons.js","webpack:///./public/javascripts/translations/assignments.no_assignments_list_item.js","webpack:///./app/coffeescripts/views/assignments/DateAvailableColumnView.coffee","webpack:///./app/coffeescripts/collections/NeverDropCollection.coffee","webpack:///./app/coffeescripts/collections/AssignmentOverrideCollection.coffee","webpack:///./node_modules/tinymce/plugins/textcolor/plugin.js","webpack:///./app/jsx/shared/ExternalToolModalLauncher.js","webpack:///./app/coffeescripts/models/TurnitinSettings.coffee","webpack:///./public/javascripts/dummyI18nResource.js?388a","webpack:///./app/jsx/shared/helpers/dateHelper.js","webpack:///./app/coffeescripts/views/PublishButtonView.coffee","webpack:///./app/views/jst/ExternalTools/_external_tool_menuitem.handlebars","webpack:///./app/coffeescripts/collections/DateGroupCollection.coffee","webpack:///./app/coffeescripts/views/LockIconView.coffee","webpack:///./app/coffeescripts/util/UniqueDropdownCollection.coffee","webpack:///./node_modules/tinymce/plugins/lists/plugin.js","webpack:///./public/javascripts/dummyI18nResource.js?ccfa","webpack:///./public/javascripts/translations/dialog_form_wrapper.js","webpack:///./public/javascripts/translations/external_tools.js","webpack:///./app/views/jst/DialogFormWrapper.handlebars","webpack:///./app/coffeescripts/models/Assignment.coffee","webpack:///./public/javascripts/translations/assignments.assignment_list_item_score.js","webpack:///./node_modules/redux-thunk/es/index.js","webpack:///./public/javascripts/dummyI18nResource.js?a8dc","webpack:///./node_modules/babel-runtime/helpers/defineProperty.js","webpack:///./app/coffeescripts/models/Module.coffee","webpack:///./app/views/jst/assignments/AssignmentSettings.handlebars","webpack:///./app/jsx/shared/conditional_release/grading-types.js","webpack:///./app/coffeescripts/views/assignments/DateDueColumnView.coffee","webpack:///./app/coffeescripts/collections/AssignmentGroupCollection.js","webpack:///./app/views/jst/assignments/AssignmentListItem.handlebars","webpack:///./public/javascripts/translations/assignments.available_date_description.js","webpack:///./app/jsx/shared/helpers/numberHelper.js","webpack:///./app/views/jst/assignments/CreateGroup.handlebars","webpack:///(webpack)/buildin/harmony-module.js","webpack:///./public/javascripts/translations/assignments.assignment_group_list.js","webpack:///./app/jsx/move_item/ConnectorIcon.js","webpack:///./app/coffeescripts/views/ValidatedFormView.coffee","webpack:///./app/views/jst/assignments/NeverDropCollection.handlebars","webpack:///./app/coffeescripts/views/assignments/AssignmentSyncSettingsView.coffee","webpack:///./public/javascripts/translations/errors.js","webpack:///./app/coffeescripts/views/assignments/AssignmentGroupWeightsView.coffee","webpack:///./public/javascripts/translations/move_select.js","webpack:///./app/coffeescripts/models/AssignmentGroup.coffee","webpack:///./app/views/jst/assignments/NeverDrop.handlebars","webpack:///./app/views/jst/assignments/NoAssignmentsListItem.handlebars","webpack:///./public/javascripts/dummyI18nResource.js?0a23","webpack:///./app/coffeescripts/views/DialogFormView.coffee","webpack:///./public/javascripts/translations/format_range.js","webpack:///./public/javascripts/dummyI18nResource.js?a5ab","webpack:///./app/coffeescripts/util/PandaPubPoller.js","webpack:///./node_modules/tinymce/plugins/media/plugin.js","webpack:///./app/coffeescripts/views/assignments/AssignmentSettingsView.coffee","webpack:///./public/javascripts/translations/spinner.js","webpack:///./public/javascripts/dummyI18nResource.js?48dd","webpack:///./app/jsx/move_item/MoveItemTray.js","webpack:///./public/javascripts/dummyI18nResource.js?a227","webpack:///./app/views/jst/assignments/AssignmentSyncSettings.handlebars","webpack:///./node_modules/@instructure/ui-core/lib/components/Select/theme.js","webpack:///./public/javascripts/dummyI18nResource.js?5707","webpack:///./node_modules/tinymce/plugins/link/plugin.js","webpack:///./app/jsx/shared/modal-content.js","webpack:///./app/coffeescripts/views/DraggableCollectionView.coffee","webpack:///./app/coffeescripts/views/assignments/DeleteGroupView.coffee","webpack:///./app/jsx/assignments/store/indexMenuStore.js","webpack:///./public/javascripts/translations/ajaxflashalert.js","webpack:///./app/coffeescripts/class/cache.js","webpack:///./node_modules/tinymce/themes/modern/theme.js","webpack:///./app/coffeescripts/models/Section.coffee","webpack:///./public/javascripts/dummyI18nResource.js?c7f1","webpack:///./node_modules/@instructure/ui-icons/lib/Solid/IconArrowOpenDown.js","webpack:///./public/javascripts/dummyI18nResource.js?cb15","webpack:///./public/javascripts/dummyI18nResource.js?0105","webpack:///./public/javascripts/dummyI18nResource.js?cdef","webpack:///./public/javascripts/translations/assignments.assignment_sync_settings.js","webpack:///./app/coffeescripts/PandaPub.js","webpack:///./app/coffeescripts/behaviors/tooltip.js","webpack:///./app/coffeescripts/views/SortableCollectionView.coffee","webpack:///./public/javascripts/dummyI18nResource.js?df0a","webpack:///./app/views/jst/_spinner.handlebars","webpack:///./app/views/jst/EmptyDialogFormWrapper.handlebars","webpack:///./app/coffeescripts/util/SisValidationHelper.js","webpack:///./app/coffeescripts/views/LockButtonView.coffee","webpack:///./app/jsx/move_item/positions.js","webpack:///./public/javascripts/dummyI18nResource.js?c12b","webpack:///./app/coffeescripts/views/assignments/NeverDropCollectionView.coffee","webpack:///./app/jsx/shared/conditional_release/score.js","webpack:///./public/javascripts/dummyI18nResource.js?252d","webpack:///./app/coffeescripts/models/ModuleItem.coffee","webpack:///./app/coffeescripts/collections/AssignmentCollection.coffee","webpack:///./app/views/jst/assignments/AssignmentGroupListItem.handlebars","webpack:///./app/coffeescripts/collections/ModuleItemCollection.coffee","webpack:///./public/javascripts/jquery.toJSON.js","webpack:///./public/javascripts/translations/assignments.never_drop_collection.js","webpack:///./public/javascripts/dummyI18nResource.js?2d03","webpack:///./app/views/jst/assignments/AssignmentGroupWeights.handlebars","webpack:///./public/javascripts/dummyI18nResource.js?a425","webpack:///./public/javascripts/translations/assignments.js","webpack:///./app/jsx/assignments/IndexMenu.js","webpack:///./app/jsx/move_item/index.js","webpack:///./app/jsx/shared/conditional_release/CyoeHelper.js","webpack:///./public/javascripts/dummyI18nResource.js?6b8c","webpack:///./public/javascripts/dummyI18nResource.js?c37d","webpack:///./public/javascripts/dummyI18nResource.js?537d","webpack:///./app/coffeescripts/views/assignments/CreateAssignmentView.coffee","webpack:///./app/views/jst/assignments/DateAvailableColumnView.handlebars"],"names":["Object","defineProperty","__webpack_exports__","value","__WEBPACK_IMPORTED_MODULE_0_i18nObj__","__webpack_require__","__WEBPACK_IMPORTED_MODULE_0_i18nObj___default","n","__WEBPACK_IMPORTED_MODULE_1_jquery__","a","extend","translations","ar","assignments","assignment_list_item","delete","cancel_caeb1e68","cancel_duplicating_originalassignmentname_fd7ee1d8","cancel_importing_name_a0b6f3e1","delete_assignment_name_deec56e3","duplicate_31cec192","duplicate_assignment_name_3ca7d753","edit_assignment_name_a8f7fae1","edit_assignment_name_mastery_paths_40b50541","edit_c5fbea07","edit_mastery_paths_for_name_c9fc59f9","importing_name_8f2b131d","making_a_copy_of_originalassignmentname_b7268992","mastery_paths_cc4096c2","module_90d9fd32","move_assignment_name_aa253f26","move_to_9b91c6e0","multiple_modules_930713d4","n_pointspossible_points_possible_1d098245","n_pointspossible_pts_73274d36","no_points_possible_368669d","oops_something_went_wrong_importing_name_d382cac1","oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695","released_by_mastery_path_cyoe_releasedlabel_14c67a92","retry_duplicating_originalassignmentname_884aee1","retry_ebd5f8ba","settings_for_assignment_name_c19565e1","you_do_not_have_permissions_to_edit_this_moderated_3195294f","cy","da","da-x-k12","de","el","en-AU","en-CA","en-GB","en-GB-x-lbs","en-GB-x-ukhe","es","fa","fr","fr-CA","he","ht","hu","hy","is","it","ja","ko","mi","nb","nb-x-k12","nl","nn","pl","pt","pt-BR","ru","sl","sv","sv-x-k12","tr","uk","zh-Hans","zh-Hant","__WEBPACK_AMD_DEFINE_ARRAY__","undefined","__WEBPACK_AMD_DEFINE_RESULT__","I18n","scoped","apply","exports","module","bind","fn","me","arguments","Backbone","_","$","Section","superClass","defaults","due_at_overridden","due_at","all_day","all_day_date","unlock_at_overridden","unlock_at","lock_at_overridden","lock_at","AssignmentOverride","conditionalRelease","name","t","noop_id","initialize","__super__","this","on","clearID","set","parse","arg","assignment_override","toJSON","defaultDueDate","options","course_section_id","defaultDueDateSectionID","isBlank","get","getCourseSectionID","representsDefaultDueDate","combinedDates","override_id","Model","Handlebars","template","default","templates","depth0","helpers","partials","data","compilerInfo","merge","stack1","buffer","self","program2","invokePartial","call","hash","inverse","noop","program","each","registerPartial","an_error_occurred_changing_the_lock_state_for_file_77443f15","filename_is_locked_click_to_modify_bf711763","filename_is_unlocked_click_to_modify_99e847be","lock_c341af13","locked_762f138b","locked_click_to_unlock_50747e11","locking_91f476a5","this_file_16b24f02","this_file_9443cda1","unlock_f6196bf5","unlocked_beee43de","unlocked_click_to_lock_53262ce7","unlocking_a6b5c02d","assignment_group_weights_can_t_be_edited_because_t_b6b591ae","save_11a80ec3","saving_d55dd90e","weight_final_grade_based_on_assignment_groups_3124161","SubmissionCollection","PaginatedCollection","prototype","model","Submission","date_available_column_view","available","multiple_dates","_interopRequireDefault","_interopRequireWildcard","_class","_class2","_temp","_extends2","_defineProperty2","_classCallCheck2","_createClass2","_possibleConstructorReturn2","_getPrototypeOf2","_inherits2","_react","_propTypes","_classnames","_keycode","_uiThemeable","_CustomPropTypes","_passthroughProps","_isActiveElement","_IconArrowOpenDown","_uid","_deprecated","_FormField","_FormPropTypes","_theme","styles","componentId","theme","concat","padding","arrowColor","background","color","borderWidth","borderStyle","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","borderRadius","fontFamily","fontWeight","focusOutlineColor","focusBorderColor","errorBorderColor","errorOutlineColor","smallHeight","smallFontSize","smallArrowWidth","mediumHeight","mediumFontSize","mediumArrowWidth","largeHeight","largeFontSize","largeArrowWidth","root","arrow","select","disabled","small","medium","large","_default","changedPackageWarning","_dec","_dec2","_Component","Select","props","_this","handleChange","e","_this$props","onChange","preventDefault","handleKeyDown","_this$props2","onKeyDown","keycodes","codes","space","up","down","includes","keyCode","_defaultId","key","_select","focus","_classes","_this2","_this$props3","size","children","width","layout","selectRef","onBlur","required","defaultValue","omitProps","propTypes","classes","style","createElement","pickProps","id","className","ref","_len","length","args","Array","_key","aria-required","aria-invalid","invalid","aria-disabled","messages","findIndex","message","type","displayName","Component","Children","oneOf","label","node","isRequired","bool","arrayOf","string","inline","func","controllable","defaultProps","course","Course","url","ENV","URLS","course_url","courseFetch","fetch","PERMISSIONS","manage","push","current_user_has_been_observer_in_this_course","userIsAdmin","contains","current_user_roles","assignmentGroups","AssignmentGroupCollection","params","include","exclude_response_fields","override_assignment_dates","per_page","courseSubmissionsURL","course_student_submissions_url","assignmentGroupsView","AssignmentGroupListView","collection","sortURL","sort_url","assignment_sort_base_url","assignmentSettingsView","assignmentSyncSettingsView","createGroupView","showByView","indexEl","window","location","href","indexOf","manage_assignments","AssignmentSettingsView","weightsView","AssignmentGroupWeightsView","AssignmentSyncSettingsView","sisName","SIS_NAME","CreateGroupView","ToggleShowByView","app","IndexView","render","Promise","all","reset","then","HAS_GRADING_PERIODS","filterResults","loadModuleNames","getGrades","parseDecimalNumber","patterns","inOptions","enforceGroupSize","decimal","fractionPart","groupMinSize","integerPart","pattern","patternIndex","result","thousands","isArray","group","RegExp","match","replace","parseFloat","setOptions","newOptions","factoryReset","withOptions","child","parent","hasProp","ctor","constructor","tz","title","dueAt","unlockAt","lockAt","now","Date","alwaysAvailable","pending","open","closed","dueFor","keyboard_nav_dialog","esc_key_notification","global","__WEBPACK_IMPORTED_MODULE_0__ponyfill_js__","back_2900f52a","close_details_sidebar_ff8f663d","gpa_scale_6710e2ee","letter_grade_f00fedc4","loading_bde52856","loading_data_ecd89ba","lowerbound_to_upperbound_352a3c0b","mastery_paths_breakdown_6e0b5fce","not_submitted_7d05fdb4","other_ddacb37d","percent_448ea947","points_bceb5005","rangestudents_out_of_totalstudents_students_e5ee60e1","score_pts_adcb1af3","select_student_name_caaff244","send_message_6ccc90e8","submitted_submitdate_bdd3bf09","view_next_student_9fc72fef","view_previous_student_90000459","view_range_student_details_8116d68a","view_submission_ff3da5d","_tinymce","tinymce","DOM","loadCSS","_ref","_classCallCheck3","_possibleConstructorReturn3","__proto__","getPrototypeOf","isGraded","hasSubmission","withoutGradedSubmission","present","json","submitted_or_graded","htmlEscape","fieldSelectors","findSiblingTinymce","$el","siblings","find","findField","field","useGlobalSelector","selector","showErrors","errors","$input","fieldName","html","ref1","results","element","results1","i","len","join","attr","attachErrorDescription","$errorBox","errorDescriptionField","findOrCreateDescriptionField","text","raw","class","insertBefore","description","originalDescriptionIds","getExistingDescriptionIds","descriptionIds","idArray","split","without","helper","functionType","escapeExpression","helperMissing","keyBindings","desc","scope","_i","compose","fb","constant","identity","x","curry","initialArgs","restArgs","pIndexOf","webkit","ie","ie11","ie12","gecko","mac","iDevice","android","fileApi","phone","tablet","windowsPhone","not","f","never","always","never$1","always$1","none","NONE","eq","o","isNone","call$$1","thunk","fold","s","isSome","getOr","getOrThunk","getOrDie","msg","Error","getOrNull","getOrUndefined","or","orThunk","map","ap","flatten","exists","forall","filter","equals","equals_","toArray","toString","freeze","some","constant_a","v","optfab","fab","elementEq","b","Option","from","typeOf","isPrototypeOf","String","isType","isString","isObject","isNull","isBoolean","isFunction","isNumber","rawIndexOf","xs","slowIndexOf","r","eachr","partition","pred","pass","fail","foldr","acc","foldl","output","slice","reverse","difference","a1","a2","mapToObject","sort","comparator","copy","head","last","from$1","Global","Function","path","parts","resolve","p","unsafe","Global$1","actual","URL","createObjectURL","blob","revokeObjectURL","u","nav","navigator","userAgent","matchMediaQuery","query","matchMedia","matches","test","appName","exec","requestAnimationFramePromise","Env","opera","iOS","contentEditable","parseInt","transparentSrc","caretAfter","range","getSelection","documentMode","document","ceFalse","cacheSuffix","container","overrideViewPort","experimentalShadowDom","canHaveCSP","desktop","promiseObj","thisArg","TypeError","_state","_value","_deferreds","doResolve","reject","asap","immediateFn","setImmediate","setTimeout","handle","deferred","cb","onFulfilled","onRejected","ret","newValue","finale","Handler","done","reason","ex","catch","remaining","res","val","race","values","promise","requestAnimationFrame$$1","callback","requestAnimationFrameFunc","requestAnimationFrame","vendors","wrappedSetTimeout","time","wrappedSetInterval","setInterval","debounce","timer","clearTimeout","stop","Delay","body","setEditorTimeout","editor","removed","setEditorInterval","clearInterval","throttle","mouseEventRe","deprecated","keyLocation","layerX","layerY","returnValue","webkitMovementX","webkitMovementY","keyIdentifier","hasIsDefaultPrevented","event$$1","isDefaultPrevented","returnTrue","returnFalse","addEvent","target","name$$1","capture","addEventListener","attachEvent","removeEvent","removeEventListener","detachEvent","getTargetFromShadowDom","defaultTarget","composedPath","fix","originalEvent","srcElement","pageX","clientX","eventDoc","ownerDocument","doc","documentElement","scrollLeft","clientLeft","pageY","clientY","scrollTop","clientTop","stopPropagation","isPropagationStopped","cancelBubble","stopImmediatePropagation","isImmediatePropagationStopped","metaKey","bindOnReady","win","eventUtils","domLoaded","isDocReady","readyState","readyHandler","waitForDomLoaded","tryScroll","doScroll","top","EventUtils","count","expando","hasFocusIn","hasMouseEnterLeave","mouseEnterLeave","self$$1","events","mouseenter","mouseleave","executeHandlers","evt","callbackList","l","names","fakeName","nativeHandler","defaultNativeHandler","event","nodeType","current","related","currentTarget","relatedTarget","parentNode","unbind","ci","eventMap","fire","defaultView","parentWindow","clean","getElementsByTagName","destroy","cancel","Event","support","Expr","getText","isXML","tokenize","compile","outermostContext","sortInput","hasDuplicate","setDocument","document$1","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains$1","preferredDoc","dirruns","classCache","createCache","tokenCache","compilerCache","sortOrder","strundefined","MAX_NEGATIVE","hasOwn","hasOwnProperty","arr","pop","push_native","push$1","slice$1","indexOf$1","elem","whitespace","identifier","attributes","pseudos","rtrim","rcomma","rcombinators","rattributeQuotes","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","needsContext","rinputs","rheader","rnative","rquickExpr","rsibling","rescape","runescape","funescape","escaped","escapedWhitespace","high","fromCharCode","childNodes","els","j","Sizzle","context","seed","m","groups","old","nid","newContext","newSelector","getElementById","getElementsByClassName","qsa","nodeName","toLowerCase","getAttribute","setAttribute","toSelector","testContext","querySelectorAll","qsaError","removeAttribute","keys","cache","cacheLength","shift","markFunction","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createPositionalPseudo","argument","matchIndexes","hasCompare","parent$$1","getTop","getById","attrId","tag","tmp","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","bp","unshift","expr","elements","matchesSelector","attrHandle","getAttributeNode","specified","error","uniqueSort","duplicates","detectDuplicates","sortStable","splice","textContent","firstChild","nodeValue","selectors","createPseudo","relative",">","dir","first"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","operator","check","what","simple","forward","ofType","xml","outerCache","nodeIndex","start","useCache","lastChild","pseudo","setFilters","idx","matched","input","matcher","unmatched","has","innerText","lang","elemLang","activeElement","hasFocus","tabIndex","enabled","checked","selected","selectedIndex","empty","header","button","length$$1","even","odd","lt","gt","nth","radio","checkbox","file","password","image","submit","filters","parseOnly","tokens","soFar","preFilters","cached","addCombinator","combinator","base","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","multipleContexts","contexts","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","elems","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","Math","random","token","compiled","isArray$1","each$1","findIndex$1","array","predicate","ArrUtils","obj","out","item","index","reduce","iteratee","accumulator","whiteSpaceRegExp","trim","str","walk","Tools","makeMap","items","delim","grep","inArray","prop","ext","create","sp","ns","cn","scn","c","createNS","static","onCreate","explode","d","_addCacheSuffix","push$2","slice$2","rquickExpr$1","Event$$1","skipUniques","isDefined","isString$1","createFragment","fragDoc","frag","createDocumentFragment","innerHTML","appendChild","domManipulate","targetNodes","sourceItem","getElementDocument","DomQuery","makeArray","hasClass","wrap","wrapper","lastParent","newWrapper","cloneNode","numericCssMap","booleanMap","propFix","for","readonly","cssFix","float","attrHooks","cssHooks","init","whiteSpaceRegExp$1","trim$1","each$2","charAt","add","nodes","unique","hook","removeAttr","css","elm","camel","toUpperCase","dashed","removeProperty","currentStyle","getComputedStyle","getPropertyValue","remove","removeChild","append","host","prepend","before","after","appendTo","prependTo","replaceWith","content","wrapAll","wrapInner","contents","unwrap","clone","addClass","toggleClass","removeClass","state","existingClassName","classState","off","trigger","show","hide","closest","offset","docElm","pos","y","getBoundingClientRect","left","object","until","sibling","siblingName","firstSibling","parents","next","prev","contentDocument","contentWindow","parentsUntil","nextUntil","prevUntil","overrideDefaults","sub","appendHooks","targetHooks","hooks","maxlength","maxLength","cssText","opacity","zoom","called","firstMatch","regexes","find$2","agent","major","minor","Number","nu","unknown","Version","detect","versionRegexes","cleanedAgent","isBrowser","nu$1","info","version","isEdge","isChrome","isIE","isOpera","isFirefox","isSafari","Browser","edge","chrome","firefox","safari","isOS","nu$2","isWindows","isiOS","isAndroid","isOSX","isLinux","isSolaris","isFreeBSD","OperatingSystem","windows","ios","linux","osx","solaris","freebsd","DeviceType","os","browser","isiPad","isiPhone","isAndroid3","isAndroid4","isTablet","isTouch","isPhone","iOSwebview","isWebView","detect$1","candidates","candidate","search","UaString","browsers","oses","contains$2","substr","trim$2","rTrim","normalVersionRegex","checkContains","uastring","PlatformInfo","PlatformDetection","deviceType","PlatformDetection$1","fromDom","dom","Element$$1","fromHtml","div","hasChildNodes","console","fromTag","fromText","createTextNode","fromPoint","elementFromPoint","DOCUMENT","Node","ATTRIBUTE_NODE","CDATA_SECTION_NODE","COMMENT_NODE","DOCUMENT_NODE","ELEMENT","DOCUMENT_TYPE_NODE","DOCUMENT_FRAGMENT_NODE","ELEMENT_NODE","TEXT","TEXT_NODE","PROCESSING_INSTRUCTION_NODE","ENTITY_REFERENCE_NODE","ENTITY_NODE","NOTATION_NODE","isType$1","isElement","isText","hasOwnProperty$1","each$3","k","map$2","tupleMap","tuple","bifilter","rawSet","value$$1","setAll","attrs","get$1","inBody","isSupported","internalSet","property","setProperty","get$2","getUnsafeProperty","Immutable","fields","struct","Recurse","recurse","Node$1","DOCUMENT_POSITION_CONTAINED_BY","ELEMENT$1","DOCUMENT$1","is$1","msMatchesSelector","webkitMatchesSelector","mozMatchesSelector","bypassSelector","childElementCount","one","querySelector","e1","e2","contains$3","d1","d2","owner","isRoot","rawParent","prevSibling","previousSibling","prevSiblings","nextSiblings","browser$1","firstElement","getTableCaptionDeltaY","caption","bodyTop","offsetTop","captionTop","captionHeight","offsetHeight","Position","getPos","rootElm","offsetParent$$1","offsetLeft","offsetParent","nu$3","baseFn","callbacks","nCallback","isReady","run","cbs","LazyValue","pure","nu$4","toLazy","aFutureB","anonBind","futureB","toCached","Future","par$1","futures","asyncValues","par","asyncValue","value$1","isValue","isError","opt","onValue","mapError","toOption","onError","Result","StyleSheetLoader","document$$1","settings","maxLoadTime","idCount","loadedStates","appendToHead","load","loadedCallback","errorCallback","link","startTime","passed","status","failed","wait","testCallback","waitCallback","getTime","waitForWebKitLinkLoaded","styleSheet","styleSheets","ownerNode","owningElement","waitForGeckoLinkLoaded","cssRules","sheet","rel","async","defer","contentCssCors","crossOrigin","webKitChunks","onload","onerror","loadF","unbox","loadAll","urls","success","failure","TreeWalker","startNode","rootNode","findSibling","startName","shallow","findPreviousNode","prev2","namedEntities","baseEntities","reverseEntities","lazyLookup","lookup","isHeading","isBlock","isInline","isBr","isTextBlock","isList","isListItem","isVoid","isTableSection","isTableCell","isWsPreserveElement","isNodeType","isElement$1","matchNodeNames","hasContentEditableState","isText$1","isComment$1","isDocument$1","isBr$1","isContentEditableTrue","isContentEditableFalse","NodeType","isComment","isDocument","hasPropValue","propName","propValue","hasAttribute","attrName","attrValue","hasAttributeValue","matchStyleValues","computed","isBogus","isBogusAll","isTable","tagName","surroundedBySpans","previousIsSpan","nextIsSpan","isBookmarkNode","trimNode","trimmedLength","TrimNode","makeMap$1","attrsCharsRegExp","textCharsRegExp","rawCharsRegExp","entityRegExp","asciiMap","128","130","131","132","133","134","135","136","137","138","139","140","142","145","146","147","148","149","150","151","152","153","154","155","156","158","159","\"","'","<","&","`","&lt;","&gt;","&amp;","&quot;","&apos;","nativeDecode","buildEntitiesLookup","radix","chr","entity","encodeRaw","encodeNumeric","charCodeAt","encodeNamed","entities","Entities","encodeAllRaw","getEncodeFunc","entitiesMap","nameMap","named","numeric","decode","mapCache","dummyObj","makeMap$2","each$4","extend$1","explode$1","inArray$1","compileSchema","globalAttributes","blockContent","phrasingContent","flowContent","html4BlockContent","html4PhrasingContent","schema","ni","attributesOrder","arrayToMap","addAttrs","schemaItem","table","script","compileElementMap","mode","*","Schema","validStyles","invalidStyles","schemaItems","whiteSpaceElementsMap","selfClosingElementsMap","shortEndedElementsMap","boolAttrMap","validClasses","blockElementsMap","nonEmptyElementsMap","moveCaretBeforeOnEnterElementsMap","textBlockElementsMap","textInlineElementsMap","patternElements","customElementsMap","specialElements","createLookupTable","option","extendWith","verify_html","valid_elements","valid_styles","invalid_styles","valid_classes","special","patternToRegExp","addValidElements","validElements","ei","ai","al","attrData","elementName","attrType","prefix","outputName","globalAttributesOrder","elementRuleRegExp","attrRuleRegExp","hasPatternsRegExp","paddEmpty","removeEmpty","removeEmptyAttrs","attributesRequired","attributesDefault","attributesForced","forcedValue","validValues","attributePatterns","setValidElements","addCustomElements","customElements","customElementRegExp","text_block_elements","block_elements","rule","cloneName","customRule","elmName","addValidChildren","validChildren","childRuleRegExp","#comment","getElementRule","custom_elements","valid_children","extended_valid_elements","dd","dt","li","td","th","tbody","thead","tfoot","legend","area","param","parentsRequired","invalid_elements","getValidStyles","getValidClasses","getBlockElements","getInvalidStyles","getShortEndedElements","getTextBlockElements","getTextInlineElements","getBoolAttrs","getSelfClosingElements","getNonEmptyElements","getMoveCaretBeforeOnEnterElements","getWhiteSpaceElements","getSpecialElements","isValidChild","isValid","attrPatterns","getCustomElements","toHex","g","hex","Styles","encodingItems","rgbRegExp","urlOrStrRegExp","styleRegExp","trimRightRegExp","encodingLookup","isEncoded","urlConverter","url_converter","urlConverterScope","url_converter_scope","compress","suffix","noJoin","right","bottom","box","canCompress","encode","keepSlashes","decodeSingleHexSequence","escSeq","decodeHexSequences","processUrl","url2","url3","str2","allow_script_urls","scriptUrl","allow_svg_data_urls","lastIndex","compress2","border","serialize","serializeStyles","styleList","styleMap","each$5","grep$1","simpleSelectorRe","whiteSpaceRegExp$2","setupAttrHooks","getContext","keepValues","keep_values","keepUrlHook","$elm","src","updateInternalStyleAttr","rawValue","findNodeIndex","normalized","lastNodeType","DOMUtils","addedStyles","files","counter","styleSheetLoader","boundEvents","ownEvents","proxy","getRoot","getElementsByName","$$","getAttrib","defaultVal","getAttribs","setAttrib","originalValue","onSetAttrib","attrElm","root_element","getStyle","getSize","w","h","offsetWidth","clientWidth","clientHeight","elms","getParents","collect","selectorVal","_findSib","setAttribs","setHTML","canHaveHTML","parentElm","newElm","keepChildren","$node","cls","oldElm","replaceChild","createRng","createRange","getContentEditable","stdMode","boxModel","deep","clone_1","getViewPort","argWin","actWin","pageXOffset","pageYOffset","innerWidth","innerHeight","getRect","getParent","getNext","getPrev","createHTML","outHtml","setStyle","update_styles","setStyles","stylesArg","removeAllAttribs","removeAttributeNode","parseStyle","serializeStyle","addStyle","styleElm","isHidden","uniqueId","getOuterHTML","outerHTML","setOuterHTML","insertAfter","reference","referenceNode","rename","attrNode","findCommonAncestor","pe","ps","rgbVal","isEmpty","walker","brCount","bogusVal","splitElm","replacementElm","bef","aft","pa","setStart","setEnd","extractContents","getContentEditableParent","isChildOf","dumpRng","startContainer","startOffset","endContainer","endOffset","DOMUtils$1","each$6","grep$2","isFunction$1","ScriptLoader","states","queue","scriptLoadedCallbacks","queueLoadedCallbacks","loading","loadScript","onreadystatechange","log","isDone","markDone","loadQueue","loadScripts","scripts","failures","execCallbacks","loadingScripts","notifyCallbacks","each$7","AddOnManager","_listeners","dependencies","createUrl","baseUrl","dep","resource","loadDependencies","addOnUrl","deps","newUrl","urlString","baseURL","substring","lastIndexOf","instance","requireLangPack","languages","language","languageLoad","addOn","listener","addComponents","pluginName","pluginUrl","waitFor","PluginManager","ThemeManager","marker","wrap$1","append$1","rogue","remove$2","children$$1","first$1","rate","Cell","initial","read","remove$3","supports","classList","get$3","add$1","clazz","remove$4","add$2","cleanClass","remove$5","has$2","descendants","descendants$1","ClosestOrAncestor","ancestor","ancestor$1","descendant$1","closest$1","annotation","dataAnnotation","dataAnnotationId","identify","annotationName","rng","selection","getRng","getBody","an","newStart","getAttr","uid","findMarkers","isAnnotation","findAll","markers","directory","nodesAlready","setup","registry","changeCallbacks","withCallbacks","updateCallbacks","callbackMap","outputData","listeners","previous","fireCallbacks","fireNoAnnotation","onNodeChange","annotations","_a","addListener","setup$1","identifyParserNode","span","serializer","addNodeFilter","spans","persistent","create$1","register","__rest","getOwnPropertySymbols","add$3","clone$1","original","fromHtml$1","set$2","docDom","fragment","contentElements","Zwsp","isElement$2","isText$2","isCaretContainerBlock","isCaretContainerInline","isCaretContainer","hasContent","insertInline","textNode","endsWithCaretContainer","splitText","startsWithCaretContainer","isBeforeInline","isAfterInline","createBogusBr","br","insertBlock","blockName","blockNode","showCaretContainerBlock","caretContainer","brs","lastBr","isContentEditableTrue$1","isContentEditableFalse$1","isBr$2","isText$3","isInvalidTextElement","isAtomicInline","isTable$1","isCaretContainer$1","isCaretCandidate","isNonUiContentEditableFalse","isUnselectable","isInEditable","isAtomicContentEditableFalse","isEditableCaretCandidate","round","clone$2","rect","height","collapse","toStart","isValidOverflow","overflowY","rect1","rect2","min","isAbove","isBelow","containsXY","overflowX","outer","inner","getSelectedNode","getNode","extendingChars","isExtendingChar","ch","liftN","slice$3","Predicate","isElement$3","isCaretCandidate$1","isBlock$1","isFloated","isValidElementCaretCandidate","isNotPre","isText$4","isBr$3","resolveIndex","isWhiteSpace","isRange","isHiddenWhiteSpaceRange","range$$1","getBrClientRect","brNode","clientRect","nbsp","getBoundingClientRectWebKitText","sc","ec","so","eo","newRng","cloneRange","setEndAfter","isZeroRect","clientRects","getClientRects","collapseAndInflateWidth","newClientRect","getCaretPositionClientRects","caretPosition","beforeNode","addUniqueAndValidRect","addCharacterOffset","isAtEnd","CaretPosition","toRange","isVisible","isAtStart","isEqual","fromRangeStart","fromRangeEnd","pos1","pos2","isTextPosition","isElementPosition","expected","HDirection","CaretPosition$1","isText$5","isBogus$1","nodeIndex$1","normalizedParent","getChildNodes","normalizedTextOffset","equal$1","normalizedNodeIndex","numTextFragments","createPathItem","create$2","outputOffset","resolvePathItem","findTextPosition","dataLen","targetOffset","resolve$2","isContentEditableFalse$2","getNormalizedTextOffset","trimmedOffset","getPoint","point","max","getLocation","bookmark","isCollapsed","end","trimEmptyTextNode","findIndex$3","moveEndPoint","normalizeTableCellSelection","findAdjacentContentEditableFalseElm","getOffsetBookmark","getCaretBookmark","getRangeBookmark","createBookmarkSpan","filled","data-mce-type","getPersistentBookmark","collapsed","rng2","endBookmarkNode","insertNode","startBookmarkNode","moveToBookmark","keep","GetBookmark","getBookmark","getUndoBookmark","isCaretNode","getParentCaretContainer","isElement$4","isText$6","removeNode","getNodeValue","setNodeValue","trimCount","trimmedText","removeUnchanged","remove$7","removeTextAndReposition","removeElementAndReposition","newPosition","removeTextCaretContainer","removeElementCaretContainer","caretContainerNode","CaretContainerRemove","removeAndReposition","browser$2","isContentEditableFalse$3","getAbsoluteClientRect","scrollX","scrollY","margin","rootRect","trimInlineCaretContainers","contentEditableFalseNodes","deleteData","FakeCaret","cursorInterval","lastVisualCaret","caretState","caret","startBlink","getCss","reposition","isFakeCaretTableBrowser","isFakeCaretTarget","isNbsp","isWhiteSpace$1","isContent","isContentEditableFalse$4","isBlockLike","isCaretContainer$2","isCaretContainerBlock$1","isElement$5","isCaretCandidate$2","isForwards","direction","isBackwards","skipCaretContainers","findNode","predicateFn","getParentBlock","isInSameBlock","caretPosition1","caretPosition2","getChildNodeAtRelativeOffset","relativeOffset","beforeAfter","setStartBefore","setEndBefore","setStartAfter","isNodesInSameBlock","node1","node2","lean","before$2","after$2","normalizeRange","leanLeft","leanRight","isNextToContentEditableFalse","isNextToTable","getRelativeCefElm","getNormalizedRangeEndPoint","normalizedRange","isBeforeContentEditableFalse","isAfterContentEditableFalse","isBeforeTable","isAfterTable","isChar","delta","isBeforeSpace","isAfterSpace","getElementFromPosition","getElementFromPrevPosition","isContentEditableFalse$5","isText$7","isElement$6","isBr$4","isCaretCandidate$3","isAtomic$1","isEditableCaretCandidate$1","nodeAtIndex","getCaretCandidatePosition","moveForwardFromBr","nextNode","findCaretPosition","Forwards","startPos","innerNode","rootContentEditableFalseElm","CaretWalker","Backwards","walkToPositionIn","position","fromPosition","isBeforeOrStart","isAfterOrEnd","isBeforeAfterSameElement","to","shouldSkipPosition","positionIn","nextPosition","prevPosition","CaretFinder","navigate","firstPositionIn","lastPositionIn","isStringPathBookmark","isRangeBookmark","isIdBookmark","isIndexBookmark","isPathBookmark","addBogus","resolveCaretPositionBookmark","insertZwsp","tryFindRangePosition","padEmptyCaretContainer","setEndPoint","isValidTextNode","restoreEndPoint","appendData","resolvePaths","resolveId","o1","o2","endPos","spos","epos","resolveIndex$1","selectNode","ResolveBookmark","Bookmarks","setRng","isInlineBlock","isWhiteSpaceNode","normalizeStyleValue","FormatUtils","moveStart","getNonWhiteSpaceSibling","inc","ed","replaceVars","vars","isEq","str1","getTextDecoration","decoration","isBookmarkNode$2","getParents$2","isWhiteSpaceNode$1","isTextBlock$2","findLeaf","excludeTrailingWhitespace","leaf","findParentContentEditable","findSpace","findWordEndPoint","lastTextNode","findSelectorEndPoint","format","curFormat","findBlockEndPoint","block","scopeRoot","findParentContainer","block_expand","ExpandRange","endPoint","expand","each$8","getEndChild","RangeWalk","startPoint","exclude","collectSiblings","endNode","findEndPoint","walkBoundary","api","getOptionSafe","getOption","NodeValue","get$6","isZeroWidth","wrapName","shouldApplyToTrailingSpaces","applyWordGrab","makeAnnotation","eDoc","decorate","_b","floor","master","_c","_d","_e","annotate","newWrappers","getDoc","finishWrapper","processElements","processElement","processNodes","annotateWithBookmark","undoManager","transact","initialRng","Annotator","changes","annotationChanged","getAll","hasOnlyOneChild","isPaddingNode","isPaddedEmptyBlock","isEmptyFragmentElement","nonEmptyElements","cleanupDomFragment","domFragment","toDomFragment","listItems$1","isPadding","trimListItems","getParentLi","parentBlock","getSplit","beforeRng","afterRng","cloneContents","findFirstIn","caretPos","newCaretPos","findLastOf","insertMiddle","InsertList","liTarget","liElms","isAt","caretWalker","newPos","each$9","ElementUtils","attribs","compareObjects","obj1","obj2","getLastChildren","rawNode","PaddingBr","allBrs","lastChild$$1","lastChildPrevSibling","makeMap$3","Writer","indent","indentBefore","indentAfter","htmlOutput","indent_before","indent_after","entity_encoding","element_format","cdata","comment","pi","doctype","getContent","Serializer","writer","validate","handlers","3","8","7","10","4","11","sortedAttrs","elementRule","handler","shortEnded","createRange$1","normalizeBlockSelectionRange","commonAncestorContainer","newEndPos","RangeNormalizer","isAfterNbsp","trimOrPadLeftRight","hasSiblingText","trimNbspAfterDeleteAndPadValue","isTableCell$2","selectionSetContent","insertData","setContent","validInsertion","trimBrsFromTableCell","reduceInlineTextElements","textInlineElements","root_1","elementUtils_1","testNode","markFragmentElements","isPartOfFragment","canHaveChildren","moveSelectionToMarker","parentEditableFalseElm","nextRng","scrollIntoView","getContentEditableFalseParent","findNextCaretRng","data-mce-bogus","insertHtmlAtCaret","details","parser","bookmarkHtml","paste","caretElement","parentElement","execCommand","parserArgs","insert","_selectionOverrides","showBlockCaretContainer","getStart","addVisual","processValue","InsertContent","insertAtCaret","sectionResult","mobilePlugins","defaultMobileSettings","normalizePlugins","plugins","pluginNames","trimmedPlugins","filterMobilePlugins","extractSections","keys$$1","getSection","sections","sectionSettings","hasSection","getDefaultSettings","documentBaseUrl","delta_width","delta_height","popup_css","document_base_url","add_form_submit_trigger","submit_patch","add_unload_trigger","convert_urls","relative_urls","remove_script_host","object_resizing","visual","font_size_style_values","font_size_legacy_values","forced_root_block","hidden_input","render_ui","indentation","inline_styles","convert_fonts_to_spans","convertURL","ie7_compat","getExternalPlugins","overrideSettings","userDefinedExternalPlugins","external_plugins","combinePlugins","forcedPlugins","processPlugins","isTouchDevice","defaultOverrideSettings","forced_plugins","platformPlugins","combinedPlugins","isOnMobile","combineSettings","defaultSettings","extendedSettings","content_editable","getEditorSettings","getFiltered","getString","getParamObject","getParam","strongRtl","findInlineParents","isInlineTarget","normalizePosition","InlineUtils","findRootInline","isRtl","isAtZwsp","normalizeForwards","normalizeBackwards","hasSameParentBlock","block1","block2","isBeforeRoot","placeCaretInEmptyBody","setCursorLocation","DeleteUtils","fromPos","firstPos","lastPos","normalizedFirstPos","normalizedLastPos","normalizedFromPos","nextPos","prevPos","hasWhitespacePreserveParent","rootElement","isWhitespace","isNamedAnchor","isContent$1","isBookmark","isBogus$2","isBogusAll$1","isEmptyNode","targetNode","Empty","BlockPosition","BlockBoundary","getBlockPosition","containerElm","isDifferentBlocks","blockBoundary","hasSameParent","parent1","parent2","isEditable","skipLastBr","blockPosition","lastPositionInBlock","readFromRange","fromBlockPos","toBlockPos","blockPos","BlockMergeBoundary","parentsUntil$1","parents$1","Parents","getChildrenUntilBlockBoundary","extractChildren","removeEmptyRoot","parents$$1","nestedBlockMerge","fromBlock","toBlock","insertionPoint","child$$1","sidelongBlockMerge","findInsertionPoint","parentsAndSelf","getInsertionPoint","trimBr","mergeBlockInto","MergeBlocks","BlockBoundaryDelete","deleteRangeMergeBlocks","deleteContents","isRawNodeInTable","isSelectionInTable","isEverythingSelected","noPrevious","noNext","emptyEditor","deleteRange","BlockRangeDelete","Adt","cases","constructors","adt","acase","argLength","branches","branchKeys","reqKey","isBr$5","findBr","parentBlocks","isBeforeBr","isAfterBr","findPreviousBr","findNextBr","DeleteAction","moveToElement","moveToPosition","isAtContentEditableBlockCaret","caretLocation","isDeleteFromCefDifferentBlocks","inSameBlock","deleteEmptyBlockOrMoveToCef","toCefElm","blockElm","findCefPosition","getContentEditableBlockAction","skipMoveToActionFromInlineCefToContent","deleteAction","getContentEditableAction","read$2","isCollapsibleWhitespace","normalizeContent","isStartOfContent","isEndOfContent","previousCharIsSpace","normalize$1","replaceData","normalizeWhitespaceAfter","whitespaceCount","mergeTextNodes","prevNode","normalizeWhitespace","whitespaceOffset","needsReposition","getPreviousSiblingCaretPosition","getNextSiblingCaretPosition","findCaretPositionBackwardsFromElm","startPosition","findCaretPositionForwardsFromElm","findCaretPositionBackwards","findCaretPositionForward","findCaretPosition$1","findCaretPosOutsideElmAfterDelete","setSelection","isBlock$2","paddEmptyBlock","deleteNormalized","afterDeletePosOpt","prevTextOpt","nextTextOpt","isInlineElement","DeleteElement","moveCaret","afterDeletePos","normalizedAfterDeletePos","paddPos","deleteElement$1","hideFakeCaret","backspaceDeleteCaret","backspaceDeleteRange","selectedElement","getContentEditableRoot","CefDelete","ceRoot","isText$8","startsWithCaretContainer$1","endsWithCaretContainer$1","createZwsp","insertBefore$1","newNode","insertAfter$1","insertInline$1","insertInlineBefore","insertInlineAfter","insertInlinePos","isPosCaretContainer","caretNode","BoundaryCaret","LazyEvaluator","fns","Location","rescope","before$3","nPos","isNotInsideFormatCaretContainer","findInsideRootInline","after$3","isValidLocation","getElement","readLocation","getName","outside","betweenInlines","fromInline","toInline","skipNoMovement","fromLocation","toLocation","location1","location2","findLocationTraverse","findLocationSimple","findLocation","BoundaryLocation","hasSelectionModifyApi","getSel","modify","moveRel","WordSelection","setCaretPosition","isFeatureEnabled","inline_boundaries","setSelected","renderCaretLocation","findLocation$1","toggleInlines","selectedInlines","targetInlines","safeRemoveCaretContainer","composing","renderInsideInlineCaret","inlines","moveWord","BoundarySelection","move","moveNextWord","movePrevWord","setupSelectedState","isFeatureEnabled$1","rangeFromPositions","hasOnlyTwoOrLessPositionsLeft","setCaretLocation","location$$1","deleteFromTo","ignore","nodeChanged","rescope$1","backspaceDeleteCollapsed","toPosition","InlineBoundaryDelete","tableCellRng","tableSelection","removeTable","emptyCells","isRootFromElement","getClosestCell","getClosestTable","cell","isExpandedCellRng","cellRng","getTableFromCellRng","startParentTable","endParentTable","getTableCells","getCellRangeFromStartTable","endCell","partialSelection","startCell","isWithinSameTable","getCellRng","getTableSelectionFromCellRng","getTableSelectionFromRng","getCellIndex","cells","getSelectedCells","startIndex","endIndex","getAction","TableDeleteAction","getRanges","ranges","rangeCount","getRangeAt","MultiRange","getCellsFromRanges","getCellsFromElement","getCellsFromElementOrRanges","selectedCells","rangeCells","TableCellSelection","deleteTableElement","deleteCellRange","action","deleteCaptionRange","emptyElement","deleteTableRange","startElm","getParentCaption","deleteRange$1","getParentCell","deleteBetweenCells","fromCell","toCell","isDeleteOfLastCharPos","fromCaption","last$$1","emptyCaretCaption","validateCaretCaption","toCaption","deleteCaretInsideCaption","deleteCaretCells","deleteCaretCaption","deleteCaret","TableDelete","nativeCommand","command","DeleteCommands","deleteCommand","forwardDeleteCommand","getBodySetting","bodyObj","Settings","getIframeAttrs","getDocType","getDocumentBaseUrl","getBodyId","getBodyClass","getContentSecurityPolicy","shouldPutBrInPre","getForcedRootBlock","getForcedRootBlockAttrs","getBrNewLineSelector","getNoNewLineSelector","shouldKeepStyles","shouldEndContainerOnEmptyBlock","getFontStyleValues","getFontSizeClasses","getImagesDataImgFilter","isAutomaticUploadsEnabled","shouldReuseFileName","shouldReplaceBlobUris","getImageUploadUrl","getImageUploadBasePath","getImagesUploadCredentials","getImagesUploadHandler","shouldUseContentCssCors","getSpecifiedFontProp","getProperty","round$1","number","precision","factor","pow","getComputedFontProp","getFontProp","FontInfo","getFontSize","getFontFamily","toPt","fontSize","findFirstCaretElement","isRangeAtStartOfNode","getCaretElement","fromFontSizeNumber","fontSizeNumber","fontSizes","fontClasses","fontNameAction","formatter","toggle","fontNameQuery","fontSizeAction","fontSizeQuery","RangeCompare","rng1","findParent","hasParent","hasParentWithName","isTable$2","isTableCell$3","isCeFalseCaretContainer","hasBrBeforeAfter","isPrevNode","hasContentEditableFalseParent","findTextNodeRelative","isAfterNode","lastInlineElement","parentBlockContainer","normalizeEndPoint","directionLeft","NormalizeRange","normalize","normRng","hasRightSideContent","scrollToBr","brElm","moveSelectionToBr","extraBr","insertBrAtCaret","isAfterLastNodeInContainer","containerBlock","containerBlockName","isControlKey","ctrlKey","insertBrBefore","insertBrAfter","hasBrAfter","isAnchorLink","isInsideAnchor","readInlineAnchorLocation","insertBrOutsideAnchor","InsertBr","anchorLocation","type$1","domRange","exact","range$1","browser$3","clamp","normalizeRng","soffset","finish","foffset","isOrContains","isRngInRoot","shouldStore","nativeRangeToSelectionRange","readRange","getBookmark$2","bookmarkToNativeRng","SelectionBookmark","store","newBookmark","storeNative","restore","indentElement","useMargin","unit","indentStyleName","styleValue","isListComponent","parentIsListComponent","getBlocksToIndent","getSelectedBlocks","indentUnit","indentValue","queryCommandState","each$a","extend$2","map$3","inArray$2","EditorCommands","commands","quirks","addCommands","commandList","addQueryValueHandler","ui","customCommand","skip_focus","queryCommandValue","queryCommandSupported","addCommand","addQueryStateHandler","hasCustomCommand","execNativeCommand","isFormatMatch","toggleFormat","storeSelection","restoreSelection","mceResetDesignMode,mceBeginUndoLevel","mceEndUndoLevel,mceAddUndoLevel","Cut,Copy,Paste","queryCommandEnabled","translate","notificationManager","unlink","JustifyLeft,JustifyCenter,JustifyRight,JustifyFull,JustifyNone","align","InsertUnorderedList,InsertOrderedList","listElm","listParent","Bold,Italic,Underline,Strikethrough,Superscript,Subscript","ForeColor,HiliteColor","FontName","FontSize","RemoveFormat","mceBlockQuote","FormatBlock","mceCleanup","mceRemoveNode","mceSelectNodeDepth","mceSelectNode","mceInsertContent","mceInsertRawHTML","mceToggleFormat","mceSetContent","Indent,Outdent","mceRepaint","InsertHorizontalRule","mceToggleVisualAid","hasVisual","mceReplaceContent","mceInsertLink","anchor","selectAll","editingHost","selectNodeContents","forwardDelete","mceNewDocument","InsertLineBreak","alignStates","matchNode","JustifyLeft","JustifyCenter","JustifyRight","JustifyFull","Outdent","paddingLeft","getEnd","list","Undo","undo","Redo","redo","nativeEvents","Dispatcher","toggleEvent","bindings","extra","bindingName","hi","beforeFire","once","isNative","customEventRootDelegates","getEventDispatcher","_eventDispatcher","toggleNativeEvent","Observable","bubble","hasEventListeners","Events","setEditorCommandState","cmd","toggleReadOnly","controlSelection","hideResizeRect","setMode","getMode","initialized","isReadOnly","DOM$1","getEventTarget","eventName","event_root","eventRoot","isListening","hidden","fireEvent","bindEventDelegate","eventRootElm","delegate","delegates","editorManager","activeEditor","editors","EditorObservable","bindPendingEventDelegates","_pendingNativeEvents","unbindAllNativeEvents","getWin","getContainer","EditorObservable$1","each$b","explode$2","keyCodeLookup","f9","f10","f11","modifierNames","Shortcuts","shortcuts","pendingPatterns","parseShortcut","shortcut","charCode","access","alt","ctrl","meta","createShortcut","cmdFunc","subpatterns","hasModifier","altKey","isFunctionKey","matchShortcut","shiftKey","executeShortcutAction","getContentEditableHost","getCollapsedNode","getFocusInElement","normalizeSelection","focusBody","setActive","hasIframeFocus","iframeElement","hasInlineFocus","_doc","rawBody","hasFocus$1","focusEditor","refreshContentEditable","contentEditableHost","activateEditor","bookmarkRng","EditorFocus","skipFocus","getProp","getComputedSizeProp","getClientWidth","getClientHeight","getMarginTop","getMarginLeft","getBoundingClientRect$1","isInsideElementContentArea","bodyElm","transpose","EditorView","isXYInContentArea","targetElm","transposedPoint","isEditorAttachedToDom","rawContainer","getContentAreaContainer","NotificationManager","notifications","getImplementation","unimplemented","getNotificationManagerImpl","close","getArgs","addNotification","notification","closeNotification","otherNotification","progressBar","timeout","serviceMessage","service_message","icon","registerEvents","getNotifications","WindowManager","getWindowManagerImpl","alert","confirm","getParams","setParams","funcBind","fireOpenEvent","fireCloseEvent","addWindow","closeWindow","otherWindow","getTopWindow","getWindows","resolvePluginName","targetUrl","pluginUrlToMessage","plugin","displayNotification","displayError","_skinLoaded","ErrorReporter","pluginLoadError","uploadError","initError","console$$1","PluginManager$1","XMLHttpRequest","Uploader","uploadStatus","pendingPromises","defaultHandler","blobInfo","progress","xhr","formData","withCredentials","credentials","upload","onprogress","loaded","total","JSON","responseText","path1","basePath","path2","FormData","filename","send","handlerSuccess","handlerFailure","resolvePending","blobUri","uploadBlobInfo","openNotification","markPending","closeNotification_1","markUploaded","removeFailed","percent","pendingUploadBlobInfo","uploadBlobs","blobInfos","isUploaded","isPending","Uint8Array","Window","base64","blobUriToBlob","rejectWithError","responseType","response","parseDataUri","uri","uriParts","decodeURIComponent","Conversions","Blob","reader","onloadend","readAsDataURL","imageToBlobInfo","blobCache","img","findFirst","cachedBlobInfo","err","getByUri","dataUri","getAllImages","ImageScanner","cachedPromises","images","promises","imageInfo","newPromise","count$1","Uuid","uuid","rnd","EditorUpload","toBlobInfo","uploader","imageScanner","blobUriStatuses","createStatus","hasBlobUri","mime","image/jpeg","image/jpg","image/gif","image/png","removeByUri","resultUri","getResultUri","urlFilters","aliveGuard","replaceString","replaceImageUrl","replacementUrl","replaceUrlInUndoStack","level","fragments","replaceImageUri","data-mce-src","uploadImages","scanForImages","imageInfos","filteredResult","uploadInfo","uploadImagesAuto","isValidDataUriImage","imgElm","filter$$1","dataImgFilter","resultItem","replaceBlobUris","editorUpload","source_view","addFilter","isBlockElement","blockElements","isValidTarget","hasBlockParent","shouldRemoveTextNode","addRootBlocks","rootBlockNode","tempNode","wrapped","rootNodeName","forcedRootBlock","forced_root_block_attrs","ForceBlocks","getStartNode","getEndNode","getFirstChildren","getLastChildren$1","hasAllContentsSelected","moveEndPoint$1","hasAnyRanges","sel","NodeChange","lastRng","lastPath","isSameElementPath","currentPath","nativeRng","fakeRng","selectionChange","disable_nodechange","VDirection","getAbsolutePosition","getBodyPosition","getScrollPosition","getBodyScroll","inlineScroll","iframeScroll","getMousePosition","iframePosition","scrollPosition","MousePosition","bodyPosition","mousePosition","isContentEditableFalse$6","isContentEditableTrue$3","isValidDropTarget","targetElement","dragElement","cloneElement","cloneElm","createGhost","clonedElm","ghostElm","unselectable","contenteditable","overflow","boxSizing","moveGhost","maxX","maxY","removeElement","isLeftMouseButtonPressed","hasDraggableElement","applyRelPos","relX","start$1","ceElm","elmPos","screenX","screenY","scrollWidth","scrollHeight","relY","ghost","move$1","throttledPlaceCaretAt","placeCaretAt","movement","abs","dragging","targetPos","drop","targetClone_1","targetClone","insertContent","removeDragState","stop$$1","bindFakeDragEvents","pageDom","dragStartHandler","dragHandler","dropHandler","dragEndHandler","rootDocument","blockIeDrop","realTarget","DragDropOverrides","getNodeClientRects","toArrayWithNode","findUntil","walkUntil","isAboveFn","isBeflowFn","targetClientRect","line","aboveLineNumber","lineNumber","isLineNumber","upUntil","Up","downUntil","Down","positionsUntil","walkFn","isBelowFn","getClientRect","isAboveLine","isLine","isContentEditableFalse$7","findNode$1","distanceToRectLeft","distanceToRectRight","isInside","findClosestClientRect","oldClientRect","oldDistance","newDistance","walkUntil$1","findLineNodeRects","targetNodeRect","checkPosFn","lineRects","getFakeCaretTargets","caretInfo","closestCaret","closestNodeRect","contentEditableFalseNodeRects","targetNodeRects","RangePoint","isContentEditableTrue$4","isContentEditableFalse$8","showCaret","getNodeRange","renderCaretAtRange","caretPositionNode","caretPositionBeforeNode","renderRangeCaret","caretRange","CefFocus","renderFocusCaret","VK","BACKSPACE","DELETE","DOWN","ENTER","LEFT","RIGHT","SPACEBAR","TAB","UP","modifierPressed","metaKeyPressed","isContentEditableTrue$5","isContentEditableFalse$9","isAfterContentEditableFalse$1","isBeforeContentEditableFalse$1","getContentEditableRoot$1","SelectionOverrides","selectedContentEditableNode","fakeCaret","realSelectionId","setRange","getRange","showCaret$$1","getNormalizedRangeEndPoint$$1","isWithinCaretContainer","isRangeInCaretContainer","setContentEditableSelection","$realSelectionContainer","origTargetClone","removeAllRanges","addRange","removeContentEditableSelection","contentEditableRoot","hasNormalCaretPosition","moved","handleTouchSelect","targetBlock","caretBlock","clipboardData","realSelectionElement","clearData","setData","outerText","contentStyles","rootClass","addCss","blockCaretContainer","isValidPrefixAttrName","trimComments","isInvalidUri","allow_html_data_urls","findEndTagIndex","tokenRegExp","shortEndedElements","SaxParser","fix_self_closing","endRegExp","attrList","textData","isInternalElement","removeInternalElements","fillAttrsMap","isShortEnded","isValidElement","attribsValue","validAttributesMap","validAttributePatterns","processHtml","selfClosing","attrRegExp","fixSelfClosing","stack","filteredUrlAttrs","scriptUriRegExp","processEndTag","valid","parseAttribute","val2","val3","attrRule","unescape","self_closing_elements","remove_internals","allow_conditional_comments","findEndTag","SaxParser$1","trimHtml","tempAttrs","trimContentRegExp","trimInternal","endTagIndex","matchLength","bogusAllRegExp","getTempAttrs","TrimHtml","trimExternal","Diff","vDown","vUp","snake","diag","buildScript","start1","end1","start2","end2","middle","getMiddleSnake","i2","buildSnake","sum","getOuterHtml","createFragment$1","insertAt","removeAt","applyDiff","Fragments","currentFragments","undoLevelDocument","createFragmentedLevel","beforeBookmark","createCompleteLevel","getLevelContent","getCleanLevelContent","implementation","createHTMLDocument","hasEqualContent","level1","level2","hasEqualCleanedContent","Levels","createFromEditor","trimmedFragments","trimmed","applyToEditor","UndoManager","isFirstTypedCharacter","locks","isUnlocked","setTyping","typing","setDirty","addNonTypingUndoLevel","endTyping","beforeChange","isDirty","lastLevel","modKey","isInsertTextDataNull","inputType","addShortcut","currentLevel","custom_undo_redo_levels","clear","hasUndo","hasRedo","callback1","callback2","isEq$4","matchesUnInheritedFormatSelector","formatList","inherit","matchParents","matchName","matchItems","itemName","similar","onmatch","MatchFormat","matchAll","startElement","matchedFormatNames","checkedMap","canApply","defaultBlock","SplitRange","ZWSP$1","getEmptyCaretContainers","isCaretContainerEmpty","findFirstTextNode","createCaretContainer","fill","trimZwspFromCaretContainer","removeCaretContainerNode","removeCaretContainer","insertCaretContainerNode","formatNode","appendNode","insertFormatNodesIntoCaretContainer","formatNodes","innerMostFormatNode","applyCaretFormat","wordcharRegex","importNode","removeCaretFormat","hasContentAfter","expandedRng","newCaretContainer","disableCaretContainer","setup$4","replaceWithCaretFormat","innerMost","isFormatElement","postProcessHooks","filter$2","each$c","addPostProcessHook","isPre","blocks","joinPre","pre1","pre2","pre","Hooks","MCE_ATTR_RE","each$d","isEq$5","isChildOfInlineParent","lastIdx","wrap$2","wrapWithSiblings","siblings$$1","matchName$1","isColorFormatAndAnchor","links","find$4","removeNode$1","rootBlockElm","list_block","removeFormat","compareNode","stylesModified","remove_similar","valueOut","findFormatRoot","formatRoot","wrapAndSplit","lastClone","firstClone","formatRootParent","mixed","splitToFormatRoot","isRemoveBookmarkNode","process","lastContentEditable","removeRngStyle","textDecoration","ceFalseOverride","each$e","isElementNode","findElementSibling","mergeSiblingsNodes","tmpSibling","elementUtils","processChildElements","hasStyle","applyStyle","unwrapEmptySpan","processUnderlineAndColor","clearChildStyles","clear_child_styles","MergeFormats","backgroundColor","merge_siblings","merge_with_parents","each$f","isElementNode$1","applyFormat","setElementFormat","fmt","onformat","styleVal","applyNodeStyle","found","applyRngStyle","nodeSpecific","wrapElm","currentWrapElm","parentName","childCount","getChildElementNode","getChildCount","mergeStyles","curSelNode","ApplyFormat","each$g","setup$5","formatChangeData","currentFormats","matchedFormats","addListeners","formats","formatChangeItems","FormatChanged","formatChanged","formatChangeState","DefaultFormats","valigntop","verticalAlign","valignmiddle","valignbottom","alignleft","preview","textAlign","aligncenter","display","marginLeft","marginRight","alignright","alignjustify","bold","italic","fontStyle","underline","strikethrough","forecolor","hilitecolor","fontname","fontsize","fontsize_class","blockquote","subscript","superscript","code","removeformat","FormatRegistry","unregister","each$h","parsedSelectorToHtml","ancestry","sItem","getRequiredParent","elmRule","wrapInHtml","parentCandidate","parentRequired","ancestorName","siblingElm","parseSelectorItem","$0","$1","$2","$3","$4","parseSelector","Preview","getCssText","previewFrag","previewElm","parentFontSize","previewStyles","previewCss","preview_styles","removeVars","selectorToHtml","ToggleFormat","FormatShortcuts","Formatter","merger","hasOwnProperty$2","objects","curObject","DomSerializerFilters","htmlParser","addAttributeFilter","internalName","cleanup","trimTrailingBr","brNode1","brNode2","preProcess","impl","oldDoc","shouldFireEvent","no_events","DomSerializerPreProcess","removeAttrs","addFontToSpansFilter","domParser","face","addStrikeToSpanFilter","addFilters","LegacyFilter","whiteSpaceRegExp$3","typeLookup","#text","#cdata","#pi","#doctype","#document-fragment","walk$2","Node$2","selfAttrs","selfAttr","cloneAttrs","refNode","paddEmptyNode","padd_empty_with_br","isPaddedWithNbsp","hasOnlyChild","isPadded","isEmpty$2","whitespaceElements","isLineBreakNode","register$2","remove_trailing_brs","prevName","whiteSpaceElements","newRel","appendRel","allow_unsafe_link_target","allow_html_in_named_anchor","fix_list_elements","classValue","validClassesMap","makeMap$4","each$i","explode$3","extend$3","DomParser","nodeFilters","attributeFilters","matchedNodes","matchedAttributes","root_name","fixInvalidChildren","newParent","currentNode","childNode","nonSplitableElements","textBlockElements","fixed","filterNode","getAttributeFilters","getNodeFilters","fi","fl","isInWhiteSpacePreservedElement","invalidChildren","rootBlockName","startWhiteSpaceRegExp","endWhiteSpaceRegExp","allWhiteSpaceRegExp","isAllWhiteSpaceRegExp","createNode","removeWhitespaceBefore","textNodeNext","textVal","cloneAndExcludeBlocks","attrFiltersLen","isRootContent","addTempAttr","postProcess$1","getHtmlFromNode","getInner","parseHtml","serializeNode","toHtml","DomSerializer","addRules","rules","setRules","Serializer$1","domSerializer","BookmarkManager","BreakType","BookmarkManager$1","isContentEditableFalse$a","isContentEditableTrue$6","getContentEditableRoot$2","ControlSelection","selectedElm","selectedElmGhost","resizeHelper","resizeHandles","selectedHandle","startX","startY","selectedElmX","selectedElmY","startW","startH","ratio","resizeStarted","startScrollWidth","startScrollHeight","editableDoc","nw","ne","se","sw","isImage","isEventOnImageOutsideRange","contextMenuSelectImage","getResizeTarget","isResizable","resizeGhostElement","deltaX","deltaY","resizeHelperX","resizeHelperY","resize_img_proportional","endGhostResize","setSizeProp","showResizeRect","targetWidth","targetHeight","unbindResizeHandleEvents","handleElm","startDrag","unSelectabe","updateResizeRect","controlElm","isChildOrEqual","disableGeckoResize","isWithinContentEditableFalse","delayedSelect","throttledUpdateResizeRect","getPos$1","fireScrollIntoViewEvent","alignToTop","scrollEvent","getViewPortRect","scrollBy","dx","dy","ScrollIntoView","viewPort","viewPortY","viewPortH","offsetY","scrollContainer","getScrollContainer","scrollTo","rngRect","bodyRect","hasCeProperty","findParent$1","findClosestIeRange","rects","createTextRange","moveToElementText","moveToPoint","moveOutOfContentEditableFalse","CaretRangeFromPoint","pointDoc","caretPositionFromPoint","offsetNode","caretRangeFromPoint","EventProcessRanges","fromElements","tableModel","tableRow","cellPosition","getSpan","isNaN","fillout","rowspan","colspan","rows","y2","x2","cellExists","skipCellsX","getWidth","row","findElementPos","extractRows","sx","sy","ey","newRows","subTable","createDomTable","tableElement","tableBody","modelRowsToDomRows","SimpleTableModel","tableElm","endElement","findParentListContainer","getFullySelectedListWrappers","listCont","directListWrappers","commonAnchorContainer","getWrapElements","wrapElements","listWrappers","allWrappers","emptyFragment","getFragmentFromRange","innerElm","getTableFragment","selectedTableCells","firstCell","lastCell","fullTableModel","sectionedTableModel","getSelectionFragment","FragmentReader","getTextContent","getHtmlContent","tmpElm","contextual","GetSelectionContent","SetSelectionContent","createContextualFragment","pasteHTML","getEndpointElement","real","getStart$2","skipEmptyTextNodes","forwards","orig","getNode$1","endElm","selectedBlocks","select$1","each$j","isNativeIeSelection","isAttachedToDom","isValidRange","Selection","bookmarkManager","selectedRange","explicitRange","selectorChangedData","tryCompareBoundaryPoints","how","sourceRange","destinationRange","compareBoundaryPoints","START_TO_START","END_TO_END","ieRange","setBaseAndExtent","anchorNode","focusNode","isForward","anchorRange","focusRange","anchorOffset","focusOffset","compareEndPoints","setNode","selectorChanged","currentSelectors","matchedSelectors","isContentEditableFalse$b","getSelectedNode$1","isAfterContentEditableFalse$2","isBeforeContentEditableFalse$2","getVisualCaretPosition","moveToCeFalseHorizontally","getNextPosFn","peekCaretPosition","rangeIsInContainerBlock","isBeforeContentEditableFalseFn","moveToCeFalseVertically","walkerFn","linePositions","nextLinePositions","closestNextLineRect","caretClientRect","dist1","dist2","contentEditableFalseNode","caretPositions","createTextBlock","textBlock","exitPreBlock","newBlock","getNextVisualCaretPosition","getPrevVisualCaretPosition","getHorizontalRange","newRange","getVerticalRange","moveH","moveV","flip","positions","walk$3","getBreakType","currentPos","Br","Block","Wrap","getPositionsUntil","breakType","breakAt","Eol","getAdjacentLinePositions","getPositionsUntilBreak","findClosestHorizontalPositionFromPoint","lastRect","newRect","lastDist","findClosestHorizontalPosition","targetRect","getPositionsUntilPreviousLine","getPositionsUntilNextLine","isAtFirstLine","isAtLastLine","getPositionsAbove","getPositionsBelow","deflate","getCorners","getYAxisValue","tds","findClosestCorner","corners","newCorner","oldCorner","oldDist","sqrt","newDist","getClosestCell$1","isTargetCorner","corner","getClosestCellAbove","getClosestCellBelow","findClosestPositionInAboveCell","findClosestPositionInBelowCell","moveToRange","hasNextBreak","lineInfo","breakPos","startsWithWrapBreak","startsWithBrBreak","isAtTableCellLine","isAtFirstTableCellLine","isAtLastTableCellLine","isCaretAtStartOrEndOfTable","navigateHorizontally","getClosestAbovePosition","getClosestBelowPosition","getTable","renderBlock","navigateVertically","moveH$1","moveV$1","isTarget","rangeBefore","insertElement","insertBr","insertBlock$1","insertEmptyLine","getClosestTargetBlock","isAtFirstOrLastLine","moveCaretToNewEmptyLine","rootBlock","rootBlockAttrs","moveV$2","defaultPatterns","matchesEvent","match$1","MatchKeys","executeKeydownOverride","ArrowKeys","getParentInlines","hasOnlyOneChild$1","deleteLastPosition","parentInlines","isFormatElement$$1","deleteCaret$1","InlineFormatDelete","executeKeydownOverride$1","executeKeyupOverride","DeleteBackspaceKeys","firstNonWhiteSpaceNodeSibling","getParentBlock$2","NewLineUtils","lastNode","tempElm","editableRoot","hasFirstChild","hasParent$1","isListBlock","getContainerBlock","containerBlockParent","isFirstOrLastLi","InsertLi","createNewBlock","newBlockName","tmpRng","trimZwsp","isEmptyAnchor","isTableCell$5","emptyBlock","containerAndSiblingName","canSplitBlock","trimInlineElementsOnLeftSideOfBlock","firstChilds","normalizeZwspOffset","includeZwspInRange","trimLeadingLineBreaks","getEditableRoot$1","setForcedBlockAttrs","forcedRootBlockName","wrapSelfAndSiblingsInDefaultBlock","addBrToBlockIfNeeded","InsertBlock","parentBlockName","clonedNode","isCaretAtStartOrEndOfBlock","normalizedOffset","insertNewBlockAfter","ContextSelectors","newLineAction","shouldBlockNewLine$1","isBrMode","requiredState","inListBlock","inBlock","inPreBlock","shouldPutBrInPre$1","inBrContext","hasShiftKey","canInsertIntoEditableRoot","rootEditable","match$2","predicates","NewLineAction","InsertNewLine","endTypingLevel","handleEnterKeyEvent","EnterKey","insertTextAtPosition","insertNbspAtPosition","insertSpaceAtPosition","isAtBlockBoundary","isAtStartOfBlock","isAtEndOfBlock","isInMiddleOfText","getClosestBlock","hasSpaceBefore","hasSpaceAfter","isInPre","isAtBeginningOfBody","isAtEndOfBody","isAtLineBoundary","needsToHaveNbsp","needsToBeNbspLeft","needsToBeNbspRight","isNbspAt","hasNbsp","normalizeNbspAtStart","normalizeNbspMiddle","chars","normalizeNbspAtEnd","normalizeNbsps","newText","normalizeNbspsInEditor","locationToCaretPosition","insertInlineBoundarySpaceOrNbsp","checkPos","setSelection$1","insertSpaceOrNbspAtSelection","executeKeydownOverride$2","SpaceKey","findBlockCaretContainer","removeIeControlRect","handleBlockContainer","CaretContainerInput","browser$4","setupIeInput","keypressThrotter","setup$c","isComposing","KeyboardOverrides","Quirks","serializeRng","allContentsSelected","isGecko","isWebKit","mceInternalDataType","setMceInternalContent","selectionHtml","internalContent","dataTransfer","escape","getMceInternalContent","getData","disableBackspaceIntoATable","bodyHeight","allRng","tapLinksAndImages","internal","ieInternalDragAndDrop","Range","body_1","blur","getAttributeApplyFunction","setAttributeNode","isSelectionAcrossElements","applyAttributes","removeStylesWhenDeletingAcrossBlockElements","isTextBlockNode","normalizeSelection$1","setup$e","detail","preventSummaryToggle","filterDetails","setup$f","DOM$2","appendStyle","createParser","autoFocus","auto_focus","destroyed","initEditor","execCallback","getStyleSheetLoader","InitContentBody","skipWrite","contentCssText","visibility","orgVisibility","write","iframeHTML","bodyEl","content_document","content_window","bodyElement","hex_colors","force_hex_style_colors","class_filter","annotator","_nodeChangeDispatcher","browser_spellcheck","gecko_spellcheck","spellcheck","directionality","nowrap","whiteSpace","protect","startContent","contentCSS","content_style","DOM$3","relaxDomain","ifr","domain","hostname","bodyUuid","domainRelaxUrl","normalizeHeight","normalizedHeight","createIframeElement","customAttrs","iframe","frameBorder","allowTransparency","getIframeHtml","bodyId","bodyClass","documentBaseURI","getURI","createIframe","isDomainRelaxed","contentAreaContainer","iframeContainer","InitIframe","boxInfo","editorContainer","orgDisplay","DOM$4","initPlugin","initializedPlugins","pluginInstance","Plugin","trimLegacyPrefix","initPlugins","initTheme","Theme","renderFromLoadedTheme","minHeight","re","min_height","renderUI","deltaWidth","deltaHeight","iframeHeight","renderFromThemeFunc","createThemeFalseResult","renderThemeFalseIframe","renderThemeFalse","renderThemeUi","Init","rtl","rtl_ui","i18n","setCode","aria_label","getLang","content_css","toAbsolute","DOM$5","hasSkipLoadPrefix","loadLanguage","scriptLoader","language_url","loadTheme","themeUrl","theme_url","loadPlugins","Render","form","formElement","hasHiddenInput","formEventDelegate","_mceOldSubmit","triggerSave","windowManager","encoding","save","_beforeUnload","set_dirty","Sidebar","sidebars","each$k","trim$4","queryParts","DEFAULT_PORTS","ftp","http","https","mailto","URI","baseUri","base_uri","source","isProtocolRelative","protocol","toAbsPath","part","userInfo","port","setPath","toRelative","tu","uu","toRelPath","noHost","isSameOrigin","defaultPort","breakPoint","outPath","noProtoHost","loc","pathname","trimEmptyContents","emptyRegExp","getContentFromBody","getContent$1","traverse","findMatchingNodes","nodeMatches","attrMatches","isTreeNode","moveSelection","setEditorHtml","setContentString","padd","setContentTree","setContent$1","DOM$6","restoreOriginalStyles","safeDestroy","clearDomReferences","restoreForm","remove$9","is_removing","automatic","DOM$7","extend$4","each$l","resolve$4","ie$2","Editor","documentBaseURL","baseURI","language_load","loadedCSS","editorCommands","buttons","menuItems","cache_suffix","override_viewport","callbackLookup","lang_1","i18n_1","addButton","onclick","stateSelector","active","tooltip","addSidebar","addMenuItem","addContextToolbar","contextToolbars","focusedEditor","setProgressState","isNotDirty","oldState","urlconverter_callback","visual_table_class","visual_anchor_class","_scanForImages","documentFocusInHandler","beforeUnloadDelegate","EditorManager","FocusManager","isEditorUIElement","isManualNodeChange","registerPageMouseUp","throttledStore","mouseUpPage","registerFocusOut","registerMouseUp","registerEditorEvents","SelectionRestore","DOM$8","isEditorUIElement$1","isUIElement","customSelector","custom_ui_selector","getActiveElement","blurredEditor","unregisterDocumentEvents","FocusController","newCode","_dir","getCode","langData","getLangData","values_1","DOM$9","explode$4","each$m","extend$5","instanceCounter","boundGlobalEvents","legacyEditors","globalEventDelegate","toggleGlobalEvents","removeEditorFromList","targetEditor","oldEditors","purgeDestroyedEditor","majorVersion","minorVersion","releaseDate","preInit","tinyMCEPreInit","srcScript","currentScript","base_url","pluginBaseUrls","plugin_base_urls","invalidInlineTargets","isInvalidInlineTarget","createId","findTargets","targets","types","forms","editor_deselector","editor_selector","provideResults","initEditors","initCount","createEditor","addI18n","EditorManager$1","RangeUtils","normalizedRng","compareRanges","getCaretRangeFromPoint","extendClass","initializing","RangeUtils$1","round$2","relativePosition","targetW","targetH","create$3","Rect","inflate","findBestRelativePosition","constrainRect","rels","intersect","cropRect","x1","y1","clampRect","fixedSize","underflowX1","underflowY1","overflowX2","overflowY2","cx2","cy2","fromClientRect","Factory","typeClass","lctype","controlType","ControlType","each$n","extend$6","Class","member","_super","mixins","mixin","Mixins","dummy","createMethod","name_1","Methods","Properties","Statics","Defaults","min$1","max$1","round$3","quote","JSON$1","JSONP","XHR","ready","success_scope","error_scope","overrideMimeType","content_type","crossDomain","setRequestHeader","requestheaders","localStorage$$1","extend$7","JSONRequest","sendRPC","ecb","scb","ty","method","localStorage","storage","getItem","setItem","removeItem","configurable","enumerable","publicApi","geom","util","EventDispatcher","LocalStorage","Color","rgb2hsv","minRGB","maxRGB","hsvToRgb","hue","saturation","brightness","side","chroma","toRgb","toHsv","isMac","Tinymce","tinyMCE","exportToWindowGlobal","exportToModuleLoaders","CyoeHelper","MoveItem","Assignment","PublishIconView","LockIconView","DateDueColumnView","DateAvailableColumnView","CreateAssignmentView","SisButtonView","scoreTemplate","AssignmentKeyBindingsMixin","AssignmentListItemView","optionProperty","canMove",".edit_assignment",".move_assignment","click .delete_assignment","click .duplicate_assignment","click .tooltip_link","keydown","mousedown","click .icon-lock","click .icon-unlock","click .move_assignment","click .duplicate-failed-retry","click .duplicate-failed-cancel","click .import-failed-cancel","ag_move_label","beforeLabel","observe","initializeChildViews","assignmentView","toggleHidden","canEdit","canManage","updatePublishState","updateScore","pollUntilFinishedLoading","publishIconView","lockIconView","sisButtonView","editAssignmentView","dateAvailableColumnView","unlockedText","lockedText","course_id","content_id","postToSISEnabled","published","postToSISName","dueDateRequired","dueDateRequiredForAccount","maxNameLengthRequired","maxNameLengthRequiredForAccount","dateDueColumnView","onMove","moveTrayProps","moveOptions","groupsLabel","backbone","collectionToGroups","view","parentCollection","col","onMoveSuccess","reorderAcrossCollections","order","groupId","focusOnExit","formatSaveUrl","renderTray","afterRender","createModuleToolTip","setTrigger","$editAssignmentButton","canReadGrades","stopMoveIfProtected","my","at","collision","tooltipClass","has_modules","joinedNames","moduleName","modules","toView","_setJSONForGrade","canDelete","canDuplicate","is_locked","isRestrictedByMasterCourse","showAvailability","multipleDueDates","defaultDates","showDueDate","singleSectionDueDate","cyoe","getItemData","isQuiz","is_quiz_assignment","return_to","encodeURIComponent","spanWidth","alignTextClass","menu_tools","quiz_menu_tools","forEach","tool","isDiscussionTopic","discussion_topic_menu_tools","assignment_menu_tools","assign","module_count","module_name","joined_names","addAssignmentToList","assignment","new_positions","hasIndividualPermissions","by_assignment_id","originalAssignmentID","focusOnAssignment","onDuplicate","duplicate","onDuplicateFailedRetry","$button","duplicate_failed","silent","onDuplicateOrImportFailedCancel","onDelete","previousAssignmentInGroup","assignment_group_id","focusOnGroupByID","onUnlockAssignment","onLockAssignment","opts","screenReaderFlashMessage","update","submission_types","gradeStrings","grade","incomplete","complete","nonscreenreader","screenreader","pass_fail","letter_grade","gpa_scale","gradeString","pointsPossible","score","submission","submissionJSON","DEFAULT","gradingType","gradeDisplay","gradeDisplayForScreenreader","hideGrade","read_grades","goToNextItem","nextAssignmentInGroup","nextVisibleGroup","focusOnGroup","focusOnFirstGroup","goToPrevItem","editItem","click","deleteItem","addItem","group_id","showAssignment","assignmentGroupView","visibleAssignments","nextGroup","current_assignment_index","View","modalOverrides","overlay","Modal","modalIsOpen","isOpen","openModal","setState","cleanupAfterClose","onRequestClose","_jquery2","getAppElement","closeModal","closeWithX","onSubmit","modal","disableWhileLoading","onAfterOpen","closeBtn","appElement","processMultipleChildren","React","ModalContent","ModalButtons","warn","_react2","_preventDefault2","_reactModal2","ariaHideApp","overlayClassName","contentLabel","onClick","serializePeriods","periods","grading_periods","period","start_date","startDate","end_date","endDate","close_date","closeDate","weight","deserializePeriods","isLast","is_last","isClosed","is_closed","batchUpdate","setId","axios","patch","replaceTags","GRADING_PERIODS_UPDATE_URL","showFlashAlert","destroyContainer","messageHolderId","liveRegion","screenreaderMessageHolderId","showFlashError","showFlashSuccess","FlashAlert","showDetails","timerId","closeAlert","onClose","_findDetailMessage","findDetailMessage","_Text2","as","renderDetailMessage","_PresentationContent2","_Button2","variant","_ScreenReaderContent2","_Transition2","transitionOnMount","in","_Alert2","closeButtonLabel","onDismiss","getLiveRegion","transition","screenReaderOnly","_ref$type","_ref$srOnly","srOnly","atNode","ReactDOM","unmountComponentAtNode","alertContainer","getAlertContainer","flashAlertTimeout","delete_group","deleting","labels","delete_assignments_in_group","move_assignments_to","select_group","tooltips","target_group","warnings","delete_assignment_group","would_you_like","Cache","hasLocalStorage","DraggableCollectionView","DeleteGroupView","AssignmentGroupListItemView","itemView",".add_assignment",".delete_group",".edit_group",".move_group","click .element_toggler","keyclick .element_toggler","keydown .assignment_group","click .move_contents","click .move_group","toggleMessage","createAssignmentView","editGroupView","deleteGroupView","$addAssignmentButton","$editGroupButton","$deleteGroupButton","hasRules","createRulesToolTip","createItemView","initializeCollection","groupView","initCache","doNotParse","assignmentGroup","use","cacheKey","initSort","$list","startSort","endSort","placeholder","insertNoItemView","removeNoItemView","showWeight","group_weight","course_home","COURSE_HOME","showRules","rulesText","countRules","displayableRules","groupWeight","hasFrozenAssignments","hasIntegrationData","drop_lowest","other","drop_highest","never_drop","never_drop_assignment_id","findWhere","assignment_name","regex","gradingPeriod","assignmentCount","resetBorders","borderFix","endSearch","collapseIfNeeded","resetNoToggleCache","shouldBeExpanded","toggleCache","_setNoToggleCache","currentlyExpanded","toggleCollapse","currentUserId","toggleArrow","ev","toggleArrowWithKeyboard","expanded","onMoveGroup","collectionToItems","reorderInCollection","onMoveContents","groupItems","excludeCurrent","reorderAllItemsIntoNewCollection","hasMasterCourseRestrictedAssignments","any","current_user_id","hasVisibleAssignments","firstAssignment","previousGroup","lastAssignment","lastVisibleGroup","visibleGroupsInCollection","place_in_groups_collection","last_group_index","_jquery","_RceCommandShim","rselectTextarea","rCRLF","rinput","isSerializable","resultFor","getValue","serializeForm","i18n_inferred_key","program4","ifAll","program14","program5","program6","notYetGraded","program9","program7","w0","program10","program12","program19","program21","program28","program22","program23","program26","program24","unless","excused","itemShape","shape","groupShape","moveOptionsType","oneOfType","close_move_tray_8609e988","move_item_failed_8e4c1db6","move_to_25d7ef11","handleKeys","mod","modifiers","binding","global$1","Direction","curDir","Commands","generateSelector","Buttons","neverDropTemplate","NeverDrop","change select","click .remove_never_drop","setChosen","$target","canChangeDropRules","chosen_id","removeNeverDrop","unset","buttonTitle","toAssignments","chosen","validateDate","date","nullAllowed","isDate","validateGradingPeriodDates","gradingPeriods","dates","validatePeriodID","GradingPeriodsHelper","isDateInGradingPeriod","gradingPeriodID","gradingPeriodForDueAt","orderedPeriods","sortBy","earliestOpenPeriod","periodID","linkHref","program3","allDates","program8","contextSensitiveDatetimeTitle","tDateToString","program13","datetimeFormatted","justText","program15","todo_date","program16","map$1","sort$1","reqMessage","unsuppMessage","unsupported","validateStrArr","invalidTypeMessage","incorrect","checkDupes","everything","sorted","MixedBag","optional","req","dimensions","grid","address","coords","detailnew","Structs","extended","rowdata","elementnew","rowdatanew","rowcells","rowdetails","bounds","COMMENT","checkRange","filterFirstLayer","LayerSelector","firstLayer","has$1","ancestors","children$1","ancestors$1","children$2","child$1","child$2","tags","_isRoot","neighbours","TableLookup","neighbourCells","notCell","neighbourRows","rowProp","colProp","cols","DetailsList","parentSection","example","section","column","filterItems","warehouse","Warehouse","generate","maxRows","maxColumns","currentRow","cc","newpos","getAt","findItem","filtered","justCells","internalRemove","set$1","setAll$1","getRaw","remove$1","after$1","stats","findSelectedStats","house","isSelected","totalColumns","columns","minRow","minCol","maxRow","maxCol","startRow","endRow","startCol","endCol","makeCell","seenSelected","rowIndex","fillInGaps","totalRows","emptyRows","CopySelected","selectedSelector","unselectedCells","shallowAs","copy$1","cloneChildren","elementsWithCursorPosition","isCursorPosition","first$3","descend","last$2","descendantRtl","cell$1","replica","pasteReplace","cellContent","newRow","cloneFormats","oldCell","newCell","firstText","formatSelector","clonedFormat","TableFill","mutate$$1","formatsToClone","sourceDom","targetDom","gap","TagBoundaries","DomUniverse","copyTo","destination","afterAll","appendAll","comparePosition","setText","isBoundary","isEmptyTag","leftRight","bisect","universe","ind","Breaker","prior","second","isTop","breaker","splits","fallback","breakage","nextChild","all$3","look","unsafeOne","head$$1","tail","commonElement","Shared","eq$1","unsafeSubset","common","ps1","ps2","finder","topDown","sIndex","eIndex","ancestors$2","prune","pruned1","pruned2","shared","firstpath","secondpath","Subset","ancs","Parent","DomParent","sharedOne","subset","breakToLeft","breakToRight","breakPath","isWithin","finishCol","finishRow","CellBounds","leftEdge","rightEdge","topEdge","bottomEdge","isRect","detailIsWithin","getAnyBox","finishCell","startCoords","finishCoords","fc","detailA","detailB","CellGroup","CellFinder","inside","innerCell","c1","c2","getWarehouse","TablePositions","deltaRow","deltaColumn","firstTable","lastTable","lookupTable","identified","getIsRoot","rootTable","boxes","startTable","finishTable","ancestorCells","lca","lcaTable","finishAncestorCells","startAncestorCells","getLast","lastSelectedSelector","expandTo","firstSelectedSelector","CellSelection","retrieve","sels","shiftSelection","getEdges","tbl","TableSelection","edges","firstAncestor","lastAncestor","fA","lA","Ephemera","attributeSelector","firstSelected","lastSelected","multiple","single","SelectionTypes","cata","subject","onNone","onMultiple","onSingle","selections","CellOperations","_env","noMenu","mergable","unmergable","paste$1","TableTargets","forMenu","pasteRows","clipboard","generators","extractSelected","serializeElements","Clipboard","actions","cellSelection","domCell","pasteCells","Dimension","getOffset","aggregate","properties","getOuter","cumulativeInclusions","api$1","get$4","api$2","get$5","getOuter$1","platform","toNumber","px","num","getCalculatedHeight","paddingTop","paddingBottom","borderTop","borderBottom","RuntimeSize","genericSizeRegex","percentageBasedSizeRegex","pixelBasedSizeRegex","setHeight","amount","getHeightValue","convert","getter","setter","newSize","normalizePixelSize","getTotalHeight","type$$1","getRawWidth","normalizePercentageWidth","cellWidth","tableSize","pixelWidth","choosePercentageSize","percentMatch","intWidth","normalizePixelWidth","choosePixelSize","pixelMatch","floatWidth","Sizes","setPixelWidth","setPercentageWidth","getPixelWidth","getPercentageWidth","getGenericWidth","setGenericWidth","getHeight","CellMutations","main","newWidth","attached","windowOf","boxPosition","firstDefinedOrZero","absolute","viewport","rowInfo","colInfo","rtlEdge","ltrEdge","getLeftEdge","getRightEdge","findPositions","getInnerEdge","getOuterEdge","lines","cellOption","lastLine","ltr","BarPositions","step","_table","ResizeDirection","TableDirection","directionAt","auto","TableGridSize","handleUnsupported","baseWith","invalidKeys","handleExact","exactly","elementToData","contract","Generators","_toData","toData","nuFrom","replacement","recent","getOrInit","cursor","find$$1","makeNew","replaceOrInit","combine","blockList","Structure","universe$1","DomStructure","TableContent","advancedBr","markCell","rightSiblingIsBlock","rightSibling","merge$1","cat","findMap","setCells","gridRow","getCell","GridRow","addCell","newCells","mutateCell","getCellElement","mapCells","cellLength","getColumn","getRow","findDiff","comp","TableGrid","restOfRow","endColIndex","restOfColumn","endRowIndex","Transitions","seen","ri","updateSeen","isNew","rowCells","setIfNot","Redraw","renderSection","gridSection","sectionName","tb","removeSection","renderOrRemoveSection","headSection","bodySection","footSection","clonedCell","Util","repititions","rest","aa","extras","decide","getBlock","isSingle","getFallback","Blocks","Bar","blocker","data-column","role","data-row","namespace","dashNamespace","get$7","resizeBar","resizeRowBar","resizeColBar","wire","drawBar","origin","cpOption","cp","bar","refreshCol","colPositions","tableHeight","colBar","refreshRow","rowPositions","tableWidth","rowBar","refreshGrid","hdirection","vdirection","bars","Bars","refresh","isRowBar","isColBar","fromWarehouse","deriveRows","rendered","findRow","toDetailList","findInWarehouse","RunOperation","operation","extract","adjustment","postAction","genWrappers","newElements","lc","generator","rowFill","_row","colFill","Fitment","startAddress","gridA","gridB","rowRemainder","colRemainder","colRequired","rowRequired","rowDelta","colDelta","colLengthA","colLengthB","fillCols","uniqueCells","currentCell","MergingOperations","substitution","isToReplace","rowPrevCells","isSpanning","matching","mergeTables","TableMerge","fittedGrid","fittedNewGrid","secondDelta","fittedOldGrid","ModificationOperations","between","exampleRow","exampleCol","replaceIn","notStartRow","colIndex","notStartColumn","TransformOperations","targetRow","folder","ColumnContext","neighbours$1","Deltas","zero","newNext","minCellWidth","newThis","diffx","onLeft","singleColumnWidth","getSpan$1","CellUtils","hasColspan","hasRowspan","minWidth","getInt","getRaw$1","getRawW","getRawH","getWidthFrom","backups","deduced","getDeduced","getHeightFrom","ColumnSizes","getRawWidths","getPixelWidths","getPercentageWidths","getPixelHeights","getRawHeights","measures","Recalculations","widths","heights","percentageSize","getWidths","getCellDelta","_delta","setElementWidth","setTableWidth","_newWidths","pixelSize","newWidths","chooseSize","fallbackWidth","TableSize","getWarehouse$1","getTableWarehouse","Adjustments","adjustWidth","deltas","newSizes","adjustHeight","newHeights","newCellSizes","newRowSizes","adjustWidthTo","outcome","elementFromGrid","findIn","bundle","uniqueRows","currentDetail","uniqueColumns","gridifyRows","pasteDetails","wh","resize","TableOperations","insertRowBefore","targetIndex","newGrid","insertRowsBefore","insertRowAfter","insertRowsAfter","insertColumnBefore","insertColumnsBefore","insertColumnAfter","insertColumnsAfter","splitCellIntoColumns","splitCellIntoRows","eraseColumns","_genWrappers","eraseRows","makeColumnHeader","unmakeColumnHeader","makeRowHeader","unmakeRowHeader","mergeCells","unmergeCells","nuGrid","pasteRowsBefore","mergedGrid","pasteRowsAfter","getBody$1","getPixelWidth$1","getPixelHeight","addSizeSuffix","removeDataStyle","dataStyleCells","getDirection","ltr$1","rtl$1","defaultTableToolbar","defaultStyles","border-collapse","defaultAttributes","getDefaultAttributes","getDefaultStyles","hasTableResizeBars","hasTabNavigation","hasAdvancedCellTab","hasAdvancedRowTab","hasAdvancedTableTab","hasAppearanceOptions","hasTableGrid","shouldStyleWithCss","getCellClassList","getRowClassList","getTableClassList","getColorPickerCallback","isPixelsForced","getCloneElements","cloneElements","hasObjectResizing","objectResizing","getToolbar","toolbar","fireNewRow","fireNewCell","fireObjectResizeStart","fireObjectResized","TableActions","lazyWire","isTableBody","execute","guard","mutate","deleteRow","deleteColumn","CopyRows","slicedGrid","slicedDetails","Styles$1","applyAlign","applyVAlign","unApplyAlign","unApplyVAlign","getTDTHOverallStyle","firstChildStyle","checkChildren","updateStyleField","rootControl","control","borderColor","updateAdvancedFields","Helpers","createStyleForm","createColorPickAction","colorPickerCallback","onchange","formItemDefaults","alignH","onselect","onaction","buildListItems","inputList","itemCallback","startItems","appendItems","menuItem","menu","extractAdvancedStyles","syncAdvancedStyleFields","getEl","isEqualNode","updateStyles","dataset","mceStyle","extractDataFromElement","valign","onSubmitCellForm","cellElm","CellDialog","classListCtrl","textStyle","generalCellForm","labelGapCalc","maxWidth","bodyType","onsubmit","extractDataFromElement$1","switchRowType","rowElm","toType","oldParentElm","onSubmitRowForm","oldData","RowDialog","generalRowForm","global$2","DefaultRenderOptions","percentages","render$1","rowHeaders","columnHeaders","renderOpts","trs","get$8","getOuter$2","placeCaretInCell","selectFirstCellInTable","fireEvents","InsertTable","styleTDTH","extractDataFromElement$2","cellspacing","cellpadding","applyDataToElement","data-mce-border-color","data-mce-cell-padding","data-mce-border","border-width","border-color","onSubmitTableForm","captionElm","TableDialog","isProps","colsCtrl","rowsCtrl","generalTableForm","registerCommands","clipboardRows","getSelectionStartCell","getTableFromCell","resizeChange","oldSize","actOnSelection","beforeSize","copyRowSelection","pasteOnSelection","clonedRows","mceTableSplitCells","mceTableMergeCells","mceTableInsertRowBefore","mceTableInsertRowAfter","mceTableInsertColBefore","mceTableInsertColAfter","mceTableDeleteCol","mceTableDeleteRow","mceTableCutRow","mceTableCopyRow","mceTablePasteRowBefore","mceTablePasteRowAfter","mceTableDelete","mceInsertTable","mceTableProps","mceTableRowProps","mceTableCellProps","ResizeWire","editable","typeDefs","DragApis","sink","Styles$2","Blocker","layerClass","mkEvent","prevent","kill","rawEvent","binder","useCapture","bind$1","filter$1","bind$2","MouseDrag","dragApi","mdown","forceDrop","mup","mmove","mout","delayDrop","mutation","Movement","noDragState","onEvent","inDragState","dragState","isOn","Dragging","throttledDrop","runIfActive","go","Dragger","transform","Mutation","drag","BarMutation","xDelta","yDelta","closest$2","resizeBarDragging","BarManager","resizing","hoverTable","getResizer","_dataRow","_dataCol","currentCol","getDelta","startAdjust","mouseover","hideBars","showBars","TableResize","manager","beforeResize","afterResize","createContainer","TableWire","ResizeHandler","startRawW","selectionRng","rawWire","sz","rawTable","percentW","targetPercentW","newCellSizes_1","newCellSize","lazyResize","folder$1","CellLocation","detect$4","CellNavigation","Situ","onBefore","onOn","onAfter","situ","type$2","range$2","getStart$1","startSitu","finishSitu","relative$1","makeRange","selectNodeContentsUsing","setFinish","relativeToNative","exactToNative","toRect","getFirstRect","adt$1","fromRange","doDiagnose","rev","diagnose","asLtrRange","inRect","locateOffset","textnode","rangeForOffset","rectForOffset","curDeltaX","locate","searchInChildren","locateNode","locate$1","boundedX","boundedY","getCollapseDirection","createCollapsedNode","collapseDirection","locateInElement","cursorRange","locateInEmpty","searchTextNodes","availableSearch","fromPoint$1","beforeSpecial","preprocessRelative","preprocessExact","preprocess","doSetNativeRange","doSetRange","setLegacyRtlRange","setRangeFromRelative","setExact","setRelative","toNative","getDomRange","firstRng","doGetExact","same","setToElement","getExact","get$a","getFirstRect$1","getAtPoint","clear$1","global$3","backward","getCellFirstCursorPosition","getNewRowCursorPosition","rootElements","TabContext","isRoot_1","Responses","isKey","keycode","isUp","isDown","SelectionKeys","isBackward","isNavigation","Util$1","convertToRange","makeSitus","get$b","by","WindowBridge","getRangedRect","structRect","exactAdt","fromSitus","situs","situsFromPoint","exact$$1","clearSelection","setRelativeSelection","selectContents","getInnerHeight","getScrollY","detect$5","selectRange","cellSel","KeySelection","sync","newSels","Carets","moveUp","moveDown","moveBottomTo","moveTopTo","getBottom","getPartialBox","bridge","toCaret","getElemBox","Rectangles","backtrack","_transition","sidestep","advance","successors","go$1","succ","Walker","Walkers","hone","Seeker","isLeaf","seekLeft","seekRight","Gather","walkers","_rules","universe$2","DomGather","gather","adt$2","retry","isOutside","inOutsideBlock","upMovement","adjuster","guessBox","higherCaret","downMovement","lowerCaret","isAtTable","adjustForTable","numRetries","adjustTil","guess","newCaret","checkScroll","adjusted","Retries","tryUp","tryDown","ieTryUp","ieTryDown","getJumpSize","adt$3","failedUp","failedDown","isOverlapping","beforeBounds","afterBounds","isRow","BeforeAfter","verify","beforeOffset","afterOffset","afterCell","beforeCell","sharedRow","onSuccess","onFailedUp","onFailedDown","Spot","points","inParent","gatherer","cand","handleBr","handleParent","adjacent","BrTags","tgt","analysis","platform$1","findSpot","brNeighbour","scan","tryCursor","tryAgain","tryAt","otherRetry","ieRetry","TableKeys","spot","detection","inSameTable","simulate","VerticalMovement","precheck","lastOffset","findCell","MouseSelection","clearState","mouseup","KeyDirection","rc","InputHandlers","mouse","keyboard","clearToNavigate","which","attempts","keyup","SelectionAnnotation","byClass","ephemera","addSelectionClass","removeSelectionClasses","byAttr","removeSelectionAttributes","addSelectionAttribute","hasInternalTarget","CellSelection$1","handlerStruct","mouseHandlers","keyHandlers","handleResponse","wrappedEvent","wrapEvent","isMouseEvent","isLeftMouse","mouseDown","mouseOver","mouseUp","Selections","addButtons","addToolbars","MenuItems","addMenuItems","tableCtrls","cellCtrls","mergeCtrls","unmergeCtrls","noTargetDisable","ctrlEnable","pushTable","pushCell","cellOpt","cellDom","mergeCtrl","unmergeCtrl","selectGrid","tx","focusCell","insertTable","ariaHideMenu","aria","hideAll","onshow","onhide","generateTableGrid","onPostRender","lastX","lastY","onmousemove","tableProperties","deleteTable","separator","getClipboardRows","setClipboardRows","sugarRows","getApi","resizeHandler","SortableCollectionView","NoAssignmentsListItem","renderItem","childKey","groupKey","reorderURL","createReorderURL","noItemTemplate","itemViewOptions","attachCollection","renderIfLoaded","loadedAll","renderOnReset","firstResetLanded","_initSort","handleExtraClick","slideUp","$toggler","ag","slideDown","postToSIS","rangeEqualsDelimiterOrSpace","rangeString","delimiter","handleEclipse","parseCurrentLine","handleSpacebar","handleEnter","scopeIndex","rngText","autoLinkPattern","defaultLinkTarget","Keys","autoUrlDetectState","program11","uniqLabel","program17","master_course_restrictions","due_dates","disabledIf","disableDueAt","isInClosedPeriod","datepickerScreenreaderPrompt","accessibleDateFormat","canChooseType","disabledIfIncludes","frozenAttributes","hasDueDate","ifAny","isOnlyVisibleToOverrides","nonBaseDates","hasPointsPossible","aria-labelledby","new_assignment_url","active_grading_periods","QUIZ_LTI_ENABLED","add_assignment_to_name_caf173b0","delete_a6efa79d","delete_assignment_group_7c3b01c4","edit_assignment_group_c04c4af0","imported_from_posttosisname_f7cc9258","manage_name_7f55f792","move_assignment_contents_245c61bb","move_assignment_group_46e09fc3","move_contents_29713356","move_group_77ae285d","n_groupweight_percentage_of_total_2ae4d996","no_assignments_search","aria_assignments","no_assignments_found","Symbol","observable","_axios","IndexMenuActions","SET_MODAL_OPEN","LAUNCH_TOOL","SET_TOOLS","SET_WEIGHTED","setModalOpen","payload","launchTool","apiGetLaunches","ajaxLib","endpoint","dispatch","setWeighted","numberHelper","AssignmentGroup","NeverDropCollection","NeverDropCollectionView","DialogFormView","click .dialog_closer","blur .group_weight",".never_drop_rules_group","wrapperTemplate","non_number","positive_number","max_number","no_name_error","name_too_long_error","onSaveSuccess","flashMessage","getFormData","validateFormData","canChangeWeighting","anyAssignmentInClosedGradingPeriod","checkGroupWeight","getNeverDrops","$neverDropContainer","never_drops","ag_id","ndCollectionView","roundWeight","rounded_value","show_weight","can_change_weighting","label_id","editable_drop","number_input","openAgain","setDimensions","modelType","resourceName","omit","_positions","MoveSelect","selectGroup","selectedGroup","selectPosition","selectedPosition","selectSibling","selectedSibling","submitSelection","_this$state","itemsInGroup","_ref2","_ref3","relativeTo","onSelect","itemIds","_ref4","getFilteredGroups","isAbsolute","_props","hasSelectedPosition","_ref5","selectOneDefault","_View2","_Select2","renderSelect","renderSelectPosition","renderPlaceTitle","_ConnectorIcon2","aria-hidden","renderSelectSibling","filteredItems","_props$moveOptions","renderSelectGroup","isDoneSelecting","_stocktiny","assignment_groups_weight_2f1a5a7c","assignment_options_1e5b7074","assignments_settings_30613d0c","disable_sync_to_name_10c371dc","after_48b9d69","at_the_bottom_a6a5f0fe","at_the_top_fa836591","before_cb32fc0","regExps","UnicodeData","characterIndices","ALETTER","MIDNUMLET","MIDLETTER","MIDNUM","NUMERIC","CR","LF","NEWLINE","EXTEND","FORMAT","KATAKANA","EXTENDNUMLET","AT","OTHER","SETS","EMPTY_STRING","PUNCTUATION","WHITESPACE","SETS$1","getType","char","setsLength","StringMapper","memoized","WordBoundary","prevType","nextNextType","nextType","EMPTY_STRING$1","WHITESPACE$1","PUNCTUATION$1","isProtocol","word","findWordEnd","extractUrl","peakedWord","doGetWords","includePunctuation","includeWhitespace","words","ignoreCase","WordGetter","isSeparator","txt","treeWalker","WordCount","Api","getCount","global$4","Statusbar","wordsToText","panel","statusbar","debouncedUpdate","assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d","create_group","example_group_name","group_name","percent_of_total","saving","number_of_scores_to_ignore_for_each_student_fb94e818","all_grading_periods_77974940","index_view","add_assignment","add_group","add_quiz_lti","search_for_assignment","title_add_assignment","title_add_group","title_add_quiz_lti","select_a_grading_period_aab25483","warning_for_improved_accessibility_of_reordering_a_5d0206c7","assignment_count","w1","DATE_RANGE_ERRORS","start_range","term","end_range","due","lock","DateValidator","dateRange","date_range","forIndividualStudents","hasGradingPeriods","DUE_DATE_REQUIRED_FOR_ACCOUNT","SECTION_LIST","currentDateRange","getSectionRange","datetimesToValidate","start_at","validationDates","date_context","end_at","persisted","_validateDatetimeSequences","override_course_and_term_dates","errs","_formatDatetime","isDateInClosedGradingPeriod","earliestDate","earliestValidDueDate","formatted","DateHelper","formatDateForDisplay","datetimeSet","_validateMultipleGradingPeriods","validationDate","dateType","VeriCiteSettings","originalityReportVisibility","originality_report_visibility","excludeQuoted","normalizeBoolean","exclude_quoted","excludeSelfPlag","exclude_self_plag","storeInIndex","store_in_index","KeyboardNavDialog","keyboardNavTemplate","NoAssignments","userSettings","GradingPeriodsAPI","IndexMenu","configureIndexMenuStore","keyup #search_term","change #grading_period_selector","focus .drag_and_drop_warning","blur .drag_and_drop_warning","#addGroup","#assignmentSettingsCog","enableSearch","clearSearch","weight_final_grades","WEIGHT_FINAL_GRADES","contextId","contextInfo","contextType","$addGroupButton","indexMenuStore","weighted","externalTools","selectedTool","context_asset_string","setDisableTrigger","registerWeightToggle","disableSyncToSis","openDisableSync","postToSisDefault","POST_TO_SIS_DEFAULT","hasAssignments","HAS_ASSIGNMENTS","filterKeyBindings","ensureContentStyle","kbDialog","onkeydown","focusOnAssignments","selectGradingPeriod","show_dnd_warning","hide_dnd_warning","atleastoneGroup","gradingPeriodIndex","matchingAssignmentCount","saveSelectedGradingPeriod","noAssignments","cleanSearchTerm","runningTotal","alertForMatchingGroups","numAssignments","screenReaderFlashMessageExclusive","gradingPeriodId","contextGet","contextSet","tmpKey","tmpValue","date_due_column_view","due_date","PublishButtonView","publishClass","publishedClass","unpublishClass","keyclick","createStore","combineReducers","bindActionCreators","applyMiddleware","ActionTypes","__WEBPACK_IMPORTED_MODULE_0_symbol_observable__","randomString","INIT","REPLACE","PROBE_UNKNOWN_ACTION","isPlainObject","proto","reducer","preloadedState","enhancer","currentReducer","currentState","currentListeners","nextListeners","isDispatching","ensureCanMutateNextListeners","getState","subscribe","isSubscribed","replaceReducer","nextReducer","outerSubscribe","observer","observeState","unsubscribe","getUndefinedStateErrorMessage","actionType","assertReducerShape","reducers","reducerKeys","finalReducers","shapeAssertionError","finalReducerKeys","hasChanged","nextState","previousStateForKey","nextStateForKey","errorMessage","bindActionCreator","actionCreator","actionCreators","boundActionCreators","_defineProperty","writable","_objectSpread","ownKeys","sym","getOwnPropertyDescriptor","funcs","middlewares","_dispatch","middlewareAPI","chain","middleware","initialState","newState","_defineProperty3","_handlers","prevState","digits","rounded","group_weight_for_d46c5db4","Module","ModuleCollection","_rtlHelper","leftRightOpposites","regexLeftRight","flipPositionIfRTL","left+","left-","right+","right-","isRTL","increments","addDescribedBy","describedby","removeDescribedBy","removeData","widget","track","_create","_on","focusin","_setOption","_disable","that","andSelf","_enable","_find","of","_open","positionOption","_tooltip","mousemove","_show","_trigger","focusout","ESCAPE","fakeEvent","force","closing","_hide","_off","bgiframe","_destroy","create_assignment","assignment_due_at","assignment_points","assignment_type","save_and_publish","differentiated_due_dates","discussion_type","external_tool_type","more","multiple_due_dates","not_graded_type","quiz_type","due_at_5e18eeac","due_date_falls_in_a_closed_grading_period_e447ff2f","sync_to_posttosisname_9837a8bf","due_date_cannot_be_after_course_end_fd128a14","due_date_cannot_be_after_section_end_b0f54388","due_date_cannot_be_after_term_end_5d504cb1","due_date_cannot_be_before_course_start_ecc523ba","due_date_cannot_be_before_section_start_f8950484","due_date_cannot_be_before_term_start_ea660b2c","due_date_cannot_fall_in_a_closed_grading_period_e4336124","lock_date_cannot_be_after_course_end_a473158b","lock_date_cannot_be_after_section_end_d37da70c","lock_date_cannot_be_after_term_end_cf1a188f","lock_date_cannot_be_before_due_date_ac30f54","overrides","everyone","please_add_a_due_date_1d433d2","please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29","unlock_date_cannot_be_after_due_date_8829d9ca","unlock_date_cannot_be_after_lock_date_591f7fda","unlock_date_cannot_be_before_course_start_9c7b8524","unlock_date_cannot_be_before_section_start_793ddc66","unlock_date_cannot_be_before_term_start_d3c01813","you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b","you_must_have_a_student_or_section_selected_a99e45df","_get2","_get4","Deferred","initializeCache","initializeDateGroups","setAssignmentGroups","models","dated","undated","past","overdue","upcoming","isOverdue","allowedToSubmit","canHaveOverdueAssignment","observed_student_ids","overdue_group","upcoming_group","undated_group","past_group","sorted_groups","_sortGroups","groupedByAG","groupedByDate","_sortAscending","_sortDescending","_this3","when","renderToggle","_this4","_RadioInputGroup2","showByDate","toggleShowBy","_RadioInput2","_this5","setAssignmentGroupAssociations","hasWeight","assignment_group","publish_btn_module","publish","publishing","unpublish","unpublishing","published_click_to_unpublish_db016671","published_click_to_unpublish_title_358122a","unpublished_click_to_publish_6a6d12e1","unpublished_click_to_publish_title_7c57293f","SisValidationHelper","setAttributes","newSisAttributes","sisAttributes","$label","togglePostToSIS","post_to_sis","sisUrl","validationHelper","dueDate","maxNameLength","errorsExist","sisIntegrationSettingsEnabled","flashWarning","toggleAriaPressed","override_dates","base_message","dueDateMissing","nameTooLong","labelId","aria-describedby","DetectProPlugin","isWordHtml","wordContent","ieFake","shouldPlainTextInform","shouldBlockDrop","shouldPasteDataImages","shouldFilterDrop","getPreProcess","getPostProcess","getWebkitStyles","shouldRemoveWebKitStyles","shouldMergeFormats","isSmartPasteEnabled","isPasteAsTextEnabled","getRetainStyleProps","getWordValidElements","shouldConvertWordFakeLists","shouldUseDefaultFilters","shouldInformUserAboutPlainText","userIsInformedState","Actions","pasteFormat","pasteHtml","pasteText","internalMark","InternalHtml","mark","unmark","isMarked","internalHtmlMime","global$5","toBRs","openContainer","rootTag","rootAttrs","toBlockElements","tagOpen","tagClose","paragraphs","Newlines","isPlainText","global$6","global$7","global$8","global$9","Utils","ignoreElements","s1","s2","createIdGenerator","isMsEdge","isNumericList","convertFakeListsToProperLists","currentListNode","prevListNode","trimListStart","regExp","removeIgnoredNodes","_listIgnore","convertParagraphToLi","paragraphNode","listName","_listLevel","nodeText","filterStyles","outputStyles","filterWordContent","retainStyleProperties","spaces","WordFilter","isWordContent","processResult","cancelled","postProcessFilter","tempBody","postProcessArgs","filterContent","preProcessArgs","ProcessFilters","removeMeta","isAbsoluteUrl","isImageUrl","createImage","pasteHtmlFn","createLink","linkSelection","insertImage","smartInsertContent","SmartPaste","pasteHtml$1","internalFlag","getDataTransferItems","legacyText","contentType","getClipboardContent","clipboardEvent","text/html","hasContentType","clipboardContent","mimeType","hasHtmlOrText","extractFilename","pasteImage","imageItem","images_reuse_filename","Image","images_dataimg_filter","existingBlobInfo","getImagesFromDataTransfer","getAsFile","pasteImageData","paste_data_images","FileReader","blobResults","isBrokenAndroidClipboardEvent","isKeyboardPasteEvent","registerEventHandlers","pasteBin","keyboardPastePlainTextState","keyboardPasteTimeStamp","removePasteBinOnKeyUp","insertClipboardContent","isKeyBoardPaste","plainTextMode","isPlainTextHtml","getHtml","isDefaultContent","clipboardTimer","clipboardDelay","getLastRng","registerEventsAndFilters","isWebKitFakeUrl","isDataUri","isPasteInsert","getPasteBinParent","isExternalPasteBin","delegatePasteEvents","pasteBinElm","pasteBinDefaultContent","isDefault","lastRngCell","pasteBinClone","pasteBinClones","dirtyWrappers","cleanWrapper","copyAndRemove","toElm","fromElm","PasteBin","noop$1","hasWorkingClipboardApi","setHtml5Clipboard","setClipboardData","markedHtml","offscreenRange","isTableSelection","hasSelectedContent","cut","CutCopy","global$a","getCaretRangeFromEvent","setFocusedRange","DragDrop","draggingInternallyState","dropContent","plainTextContent","content_1","PrePostProcess","postProcess","addPreProcessFilter","filterFunc","addPostProcessFilter","removeExplorerBrElementsAfterBlocks","explorerBlocksRegExp","removeWebKitStyles","webKitStyles","webKitStylesSetting","dom_1","node_1","inputStyles","inputValue","currentValue","removeUnderlineAndFontInAnchor","stateChange","postRender","selectable","footerClassName","no_assignments_list_item","no_assignments_in_this_group",".vdd_tooltip_link","$link","htmlUrl","UniqueDropdownCollection","records","possibleValues","propertyName","updateAssignments","updateAssignmentGroupId","include_id","availableValues","am","compact","resp","coll","model_obj","findAssignment","findNextAvailable","av","courseSectionIDs","pluck","override","getDefaultDueDate","containsDefaultDueDate","blank","datesJSON","isSimple","Collection","TextColor","colorMap","colors","defaultColorMap","getTextColorMap","getTextColorRows","getTextColorCols","ColorPickerHtml","hasColorPicker","getColorCellHtml","isNoColor","setDivColor","onButtonClick","_color","onPanelClick","buttonCtrl","currentColor","selectColor","hidePanel","customColorCells","lastId","resetColor","renderColorPicker","foreColor","ariaRemember","ExternalToolModalLauncher","beforeExternalContentAlertClass","afterExternalContentAlertClass","modalLaunchStyle","getDimensions","getLaunchDimensions","modalStyle","getModalStyle","modalBodyStyle","getModalBodyStyle","getModalLaunchStyle","onExternalToolCompleted","getIframeSrc","definition_id","launchType","placements","placement","launch_width","launch_height","_extends3","flexDirection","handleAlertBlur","handleAlertFocus","_iframeAllowances2","beforeAlertStyles","afterAlertStyles","_modal2","_modalContent2","onFocus","beforeAlert","afterAlert","TurnitinSettings","sPaperCheck","s_paper_check","internetCheck","internet_check","excludeBiblio","exclude_biblio","journalCheck","journal_check","excludeSmallMatchesType","exclude_small_matches_type","excludeSmallMatchesValue","exclude_small_matches_value","submitPapersTo","submit_papers_to","excludesSmallMatches","parseDates","datesToParse","dateString","isUndefined","formatDatetimeForDisplay","datetimeString","timezone","CONTEXT_TIMEZONE","isMidnight","disabledClass","PublishButton","hover",".publish-text","disable","setElement","keepState","isPublish","isDisabled","renderUnpublish","renderPublished","isUnpublish","isPublished","addAriaLabel","setFocusToElement","renderPublishing","enable","renderUnpublishing","flashError","$icon","publishLabel","publishText","unpublishLabel","unpublishText","cacheEls","$text","renderPublish","renderState","buttonClass","iconClass","disableWithMessage","disabledMessage","canvas_icon_class","icon_url","DateGroup","LockButtonView","lockClass","lockedClass","unlockClass","takenValues","calculateTakenValues","updateAvailableValues","removeModel","len1","takenValue","previousValue","previouslyAvailableValue","previouslyTakenValue","previousAttributes","keepBookmarks","getNormalizedPoint","outRng","rangeStart","rangeEnd","Bookmark","setupEndPoint","ListType","groupBy","wasType","htmlElement","HTMLElement","getParentList","selectionStart","getClosestListRootElm","isParentListSelected","parentList","findSubLists","findParentListItemsNodes","listItemsElms","parentLi","getSelectedListItems","parentTableCell","findLastParentListNode","parentLists","getSelectedLists","firstList","subsequentLists","getUniqueListRoots","lists","listRoots","getSelectedSubLists","getSelectedDlItems","getSelectedListRoots","selectedLists","find$1","TextBlock","contentNode","hasContentNode","SplitList","ul","bookmarks","removeAndKeepBookmarks","createSection","listType","joinSections","appendor","createJoinedSections","_loop_1","newSection","lastSection","normalizeSection","entry","listAttributes","createItem","writeShallow","outline","newOutline","depth","itemAttributes","populateSections","writeDeep","newSections","composeList","entries","isIndented","indentEntry","assimilateEntry","adherent","normalizeShallow","matchingEntryDepth","matchingEntry","normalizeDeep","normalizeEntries","getListType","OL","UL","DL","isList$1","hasFirstChildList","hasLastChildList","getItemContent","contentLength","createEntry","parseItem","itemSelection","selectionState","curriedParseList","parseList","updateSelectionState","itemRange","fromCurrentItem","fromChildList","newDepth","parseLists","sourceList","outdentedComposer","indentedComposer","composeEntries","indentSelectedEntries","getItemSelection","selectedListItems","listsIndentation","parsedLists","entrySet","outdentDlItem","dl","indentDlItem","dlIndentation","dlItems","selectionIndentation","indentListSelection","outdentListSelection","flattenListSelection","updateListStyle","updateListAttrs","updateListWithDetails","removeStyles","getEndPointNode","getSelectedTextBlocks","textBlocks","hasCompatibleStyle","sib","sibStyle","detailStyle","applyList","listItemName","listBlock","mergeWithAdjacentLists","isValidLists","list1","list2","hasSameListStyle","shouldMerge","elm2","updateList","newList","toggleMultipleLists","hasListStyleDetail","toggleSingleList","ToggleList","toggleList","selectedSubLists","normalizeList","NormalizeLists","findNextCaretContainer","nonEmptyBlocks","hasOnlyOneBlockChild","unwrapSingleBlockChild","moveChildren","mergeLiElements","listNode","mergeIntoEmptyLi","fromLi","toLi","mergeForward","mergeBackward","resolvedBookmark","backspaceDeleteFromListToListCaret","otherLi","selectionStartElm","removeBlock","backspaceDeleteIntoListCaret","otherLi_1","backspaceDelete","Delete","queryListCommandState","setupTabKey","Keyboard","findIndex$2","listState","tableCellIndex","hasPlugin","dialog_form_wrapper","save_settings","a_table_containing_the_name_of_the_grading_scheme__8e6d32f8","a_table_that_contains_the_grading_scheme_data_each_fe739bf6","accept_2fdd362e","access_token_3be22221","account_navigation_80bbefd4","actions_efcde10d","add_app_baf540f","add_grading_scheme_81e23c05","all_4321c3a1","all_changes_were_saved_f6f3ddcc","all_dates_fields_must_be_present_and_formatted_cor_3a0fe925","all_grading_periods_must_have_a_title_a1a38d87","all_start_dates_must_be_before_the_end_date_d949eca9","allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f","an_update_is_available_for_toolname_bba3fa2","anonymous_e1b8ad27","app_b157c2b3","app_placements_6d877225","app_reregistration_87cc8817","app_was_installed_by_admin_and_is_locked_3bee4d39","app_was_installed_by_the_master_course_and_is_lock_dbeb24a6","app_was_installed_by_the_master_course_e55ba1d7","apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531","are_you_sure_you_want_to_delete_this_grading_perio_422359cd","are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9","are_you_sure_you_want_to_remove_this_tool_7363f90b","assignment_edit_6dced39f","assignment_menu_91fe3716","assignment_selection_6bff05c4","assignment_view_1206a60b","back_to_app_center_95420d83","by_lti_2_registration_url_e421e523","by_url_a163275e","close_d634289d","close_date_a2f617b3","collaboration_71c024f4","config_url_e96ceaf3","configuration_type_25a084a4","configure_ecb97e30","configure_tool_app_3b1bb50b","configure_toolname_app_651371be","consumer_key_6f94ba11","context_contextname_24d82846","context_level_56d88f5b","count_apps_found_f4d86860","course_assignments_menu_fa6aeb23","course_home_sub_navigation_b1ee6b03","course_navigation_dd035109","course_settings_sub_navigation_b95deae","custom_fields_fc3e55af","delete_grading_period_dba36e59","delete_grading_scheme_6b308832","delete_tool_app_9c9f6d35","delete_toolname_app_85f9d4ee","description_436c48d7","disable_a5c05db3","disable_toolname_44d6397c","disabled_18c33a73","discussion_topic_menu_3d4684c6","dismiss_dacdb625","domain_3b54c511","e_mail_only_2cc5e513","edit_app_b0cc1c17","edit_grading_scheme_53091236","edit_toolname_app_23cfbb8","editor_button_6647db9c","either_the_url_or_domain_should_be_set_c29cf8c1","enable_6f5d1328","enable_toolname_dc64c25a","end_date_e0093ed7","enter_the_access_token_for_your_organization_from__38b84fd1","example_https_example_com_config_xml_be5f36ac","example_https_lti_tool_provider_example_herokuapp__e9802142","external_apps_f5490181","file_menu_cc0ca54","filter_by_name_34cbe139","global_navigation_8bee3501","grading_aa6de9","grading_period_name_31ceb3e3","grading_period_title_23b7f8ac","grading_period_weight_99b66906","grading_periods_81941e66","grading_periods_must_not_overlap_f45336fb","grading_scheme_deleted_7ae5a072","grading_scheme_saved_85535151","grading_schemes_1c3c3252","grading_standard_title_58f540a3","homework_submission_172e8354","insert_row_below_25187f89","installed_7b284a91","launch_external_tool_672c0409","launch_registration_tool_38d4781","launch_url_e150bd41","link_selection_1486c5d0","link_to_lti_tools_608df3b0","looks_great_e4d883ed","lower_limit_of_range_6ddd4983","lti_1_3_c84fd177","lti_1_3_tools_list_ac30b375","manage_app_list_994cc26c","manage_grading_schemes_in_context_name_e3678273","manage_update_23de23a1","manage_update_for_toolname_f8e3b2fb","manual_entry_e4a4f99a","message_896d2ed0","migration_selection_5f1c5f55","module_menu_3201af4e","name_1aed4a1b","name_app_has_been_deleted_fb2d9426","name_has_been_successfully_installed_but_has_not_y_c3148b96","name_is_currently_status_9065c996","name_only_5f56718e","no_cancel_installation_db8d12d7","no_grading_schemes_to_display_8b0e92e7","no_placements_enabled_f705f28","not_installed_37a21a76","one_per_line_format_name_value_79647700","page_menu_2f8bee0","paste_xml_cda3a64e","placements_5b5e056b","privacy_290109ea","public_a749f507","quiz_menu_4fcd5e61","range_56b2f310","range_name_90614433","registration_url_60e0eaaa","remove_row_c198da5a","reregister_9ab95a57","reregister_toolname_3dde0bfc","save_grading_period_daaaddea","see_some_lti_tools_that_work_great_with_canvas_53e92091","settings_5aa0fd0c","shared_secret_892c88f2","similarity_detection_dcada48","start_date_e937be8a","status_e7fdbe06","submit_a3cc6859","sync_grades_a16622ca","the_app_was_activated_a84e055f","the_app_was_added_58e2836a","the_app_was_added_successfully_3f785a23","the_app_was_deactivated_573520ab","the_app_was_updated_successfully_3d71cd1b","the_following_content_is_partner_provided_ed1da756","the_following_fields_are_invalid_fields_b3565800","the_grading_period_was_deleted_7814a349","the_preceding_content_is_partner_provided_d753928c","there_was_a_problem_deleting_the_grading_period_50ce07c5","there_was_a_problem_deleting_the_grading_scheme_2a959c40","there_was_a_problem_fetching_periods_bdc09a8f","there_was_a_problem_saving_the_grading_period_243bed6c","there_was_a_problem_saving_the_grading_scheme_5e6076e9","there_was_an_error_in_processing_your_request_6513a49a","there_was_an_unknown_error_registering_the_tool_b9a29954","there_were_errors_with_the_form_errors_ab5b559a","this_field_is_required_fa58c4a","this_field_name_is_required_988caebc","this_field_name_is_required_b9196401","this_tool_has_already_been_installed_in_this_conte_b73ea29c","to_35c6baa2","to_minscore_43e5452e","tool_configuration_63cd43b0","tool_content_e699e813","tool_placements_3f996c24","unable_to_accept_update_fd53a7e2","unable_to_dismiss_update_df1e32eb","unable_to_load_lti_1_3_tools_cf169f9","unable_to_remove_app_4293cb53","unchanged_aca18e02","update_tool_7d48ef2a","updating_6edbab78","upper_limit_of_range_c454a8f2","user_navigation_a097be0f","view_app_center_6c89a3fe","view_app_configurations_52b52441","view_name_app_62a2ad8e","view_toolname_placements_4a5724d1","we_were_unable_to_activate_the_app_578defe7","we_were_unable_to_add_the_access_token_1f471fe6","we_were_unable_to_add_the_app_418877ef","we_were_unable_to_deactivate_the_app_5e2632f3","we_were_unable_to_update_the_app_659f5bc6","weight_9b308e5b","would_you_like_to_accept_or_dismiss_this_update_9009d696","would_you_like_to_enable_this_app_ccdf735d","xml_configuration_5ea1b942","yes_install_tool_f51b3278","DefaultUrlMixin","AssignmentOverrideCollection","DateGroupCollection","PandaPubPoller","isAdmin","urlRoot","_defaultUrl","publishable","unpublishable","all_dates","turnitin_settings","vericite_settings","_hasOnlyType","isPage","isExternalTool","isNotGraded","isAssignment","_submissionTypes","assignmentType","_getAssignmentType","newDueDateRequired","newDescription","newName","secureParams","assignmentGroupId","canFreeze","frozen","isQuizLTIAssignment","inClosedGradingPeriod","freezeOnCopy","omitFromFinalGrade","omitFromFinalGradeBoolean","courseID","submissionTypes","submissionType","expectsSubmission","hasSubmittedSubmissions","acceptsOnlineUpload","acceptsOnlineURL","acceptsMediaRecording","acceptsOnlineTextEntries","isOnlineSubmission","thing","postToSisBoolean","moderatedGrading","anonymousInstructorAnnotations","anonymousInstructorAnnotationsBoolean","anonymousGrading","anonymousGradingBoolean","gradersAnonymousToGraders","anonymousGraders","graderCommentsVisibleToGraders","commentsVisible","peerReviews","peerReviewBoolean","anonymousPeerReviews","anonymousPeerReviewBoolean","automaticPeerReviews","autoPeerReviewBoolean","peerReviewCount","peerReviewsAssignAt","intraGroupPeerReviews","notifyOfUpdate","notifyOfUpdateBoolean","restrictFileExtensions","allowedExtensions","extensionsList","turnitinAvailable","vericiteAvailable","gradeGroupStudentsIndividually","setting","turnitinEnabled","vericiteEnabled","groupCategoryId","canGroup","gradingStandardId","externalToolUrl","tagAttributes","externalToolNewTab","new_tab","isLetterGraded","isGpaScaled","newPublished","iconType","objectType","htmlEditUrl","POST_TO_SIS","SIS_INTEGRATION_SETTINGS_ENABLED","MAX_NAME_LENGTH","MAX_NAME_LENGTH_REQUIRED_FOR_ACCOUNT","dateGroups","dateGroup","toISOString","isDuplicating","failedToDuplicate","originalCourseID","originalAssignmentName","isImporting","failedToImport","submissionTypesFrozen","is_master_course_child_content","restricted_by_master_course","ref2","_filterFrozenAttributes","MASTER_COURSE_DATA","alreadyScoped","inGradingPeriod","gradingPeriodsHelper","assignment_overrides","grade_group_students_individually","automatic_peer_reviews","peer_review_count","peer_reviews_assign_at","frozen_attributes","setNullDates","assignment_id","ajaxJSON","original_assignment_id","original_course_id","query_string","target_assignment_id","target_course_id","pollUntilFinishedDuplicating","interval","pollUntilFinished","pollUntilFinishedImporting","isFinished","poller","override_flag","showGradersAnonymousToGradersCheckbox","assignment_list_item_score","assignment_grading_type_is_not_graded","assignment_not_yet_graded_screenreader","empty_points_possible","no_submission","no_submission_for_assignment_screenreader","score_with_points_possible","score_with_points_possible_screenreader","excused_cf8792eb","not_yet_graded_40475341","this_assignment_has_been_excused_87f1dc13","createThunkMiddleware","extraArgument","withExtraArgument","__esModule","ModuleItemCollection","skip_items","itemCollection","module_id","setParam","canChangeWeights","_i18nCyoe_assignment_sidebar","GradingTypes","moduleNames","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","iterator","return","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","assignmentModuleNames","_underscore2","loadGradesFromSubmissions","submissions","submissionsHash","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_step4","_iterator4","spinner","program20","program30","program34","program32","program36","program18","ifEqual","n_pointsPossible","isTrigger","program37","isReleased","program39","program43","program41","program45","program49","program47","isCyoeAble","program51","program53","cyoe.releasedLabel","releasedLabel","program56","program54","is_master_course_master_content","available_date_description","available_until","not_available_until","_parseNumber","parseNumber","NaN","originalModule","webpackPolyfill","assignment_group_list","no_assignment_groups","viewBox","xmlns","xmlnsXlink","stroke","strokeWidth","fillRule","ValidatedMixin","ValidatedFormView","saveOpts","disableWhileLoadingOpts","dateOverrideErrors","disablingDfd","first_error","saveDfd","hideErrors","validateBeforeSave","saveFormData","onSaveFail","setFocusAfterError","dontRenableAfterSaveSuccess","parseErrorResponse","authenticity_token","parseJSON","error1","unsaved","castJSON","watchUnload","unwatchUnload","checkUnload","addIcon","hasNeverDrops","assignmentSyncSettingsTemplate","collapsedHeight","viewToggle","currentGradingPeriod","selected_id","error_message","success_message","grading_period_id","reload","unsaved_changes","AssignmentGroupWeightsTemplate","blur .group_weight_value","findWeight","group_select_330df8bd","item_select_fe0f320a","move_abf00365","place_b128fa94","place_title_2c183274","position_select_c2dd3980","select_one_b647b384","AssignmentCollection","newWeight","newRules","removeNeverDrops","aids","assignmentIds","intersection","depth1","selectedIf","programWithDepth","fixDialogButtons","$dialogAppendTarget","firstOpen","renderEl","firstRenderEl","dialog","setupDialog","focusable","$trigger","attachTrigger","renderElAgain","getDialogTitle","getAriaTitle","ariaID","autoOpen","focusReturnsTo","multiple_ba5220cd","upper_lower_56cad16c","pollInterval","rarePollInterval","pollCB","setToken","channel","pandapub","running","setOnData","streamingCB","lastUpdate","startTimeout","stopTimeout","isRunning","considerPoll","pollDone","subscription","VideoScript","prefixes","addPx","setSize","Size","getMaxWidth","getMaxHeight","setMaxWidth","setMaxHeight","getEphoxEmbedIri","isEphoxEmbed","htmlToDataSax","source1","movie","videoScript","source2","poster","ephoxEmbedHtmlToData","HtmlToData","Mime","mp3","wav","mp4","webm","ogg","swf","updatedAttrs","normalizeHtml","updateHtmlSax","updateAll","hasImage","sourceCount","imgAttrs","isEphoxEmbed$1","updateEphoxEmbed","UpdateHtml","urlPatterns","allowFullscreen","getUrl","matchPattern","getFlashHtml","getAudioHtml","audioTemplateCallback","source2mime","getVideoHtml","videoTemplateCallback","source1mime","getScriptHtml","DataToHtml","dataIn","embed","embedPromise","dataToHtml","rej","wrappedResolve","defaultPromise","loadedData","Service","embedHandler","doSyncSize","widthCtrl","heightCtrl","doSizeControls","constrained","doUpdateSize","isContrained","oldWidth","oldHeight","newHeight","updateSize","SizeManager","recalcSize","spacing","ariaLabel","embedChange","handleError","dataEmbed","data-ephox-embed-iri","getSource","addEmbedHtml","fromJSON","selectPlaceholder","beforeObjects","afterObjects","handleInsert","submitForm","populateMeta","Dialog","generalFormItems","filetype","autofocus","onpaste","onbeforecall","advancedFormItems","embedTextBox","flex","multiline","forId","showDialog","Sanitize","blocked","createPlaceholderNode","placeHolder","retainAttributesAndInnerHtml","data-mce-object","createPreviewIframeNode","previewWrapper","previewNode","shimNode","allowfullscreen","frameborder","sourceNode","innerHtml","isWithinEphoxEmbed","Nodes","FilterContent","boolAttrs","realElm","realElmName","ResolveName","selectedNode","prependToContext","assignmentSettingsTemplate","click #apply_assignment_group_weights","keyup .group_weight_value","weights","field_selector","weight_value","toggleTableByModel","addAssignmentGroups","new_weight","toggleWeightsTable","toggleTableByClick","total_weight","clearWeights","percentage","updateTotalWeight","_FlashAlert","MoveItemTray","onExited","focusTo","onMoveSelect","itemId","saveUrl","post","formatSaveData","_Tray2","closeButtonVariant","shouldContainFocus","_CloseButton2","_Heading2","_MoveSelect2","borders","typography","borderMedium","widthSmall","radiusMedium","backgroundLightest","textDarkest","fontWeightNormal","inputHeightSmall","fontSizeSmall","inputHeightMedium","fontSizeMedium","inputHeightLarge","fontSizeLarge","borderBrand","alpha","borderDanger","canvas","variables","getTargetList","editorSettings","target_list","getRelList","rel_list","getLinkClassList","link_class_list","link_assume_external_targets","link_context_toolbar","link_list","default_link_target","link_title","appendClickRemove","dispatchEvent","OpenUrl","createEvent","initMouseEvent","opener","toggleTargetRules","isUnsafe","removeTargetRules","addTargetRules","trimCaretContainers","getAnchorElement","isImageFigure","isLink","unlinkImageFigure","fig","linkImageFigure","attachState","anchorElm","linkAttrs","attach","createLinkList","linkList","delayedConfirm","initialText","onlyText","textListCtrl","linkListCtrl","relListCtrl","targetListCtrl","linkTitleCtrl","linkListChangeHandler","textCtrl","lastControl","updateText","inp","onkeyup","anchorList","buildAnchorListControl","assumeExternalTargets","insertLink","removeLink","resultData","getLink","getSelectedLink","getHref","isContextMenuVisible","contextmenu","hasOnlyAltModifier","gotoLink","targetEl","toggleVisibility","Controls","onpostrender","CollectionView","sortOptions","tolerance","zIndex","connectWith","forcePlaceholderSize","_noItemsViewIfEmpty","sortable","cid","modifyPlaceholder","_onReceive","_updateSort","disableSelection","noItems","searchItem","_getItemId","item_id","_removeFromGroup","_addToGroup","old_children","old_group_id","new_index","shouldSave","updateModels","_sendPositions","inView","models_to_update","movedDown","old_index","old_pos","slice_args","neue","ids",".assignment_count",".group_select","change .group_select","updateAssignmentCount","addToGroupOptions","removeFromGroupOptions","groups_json","$assignmentCount","$opt","$groupSelect","destroyModel","moveTo","destroyDfd","selectMove","_redux","createStoreWithMiddleware","ReduxThunk","rootReducer","an_error_occurred_making_a_network_request_d1bda348","details_98a31b68","_underscore","possibleStores","memory","sessionStorage","toKey","stringify","_len2","_key2","_len3","_key3","_len4","_key4","isBrandingEnabled","hasMenubar","getMenubar","hasStatusbar","getToolbarSize","getFixedToolbarContainer","getInlineToolbarPositionHandler","getMenu","getRemovedMenuItems","getMinWidth","getMinHeight","isSkinDisabled","skin","getResize","getSkinUrl","skinUrl","skin_url","skinName","getIndexedToolbars","defaultToolbar","toolbars","mainToolbar","getToolbars","A11y","getUiContainer","uiContainer","UiContainer","getUiContainerDelta","containerPos","setUiContainer","ui_container","inheritUiContainer","fromCtrl","toCtrl","createToolbar","buttonGroup","toolbarItems","bindSelectorChanged","disabledStateSelector","Toolbar","ariaRoot","toClientRect","geomRect","hideAllFloatingPanels","movePanelTo","togglePositionClass","relPos","userConstrain","elementRect","contentAreaRect","panelRect","ContextToolbars","getContextToolbars","getElementRect","shouldShow","relRect","testPositions","repositionHandler","findFrontMostMatch","bindScrollEvent","reposition_1","uiContainer_1","showContextToolbar","autohide","autofix","oncancel","renderTo","reflow","hideAllContextToolbars","defaultMenus","edit","tools","help","createMenuNameItemPair","hasItemName","namedMenuItems","namedMenuItem","cleanupMenu","removedMenuItems","menuItemsPass1","menuItemsPass2","createMenu","editorMenuItems","menus","menuButton","isUserDefined","getDefaultMenubar","defaultMenuBar","Menubar","menuButtons","menubar","enabledMenuNames","resizeTo","iframeElm","containerSize","iframeSize","Resize","dw","dh","sidebar","callbackName","hidePanels","visible","findSidebar","showPanel","btnCtrl","SkinLoaded","switchMode","editArea","editAreaContainer","Iframe","resizeHandleCtrl","startSize","skinUiCss","onResizeStart","onResize","brandingLabel","renderBefore","getWindowSize","getRuntimeStyle","isStatic","isFixed","calculateRelativePosition","ctrlElm","selfW","selfH","getWindowViewPort","getUiContainerViewPort","customUiContainer","Movable","testMoveRel","viewPortRect","moveBy","layoutRect","constrain","constrainToViewport","repaint","global$b","BoxUtils","computedStyle","getSide","ClassList","_map","_change","curState","clsValue","uniqueItems","__checked","Collection$1","expression","chunker","Selector","compileNameFilter","compileIdFilter","_name","compileClassesFilter","compileAttrFilter","cmp","compilePsuedoFilter","notSelectors","parseChunks","direct","_selectors","si","Collection$2","Binding","otherModel","otherName","fromSelfToOther","_bindings","global$c","isNode","animationFrameRequested","Control","ObservableObject","oldValue","dirtyCtrls","ReflowQueue","_layout","_id","hasMouseWheelEventSupport","hasWheelEventSupport","idCounter","proto$1","classPrefix","defaultClasses","applyClasses","_aria","_elmCache","borderBox","paddingBox","marginBox","getContainerElm","getParentCtrl","controlIdLookup","initLayoutRect","autoResize","startMinWidth","startMinHeight","initialSize","deltaW","deltaH","maxW","maxH","maxHeight","_layoutRect","contentW","contentH","innerW","innerH","minW","minH","scrollW","_lastLayoutRect","lastLayoutRect","repaintControls","curRect","bodyStyle","borderW","borderH","lastRepaintRect","_lastRepaintRect","_hasBody","updateLayoutRect","_lastRect","resolveCallbackName","parentControls","ariaTarget","newItems","controls","_eventsRoot","renderHtml","preRender","parentEventsRoot","_nativeEvents","bindPendingEvents","border-top-width","border-right-width","border-bottom-width","border-left-width","bindStates","parentCtrl","parentWidth","parentHeight","eventCtrl","eventRootCtrl","mouseLeaveHandler","_lastHoverCtrl","mouseEnterHandler","lastParents","lastCtrl","fixWheelEvent","wheelDelta","wheelDeltaX","eventRootDelegates","_delegates","_hasMouseEnter","Control$1","hasTabstopData","KeyboardNavigation","focusedElement","focusedControl","getRole","getParentRole","getAriaProp","isTextInputElement","canFocus","getFocusElements","getNavigationRoot","targetControl","navigationRoot","moveFocusToIndex","moveFocus","lastAriaIndex","submenu","parentRole","enter","tab","handleNonTabOrEscEvent","focusFirst","focusElements","selectorCache","Container","_items","bodyClasses","containerCls","focusCtrl","keyboardNav","oldItem","newItem","ctrlItems","defaultType","renderNew","curItems","beforeItems","afterItems","recalc","getDocumentSize","updateWithTouchData","changedTouches","DragHelper","$eventOverlay","downButton","handleElement","docSize","runtimeStyle","documentClickHandler","documentScrollHandler","windowResizeHandler","hasModal","Scrollable","renderScroll","repaintScroll","hasScrollH","hasScrollV","repaintAxis","axisName","posName","sizeName","contentSizeName","hasScroll","ax","scrollBarElm","scrollThumbElm","posNameLower","sizeNameLower","autoScroll","_hasScroll","addScrollAxis","deltaPosName","scrollStart","axisId","draghelper","addScroll","Panel","_preBodyHtml","Resizable","resizeToContent","resizeBy","visiblePanels","zOrder","skipOrHidePanels","clickCtrl","bindDocumentClickHandler","bindDocumentScrollHandler","repositionPanel","bindWindowResizeHandler","docElm_1","clientWidth_1","clientHeight_1","FloatPanel","scrollY$$1","toggleFixedChildPanels","_autoFixY","addRemove","topModal","modalBlockEl","currentZIndex","$modalBlockEl_1","prefix_1","popover","describedBy","removeVisiblePanel","bodyRole","isFixed$1","inlineToolbarContainer","Inline","fixedToolbarContainer","_fixed","bodyPos","scrollContainerPos","Throbber","ProgressState","throbber","Tooltip","Widget","Progress","setValue","updateLiveRegion","ctx","Notification","closeButton","notificationStyle","NotificationManagerImpl","getEditorContainer","prePositionNotifications","positionNotifications","firstItem","closeCallback","extendedArgs","notif","oldMetaValue","toggleFullScreenState","contentValue","checkFullscreenWindows","_fullscreen","Window$$1","pack","closeClass","needsRecalc","statusbar$$1","headerW","headEl","headerH","headerHtml","footerHtml","fullscreen","slowRendering","_timer","_initial","dragHelper","getContentWindow","lastSize_1","handleWindowResize","MessageBox","OK","OK_CANCEL","YES_NO","YES_NO_CANCEL","msgBox","createButton","status$$1","primary","subtype","onCancel","ThemeApi","features","choiceCallback","window$$1","Layout","firstControlClass","lastControlClass","containerClass","firstClass","lastClass","lastItem","controlClass","AbsoluteLayout","Button","btnStyle","btnElm","ariaPressed","textHtml","textCls","setButtonText","$span","iconElm","BrowseButton","accept","ButtonGroup","Checkbox","global$d","ComboBox","subinput","showMenu","statusLevel","statusMessage","lineHeight","openElm","innerPadding","inputElm","statusHtml","openBtnHtml","extraAttrs","showAutoComplete","previewUrl","hideMenu","statusIconElm","focusIdx","ColorBox","repaintColor","PanelButton","panelSettings","popoverAlign","ColorButton","onClickHandler","global$e","ColorPicker","hsv","hueRootElm","huePointElm","svRootElm","svPointElm","updateColor","hueUpdate","updateSaturationAndValue","updateHue","_repaint","_svdraghelper","_hdraghelper","rgb","_rendered","hueHtml","stops","gradientPrefix","stopsList","getOldIeFallbackHtml","DropZone","cfg","hidefocus","toggleDragClass","Path","_getDataPathHtml","ElementPath","elementpath","outParents","FormItem","Form","labelGap","formItem","recalcLabels","maxLabelWidth","labelCtrl","labelWidth","FieldSet","unique$1","isChildOfContentEditableTrue","getElementText","getOrGenerateId","isAnchor","isValidAnchor","isHeader","isValidHeader","getLevel","headerTarget","headerId","anchorTarget","anchorId","anchorText","getHeaderTargets","getAnchorTargets","getTargetElements","hasTitle","LinkTargets","history","toMenuItem","toMenuItems","staticMenuItem","isUniqueUrl","getSetting","createMenuItems","fileType","fromHistoryMenuItems","historyItems","uniqueHistory","fromMenuItems","filteredTargets","typeahead_urls","filterByQuery","anchorMenuItems","topAnchor","bottomAchor","addToHistory","lowerCaseTerm","getTitle","linkDetails","setupAutoCompleteHandler","autocomplete","linkTargets","statusToUiState","setupLinkValidatorHandler","validatorHandler","filepicker_validator_handler","uiState","FilePicker","clearHistory","actionCallback","fileBrowserCallback","fileBrowserCallbackTypes","file_picker_types","file_browser_callback_types","file_picker_callback","file_browser_callback","FitLayout","contLayoutRect","FlexLayout","contPaddingBox","contSettings","totalFlex","availableSpace","ctrlLayoutRect","maxSize","maxAlignEndPos","minSizeName","maxSizeName","beforeName","innerSizeName","deltaSizeName","alignAxisName","alignInnerSizeName","alignSizeName","alignMinSizeName","alignBeforeName","alignAfterName","alignDeltaSizeName","alignContentSizeName","maxSizeItems","maxFlexSize","FlowLayout","endClass","addFormatChangedListener","changed","postRenderFormatToggle","Align","alignFormats","alignMenuItems","onShowMenu","formatName","alignnone","getFirstFont","findMatchingValue","font","createFontNameListBoxChangeHandler","createFormats","getFontItems","fonts","font_formats","registerButtons","fixedWidth","FontSelect","findMatchingValue$1","createFontSizeListBoxChangeHandler","getFontSizeItems","fontsizeFormats","fontsize_formats","registerButtons$1","FontSizeSelect","hideMenuObjects","hideFormatMenuItems","createFormatMenu","newFormats","defaultStyleFormats","style_formats_merge","style_formats","itemDefaults","registerMenuItems","formatMenu","registerButtons$2","style_formats_autohide","Formats","createFormats$1","createListBoxChangeHandler","lazyFormatSelectBoxItems","buildMenuItems","FormatSelect","block_formats","createCustomMenuItems","nameList","isSeparator$1","trimMenuItems","menuItems2","createContextMenuItems","outputMenuItems","createInsertMenu","insertButtonItems","insert_button_items","registerButtons$3","oncreatemenu","InsertButton","registerFormatButtons","registerCommandButtons","outdent","selectall","visualaid","newdocument","registerCommandToggleButtons","registerButtons$4","registerMenuItems$1","SimpleControls","toggleUndoRedoState","checkState","typeFn","registerMenuItems$2","registerButtons$5","UndoRedo","toggleVisualAidState","registerMenuItems$3","VisualAid","setupEnvironment","setupUiContainer","setupRtlMode","setupHideFloatPanels","FormatControls","GridLayout","posX","posY","ctrlSettings","spacingH","spacingV","alignV","ctrlMinWidth","ctrlMinHeight","availableWidth","availableHeight","reverseRows","colWidths","rowHeights","ceil","flexV","packV","flexWidths","Iframe$1","InfoBox","severity","Label","strong","startMinH","targetCtrl","forName","Toolbar$1","MenuBar","isChildOf$1","MenuButton","_renderOpen","animate","activeMenu","menuLayoutRect","selfBottom","hasVisibleSiblingMenu","overCtrl","Menu","itemsFactory","hideThrobber","requestTime","_hasIcons","ListBox","selectedText","lastItemCtrl","_values","menuValues","valueExists","getSelectedItem","selectedItem","hasMenus","toggleTextStyle","_textStyle","textElm","MenuItem","_parentMenu","_lastRel","iconHtml","escapeRegExp","markMatches","boldMatches","convertShortcut","Radio","ResizeHandle","resizeDragHelper","createOptions","strOptions","SelectBox","_options","minVal","maxVal","setAriaProp","updateSliderHandle","shortSizeName","stylePosName","handleEl","orientation","_minValue","_maxValue","previewFilter","Slider","minValue","maxValue","_initValue","screenCordName","fromFraction","alter","handleKeyboard","startHandlePos","maxHandlePos","handlePos","_dragHelper","handleDrag","Spacer","SplitButton","mainButtonElm","menuButtonElm","_menuBtnText","StackLayout","TabPanel","activateTab","activeTabElm","activeTabId","tabsHtml","activeTab","targetParent","headH","TextBox","defaultDueDateSection","isDefaultDueDateSection","_objectSpread2","_SVGIcon","IconArrowOpenDown","glyphName","are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1","disabling_f594bda","Client","INST","pandaPubSettings","fullChannel","application_id","dfd","client","faye","authExtension","outgoing","auth","getScript","push_url","Faye","addExtension","tooltipsToShortCirtuit","shortCircutTooltip","tooltipUtils","setPosition","force_position","_htmlEscape2","_superApply","using","feedback","horizontal","vertical","important","$this","_sanitizeHtml2","timeoutTooltip","$s","model_id","prevAll","_updatePositions","new_position","_orderPositions","modelName","nameLengthComparison","dueAtNotValid","baseDueDateMissing","dueDateMissingDifferentiated","unlockedClass","LockButton",".lock-text","isMasterCourseMasterContent","isLocked","renderWillUnlock","renderWillLock","renderLocked","renderUnlocked","focusblur","unlock","renderLocking","setLockState","renderUnlocking","locked","restricted","closeTooltip","isMasterCourseChildContent","isMasterCourseContent","hint","removeFromOrder","removeAllFromOrder","_toConsumableArray3","cleanedOrder","NeverDropView","click .add_never_drop","triggerRender","addNeverDrop","isNumeric","parsed","isFinite","haveGradingScheme","grading_scheme","getGradingType","grading_type","percentToScore","percentToPoints","percentToLetterGrade","percentToExternalPercent","formatScore","transformScore","isUpperBound","strip_insignificant_zeros","points_possible","toFixed","letterGrade","letter","Infinity","i18nGrade","n_groupWeight_percentage","toSentence","ModuleItem","build","push_counters","push_counter","reverse_key","add_an_assignment_fb73942e","add_another_assignment_fc5c908f","a_name_is_required_b5df38a9","add_8523c19b","add_new_set_of_due_dates_e8e240f","add_students_by_searching_by_name_course_section_o_abb9e2f2","after_the_assignment_is_graded_53754607","after_the_due_date_eee89c9c","allow_moderator_to_review_multiple_independent_gra_c59d64f6","are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496","are_you_sure_you_want_to_delete_this_assignment_88be6f5e","assign_to_c46e21","assignment_group_1a781505","assignment_group_was_saved_successfully_5caa27d3","assignment_was_deleted_8320d26d","submit_assignment","cannot_delete_group","confirm_delete_group","drop_highest_rule","drop_lowest_rule","everyone_else","file_retrieval_error","getting_file","grade_gpa_scale_screenreader","grade_letter_grade_screenreader","grade_pass_fail_screenreader","grade_percent","grade_percent_screenreader","invalid_file_retrieval","keyboard_add_item","keyboard_close_menu","keyboard_del_item","keyboard_edit_item","keyboard_next_item","keyboard_prev_item","keyboard_show_assign","add_item","close_menu","del_item","edit_item","show_assign","agree_to_pledge","not_submitted_yet","now_overdue","record_before_submitting","submit_failed","submitting","name_is_required","never_drop_rule","no_tools_found","overdue_assignments","past_assignments","points_possible_number","processing_submission","remove_never_drop_rule","remove_unsaved_never_drop_rule","rules_text","titles","add_assignment_group","uploading","toggle_message","undated_assignments","upcoming_assignments","attached_files_must_be_greater_than_0_bytes_7f57bee7","available_from_f84e4611","base_message_please_make_sure_name_has_a_due_date_928ae7ab","base_message_please_make_sure_name_has_a_due_date__9e9b0cfd","base_message_please_make_sure_name_name_is_not_too_d0c9454f","can_t_unpublish_name_if_there_are_student_submissi_8ab8086c","changes_you_made_may_not_be_saved_4e8db973","continue_typing_to_find_additional_sections_or_stu_49786085","count_assignments_found_17520826","course_section_7a988066","currently_assigned_to_tokenname_click_to_remove_5a853a84","disabling_sync_to_name_failed_e7521ebb","due_a73610f6","due_date_cannot_be_after_lock_date_675b30aa","due_date_cannot_be_before_unlock_date_f263aab0","due_date_set_1c6364db","edit_assignment_ebf22a72","no_attached_file","wrong_file_extension","everyone_854554dd","everyone_else_6c6dc7b6","file_tree_collapsed_d4b0ae96","file_tree_expanded_a1d20c4a","final_grader_can_view_other_grader_names_67736530","grader_that_determines_final_grade_cc55f20","graders_can_view_each_other_s_comments_d836b848","group_a8f5ed9c","immediately_c128ede6","keep_in_mind_this_submission_will_count_for_everyo_bb526d67","loading_25990131","moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7","moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1","moderated_grading_e6127f72","moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2","move_assignment_6f890f64","move_contents_into_f3e4fd9d","move_group_3dd7f76e","must_be_a_valid_number_59f0069","must_have_at_least_1_grader_d4a54e85","name_is_locked_click_to_unlock_7aad9928","name_is_too_long_48daa8db","name_is_too_long_must_be_under_length_characters_b8dad44c","name_is_unlocked_click_to_lock_b8b9a2c8","never_df100b49","no_results_found_58717065","number_of_graders_cde8dd54","remove_empty_attachment_b2aea632","remove_filename_87f3781e","remove_these_dates_48453a81","searching_b0207e7f","select_grader_782af48","selected_filename_7552a8c0","show_by_709f525b","show_by_date_e3967761","show_by_type_c5d61732","student_5da6bfd1","sync_to_name_disabled_click_to_toggle_53a1396f","sync_to_name_enabled_click_to_toggle_ddaef134","sync_to_name_successfully_disabled_8045ad95","the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5","the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb","the_launched_tool_returned_an_invalid_resource_for_24512878","there_are_currently_maxgradercount_available_grade_9ab81123","there_is_currently_1_available_grader_758e4a21","until_4a1f8cda","use_this_list_to_remove_assigned_students_add_new__ad6205ad","you_cannot_use_a_number_greater_than_the_number_of_af33e220","you_must_use_a_number_912ce4bd","you_must_use_a_positive_number_203b86fe","show_report_to_students_a07888a6","you_must_select_an_assignment_group_c16a2168","onWeightedToggle","onLaunchTool","renderWeightIcon","renderDisablePostToSis","disableTrigger","aria-label","data-focus-returns-to","renderTools","toolsUrl","refs","_ExternalToolModalLauncher2","course_assignments_menu","rootContainer","ROOT_ID","_MoveItemTray2","tray","reorderElements","idToItemSelector","itemMap","getItems","collId","newColl","asg","_i18nFormat_range","_score","isEnabled","CONDITIONAL_RELEASE_SERVICE_ENABLED","parseEnvData","activeRules","CONDITIONAL_RELEASE_ENV","active_rules","triggerAssignments","triggers","trigger_assignment","releasedAssignments","released","scoring_ranges","assignment_sets","trigger_assignment_model","upper_bound","lower_bound","asgId","formatRange","upper","lower","reloadEnv","click .save_and_publish","click .more_options","blur .points_possible","generateNewAssignment","shouldPublish","unfudged","unfudgeDateForProfileTimezone","_getDueAt","saveAndPublish","moreOptions","dataParams","newQuizUrl","redirectTo","newAssignmentUrl","doRestrictionsApply","currentUserIsAdmin","timeField","datetime_field","new_quiz_url","_validateTitle","_validatePointsPossible","_validateDueDate","max_name_length","_dueAtHasChanged","setSeconds","getMinutes","getSeconds","newDueAt","originalDueAt","validRange","VALID_DATE_RANGE","validateDatetimes","roundPointsPossible"],"mappings":"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","file":"assignment_index.bundle-ba31825298.js","sourcesContent":["// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"حذف\"}},\"cancel_caeb1e68\":\"إلغاء\",\"cancel_duplicating_originalassignmentname_fd7ee1d8\":\"إلغاء تكرار \\\"%{originalAssignmentName}\\\"\",\"cancel_importing_name_a0b6f3e1\":\"إلغاء الاستيراد \\\"%{name}\\\"\",\"delete_assignment_name_deec56e3\":\"حذف المهمة %{name}\",\"duplicate_31cec192\":\"تكرار\",\"duplicate_assignment_name_3ca7d753\":\"تكرار المهمة %{name}\",\"edit_assignment_name_a8f7fae1\":\"تحرير المهمة %{name}\",\"edit_assignment_name_mastery_paths_40b50541\":\"تحرير مسارات إتقان %{name} للمهام\",\"edit_c5fbea07\":\"تحرير\",\"edit_mastery_paths_for_name_c9fc59f9\":\"تحرير مسارات الإتقان لـ %{name}\",\"importing_name_8f2b131d\":\"استيراد \\\"%{name}\\\"\",\"making_a_copy_of_originalassignmentname_b7268992\":\"جار إنشاء نسخة من \\\"%{originalAssignmentName}\\\"\",\"mastery_paths_cc4096c2\":\"مسارات الإتقان\",\"module_90d9fd32\":\"الوحدة\",\"move_assignment_name_aa253f26\":\"نقل المهمة %{name}\",\"move_to_9b91c6e0\":\"نقل إلى...\",\"multiple_modules_930713d4\":\"وحدات متعددة\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} النقاط الممكنة\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} نقاط\",\"no_points_possible_368669d\":\"لا توجد نقاط ممكنة\",\"oops_something_went_wrong_importing_name_d382cac1\":\"عذراً! حدث خطأ ما أثناء استيراد \\\"%{name}\\\"\",\"oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695\":\"عذراً! حدث خطأ ما عند إنشاء نسخة من \\\"%{originalAssignmentName}\\\"\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"تم إصداره بواسطة مسار الإجادة: %{cyoe.releasedLabel}\",\"retry_duplicating_originalassignmentname_884aee1\":\"إعادة محاولة تكرار \\\"%{originalAssignmentName}\\\"\",\"retry_ebd5f8ba\":\"إعادة المحاولة\",\"settings_for_assignment_name_c19565e1\":\"إعدادات المهمة %{name}\",\"you_do_not_have_permissions_to_edit_this_moderated_3195294f\":\"ليس لديك الأذونات اللازمة لتحرير هذه المهمة قيد الإشراف\"},\"cy\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"Dileu\"}},\"cancel_caeb1e68\":\"Canslo\",\"cancel_duplicating_originalassignmentname_fd7ee1d8\":\"Canslo dyblygu \\\"%{originalAssignmentName}”\",\"cancel_importing_name_a0b6f3e1\":\"Canslo mewngludo \\\"%{name}\\\"\",\"delete_assignment_name_deec56e3\":\"Dileu Aseiniad %{name}\",\"duplicate_31cec192\":\"Dyblygu\",\"duplicate_assignment_name_3ca7d753\":\"Dyblygu Aseiniad %{name}\",\"edit_assignment_name_a8f7fae1\":\"Golygu Aseiniad %{name}\",\"edit_assignment_name_mastery_paths_40b50541\":\"Golygu Llwybrau Meistroli %{name} ar gyfer Aseiniad\",\"edit_c5fbea07\":\"Golygu\",\"edit_mastery_paths_for_name_c9fc59f9\":\"Golygu Llwybrau Meistroli ar gyfer %{name}\",\"importing_name_8f2b131d\":\"Wrthi’n mewngludo \\\"%{name}\\\"\",\"making_a_copy_of_originalassignmentname_b7268992\":\"Gwneud copi o \\\"%{originalAssignmentName}\\\"\",\"mastery_paths_cc4096c2\":\"Llwybrau Meistroli\",\"module_90d9fd32\":\"Modiwl\",\"move_assignment_name_aa253f26\":\"Symud Aseiniad %{name}\",\"move_to_9b91c6e0\":\"Symud I…\",\"multiple_modules_930713d4\":\"Mwy nag un Modiwl\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} Pwynt yn bosib\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} pwynt\",\"no_points_possible_368669d\":\"Dim Pwynt yn bosib\",\"oops_something_went_wrong_importing_name_d382cac1\":\"Wps! Aeth rhywbeth o’i le wrth fewngludo \\\"%{name}\\\"\",\"oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695\":\"Wps! Aeth rhywbeth o’i le wrth wneud copi o \\\"%{originalAssignmentName}\\\"\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"Rhyddhawyd gan y Llwybr Meistroli: %{cyoe.releasedLabel}\",\"retry_duplicating_originalassignmentname_884aee1\":\"Rhoi cynnig arall ar ddyblygu \\\"%{originalAssignmentName}\\\"\",\"retry_ebd5f8ba\":\"Ailgynnig\",\"settings_for_assignment_name_c19565e1\":\"Gosodiadau ar gyfer Aseiniad %{name}\",\"you_do_not_have_permissions_to_edit_this_moderated_3195294f\":\"Does gennych chi ddim hawl i olygu’r aseiniad wedi’i safoni hwn\"},\"da\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"Slet\"}},\"cancel_caeb1e68\":\"Annuller\",\"cancel_duplicating_originalassignmentname_fd7ee1d8\":\"Annuller duplikering af \\\"%{originalAssignmentName}”\",\"cancel_importing_name_a0b6f3e1\":\"Annuller import af \\\"%{name}\\\"\",\"delete_assignment_name_deec56e3\":\"Slet opgave %{name}\",\"duplicate_31cec192\":\"Dupliker\",\"duplicate_assignment_name_3ca7d753\":\"Duplikeret opgave %{name}\",\"edit_assignment_name_a8f7fae1\":\"Rediger opgave %{name}\",\"edit_assignment_name_mastery_paths_40b50541\":\"Rediger opgave %{name} læringsstier\",\"edit_c5fbea07\":\"Rediger\",\"edit_mastery_paths_for_name_c9fc59f9\":\"Rediger læringsstier for %{name}\",\"importing_name_8f2b131d\":\"Importerer \\\"%{name}\\\"\",\"making_a_copy_of_originalassignmentname_b7268992\":\"Laver en kopi af \\\"%{originalAssignmentName}\\\"\",\"mastery_paths_cc4096c2\":\"Læringsstier\",\"module_90d9fd32\":\"Modul\",\"move_assignment_name_aa253f26\":\"Flyt opgave %{name}\",\"move_to_9b91c6e0\":\"Flyt til ...\",\"multiple_modules_930713d4\":\"Flere moduler\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} Mulige point\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} point\",\"no_points_possible_368669d\":\"Ingen mulige point\",\"oops_something_went_wrong_importing_name_d382cac1\":\"Ups! Noget gik galt ved import af \\\"%{name}\\\"\",\"oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695\":\"Ups! Noget gik galt med at lave en kopi af \\\"%{originalAssignmentName}\\\"\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"Udgivet af læringssti: %{cyoe.releasedLabel}\",\"retry_duplicating_originalassignmentname_884aee1\":\"Prøv at duplikere \\\"%{originalAssignmentName}” igen\",\"retry_ebd5f8ba\":\"Prøv igen\",\"settings_for_assignment_name_c19565e1\":\"Indstillinger for opgave %{name}\",\"you_do_not_have_permissions_to_edit_this_moderated_3195294f\":\"Du har ikke tilladelser til at redigere denne bedømte opgave\"},\"da-x-k12\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"Slet\"}},\"cancel_caeb1e68\":\"Annuller\",\"cancel_duplicating_originalassignmentname_fd7ee1d8\":\"Annuller duplikering \\\"%{originalAssignmentName}\\\"\",\"cancel_importing_name_a0b6f3e1\":\"Annuller import \\\"%{name}\\\"\",\"delete_assignment_name_deec56e3\":\"Slet opgave %{name}\",\"duplicate_31cec192\":\"Dupliker\",\"duplicate_assignment_name_3ca7d753\":\"Duplikeret opgave %{name}\",\"edit_assignment_name_a8f7fae1\":\"Rediger opgave %{name}\",\"edit_assignment_name_mastery_paths_40b50541\":\"Rediger opgave %{name} læringsstier\",\"edit_c5fbea07\":\"Rediger\",\"edit_mastery_paths_for_name_c9fc59f9\":\"Rediger læringsstier for %{name}\",\"importing_name_8f2b131d\":\"Importerer \\\"%{name}\\\"\",\"making_a_copy_of_originalassignmentname_b7268992\":\"Lav en kopi af \\\"%{originalAssignmentName}\\\"\",\"mastery_paths_cc4096c2\":\"Læringsstier\",\"module_90d9fd32\":\"Forløb\",\"move_assignment_name_aa253f26\":\"Flyt opgave %{name}\",\"move_to_9b91c6e0\":\"Flyt til ...\",\"multiple_modules_930713d4\":\"Flere forløb\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} Mulige point\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} point\",\"no_points_possible_368669d\":\"Ingen mulige point\",\"oops_something_went_wrong_importing_name_d382cac1\":\"Ups! Noget gik galt ved import af \\\"%{name}\\\"\",\"oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695\":\"Ups! Noget gik galt med at lave en kopi af \\\"%{originalAssignmentName}\\\"\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"Udgivet af læringssti: %{cyoe.releasedLabel}\",\"retry_duplicating_originalassignmentname_884aee1\":\"Prøv duplikering af \\\"%{originalAssignmentName}\\\" igen\",\"retry_ebd5f8ba\":\"Prøv igen\",\"settings_for_assignment_name_c19565e1\":\"Indstillinger for opgave %{name}\"},\"de\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"Löschen\"}},\"cancel_caeb1e68\":\"Abbrechen\",\"cancel_duplicating_originalassignmentname_fd7ee1d8\":\"Duplizieren von „%{originalAssignmentName}“ stornieren\",\"cancel_importing_name_a0b6f3e1\":\"Import von %{name} abgebrochen\",\"delete_assignment_name_deec56e3\":\"Aufgabe %{name} löschen\",\"duplicate_31cec192\":\"Duplizieren\",\"duplicate_assignment_name_3ca7d753\":\"Aufgabe duplizieren %{name}\",\"edit_assignment_name_a8f7fae1\":\"Aufgabe %{name} bearbeiten\",\"edit_assignment_name_mastery_paths_40b50541\":\"Leistungsziel-Pfade der Aufgabe %{name} ändern\",\"edit_c5fbea07\":\"Ändern\",\"edit_mastery_paths_for_name_c9fc59f9\":\"Leistungsziel-Pfade ändern für %{name}\",\"importing_name_8f2b131d\":\"„%{name}“ wird importiert\",\"making_a_copy_of_originalassignmentname_b7268992\":\"Eine Kopie von „%{originalAssignmentName}“ erstellen\",\"mastery_paths_cc4096c2\":\"Leistungsziel-Pfade\",\"module_90d9fd32\":\"Modul\",\"move_assignment_name_aa253f26\":\"Verschieben der Aufgabe %{name}\",\"move_to_9b91c6e0\":\"Verschieben nach ...\",\"multiple_modules_930713d4\":\"Mehrere Module\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} Mögliche Punkte\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} Pkte.\",\"no_points_possible_368669d\":\"Keine Punkte möglich\",\"oops_something_went_wrong_importing_name_d382cac1\":\"Hoppla! Etwas ging schief beim Importieren von „%{name}“.\",\"oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695\":\"Hoppla! Das Erstellen einer Kopie von \\\"%{originalAssignmentName}\\\" schlug fehl.\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"Aktiviert vom Leistungsziel-Pfad: %{cyoe.releasedLabel}\",\"retry_duplicating_originalassignmentname_884aee1\":\"Erneuter Versuch, „%{originalAssignmentName}“ zu duplizieren\",\"retry_ebd5f8ba\":\"Erneut versuchen\",\"settings_for_assignment_name_c19565e1\":\"Einstellungen für Aufgabe %{name}\",\"you_do_not_have_permissions_to_edit_this_moderated_3195294f\":\"Sie sind nicht berechtigt, diese moderierte Aufgabe zu ändern.\"},\"el\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"Διαγραφή\"}},\"cancel_caeb1e68\":\"Ακύρωση\",\"edit_c5fbea07\":\"Διαμόρφωση\",\"module_90d9fd32\":\"Ενότητα\",\"retry_ebd5f8ba\":\"Δοκιμάστε ξανά\"},\"en-AU\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"Delete\"}},\"cancel_caeb1e68\":\"Cancel\",\"cancel_duplicating_originalassignmentname_fd7ee1d8\":\"Cancel duplicating \\\"%{originalAssignmentName}\\\"\",\"cancel_importing_name_a0b6f3e1\":\"Cancel importing \\\"%{name}\\\"\",\"delete_assignment_name_deec56e3\":\"Delete Assignment %{name}\",\"duplicate_31cec192\":\"Duplicate\",\"duplicate_assignment_name_3ca7d753\":\"Duplicate Assignment %{name}\",\"edit_assignment_name_a8f7fae1\":\"Edit Assignment %{name}\",\"edit_assignment_name_mastery_paths_40b50541\":\"Edit Assignment %{name} Mastery Paths\",\"edit_c5fbea07\":\"Edit\",\"edit_mastery_paths_for_name_c9fc59f9\":\"Edit Mastery Paths for %{name}\",\"importing_name_8f2b131d\":\"Importing \\\"%{name}\\\"\",\"making_a_copy_of_originalassignmentname_b7268992\":\"Making a copy of \\\"%{originalAssignmentName}\\\"\",\"mastery_paths_cc4096c2\":\"Mastery Paths\",\"module_90d9fd32\":\"Module\",\"move_assignment_name_aa253f26\":\"Move Assignment %{name}\",\"move_to_9b91c6e0\":\"Move To…\",\"multiple_modules_930713d4\":\"Multiple Modules\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} Points Possible\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} pts\",\"no_points_possible_368669d\":\"No Points Possible\",\"oops_something_went_wrong_importing_name_d382cac1\":\"Oops! Something went wrong importing \\\"%{name}\\\"\",\"oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695\":\"Oops! Something went wrong with making a copy of \\\"%{originalAssignmentName}\\\"\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"Released by Mastery Path: %{cyoe.releasedLabel}\",\"retry_duplicating_originalassignmentname_884aee1\":\"Retry duplicating \\\"%{originalAssignmentName}\\\"\",\"retry_ebd5f8ba\":\"Retry\",\"settings_for_assignment_name_c19565e1\":\"Settings for Assignment %{name}\",\"you_do_not_have_permissions_to_edit_this_moderated_3195294f\":\"You do not have permissions to edit this moderated assignment\"},\"en-CA\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"Delete\"}},\"cancel_caeb1e68\":\"Cancel\",\"cancel_duplicating_originalassignmentname_fd7ee1d8\":\"Cancel duplicating \\\"%{originalAssignmentName}\\\"\",\"cancel_importing_name_a0b6f3e1\":\"Cancel importing \\\"%{name}\\\"\",\"delete_assignment_name_deec56e3\":\"Delete Assignment %{name}\",\"duplicate_31cec192\":\"Duplicate\",\"duplicate_assignment_name_3ca7d753\":\"Duplicate Assignment %{name}\",\"edit_assignment_name_a8f7fae1\":\"Edit Assignment %{name}\",\"edit_assignment_name_mastery_paths_40b50541\":\"Edit Assignment %{name} Mastery Paths\",\"edit_c5fbea07\":\"Edit\",\"edit_mastery_paths_for_name_c9fc59f9\":\"Edit Mastery Paths for %{name}\",\"importing_name_8f2b131d\":\"Importing \\\"%{name}\\\"\",\"making_a_copy_of_originalassignmentname_b7268992\":\"Making a copy of \\\"%{originalAssignmentName}\\\"\",\"mastery_paths_cc4096c2\":\"Mastery Paths\",\"module_90d9fd32\":\"Module\",\"move_assignment_name_aa253f26\":\"Move Assignment %{name}\",\"move_to_9b91c6e0\":\"Move To…\",\"multiple_modules_930713d4\":\"Multiple Modules\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} Points Possible\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} pts\",\"no_points_possible_368669d\":\"No Points Possible\",\"oops_something_went_wrong_importing_name_d382cac1\":\"Oops! Something went wrong importing \\\"%{name}\\\"\",\"oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695\":\"Oops! Something went wrong with making a copy of \\\"%{originalAssignmentName}\\\"\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"Released by Mastery Path: %{cyoe.releasedLabel}\",\"retry_duplicating_originalassignmentname_884aee1\":\"Retry duplicating \\\"%{originalAssignmentName}\\\"\",\"retry_ebd5f8ba\":\"Retry\",\"settings_for_assignment_name_c19565e1\":\"Settings for Assignment %{name}\",\"you_do_not_have_permissions_to_edit_this_moderated_3195294f\":\"You do not have permissions to edit this moderated assignment\"},\"en-GB\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"Delete\"}},\"cancel_caeb1e68\":\"Cancel\",\"cancel_duplicating_originalassignmentname_fd7ee1d8\":\"Cancel duplicating \\\"%{originalAssignmentName}\\\"\",\"cancel_importing_name_a0b6f3e1\":\"Cancel importing \\\"%{name}\\\"\",\"delete_assignment_name_deec56e3\":\"Delete assignment %{name}\",\"duplicate_31cec192\":\"Duplicate\",\"duplicate_assignment_name_3ca7d753\":\"Duplicate Assignment %{name}\",\"edit_assignment_name_a8f7fae1\":\"Edit assignment %{name}\",\"edit_assignment_name_mastery_paths_40b50541\":\"Edit Assignment %{name} Mastery Paths\",\"edit_c5fbea07\":\"Edit\",\"edit_mastery_paths_for_name_c9fc59f9\":\"Edit Mastery Paths for %{name}\",\"importing_name_8f2b131d\":\"Importing \\\"%{name}\\\"\",\"making_a_copy_of_originalassignmentname_b7268992\":\"Making a copy of \\\"%{originalAssignmentName}\\\"\",\"mastery_paths_cc4096c2\":\"Mastery paths\",\"module_90d9fd32\":\"Module\",\"move_assignment_name_aa253f26\":\"Move assignment %{name}\",\"move_to_9b91c6e0\":\"Move to…\",\"multiple_modules_930713d4\":\"Multiple modules\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} Points possible\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} Pts\",\"no_points_possible_368669d\":\"No points possible\",\"oops_something_went_wrong_importing_name_d382cac1\":\"Whoops! Something went wrong importing \\\"%{name}\\\"\",\"oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695\":\"Whoops! Something went wrong with making a copy of \\\"%{originalAssignmentName}\\\"\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"Released by mastery path: %{cyoe.releasedLabel}\",\"retry_duplicating_originalassignmentname_884aee1\":\"Retry duplicating \\\"%{originalAssignmentName}\\\"\",\"retry_ebd5f8ba\":\"Retry\",\"settings_for_assignment_name_c19565e1\":\"Settings for assignment %{name}\",\"you_do_not_have_permissions_to_edit_this_moderated_3195294f\":\"You do not have permissions to edit this moderated assignment\"},\"en-GB-x-lbs\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"Delete\"}},\"cancel_caeb1e68\":\"Cancel\",\"cancel_duplicating_originalassignmentname_fd7ee1d8\":\"Cancel duplicating \\\"%{originalAssignmentName}\\\"\",\"cancel_importing_name_a0b6f3e1\":\"Cancel importing \\\"%{name}\\\"\",\"delete_assignment_name_deec56e3\":\"Delete task %{name}\",\"duplicate_31cec192\":\"Duplicate\",\"duplicate_assignment_name_3ca7d753\":\"Duplicate Task %{name}\",\"edit_assignment_name_a8f7fae1\":\"Edit task %{name}\",\"edit_assignment_name_mastery_paths_40b50541\":\"Edit Task %{name} Mastery Paths\",\"edit_c5fbea07\":\"Edit\",\"edit_mastery_paths_for_name_c9fc59f9\":\"Edit Mastery Paths for %{name}\",\"importing_name_8f2b131d\":\"Importing \\\"%{name}\\\"\",\"making_a_copy_of_originalassignmentname_b7268992\":\"Making a copy of \\\"%{originalAssignmentName}\\\"\",\"mastery_paths_cc4096c2\":\"Mastery paths\",\"module_90d9fd32\":\"Module\",\"move_assignment_name_aa253f26\":\"Move task %{name}\",\"move_to_9b91c6e0\":\"Move to…\",\"multiple_modules_930713d4\":\"Multiple modules\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} Points possible\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} Pts\",\"no_points_possible_368669d\":\"No points possible\",\"oops_something_went_wrong_importing_name_d382cac1\":\"Whoops! Something went wrong importing \\\"%{name}\\\"\",\"oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695\":\"Whoops! Something went wrong with making a copy of \\\"%{originalAssignmentName}\\\"\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"Released by mastery path: %{cyoe.releasedLabel}\",\"retry_duplicating_originalassignmentname_884aee1\":\"Retry duplicating \\\"%{originalAssignmentName}\\\"\",\"retry_ebd5f8ba\":\"Retry\",\"settings_for_assignment_name_c19565e1\":\"Settings for task %{name}\",\"you_do_not_have_permissions_to_edit_this_moderated_3195294f\":\"You do not have permissions to edit this moderated task\"},\"en-GB-x-ukhe\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"Delete\"}},\"cancel_caeb1e68\":\"Cancel\",\"cancel_duplicating_originalassignmentname_fd7ee1d8\":\"Cancel duplicating \\\"%{originalAssignmentName}\\\"\",\"cancel_importing_name_a0b6f3e1\":\"Cancel importing \\\"%{name}\\\"\",\"delete_assignment_name_deec56e3\":\"Delete assignment %{name}\",\"duplicate_31cec192\":\"Duplicate\",\"duplicate_assignment_name_3ca7d753\":\"Duplicate Assignment %{name}\",\"edit_assignment_name_a8f7fae1\":\"Edit assignment %{name}\",\"edit_assignment_name_mastery_paths_40b50541\":\"Edit Assignment %{name} Mastery Paths\",\"edit_c5fbea07\":\"Edit\",\"edit_mastery_paths_for_name_c9fc59f9\":\"Edit Mastery Paths for %{name}\",\"importing_name_8f2b131d\":\"Importing \\\"%{name}\\\"\",\"making_a_copy_of_originalassignmentname_b7268992\":\"Making a copy of \\\"%{originalAssignmentName}\\\"\",\"mastery_paths_cc4096c2\":\"Mastery paths\",\"module_90d9fd32\":\"Unit\",\"move_assignment_name_aa253f26\":\"Move assignment %{name}\",\"move_to_9b91c6e0\":\"Move to…\",\"multiple_modules_930713d4\":\"Multiple units\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} Points possible\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} Pts\",\"no_points_possible_368669d\":\"No points possible\",\"oops_something_went_wrong_importing_name_d382cac1\":\"Whoops! Something went wrong importing \\\"%{name}\\\"\",\"oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695\":\"Whoops! Something went wrong with making a copy of \\\"%{originalAssignmentName}\\\"\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"Released by mastery path: %{cyoe.releasedLabel}\",\"retry_duplicating_originalassignmentname_884aee1\":\"Retry duplicating \\\"%{originalAssignmentName}\\\"\",\"retry_ebd5f8ba\":\"Retry\",\"settings_for_assignment_name_c19565e1\":\"Settings for assignment %{name}\",\"you_do_not_have_permissions_to_edit_this_moderated_3195294f\":\"You do not have permissions to edit this moderated assignment\"},\"es\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"Eliminar\"}},\"cancel_caeb1e68\":\"Cancelar\",\"cancel_duplicating_originalassignmentname_fd7ee1d8\":\"Cancelar duplicación de \\\"%{originalAssignmentName}\\\"\",\"cancel_importing_name_a0b6f3e1\":\"Cancelar importación de \\\"%{name}\\\"\",\"delete_assignment_name_deec56e3\":\"Eliminar la tarea %{name}\",\"duplicate_31cec192\":\"Duplicado\",\"duplicate_assignment_name_3ca7d753\":\"Tarea duplicada %{name}\",\"edit_assignment_name_a8f7fae1\":\"Editar la tarea %{name}\",\"edit_assignment_name_mastery_paths_40b50541\":\"Editar rutas de dominio de %{name} de tarea\",\"edit_c5fbea07\":\"Editar\",\"edit_mastery_paths_for_name_c9fc59f9\":\"Editar las rutas de dominio de %{name}\",\"importing_name_8f2b131d\":\"Importando \\\"%{name}\\\"\",\"making_a_copy_of_originalassignmentname_b7268992\":\"Haciendo una copia de \\\"%{originalAssignmentName}\\\"\",\"mastery_paths_cc4096c2\":\"Caminos de dominio\",\"module_90d9fd32\":\"Módulo\",\"move_assignment_name_aa253f26\":\"Mover la tarea %{name}\",\"move_to_9b91c6e0\":\"Mover a...\",\"multiple_modules_930713d4\":\"Varios módulos\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} Puntos posibles\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} pts\",\"no_points_possible_368669d\":\"Ningún punto posible\",\"oops_something_went_wrong_importing_name_d382cac1\":\"¡Ups! Algo salió mal durante la importación de \\\"%{name}\\\"\",\"oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695\":\"¡Ups! Se produjo un error al intentar hacer una copia de \\\"%{originalAssignmentName}\\\"\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"Por camino hacia el dominio: %{cyoe.releasedLabel}\",\"retry_duplicating_originalassignmentname_884aee1\":\"Volver a intentar duplicar \\\"%{originalAssignmentName}\\\"\",\"retry_ebd5f8ba\":\"Inténtelo de nuevo\",\"settings_for_assignment_name_c19565e1\":\"Configuraciones para tareas %{name}\",\"you_do_not_have_permissions_to_edit_this_moderated_3195294f\":\"No tiene permiso para editar esta tarea moderada\"},\"fa\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"حذف\"}},\"cancel_caeb1e68\":\"لغو\",\"delete_assignment_name_deec56e3\":\"حذف گروه %{name}\",\"duplicate_31cec192\":\"تکرار کردن\",\"duplicate_assignment_name_3ca7d753\":\"تکرار تکلیف %{name}\",\"edit_assignment_name_a8f7fae1\":\"ویرایش %{name} تکلیف\",\"edit_assignment_name_mastery_paths_40b50541\":\"ویرایش مسیرهای تسلط تکلیف‌ %{name}\",\"edit_c5fbea07\":\"ویرایش\",\"edit_mastery_paths_for_name_c9fc59f9\":\"ویرایش مسیرهای تسلط برای %{name}\",\"mastery_paths_cc4096c2\":\"مسیرهای تسلط\",\"module_90d9fd32\":\"ماژول\",\"move_assignment_name_aa253f26\":\"انتقال تکلیف %{name}\",\"move_to_9b91c6e0\":\"انتقال به ...\",\"multiple_modules_930713d4\":\"چند ماژول\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} امتیاز ممکن\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} امتیاز\",\"no_points_possible_368669d\":\"امتیازهای ممکن موجود نیست\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"منتشر شده توسط مسیر تسلط: %{cyoe.releasedLabel}\",\"retry_ebd5f8ba\":\"تلاش دوباره\",\"settings_for_assignment_name_c19565e1\":\"تنطیمات تکلیف %{name}\"},\"fr\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"Supprimer\"}},\"cancel_caeb1e68\":\"Annuler\",\"cancel_duplicating_originalassignmentname_fd7ee1d8\":\"Annuler la duplication \\\"%{originalAssignmentName}\\\"\",\"cancel_importing_name_a0b6f3e1\":\"Annuler l'importation de \\\"%{name}\\\".\",\"delete_assignment_name_deec56e3\":\"Supprimer le travail %{name}\",\"duplicate_31cec192\":\"Dupliquer\",\"duplicate_assignment_name_3ca7d753\":\"Devoir dupliqué %{name}\",\"edit_assignment_name_a8f7fae1\":\"Modifier le travail %{name}\",\"edit_assignment_name_mastery_paths_40b50541\":\"Modifier le devoir de Chemin de Réussite %{name}\",\"edit_c5fbea07\":\"Modifier\",\"edit_mastery_paths_for_name_c9fc59f9\":\"Modifier les Chemins de Réussite pour %{name}\",\"importing_name_8f2b131d\":\"Importer \\\"%{name}\\\"\",\"making_a_copy_of_originalassignmentname_b7268992\":\"Faire une copie de \\\"%{originalAssignmentName}\\\"\",\"mastery_paths_cc4096c2\":\"Parcours de maîtrise\",\"module_90d9fd32\":\"Module\",\"move_assignment_name_aa253f26\":\"Déplacer le travail %{name}\",\"move_to_9b91c6e0\":\"Déplacer vers...\",\"multiple_modules_930713d4\":\"Multiples modules\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} Points possibles\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} pts\",\"no_points_possible_368669d\":\"Pas de point possible\",\"oops_something_went_wrong_importing_name_d382cac1\":\"Oups ! Une erreur est survenue lors de l'importation de \\\"%{name}\\\"\",\"oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695\":\"Oups ! Un problème est survenu lors de la réalisation d'une copie de \\\"%{originalAssignmentName}\\\"\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"Rendu disponible par le Chemin de Réussite : %{cyoe.releasedLabel}\",\"retry_duplicating_originalassignmentname_884aee1\":\"Réessayer de dupliquer \\\"%{originalAssignmentName}\\\"\",\"retry_ebd5f8ba\":\"Réessayer\",\"settings_for_assignment_name_c19565e1\":\"Réglages pour le devoir %{name}\",\"you_do_not_have_permissions_to_edit_this_moderated_3195294f\":\"Vous n'êtes pas autorisé à modifier ce travail modéré.\"},\"fr-CA\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"Supprimer\"}},\"cancel_caeb1e68\":\"Annuler\",\"cancel_duplicating_originalassignmentname_fd7ee1d8\":\"Annulation de duplication de « %{originalAssignmentName} »\",\"cancel_importing_name_a0b6f3e1\":\"Annuler l’importation de « %{name} »\",\"delete_assignment_name_deec56e3\":\"Supprimer le tâche %{name}\",\"duplicate_31cec192\":\"Dupliquer\",\"duplicate_assignment_name_3ca7d753\":\"Dupliquer la tâche %{name}\",\"edit_assignment_name_a8f7fae1\":\"Modifier le tâche %{name}\",\"edit_assignment_name_mastery_paths_40b50541\":\"Modifier le devoir de Chemin de Réussite %{name}\",\"edit_c5fbea07\":\"Modifier\",\"edit_mastery_paths_for_name_c9fc59f9\":\"Modifier les Chemins de Réussite pour %{name}\",\"importing_name_8f2b131d\":\"Importation de « %{name} »\",\"making_a_copy_of_originalassignmentname_b7268992\":\"Effectuer une copie de « %{originalAssignmentName} »\",\"mastery_paths_cc4096c2\":\"Parcours de maîtrise\",\"module_90d9fd32\":\"Module\",\"move_assignment_name_aa253f26\":\"Déplacer le tâche %{name}\",\"move_to_9b91c6e0\":\"Déplacer vers...\",\"multiple_modules_930713d4\":\"Multiples modules\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} Points possibles\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} pts\",\"no_points_possible_368669d\":\"Pas de point possible\",\"oops_something_went_wrong_importing_name_d382cac1\":\"Oups! Une erreur est survenue lors de l’importation de « %{name} »\",\"oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695\":\"Oups! Une erreur est survenue lors de la copie de \\\"%{originalAssignmentName}\\\"\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"Rendu disponible par le Chemin de Réussite (Mastery Path) : %{cyoe.releasedLabel}\",\"retry_duplicating_originalassignmentname_884aee1\":\"Réessayer la duplication de « %{originalAssignmentName} »\",\"retry_ebd5f8ba\":\"Réessayer\",\"settings_for_assignment_name_c19565e1\":\"Réglages pour le tâche %{name}\",\"you_do_not_have_permissions_to_edit_this_moderated_3195294f\":\"Vous n'avez pas les droits pour éditer cette tâche modérée\"},\"he\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"ביטול\"}},\"cancel_caeb1e68\":\"ביטול\",\"delete_assignment_name_deec56e3\":\"ביטול משימה  %{name}\",\"duplicate_31cec192\":\"כפול\",\"duplicate_assignment_name_3ca7d753\":\"מטלה כפולה %{name}\",\"edit_assignment_name_a8f7fae1\":\"עריכת משימה %{name}\",\"edit_assignment_name_mastery_paths_40b50541\":\"עריכת משימת %{name}  של מסלולי התמחות\",\"edit_c5fbea07\":\"עריכה\",\"edit_mastery_paths_for_name_c9fc59f9\":\"עריכת מסלול התמחות עבור %{name}\",\"mastery_paths_cc4096c2\":\"מסלולי התמחות\",\"module_90d9fd32\":\"מודול\",\"move_assignment_name_aa253f26\":\"העברת משימה %{name}\",\"move_to_9b91c6e0\":\"העברה אל...\",\"multiple_modules_930713d4\":\"מודולים מרובים\",\"no_points_possible_368669d\":\"אין ניקוד אפשרי\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"פורסם במסגרת מסלול ההתמחות: %{cyoe.releasedLabel}\",\"retry_ebd5f8ba\":\"לנסות מחדש\",\"settings_for_assignment_name_c19565e1\":\"הגדרות של מטלה %{name}\"},\"ht\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"Efase\"}},\"cancel_caeb1e68\":\"Anile\",\"cancel_duplicating_originalassignmentname_fd7ee1d8\":\"Anile Diplikasyon \\\"%{originalAssignmentName}\\\"\",\"cancel_importing_name_a0b6f3e1\":\"Anile enpòtasyon \\\"%{name}\\\"\",\"delete_assignment_name_deec56e3\":\"Efase Sesyon %{name}\",\"duplicate_31cec192\":\"kopi\",\"duplicate_assignment_name_3ca7d753\":\"Kopi Sesyon %{name}\",\"edit_assignment_name_a8f7fae1\":\"Modifye Sesyon %{name}\",\"edit_assignment_name_mastery_paths_40b50541\":\"Modifye Sesyon %{name} Pakou Metriz\",\"edit_c5fbea07\":\"Modifye\",\"edit_mastery_paths_for_name_c9fc59f9\":\"Modifye Pakou Metriz pou %{name}\",\"importing_name_8f2b131d\":\"Enpòtasyon \\\"%{name}\\\"\",\"making_a_copy_of_originalassignmentname_b7268992\":\"Fè yon kopi \\\"%{originalAssignmentName}\\\"\",\"mastery_paths_cc4096c2\":\"Pakou Prensipal\",\"module_90d9fd32\":\"Modil\",\"move_assignment_name_aa253f26\":\"Deplase Sesyon %{name}\",\"move_to_9b91c6e0\":\"Deplase Nan...\",\"multiple_modules_930713d4\":\"Plizyè Modil\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} Pwen Posib\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} pts\",\"no_points_possible_368669d\":\"Pa gen Pwen Posib\",\"oops_something_went_wrong_importing_name_d382cac1\":\"Oops! yon bagay pase mal nan enpòtasyon \\\"%{name}\\\"\",\"oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695\":\"Oops! Gen yon bagay ki pase mal nan kopi \\\"%{originalAssignmentName}\\\"a\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"Libere pa Pakou Metriz: %{cyoe.releasedLabel}\",\"retry_duplicating_originalassignmentname_884aee1\":\"Re eseye diplikasyon \\\"%{originalAssignmentName}\\\"\",\"retry_ebd5f8ba\":\"Re eseye\",\"settings_for_assignment_name_c19565e1\":\"Paramèt Sesyon %{name}\",\"you_do_not_have_permissions_to_edit_this_moderated_3195294f\":\"Ou pa gen otorizasyon pou chanje sesyon modere sa a\"},\"hu\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"Törlés\"}},\"cancel_caeb1e68\":\"Mégse\",\"delete_assignment_name_deec56e3\":\"A következő feladat törlése: %{name}\",\"edit_assignment_name_a8f7fae1\":\"%{name} feladat szerkesztése\",\"edit_c5fbea07\":\"Szerkesztés\",\"mastery_paths_cc4096c2\":\"Jártassági útvonalak\",\"module_90d9fd32\":\"Modul\",\"move_assignment_name_aa253f26\":\"%{name} feladat mozgatása\",\"move_to_9b91c6e0\":\"Áthelyezés ide:\",\"multiple_modules_930713d4\":\"Több modul\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} pont\",\"no_points_possible_368669d\":\"Nincsenek elérhető pontok\",\"retry_ebd5f8ba\":\"Újra\",\"settings_for_assignment_name_c19565e1\":\"Beállítások a következő feladathoz: %{name}\"},\"hy\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"Ջնջել\"}},\"cancel_caeb1e68\":\"Չեղյալ համարել\",\"edit_c5fbea07\":\"Խմբագրել\",\"retry_ebd5f8ba\":\"Փորձել կրկին\"},\"is\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"Eyða\"}},\"cancel_caeb1e68\":\"Hætta við\",\"cancel_duplicating_originalassignmentname_fd7ee1d8\":\"Hætta við fjölritun „%{originalAssignmentName}“\",\"cancel_importing_name_a0b6f3e1\":\"Hætta við innflutning „%{name}“\",\"delete_assignment_name_deec56e3\":\"Eyða verkefni %{name}\",\"duplicate_31cec192\":\"Tvítaka\",\"duplicate_assignment_name_3ca7d753\":\"Tvítaka verkefni %{name}\",\"edit_assignment_name_a8f7fae1\":\"Breyta verkefni %{name}\",\"edit_assignment_name_mastery_paths_40b50541\":\"Breyta verkefni %{name} Tileinkunarslóðir\",\"edit_c5fbea07\":\"Breyta\",\"edit_mastery_paths_for_name_c9fc59f9\":\"Breyta tileinkunarslóðum fyrir %{name}\",\"importing_name_8f2b131d\":\"Flyt inn „%{name}“\",\"making_a_copy_of_originalassignmentname_b7268992\":\"Búa til afrit af \\\"%{originalAssignmentName}\\\"\",\"mastery_paths_cc4096c2\":\"Tileinkunarslóðir\",\"module_90d9fd32\":\"Eining\",\"move_assignment_name_aa253f26\":\"Færa verkefni %{name}\",\"move_to_9b91c6e0\":\"Færa til...\",\"multiple_modules_930713d4\":\"Margar námsefni\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} punktar mögulegir\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} punktar\",\"no_points_possible_368669d\":\"Engir punktar mögulegir\",\"oops_something_went_wrong_importing_name_d382cac1\":\"Úbbs! Eitthvað kom upp á við innflutning „%{name}“\",\"oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695\":\"Úbbs! Eitthvað mistókst við að gera afrit af \\\"%{originalAssignmentName}\\\"\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"Útgefið af Mastery Path: %{cyoe.releasedLabel}\",\"retry_duplicating_originalassignmentname_884aee1\":\"Reyna aftur að fjölrita „%{originalAssignmentName}“\",\"retry_ebd5f8ba\":\"Reyna aftur\",\"settings_for_assignment_name_c19565e1\":\"Stillingar fyrir verkefni %{name}\",\"you_do_not_have_permissions_to_edit_this_moderated_3195294f\":\"Þú hefur ekki leyfi til að breyta þessu stjórnaða verkefni\"},\"it\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"Elimina\"}},\"cancel_caeb1e68\":\"Annulla\",\"cancel_duplicating_originalassignmentname_fd7ee1d8\":\"Annulla duplicazione di \\\"%{originalAssignmentName}\\\"\",\"cancel_importing_name_a0b6f3e1\":\"Annulla importazione di \\\"%{name}\\\"\",\"delete_assignment_name_deec56e3\":\"Elimina compito %{name}\",\"duplicate_31cec192\":\"Duplica\",\"duplicate_assignment_name_3ca7d753\":\"Duplica compito %{name}\",\"edit_assignment_name_a8f7fae1\":\"Modifica compito %{name}\",\"edit_assignment_name_mastery_paths_40b50541\":\"Modifica percorsi di acquisizione della padronanza %{name} compito\",\"edit_c5fbea07\":\"Modifica\",\"edit_mastery_paths_for_name_c9fc59f9\":\"Modifica percorsi di acquisizione della padronanza per %{name}\",\"importing_name_8f2b131d\":\"Importazione di \\\"%{name}\\\"\",\"making_a_copy_of_originalassignmentname_b7268992\":\"Creazione di una copia di \\\"%{originalAssignmentName}\\\"\",\"mastery_paths_cc4096c2\":\"Percorsi di acquisizione della padronanza\",\"module_90d9fd32\":\"Modulo\",\"move_assignment_name_aa253f26\":\"Sposta compito %{name}\",\"move_to_9b91c6e0\":\"Sposta in…\",\"multiple_modules_930713d4\":\"Più moduli\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} Punti possibili\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} pt\",\"no_points_possible_368669d\":\"Nessun punto possibile\",\"oops_something_went_wrong_importing_name_d382cac1\":\"Spiacenti. Si è verificato un errore durante l'importazione di \\\"%{name}\\\"\",\"oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695\":\"Spiacenti. Si è verificato un errore durante la realizzazione di una copia di \\\"%{originalAssignmentName}\\\"\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"Rilasciato per percorso di acquisizione padronanza: %{cyoe.releasedLabel}\",\"retry_duplicating_originalassignmentname_884aee1\":\"Riprova duplicazione  di \\\"%{originalAssignmentName}\\\"\",\"retry_ebd5f8ba\":\"Riprova\",\"settings_for_assignment_name_c19565e1\":\"Impostazioni per il compito %{name}\",\"you_do_not_have_permissions_to_edit_this_moderated_3195294f\":\"Non si dispone dei permessi per modificare questo compito moderato\"},\"ja\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"削除\"}},\"cancel_caeb1e68\":\"キャンセル\",\"cancel_duplicating_originalassignmentname_fd7ee1d8\":\"\\\"%{originalAssignmentName}\\\"の重複をキャンセルする\",\"cancel_importing_name_a0b6f3e1\":\"\\\"%{name}\\\"のインポートをキャンセルする\",\"delete_assignment_name_deec56e3\":\"%{name}課題を削除\",\"duplicate_31cec192\":\"重複\",\"duplicate_assignment_name_3ca7d753\":\"重複する課題%{name}\",\"edit_assignment_name_a8f7fae1\":\"%{name}課題を編集\",\"edit_assignment_name_mastery_paths_40b50541\":\"課題%{name}マスタリーパスを編集\",\"edit_c5fbea07\":\"編集\",\"edit_mastery_paths_for_name_c9fc59f9\":\"～のマスタリーパスを編集%{name}\",\"importing_name_8f2b131d\":\"\\\"%{name}\\\"をインポート中\",\"making_a_copy_of_originalassignmentname_b7268992\":\"\\\"%{originalAssignmentName}\\\"のコピーを作成する\",\"mastery_paths_cc4096c2\":\"熟達の過程\",\"module_90d9fd32\":\"モジュール\",\"move_assignment_name_aa253f26\":\"%{name}課題の移動\",\"move_to_9b91c6e0\":\"移動先...\",\"multiple_modules_930713d4\":\"複数のモジュール\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} 可能なポイント\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} ポイント\",\"no_points_possible_368669d\":\"配点なし\",\"oops_something_went_wrong_importing_name_d382cac1\":\"しまった！\\\"%{name}\\\"をインポート中に問題が発生しました\",\"oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695\":\"しまった！\\\"%{originalAssignmentName}\\\"のコピーを作成中にエラーが生じました\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"マスタリーパスからリリース%{cyoe.releasedLabel}\",\"retry_duplicating_originalassignmentname_884aee1\":\"\\\"%{originalAssignmentName}\\\"の重複を再試行\",\"retry_ebd5f8ba\":\"再試行\",\"settings_for_assignment_name_c19565e1\":\"%{name}課題の設定\",\"you_do_not_have_permissions_to_edit_this_moderated_3195294f\":\"この修正された課題を編集する権限がありません\"},\"ko\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"삭제\"}},\"cancel_caeb1e68\":\"취소\",\"edit_c5fbea07\":\"편집\"},\"mi\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"Muku\"}},\"cancel_caeb1e68\":\"Whakakore\",\"cancel_duplicating_originalassignmentname_fd7ee1d8\":\"whakakorehia te tārua \\\"%{originalAssignmentName}\\\"\",\"cancel_importing_name_a0b6f3e1\":\"Whakakore tikiake \\\"%{name}\\\"\",\"delete_assignment_name_deec56e3\":\"Mukua Whakataunga%{name}\",\"duplicate_31cec192\":\"Tārua\",\"duplicate_assignment_name_3ca7d753\":\"Whakataunga tārua %{name}\",\"edit_assignment_name_a8f7fae1\":\"Whakatika Whakataunga%{name}\",\"edit_assignment_name_mastery_paths_40b50541\":\"Whakatika Whakataunga %{name} Ngā Ara Hinganga\",\"edit_c5fbea07\":\"Whakatika\",\"edit_mastery_paths_for_name_c9fc59f9\":\"Whakatika ngā Ara Hinganga mō %{name}\",\"importing_name_8f2b131d\":\"E kawemai ana \\\"%{name}\\\"\",\"making_a_copy_of_originalassignmentname_b7268992\":\"Mahi tārua ana mō \\\"%{originalAssignmentName}\\\"\",\"mastery_paths_cc4096c2\":\"Mana Ara\",\"module_90d9fd32\":\"Kōwae\",\"move_assignment_name_aa253f26\":\"Nuku whakataunga %{name}\",\"move_to_9b91c6e0\":\"Nuku ki te ...\",\"multiple_modules_930713d4\":\"Ngā kōwae maha\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} Ngā koinga e taea\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} ngā koinga\",\"no_points_possible_368669d\":\"Kāore ngā koinga e taea\",\"oops_something_went_wrong_importing_name_d382cac1\":\"Aue I hē tētahi mea i te wa o te kawemai \\\"%{name}\\\"\",\"oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695\":\"Aue! I hapa tētahi mea i te wā e tārua ana te \\\"%{originalAssignmentName}\\\"\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"I tukua e te Ara Hinganga: %{cyoe.releasedLabel}\",\"retry_duplicating_originalassignmentname_884aee1\":\"Whakahoutia anō \\\"%{originalAssignmentName}\\\"\",\"retry_ebd5f8ba\":\"Ngana anō\",\"settings_for_assignment_name_c19565e1\":\"Tautuhinga mō te whakataunga %{name}\",\"you_do_not_have_permissions_to_edit_this_moderated_3195294f\":\"Kaore ia koe ngā whakāetanga hei whakatika i tēnei whakataunga kua whakamngāwaritia\"},\"nb\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"Slett\"}},\"cancel_caeb1e68\":\"Avbryt\",\"cancel_duplicating_originalassignmentname_fd7ee1d8\":\"Slett duplisering \\\"%{originalAssignmentName}\\\"\",\"cancel_importing_name_a0b6f3e1\":\"Avbryt importering «%{name}»\",\"delete_assignment_name_deec56e3\":\"Slett oppgave %{name}\",\"duplicate_31cec192\":\"Dupliser\",\"duplicate_assignment_name_3ca7d753\":\"Dupliser oppgave %{name}\",\"edit_assignment_name_a8f7fae1\":\"Rediger oppgave %{name}\",\"edit_assignment_name_mastery_paths_40b50541\":\"Rediger mestringsveier for oppgave %{name}\",\"edit_c5fbea07\":\"Rediger\",\"edit_mastery_paths_for_name_c9fc59f9\":\"Rediger mestringsveier for %{name}\",\"importing_name_8f2b131d\":\"Importerer «%{name}»\",\"making_a_copy_of_originalassignmentname_b7268992\":\"Lager en kopi av «%{originalAssignmentName}»\",\"mastery_paths_cc4096c2\":\"Læringsstier\",\"module_90d9fd32\":\"Modul\",\"move_assignment_name_aa253f26\":\"Flytt oppgave %{name}\",\"move_to_9b91c6e0\":\"Flytt til…\",\"multiple_modules_930713d4\":\"Flere moduler\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} Mulige poenger\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} poeng\",\"no_points_possible_368669d\":\"Ingen mulige poeng\",\"oops_something_went_wrong_importing_name_d382cac1\":\"Oops! Noe gikk galt under importering av «%{name}»\",\"oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695\":\"Oops! Noe gikk galt da det ble laget kopi av \\\"%{originalAssignmentName}\\\"\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"Utgitt av læringsstier: %{cyoe.releasedLabel}\",\"retry_duplicating_originalassignmentname_884aee1\":\"Prøv duplisering på nytt \\\"%{originalAssignmentName}\\\"\",\"retry_ebd5f8ba\":\"Forsøk igjen\",\"settings_for_assignment_name_c19565e1\":\"Innstillinger for oppgave %{name}\",\"you_do_not_have_permissions_to_edit_this_moderated_3195294f\":\"Har du tillatelse til å redigere denne moderérte oppgaven?\"},\"nb-x-k12\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"Slett\"}},\"cancel_caeb1e68\":\"Avbryt\",\"cancel_duplicating_originalassignmentname_fd7ee1d8\":\"Kanseller duplisering «%{originalAssignmentName}»\",\"cancel_importing_name_a0b6f3e1\":\"Kanseller import av «%{name}»\",\"delete_assignment_name_deec56e3\":\"Slett oppgave %{name}\",\"duplicate_31cec192\":\"Dupliser\",\"duplicate_assignment_name_3ca7d753\":\"Dupliser oppgave %{name}\",\"edit_assignment_name_a8f7fae1\":\"Rediger oppgave %{name}\",\"edit_assignment_name_mastery_paths_40b50541\":\"Rediger mestringsveier for oppgave %{name}\",\"edit_c5fbea07\":\"Rediger\",\"edit_mastery_paths_for_name_c9fc59f9\":\"Rediger mestringsveier for %{name}\",\"importing_name_8f2b131d\":\"Importerer «%{name}»\",\"making_a_copy_of_originalassignmentname_b7268992\":\"Lager en kopi av «%{originalAssignmentName}»\",\"mastery_paths_cc4096c2\":\"Læringsstier\",\"module_90d9fd32\":\"Modul\",\"move_assignment_name_aa253f26\":\"Flytt oppgave %{name}\",\"move_to_9b91c6e0\":\"Flytt til…\",\"multiple_modules_930713d4\":\"Flere Moduler\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} Mulige poenger\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} poeng\",\"no_points_possible_368669d\":\"Ingen mulige poeng\",\"oops_something_went_wrong_importing_name_d382cac1\":\"Oops! Noe gikk galt ved import av «%{name}»\",\"oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695\":\"Oops! Noe gikk galt under kopiering av «%{originalAssignmentName}»\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"Utgitt av læringsstier: %{cyoe.releasedLabel}\",\"retry_duplicating_originalassignmentname_884aee1\":\"Prøv duplisering igjen «%{originalAssignmentName}»\",\"retry_ebd5f8ba\":\"Forsøk igjen\",\"settings_for_assignment_name_c19565e1\":\"Innstillinger for oppgave %{name}\"},\"nl\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"Verwijderen\"}},\"cancel_caeb1e68\":\"Annuleren\",\"cancel_duplicating_originalassignmentname_fd7ee1d8\":\"Dupliceren van \\\"%{originalAssignmentName}\\\" annuleren\",\"cancel_importing_name_a0b6f3e1\":\"Importeren van \\\"%{name}\\\" annuleren\",\"delete_assignment_name_deec56e3\":\"Opdracht %{name} verwijderen\",\"duplicate_31cec192\":\"Dupliceren\",\"duplicate_assignment_name_3ca7d753\":\"Opdracht dupliceren %{name}\",\"edit_assignment_name_a8f7fae1\":\"Opdracht %{name} bewerken\",\"edit_assignment_name_mastery_paths_40b50541\":\"Opdrachten bewerken %{name} Meesterschapspaden\",\"edit_c5fbea07\":\"Bewerken\",\"edit_mastery_paths_for_name_c9fc59f9\":\"Meesterschapspaden bewerken voor %{name}\",\"importing_name_8f2b131d\":\"\\\"%{name}\\\" importeren\",\"making_a_copy_of_originalassignmentname_b7268992\":\"Een kopie maken van \\\"%{originalAssignmentName}\\\"\",\"mastery_paths_cc4096c2\":\"Meesterschapspaden\",\"module_90d9fd32\":\"Module\",\"move_assignment_name_aa253f26\":\"Opdracht %{name} verplaatsen\",\"move_to_9b91c6e0\":\"Verplaatsen naar...\",\"multiple_modules_930713d4\":\"Meerdere modules\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} Aantal punten mogelijk\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} punten\",\"no_points_possible_368669d\":\"Geen punten mogelijk\",\"oops_something_went_wrong_importing_name_d382cac1\":\"Oeps! Er is iets fout gegaan tijdens het importeren van \\\"%{name}\\\"\",\"oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695\":\"Oeps! Er is iets fout gegaan tijdens het kopiëren van \\\"%{originalAssignmentName}\\\"\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"Uitgegeven door Leertraject: %{cyoe.releasedLabel}\",\"retry_duplicating_originalassignmentname_884aee1\":\"Probeer \\\"%{originalAssignmentName}\\\" opnieuw te dupliceren\",\"retry_ebd5f8ba\":\"Opnieuw proberen\",\"settings_for_assignment_name_c19565e1\":\"Instellingen voor opdracht %{name}\",\"you_do_not_have_permissions_to_edit_this_moderated_3195294f\":\"Je hebt geen machtigingen om deze gemodereerde opdracht te bewerken\"},\"nn\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"Slett\"}},\"cancel_caeb1e68\":\"Avbryt\",\"delete_assignment_name_deec56e3\":\"Slett oppgåva %{name}\",\"duplicate_31cec192\":\"Dupliser\",\"duplicate_assignment_name_3ca7d753\":\"Dupliser oppgåve %{name}\",\"edit_assignment_name_a8f7fae1\":\"Rediger oppgåva %{name}\",\"edit_assignment_name_mastery_paths_40b50541\":\"Rediger oppgåve %{name} meistringsstiar\",\"edit_c5fbea07\":\"Rediger\",\"edit_mastery_paths_for_name_c9fc59f9\":\"Rediger meistringsstiar for %{name}\",\"mastery_paths_cc4096c2\":\"Meistringsstiar\",\"module_90d9fd32\":\"Modul\",\"move_assignment_name_aa253f26\":\"Flytt oppgåve %{name}\",\"move_to_9b91c6e0\":\"Flytt til…\",\"multiple_modules_930713d4\":\"Fleire modular\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} moglege poeng\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} poeng\",\"no_points_possible_368669d\":\"Ingen moglege poeng\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"Kunngjort frå meistringssti: %{cyoe.releasedLabel}\",\"retry_ebd5f8ba\":\"Prøv på nytt\",\"settings_for_assignment_name_c19565e1\":\"Innstillingar for oppgåve %{name}\"},\"pl\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"Usuń\"}},\"cancel_caeb1e68\":\"Anuluj\",\"cancel_duplicating_originalassignmentname_fd7ee1d8\":\"Anuluj duplikowanie „%{originalAssignmentName}”\",\"cancel_importing_name_a0b6f3e1\":\"Anuluj importowanie „%{name}”\",\"delete_assignment_name_deec56e3\":\"Usuń zadanie %{name}\",\"duplicate_31cec192\":\"Duplikuj\",\"duplicate_assignment_name_3ca7d753\":\"Duplikuj zadanie %{name}\",\"edit_assignment_name_a8f7fae1\":\"Edytuj zadanie %{name}\",\"edit_assignment_name_mastery_paths_40b50541\":\"Edytuj ścieżki mistrzowskie dla zadania %{name}\",\"edit_c5fbea07\":\"Edytuj\",\"edit_mastery_paths_for_name_c9fc59f9\":\"Edytuj ścieżki mistrzowskie dla %{name}\",\"importing_name_8f2b131d\":\"Importowanie „%{name}”\",\"making_a_copy_of_originalassignmentname_b7268992\":\"Tworzenie kopii \\\"%{originalAssignmentName}\\\"\",\"mastery_paths_cc4096c2\":\"Ścieżki biegłości\",\"module_90d9fd32\":\"Moduł\",\"move_assignment_name_aa253f26\":\"Przenieś zadanie %{name}\",\"move_to_9b91c6e0\":\"Przenieś do...\",\"multiple_modules_930713d4\":\"Wiele modułów\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} Możliwe do uzyskania punkty\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} pkt\",\"no_points_possible_368669d\":\"Brak możliwych punktów\",\"oops_something_went_wrong_importing_name_d382cac1\":\"Ups! Wystąpił błąd podczas importowania „%{name}”\",\"oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695\":\"Ups! Wystąpił problem z tworzeniem kopii \\\"%{originalAssignmentName}\\\"\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"Wydane przez Mastery Path: %{cyoe.releasedLabel}\",\"retry_duplicating_originalassignmentname_884aee1\":\"Ponów duplikowanie „%{originalAssignmentName}”\",\"retry_ebd5f8ba\":\"Ponów próbę\",\"settings_for_assignment_name_c19565e1\":\"Ustawienia dla zadania %{name}\",\"you_do_not_have_permissions_to_edit_this_moderated_3195294f\":\"Nie masz uprawnień wymaganych do edytowania tego moderowanego zadania.\"},\"pt\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"Eliminar\"}},\"cancel_caeb1e68\":\"Cancelar\",\"cancel_duplicating_originalassignmentname_fd7ee1d8\":\"Cancelar a duplicação \\\"%{originalAssignmentName}\\\"\",\"cancel_importing_name_a0b6f3e1\":\"Cancelar a importação \\\"%{name}\\\"\",\"delete_assignment_name_deec56e3\":\"Apagar Tarefa %{name}\",\"duplicate_31cec192\":\"Duplicado\",\"duplicate_assignment_name_3ca7d753\":\"Atribuição duplicada %{name}\",\"edit_assignment_name_a8f7fae1\":\"Editar tarefa %{name}\",\"edit_assignment_name_mastery_paths_40b50541\":\"Editar Tarefa %{name} Mastery Paths\",\"edit_c5fbea07\":\"Editar\",\"edit_mastery_paths_for_name_c9fc59f9\":\"Editar Mastery Paths para %{name}\",\"importing_name_8f2b131d\":\"Importar \\\"%{name}\\\"\",\"making_a_copy_of_originalassignmentname_b7268992\":\"A fazer uma cópia de \\\"%{originalAssignmentName}\\\"\",\"mastery_paths_cc4096c2\":\"Circuito Principal\",\"module_90d9fd32\":\"Módulo\",\"move_assignment_name_aa253f26\":\"Mover Tarefa %{name}\",\"move_to_9b91c6e0\":\"Mover para…\",\"multiple_modules_930713d4\":\"Vários módulos\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} Pontos possíveis\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} pts\",\"no_points_possible_368669d\":\"Nenhum ponto possível\",\"oops_something_went_wrong_importing_name_d382cac1\":\"Oops! Algo deu errado ao importar \\\"%{name}\\\"\",\"oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695\":\"Oops! Algo deu errado ao fazer uma cópia do \\\"%{originalAssignmentName}\\\"\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"Lançado pelo Mastery Path: %{cyoe.releasedLabel}\",\"retry_duplicating_originalassignmentname_884aee1\":\"Repetir a duplicação \\\"%{originalAssignmentName}\\\"\",\"retry_ebd5f8ba\":\"Tentar novamente\",\"settings_for_assignment_name_c19565e1\":\"Definições para a Tarefa %{name}\",\"you_do_not_have_permissions_to_edit_this_moderated_3195294f\":\"Você não tem permissão para editar esta atribuição moderada\"},\"pt-BR\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"Excluir\"}},\"cancel_caeb1e68\":\"Cancelar\",\"cancel_duplicating_originalassignmentname_fd7ee1d8\":\"Cancelar duplicação de \\\"%{originalAssignmentName}\\\"\",\"cancel_importing_name_a0b6f3e1\":\"Cancelar importação de \\\"%{name}\\\"\",\"delete_assignment_name_deec56e3\":\"Excluir Tarefa %{name}\",\"duplicate_31cec192\":\"Duplicar\",\"duplicate_assignment_name_3ca7d753\":\"Duplicar tarefa %{name}\",\"edit_assignment_name_a8f7fae1\":\"Editar Tarefa %{name}\",\"edit_assignment_name_mastery_paths_40b50541\":\"Editar Caminhos de Domínio da Tarefa %{name}\",\"edit_c5fbea07\":\"Editar\",\"edit_mastery_paths_for_name_c9fc59f9\":\"Editar Caminhos de Domínio para %{name}\",\"importing_name_8f2b131d\":\"Importando \\\"%{name}\\\"\",\"making_a_copy_of_originalassignmentname_b7268992\":\"Fazendo uma cópia de \\\"%{originalAssignmentName}\\\"\",\"mastery_paths_cc4096c2\":\"Caminhos de Domínio\",\"module_90d9fd32\":\"Módulo\",\"move_assignment_name_aa253f26\":\"Mover Tarefa %{name}\",\"move_to_9b91c6e0\":\"Mover Para...\",\"multiple_modules_930713d4\":\"Módulos Múltiplos\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} Pontos possíveis\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} pts\",\"no_points_possible_368669d\":\"Nenhum Ponto Possível\",\"oops_something_went_wrong_importing_name_d382cac1\":\"Oops! Algo deu errado ao importar \\\"%{name}\\\"\",\"oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695\":\"Eita! Algo deu errado ao fazer uma cópia de \\\"%{originalAssignmentName}\\\"\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"Liberado por Caminho de Domínio: %{cyoe.releasedLabel}\",\"retry_duplicating_originalassignmentname_884aee1\":\"Tentar duplicar novamente \\\"%{originalAssignmentName}\\\"\",\"retry_ebd5f8ba\":\"Tentar novamente\",\"settings_for_assignment_name_c19565e1\":\"Configurações para Atribuição %{name}\",\"you_do_not_have_permissions_to_edit_this_moderated_3195294f\":\"Você não tem permissões para editar esta tarefa moderada\"},\"ru\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"Удалить\"}},\"cancel_caeb1e68\":\"Отменить\",\"cancel_duplicating_originalassignmentname_fd7ee1d8\":\"Отмена копирования «%{originalAssignmentName}»\",\"cancel_importing_name_a0b6f3e1\":\"Отменить импортирование «%{name}»\",\"delete_assignment_name_deec56e3\":\"Удалить назначение %{name}\",\"duplicate_31cec192\":\"Дубликат\",\"duplicate_assignment_name_3ca7d753\":\"Дублировать задание %{name}\",\"edit_assignment_name_a8f7fae1\":\"Редактировать назначение %{name}\",\"edit_assignment_name_mastery_paths_40b50541\":\"Редактировать пути усваивания %{name} задания\",\"edit_c5fbea07\":\"Редактировать\",\"edit_mastery_paths_for_name_c9fc59f9\":\"Редактировать пути усваивания для %{name}\",\"importing_name_8f2b131d\":\"Импортирование «%{name}»\",\"making_a_copy_of_originalassignmentname_b7268992\":\"Выполнение копии \\\"%{originalAssignmentName}\\\"\",\"mastery_paths_cc4096c2\":\"Пути усвоения\",\"module_90d9fd32\":\"Модуль\",\"move_assignment_name_aa253f26\":\"Переместить задание %{name}\",\"move_to_9b91c6e0\":\"Переместить в...\",\"multiple_modules_930713d4\":\"Несколько модулей\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} Возможное количество баллов\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} баллы\",\"no_points_possible_368669d\":\"Нет возможных баллов\",\"oops_something_went_wrong_importing_name_d382cac1\":\"Ой! Возникла проблема при импортировании «%{name}»\",\"oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695\":\"Ой! Что-то пошло не так при копировании \\\"%{originalAssignmentName}\\\"\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"Освобождено путем достижения владения: %{cyoe.releasedLabel}\",\"retry_duplicating_originalassignmentname_884aee1\":\"Выполнить повторную попытку копирования «%{originalAssignmentName}»\",\"retry_ebd5f8ba\":\"Повторите попытку\",\"settings_for_assignment_name_c19565e1\":\"Настройки для задания %{name}\",\"you_do_not_have_permissions_to_edit_this_moderated_3195294f\":\"У вас нет разрешения для редактирования этого модерированного задания\"},\"sl\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"Odstrani\"}},\"cancel_caeb1e68\":\"Prekliči\",\"cancel_duplicating_originalassignmentname_fd7ee1d8\":\"Prekliči podvajanje »%{originalAssignmentName}«\",\"cancel_importing_name_a0b6f3e1\":\"Prekliči uvažanje »%{name}«\",\"delete_assignment_name_deec56e3\":\"Izbriši nalogo %{name}\",\"duplicate_31cec192\":\"Podvoji\",\"duplicate_assignment_name_3ca7d753\":\"Podvoji nalogo %{name}\",\"edit_assignment_name_a8f7fae1\":\"Uredi nalogo %{name}\",\"edit_assignment_name_mastery_paths_40b50541\":\"Uredi napredovanje v odličnosti naloge %{name}\",\"edit_c5fbea07\":\"Uredi\",\"edit_mastery_paths_for_name_c9fc59f9\":\"Uredi napredovanje v odličnosti za %{name}\",\"importing_name_8f2b131d\":\"Uvažanje »%{name}«\",\"making_a_copy_of_originalassignmentname_b7268992\":\"Kopiranje naloge »%{originalAssignmentName}«.\",\"mastery_paths_cc4096c2\":\"Napredovanja v odličnosti\",\"module_90d9fd32\":\"Modul\",\"move_assignment_name_aa253f26\":\"Premakni nalogo %{name}\",\"move_to_9b91c6e0\":\"Premakni v ...\",\"multiple_modules_930713d4\":\"Več modulov\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} mogoče točke\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} točk\",\"no_points_possible_368669d\":\"Ni možnih točk.\",\"oops_something_went_wrong_importing_name_d382cac1\":\"Opa! Pri uvozu »%{name}« je prišlo do težav.\",\"oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695\":\"Opa! Pri pripravi kopije »%{originalAssignmentName}« je prišlo do težav.\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"Izdano s funkcionalnostjo napredovanja v odličnosti: %{cyoe.releasedLabel}\",\"retry_duplicating_originalassignmentname_884aee1\":\"Ponovno poskusi podvojiti »%{originalAssignmentName}«\",\"retry_ebd5f8ba\":\"Ponovno poskusi\",\"settings_for_assignment_name_c19565e1\":\"Nastavitve za nalogo %{name}\"},\"sv\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"Radera\"}},\"cancel_caeb1e68\":\"Avbryt\",\"cancel_duplicating_originalassignmentname_fd7ee1d8\":\"Avbryt duplicering av \\\"%{originalAssignmentName}\\\"\",\"cancel_importing_name_a0b6f3e1\":\"Avbryt import av \\\"%{name}\\\"\",\"delete_assignment_name_deec56e3\":\"Ta bort uppgift %{name}\",\"duplicate_31cec192\":\"Duplicera\",\"duplicate_assignment_name_3ca7d753\":\"Duplicera bedömning %{name}\",\"edit_assignment_name_a8f7fae1\":\"Ändra uppgiften %{name}\",\"edit_assignment_name_mastery_paths_40b50541\":\"Redigera uppgift %{name} kontrollsökvägar\",\"edit_c5fbea07\":\"Redigera\",\"edit_mastery_paths_for_name_c9fc59f9\":\"Redigera kontrollsökvägar för %{name}\",\"importing_name_8f2b131d\":\"Importerar \\\"%{name}\\\"\",\"making_a_copy_of_originalassignmentname_b7268992\":\"Gör en kopia av ”%{originalAssignmentName}”\",\"mastery_paths_cc4096c2\":\"Måluppfyllnadsväg\",\"module_90d9fd32\":\"Modul\",\"move_assignment_name_aa253f26\":\"Flytta uppgiften %{name}\",\"move_to_9b91c6e0\":\"Flytta till...\",\"multiple_modules_930713d4\":\"Flera moduler\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} Möjliga poäng\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} poäng\",\"no_points_possible_368669d\":\"Inga möjliga poäng\",\"oops_something_went_wrong_importing_name_d382cac1\":\"Oooj! Ett fel uppstod vid import av \\\"%{name}\\\"\",\"oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695\":\"Oooj! Ett problem uppstod vid kopiering av \\\"%{originalAssignmentName}\\\"\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"Släppt av målväg: %{cyoe.releasedLabel}\",\"retry_duplicating_originalassignmentname_884aee1\":\"Försök skapa kopia av igen \\\"%{originalAssignmentName}\\\"\",\"retry_ebd5f8ba\":\"Testa igen\",\"settings_for_assignment_name_c19565e1\":\"Inställningar för uppgiften %{name}\",\"you_do_not_have_permissions_to_edit_this_moderated_3195294f\":\"Du har inte behörighet att redigerade den här modererade uppgiften\"},\"sv-x-k12\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"Radera\"}},\"cancel_caeb1e68\":\"Avbryt\",\"cancel_duplicating_originalassignmentname_fd7ee1d8\":\"Avbryt duplicering \\\"%{originalAssignmentName}\\\"\",\"cancel_importing_name_a0b6f3e1\":\"Avbryt importering \\\"%{name}\\\"\",\"delete_assignment_name_deec56e3\":\"Ta bort uppgift %{name}\",\"duplicate_31cec192\":\"Duplicera\",\"duplicate_assignment_name_3ca7d753\":\"Duplicera bedömning %{name}\",\"edit_assignment_name_a8f7fae1\":\"Ändra uppgiften %{name}\",\"edit_assignment_name_mastery_paths_40b50541\":\"Redigera uppgift %{name} kontrollsökvägar\",\"edit_c5fbea07\":\"Redigera\",\"edit_mastery_paths_for_name_c9fc59f9\":\"Redigera kontrollsökvägar för %{name}\",\"importing_name_8f2b131d\":\"Importerar \\\"%{name}\\\"\",\"making_a_copy_of_originalassignmentname_b7268992\":\"Gör en kopia av \\\"%{originalAssignmentName}\\\"\",\"mastery_paths_cc4096c2\":\"Måluppfyllnadsväg\",\"module_90d9fd32\":\"Modul\",\"move_assignment_name_aa253f26\":\"Flytta uppgiften %{name}\",\"move_to_9b91c6e0\":\"Flytta till...\",\"multiple_modules_930713d4\":\"Flera moduler\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} Möjliga poäng\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} poäng\",\"no_points_possible_368669d\":\"Inga möjliga poäng\",\"oops_something_went_wrong_importing_name_d382cac1\":\"Oooj! Ett fel inträffade vid import av \\\"%{name}\\\"\",\"oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695\":\"Oooj! Något gick fel med att göra en kopia av \\\"%{originalAssignmentName}\\\"\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"Släppt av målväg: %{cyoe.releasedLabel}\",\"retry_duplicating_originalassignmentname_884aee1\":\"Försök duplicera \\\"%{originalAssignmentName}\\\" igen\",\"retry_ebd5f8ba\":\"Testa igen\",\"settings_for_assignment_name_c19565e1\":\"Inställningar för uppgiften %{name}\"},\"tr\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"Sil\"}},\"cancel_caeb1e68\":\"İptal\",\"delete_assignment_name_deec56e3\":\"%{name} Ödevini Sil\",\"duplicate_31cec192\":\"Çoğalt\",\"duplicate_assignment_name_3ca7d753\":\"%{name} Ödevini Çoğalt\",\"edit_assignment_name_a8f7fae1\":\"%{name} Ödevini Düzenle\",\"edit_c5fbea07\":\"Düzenle\",\"mastery_paths_cc4096c2\":\"Mastery Paths\",\"module_90d9fd32\":\"Modül\",\"move_assignment_name_aa253f26\":\"%{name} Ödevini Taşı\",\"move_to_9b91c6e0\":\"Şuraya Taşı...\",\"multiple_modules_930713d4\":\"Çoklu Modüller\",\"no_points_possible_368669d\":\"Olası Puan Yok\",\"retry_ebd5f8ba\":\"Tekrar\"},\"uk\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"Видалити\"}},\"cancel_caeb1e68\":\"Скасувати\",\"delete_assignment_name_deec56e3\":\"Видалити завдання %{name}\",\"duplicate_31cec192\":\"Дублювати\",\"duplicate_assignment_name_3ca7d753\":\"Дублювати завдання %{name}\",\"edit_assignment_name_a8f7fae1\":\"Редагувати завдання %{name}\",\"edit_assignment_name_mastery_paths_40b50541\":\"Редагувати шляхи опанування для завдання %{name}\",\"edit_c5fbea07\":\"Редагувати\",\"edit_mastery_paths_for_name_c9fc59f9\":\"Редагувати шляхи майстерності для  %{name}\",\"mastery_paths_cc4096c2\":\"Шляхи досягнення майстерності\",\"module_90d9fd32\":\"Розділ\",\"move_assignment_name_aa253f26\":\"Перемістити завдання %{name}\",\"move_to_9b91c6e0\":\"Перемістити в...\",\"multiple_modules_930713d4\":\"Кілька модулів\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} Можливих Балів\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} балів\",\"no_points_possible_368669d\":\"Можливі бали відсутні\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"Реалізовано за шляхом: %{cyoe.releasedLabel}\",\"retry_ebd5f8ba\":\"Спробувати ще раз\",\"settings_for_assignment_name_c19565e1\":\"Налаштування для завдання %{name}\"},\"zh-Hans\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"删除\"}},\"cancel_caeb1e68\":\"取消\",\"cancel_duplicating_originalassignmentname_fd7ee1d8\":\"取消复制“%{originalAssignmentName}”\",\"cancel_importing_name_a0b6f3e1\":\"取消导入“%{name}”\",\"delete_assignment_name_deec56e3\":\"删除 %{name}作业\",\"duplicate_31cec192\":\"复制、重复\",\"duplicate_assignment_name_3ca7d753\":\"复制作业%{name}\",\"edit_assignment_name_a8f7fae1\":\"编辑%{name}作业\",\"edit_assignment_name_mastery_paths_40b50541\":\"编辑作业%{name}主路径\",\"edit_c5fbea07\":\"编辑\",\"edit_mastery_paths_for_name_c9fc59f9\":\"编辑主路径%{name}\",\"importing_name_8f2b131d\":\"正在导入“%{name}”\",\"making_a_copy_of_originalassignmentname_b7268992\":\"制作“%{originalAssignmentName}”的副本\",\"mastery_paths_cc4096c2\":\"掌握路径\",\"module_90d9fd32\":\"单元\",\"move_assignment_name_aa253f26\":\"移动 %{name}的作业\",\"move_to_9b91c6e0\":\"移到...\",\"multiple_modules_930713d4\":\"多个单元\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} 可能得分\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} 得分\",\"no_points_possible_368669d\":\"没有可能的分值\",\"oops_something_went_wrong_importing_name_d382cac1\":\"糟糕！导入“%{name}”时出错\",\"oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695\":\"糟糕！复制\\\"%{originalAssignmentName}\\\"时出现问题\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"通过掌握路径发布：%{cyoe.releasedLabel}\",\"retry_duplicating_originalassignmentname_884aee1\":\"再次尝试复制“%{originalAssignmentName}”\",\"retry_ebd5f8ba\":\"重试\",\"settings_for_assignment_name_c19565e1\":\"为作业 %{name} 设置\",\"you_do_not_have_permissions_to_edit_this_moderated_3195294f\":\"您没有编辑此调整后作业的权限\"},\"zh-Hant\":{\"assignments\":{\"assignment_list_item\":{\"delete\":\"刪除\"}},\"cancel_caeb1e68\":\"取消\",\"cancel_duplicating_originalassignmentname_fd7ee1d8\":\"取消複製 \\\"%{originalAssignmentName}\\\"\",\"cancel_importing_name_a0b6f3e1\":\"取消匯入 \\\"%{name}\\\"\",\"delete_assignment_name_deec56e3\":\"刪除任務 %{name}\",\"duplicate_31cec192\":\"重覆\",\"duplicate_assignment_name_3ca7d753\":\"重覆作業%{name}\",\"edit_assignment_name_a8f7fae1\":\"編輯任務 %{name}\",\"edit_assignment_name_mastery_paths_40b50541\":\"編輯任務 %{name} 路徑\",\"edit_c5fbea07\":\"編輯\",\"edit_mastery_paths_for_name_c9fc59f9\":\"編輯路徑%{name}\",\"importing_name_8f2b131d\":\"匯入 \\\"%{name}\\\"\",\"making_a_copy_of_originalassignmentname_b7268992\":\"複製 \\\"%{originalAssignmentName}\\\"\",\"mastery_paths_cc4096c2\":\"精通路徑\",\"module_90d9fd32\":\"單元\",\"move_assignment_name_aa253f26\":\"移動任務  %{name}\",\"move_to_9b91c6e0\":\"移至...\",\"multiple_modules_930713d4\":\"多個單元\",\"n_pointspossible_points_possible_1d098245\":\"%{n_pointsPossible} 可能的分數\",\"n_pointspossible_pts_73274d36\":\"%{n_pointsPossible} 分數\",\"no_points_possible_368669d\":\"沒有可能的分數\",\"oops_something_went_wrong_importing_name_d382cac1\":\"抱歉！匯入時發生錯誤 \\\"%{name}\\\"\",\"oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695\":\"抱歉！複製 \\\"%{originalAssignmentName}\\\" 時出現錯誤\",\"released_by_mastery_path_cyoe_releasedlabel_14c67a92\":\"從掌握歷程釋放：%{cyoe.releasedLabel}\",\"retry_duplicating_originalassignmentname_884aee1\":\"重新嘗試複製 \\\"%{originalAssignmentName}\\\"\",\"retry_ebd5f8ba\":\"重試\",\"settings_for_assignment_name_c19565e1\":\"任務 %{name} 的設置\",\"you_do_not_have_permissions_to_edit_this_moderated_3195294f\":\"您沒有編輯此調整分數作業的權限\"}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/assignments.assignment_list_item.js\n// module id = +3v8QqD30t\n// module chunks = 54","\n    define(['i18nObj', 'translations/assignments.index_view', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('assignments.index_view')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?assignments.index_view!./public/javascripts/dummyI18nResource.js\n// module id = +6QJXPIA3K\n// module chunks = 54","\n    define(['i18nObj', 'translations/keyboard_nav_dialog', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('keyboard_nav_dialog')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?keyboard_nav_dialog!./public/javascripts/dummyI18nResource.js\n// module id = /+rdBOYOM7\n// module chunks = 28 35 54","#\n# Copyright (C) 2013 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  'Backbone'\n  'underscore'\n  'jquery'\n  '../models/Section'\n  'i18n!assignments',\n], (Backbone, _, $, Section, I18n) ->\n\n  class AssignmentOverride extends Backbone.Model\n\n    defaults:\n      due_at_overridden: true\n      due_at: null\n      all_day: false\n      all_day_date: null\n\n      unlock_at_overridden: true\n      unlock_at: null\n\n      lock_at_overridden: true\n      lock_at: null\n\n    @conditionalRelease:\n      name: I18n.t(\"Mastery Paths\")\n      noop_id: '1'\n\n    initialize: ->\n      super\n      @on 'change:course_section_id', @clearID, this\n\n    # This method exists because the api cannot currently update the\n    # course_section_id for an assignment override.\n    clearID: ->\n      @set 'id', undefined\n\n    parse: ( {assignment_override} ) ->\n      assignment_override\n\n    # Re-apply the original assignment_override namespace\n    # since rails is expecting it.\n    toJSON: ->\n      assignment_override: super\n\n    @defaultDueDate: ( options ) ->\n      options ?= {}\n      opts = _.extend options,\n        {course_section_id: Section.defaultDueDateSectionID}\n      new AssignmentOverride opts\n\n    isBlank: => not @get('due_at')?\n\n    getCourseSectionID: => @get('course_section_id')\n\n    representsDefaultDueDate: =>\n      @getCourseSectionID() is Section.defaultDueDateSectionID\n\n    combinedDates: =>\n      # using this as a key to sort overrides\n      # into rows in the due date picker\n      override_id = if @get(\"id\") is undefined then null else @get(\"id\")\n      \"#{@get(\"due_at\") + @get(\"unlock_at\") + @get(\"lock_at\") + override_id}\"\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/models/AssignmentOverride.coffee","\n    define('jst/ExternalTools/_external_tools_menu', [\"handlebars/runtime\",\"jst/ExternalTools/_external_tool_menuitem\",\"coffeescripts/handlebars_helpers.coffee\"], function(Handlebars){\n      Handlebars = Handlebars.default\n      var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};\n      var name = 'ExternalTools/-external-tools-menu';\n      templates[name] = template(function (Handlebars,depth0,helpers,partials,data) {\n  this.compilerInfo = [4,'>= 1.0.0'];\nhelpers = this.merge(helpers, Handlebars.helpers); partials = this.merge(partials, Handlebars.partials); data = data || {};\n  var buffer = \"\", stack1, self=this;\n\nfunction program1(depth0,data) {\n  \n  var buffer = \"\", stack1;\n  buffer += \"\\n  \";\n  stack1 = helpers.each.call(depth0, depth0, {hash:{},inverse:self.noop,fn:self.program(2, program2, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n  </ul>\\n\";\n  return buffer;\n  }\nfunction program2(depth0,data) {\n  \n  var buffer = \"\", stack1;\n  buffer += \"\\n    <li role=\\\"presentation\\\">\\n      \";\n  stack1 = self.invokePartial(partials['ExternalTools/external_tool_menuitem'], 'ExternalTools/external_tool_menuitem', depth0, helpers, partials, data);\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n    </li>\\n  \";\n  return buffer;\n  }\n\n  stack1 = helpers['if'].call(depth0, depth0, {hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n\";\n  return buffer;\n  });\n      \n      Handlebars.registerPartial('ExternalTools/external_tools_menu', templates['ExternalTools/-external-tools-menu']);\n    ;\n      ;\n      return templates[name];\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./app/views/jst/ExternalTools/_external_tools_menu.handlebars\n// module id = /wyxVydxy2\n// module chunks = 51 54 73 77","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"حدث خطأ أثناء تغيير حالة التأمين لـ \\\"%{fileName}\\\"\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName}  مؤمّن - انقر للتعديل\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName}  غير مؤمّن - انقر للتعديل\",\"lock_c341af13\":\"تأمين\",\"locked_762f138b\":\"تم التأمين\",\"locked_click_to_unlock_50747e11\":\"مؤمّن. انقر لإلغاء التأمين.\",\"locking_91f476a5\":\"جارٍ التأمين...\",\"this_file_16b24f02\":\"هذا الملف\",\"this_file_9443cda1\":\"هذا الملف\",\"unlock_f6196bf5\":\"إلغاء التأمين\",\"unlocked_beee43de\":\"غير مؤمّن\",\"unlocked_click_to_lock_53262ce7\":\"غير مؤمّن. انقر للتأمين.\",\"unlocking_a6b5c02d\":\"جارٍ إلغاء التأمين...\"},\"cy\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"Gwall wrth newid cyflwr cloi \\\"%{fileName}\\\"\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName}  wedi Cloi - Cliciwch i addasu\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName}  wedi Ddatgloi - Cliciwch i addasu\",\"lock_c341af13\":\"Cloi\",\"locked_762f138b\":\"Wedi Cloi\",\"locked_click_to_unlock_50747e11\":\"Wedi Cloi. Cliciwch i ddatgloi.\",\"locking_91f476a5\":\"Wrthi’n cloi...\",\"this_file_16b24f02\":\"y ffeil hon\",\"this_file_9443cda1\":\"Mae’r ffeil hon\",\"unlock_f6196bf5\":\"Datgloi\",\"unlocked_beee43de\":\"Wedi Datgloi\",\"unlocked_click_to_lock_53262ce7\":\"Wedi Datgloi. Cliciwch i’w gloi.\",\"unlocking_a6b5c02d\":\"Wrthi’n datgloi...\"},\"da\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"Der opstod en fejl under ændring af låsestatus for \\\"%{fileName}\\\"\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName}  er låst, klik for at ændre\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName}  er låst op, klik for at ændre\",\"lock_c341af13\":\"Lås\",\"locked_762f138b\":\"Låst\",\"locked_click_to_unlock_50747e11\":\"Låst. Klik for at låse op.\",\"locking_91f476a5\":\"Låser ...\",\"this_file_16b24f02\":\"denne fil\",\"this_file_9443cda1\":\"Denne fil\",\"unlock_f6196bf5\":\"Lås op\",\"unlocked_beee43de\":\"Låst op\",\"unlocked_click_to_lock_53262ce7\":\"Låst op. Klik for at låse.\",\"unlocking_a6b5c02d\":\"Låser op ...\"},\"da-x-k12\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"Der opstod en fejl under ændring af låsestatus for \\\"%{fileName}\\\"\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName}  er låst, klik for at ændre\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName}  er låst op, klik for at ændre\",\"lock_c341af13\":\"Lås\",\"locked_762f138b\":\"Låst\",\"locked_click_to_unlock_50747e11\":\"Låst. Klik for at låse op.\",\"locking_91f476a5\":\"Låser ...\",\"this_file_16b24f02\":\"denne fil\",\"this_file_9443cda1\":\"Denne fil\",\"unlock_f6196bf5\":\"Lås op\",\"unlocked_beee43de\":\"Låst op\",\"unlocked_click_to_lock_53262ce7\":\"Låst op. Klik for at låse.\",\"unlocking_a6b5c02d\":\"Låser op ...\"},\"de\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"Fehler beim Ändern des Sperrstatus für „%{fileName}“\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName}  ist gesperrt – zum Ändern anklicken\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName}  ist entsperrt – zum Ändern anklicken\",\"lock_c341af13\":\"Sperre\",\"locked_762f138b\":\"Gesperrt\",\"locked_click_to_unlock_50747e11\":\"Gesperrt. Zum Entsperren klicken\",\"locking_91f476a5\":\"Wird gesperrt ...\",\"this_file_16b24f02\":\"diese Datei\",\"this_file_9443cda1\":\"Diese Datei\",\"unlock_f6196bf5\":\"Entsperren\",\"unlocked_beee43de\":\"Entsperrt\",\"unlocked_click_to_lock_53262ce7\":\"Entsperrt Zum Sperren klicken\",\"unlocking_a6b5c02d\":\"Wird entsperrt ...\"},\"el\":{\"locked_762f138b\":\"Κλειδωμένο\",\"this_file_9443cda1\":\"Αυτό το αρχείο\"},\"en-AU\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"An error occurred changing the lock state for \\\"%{fileName}\\\"\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName}  is Locked - Click to modify\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName}  is Unlocked - Click to modify\",\"lock_c341af13\":\"Lock\",\"locked_762f138b\":\"Locked\",\"locked_click_to_unlock_50747e11\":\"Locked. Click to unlock.\",\"locking_91f476a5\":\"Locking...\",\"this_file_16b24f02\":\"this file\",\"this_file_9443cda1\":\"This file\",\"unlock_f6196bf5\":\"Unlock\",\"unlocked_beee43de\":\"Unlocked\",\"unlocked_click_to_lock_53262ce7\":\"Unlocked. Click to lock.\",\"unlocking_a6b5c02d\":\"Unlocking...\"},\"en-CA\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"An error occurred changing the lock state for \\\"%{fileName}\\\"\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName}  is Locked - Click to modify\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName}  is Unlocked - Click to modify\",\"lock_c341af13\":\"Lock\",\"locked_762f138b\":\"Locked\",\"locked_click_to_unlock_50747e11\":\"Locked. Click to unlock.\",\"locking_91f476a5\":\"Locking...\",\"this_file_16b24f02\":\"this file\",\"this_file_9443cda1\":\"This file\",\"unlock_f6196bf5\":\"Unlock\",\"unlocked_beee43de\":\"Unlocked\",\"unlocked_click_to_lock_53262ce7\":\"Unlocked. Click to lock.\",\"unlocking_a6b5c02d\":\"Unlocking...\"},\"en-GB\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"An error occurred changing the lock state for \\\"%{fileName}\\\"\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName}  is Locked - Click to modify\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName}  is Unlocked - Click to modify\",\"lock_c341af13\":\"Lock\",\"locked_762f138b\":\"Locked\",\"locked_click_to_unlock_50747e11\":\"Locked. Click to unlock.\",\"locking_91f476a5\":\"Locking...\",\"this_file_16b24f02\":\"this file\",\"this_file_9443cda1\":\"This file\",\"unlock_f6196bf5\":\"Unlock\",\"unlocked_beee43de\":\"Unlocked\",\"unlocked_click_to_lock_53262ce7\":\"Unlocked. Click to lock.\",\"unlocking_a6b5c02d\":\"Unlocking...\"},\"en-GB-x-lbs\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"An error occurred changing the lock state for \\\"%{fileName}\\\"\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName}  is Locked - Click to modify\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName}  is Unlocked - Click to modify\",\"lock_c341af13\":\"Lock\",\"locked_762f138b\":\"Locked\",\"locked_click_to_unlock_50747e11\":\"Locked. Click to unlock.\",\"locking_91f476a5\":\"Locking...\",\"this_file_16b24f02\":\"this file\",\"this_file_9443cda1\":\"This file\",\"unlock_f6196bf5\":\"Unlock\",\"unlocked_beee43de\":\"Unlocked\",\"unlocked_click_to_lock_53262ce7\":\"Unlocked. Click to lock.\",\"unlocking_a6b5c02d\":\"Unlocking...\"},\"en-GB-x-ukhe\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"An error occurred changing the lock state for \\\"%{fileName}\\\"\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName}  is Locked - Click to modify\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName}  is Unlocked - Click to modify\",\"lock_c341af13\":\"Lock\",\"locked_762f138b\":\"Locked\",\"locked_click_to_unlock_50747e11\":\"Locked. Click to unlock.\",\"locking_91f476a5\":\"Locking...\",\"this_file_16b24f02\":\"this file\",\"this_file_9443cda1\":\"This file\",\"unlock_f6196bf5\":\"Unlock\",\"unlocked_beee43de\":\"Unlocked\",\"unlocked_click_to_lock_53262ce7\":\"Unlocked. Click to lock.\",\"unlocking_a6b5c02d\":\"Unlocking...\"},\"es\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"Se produjo un error al cambiar el estado de bloqueo de \\\"%{fileName}\\\"\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName}  está bloqueado: Haga clic para modificar\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName}  está desbloqueado: Haga clic para modificar\",\"lock_c341af13\":\"Bloquear\",\"locked_762f138b\":\"Bloqueado\",\"locked_click_to_unlock_50747e11\":\"Bloqueado. Hacer clic para desbloquear.\",\"locking_91f476a5\":\"Bloqueando...\",\"this_file_16b24f02\":\"este archivo\",\"this_file_9443cda1\":\"Este archivo\",\"unlock_f6196bf5\":\"Desbloquear\",\"unlocked_beee43de\":\"Desbloqueado\",\"unlocked_click_to_lock_53262ce7\":\"Desbloqueado. Hacer clic para bloquear.\",\"unlocking_a6b5c02d\":\"Desbloqueando...\"},\"fa\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\" در حال تغییر حالت قفل برای %{fileName} خطایی رخ داد\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName} قفل شده است- برای تغییر دادن کلیک کنید\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName} قفل نشده است- برای تغییر دادن کلیک کنید\",\"lock_c341af13\":\"قفل کردن\",\"locked_762f138b\":\"قفل شده\",\"locked_click_to_unlock_50747e11\":\"قفل شده. برای قفل گشایی کلیک کنید.\",\"locking_91f476a5\":\"در حال قفل کردن...\",\"this_file_16b24f02\":\"این فایل\",\"this_file_9443cda1\":\"این فایل\",\"unlock_f6196bf5\":\"قفل گشایی\",\"unlocked_beee43de\":\"قفل گشایی شده\",\"unlocked_click_to_lock_53262ce7\":\"قفل گشایی شده. برای قفل کردن کلیک کنید.\",\"unlocking_a6b5c02d\":\"درحال قفل گشایی...\"},\"fr\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"Une erreur est survenue lors du changement de l’état de verrouillage de « %{fileName} »\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName}  est verrouillé – Cliquez pour modifier\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName}  est déverrouillé – Cliquez pour modifier\",\"lock_c341af13\":\"Verrouiller\",\"locked_762f138b\":\"Verrouillé(e)\",\"locked_click_to_unlock_50747e11\":\"Verrouillé. Cliquez pour déverrouiller.\",\"locking_91f476a5\":\"Verrouillage...\",\"this_file_16b24f02\":\"ce fichier\",\"this_file_9443cda1\":\"Ce fichier\",\"unlock_f6196bf5\":\"Déverrouiller\",\"unlocked_beee43de\":\"Déverrouillé\",\"unlocked_click_to_lock_53262ce7\":\"Déverrouillé. Cliquez pour verrouiller.\",\"unlocking_a6b5c02d\":\"Déverrouillage...\"},\"fr-CA\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"Une erreur s’est produite lors du changement d’état de verrouillage pour « %{fileName} »\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName}  Est verrouillé - Cliquez pour modifier\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName}  Est déverrouillé - Cliquez pour modifier\",\"lock_c341af13\":\"Verrouiller\",\"locked_762f138b\":\"Verrouillé\",\"locked_click_to_unlock_50747e11\":\"Verrouillé. Cliquez pour déverrouiller.\",\"locking_91f476a5\":\"En cours de verrouillage...\",\"this_file_16b24f02\":\"ce fichier\",\"this_file_9443cda1\":\"Ce fichier\",\"unlock_f6196bf5\":\"Déverrouiller\",\"unlocked_beee43de\":\"Déverrouillé\",\"unlocked_click_to_lock_53262ce7\":\"Déverrouillé. Cliquez pour verrouiller.\",\"unlocking_a6b5c02d\":\"En cours de déverrouillage...\"},\"he\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"אירעה שגיאה בעת שינוי מצב הנעילה של  \\\"%{fileName}\\\"\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName}  נעול - הקש/י כדי לעדכן\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName}  אינו נעול - הקש/י כדי לעדכן\",\"lock_c341af13\":\"נעילה\",\"locked_762f138b\":\"נעול\",\"locked_click_to_unlock_50747e11\":\"נעול: הקש/י להסרת נעילה\",\"locking_91f476a5\":\"נועל...\",\"this_file_9443cda1\":\"קובץ זה\"},\"ht\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"Gen yon erè ki fèt nan chanjman estati \\\"%{fileName}\\\"\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName}  Bloke - Klike pou modifye\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName}  Debloke - Klike pou modifye\",\"lock_c341af13\":\"Bloke\",\"locked_762f138b\":\"Bloke\",\"locked_click_to_unlock_50747e11\":\"Bloke. Klike pou debloke.\",\"locking_91f476a5\":\"Bblokaj...\",\"this_file_16b24f02\":\"fichye sa a\",\"this_file_9443cda1\":\"Fichye sa a\",\"unlock_f6196bf5\":\"Debloke\",\"unlocked_beee43de\":\"Debloke\",\"unlocked_click_to_lock_53262ce7\":\"Debloke. Klike pou bloke.\",\"unlocking_a6b5c02d\":\"Debloke...\"},\"hu\":{\"locked_762f138b\":\"Zárolt\",\"locking_91f476a5\":\"Zárolás...\",\"this_file_16b24f02\":\"ez a fájl\",\"this_file_9443cda1\":\"Ez a fájl\",\"unlock_f6196bf5\":\"Zárolás feloldása\"},\"hy\":{\"locked_762f138b\":\"Արգելափակված է\",\"this_file_9443cda1\":\"Այս ֆայլը\"},\"is\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"Villa kom upp við breytingu á læstri stöðu \\\"%{fileName}\\\"\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName} er læst - Smelltu til að breyta\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName}  er ólæst - Smelltu til að breyta\",\"lock_c341af13\":\"Læsa\",\"locked_762f138b\":\"Læst \",\"locked_click_to_unlock_50747e11\":\"Læst. Smellið til að opna.\",\"locking_91f476a5\":\"Læsi...\",\"this_file_16b24f02\":\"þessi skrá\",\"this_file_9443cda1\":\"Þessi skrá\",\"unlock_f6196bf5\":\"Aflæsa\",\"unlocked_beee43de\":\"Aflæst\",\"unlocked_click_to_lock_53262ce7\":\"Aflæst. Smelltu til að læsa.\",\"unlocking_a6b5c02d\":\"Aflæsi...\"},\"it\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"Si è verificato un errore durante la modifica dello stato di blocco per \\\"%{fileName}\\\"\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName}  è bloccato - Fai clic per modificare\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName}  è sbloccato - Fai clic per modificare\",\"lock_c341af13\":\"Blocca\",\"locked_762f138b\":\"Bloccato\",\"locked_click_to_unlock_50747e11\":\"Bloccato. Fai clic per sbloccare.\",\"locking_91f476a5\":\"Blocco in corso...\",\"this_file_16b24f02\":\"questo file\",\"this_file_9443cda1\":\"Questo file\",\"unlock_f6196bf5\":\"Sblocca\",\"unlocked_beee43de\":\"Sbloccato\",\"unlocked_click_to_lock_53262ce7\":\"Sbloccato. Fai clic per bloccare.\",\"unlocking_a6b5c02d\":\"Sblocco in corso...\"},\"ja\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"\\\"%{fileName}\\\"のロック状態を変更中にエラーが発生しました\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName}  ロックされています - クリックして変更\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName}  アンロックされています - クリックして変更\",\"lock_c341af13\":\"ロック\",\"locked_762f138b\":\"ロックされています\",\"locked_click_to_unlock_50747e11\":\"ロックされています。クリックしてロック解除する。\",\"locking_91f476a5\":\"ロック中...\",\"this_file_16b24f02\":\"このファイル\",\"this_file_9443cda1\":\"このファイル\",\"unlock_f6196bf5\":\"ロック解除する\",\"unlocked_beee43de\":\"ロック解除済み\",\"unlocked_click_to_lock_53262ce7\":\"ロック解除。クリックしてロックする。\",\"unlocking_a6b5c02d\":\"ロック解除中...\"},\"mi\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"I puta he hapa i te wā e huri ana te āhua o te raka mō \\\"%{fileName}\\\"\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName} Kei te raka - Pāwhiritia ki te whakarerekē\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName} Kua huakina - Pāwhiritia ki te whakarerekē\",\"lock_c341af13\":\"raka\",\"locked_762f138b\":\"Kua rakaina\",\"locked_click_to_unlock_50747e11\":\"Kua rakaina: Pāwhiri ki te huaki\",\"locking_91f476a5\":\"E raka ana .....\",\"this_file_16b24f02\":\"Tēnei kōnae\",\"this_file_9443cda1\":\"tēnei kōnae\",\"unlock_f6196bf5\":\"Huaki\",\"unlocked_beee43de\":\"Kua Weterakaina\",\"unlocked_click_to_lock_53262ce7\":\"Kua Huakina Pāwhiri ki te huaki\",\"unlocking_a6b5c02d\":\"E huakina ana\"},\"nb\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"Det oppstod en feil ved endring av låsestatus for \\\"%{fileName}\\\"\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName}  er låst - Klikk for å endre\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName}  er ulåst - Klikk for å endre\",\"lock_c341af13\":\"Lås\",\"locked_762f138b\":\"Låst\",\"locked_click_to_unlock_50747e11\":\"Låst. Klikk for å låse opp.\",\"locking_91f476a5\":\"Låser…\",\"this_file_16b24f02\":\"denne filen\",\"this_file_9443cda1\":\"denne filen\",\"unlock_f6196bf5\":\"Lås opp\",\"unlocked_beee43de\":\"Låst opp\",\"unlocked_click_to_lock_53262ce7\":\"Låst opp. Klikk for å låse.\",\"unlocking_a6b5c02d\":\"Låser opp…\"},\"nb-x-k12\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"Det oppstod en feil ved endring av låsestatus for \\\"%{fileName}\\\"\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName}  er låst - Klikk for å endre\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName}  er ulåst - Klikk for å endre\",\"lock_c341af13\":\"Lås\",\"locked_762f138b\":\"Låst\",\"locked_click_to_unlock_50747e11\":\"Låst. Klikk for å låse opp.\",\"locking_91f476a5\":\"Låser…\",\"this_file_16b24f02\":\"denne filen\",\"this_file_9443cda1\":\"denne filen\",\"unlock_f6196bf5\":\"Lås opp\",\"unlocked_beee43de\":\"Låst opp\",\"unlocked_click_to_lock_53262ce7\":\"Låst opp. Klikk for å låse.\",\"unlocking_a6b5c02d\":\"Låser opp…\"},\"nl\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"Er is een fout opgetreden bij het wijzigen van de vergrendelingsstatus voor \\\"%{fileName}\\\"\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName}  is vergrendeld - Klik om te wijzigen\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName}  is ontgrendeld - Klik om te wijzigen\",\"lock_c341af13\":\"Vergrendelen\",\"locked_762f138b\":\"Vergrendeld\",\"locked_click_to_unlock_50747e11\":\"Vergrendeld. Klik om te ontgrendelen.\",\"locking_91f476a5\":\"Vergrendelen...\",\"this_file_16b24f02\":\"dit bestand\",\"this_file_9443cda1\":\"Dit bestand\",\"unlock_f6196bf5\":\"Ontgrendelen\",\"unlocked_beee43de\":\"Ontgrendeld\",\"unlocked_click_to_lock_53262ce7\":\"Ontgrendeld. Klik om te vergrendelen.\",\"unlocking_a6b5c02d\":\"Ontgrendelen...\"},\"nn\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"Det oppstod ein feil ved endring av låsestatus for\\\"%{fileName}\\\"\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName} er låst - klikk for å endre\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName} er ulåst - klikk for å endre\",\"lock_c341af13\":\"Lås\",\"locked_762f138b\":\"Låst\",\"locked_click_to_unlock_50747e11\":\"Låst. Klikk for å opne.\",\"locking_91f476a5\":\"Låser...\",\"this_file_16b24f02\":\"denne fila\",\"this_file_9443cda1\":\"Denne fila\",\"unlock_f6196bf5\":\"Lås opp\",\"unlocked_beee43de\":\"Ulåst\",\"unlocked_click_to_lock_53262ce7\":\"Ulåst. Klikk for å opne. \",\"unlocking_a6b5c02d\":\"Låser opp...\"},\"pl\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"Wystąpił błąd podczas zmiany stanu blokady dla \\\"%{fileName}\\\"\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName}  jest zablokowany – kliknij, aby zmienić.\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName}  jest odblokowany – kliknij, aby zmienić.\",\"lock_c341af13\":\"Zablokuj\",\"locked_762f138b\":\"Zablokowany\",\"locked_click_to_unlock_50747e11\":\"Zblokowane. Kliknij, aby odblokować.\",\"locking_91f476a5\":\"Blokowanie...\",\"this_file_16b24f02\":\"ten plik\",\"this_file_9443cda1\":\"Ten plik\",\"unlock_f6196bf5\":\"Odblokuj\",\"unlocked_beee43de\":\"Odblokowane\",\"unlocked_click_to_lock_53262ce7\":\"Odblokowane. Kliknij, aby zablokować.\",\"unlocking_a6b5c02d\":\"Odblokowywanie...\"},\"pt\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"Ocorreu um erro ao alterar o estado de bloqueio para \\\"%{fileName}\\\"\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName}  Está bloqueado - Clique para modificar\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName}  Está desbloqueado - Clique para modificar\",\"lock_c341af13\":\"Bloquear\",\"locked_762f138b\":\"Travada\",\"locked_click_to_unlock_50747e11\":\"Bloqueado, Clique para desbloquear.\",\"locking_91f476a5\":\"A bloquear...\",\"this_file_16b24f02\":\"este ficheiro\",\"this_file_9443cda1\":\"Este ficheiro\",\"unlock_f6196bf5\":\"Desbloquear\",\"unlocked_beee43de\":\"Desbloqueado\",\"unlocked_click_to_lock_53262ce7\":\"Desbloqueado. Clique para bloquear.\",\"unlocking_a6b5c02d\":\"A desbloquear...\"},\"pt-BR\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"Um erro ocorreu ao alterar o estado bloqueado para \\\"%{fileName}\\\"\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName}  está bloqueado - Clique para modificar\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName}  está desbloqueado - Clique para modificar\",\"lock_c341af13\":\"Bloquear\",\"locked_762f138b\":\"Bloqueado(a)\",\"locked_click_to_unlock_50747e11\":\"Bloqueado. Clique para desbloquear.\",\"locking_91f476a5\":\"Bloqueando...\",\"this_file_16b24f02\":\"este arquivo\",\"this_file_9443cda1\":\"Este arquivo\",\"unlock_f6196bf5\":\"Desbloquear\",\"unlocked_beee43de\":\"Desbloqueado\",\"unlocked_click_to_lock_53262ce7\":\"Desbloqueado. Clique para bloquear.\",\"unlocking_a6b5c02d\":\"Desbloqueando...\"},\"ru\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"Произошла ошибка, что привело к изменению статуса блокировки для \\\"%{fileName}\\\"\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName}  Заблокирован - Нажмите для изменения\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName}  Разблокирован - Нажмите для изменения\",\"lock_c341af13\":\"Заблокировать\",\"locked_762f138b\":\"Заблокировано\",\"locked_click_to_unlock_50747e11\":\"Заблокировано. Нажмите, чтобы разблокировать.\",\"locking_91f476a5\":\"Осуществляется блокировка...\",\"this_file_16b24f02\":\"этот файл\",\"this_file_9443cda1\":\"Этот файл\",\"unlock_f6196bf5\":\"Разблокировать\",\"unlocked_beee43de\":\"Разблокировано\",\"unlocked_click_to_lock_53262ce7\":\"Разблокировано. Нажмите, чтобы заблокировать.\",\"unlocking_a6b5c02d\":\"Осуществляется разблокировка...\"},\"sl\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"Med spreminjanjem stanja zaklepa datotek »%{fileName}« je prišlo do napake.\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName} je zaklenjeno – kliknite, da prilagodite.\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName} je odklenjeno – kliknite, da prilagodite.\",\"lock_c341af13\":\"Zakleni\",\"locked_762f138b\":\"Zaklenjeno\",\"locked_click_to_unlock_50747e11\":\"Zaklenjeno. Kliknite, da odklenete.\",\"locking_91f476a5\":\"Zaklepanje ...\",\"this_file_16b24f02\":\"ta datoteka\",\"this_file_9443cda1\":\"Ta datoteka\",\"unlock_f6196bf5\":\"Odkleni\",\"unlocked_beee43de\":\"Odklenjeno\",\"unlocked_click_to_lock_53262ce7\":\"Odklenjeno. Kliknite, da zaklenete.\",\"unlocking_a6b5c02d\":\"Odklepanje ...\"},\"sv\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"Ett fel uppstod vid ändring av låsstatusen för \\\"%{fileName}\\\"\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName}  är låst - klicka för att modifiera\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName}  Är låst - klicka för att modifiera\",\"lock_c341af13\":\"Lås\",\"locked_762f138b\":\"Låst\",\"locked_click_to_unlock_50747e11\":\"Låst: Klicka för att låsa upp.\",\"locking_91f476a5\":\"Låser...\",\"this_file_16b24f02\":\"den här filen\",\"this_file_9443cda1\":\"Denna filen\",\"unlock_f6196bf5\":\"Lås upp\",\"unlocked_beee43de\":\"Olåst\",\"unlocked_click_to_lock_53262ce7\":\"Upplåst Klicka för att låsa.\",\"unlocking_a6b5c02d\":\"Låser upp...\"},\"sv-x-k12\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"Ett fel uppstod vid ändring av låsstatusen för \\\"%{fileName}\\\"\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName}  är låst - klicka för att modifiera\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName}  Är låst - klicka för att modifiera\",\"lock_c341af13\":\"Lås\",\"locked_762f138b\":\"Låst\",\"locked_click_to_unlock_50747e11\":\"Låst: Klicka för att låsa upp.\",\"locking_91f476a5\":\"Låser...\",\"this_file_16b24f02\":\"den här filen\",\"this_file_9443cda1\":\"Denna filen\",\"unlock_f6196bf5\":\"Lås upp\",\"unlocked_beee43de\":\"Olåst\",\"unlocked_click_to_lock_53262ce7\":\"Upplåst Klicka för att låsa.\",\"unlocking_a6b5c02d\":\"Låser upp...\"},\"tr\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"\\\"%{fileName}\\\" için kilitleme durumunu değiştirirken bir hata oluştu.\",\"locked_762f138b\":\"Kilitli\",\"this_file_9443cda1\":\"Bu dosya\"},\"uk\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"Виникла помилка при зміні замкненого стану на \\\"%{fileName}\\\"\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName}  заблоковано - Натисніть, щоб змінити\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName}  незаблоковано - Натисніть, щоб змінити\",\"lock_c341af13\":\"Заблокувати\",\"locked_762f138b\":\"Заблоковано\",\"locked_click_to_unlock_50747e11\":\"Заблоковано. Клацніть, щоб розблокувати.\",\"locking_91f476a5\":\"Блокування...\",\"this_file_16b24f02\":\"цей файл\",\"this_file_9443cda1\":\"Цей файл\",\"unlock_f6196bf5\":\"Розблокувати\",\"unlocked_beee43de\":\"Розблоковано\",\"unlocked_click_to_lock_53262ce7\":\"Розблоковано. Натисніть, щоб заблокувати.\",\"unlocking_a6b5c02d\":\"Розблокування ...\"},\"zh-Hans\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"更改“%{fileName}”的锁定状态时出错\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName}  已锁定 - 单击以修改\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName}  已解锁 - 单击以修改\",\"lock_c341af13\":\"锁定\",\"locked_762f138b\":\"已锁定\",\"locked_click_to_unlock_50747e11\":\"已锁定。单击以解锁。\",\"locking_91f476a5\":\"正在锁定……\",\"this_file_16b24f02\":\"此文件\",\"this_file_9443cda1\":\"此文件\",\"unlock_f6196bf5\":\"解锁\",\"unlocked_beee43de\":\"已解锁\",\"unlocked_click_to_lock_53262ce7\":\"已解锁。单击以锁定。\",\"unlocking_a6b5c02d\":\"正在解锁……\"},\"zh-Hant\":{\"an_error_occurred_changing_the_lock_state_for_file_77443f15\":\"變更 \\\"%{fileName}\\\" 的鎖定狀態時發生錯誤\",\"filename_is_locked_click_to_modify_bf711763\":\"%{fileName}  已鎖定 - 按一下進行修改\",\"filename_is_unlocked_click_to_modify_99e847be\":\"%{fileName}  已解鎖 - 按一下進行修改\",\"lock_c341af13\":\"鎖定\",\"locked_762f138b\":\"已鎖定\",\"locked_click_to_unlock_50747e11\":\"已鎖定。點擊解鎖。\",\"locking_91f476a5\":\"鎖定中...\",\"this_file_16b24f02\":\"此文儅\",\"this_file_9443cda1\":\"此文儅\",\"unlock_f6196bf5\":\"解除鎖定\",\"unlocked_beee43de\":\"已解除鎖定\",\"unlocked_click_to_lock_53262ce7\":\"已解除鎖定。點擊鎖定。\",\"unlocking_a6b5c02d\":\"解除鎖定中...\"}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/lock_btn_module.js\n// module id = 0YW0+gP87K\n// module chunks = 32 39 51 54 58 59 60 73 77 79","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"يتعذر تعديل تقييمات مجموعة المهام، نظرًا لوجود مهمات في إحدى المجموعات التي تم إغلاق مواعيد استحقاقها.\",\"cancel_caeb1e68\":\"إلغاء\",\"save_11a80ec3\":\"حفظ\",\"saving_d55dd90e\":\"جارٍ الحفظ...\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"تقييم الدرجة النهائية بناءً على مجموعات المهام\"},\"cy\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"Does dim modd golygu pwysoliadau grŵp aseiniadau, oherwydd bod un o'r grwpiau’n cynnwys aseiniadau â dyddiadau erbyn sydd wedi mynd heibio.\",\"cancel_caeb1e68\":\"Canslo\",\"save_11a80ec3\":\"Cadw\",\"saving_d55dd90e\":\"Wrthi’n cadw...\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"Pwysoli’r radd derfynol ar sail grwpiau aseiniadau\"},\"da\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"Vægtning af opgavegruppe kan ikke redigeres, fordi der er opgaver i en af ​​grupperne, hvis forfaldsdato er nået.\",\"cancel_caeb1e68\":\"Annuller\",\"save_11a80ec3\":\"Gem\",\"saving_d55dd90e\":\"Gemmer ...\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"Vægt på endelig karakter baseret på opgavegrupper\"},\"da-x-k12\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"Vægtning af opgavegruppe kan ikke redigeres, fordi der er opgaver i en af ​​grupperne, hvis forfaldsdato er nået.\",\"cancel_caeb1e68\":\"Annuller\",\"save_11a80ec3\":\"Gem\",\"saving_d55dd90e\":\"Gemmer ...\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"Vægt på endelig vurdering baseret på opgavegrupper\"},\"de\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"Die Gewichtung der Aufgabengruppen kann nicht geändert werden, weil es in einer der Gruppen Aufgaben gibt, deren Abgabefrist überschritten ist.\",\"cancel_caeb1e68\":\"Abbrechen\",\"save_11a80ec3\":\"Speichern\",\"saving_d55dd90e\":\"Wird gespeichert ...\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"Die Gewichtung der Gesamtnote basiert auf den Aufgabengruppen\"},\"el\":{\"cancel_caeb1e68\":\"Ακύρωση\",\"save_11a80ec3\":\"Αποθήκευση\",\"saving_d55dd90e\":\"Αποθήκευση...\"},\"en-AU\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"Assignment group weights can't be edited because there are assignments in one of the groups whose due dates are closed.\",\"cancel_caeb1e68\":\"Cancel\",\"save_11a80ec3\":\"Save\",\"saving_d55dd90e\":\"Saving...\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"Weight final mark based on assignment groups\"},\"en-CA\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"Assignment group weights can't be edited because there are assignments in one of the groups whose due dates are closed.\",\"cancel_caeb1e68\":\"Cancel\",\"save_11a80ec3\":\"Save\",\"saving_d55dd90e\":\"Saving...\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"Weight final grade based on assignment groups\"},\"en-GB\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"Assignment group weights cannot be edited because there are assignments in one of the groups whose due dates are closed.\",\"cancel_caeb1e68\":\"Cancel\",\"save_11a80ec3\":\"Save\",\"saving_d55dd90e\":\"Saving...\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"Weight final grade based on assignment groups\"},\"en-GB-x-lbs\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"Task group weights cannot be edited because there are tasks in one of the groups whose due dates are closed.\",\"cancel_caeb1e68\":\"Cancel\",\"save_11a80ec3\":\"Save\",\"saving_d55dd90e\":\"Saving...\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"Weight final grade based on task groups\"},\"en-GB-x-ukhe\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"Assignment group weights cannot be edited because there are assignments in one of the groups whose due dates are closed.\",\"cancel_caeb1e68\":\"Cancel\",\"save_11a80ec3\":\"Save\",\"saving_d55dd90e\":\"Saving...\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"Weight final grade based on assignment groups\"},\"es\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"No se pueden editar las ponderaciones grupales de las tareas debido a que existen tareas en uno de los grupos cuyas fechas límites se encuentran cerradas.\",\"cancel_caeb1e68\":\"Cancelar\",\"save_11a80ec3\":\"Guardar\",\"saving_d55dd90e\":\"Guardando...\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"Nota media final basada en el grupo de tareas\"},\"fa\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"وزنهای گروه تکالیف  را نمی‌توان ویرایش کرد، زیرا در یکی از گروه ها، تکالیفی وجود دارد که تاریخ مهلت آن به پایان رسیده است.\",\"cancel_caeb1e68\":\"لغو\",\"save_11a80ec3\":\"ذخیره سازی\",\"saving_d55dd90e\":\"در حال ذخیره سازی...\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"وزن دار کردن نمره نهایی بر اساس گروه های تکلیف\"},\"fr\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"Les poids des groupes de devoirs ne peuvent être édités car il y a des devoirs dans l'un de ces groupes dont la date de clôture est passée.\",\"cancel_caeb1e68\":\"Annuler\",\"save_11a80ec3\":\"Enregistrer\",\"saving_d55dd90e\":\"Enregistrement...\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"Pondérer la note finale en fonction des groupes de tâches\"},\"fr-CA\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"Les poids des groupes de devoirs ne peuvent être édités car il y a des devoirs dans l'un de ces groupes dont la date de clôture est passée.\",\"cancel_caeb1e68\":\"Annuler\",\"save_11a80ec3\":\"Enregistrer\",\"saving_d55dd90e\":\"Enregistrement...\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"Pondérer la note finale en fonction des groupes de tâches\"},\"he\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"משקלות מטלה קבוצתית לא ניתנים לעריכה כיון שבאחת הקבוצות יש מטלות אשר תאריך הסיום שלהן עבר.\",\"cancel_caeb1e68\":\"ביטול\",\"save_11a80ec3\":\"שמירה\",\"saving_d55dd90e\":\"שומר...\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"שיקלול הערכה סופית על בסיס קבוצות משימה\"},\"ht\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"Pwa gwoup afektasyon yo pa kapab modifye paske gen sesyon nan yonn nan gwoup yo ki gen delè li ki rive.\",\"cancel_caeb1e68\":\"Anile\",\"save_11a80ec3\":\"Anrejistre\",\"saving_d55dd90e\":\"Anrejistreman...\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"Nòt final pondere base sou sesyon yo\"},\"hu\":{\"cancel_caeb1e68\":\"Mégse\",\"save_11a80ec3\":\"Mentés\",\"saving_d55dd90e\":\"Mentés...\"},\"hy\":{\"cancel_caeb1e68\":\"Չեղյալ համարել\",\"save_11a80ec3\":\"Պահպանել\",\"saving_d55dd90e\":\"Պահպանվում է...\"},\"is\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"Ekki er hægt að breyta vægi verkefnahóps því verkefni eru í einum hópanna með lokuðum skiladögum.\",\"cancel_caeb1e68\":\"Hætta við\",\"save_11a80ec3\":\"Vista\",\"saving_d55dd90e\":\"Vista...\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"Vegin lokaeinkunn byggð á verkefnahópum\"},\"it\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"Impossibile modificare i pesi dei gruppi di compiti perché in uno dei gruppi sono presenti compiti con date di scadenza chiuse.\",\"cancel_caeb1e68\":\"Annulla\",\"save_11a80ec3\":\"Salva\",\"saving_d55dd90e\":\"Salvataggio in corso...\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"Pesa il voto finale in base ai gruppi di compiti\"},\"ja\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"期日が締め切られているグループに課題があるため、課題グループの優先権を編集できません。\",\"cancel_caeb1e68\":\"キャンセル\",\"save_11a80ec3\":\"保存\",\"saving_d55dd90e\":\"保存しています...\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"課題グループに基づいて最終的な成績を重み付けする\"},\"ko\":{\"cancel_caeb1e68\":\"취소\",\"save_11a80ec3\":\"저장\",\"saving_d55dd90e\":\"저장 중...\"},\"mi\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"Kaore e taea te whakatika ngā whakataunga i rōpū taumaha nō te mea he whakataunga kei roto i tētahi o ngā rōpū kua katia ngā rā e tika ana.\",\"cancel_caeb1e68\":\"Whakakore\",\"save_11a80ec3\":\"Tiaki\",\"saving_d55dd90e\":\"Kei te tiakina\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"Te kōeke taumaha whakamutunga i runga i ngā rōpū whakataunga\"},\"nb\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"Oppgavens gruppevekter kan ikke redigeres fordi det er oppgaver i en av gruppene som har gått over forfallsdatoen.\",\"cancel_caeb1e68\":\"Avbryt\",\"save_11a80ec3\":\"Lagre\",\"saving_d55dd90e\":\"Lagrer…\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"Vekte sluttkarakter basert på oppgavegrupper\"},\"nb-x-k12\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"Oppgavens gruppevekter kan ikke redigeres fordi det er oppgaver i en av gruppene som har gått over forfallsdatoen.\",\"cancel_caeb1e68\":\"Avbryt\",\"save_11a80ec3\":\"Lagre\",\"saving_d55dd90e\":\"Lagrer…\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"Vekte sluttvurdering basert på oppgavegrupper\"},\"nl\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"Gewichten voor opdrachtgroepen kunnen niet worden bewerkt omdat er opdrachten zijn in een van de groepen waarvan de inleverdatums gesloten zijn.\",\"cancel_caeb1e68\":\"Annuleren\",\"save_11a80ec3\":\"Opslaan\",\"saving_d55dd90e\":\"Bezig met opslaan...\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"Het eindcijfer wegen op basis van opdrachtgroepen\"},\"nn\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"Vekting av oppgåvegrupper kan ikkje endrast fordi det finst oppgåver i ei av gruppene der innleveringsfristar er lukka. \",\"cancel_caeb1e68\":\"Avbryt\",\"save_11a80ec3\":\"Lagre\",\"saving_d55dd90e\":\"Lagrar...\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"Vekte sluttkarakter basert på oppgåvegrupper\"},\"pl\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"Wag grup zadań nie można edytować, ponieważ zadania są w jeden z grup, których terminy są zamknięte.\",\"cancel_caeb1e68\":\"Anuluj\",\"save_11a80ec3\":\"Zapisz\",\"saving_d55dd90e\":\"Trwa zapisywanie...\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"Wyważ ocenę końcową na podstawie grup zadań\"},\"pt\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"Os pesos do grupo tarefa não podem ser editados porque existem tarefas em um dos grupos, cujas datas estão fechadas.\",\"cancel_caeb1e68\":\"Cancelar\",\"save_11a80ec3\":\"Guardar\",\"saving_d55dd90e\":\"A guardar...\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"Ponderar nota final com base nos grupos de tarefa\"},\"pt-BR\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"Os pesos do grupo de tarefas não podem ser editados porque há tarefas em um dos grupos cujas datas de entrega estão fechadas.\",\"cancel_caeb1e68\":\"Cancelar\",\"save_11a80ec3\":\"Salvar\",\"saving_d55dd90e\":\"Salvando...\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"Pondere a nota final com base nos grupos de tarefa\"},\"ru\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"Весовые коэффициенты для групп заданий не могут быть отредактированы, потому что в одной из групп имеются задания с закрытыми датами выполнения.\",\"cancel_caeb1e68\":\"Отменить\",\"save_11a80ec3\":\"Сохранить\",\"saving_d55dd90e\":\"Сохранение...\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"Взвесить итоговую оценку на основе групп заданий\"},\"sl\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"Uteži skupine nalog ni mogoče urejati, ker so v eni od skupin z zaprtimi roki naloge.\",\"cancel_caeb1e68\":\"Prekliči\",\"save_11a80ec3\":\"Shrani\",\"saving_d55dd90e\":\"Shranjevanje ...\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"Uteži končno oceno na podlagi skupin naloge\"},\"sv\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"Uppgiftgruppens avvägning kan inte redigeras eftersom det finns uppgifter i en av grupperna vars förfallodatum har stängts.\",\"cancel_caeb1e68\":\"Avbryt\",\"save_11a80ec3\":\"Spara\",\"saving_d55dd90e\":\"Sparar...\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"Viktning av totalt omdöme baserat på uppgiftsgrupper\"},\"sv-x-k12\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"Uppgiftgruppens avvägning kan inte redigeras eftersom det finns uppgifter i en av grupperna vars förfallodatum har stängts.\",\"cancel_caeb1e68\":\"Avbryt\",\"save_11a80ec3\":\"Spara\",\"saving_d55dd90e\":\"Sparar...\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"Viktning av slutbedömning baserat på uppgiftsgrupper\"},\"tr\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"Gruplardan birinde son teslim tarihi kapatılmış ödevler olduğundan ödev grup ağırlıkları düzenlenemez.\",\"cancel_caeb1e68\":\"İptal\",\"save_11a80ec3\":\"Kaydet\",\"saving_d55dd90e\":\"Kaydediliyor...\"},\"uk\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"Ваги для групи завдань не можна редагувати через те, що в одній з груп є завдання, терміни виконання яких сплив. \",\"cancel_caeb1e68\":\"Скасувати\",\"save_11a80ec3\":\"Зберегти\",\"saving_d55dd90e\":\"Збереження...\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"Вага підсумкової оцінки на основі груп завдань\"},\"zh-Hans\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"作业组的权值无法编辑，因为一个群组的到期日已关闭。\",\"cancel_caeb1e68\":\"取消\",\"save_11a80ec3\":\"保存\",\"saving_d55dd90e\":\"正在保存...\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"根据作业小组加权最终评分\"},\"zh-Hant\":{\"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\":\"不能編輯任務組權重加權，因為其中一小組的任務的截止日期已經關閉。\",\"cancel_caeb1e68\":\"取消\",\"save_11a80ec3\":\"保存\",\"saving_d55dd90e\":\"正在保存...\",\"weight_final_grade_based_on_assignment_groups_3124161\":\"根據任務群組加權最終成績\"}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/assignments.assignment_settings.js\n// module id = 0n9S0AOE0w\n// module chunks = 54","//\n// Copyright (C) 2012 - present Instructure, Inc.\n//\n// This file is part of Canvas.\n//\n// Canvas is free software: you can redistribute it and/or modify it under\n// the terms of the GNU Affero General Public License as published by the Free\n// Software Foundation, version 3 of the License.\n//\n// Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n// A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n// details.\n//\n// You should have received a copy of the GNU Affero General Public License along\n// with this program. If not, see <http://www.gnu.org/licenses/>.\n//\n\nimport PaginatedCollection from '../collections/PaginatedCollection'\n\nimport Submission from '../models/Submission'\n\nexport default class SubmissionCollection extends PaginatedCollection {}\nSubmissionCollection.prototype.model = Submission\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/collections/SubmissionCollection.js","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"متاح\",\"multiple_dates\":\"تواريخ متعددة\"}}},\"cy\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"Ar gael\",\"multiple_dates\":\"Mwy nag un dyddiad\"}}},\"da\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"Tilgængelig\",\"multiple_dates\":\"Flere datoer\"}}},\"da-x-k12\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"Tilgængelig\",\"multiple_dates\":\"Flere datoer\"}}},\"de\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"Verfügbar\",\"multiple_dates\":\"Mehrere Daten\"}}},\"el\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"Διαθέσιμο\",\"multiple_dates\":\"Πολλαπλές Ημερομηνίες\"}}},\"en-AU\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"Available\",\"multiple_dates\":\"Multiple Dates\"}}},\"en-CA\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"Available\",\"multiple_dates\":\"Multiple Dates\"}}},\"en-GB\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"Available\",\"multiple_dates\":\"Multiple dates\"}}},\"en-GB-x-lbs\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"Available\",\"multiple_dates\":\"Multiple dates\"}}},\"en-GB-x-ukhe\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"Available\",\"multiple_dates\":\"Multiple dates\"}}},\"es\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"Disponible\",\"multiple_dates\":\"Varias fechas\"}}},\"fa\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"قابل دسترسی\",\"multiple_dates\":\"چند تاریخ\"}}},\"fr\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"Disponible\",\"multiple_dates\":\"Plusieurs dates\"}}},\"fr-CA\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"Disponible\",\"multiple_dates\":\"Plusieurs dates\"}}},\"he\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"זמין\",\"multiple_dates\":\"תאריכים מרובים\"}}},\"ht\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"Disponib\",\"multiple_dates\":\"Plizyè Dat\"}}},\"hu\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"Elérhető\",\"multiple_dates\":\"Többes határidő\"}}},\"hy\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"Հասանելի է\",\"multiple_dates\":\"Մի քանի ամսաթվեր\"}}},\"is\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"Tiltækt\",\"multiple_dates\":\"Margar dagsetningar\"}}},\"it\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"Disponibile\",\"multiple_dates\":\"Più date\"}}},\"ja\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"使用可能\",\"multiple_dates\":\"複数の日付\"}}},\"ko\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"사용 가능\",\"multiple_dates\":\"여러 날짜\"}}},\"mi\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"wātea\",\"multiple_dates\":\"Rā Maha\"}}},\"nb\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"Tilgjengelig\",\"multiple_dates\":\"Flere datoer\"}}},\"nb-x-k12\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"Tilgjengelig\",\"multiple_dates\":\"Flere datoer\"}}},\"nl\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"Beschikbaar\",\"multiple_dates\":\"Meerdere datums\"}}},\"nn\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"Tilgjengeleg\",\"multiple_dates\":\"Fleire datoar\"}}},\"pl\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"Dostępny\",\"multiple_dates\":\"Wiele dat\"}}},\"pt\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"Disponível\",\"multiple_dates\":\"Várias datas\"}}},\"pt-BR\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"Disponível\",\"multiple_dates\":\"Várias datas\"}}},\"ru\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"Доступно\",\"multiple_dates\":\"Несколько дат\"}}},\"sl\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"Na voljo\",\"multiple_dates\":\"Več datumov\"}}},\"sv\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"Tillgänglig\",\"multiple_dates\":\"Flera datum\"}}},\"sv-x-k12\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"Tillgänglig\",\"multiple_dates\":\"Flera datum\"}}},\"tr\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"Mevcut\",\"multiple_dates\":\"Çoklu Tarih\"}}},\"uk\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"Доступно\",\"multiple_dates\":\"Кілька дат\"}}},\"zh-Hans\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"可用\",\"multiple_dates\":\"多个日期\"}}},\"zh-Hant\":{\"assignments\":{\"date_available_column_view\":{\"available\":\"可用\",\"multiple_dates\":\"多個日期\"}}}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/assignments.date_available_column_view.js\n// module id = 0rMcN9gntu\n// module chunks = 54 73","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _keycode = _interopRequireDefault(require(\"keycode\"));\n\nvar _uiThemeable = _interopRequireDefault(require(\"@instructure/ui-themeable\"));\n\nvar _CustomPropTypes = _interopRequireDefault(require(\"@instructure/ui-utils/lib/react/CustomPropTypes\"));\n\nvar _passthroughProps = require(\"@instructure/ui-utils/lib/react/passthroughProps\");\n\nvar _isActiveElement = _interopRequireDefault(require(\"@instructure/ui-utils/lib/dom/isActiveElement\"));\n\nvar _IconArrowOpenDown = _interopRequireDefault(require(\"@instructure/ui-icons/lib/Solid/IconArrowOpenDown\"));\n\nvar _uid = _interopRequireDefault(require(\"@instructure/uid\"));\n\nvar _deprecated = _interopRequireWildcard(require(\"@instructure/ui-utils/lib/react/deprecated\"));\n\nvar _FormField = _interopRequireDefault(require(\"@instructure/ui-forms/lib/components/FormField\"));\n\nvar _FormPropTypes = _interopRequireDefault(require(\"@instructure/ui-forms/lib/utils/FormPropTypes\"));\n\nvar _theme = _interopRequireDefault(require(\"./theme\"));\n\nvar _dec, _dec2, _class, _class2, _temp;\n\nvar styles = {\n  componentId: 'iMMJRS',\n  template: function template(theme) {\n    return \"/*  imported from styles.css  */\\n\\n/* stylelint-disable no-descending-specificity, selector-max-class, max-nesting-depth */\\n\\n.Select__iMMJRS-root {\\n  position: relative;\\n  display: block;\\n}\\n\\n.Select__iMMJRS-root .Select__iMMJRS-arrow {\\n    display: block;\\n    position: absolute;\\n    top: 50%;\\n    transform: translateY(-50%);\\n    offset-inline-end: \".concat(theme.padding, \";\\n    offset-inline-start: auto;\\n    pointer-events: none;\\n    color: \").concat(theme.arrowColor, \";\\n  }\\n\\n[dir=\\\"ltr\\\"] .Select__iMMJRS-root .Select__iMMJRS-arrow {\\n    right: \").concat(theme.padding, \";\\n    left: auto;\\n  }\\n\\n[dir=\\\"rtl\\\"] .Select__iMMJRS-root .Select__iMMJRS-arrow {\\n    left: \").concat(theme.padding, \";\\n    right: auto;\\n  }\\n\\n.Select__iMMJRS-root .Select__iMMJRS-select {\\n    animation: none 0s ease 0s 1 normal none running;\\n    backface-visibility: visible;\\n    background: transparent none repeat 0 0 / auto auto padding-box border-box scroll;\\n    border: medium none currentColor;\\n    border-collapse: separate;\\n    border-image: none;\\n    border-radius: 0;\\n    border-spacing: 0;\\n    bottom: auto;\\n    box-shadow: none;\\n    box-sizing: content-box;\\n    caption-side: top;\\n    clear: none;\\n    clip: auto;\\n    color: #000;\\n    columns: auto;\\n    column-count: auto;\\n    column-fill: balance;\\n    column-gap: normal;\\n    column-rule: medium none currentColor;\\n    column-span: 1;\\n    column-width: auto;\\n    content: normal;\\n    counter-increment: none;\\n    counter-reset: none;\\n    cursor: auto;\\n    direction: ltr;\\n    display: inline;\\n    empty-cells: show;\\n    float: none;\\n    font-family: serif;\\n    font-size: medium;\\n    font-style: normal;\\n    font-variant: normal;\\n    font-weight: normal;\\n    font-stretch: normal;\\n    line-height: normal;\\n    height: auto;\\n    hyphens: none;\\n    left: auto;\\n    letter-spacing: normal;\\n    list-style: disc outside none;\\n    margin: 0;\\n    max-height: none;\\n    max-width: none;\\n    min-height: 0;\\n    min-width: 0;\\n    opacity: 1;\\n    orphans: 2;\\n    outline: medium none invert;\\n    overflow: visible;\\n    overflow-x: visible;\\n    overflow-y: visible;\\n    padding: 0;\\n    page-break-after: auto;\\n    page-break-before: auto;\\n    page-break-inside: auto;\\n    perspective: none;\\n    perspective-origin: 50% 50%;\\n    position: static;\\n    right: auto;\\n    tab-size: 8;\\n    table-layout: auto;\\n    text-align: left;\\n    text-align-last: auto;\\n    text-decoration: none;\\n    text-indent: 0;\\n    text-shadow: none;\\n    text-transform: none;\\n    top: auto;\\n    transform: none;\\n    transform-origin: 50% 50% 0;\\n    transform-style: flat;\\n    transition: none 0s ease 0s;\\n    unicode-bidi: normal;\\n    vertical-align: baseline;\\n    visibility: visible;\\n    white-space: normal;\\n    widows: 2;\\n    width: auto;\\n    word-spacing: normal;\\n    z-index: auto;\\n    all: initial;\\n    background: \").concat(theme.background, \";\\n    color: \").concat(theme.color, \";\\n    direction: inherit;\\n    box-sizing: border-box;\\n    display: block;\\n    width: 100%;\\n    -webkit-appearance: none;\\n       -moz-appearance: none;\\n            appearance: none;\\n    border-width: \").concat(theme.borderWidth, \";\\n    border-style: \").concat(theme.borderStyle, \";\\n    border-top-color: \").concat(theme.borderTopColor, \";\\n    border-right-color: \").concat(theme.borderRightColor, \"; /* stylelint-disable-line property-blacklist */\\n    border-bottom-color: \").concat(theme.borderBottomColor, \";\\n    border-left-color: \").concat(theme.borderLeftColor, \"; /* stylelint-disable-line property-blacklist */\\n    border-radius: \").concat(theme.borderRadius, \";\\n    transition: all 0.2s ease-out;\\n    outline: 0.1875rem solid transparent;\\n    outline-offset: -0.5rem;\\n    font-family: \").concat(theme.fontFamily, \";\\n    font-weight: \").concat(theme.fontWeight, \";\\n  }\\n\\n.Select__iMMJRS-root .Select__iMMJRS-select::-ms-expand {\\n      display: none;\\n    }\\n\\n.Select__iMMJRS-root .Select__iMMJRS-select:focus {\\n      outline: 0.1875rem solid \").concat(theme.focusOutlineColor, \";\\n      outline-offset: -0.1875rem;\\n      border-color: \").concat(theme.focusBorderColor, \";\\n    }\\n\\n.Select__iMMJRS-root .Select__iMMJRS-select[aria-invalid] {\\n      border-color: \").concat(theme.errorBorderColor, \";\\n    }\\n\\n.Select__iMMJRS-root .Select__iMMJRS-select[aria-invalid]:focus {\\n        border-color: \").concat(theme.errorBorderColor, \";\\n        outline-color: \").concat(theme.errorOutlineColor, \";\\n      }\\n\\n.Select__iMMJRS-disabled {\\n  cursor: not-allowed;\\n  pointer-events: none;\\n  opacity: 0.5;\\n}\\n\\n.Select__iMMJRS-small .Select__iMMJRS-select {\\n    line-height: \").concat(theme.smallHeight, \";\\n    height: \").concat(theme.smallHeight, \";\\n    font-size: \").concat(theme.smallFontSize, \";\\n    padding-top: 0;\\n    -webkit-padding-end: calc(\").concat(theme.padding, \" * 2 + \").concat(theme.smallArrowWidth, \");\\n            padding-inline-end: calc(\").concat(theme.padding, \" * 2 + \").concat(theme.smallArrowWidth, \");\\n    padding-bottom: 0;\\n    -webkit-padding-start: \").concat(theme.padding, \";\\n            padding-inline-start: \").concat(theme.padding, \";\\n  }\\n\\n[dir=\\\"ltr\\\"] .Select__iMMJRS-small .Select__iMMJRS-select {\\n    padding-right: calc(\").concat(theme.padding, \" * 2 + \").concat(theme.smallArrowWidth, \");\\n    padding-left: \").concat(theme.padding, \";\\n  }\\n\\n[dir=\\\"rtl\\\"] .Select__iMMJRS-small .Select__iMMJRS-select {\\n    padding-left: calc(\").concat(theme.padding, \" * 2 + \").concat(theme.smallArrowWidth, \");\\n    padding-right: \").concat(theme.padding, \";\\n  }\\n\\n.Select__iMMJRS-small .Select__iMMJRS-arrow {\\n    font-size: \").concat(theme.smallArrowWidth, \";\\n  }\\n\\n.Select__iMMJRS-medium .Select__iMMJRS-select {\\n    line-height: \").concat(theme.mediumHeight, \";\\n    height: \").concat(theme.mediumHeight, \";\\n    font-size: \").concat(theme.mediumFontSize, \";\\n    padding-top: 0;\\n    -webkit-padding-end: calc(\").concat(theme.padding, \" * 2 + \").concat(theme.mediumArrowWidth, \");\\n            padding-inline-end: calc(\").concat(theme.padding, \" * 2 + \").concat(theme.mediumArrowWidth, \");\\n    padding-bottom: 0;\\n    -webkit-padding-start: \").concat(theme.padding, \";\\n            padding-inline-start: \").concat(theme.padding, \";\\n  }\\n\\n[dir=\\\"ltr\\\"] .Select__iMMJRS-medium .Select__iMMJRS-select {\\n    padding-right: calc(\").concat(theme.padding, \" * 2 + \").concat(theme.mediumArrowWidth, \");\\n    padding-left: \").concat(theme.padding, \";\\n  }\\n\\n[dir=\\\"rtl\\\"] .Select__iMMJRS-medium .Select__iMMJRS-select {\\n    padding-left: calc(\").concat(theme.padding, \" * 2 + \").concat(theme.mediumArrowWidth, \");\\n    padding-right: \").concat(theme.padding, \";\\n  }\\n\\n.Select__iMMJRS-medium .Select__iMMJRS-arrow {\\n    font-size: \").concat(theme.mediumArrowWidth, \";\\n  }\\n\\n.Select__iMMJRS-large .Select__iMMJRS-select {\\n    line-height: \").concat(theme.largeHeight, \";\\n    height: \").concat(theme.largeHeight, \";\\n    font-size: \").concat(theme.largeFontSize, \";\\n    padding-top: 0;\\n    -webkit-padding-end: calc(\").concat(theme.padding, \" * 2 + \").concat(theme.largeArrowWidth, \");\\n            padding-inline-end: calc(\").concat(theme.padding, \" * 2 + \").concat(theme.largeArrowWidth, \");\\n    padding-bottom: 0;\\n    -webkit-padding-start: \").concat(theme.padding, \";\\n            padding-inline-start: \").concat(theme.padding, \";\\n  }\\n\\n[dir=\\\"ltr\\\"] .Select__iMMJRS-large .Select__iMMJRS-select {\\n    padding-right: calc(\").concat(theme.padding, \" * 2 + \").concat(theme.largeArrowWidth, \");\\n    padding-left: \").concat(theme.padding, \";\\n  }\\n\\n[dir=\\\"rtl\\\"] .Select__iMMJRS-large .Select__iMMJRS-select {\\n    padding-left: calc(\").concat(theme.padding, \" * 2 + \").concat(theme.largeArrowWidth, \");\\n    padding-right: \").concat(theme.padding, \";\\n  }\\n\\n.Select__iMMJRS-large .Select__iMMJRS-arrow {\\n    font-size: \").concat(theme.largeArrowWidth, \";\\n  }\\n\\n/* stylelint-enable no-descending-specificity, selector-max-class, max-nesting-depth */\\n\");\n  },\n  'root': 'Select__iMMJRS-root',\n  'arrow': 'Select__iMMJRS-arrow',\n  'select': 'Select__iMMJRS-select',\n  'disabled': 'Select__iMMJRS-disabled',\n  'small': 'Select__iMMJRS-small',\n  'medium': 'Select__iMMJRS-medium',\n  'large': 'Select__iMMJRS-large'\n};\nvar Select = (_dec = (0, _deprecated.default)('5.0.0', null, (0, _deprecated.changedPackageWarning)('ui-core', 'ui-forms')), _dec2 = (0, _uiThemeable.default)(_theme.default, styles), _dec(_class = _dec2(_class = (_temp = _class2 =\n/*#__PURE__*/\nfunction (_Component) {\n  (0, _inherits2.default)(Select, _Component);\n\n  function Select(props) {\n    var _this;\n\n    (0, _classCallCheck2.default)(this, Select);\n    _this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(Select).call(this));\n\n    _this.handleChange = function (e) {\n      var _this$props = _this.props,\n          onChange = _this$props.onChange,\n          disabled = _this$props.disabled;\n\n      if (disabled) {\n        e.preventDefault();\n        return;\n      }\n\n      if (typeof onChange === 'function') {\n        onChange(e);\n      }\n    };\n\n    _this.handleKeyDown = function (e) {\n      var _this$props2 = _this.props,\n          onKeyDown = _this$props2.onKeyDown,\n          disabled = _this$props2.disabled;\n      var keycodes = [_keycode.default.codes.space, _keycode.default.codes.up, _keycode.default.codes.down];\n\n      if (disabled && (keycodes.includes(e.keyCode) || e.keyCode >= 48 && e.keyCode <= 57 || // 0 - 9\n      e.keyCode >= 65 && e.keyCode <= 90 || // A - Z\n      e.keyCode >= 96 && e.keyCode <= 105 // numpad 0 - 9\n      )) {\n        e.preventDefault();\n        return;\n      }\n\n      if (typeof onKeyDown === 'function') {\n        onKeyDown(e);\n      }\n    };\n\n    _this._defaultId = (0, _uid.default)('Select');\n    return _this;\n  }\n\n  (0, _createClass2.default)(Select, [{\n    key: \"focus\",\n    value: function focus() {\n      this._select.focus();\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _classes,\n          _this2 = this;\n\n      var _this$props3 = this.props,\n          size = _this$props3.size,\n          children = _this$props3.children,\n          width = _this$props3.width,\n          layout = _this$props3.layout,\n          selectRef = _this$props3.selectRef,\n          onBlur = _this$props3.onBlur,\n          required = _this$props3.required,\n          disabled = _this$props3.disabled,\n          value = _this$props3.value,\n          defaultValue = _this$props3.defaultValue;\n      var props = (0, _passthroughProps.omitProps)(this.props, Select.propTypes);\n      var classes = (_classes = {}, (0, _defineProperty2.default)(_classes, styles.root, true), (0, _defineProperty2.default)(_classes, styles[size], size), (0, _defineProperty2.default)(_classes, styles.disabled, disabled), _classes);\n      var style = width ? {\n        width: width\n      } : null;\n      return _react.default.createElement(_FormField.default, (0, _extends2.default)({}, (0, _passthroughProps.pickProps)(this.props, _FormField.default.propTypes), {\n        layout: layout,\n        id: this.id\n      }), _react.default.createElement(\"span\", {\n        className: (0, _classnames.default)(classes),\n        style: style\n      }, _react.default.createElement(\"select\", (0, _extends2.default)({}, props, {\n        id: this.id,\n        ref: function ref(select) {\n          _this2._select = select;\n\n          for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n            args[_key - 1] = arguments[_key];\n          }\n\n          selectRef.apply(_this2, [select].concat(args));\n        },\n        value: value,\n        defaultValue: defaultValue,\n        onBlur: onBlur,\n        onChange: this.handleChange,\n        onKeyDown: this.handleKeyDown,\n        className: styles.select,\n        required: required,\n        \"aria-required\": required,\n        \"aria-invalid\": this.invalid ? 'true' : null,\n        \"aria-disabled\": disabled ? 'true' : null,\n        disabled: disabled\n      }), children), _react.default.createElement(_IconArrowOpenDown.default, {\n        className: styles.arrow\n      })));\n    }\n  }, {\n    key: \"id\",\n    get: function get() {\n      return this.props.id || this._defaultId;\n    }\n  }, {\n    key: \"invalid\",\n    get: function get() {\n      return this.props.messages && this.props.messages.findIndex(function (message) {\n        return message.type === 'error';\n      }) >= 0;\n    }\n  }, {\n    key: \"focused\",\n    get: function get() {\n      return (0, _isActiveElement.default)(this._select);\n    }\n  }, {\n    key: \"value\",\n    get: function get() {\n      return this._select.value;\n    }\n  }]);\n  Select.displayName = \"Select\";\n  return Select;\n}(_react.Component), _class2.propTypes = {\n  /**\n  * Children must be option tags.\n  */\n  children: _CustomPropTypes.default.Children.oneOf(['option']),\n  label: _propTypes.default.node.isRequired,\n  disabled: _propTypes.default.bool,\n\n  /**\n  * object with shape: `{\n  * text: PropTypes.string,\n  * type: PropTypes.oneOf(['error', 'hint', 'success', 'screenreader-only'])\n  *   }`\n  */\n  messages: _propTypes.default.arrayOf(_FormPropTypes.default.message),\n  id: _propTypes.default.string,\n  size: _propTypes.default.oneOf(['small', 'medium', 'large']),\n  layout: _propTypes.default.oneOf(['stacked', 'inline']),\n  required: _propTypes.default.bool,\n  inline: _propTypes.default.bool,\n  width: _propTypes.default.string,\n\n  /**\n  * a function that provides a reference to the actual select element\n  */\n  selectRef: _propTypes.default.func,\n\n  /**\n  * value to set on initial render\n  */\n  defaultValue: _propTypes.default.string,\n\n  /**\n  * the selected value (must be accompanied by an `onChange` prop)\n  */\n  value: _CustomPropTypes.default.controllable(_propTypes.default.string),\n\n  /**\n  * when used with the `value` prop, the component will not control its own state\n  */\n  onChange: _propTypes.default.func,\n  onBlur: _propTypes.default.func,\n  onKeyDown: _propTypes.default.func\n}, _class2.defaultProps = {\n  inline: false,\n  type: 'text',\n  size: 'medium',\n  layout: 'stacked',\n  messages: [],\n  disabled: false,\n  selectRef: function selectRef(select) {}\n}, _temp)) || _class) || _class);\nvar _default = Select;\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@instructure/ui-core/lib/components/Select/index.js\n// module id = 0w7Q76yqLR\n// module chunks = 2 3 13 28 31 32 33 36 39 43 49 51 54 58 59 64 67 70 102 125","/*\n * Copyright (C) 2013 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport AssignmentGroupCollection from 'compiled/collections/AssignmentGroupCollection'\nimport Course from 'compiled/models/Course'\nimport AssignmentGroupListView from 'compiled/views/assignments/AssignmentGroupListView'\nimport CreateGroupView from 'compiled/views/assignments/CreateGroupView'\nimport IndexView from 'compiled/views/assignments/IndexView'\nimport AssignmentSettingsView from 'compiled/views/assignments/AssignmentSettingsView'\nimport AssignmentSyncSettingsView from 'compiled/views/assignments/AssignmentSyncSettingsView'\nimport AssignmentGroupWeightsView from 'compiled/views/assignments/AssignmentGroupWeightsView'\nimport ToggleShowByView from 'compiled/views/assignments/ToggleShowByView'\nimport _ from 'underscore'\n\nconst course = new Course()\ncourse.url = ENV.URLS.course_url\nconst courseFetch = course.fetch()\n\nconst includes = ['assignments', 'discussion_topic']\nif (ENV.PERMISSIONS.manage) {\n  includes.push('all_dates')\n  includes.push('module_ids')\n  // observers\n} else if (ENV.current_user_has_been_observer_in_this_course) {\n  includes.push('all_dates')\n}\n\nconst userIsAdmin = _.contains(ENV.current_user_roles, 'admin')\n\nconst assignmentGroups = new AssignmentGroupCollection([], {\n  course,\n  params: {\n    include: includes,\n    exclude_response_fields: ['description', 'rubric'],\n    override_assignment_dates: !ENV.PERMISSIONS.manage,\n    per_page: 50\n  },\n  courseSubmissionsURL: ENV.URLS.course_student_submissions_url\n})\n\nconst assignmentGroupsView = new AssignmentGroupListView({\n  collection: assignmentGroups,\n  sortURL: ENV.URLS.sort_url,\n  assignment_sort_base_url: ENV.URLS.assignment_sort_base_url,\n  course,\n  userIsAdmin\n})\n\nlet assignmentSettingsView = false\nlet assignmentSyncSettingsView = false\nlet createGroupView = false\nlet showByView = false\nconst indexEl = window.location.href.indexOf('assignments') === -1 ? '#course_home_content' : '#content'\n\nif (ENV.PERMISSIONS.manage_assignments) {\n  assignmentSettingsView = new AssignmentSettingsView({\n    model: course,\n    assignmentGroups,\n    weightsView: AssignmentGroupWeightsView,\n    userIsAdmin\n  })\n\n  assignmentSyncSettingsView = new AssignmentSyncSettingsView({\n    collection: assignmentGroups,\n    model: course,\n    sisName: ENV.SIS_NAME\n  })\n\n  createGroupView = new CreateGroupView({\n    assignmentGroups,\n    course,\n    userIsAdmin\n  })\n} else {\n  showByView = new ToggleShowByView({\n    course,\n    assignmentGroups\n  })\n}\n\nconst app = new IndexView({\n  el: indexEl,\n  assignmentGroupsView,\n  assignmentSettingsView,\n  assignmentSyncSettingsView,\n  createGroupView,\n  showByView,\n  collection: assignmentGroups\n})\n\napp.render()\n\n// kick it all off\nPromise.all([\n  courseFetch,\n  assignmentGroups.fetch({reset: true})\n]).then(() => {\n  if (ENV.HAS_GRADING_PERIODS) { app.filterResults() }\n  if (ENV.PERMISSIONS.manage) {\n    assignmentGroups.loadModuleNames()\n  } else {\n    assignmentGroups.getGrades()\n  }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./app/jsx/bundles/assignment_index.js","(function() {\n  var options, parseDecimalNumber, patterns;\n\n  patterns = [];\n\n  options = {};\n\n  module.exports = parseDecimalNumber = function(value, inOptions, enforceGroupSize) {\n    var decimal, fractionPart, groupMinSize, integerPart, number, pattern, patternIndex, result, thousands;\n    if (enforceGroupSize == null) {\n      enforceGroupSize = true;\n    }\n    if (typeof inOptions === 'string') {\n      if (inOptions.length !== 2) {\n        throw {\n          name: 'ArgumentException',\n          message: 'The format for string options is \\'<thousands><decimal>\\' (exactly two characters)'\n        };\n      }\n      thousands = inOptions[0], decimal = inOptions[1];\n    } else if (Array.isArray(inOptions)) {\n      if (inOptions.length !== 2) {\n        throw {\n          name: 'ArgumentException',\n          message: 'The format for array options is [\\'<thousands>\\',\\'[<decimal>\\'] (exactly two elements)'\n        };\n      }\n      thousands = inOptions[0], decimal = inOptions[1];\n    } else {\n      thousands = (inOptions != null ? inOptions.thousands : void 0) || (inOptions != null ? inOptions.group : void 0) || options.thousands;\n      decimal = (inOptions != null ? inOptions.decimal : void 0) || options.decimal;\n    }\n    patternIndex = \"\" + thousands + decimal + enforceGroupSize;\n    pattern = patterns[patternIndex];\n    if (pattern == null) {\n      groupMinSize = enforceGroupSize ? 3 : 1;\n      pattern = patterns[patternIndex] = new RegExp(\"^\\\\s*([+\\-]?(?:(?:\\\\d{1,3}(?:\\\\\" + thousands + \"\\\\d{\" + groupMinSize + \",3})+)|\\\\d*))(?:\\\\\" + decimal + \"(\\\\d*))?\\\\s*$\");\n    }\n    result = value.match(pattern);\n    if (!((result != null) && result.length === 3)) {\n      return 0/0;\n    }\n    integerPart = result[1].replace(new RegExp(\"\\\\\" + thousands, 'g'), '');\n    fractionPart = result[2];\n    number = parseFloat(integerPart + \".\" + fractionPart);\n    return number;\n  };\n\n  module.exports.setOptions = function(newOptions) {\n    var key, value;\n    for (key in newOptions) {\n      value = newOptions[key];\n      options[key] = value;\n    }\n  };\n\n  module.exports.factoryReset = function() {\n    options = {\n      thousands: ',',\n      decimal: '.'\n    };\n  };\n\n  module.exports.withOptions = function(options, enforceGroupSize) {\n    if (enforceGroupSize == null) {\n      enforceGroupSize = true;\n    }\n    return function(value) {\n      return parseDecimalNumber(value, options, enforceGroupSize);\n    };\n  };\n\n  module.exports.factoryReset();\n\n}).call(this);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/parse-decimal-number/dist/parse-decimal-number.js\n// module id = 2dRQx5pUfr\n// module chunks = 27 28 31 32 34 35 37 39 40 42 44 45 51 54 55 58 59 61 62 64 66 67 68 72 73 77 78 79 84 92 94 98 100 109 112 120","\n    define(['i18nObj', 'translations/assignments.date_due_column_view', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('assignments.date_due_column_view')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?assignments.date_due_column_view!./public/javascripts/dummyI18nResource.js\n// module id = 2iff2dKuYx\n// module chunks = 54 73","#\n# Copyright (C) 2013 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  'Backbone'\n  'underscore'\n  'jquery'\n  'i18n!assignments'\n  'timezone'\n], (Backbone, _, $, I18n, tz) ->\n\n  class DateGroup extends Backbone.Model\n\n    defaults:\n      title: I18n.t('everyone_else', 'Everyone else')\n      due_at: null\n      unlock_at: null\n      lock_at: null\n\n    dueAt: ->\n      dueAt = @get(\"due_at\")\n      if dueAt then tz.parse(dueAt) else null\n\n    unlockAt: ->\n      unlockAt = @get(\"unlock_at\")\n      if unlockAt then tz.parse(unlockAt) else null\n\n    lockAt: ->\n      lockAt = @get(\"lock_at\")\n      if lockAt then tz.parse(lockAt) else null\n\n    now: ->\n      now = @get(\"now\")\n      if now then tz.parse(now) else new Date()\n\n\n    # no lock/unlock dates\n    alwaysAvailable: ->\n      !@unlockAt() && !@lockAt()\n\n    # not unlocked yet\n    pending: ->\n      unlockAt = @unlockAt()\n      unlockAt && unlockAt > @now()\n\n    # available and won't ever lock\n    available: ->\n      @alwaysAvailable() || (!@lockAt() && @unlockAt() < @now())\n\n    # available, but will lock at some point\n    open: ->\n      @lockAt() && !@pending() && !@closed()\n\n    # locked\n    closed: ->\n      lockAt = @lockAt()\n      lockAt && lockAt < @now()\n\n\n    toJSON: ->\n      dueFor: @get(\"title\")\n      dueAt: @dueAt()\n      unlockAt: @unlockAt()\n      lockAt: @lockAt()\n      available: @available()\n      pending: @pending()\n      open: @open()\n      closed: @closed()\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/models/DateGroup.coffee","\n    define(['i18nObj', 'translations/overrides', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('overrides')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?overrides!./public/javascripts/dummyI18nResource.js\n// module id = 3QedzrQXPu\n// module chunks = 27 32 33 37 39 40 44 45 51 54 55 62 73 77 79 92","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"اضغط على Escape باستخدام اختصارات لوحة المفاتيح أثناء تصفح العرض الشبكي لدفتر الدرجات.\"}},\"cy\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"Pwyswch y fysell escape cyn defnyddio bysellau hwylus wrth symud ar hyd y grid llyfr graddau.\"}},\"da\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"Tryk på tasten Esc inden du bruger genvejstaster, når du navigerer karakteroversigten gitter.\"}},\"da-x-k12\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"Tryk på tasten Esc, inden du bruger genvejstaster, når du navigerer i vurderingsoversigtens gitter.\"}},\"de\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"Esc-Taste drücken, bevor Sie bei der Navigation im Notenbuchgitter Tastenkombinationen verwenden.\"}},\"el\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"Πατήστε το escape πριν χρησιμοποιήσετε συντομεύσεις πληκτρολογίου κατά την πλοήγησή σας στο δίκτυο του βιβλίου βαθμών.\"}},\"en-AU\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"Press the escape key before using keyboard shortcuts when navigating the gradebook grid.\"}},\"en-CA\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"Press the escape key before using keyboard shortcuts when navigating the gradebook grid.\"}},\"en-GB\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"When navigating the gradebook grid, press the escape key before using keyboard shortcuts.\"}},\"en-GB-x-lbs\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"When navigating the gradebook grid, press the escape key before using keyboard shortcuts.\"}},\"en-GB-x-ukhe\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"When navigating the gradebook grid, press the escape key before using keyboard shortcuts.\"}},\"es\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"Presione la tecla de escape antes de usar atajos en el teclado teclado al navegar por la red del Libro de calificaciones.\"}},\"fa\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"قبل از استفاده از میانبرهای صفحه کلید در هنگام پیمایش شبکه دفتر نمره، کلید escape را فشار دهید.\"}},\"fr\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"Appuyer sur la touche ESC avant d'utiliser des raccourcis clavier lorsque vous naviguez la grille du relevé de notes.\"}},\"fr-CA\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"Appuyer sur la touche ESC avant d'utiliser des raccourcis clavier lorsque vous naviguez la grille du relevé de notes.\"}},\"he\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"יש להקיש על מקש ה Esc טרם השימוש בקיצורי המקלדת כאשר מנווטים ברשת ספר הציונים\"}},\"ht\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"Peze touch echapman an anvan w itilize rakousi klavye yo lè w ap navige nan griy gradebook la.\"}},\"hu\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"Nyomja meg az escape gombot a billentyűparancsok használata előtt, amikor az osztálynapló rácson navigál.\"}},\"is\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"Ýttu á Escape áður þú notar flýtilykla þegar þú ert í hnitaneti einkunnabókar.\"}},\"it\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"Premi il tasto ESC prima di utilizzare le scelte rapide da tastiera durante la navigazione nella griglia del registro dei voti.\"}},\"ja\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"評定表のグリッドをナビゲートする場合、キーボードショートカットを使用する前に、エスケープキーを押してください。\"}},\"mi\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"Pēhi i te kī mawhiti i mua i te whakamahi i pokatata papapātuhi ka whakatere i te mātiti pukakōeke.\"}},\"nb\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"Vennligst trykk Esc-tasten før du bruker snarveier når du navigerer i karakteroversikt-nettverket.\"}},\"nb-x-k12\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"Vennligst trykk Esc-tasten før du bruker snarveier når du navigerer i vurderingsoversikt-nettverket.\"}},\"nl\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"Druk op de escape-toets voor gebruik van de sneltoetsen bij het navigeren van het cijferlijst raster.\"}},\"nn\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"Trykk escape-knappen før du brukar tastatursnarveger i karaktermatrisen\"}},\"pl\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"Naciśnij klawisz Escape przed użyciem skrótów klawiaturowych, podczas nawigacji przez sieć dziennika ocen.\"}},\"pt\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"Pressione a tecla Esc antes de utilizar os atalhos do teclado quando estiver a navegar na grelha de notas.\"}},\"pt-BR\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"Pressionar a tecla escape antes de utilizar atalhos de teclado quando navegando a rede do livro de notas.\"}},\"ru\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"Нажмите клавишу Выход перед использованием сочетания клавиш при навигации по сетке Зачетной книжки.\"}},\"sl\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"Preden pri navigaciji po mreži redovalnice uporabite bližnjice, pritisnite tipko Esc.\"}},\"sv\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"Tryck på escape-knappen innan du använder snabbkommandon i omdömesboken.\"}},\"sv-x-k12\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"Tryck på escape-knappen innan du använder snabbkommandon i bedömningsöversikten.\"}},\"uk\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"Натисніть кнопку Еsc перед використанням гарячих клавіш при навігації по сітці Gradebook .\"}},\"zh-Hans\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"当导航评分册的表格时，在使用键盘捷径前，按esc键。\"}},\"zh-Hant\":{\"keyboard_nav_dialog\":{\"esc_key_notification\":\"在瀏覽成績報告書網格時，在使用鍵盤快捷鍵前按下 ESC 鍵。\"}}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/keyboard_nav_dialog.js\n// module id = 3W1ol9erhr\n// module chunks = 28 35 54","/* global window */\nimport ponyfill from './ponyfill.js';\n\nvar root;\n\nif (typeof self !== 'undefined') {\n  root = self;\n} else if (typeof window !== 'undefined') {\n  root = window;\n} else if (typeof global !== 'undefined') {\n  root = global;\n} else if (typeof module !== 'undefined') {\n  root = module;\n} else {\n  root = Function('return this')();\n}\n\nvar result = ponyfill(root);\nexport default result;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/symbol-observable/es/index.js\n// module id = 3yIlwGvJJp\n// module chunks = 2 10 27 28 29 30 31 32 33 34 35 36 37 38 39 42 43 46 49 52 53 54 55 57 65 67 69 74 78 91 386","\n    define(['i18nObj', 'translations/assignments.assignment_group_weights', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('assignments.assignment_group_weights')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?assignments.assignment_group_weights!./public/javascripts/dummyI18nResource.js\n// module id = 49x8Vk5oQp\n// module chunks = 54","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"back_2900f52a\":\"عودة\",\"close_details_sidebar_ff8f663d\":\"إغلاق الشريط الجانبي للتفاصيل\",\"gpa_scale_6710e2ee\":\"مقياس المعدل التراكمي\",\"letter_grade_f00fedc4\":\"الدرجة بالأحرف\",\"loading_bde52856\":\"يتم الآن التحميل...\",\"loading_data_ecd89ba\":\"جاري تحميل البيانات..\",\"lowerbound_to_upperbound_352a3c0b\":\"من %{lowerBound}+ إلى %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"تصنيف مسارات الإتقان\",\"not_submitted_7d05fdb4\":\"لم يتم إرسالها\",\"other_ddacb37d\":\"أخرى\",\"percent_448ea947\":\"النسبة المئوية\",\"points_bceb5005\":\"النقاط\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents} من إجمالي %{totalStudents} طالب\",\"score_pts_adcb1af3\":\"%{score} نقاط\",\"select_student_name_caaff244\":\"تحديد طالب %{name}\",\"send_message_6ccc90e8\":\"إرسال رسالة\",\"submitted_submitdate_bdd3bf09\":\"تم الإرسال: %{submitDate}\",\"view_next_student_9fc72fef\":\"عرض الطالب التالي\",\"view_previous_student_90000459\":\"عرض الطالب السابق\",\"view_range_student_details_8116d68a\":\"عرض تفاصيل نطاق الطالب\",\"view_submission_ff3da5d\":\"عرض الإرسال\"},\"cy\":{\"back_2900f52a\":\"Yn ôl\",\"close_details_sidebar_ff8f663d\":\"Cau’r bar manylion ar yr ochr\",\"gpa_scale_6710e2ee\":\"Graddfa GPA\",\"letter_grade_f00fedc4\":\"gradd llythyren\",\"loading_bde52856\":\"Wrthi’n llwytho\",\"loading_data_ecd89ba\":\"Wrthi’n llwytho data...\",\"lowerbound_to_upperbound_352a3c0b\":\"%{lowerBound}+ at %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"Dadansoddi Llwybrau Meistroli\",\"not_submitted_7d05fdb4\":\"Heb Gyflwyno\",\"other_ddacb37d\":\"arall\",\"percent_448ea947\":\"canran\",\"points_bceb5005\":\"pwynt\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents} allan o %{totalStudents} o fyfyrwyr\",\"score_pts_adcb1af3\":\"%{score} pwynt\",\"select_student_name_caaff244\":\"Dewiswch fyfyriwr %{name}\",\"send_message_6ccc90e8\":\"Anfon Neges\",\"submitted_submitdate_bdd3bf09\":\"Wedi cyflwyno: %{submitDate}\",\"view_next_student_9fc72fef\":\"gweld y myfyriwr nesaf\",\"view_previous_student_90000459\":\"gweld y myfyriwr blaenorol\",\"view_range_student_details_8116d68a\":\"Gweld manylion defnyddiwr ar gyfer yr ystod\",\"view_submission_ff3da5d\":\"Gweld Cyflwyniad\"},\"da\":{\"back_2900f52a\":\"Tilbage\",\"close_details_sidebar_ff8f663d\":\"Luk sidepaneldetaljer\",\"gpa_scale_6710e2ee\":\"GPA-skala\",\"letter_grade_f00fedc4\":\"bogstavkarakter\",\"loading_bde52856\":\"Indlæser\",\"loading_data_ecd89ba\":\"Indlæsning af data ...\",\"lowerbound_to_upperbound_352a3c0b\":\"%{lowerBound}+ til %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"Opdeling af læringsstier\",\"not_submitted_7d05fdb4\":\"Ikke indsendt\",\"other_ddacb37d\":\"andet\",\"percent_448ea947\":\"procent\",\"points_bceb5005\":\"point\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents} ud af %{totalStudents} studerende\",\"score_pts_adcb1af3\":\"%{score} point\",\"select_student_name_caaff244\":\"Vælg studerende %{name}\",\"send_message_6ccc90e8\":\"Send besked\",\"submitted_submitdate_bdd3bf09\":\"Afleveret: %{submitDate}\",\"view_next_student_9fc72fef\":\"se næste studerende\",\"view_previous_student_90000459\":\"se tidligere studerende\",\"view_range_student_details_8116d68a\":\"Se område i studerendes detaljer\",\"view_submission_ff3da5d\":\"Vis aflevering\"},\"da-x-k12\":{\"back_2900f52a\":\"Tilbage\",\"close_details_sidebar_ff8f663d\":\"Luk sidepaneldetaljer\",\"gpa_scale_6710e2ee\":\"GPA-skala\",\"letter_grade_f00fedc4\":\"bogstavvurdering\",\"loading_bde52856\":\"Indlæser\",\"loading_data_ecd89ba\":\"Indlæsning af data ...\",\"lowerbound_to_upperbound_352a3c0b\":\"%{lowerBound}+ til %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"Opdeling af læringsstier\",\"not_submitted_7d05fdb4\":\"Ikke indsendt\",\"other_ddacb37d\":\"andet\",\"percent_448ea947\":\"procent\",\"points_bceb5005\":\"point\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents} ud af %{totalStudents} elever\",\"score_pts_adcb1af3\":\"%{score} point\",\"select_student_name_caaff244\":\"Vælg elev %{name}\",\"send_message_6ccc90e8\":\"Send besked\",\"submitted_submitdate_bdd3bf09\":\"Afleveret: %{submitDate}\",\"view_next_student_9fc72fef\":\"se næste elev\",\"view_previous_student_90000459\":\"se tidligere elev\",\"view_range_student_details_8116d68a\":\"Se område i elevens detaljer\",\"view_submission_ff3da5d\":\"Vis aflevering\"},\"de\":{\"back_2900f52a\":\"Zurück\",\"close_details_sidebar_ff8f663d\":\"Details-Seitenleiste schließen\",\"gpa_scale_6710e2ee\":\"GPA-Skala\",\"letter_grade_f00fedc4\":\"Buchstaben-Note\",\"loading_bde52856\":\"Wird geladen\",\"loading_data_ecd89ba\":\"Daten werden geladen ...\",\"lowerbound_to_upperbound_352a3c0b\":\"%{lowerBound}+ bis %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"Übersicht der Leistungsziel-Pfade\",\"not_submitted_7d05fdb4\":\"Nicht abgegeben\",\"other_ddacb37d\":\"sonstige\",\"percent_448ea947\":\"Prozent\",\"points_bceb5005\":\"Punkte\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents} von %{totalStudents} Studenten\",\"score_pts_adcb1af3\":\"%{score} Pkte.\",\"select_student_name_caaff244\":\"Student auswählen %{name}\",\"send_message_6ccc90e8\":\"Nachricht senden\",\"submitted_submitdate_bdd3bf09\":\"Abgegeben am: %{submitDate}\",\"view_next_student_9fc72fef\":\"Nächsten Studenten anzeigen\",\"view_previous_student_90000459\":\"Vorherigen Studenten anzeigen\",\"view_range_student_details_8116d68a\":\"Studentendetails nach Bereichen anzeigen\",\"view_submission_ff3da5d\":\"Einreichung anzeigen\"},\"el\":{\"back_2900f52a\":\"Πίσω\",\"letter_grade_f00fedc4\":\"Βαθμολόγηση με Γράμματα\",\"loading_bde52856\":\"Φόρτωση\",\"percent_448ea947\":\"ποσοστό\",\"points_bceb5005\":\"Μόρια\"},\"en-AU\":{\"back_2900f52a\":\"Back\",\"close_details_sidebar_ff8f663d\":\"Close details sidebar\",\"gpa_scale_6710e2ee\":\"GPA scale\",\"letter_grade_f00fedc4\":\"letter grade\",\"loading_bde52856\":\"Loading\",\"loading_data_ecd89ba\":\"Loading Data\",\"lowerbound_to_upperbound_352a3c0b\":\"%{lowerBound}+ to %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"Mastery Paths Breakdown\",\"not_submitted_7d05fdb4\":\"Not Submitted\",\"other_ddacb37d\":\"other\",\"percent_448ea947\":\"percent\",\"points_bceb5005\":\"points\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents} out of %{totalStudents} students\",\"score_pts_adcb1af3\":\"%{score} pts\",\"select_student_name_caaff244\":\"Select student %{name}\",\"send_message_6ccc90e8\":\"Send Message\",\"submitted_submitdate_bdd3bf09\":\"Submitted: %{submitDate}\",\"view_next_student_9fc72fef\":\"view next student\",\"view_previous_student_90000459\":\"view previous student\",\"view_range_student_details_8116d68a\":\"View range student details\",\"view_submission_ff3da5d\":\"View Submission\"},\"en-CA\":{\"back_2900f52a\":\"Back\",\"close_details_sidebar_ff8f663d\":\"Close details sidebar\",\"gpa_scale_6710e2ee\":\"GPA scale\",\"letter_grade_f00fedc4\":\"letter grade\",\"loading_bde52856\":\"Loading\",\"loading_data_ecd89ba\":\"Loading Data..\",\"lowerbound_to_upperbound_352a3c0b\":\"%{lowerBound}+ to %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"Mastery Paths Breakdown\",\"not_submitted_7d05fdb4\":\"Not Submitted\",\"other_ddacb37d\":\"other\",\"percent_448ea947\":\"percent\",\"points_bceb5005\":\"points\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents} out of %{totalStudents} students\",\"score_pts_adcb1af3\":\"%{score} pts\",\"select_student_name_caaff244\":\"Select student %{name}\",\"send_message_6ccc90e8\":\"Send Message\",\"submitted_submitdate_bdd3bf09\":\"Submitted: %{submitDate}\",\"view_next_student_9fc72fef\":\"view next student\",\"view_previous_student_90000459\":\"view previous student\",\"view_range_student_details_8116d68a\":\"View range student details\",\"view_submission_ff3da5d\":\"View Submission\"},\"en-GB\":{\"back_2900f52a\":\"Back\",\"close_details_sidebar_ff8f663d\":\"Close details sidebar\",\"gpa_scale_6710e2ee\":\"GPA scale\",\"letter_grade_f00fedc4\":\"letter grade\",\"loading_bde52856\":\"Loading\",\"loading_data_ecd89ba\":\"Loading Data…\",\"lowerbound_to_upperbound_352a3c0b\":\"%{lowerBound}+ to %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"Mastery paths breakdown\",\"not_submitted_7d05fdb4\":\"Not submitted\",\"other_ddacb37d\":\"other\",\"percent_448ea947\":\"per cent\",\"points_bceb5005\":\"points\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents} out of %{totalStudents} students\",\"score_pts_adcb1af3\":\"%{score} pts\",\"select_student_name_caaff244\":\"Select student %{name}\",\"send_message_6ccc90e8\":\"Send message\",\"submitted_submitdate_bdd3bf09\":\"Submitted: %{submitDate}\",\"view_next_student_9fc72fef\":\"View next student\",\"view_previous_student_90000459\":\"View previous student\",\"view_range_student_details_8116d68a\":\"View range student details\",\"view_submission_ff3da5d\":\"View submission\"},\"en-GB-x-lbs\":{\"back_2900f52a\":\"Back\",\"close_details_sidebar_ff8f663d\":\"Close details sidebar\",\"gpa_scale_6710e2ee\":\"GPA scale\",\"letter_grade_f00fedc4\":\"letter grade\",\"loading_bde52856\":\"Loading\",\"loading_data_ecd89ba\":\"Loading Data…\",\"lowerbound_to_upperbound_352a3c0b\":\"%{lowerBound}+ to %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"Mastery paths breakdown\",\"not_submitted_7d05fdb4\":\"Not submitted\",\"other_ddacb37d\":\"other\",\"percent_448ea947\":\"per cent\",\"points_bceb5005\":\"points\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents} out of %{totalStudents} students\",\"score_pts_adcb1af3\":\"%{score} pts\",\"select_student_name_caaff244\":\"Select student %{name}\",\"send_message_6ccc90e8\":\"Send message\",\"submitted_submitdate_bdd3bf09\":\"Submitted: %{submitDate}\",\"view_next_student_9fc72fef\":\"View next student\",\"view_previous_student_90000459\":\"View previous student\",\"view_range_student_details_8116d68a\":\"View range student details\",\"view_submission_ff3da5d\":\"View submission\"},\"en-GB-x-ukhe\":{\"back_2900f52a\":\"Back\",\"close_details_sidebar_ff8f663d\":\"Close details sidebar\",\"gpa_scale_6710e2ee\":\"GPA scale\",\"letter_grade_f00fedc4\":\"letter grade\",\"loading_bde52856\":\"Loading\",\"loading_data_ecd89ba\":\"Loading Data…\",\"lowerbound_to_upperbound_352a3c0b\":\"%{lowerBound}+ to %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"Mastery paths breakdown\",\"not_submitted_7d05fdb4\":\"Not submitted\",\"other_ddacb37d\":\"other\",\"percent_448ea947\":\"per cent\",\"points_bceb5005\":\"points\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents} out of %{totalStudents} students\",\"score_pts_adcb1af3\":\"%{score} pts\",\"select_student_name_caaff244\":\"Select student %{name}\",\"send_message_6ccc90e8\":\"Send message\",\"submitted_submitdate_bdd3bf09\":\"Submitted: %{submitDate}\",\"view_next_student_9fc72fef\":\"View next student\",\"view_previous_student_90000459\":\"View previous student\",\"view_range_student_details_8116d68a\":\"View range student details\",\"view_submission_ff3da5d\":\"View submission\"},\"es\":{\"back_2900f52a\":\"Volver\",\"close_details_sidebar_ff8f663d\":\"Cerrar la barra lateral de detalles\",\"gpa_scale_6710e2ee\":\"Escala de GPA\",\"letter_grade_f00fedc4\":\"Calificación en letras\",\"loading_bde52856\":\"Cargando\",\"loading_data_ecd89ba\":\"Cargando datos...\",\"lowerbound_to_upperbound_352a3c0b\":\"%{lowerBound}+ hasta %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"Desglose de los Caminos del dominio\",\"not_submitted_7d05fdb4\":\"No presentado\",\"other_ddacb37d\":\"otro\",\"percent_448ea947\":\"porcentaje\",\"points_bceb5005\":\"puntos\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents} de %{totalStudents} alumnos\",\"score_pts_adcb1af3\":\"%{score} ptos.\",\"select_student_name_caaff244\":\"Seleccionar alumno %{name}\",\"send_message_6ccc90e8\":\"Enviar mensaje\",\"submitted_submitdate_bdd3bf09\":\"Presentado: %{submitDate}\",\"view_next_student_9fc72fef\":\"ver siguiente alumno\",\"view_previous_student_90000459\":\"ver alumno anterior\",\"view_range_student_details_8116d68a\":\"Ver la gama de detalles del alumno\",\"view_submission_ff3da5d\":\"Ver presentación\"},\"fa\":{\"back_2900f52a\":\"بازگشت\",\"close_details_sidebar_ff8f663d\":\"بستن نوار کناری جزئیات\",\"gpa_scale_6710e2ee\":\"مقایس معدل\",\"letter_grade_f00fedc4\":\"نمره با حروف الفبا\",\"loading_bde52856\":\"در حال بارگذاری\",\"loading_data_ecd89ba\":\"در حال بارگذاری داده ها ...\",\"lowerbound_to_upperbound_352a3c0b\":\"%{lowerBound}+ به %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"از کار افتادن مسیرهای تسلط\",\"not_submitted_7d05fdb4\":\"ارسال نشده است\",\"other_ddacb37d\":\"سایر\",\"percent_448ea947\":\"درصد\",\"points_bceb5005\":\"امتیازها\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents} از %{totalStudents} دانشجو\",\"score_pts_adcb1af3\":\"%{score} امتیاز\",\"select_student_name_caaff244\":\"انتخاب دانشجوی %{name}\",\"send_message_6ccc90e8\":\"ارسال پیام\",\"submitted_submitdate_bdd3bf09\":\"ارسال شده: %{submitDate}\",\"view_next_student_9fc72fef\":\"مشاهده دانشجوی بعدی\",\"view_previous_student_90000459\":\"مشاهده دانشجوی قبلی\",\"view_range_student_details_8116d68a\":\"مشاهده بازه بندی اطلاعات دانشجو\",\"view_submission_ff3da5d\":\"مشاهده مورد ارسالی\"},\"fr\":{\"back_2900f52a\":\"Retour\",\"close_details_sidebar_ff8f663d\":\"Fermer la barre latérale des détails\",\"gpa_scale_6710e2ee\":\"Échelle MPC\",\"letter_grade_f00fedc4\":\"notation par lettre\",\"loading_bde52856\":\"En cours de chargement\",\"loading_data_ecd89ba\":\"Chargement des données...\",\"lowerbound_to_upperbound_352a3c0b\":\"de %{lowerBound}+ à %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"Répartition des parcours de maîtrise\",\"not_submitted_7d05fdb4\":\"Non soumis\",\"other_ddacb37d\":\"autre\",\"percent_448ea947\":\"pour cent\",\"points_bceb5005\":\"points\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents} sur %{totalStudents} élèves\",\"score_pts_adcb1af3\":\"%{score} pts\",\"select_student_name_caaff244\":\"Sélectionner un élève %{name}\",\"send_message_6ccc90e8\":\"Envoyer un message\",\"submitted_submitdate_bdd3bf09\":\"Soumis : %{submitDate}\",\"view_next_student_9fc72fef\":\"voir l'élève suivant\",\"view_previous_student_90000459\":\"voir l'élève précédent\",\"view_range_student_details_8116d68a\":\"Voir les détails de l'ensemble d'élèves\",\"view_submission_ff3da5d\":\"Voir la soumission\"},\"fr-CA\":{\"back_2900f52a\":\"Retour\",\"close_details_sidebar_ff8f663d\":\"Fermer la barre latérale des détails\",\"gpa_scale_6710e2ee\":\"Échelle MPC\",\"letter_grade_f00fedc4\":\"notation par lettre\",\"loading_bde52856\":\"Chargement\",\"loading_data_ecd89ba\":\"Chargement des données...\",\"lowerbound_to_upperbound_352a3c0b\":\"de %{lowerBound}+ à %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"Répartition des parcours de maîtrise\",\"not_submitted_7d05fdb4\":\"Non soumis\",\"other_ddacb37d\":\"autre\",\"percent_448ea947\":\"pour cent\",\"points_bceb5005\":\"points\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents} sur %{totalStudents} étudiants\",\"score_pts_adcb1af3\":\"%{score} pts\",\"select_student_name_caaff244\":\"Sélectionner un étudiant %{name}\",\"send_message_6ccc90e8\":\"Envoyer le message\",\"submitted_submitdate_bdd3bf09\":\"Soumis : %{submitDate}\",\"view_next_student_9fc72fef\":\"voir l'étudiant suivant\",\"view_previous_student_90000459\":\"voir l'étudiant précédent\",\"view_range_student_details_8116d68a\":\"Voir les détails de l'ensemble d'étudiant\",\"view_submission_ff3da5d\":\"Voir l'envoi\"},\"he\":{\"back_2900f52a\":\"חזרה\",\"close_details_sidebar_ff8f663d\":\"סגירת פירוט סרגל צדי\",\"gpa_scale_6710e2ee\":\"סולם ההערכה GPA\",\"letter_grade_f00fedc4\":\"הערכה מילולית\",\"loading_bde52856\":\"טוען\",\"loading_data_ecd89ba\":\"טוען נתונים...\",\"lowerbound_to_upperbound_352a3c0b\":\"%{lowerBound}+ ל %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"מסלולי התמחות לא תקינים\",\"not_submitted_7d05fdb4\":\"לא הוגש\",\"other_ddacb37d\":\"אחר\",\"percent_448ea947\":\"אחוז\",\"points_bceb5005\":\"נקודות\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents} מתוך %{totalStudents} תלמידים\",\"score_pts_adcb1af3\":\"%{score} נקודות\",\"select_student_name_caaff244\":\"בחירת התלמיד %{name}\",\"send_message_6ccc90e8\":\"שליחת הודעה\",\"submitted_submitdate_bdd3bf09\":\"הוגש: %{submitDate}\",\"view_next_student_9fc72fef\":\"הצגת התלמיד הבא\",\"view_previous_student_90000459\":\"הצגת התלמיד הקודם\",\"view_range_student_details_8116d68a\":\"הצגת פרטי קבוצת תלמידים\",\"view_submission_ff3da5d\":\"הצגת הגשה\"},\"ht\":{\"back_2900f52a\":\"Retounen\",\"close_details_sidebar_ff8f663d\":\"Fèmen detay ba lateral yo\",\"gpa_scale_6710e2ee\":\"Echèl GPA\",\"letter_grade_f00fedc4\":\"kategori lèt\",\"loading_bde52856\":\"Chajman\",\"loading_data_ecd89ba\":\"Chajman Done...\",\"lowerbound_to_upperbound_352a3c0b\":\"%{lowerBound}+ a %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"Repatisyon Pakou Prensipal\",\"not_submitted_7d05fdb4\":\"Pa Soumèt\",\"other_ddacb37d\":\"lòt\",\"percent_448ea947\":\"pousantaj\",\"points_bceb5005\":\"pwen\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents} sou %{totalStudents} elèv\",\"score_pts_adcb1af3\":\"%{score} pwen\",\"select_student_name_caaff244\":\"Seleksyone elèv %{name}\",\"send_message_6ccc90e8\":\"Voye Mesaj\",\"submitted_submitdate_bdd3bf09\":\"Soumèt: %{submitDate}\",\"view_next_student_9fc72fef\":\"afichaj pwochen elèv\",\"view_previous_student_90000459\":\"afichaj elèv pase\",\"view_range_student_details_8116d68a\":\"Afichaj detay gam elèv\",\"view_submission_ff3da5d\":\"Afichaj Soumisyon\"},\"hu\":{\"back_2900f52a\":\"Vissza\",\"gpa_scale_6710e2ee\":\"GPA skála\",\"letter_grade_f00fedc4\":\"Betű alapú érdemjegy \",\"loading_bde52856\":\"Töltődik\",\"loading_data_ecd89ba\":\"Adatok betöltése...\",\"lowerbound_to_upperbound_352a3c0b\":\"%{lowerBound}+ - %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"Jártassági útvonal üzemzavar\",\"not_submitted_7d05fdb4\":\"Nincs beküldve\",\"other_ddacb37d\":\"Egyéb\",\"percent_448ea947\":\"százalék\",\"points_bceb5005\":\"pontszám\",\"score_pts_adcb1af3\":\"%{score} pont\",\"send_message_6ccc90e8\":\"Üzenetküldés\",\"view_next_student_9fc72fef\":\"következő hallgató megtekintése\",\"view_previous_student_90000459\":\"előző hallgató megtekintése\",\"view_submission_ff3da5d\":\"Beadandó megtekintése\"},\"hy\":{\"back_2900f52a\":\"Վերադառնալ\",\"loading_bde52856\":\"Բեռնում է\"},\"is\":{\"back_2900f52a\":\"Til baka\",\"close_details_sidebar_ff8f663d\":\"Loka hliðarslárupplýsingum\",\"gpa_scale_6710e2ee\":\"Meðaleinkunnakvarði\",\"letter_grade_f00fedc4\":\"bókstafseinkunn\",\"loading_bde52856\":\"Sæki\",\"loading_data_ecd89ba\":\"Sæki gögn...\",\"lowerbound_to_upperbound_352a3c0b\":\"%{lowerBound}+ til %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"Sundurliðun tileinkunarslóðar\",\"not_submitted_7d05fdb4\":\"Ekki lagt fram\",\"other_ddacb37d\":\"annað\",\"percent_448ea947\":\"hlutfall\",\"points_bceb5005\":\"punktar\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents} af  %{totalStudents} nemendum\",\"score_pts_adcb1af3\":\"%{score} punktar\",\"select_student_name_caaff244\":\"Velja nemanda %{name}\",\"send_message_6ccc90e8\":\"Senda skilaboð\",\"submitted_submitdate_bdd3bf09\":\"Skilað: %{submitDate}\",\"view_next_student_9fc72fef\":\"skoða næsta nemanda\",\"view_previous_student_90000459\":\"skoða fyrri nemanda\",\"view_range_student_details_8116d68a\":\"Skoða upplýsingar um nemendahóp\",\"view_submission_ff3da5d\":\"Skoða skil\"},\"it\":{\"back_2900f52a\":\"Indietro\",\"close_details_sidebar_ff8f663d\":\"Chiudi barra laterale dettagli\",\"gpa_scale_6710e2ee\":\"Scala GPA\",\"letter_grade_f00fedc4\":\"voto in lettere\",\"loading_bde52856\":\"Caricamento in corso\",\"loading_data_ecd89ba\":\"Caricamento dei dati in corso...\",\"lowerbound_to_upperbound_352a3c0b\":\"%{lowerBound}+ a %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"Analisi percorsi di acquisizione padronanza\",\"not_submitted_7d05fdb4\":\"Non inviato\",\"other_ddacb37d\":\"altro\",\"percent_448ea947\":\"percentuale\",\"points_bceb5005\":\"punti\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents} su %{totalStudents} studenti\",\"score_pts_adcb1af3\":\"%{score} pt\",\"select_student_name_caaff244\":\"Seleziona studente %{name}\",\"send_message_6ccc90e8\":\"Invia messaggio\",\"submitted_submitdate_bdd3bf09\":\"Inviato: %{submitDate}\",\"view_next_student_9fc72fef\":\"visualizza studente successivo\",\"view_previous_student_90000459\":\"visualizza studente precedente\",\"view_range_student_details_8116d68a\":\"Visualizza dettagli studenti intervallo\",\"view_submission_ff3da5d\":\"Visualizza consegna\"},\"ja\":{\"back_2900f52a\":\"戻る\",\"close_details_sidebar_ff8f663d\":\"詳細のサイドバーを閉じる\",\"gpa_scale_6710e2ee\":\"GPA スケール\",\"letter_grade_f00fedc4\":\"レター グレード\",\"loading_bde52856\":\"読み込み中\",\"loading_data_ecd89ba\":\"データをロード中..\",\"lowerbound_to_upperbound_352a3c0b\":\"%{lowerBound}+ から%{upperBound} へ\",\"mastery_paths_breakdown_6e0b5fce\":\"熟達の過程の内訳\",\"not_submitted_7d05fdb4\":\"未提出\",\"other_ddacb37d\":\"その他\",\"percent_448ea947\":\"パーセント\",\"points_bceb5005\":\"点数\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents} %{totalStudents} の受講生\",\"score_pts_adcb1af3\":\"%{score} pts\",\"select_student_name_caaff244\":\"受講生の選択%{name}\",\"send_message_6ccc90e8\":\"メッセージの送信\",\"submitted_submitdate_bdd3bf09\":\"提出しました：%{submitDate}\",\"view_next_student_9fc72fef\":\"次の受講生を見る\",\"view_previous_student_90000459\":\"前の受講生を見る\",\"view_range_student_details_8116d68a\":\"範囲の受講生の詳細を見る\",\"view_submission_ff3da5d\":\"提出を見る\"},\"mi\":{\"back_2900f52a\":\"Hoki ki muri\",\"close_details_sidebar_ff8f663d\":\"Katia kōrero paetaha\",\"gpa_scale_6710e2ee\":\"tauine GPA\",\"letter_grade_f00fedc4\":\"kōeke reta\",\"loading_bde52856\":\"E tukuake ana\",\"loading_data_ecd89ba\":\"Te utanga raraunga\",\"lowerbound_to_upperbound_352a3c0b\":\"%{lowerBound}+ ki %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"Papatau Mana Ara\",\"not_submitted_7d05fdb4\":\"E Kore E Tukua\",\"other_ddacb37d\":\"te tahi atu\",\"percent_448ea947\":\"ōrau\",\"points_bceb5005\":\"Ngā koinga\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents} I roto i %{totalStudents} ngā akonga\",\"score_pts_adcb1af3\":\"%{score} ngā koinga\",\"select_student_name_caaff244\":\"Tīpako ākonga %{name}\",\"send_message_6ccc90e8\":\"Tukua Karere\",\"submitted_submitdate_bdd3bf09\":\"Kua tukuna %{submitDate}\",\"view_next_student_9fc72fef\":\"Tiro ākonga i muri mai\",\"view_previous_student_90000459\":\"Tiro ākonga o mua\",\"view_range_student_details_8116d68a\":\"Tiro whānui ngā taipitopito ākonga\",\"view_submission_ff3da5d\":\"Tiro tāpaetanga\"},\"nb\":{\"back_2900f52a\":\"Tilbake\",\"close_details_sidebar_ff8f663d\":\"Lukk detaljsidefeltet\",\"gpa_scale_6710e2ee\":\"Tallkarakterskala\",\"letter_grade_f00fedc4\":\"Bokstavkarakter\",\"loading_bde52856\":\"Laster\",\"loading_data_ecd89ba\":\"Laster data...\",\"lowerbound_to_upperbound_352a3c0b\":\"%{lowerBound}+ til %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"Læringsstier Sammendrag\",\"not_submitted_7d05fdb4\":\"Ikke levert\",\"other_ddacb37d\":\"annen\",\"percent_448ea947\":\"prosent\",\"points_bceb5005\":\"poeng\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents} av %{totalStudents} studenter\",\"score_pts_adcb1af3\":\"%{score} p\",\"select_student_name_caaff244\":\"Velg student %{name}\",\"send_message_6ccc90e8\":\"Send melding\",\"submitted_submitdate_bdd3bf09\":\"Levert: %{submitDate}\",\"view_next_student_9fc72fef\":\"vis neste student\",\"view_previous_student_90000459\":\"vis forrige student\",\"view_range_student_details_8116d68a\":\"Vis studentdetaljserie\",\"view_submission_ff3da5d\":\"Vis innlevering\"},\"nb-x-k12\":{\"back_2900f52a\":\"Tilbake\",\"close_details_sidebar_ff8f663d\":\"Lukk detaljsidefeltet\",\"gpa_scale_6710e2ee\":\"Tallvurderingsskala\",\"letter_grade_f00fedc4\":\"Bokstavvurdering\",\"loading_bde52856\":\"Laster\",\"loading_data_ecd89ba\":\"Laster data...\",\"lowerbound_to_upperbound_352a3c0b\":\"%{lowerBound}+ til %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"Læringsstier Sammendrag\",\"not_submitted_7d05fdb4\":\"Ikke levert\",\"other_ddacb37d\":\"annen\",\"percent_448ea947\":\"prosent\",\"points_bceb5005\":\"poeng\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents} av %{totalStudents} elever\",\"score_pts_adcb1af3\":\"%{score} poeng\",\"select_student_name_caaff244\":\"Velg elev %{name}\",\"send_message_6ccc90e8\":\"Send melding\",\"submitted_submitdate_bdd3bf09\":\"Levert: %{submitDate}\",\"view_next_student_9fc72fef\":\"vis neste elev\",\"view_previous_student_90000459\":\"vis forrige elev\",\"view_range_student_details_8116d68a\":\"Vis elevdetaljserie\",\"view_submission_ff3da5d\":\"Vis innlevering\"},\"nl\":{\"back_2900f52a\":\"Terug\",\"close_details_sidebar_ff8f663d\":\"Zijbalk met details sluiten\",\"gpa_scale_6710e2ee\":\"Gemiddeld eindcijfer\",\"letter_grade_f00fedc4\":\"beoordeling in lettervorm\",\"loading_bde52856\":\"Bezig met laden...\",\"loading_data_ecd89ba\":\"Gegevens laden..\",\"lowerbound_to_upperbound_352a3c0b\":\"%{lowerBound}+ naar %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"Uitsplitsing Mastery Paths\",\"not_submitted_7d05fdb4\":\"Niet ingediend\",\"other_ddacb37d\":\"andere\",\"percent_448ea947\":\"percentage\",\"points_bceb5005\":\"punten\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents} van %{totalStudents} cursisten\",\"score_pts_adcb1af3\":\"%{score} punten\",\"select_student_name_caaff244\":\"Cursist selecteren %{name}\",\"send_message_6ccc90e8\":\"Bericht versturen\",\"submitted_submitdate_bdd3bf09\":\"Ingeleverd: %{submitDate}\",\"view_next_student_9fc72fef\":\"volgende cursist weergeven\",\"view_previous_student_90000459\":\"vorige cursist weergeven\",\"view_range_student_details_8116d68a\":\"Weergavebereik cursistgegevens\",\"view_submission_ff3da5d\":\"Inlevering weergeven\"},\"nn\":{\"back_2900f52a\":\"Tilbake\",\"close_details_sidebar_ff8f663d\":\"Lukk detalj-sidestolpen\",\"gpa_scale_6710e2ee\":\"GPA-skala\",\"letter_grade_f00fedc4\":\"bokstavkarakter\",\"loading_bde52856\":\"Lastar\",\"loading_data_ecd89ba\":\"Lastar data..\",\"lowerbound_to_upperbound_352a3c0b\":\"%{lowerBound}+ til %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"Sjå meistringssti-detaljar\",\"not_submitted_7d05fdb4\":\"Ikkje levert\",\"other_ddacb37d\":\"anna\",\"percent_448ea947\":\"prosent\",\"points_bceb5005\":\"poeng\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents} av %{totalStudents} studentar\",\"score_pts_adcb1af3\":\"%{score} poeng\",\"select_student_name_caaff244\":\"Vel student %{name}\",\"send_message_6ccc90e8\":\"Send melding\",\"submitted_submitdate_bdd3bf09\":\"Innlevert %{submitDate}\",\"view_next_student_9fc72fef\":\"vis neste student\",\"view_previous_student_90000459\":\"vis førre student\",\"view_range_student_details_8116d68a\":\"Sjå studentdetaljar innan området\",\"view_submission_ff3da5d\":\"Vis innlevering\"},\"pl\":{\"back_2900f52a\":\"Wstecz\",\"close_details_sidebar_ff8f663d\":\"Zamknij pasek boczny ze szczegółami\",\"gpa_scale_6710e2ee\":\"Skala GPA\",\"letter_grade_f00fedc4\":\"ocena literowa\",\"loading_bde52856\":\"Trwa ładowanie\",\"loading_data_ecd89ba\":\"Wczytywanie danych...\",\"lowerbound_to_upperbound_352a3c0b\":\"%{lowerBound}+ do %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"Podział ścieżek biegłości na grupy\",\"not_submitted_7d05fdb4\":\"Nie wysłano\",\"other_ddacb37d\":\"inne\",\"percent_448ea947\":\"procent\",\"points_bceb5005\":\"punkty\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents} z %{totalStudents} uczestników\",\"score_pts_adcb1af3\":\"%{score} pkt\",\"select_student_name_caaff244\":\"Wybierz uczestnika %{name}\",\"send_message_6ccc90e8\":\"Wyślij wiadomość\",\"submitted_submitdate_bdd3bf09\":\"Wysłano: %{submitDate}\",\"view_next_student_9fc72fef\":\"Wyświetl kolejnego uczestnika\",\"view_previous_student_90000459\":\"Wyświetl poprzedniego uczestnika\",\"view_range_student_details_8116d68a\":\"Wyświetl szczegóły uczestników z zakresu\",\"view_submission_ff3da5d\":\"Wyświetl wysłane materiały\"},\"pt\":{\"back_2900f52a\":\"Voltar\",\"close_details_sidebar_ff8f663d\":\"Fechar detalhes da barra lateral\",\"gpa_scale_6710e2ee\":\"Escala GPA\",\"letter_grade_f00fedc4\":\"nota por letra\",\"loading_bde52856\":\"Carregando\",\"loading_data_ecd89ba\":\"A carregar dados...\",\"lowerbound_to_upperbound_352a3c0b\":\"%{lowerBound}+ a %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"Falhas no Circuito Principal\",\"not_submitted_7d05fdb4\":\"Não Entregue\",\"other_ddacb37d\":\"outro\",\"percent_448ea947\":\"percentagem\",\"points_bceb5005\":\"pontos\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents} de %{totalStudents} alunos\",\"score_pts_adcb1af3\":\"%{score} pts\",\"select_student_name_caaff244\":\"Seleccionar aluno %{name}\",\"send_message_6ccc90e8\":\"Enviar mensagem\",\"submitted_submitdate_bdd3bf09\":\"Submetido: %{submitDate}\",\"view_next_student_9fc72fef\":\"ver próximo aluno\",\"view_previous_student_90000459\":\"ver aluno anterior\",\"view_range_student_details_8116d68a\":\"Ver intervalo de detalhes do aluno\",\"view_submission_ff3da5d\":\"Ver Submissão\"},\"pt-BR\":{\"back_2900f52a\":\"Voltar\",\"close_details_sidebar_ff8f663d\":\"Fechar barra lateral de detalhes\",\"gpa_scale_6710e2ee\":\"Escala GPA\",\"letter_grade_f00fedc4\":\"nota por letra\",\"loading_bde52856\":\"Carregando\",\"loading_data_ecd89ba\":\"Carregando dados...\",\"lowerbound_to_upperbound_352a3c0b\":\"%{lowerBound}+ para %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"Quebra de Caminhos de Domínio\",\"not_submitted_7d05fdb4\":\"Não Enviado\",\"other_ddacb37d\":\"outro\",\"percent_448ea947\":\"porcentagem\",\"points_bceb5005\":\"pontos\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents} de %{totalStudents} alunos\",\"score_pts_adcb1af3\":\"%{score} pts\",\"select_student_name_caaff244\":\"Selecionar aluno %{name}\",\"send_message_6ccc90e8\":\"Enviar mensagem\",\"submitted_submitdate_bdd3bf09\":\"Enviado: %{submitDate}\",\"view_next_student_9fc72fef\":\"exibir próximo aluno\",\"view_previous_student_90000459\":\"exibir aluno anterior\",\"view_range_student_details_8116d68a\":\"Exibir detalhes do aluno do intervalo\",\"view_submission_ff3da5d\":\"Exibir envio\"},\"ru\":{\"back_2900f52a\":\"Назад\",\"close_details_sidebar_ff8f663d\":\"Закрыть боковую панель с деталями\",\"gpa_scale_6710e2ee\":\"Система оценки GPA\",\"letter_grade_f00fedc4\":\"буквенная оценка\",\"loading_bde52856\":\"Загрузка\",\"loading_data_ecd89ba\":\"Загрузка данных...\",\"lowerbound_to_upperbound_352a3c0b\":\"%{lowerBound}+ до %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"Разбивка Пути усвоения\",\"not_submitted_7d05fdb4\":\"Не отправлено\",\"other_ddacb37d\":\"другое\",\"percent_448ea947\":\"процент\",\"points_bceb5005\":\"баллов\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents} из %{totalStudents} учащихся\",\"score_pts_adcb1af3\":\"%{score} баллов\",\"select_student_name_caaff244\":\"Выбрать учащегося %{name}\",\"send_message_6ccc90e8\":\"Отправить сообщение\",\"submitted_submitdate_bdd3bf09\":\"Отправлено: %{submitDate}\",\"view_next_student_9fc72fef\":\"просмотреть следующего учащегося\",\"view_previous_student_90000459\":\"просмотреть предыдущего учащегося\",\"view_range_student_details_8116d68a\":\"Просмотреть сведения об учащихся из диапазона\",\"view_submission_ff3da5d\":\"Просмотреть отправленные материалы\"},\"sl\":{\"back_2900f52a\":\"Nazaj\",\"close_details_sidebar_ff8f663d\":\"Zapri stransko vrstico s podrobnostmi\",\"gpa_scale_6710e2ee\":\"Lestvica GPA\",\"letter_grade_f00fedc4\":\"črkovna ocena\",\"loading_bde52856\":\"Nalaganje\",\"loading_data_ecd89ba\":\"Nalaganje podatkov ...\",\"lowerbound_to_upperbound_352a3c0b\":\"%{lowerBound}+ do %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"Razčlenitev napredovanj v odličnosti\",\"not_submitted_7d05fdb4\":\"Ni oddano.\",\"other_ddacb37d\":\"drugo\",\"percent_448ea947\":\"odstotek\",\"points_bceb5005\":\"točk\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents} od %{totalStudents} študentov\",\"score_pts_adcb1af3\":\"%{score} točk\",\"select_student_name_caaff244\":\"Izberi študenta %{name}\",\"send_message_6ccc90e8\":\"Pošlji sporočilo\",\"submitted_submitdate_bdd3bf09\":\"Poslano: %{submitDate}\",\"view_next_student_9fc72fef\":\"ogled naslednjega študenta\",\"view_previous_student_90000459\":\"ogled prejšnjega študenta\",\"view_range_student_details_8116d68a\":\"Ogled podrobnosti o študentu za razpon\",\"view_submission_ff3da5d\":\"Ogled oddaje\"},\"sv\":{\"back_2900f52a\":\"Tillbaka\",\"close_details_sidebar_ff8f663d\":\"Stäng sidofältet för detaljer\",\"gpa_scale_6710e2ee\":\"GPA Skala\",\"letter_grade_f00fedc4\":\"Bokstavsomdöme\",\"loading_bde52856\":\"Laddar\",\"loading_data_ecd89ba\":\"Laddar data..\",\"lowerbound_to_upperbound_352a3c0b\":\"%{lowerBound}+ till %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"Målvägssammanbrott\",\"not_submitted_7d05fdb4\":\"Inte inskickad\",\"other_ddacb37d\":\"övriga\",\"percent_448ea947\":\"procent\",\"points_bceb5005\":\"poäng\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents} ut från %{totalStudents} studenter\",\"score_pts_adcb1af3\":\"%{score} poäng\",\"select_student_name_caaff244\":\"Välj student %{name}\",\"send_message_6ccc90e8\":\"Skicka meddelande\",\"submitted_submitdate_bdd3bf09\":\"Inskickad: %{submitDate}\",\"view_next_student_9fc72fef\":\" visa nästa student\",\"view_previous_student_90000459\":\"visa föregående student\",\"view_range_student_details_8116d68a\":\" Visa omfång studentdetaljer\",\"view_submission_ff3da5d\":\"Visa uppgift\"},\"sv-x-k12\":{\"back_2900f52a\":\"Tillbaka\",\"close_details_sidebar_ff8f663d\":\"Stäng sidofältet för detaljer\",\"gpa_scale_6710e2ee\":\"GPA Skala\",\"letter_grade_f00fedc4\":\"Bokstavsbedömning\",\"loading_bde52856\":\"Laddar\",\"loading_data_ecd89ba\":\"Laddar data..\",\"lowerbound_to_upperbound_352a3c0b\":\"%{lowerBound}+ till %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"Målvägssammanbrott\",\"not_submitted_7d05fdb4\":\"Inte inskickad\",\"other_ddacb37d\":\"övriga\",\"percent_448ea947\":\"procent\",\"points_bceb5005\":\"Poäng\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents} ut från %{totalStudents} elever\",\"score_pts_adcb1af3\":\"%{score} poäng\",\"select_student_name_caaff244\":\"Välj elev %{name}\",\"send_message_6ccc90e8\":\"Skicka meddelande\",\"submitted_submitdate_bdd3bf09\":\"Inskickad: %{submitDate}\",\"view_next_student_9fc72fef\":\"visa nästa elev\",\"view_previous_student_90000459\":\"visa föregående elev\",\"view_range_student_details_8116d68a\":\"Visa omfång elevdetaljer\",\"view_submission_ff3da5d\":\"Visa uppgift\"},\"tr\":{\"back_2900f52a\":\"Geri\",\"close_details_sidebar_ff8f663d\":\"Ayrıntılar kenar çubuğunu kapat\",\"gpa_scale_6710e2ee\":\"GNO ölçeği\",\"loading_bde52856\":\"Yükleniyor\",\"other_ddacb37d\":\"diğer\",\"percent_448ea947\":\"yüzde\",\"send_message_6ccc90e8\":\"Mesaj Gönder\"},\"uk\":{\"back_2900f52a\":\"Назад\",\"close_details_sidebar_ff8f663d\":\"Закрити деталі бічної панелі\",\"gpa_scale_6710e2ee\":\"GPA масштаб\",\"letter_grade_f00fedc4\":\"оцінка у вигляді літери\",\"loading_bde52856\":\"Завантаження\",\"loading_data_ecd89ba\":\"Завантаження даних...\",\"lowerbound_to_upperbound_352a3c0b\":\"%{lowerBound}+ до %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"Розподіл Шляхів Майстерності\",\"not_submitted_7d05fdb4\":\"Не відправлено\",\"other_ddacb37d\":\"інше\",\"percent_448ea947\":\"відсоток\",\"points_bceb5005\":\"бали\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents}з %{totalStudents}студентів\",\"score_pts_adcb1af3\":\"%{score}балів\",\"select_student_name_caaff244\":\"Вибрати студента %{name}\",\"send_message_6ccc90e8\":\"Відправити повідомлення\",\"submitted_submitdate_bdd3bf09\":\"Відправлено: %{submitDate}\",\"view_next_student_9fc72fef\":\"переглянути наступного студента\",\"view_previous_student_90000459\":\"переглянути попереднього студента\",\"view_range_student_details_8116d68a\":\"Переглянути детальну інформацію про студента\",\"view_submission_ff3da5d\":\"Переглянути відправлення\"},\"zh-Hans\":{\"back_2900f52a\":\"后退\",\"close_details_sidebar_ff8f663d\":\"关闭详细信息侧边栏\",\"gpa_scale_6710e2ee\":\"GPA 绩点\",\"letter_grade_f00fedc4\":\"字母评分\",\"loading_bde52856\":\"加载\",\"loading_data_ecd89ba\":\"正在加载数据……\",\"lowerbound_to_upperbound_352a3c0b\":\"%{lowerBound}+ 到 %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"掌握途径故障\",\"not_submitted_7d05fdb4\":\"未提交\",\"other_ddacb37d\":\"其他\",\"percent_448ea947\":\"百分率\",\"points_bceb5005\":\"分值\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents} %{totalStudents}个学生\",\"score_pts_adcb1af3\":\"%{score} 分\",\"select_student_name_caaff244\":\"选择学生%{name}\",\"send_message_6ccc90e8\":\"发送信息\",\"submitted_submitdate_bdd3bf09\":\"已提交%{submitDate}\",\"view_next_student_9fc72fef\":\"查看下一个学生\",\"view_previous_student_90000459\":\"查看上一个学生\",\"view_range_student_details_8116d68a\":\"查看学生详细信息范围\",\"view_submission_ff3da5d\":\"查看提交的作业\"},\"zh-Hant\":{\"back_2900f52a\":\"返回\",\"close_details_sidebar_ff8f663d\":\"關閉詳細側邊欄\",\"gpa_scale_6710e2ee\":\"GPA 比例\",\"letter_grade_f00fedc4\":\"字母分級\",\"loading_bde52856\":\"正在載入\",\"loading_data_ecd89ba\":\"載入資料中..\",\"lowerbound_to_upperbound_352a3c0b\":\"%{lowerBound}+ 至 %{upperBound}\",\"mastery_paths_breakdown_6e0b5fce\":\"精通路徑分解\",\"not_submitted_7d05fdb4\":\"未提交\",\"other_ddacb37d\":\"其他\",\"percent_448ea947\":\"百分比\",\"points_bceb5005\":\"分數\",\"rangestudents_out_of_totalstudents_students_e5ee60e1\":\"%{rangeStudents}  %{totalStudents} 個學生\",\"score_pts_adcb1af3\":\"%{score}分數\",\"select_student_name_caaff244\":\"選取學生%{name}\",\"send_message_6ccc90e8\":\"發送訊息\",\"submitted_submitdate_bdd3bf09\":\"已提交：%{submitDate}\",\"view_next_student_9fc72fef\":\"查看下一個學生\",\"view_previous_student_90000459\":\"查看上一個學生\",\"view_range_student_details_8116d68a\":\"查看範圍學生詳細資料\",\"view_submission_ff3da5d\":\"查看提交\"}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/cyoe_assignment_sidebar.js\n// module id = 4HD17nuc6Y\n// module chunks = 27 32 37 51 54 55 58 59 73","//\n// Copyright (C) 2012 - present Instructure, Inc.\n//\n// This file is part of Canvas.\n//\n// Canvas is free software: you can redistribute it and/or modify it under\n// the terms of the GNU Affero General Public License as published by the Free\n// Software Foundation, version 3 of the License.\n//\n// Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n// A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n// details.\n//\n// You should have received a copy of the GNU Affero General Public License along\n// with this program. If not, see <http://www.gnu.org/licenses/>.\n\nimport tinymce from 'tinymce/tinymce'\nimport 'tinymce/themes/modern/theme'\nimport 'tinymce/plugins/autolink/plugin'\nimport 'tinymce/plugins/media/plugin'\nimport 'tinymce/plugins/paste/plugin'\nimport 'tinymce/plugins/table/plugin'\nimport 'tinymce/plugins/textcolor/plugin'\nimport 'tinymce/plugins/link/plugin'\nimport 'tinymce/plugins/directionality/plugin'\nimport 'tinymce/plugins/lists/plugin'\nimport 'tinymce/plugins/wordcount/plugin'\n\n// prevent tiny from loading any CSS assets\ntinymce.DOM.loadCSS = function() {}\n\nexport default tinymce\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/editor/stocktiny.js","//\n// Copyright (C) 2011 - present Instructure, Inc.\n//\n// This file is part of Canvas.\n//\n// Canvas is free software: you can redistribute it and/or modify it under\n// the terms of the GNU Affero General Public License as published by the Free\n// Software Foundation, version 3 of the License.\n//\n// Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n// A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n// details.\n//\n// You should have received a copy of the GNU Affero General Public License along\n// with this program. If not, see <http://www.gnu.org/licenses/>.\n//\n\nimport Backbone from 'Backbone'\n\nexport default class Submission extends Backbone.Model {\n  constructor(...args) {\n    super(...args)\n    this.isGraded = this.isGraded.bind(this)\n    this.hasSubmission = this.hasSubmission.bind(this)\n    this.withoutGradedSubmission = this.withoutGradedSubmission.bind(this)\n    this.present = this.present.bind(this)\n  }\n\n  isGraded() {\n    return this.get('grade') != null\n  }\n\n  hasSubmission() {\n    return !!this.get('submission_type')\n  }\n\n  withoutGradedSubmission() {\n    return !this.hasSubmission() && !this.isGraded()\n  }\n\n  present() {\n    const json = this.toJSON()\n    json.submitted_or_graded = !this.withoutGradedSubmission()\n    return json\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/models/Submission.js","#\n# Copyright (C) 2013 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  'Backbone'\n  'jquery'\n  'underscore'\n  '../fn/preventDefault'\n  'str/htmlEscape'\n  'jquery.toJSON'\n  'jquery.disableWhileLoading'\n  'jquery.instructure_forms'\n  'jquery.instructure_misc_helpers'\n], (Backbone, $, _, preventDefault, htmlEscape) ->\n\n  ValidatedMixin =\n\n    ##\n    # Errors are displayed relative to the field to which they belong. If\n    # the key of the error in the response doesn't match the name attribute\n    # of the form input element, configure a selector here.\n    #\n    # For example, given a form field like this:\n    #\n    #   <input name=\"user[first_name]\">\n    #\n    # and an error response like this:\n    #\n    #   {errors: { first_name: {...} }}\n    #\n    # you would do this:\n    #\n    #   fieldSelectors:\n    #     first_name: '[name=user[first_name]]'\n    fieldSelectors: null\n\n    ##\n    # For a given dom element, retrieve the sibling tinymce wrapper.\n    #\n    # @param {jQuery Object} the textarea for whom we wish to get the\n    #   related tinymce editor area\n    # @return {jQuery Object} the relevant div that wraps the tinymce\n    #   iframe related to this textarea\n    findSiblingTinymce: ($el)->\n      $el.siblings('.mce-tinymce').find(\".mce-edit-area\")\n\n    findField: (field, useGlobalSelector=false) ->\n      selector = @fieldSelectors?[field] or \"[name='#{field}']\"\n      if useGlobalSelector\n        $el = $(selector)\n      else\n        $el = @$(selector)\n\n      if $el.data('rich_text')\n        $el = @findSiblingTinymce($el)\n      $el\n\n    ##\n    # Needs an errors object that looks like this:\n    #\n    #   {\n    #     <field1>: [errors],\n    #     <field2>: [errors]\n    #   }\n    #\n    # For example:\n    #\n    #   {\n    #     first_name: [\n    #       {\n    #         type: 'required'\n    #         message: 'First name is required'\n    #       },\n    #       {\n    #         type: 'no_numbers',\n    #         message: \"First name can't contain numbers\"\n    #       }\n    #     ]\n    #   }\n    #\n    # If globalSelector is true, it will look for this element everywhere\n    # in the DOM instead of only `this` children elements. This is particularly\n    # useful for some modals\n    showErrors: (errors, useGlobalSelector=false) ->\n      for fieldName, field of errors\n        $input = field.element || @findField(fieldName, useGlobalSelector)\n        html = field.message || (htmlEscape(@translations?[message] or message) for {message} in field).join('</p><p>')\n        $input.errorBox($.raw(\"#{html}\"))?.css(\"z-index\", \"1100\")?.attr('role', 'alert')\n        @attachErrorDescription($input, html)\n        field.$input = $input\n        field.$errorBox = $input.data 'associated_error_box'\n\n    attachErrorDescription: ($input, message) ->\n      errorDescriptionField = @findOrCreateDescriptionField($input)\n      errorDescriptionField[\"description\"].text($.raw(\"#{message}\"))\n      $input.attr('aria-describedby',\n        errorDescriptionField[\"description\"].attr('id') + \" \" +\n        errorDescriptionField[\"originalDescriptionIds\"]\n      )\n\n    findOrCreateDescriptionField: ($input) ->\n      id = $input.attr('id')\n      unless $(\"##{id}_sr_description\").length > 0\n        $('<div>').attr({\n          id: \"#{id}_sr_description\"\n          class: \"screenreader-only\"\n        }).insertBefore($input)\n      description = $(\"##{id}_sr_description\")\n      originalDescriptionIds = @getExistingDescriptionIds($input, id)\n      {description: description, originalDescriptionIds: originalDescriptionIds}\n\n    getExistingDescriptionIds: ($input, id) ->\n      descriptionIds = $input.attr('aria-describedby')\n      idArray = if descriptionIds then descriptionIds.split(\" \") else []\n      _.without(idArray,\"#{id}_sr_description\")\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/views/ValidatedMixin.coffee","\n    define('jst/KeyboardNavDialog', [\"handlebars/runtime\",\"i18n!keyboard_nav_dialog\",\"coffeescripts/handlebars_helpers.coffee\"], function(Handlebars){\n      Handlebars = Handlebars.default\n      var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};\n      var name = 'KeyboardNavDialog';\n      templates[name] = template(function (Handlebars,depth0,helpers,partials,data) {\n  this.compilerInfo = [4,'>= 1.0.0'];\nhelpers = this.merge(helpers, Handlebars.helpers); data = data || {};\n  var buffer = \"\", stack1, helper, options, functionType=\"function\", escapeExpression=this.escapeExpression, self=this, helperMissing=helpers.helperMissing;\n\nfunction program1(depth0,data) {\n  \n  var buffer = \"\", stack1, helper;\n  buffer += \"\\n  <li>\\n    <span class=\\\"keycode\\\">\";\n  if (helper = helpers.key) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.key); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"</span>\\n    <span class=\\\"colon\\\">:</span>\\n    <span class=\\\"description\\\">\";\n  if (helper = helpers.desc) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.desc); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"</span>\\n  </li>\\n  \";\n  return buffer;\n  }\n\n  buffer += \"<ul class=\\\"navigation_list\\\" tabindex=\\\"-1\\\">\\n  \";\n  stack1 = helpers.each.call(depth0, (depth0 && depth0.keyBindings), {hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n</ul>\\n<span>\\n  \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"keyboard_nav_dialog\")\n  },data:data},helper ? helper.call(depth0, \"esc_key_notification\", \"Press the escape key before using keyboard shortcuts when navigating the gradebook grid.\", options) : helperMissing.call(depth0, \"t\", \"esc_key_notification\", \"Press the escape key before using keyboard shortcuts when navigating the gradebook grid.\", options)))\n    + \"\\n</span>\\n\";\n  return buffer;\n  });\n      ;\n      ;\n      return templates[name];\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./app/views/jst/KeyboardNavDialog.handlebars\n// module id = 5VtjU8hRzz\n// module chunks = 28 35 54","/*** IMPORTS FROM imports-loader ***/\n(function() {\n\n// 4.9.2 (2018-12-17)\n(function () {\n(function () {\n    'use strict';\n\n    var noop = function () {\n      var args = [];\n      for (var _i = 0; _i < arguments.length; _i++) {\n        args[_i] = arguments[_i];\n      }\n    };\n    var compose = function (fa, fb) {\n      return function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        return fa(fb.apply(null, args));\n      };\n    };\n    var constant = function (value) {\n      return function () {\n        return value;\n      };\n    };\n    var identity = function (x) {\n      return x;\n    };\n    function curry(fn) {\n      var initialArgs = [];\n      for (var _i = 1; _i < arguments.length; _i++) {\n        initialArgs[_i - 1] = arguments[_i];\n      }\n      return function () {\n        var restArgs = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          restArgs[_i] = arguments[_i];\n        }\n        var all = initialArgs.concat(restArgs);\n        return fn.apply(null, all);\n      };\n    }\n    var not = function (f) {\n      return function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        return !f.apply(null, args);\n      };\n    };\n    var die = function (msg) {\n      return function () {\n        throw new Error(msg);\n      };\n    };\n    var never = constant(false);\n    var always = constant(true);\n\n    var never$1 = never;\n    var always$1 = always;\n    var none = function () {\n      return NONE;\n    };\n    var NONE = function () {\n      var eq = function (o) {\n        return o.isNone();\n      };\n      var call$$1 = function (thunk) {\n        return thunk();\n      };\n      var id = function (n) {\n        return n;\n      };\n      var noop$$1 = function () {\n      };\n      var nul = function () {\n        return null;\n      };\n      var undef = function () {\n        return undefined;\n      };\n      var me = {\n        fold: function (n, s) {\n          return n();\n        },\n        is: never$1,\n        isSome: never$1,\n        isNone: always$1,\n        getOr: id,\n        getOrThunk: call$$1,\n        getOrDie: function (msg) {\n          throw new Error(msg || 'error: getOrDie called on none.');\n        },\n        getOrNull: nul,\n        getOrUndefined: undef,\n        or: id,\n        orThunk: call$$1,\n        map: none,\n        ap: none,\n        each: noop$$1,\n        bind: none,\n        flatten: none,\n        exists: never$1,\n        forall: always$1,\n        filter: none,\n        equals: eq,\n        equals_: eq,\n        toArray: function () {\n          return [];\n        },\n        toString: constant('none()')\n      };\n      if (Object.freeze)\n        Object.freeze(me);\n      return me;\n    }();\n    var some = function (a) {\n      var constant_a = function () {\n        return a;\n      };\n      var self = function () {\n        return me;\n      };\n      var map = function (f) {\n        return some(f(a));\n      };\n      var bind = function (f) {\n        return f(a);\n      };\n      var me = {\n        fold: function (n, s) {\n          return s(a);\n        },\n        is: function (v) {\n          return a === v;\n        },\n        isSome: always$1,\n        isNone: never$1,\n        getOr: constant_a,\n        getOrThunk: constant_a,\n        getOrDie: constant_a,\n        getOrNull: constant_a,\n        getOrUndefined: constant_a,\n        or: self,\n        orThunk: self,\n        map: map,\n        ap: function (optfab) {\n          return optfab.fold(none, function (fab) {\n            return some(fab(a));\n          });\n        },\n        each: function (f) {\n          f(a);\n        },\n        bind: bind,\n        flatten: constant_a,\n        exists: bind,\n        forall: bind,\n        filter: function (f) {\n          return f(a) ? me : NONE;\n        },\n        equals: function (o) {\n          return o.is(a);\n        },\n        equals_: function (o, elementEq) {\n          return o.fold(never$1, function (b) {\n            return elementEq(a, b);\n          });\n        },\n        toArray: function () {\n          return [a];\n        },\n        toString: function () {\n          return 'some(' + a + ')';\n        }\n      };\n      return me;\n    };\n    var from = function (value) {\n      return value === null || value === undefined ? NONE : some(value);\n    };\n    var Option = {\n      some: some,\n      none: none,\n      from: from\n    };\n\n    var typeOf = function (x) {\n      if (x === null)\n        return 'null';\n      var t = typeof x;\n      if (t === 'object' && Array.prototype.isPrototypeOf(x))\n        return 'array';\n      if (t === 'object' && String.prototype.isPrototypeOf(x))\n        return 'string';\n      return t;\n    };\n    var isType = function (type) {\n      return function (value) {\n        return typeOf(value) === type;\n      };\n    };\n    var isString = isType('string');\n    var isObject = isType('object');\n    var isArray = isType('array');\n    var isNull = isType('null');\n    var isBoolean = isType('boolean');\n    var isFunction = isType('function');\n    var isNumber = isType('number');\n\n    var rawIndexOf = function () {\n      var pIndexOf = Array.prototype.indexOf;\n      var fastIndex = function (xs, x) {\n        return pIndexOf.call(xs, x);\n      };\n      var slowIndex = function (xs, x) {\n        return slowIndexOf(xs, x);\n      };\n      return pIndexOf === undefined ? slowIndex : fastIndex;\n    }();\n    var indexOf = function (xs, x) {\n      var r = rawIndexOf(xs, x);\n      return r === -1 ? Option.none() : Option.some(r);\n    };\n    var contains = function (xs, x) {\n      return rawIndexOf(xs, x) > -1;\n    };\n    var exists = function (xs, pred) {\n      return findIndex(xs, pred).isSome();\n    };\n    var map = function (xs, f) {\n      var len = xs.length;\n      var r = new Array(len);\n      for (var i = 0; i < len; i++) {\n        var x = xs[i];\n        r[i] = f(x, i, xs);\n      }\n      return r;\n    };\n    var each = function (xs, f) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        f(x, i, xs);\n      }\n    };\n    var eachr = function (xs, f) {\n      for (var i = xs.length - 1; i >= 0; i--) {\n        var x = xs[i];\n        f(x, i, xs);\n      }\n    };\n    var partition = function (xs, pred) {\n      var pass = [];\n      var fail = [];\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        var arr = pred(x, i, xs) ? pass : fail;\n        arr.push(x);\n      }\n      return {\n        pass: pass,\n        fail: fail\n      };\n    };\n    var filter = function (xs, pred) {\n      var r = [];\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        if (pred(x, i, xs)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    var foldr = function (xs, f, acc) {\n      eachr(xs, function (x) {\n        acc = f(acc, x);\n      });\n      return acc;\n    };\n    var foldl = function (xs, f, acc) {\n      each(xs, function (x) {\n        acc = f(acc, x);\n      });\n      return acc;\n    };\n    var find = function (xs, pred) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        if (pred(x, i, xs)) {\n          return Option.some(x);\n        }\n      }\n      return Option.none();\n    };\n    var findIndex = function (xs, pred) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        if (pred(x, i, xs)) {\n          return Option.some(i);\n        }\n      }\n      return Option.none();\n    };\n    var slowIndexOf = function (xs, x) {\n      for (var i = 0, len = xs.length; i < len; ++i) {\n        if (xs[i] === x) {\n          return i;\n        }\n      }\n      return -1;\n    };\n    var push = Array.prototype.push;\n    var flatten = function (xs) {\n      var r = [];\n      for (var i = 0, len = xs.length; i < len; ++i) {\n        if (!Array.prototype.isPrototypeOf(xs[i]))\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        push.apply(r, xs[i]);\n      }\n      return r;\n    };\n    var bind = function (xs, f) {\n      var output = map(xs, f);\n      return flatten(output);\n    };\n    var forall = function (xs, pred) {\n      for (var i = 0, len = xs.length; i < len; ++i) {\n        var x = xs[i];\n        if (pred(x, i, xs) !== true) {\n          return false;\n        }\n      }\n      return true;\n    };\n    var slice = Array.prototype.slice;\n    var reverse = function (xs) {\n      var r = slice.call(xs, 0);\n      r.reverse();\n      return r;\n    };\n    var difference = function (a1, a2) {\n      return filter(a1, function (x) {\n        return !contains(a2, x);\n      });\n    };\n    var mapToObject = function (xs, f) {\n      var r = {};\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        r[String(x)] = f(x, i);\n      }\n      return r;\n    };\n    var sort = function (xs, comparator) {\n      var copy = slice.call(xs, 0);\n      copy.sort(comparator);\n      return copy;\n    };\n    var head = function (xs) {\n      return xs.length === 0 ? Option.none() : Option.some(xs[0]);\n    };\n    var last = function (xs) {\n      return xs.length === 0 ? Option.none() : Option.some(xs[xs.length - 1]);\n    };\n    var from$1 = isFunction(Array.from) ? Array.from : function (x) {\n      return slice.call(x);\n    };\n\n    var Global = typeof window !== 'undefined' ? window : Function('return this;')();\n\n    var path = function (parts, scope) {\n      var o = scope !== undefined && scope !== null ? scope : Global;\n      for (var i = 0; i < parts.length && o !== undefined && o !== null; ++i)\n        o = o[parts[i]];\n      return o;\n    };\n    var resolve = function (p, scope) {\n      var parts = p.split('.');\n      return path(parts, scope);\n    };\n\n    var unsafe = function (name, scope) {\n      return resolve(name, scope);\n    };\n    var getOrDie = function (name, scope) {\n      var actual = unsafe(name, scope);\n      if (actual === undefined || actual === null)\n        throw name + ' not available on this browser';\n      return actual;\n    };\n    var Global$1 = { getOrDie: getOrDie };\n\n    var url = function () {\n      return Global$1.getOrDie('URL');\n    };\n    var createObjectURL = function (blob) {\n      return url().createObjectURL(blob);\n    };\n    var revokeObjectURL = function (u) {\n      url().revokeObjectURL(u);\n    };\n    var URL = {\n      createObjectURL: createObjectURL,\n      revokeObjectURL: revokeObjectURL\n    };\n\n    var nav = navigator, userAgent = nav.userAgent;\n    var opera, webkit, ie, ie11, ie12, gecko, mac, iDevice, android, fileApi, phone, tablet, windowsPhone;\n    var matchMediaQuery = function (query) {\n      return 'matchMedia' in window ? matchMedia(query).matches : false;\n    };\n    opera = false;\n    android = /Android/.test(userAgent);\n    webkit = /WebKit/.test(userAgent);\n    ie = !webkit && !opera && /MSIE/gi.test(userAgent) && /Explorer/gi.test(nav.appName);\n    ie = ie && /MSIE (\\w+)\\./.exec(userAgent)[1];\n    ie11 = userAgent.indexOf('Trident/') !== -1 && (userAgent.indexOf('rv:') !== -1 || nav.appName.indexOf('Netscape') !== -1) ? 11 : false;\n    ie12 = userAgent.indexOf('Edge/') !== -1 && !ie && !ie11 ? 12 : false;\n    ie = ie || ie11 || ie12;\n    gecko = !webkit && !ie11 && /Gecko/.test(userAgent);\n    mac = userAgent.indexOf('Mac') !== -1;\n    iDevice = /(iPad|iPhone)/.test(userAgent);\n    fileApi = 'FormData' in window && 'FileReader' in window && 'URL' in window && !!URL.createObjectURL;\n    phone = matchMediaQuery('only screen and (max-device-width: 480px)') && (android || iDevice);\n    tablet = matchMediaQuery('only screen and (min-width: 800px)') && (android || iDevice);\n    windowsPhone = userAgent.indexOf('Windows Phone') !== -1;\n    if (ie12) {\n      webkit = false;\n    }\n    var contentEditable = !iDevice || fileApi || parseInt(userAgent.match(/AppleWebKit\\/(\\d*)/)[1], 10) >= 534;\n    var Env = {\n      opera: opera,\n      webkit: webkit,\n      ie: ie,\n      gecko: gecko,\n      mac: mac,\n      iOS: iDevice,\n      android: android,\n      contentEditable: contentEditable,\n      transparentSrc: 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7',\n      caretAfter: ie !== 8,\n      range: window.getSelection && 'Range' in window,\n      documentMode: ie && !ie12 ? document.documentMode || 7 : 10,\n      fileApi: fileApi,\n      ceFalse: ie === false || ie > 8,\n      cacheSuffix: null,\n      container: null,\n      overrideViewPort: null,\n      experimentalShadowDom: false,\n      canHaveCSP: ie === false || ie > 11,\n      desktop: !phone && !tablet,\n      windowsPhone: windowsPhone\n    };\n\n    var promise = function () {\n      function bind(fn, thisArg) {\n        return function () {\n          fn.apply(thisArg, arguments);\n        };\n      }\n      var isArray = Array.isArray || function (value) {\n        return Object.prototype.toString.call(value) === '[object Array]';\n      };\n      var Promise = function (fn) {\n        if (typeof this !== 'object') {\n          throw new TypeError('Promises must be constructed via new');\n        }\n        if (typeof fn !== 'function') {\n          throw new TypeError('not a function');\n        }\n        this._state = null;\n        this._value = null;\n        this._deferreds = [];\n        doResolve(fn, bind(resolve, this), bind(reject, this));\n      };\n      var asap = Promise.immediateFn || typeof setImmediate === 'function' && setImmediate || function (fn) {\n        setTimeout(fn, 1);\n      };\n      function handle(deferred) {\n        var me = this;\n        if (this._state === null) {\n          this._deferreds.push(deferred);\n          return;\n        }\n        asap(function () {\n          var cb = me._state ? deferred.onFulfilled : deferred.onRejected;\n          if (cb === null) {\n            (me._state ? deferred.resolve : deferred.reject)(me._value);\n            return;\n          }\n          var ret;\n          try {\n            ret = cb(me._value);\n          } catch (e) {\n            deferred.reject(e);\n            return;\n          }\n          deferred.resolve(ret);\n        });\n      }\n      function resolve(newValue) {\n        try {\n          if (newValue === this) {\n            throw new TypeError('A promise cannot be resolved with itself.');\n          }\n          if (newValue && (typeof newValue === 'object' || typeof newValue === 'function')) {\n            var then = newValue.then;\n            if (typeof then === 'function') {\n              doResolve(bind(then, newValue), bind(resolve, this), bind(reject, this));\n              return;\n            }\n          }\n          this._state = true;\n          this._value = newValue;\n          finale.call(this);\n        } catch (e) {\n          reject.call(this, e);\n        }\n      }\n      function reject(newValue) {\n        this._state = false;\n        this._value = newValue;\n        finale.call(this);\n      }\n      function finale() {\n        for (var i = 0, len = this._deferreds.length; i < len; i++) {\n          handle.call(this, this._deferreds[i]);\n        }\n        this._deferreds = null;\n      }\n      function Handler(onFulfilled, onRejected, resolve, reject) {\n        this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n        this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n        this.resolve = resolve;\n        this.reject = reject;\n      }\n      function doResolve(fn, onFulfilled, onRejected) {\n        var done = false;\n        try {\n          fn(function (value) {\n            if (done) {\n              return;\n            }\n            done = true;\n            onFulfilled(value);\n          }, function (reason) {\n            if (done) {\n              return;\n            }\n            done = true;\n            onRejected(reason);\n          });\n        } catch (ex) {\n          if (done) {\n            return;\n          }\n          done = true;\n          onRejected(ex);\n        }\n      }\n      Promise.prototype.catch = function (onRejected) {\n        return this.then(null, onRejected);\n      };\n      Promise.prototype.then = function (onFulfilled, onRejected) {\n        var me = this;\n        return new Promise(function (resolve, reject) {\n          handle.call(me, new Handler(onFulfilled, onRejected, resolve, reject));\n        });\n      };\n      Promise.all = function () {\n        var args = Array.prototype.slice.call(arguments.length === 1 && isArray(arguments[0]) ? arguments[0] : arguments);\n        return new Promise(function (resolve, reject) {\n          if (args.length === 0) {\n            return resolve([]);\n          }\n          var remaining = args.length;\n          function res(i, val) {\n            try {\n              if (val && (typeof val === 'object' || typeof val === 'function')) {\n                var then = val.then;\n                if (typeof then === 'function') {\n                  then.call(val, function (val) {\n                    res(i, val);\n                  }, reject);\n                  return;\n                }\n              }\n              args[i] = val;\n              if (--remaining === 0) {\n                resolve(args);\n              }\n            } catch (ex) {\n              reject(ex);\n            }\n          }\n          for (var i = 0; i < args.length; i++) {\n            res(i, args[i]);\n          }\n        });\n      };\n      Promise.resolve = function (value) {\n        if (value && typeof value === 'object' && value.constructor === Promise) {\n          return value;\n        }\n        return new Promise(function (resolve) {\n          resolve(value);\n        });\n      };\n      Promise.reject = function (value) {\n        return new Promise(function (resolve, reject) {\n          reject(value);\n        });\n      };\n      Promise.race = function (values) {\n        return new Promise(function (resolve, reject) {\n          for (var i = 0, len = values.length; i < len; i++) {\n            values[i].then(resolve, reject);\n          }\n        });\n      };\n      return Promise;\n    };\n    var promiseObj = window.Promise ? window.Promise : promise();\n\n    var requestAnimationFramePromise;\n    var requestAnimationFrame$$1 = function (callback, element) {\n      var i, requestAnimationFrameFunc = window.requestAnimationFrame;\n      var vendors = [\n        'ms',\n        'moz',\n        'webkit'\n      ];\n      var featurefill = function (callback) {\n        window.setTimeout(callback, 0);\n      };\n      for (i = 0; i < vendors.length && !requestAnimationFrameFunc; i++) {\n        requestAnimationFrameFunc = window[vendors[i] + 'RequestAnimationFrame'];\n      }\n      if (!requestAnimationFrameFunc) {\n        requestAnimationFrameFunc = featurefill;\n      }\n      requestAnimationFrameFunc(callback, element);\n    };\n    var wrappedSetTimeout = function (callback, time) {\n      if (typeof time !== 'number') {\n        time = 0;\n      }\n      return setTimeout(callback, time);\n    };\n    var wrappedSetInterval = function (callback, time) {\n      if (typeof time !== 'number') {\n        time = 1;\n      }\n      return setInterval(callback, time);\n    };\n    var wrappedClearTimeout = function (id) {\n      return clearTimeout(id);\n    };\n    var wrappedClearInterval = function (id) {\n      return clearInterval(id);\n    };\n    var debounce = function (callback, time) {\n      var timer, func;\n      func = function () {\n        var args = arguments;\n        clearTimeout(timer);\n        timer = wrappedSetTimeout(function () {\n          callback.apply(this, args);\n        }, time);\n      };\n      func.stop = function () {\n        clearTimeout(timer);\n      };\n      return func;\n    };\n    var Delay = {\n      requestAnimationFrame: function (callback, element) {\n        if (requestAnimationFramePromise) {\n          requestAnimationFramePromise.then(callback);\n          return;\n        }\n        requestAnimationFramePromise = new promiseObj(function (resolve) {\n          if (!element) {\n            element = document.body;\n          }\n          requestAnimationFrame$$1(resolve, element);\n        }).then(callback);\n      },\n      setTimeout: wrappedSetTimeout,\n      setInterval: wrappedSetInterval,\n      setEditorTimeout: function (editor, callback, time) {\n        return wrappedSetTimeout(function () {\n          if (!editor.removed) {\n            callback();\n          }\n        }, time);\n      },\n      setEditorInterval: function (editor, callback, time) {\n        var timer;\n        timer = wrappedSetInterval(function () {\n          if (!editor.removed) {\n            callback();\n          } else {\n            clearInterval(timer);\n          }\n        }, time);\n        return timer;\n      },\n      debounce: debounce,\n      throttle: debounce,\n      clearInterval: wrappedClearInterval,\n      clearTimeout: wrappedClearTimeout\n    };\n\n    var eventExpandoPrefix = 'mce-data-';\n    var mouseEventRe = /^(?:mouse|contextmenu)|click/;\n    var deprecated = {\n      keyLocation: 1,\n      layerX: 1,\n      layerY: 1,\n      returnValue: 1,\n      webkitMovementX: 1,\n      webkitMovementY: 1,\n      keyIdentifier: 1\n    };\n    var hasIsDefaultPrevented = function (event$$1) {\n      return event$$1.isDefaultPrevented === returnTrue || event$$1.isDefaultPrevented === returnFalse;\n    };\n    var returnFalse = function () {\n      return false;\n    };\n    var returnTrue = function () {\n      return true;\n    };\n    var addEvent = function (target, name$$1, callback, capture) {\n      if (target.addEventListener) {\n        target.addEventListener(name$$1, callback, capture || false);\n      } else if (target.attachEvent) {\n        target.attachEvent('on' + name$$1, callback);\n      }\n    };\n    var removeEvent = function (target, name$$1, callback, capture) {\n      if (target.removeEventListener) {\n        target.removeEventListener(name$$1, callback, capture || false);\n      } else if (target.detachEvent) {\n        target.detachEvent('on' + name$$1, callback);\n      }\n    };\n    var getTargetFromShadowDom = function (event$$1, defaultTarget) {\n      if (event$$1.composedPath) {\n        var composedPath = event$$1.composedPath();\n        if (composedPath && composedPath.length > 0) {\n          return composedPath[0];\n        }\n      }\n      return defaultTarget;\n    };\n    var fix = function (originalEvent, data) {\n      var name$$1;\n      var event$$1 = data || {};\n      for (name$$1 in originalEvent) {\n        if (!deprecated[name$$1]) {\n          event$$1[name$$1] = originalEvent[name$$1];\n        }\n      }\n      if (!event$$1.target) {\n        event$$1.target = event$$1.srcElement || document;\n      }\n      if (Env.experimentalShadowDom) {\n        event$$1.target = getTargetFromShadowDom(originalEvent, event$$1.target);\n      }\n      if (originalEvent && mouseEventRe.test(originalEvent.type) && originalEvent.pageX === undefined && originalEvent.clientX !== undefined) {\n        var eventDoc = event$$1.target.ownerDocument || document;\n        var doc = eventDoc.documentElement;\n        var body = eventDoc.body;\n        event$$1.pageX = originalEvent.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);\n        event$$1.pageY = originalEvent.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);\n      }\n      event$$1.preventDefault = function () {\n        event$$1.isDefaultPrevented = returnTrue;\n        if (originalEvent) {\n          if (originalEvent.preventDefault) {\n            originalEvent.preventDefault();\n          } else {\n            originalEvent.returnValue = false;\n          }\n        }\n      };\n      event$$1.stopPropagation = function () {\n        event$$1.isPropagationStopped = returnTrue;\n        if (originalEvent) {\n          if (originalEvent.stopPropagation) {\n            originalEvent.stopPropagation();\n          } else {\n            originalEvent.cancelBubble = true;\n          }\n        }\n      };\n      event$$1.stopImmediatePropagation = function () {\n        event$$1.isImmediatePropagationStopped = returnTrue;\n        event$$1.stopPropagation();\n      };\n      if (hasIsDefaultPrevented(event$$1) === false) {\n        event$$1.isDefaultPrevented = returnFalse;\n        event$$1.isPropagationStopped = returnFalse;\n        event$$1.isImmediatePropagationStopped = returnFalse;\n      }\n      if (typeof event$$1.metaKey === 'undefined') {\n        event$$1.metaKey = false;\n      }\n      return event$$1;\n    };\n    var bindOnReady = function (win, callback, eventUtils) {\n      var doc = win.document, event$$1 = { type: 'ready' };\n      if (eventUtils.domLoaded) {\n        callback(event$$1);\n        return;\n      }\n      var isDocReady = function () {\n        return doc.readyState === 'complete' || doc.readyState === 'interactive' && doc.body;\n      };\n      var readyHandler = function () {\n        if (!eventUtils.domLoaded) {\n          eventUtils.domLoaded = true;\n          callback(event$$1);\n        }\n      };\n      var waitForDomLoaded = function () {\n        if (isDocReady()) {\n          removeEvent(doc, 'readystatechange', waitForDomLoaded);\n          readyHandler();\n        }\n      };\n      var tryScroll = function () {\n        try {\n          doc.documentElement.doScroll('left');\n        } catch (ex) {\n          Delay.setTimeout(tryScroll);\n          return;\n        }\n        readyHandler();\n      };\n      if (doc.addEventListener && !(Env.ie && Env.ie < 11)) {\n        if (isDocReady()) {\n          readyHandler();\n        } else {\n          addEvent(win, 'DOMContentLoaded', readyHandler);\n        }\n      } else {\n        addEvent(doc, 'readystatechange', waitForDomLoaded);\n        if (doc.documentElement.doScroll && win.self === win.top) {\n          tryScroll();\n        }\n      }\n      addEvent(win, 'load', readyHandler);\n    };\n    var EventUtils = function () {\n      var self$$1 = this;\n      var events = {}, count, expando, hasFocusIn, hasMouseEnterLeave, mouseEnterLeave;\n      expando = eventExpandoPrefix + (+new Date()).toString(32);\n      hasMouseEnterLeave = 'onmouseenter' in document.documentElement;\n      hasFocusIn = 'onfocusin' in document.documentElement;\n      mouseEnterLeave = {\n        mouseenter: 'mouseover',\n        mouseleave: 'mouseout'\n      };\n      count = 1;\n      self$$1.domLoaded = false;\n      self$$1.events = events;\n      var executeHandlers = function (evt, id) {\n        var callbackList, i, l, callback;\n        var container = events[id];\n        callbackList = container && container[evt.type];\n        if (callbackList) {\n          for (i = 0, l = callbackList.length; i < l; i++) {\n            callback = callbackList[i];\n            if (callback && callback.func.call(callback.scope, evt) === false) {\n              evt.preventDefault();\n            }\n            if (evt.isImmediatePropagationStopped()) {\n              return;\n            }\n          }\n        }\n      };\n      self$$1.bind = function (target, names, callback, scope) {\n        var id, callbackList, i, name$$1, fakeName, nativeHandler, capture;\n        var win = window;\n        var defaultNativeHandler = function (evt) {\n          executeHandlers(fix(evt || win.event), id);\n        };\n        if (!target || target.nodeType === 3 || target.nodeType === 8) {\n          return;\n        }\n        if (!target[expando]) {\n          id = count++;\n          target[expando] = id;\n          events[id] = {};\n        } else {\n          id = target[expando];\n        }\n        scope = scope || target;\n        names = names.split(' ');\n        i = names.length;\n        while (i--) {\n          name$$1 = names[i];\n          nativeHandler = defaultNativeHandler;\n          fakeName = capture = false;\n          if (name$$1 === 'DOMContentLoaded') {\n            name$$1 = 'ready';\n          }\n          if (self$$1.domLoaded && name$$1 === 'ready' && target.readyState === 'complete') {\n            callback.call(scope, fix({ type: name$$1 }));\n            continue;\n          }\n          if (!hasMouseEnterLeave) {\n            fakeName = mouseEnterLeave[name$$1];\n            if (fakeName) {\n              nativeHandler = function (evt) {\n                var current, related;\n                current = evt.currentTarget;\n                related = evt.relatedTarget;\n                if (related && current.contains) {\n                  related = current.contains(related);\n                } else {\n                  while (related && related !== current) {\n                    related = related.parentNode;\n                  }\n                }\n                if (!related) {\n                  evt = fix(evt || win.event);\n                  evt.type = evt.type === 'mouseout' ? 'mouseleave' : 'mouseenter';\n                  evt.target = current;\n                  executeHandlers(evt, id);\n                }\n              };\n            }\n          }\n          if (!hasFocusIn && (name$$1 === 'focusin' || name$$1 === 'focusout')) {\n            capture = true;\n            fakeName = name$$1 === 'focusin' ? 'focus' : 'blur';\n            nativeHandler = function (evt) {\n              evt = fix(evt || win.event);\n              evt.type = evt.type === 'focus' ? 'focusin' : 'focusout';\n              executeHandlers(evt, id);\n            };\n          }\n          callbackList = events[id][name$$1];\n          if (!callbackList) {\n            events[id][name$$1] = callbackList = [{\n                func: callback,\n                scope: scope\n              }];\n            callbackList.fakeName = fakeName;\n            callbackList.capture = capture;\n            callbackList.nativeHandler = nativeHandler;\n            if (name$$1 === 'ready') {\n              bindOnReady(target, nativeHandler, self$$1);\n            } else {\n              addEvent(target, fakeName || name$$1, nativeHandler, capture);\n            }\n          } else {\n            if (name$$1 === 'ready' && self$$1.domLoaded) {\n              callback({ type: name$$1 });\n            } else {\n              callbackList.push({\n                func: callback,\n                scope: scope\n              });\n            }\n          }\n        }\n        target = callbackList = 0;\n        return callback;\n      };\n      self$$1.unbind = function (target, names, callback) {\n        var id, callbackList, i, ci, name$$1, eventMap;\n        if (!target || target.nodeType === 3 || target.nodeType === 8) {\n          return self$$1;\n        }\n        id = target[expando];\n        if (id) {\n          eventMap = events[id];\n          if (names) {\n            names = names.split(' ');\n            i = names.length;\n            while (i--) {\n              name$$1 = names[i];\n              callbackList = eventMap[name$$1];\n              if (callbackList) {\n                if (callback) {\n                  ci = callbackList.length;\n                  while (ci--) {\n                    if (callbackList[ci].func === callback) {\n                      var nativeHandler = callbackList.nativeHandler;\n                      var fakeName = callbackList.fakeName, capture = callbackList.capture;\n                      callbackList = callbackList.slice(0, ci).concat(callbackList.slice(ci + 1));\n                      callbackList.nativeHandler = nativeHandler;\n                      callbackList.fakeName = fakeName;\n                      callbackList.capture = capture;\n                      eventMap[name$$1] = callbackList;\n                    }\n                  }\n                }\n                if (!callback || callbackList.length === 0) {\n                  delete eventMap[name$$1];\n                  removeEvent(target, callbackList.fakeName || name$$1, callbackList.nativeHandler, callbackList.capture);\n                }\n              }\n            }\n          } else {\n            for (name$$1 in eventMap) {\n              callbackList = eventMap[name$$1];\n              removeEvent(target, callbackList.fakeName || name$$1, callbackList.nativeHandler, callbackList.capture);\n            }\n            eventMap = {};\n          }\n          for (name$$1 in eventMap) {\n            return self$$1;\n          }\n          delete events[id];\n          try {\n            delete target[expando];\n          } catch (ex) {\n            target[expando] = null;\n          }\n        }\n        return self$$1;\n      };\n      self$$1.fire = function (target, name$$1, args) {\n        var id;\n        if (!target || target.nodeType === 3 || target.nodeType === 8) {\n          return self$$1;\n        }\n        args = fix(null, args);\n        args.type = name$$1;\n        args.target = target;\n        do {\n          id = target[expando];\n          if (id) {\n            executeHandlers(args, id);\n          }\n          target = target.parentNode || target.ownerDocument || target.defaultView || target.parentWindow;\n        } while (target && !args.isPropagationStopped());\n        return self$$1;\n      };\n      self$$1.clean = function (target) {\n        var i, children;\n        var unbind = self$$1.unbind;\n        if (!target || target.nodeType === 3 || target.nodeType === 8) {\n          return self$$1;\n        }\n        if (target[expando]) {\n          unbind(target);\n        }\n        if (!target.getElementsByTagName) {\n          target = target.document;\n        }\n        if (target && target.getElementsByTagName) {\n          unbind(target);\n          children = target.getElementsByTagName('*');\n          i = children.length;\n          while (i--) {\n            target = children[i];\n            if (target[expando]) {\n              unbind(target);\n            }\n          }\n        }\n        return self$$1;\n      };\n      self$$1.destroy = function () {\n        events = {};\n      };\n      self$$1.cancel = function (e) {\n        if (e) {\n          e.preventDefault();\n          e.stopImmediatePropagation();\n        }\n        return false;\n      };\n    };\n    EventUtils.Event = new EventUtils();\n    EventUtils.Event.bind(window, 'ready', function () {\n    });\n\n    var i, support, Expr, getText, isXML, tokenize, compile, select, outermostContext, sortInput, hasDuplicate, setDocument, document$1, docElem, documentIsHTML, rbuggyQSA, rbuggyMatches, matches, contains$1, expando = 'sizzle' + -new Date(), preferredDoc = window.document, dirruns = 0, done = 0, classCache = createCache(), tokenCache = createCache(), compilerCache = createCache(), sortOrder = function (a, b) {\n        if (a === b) {\n          hasDuplicate = true;\n        }\n        return 0;\n      }, strundefined = typeof undefined, MAX_NEGATIVE = 1 << 31, hasOwn = {}.hasOwnProperty, arr = [], pop = arr.pop, push_native = arr.push, push$1 = arr.push, slice$1 = arr.slice, indexOf$1 = arr.indexOf || function (elem) {\n        var i = 0, len = this.length;\n        for (; i < len; i++) {\n          if (this[i] === elem) {\n            return i;\n          }\n        }\n        return -1;\n      }, booleans = 'checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped', whitespace = '[\\\\x20\\\\t\\\\r\\\\n\\\\f]', identifier = '(?:\\\\\\\\.|[\\\\w-]|[^\\\\x00-\\\\xa0])+', attributes = '\\\\[' + whitespace + '*(' + identifier + ')(?:' + whitespace + '*([*^$|!~]?=)' + whitespace + '*(?:\\'((?:\\\\\\\\.|[^\\\\\\\\\\'])*)\\'|\"((?:\\\\\\\\.|[^\\\\\\\\\"])*)\"|(' + identifier + '))|)' + whitespace + '*\\\\]', pseudos = ':(' + identifier + ')(?:\\\\((' + '(\\'((?:\\\\\\\\.|[^\\\\\\\\\\'])*)\\'|\"((?:\\\\\\\\.|[^\\\\\\\\\"])*)\")|' + '((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|' + attributes + ')*)|' + '.*' + ')\\\\)|)', rtrim = new RegExp('^' + whitespace + '+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)' + whitespace + '+$', 'g'), rcomma = new RegExp('^' + whitespace + '*,' + whitespace + '*'), rcombinators = new RegExp('^' + whitespace + '*([>+~]|' + whitespace + ')' + whitespace + '*'), rattributeQuotes = new RegExp('=' + whitespace + '*([^\\\\]\\'\"]*?)' + whitespace + '*\\\\]', 'g'), rpseudo = new RegExp(pseudos), ridentifier = new RegExp('^' + identifier + '$'), matchExpr = {\n        ID: new RegExp('^#(' + identifier + ')'),\n        CLASS: new RegExp('^\\\\.(' + identifier + ')'),\n        TAG: new RegExp('^(' + identifier + '|[*])'),\n        ATTR: new RegExp('^' + attributes),\n        PSEUDO: new RegExp('^' + pseudos),\n        CHILD: new RegExp('^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(' + whitespace + '*(even|odd|(([+-]|)(\\\\d*)n|)' + whitespace + '*(?:([+-]|)' + whitespace + '*(\\\\d+)|))' + whitespace + '*\\\\)|)', 'i'),\n        bool: new RegExp('^(?:' + booleans + ')$', 'i'),\n        needsContext: new RegExp('^' + whitespace + '*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(' + whitespace + '*((?:-\\\\d)?\\\\d*)' + whitespace + '*\\\\)|)(?=[^-]|$)', 'i')\n      }, rinputs = /^(?:input|select|textarea|button)$/i, rheader = /^h\\d$/i, rnative = /^[^{]+\\{\\s*\\[native \\w/, rquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/, rsibling = /[+~]/, rescape = /'|\\\\/g, runescape = new RegExp('\\\\\\\\([\\\\da-f]{1,6}' + whitespace + '?|(' + whitespace + ')|.)', 'ig'), funescape = function (_, escaped, escapedWhitespace) {\n        var high = '0x' + escaped - 65536;\n        return high !== high || escapedWhitespace ? escaped : high < 0 ? String.fromCharCode(high + 65536) : String.fromCharCode(high >> 10 | 55296, high & 1023 | 56320);\n      };\n    try {\n      push$1.apply(arr = slice$1.call(preferredDoc.childNodes), preferredDoc.childNodes);\n      arr[preferredDoc.childNodes.length].nodeType;\n    } catch (e) {\n      push$1 = {\n        apply: arr.length ? function (target, els) {\n          push_native.apply(target, slice$1.call(els));\n        } : function (target, els) {\n          var j = target.length, i = 0;\n          while (target[j++] = els[i++]) {\n          }\n          target.length = j - 1;\n        }\n      };\n    }\n    var Sizzle = function (selector, context, results, seed) {\n      var match, elem, m, nodeType, i, groups, old, nid, newContext, newSelector;\n      if ((context ? context.ownerDocument || context : preferredDoc) !== document$1) {\n        setDocument(context);\n      }\n      context = context || document$1;\n      results = results || [];\n      if (!selector || typeof selector !== 'string') {\n        return results;\n      }\n      if ((nodeType = context.nodeType) !== 1 && nodeType !== 9) {\n        return [];\n      }\n      if (documentIsHTML && !seed) {\n        if (match = rquickExpr.exec(selector)) {\n          if (m = match[1]) {\n            if (nodeType === 9) {\n              elem = context.getElementById(m);\n              if (elem && elem.parentNode) {\n                if (elem.id === m) {\n                  results.push(elem);\n                  return results;\n                }\n              } else {\n                return results;\n              }\n            } else {\n              if (context.ownerDocument && (elem = context.ownerDocument.getElementById(m)) && contains$1(context, elem) && elem.id === m) {\n                results.push(elem);\n                return results;\n              }\n            }\n          } else if (match[2]) {\n            push$1.apply(results, context.getElementsByTagName(selector));\n            return results;\n          } else if ((m = match[3]) && support.getElementsByClassName) {\n            push$1.apply(results, context.getElementsByClassName(m));\n            return results;\n          }\n        }\n        if (support.qsa && (!rbuggyQSA || !rbuggyQSA.test(selector))) {\n          nid = old = expando;\n          newContext = context;\n          newSelector = nodeType === 9 && selector;\n          if (nodeType === 1 && context.nodeName.toLowerCase() !== 'object') {\n            groups = tokenize(selector);\n            if (old = context.getAttribute('id')) {\n              nid = old.replace(rescape, '\\\\$&');\n            } else {\n              context.setAttribute('id', nid);\n            }\n            nid = '[id=\\'' + nid + '\\'] ';\n            i = groups.length;\n            while (i--) {\n              groups[i] = nid + toSelector(groups[i]);\n            }\n            newContext = rsibling.test(selector) && testContext(context.parentNode) || context;\n            newSelector = groups.join(',');\n          }\n          if (newSelector) {\n            try {\n              push$1.apply(results, newContext.querySelectorAll(newSelector));\n              return results;\n            } catch (qsaError) {\n            } finally {\n              if (!old) {\n                context.removeAttribute('id');\n              }\n            }\n          }\n        }\n      }\n      return select(selector.replace(rtrim, '$1'), context, results, seed);\n    };\n    function createCache() {\n      var keys = [];\n      function cache(key, value) {\n        if (keys.push(key + ' ') > Expr.cacheLength) {\n          delete cache[keys.shift()];\n        }\n        return cache[key + ' '] = value;\n      }\n      return cache;\n    }\n    function markFunction(fn) {\n      fn[expando] = true;\n      return fn;\n    }\n    function siblingCheck(a, b) {\n      var cur = b && a, diff = cur && a.nodeType === 1 && b.nodeType === 1 && (~b.sourceIndex || MAX_NEGATIVE) - (~a.sourceIndex || MAX_NEGATIVE);\n      if (diff) {\n        return diff;\n      }\n      if (cur) {\n        while (cur = cur.nextSibling) {\n          if (cur === b) {\n            return -1;\n          }\n        }\n      }\n      return a ? 1 : -1;\n    }\n    function createInputPseudo(type) {\n      return function (elem) {\n        var name$$1 = elem.nodeName.toLowerCase();\n        return name$$1 === 'input' && elem.type === type;\n      };\n    }\n    function createButtonPseudo(type) {\n      return function (elem) {\n        var name$$1 = elem.nodeName.toLowerCase();\n        return (name$$1 === 'input' || name$$1 === 'button') && elem.type === type;\n      };\n    }\n    function createPositionalPseudo(fn) {\n      return markFunction(function (argument) {\n        argument = +argument;\n        return markFunction(function (seed, matches) {\n          var j, matchIndexes = fn([], seed.length, argument), i = matchIndexes.length;\n          while (i--) {\n            if (seed[j = matchIndexes[i]]) {\n              seed[j] = !(matches[j] = seed[j]);\n            }\n          }\n        });\n      });\n    }\n    function testContext(context) {\n      return context && typeof context.getElementsByTagName !== strundefined && context;\n    }\n    support = Sizzle.support = {};\n    isXML = Sizzle.isXML = function (elem) {\n      var documentElement = elem && (elem.ownerDocument || elem).documentElement;\n      return documentElement ? documentElement.nodeName !== 'HTML' : false;\n    };\n    setDocument = Sizzle.setDocument = function (node) {\n      var hasCompare, doc = node ? node.ownerDocument || node : preferredDoc, parent$$1 = doc.defaultView;\n      function getTop(win) {\n        try {\n          return win.top;\n        } catch (ex) {\n        }\n        return null;\n      }\n      if (doc === document$1 || doc.nodeType !== 9 || !doc.documentElement) {\n        return document$1;\n      }\n      document$1 = doc;\n      docElem = doc.documentElement;\n      documentIsHTML = !isXML(doc);\n      if (parent$$1 && parent$$1 !== getTop(parent$$1)) {\n        if (parent$$1.addEventListener) {\n          parent$$1.addEventListener('unload', function () {\n            setDocument();\n          }, false);\n        } else if (parent$$1.attachEvent) {\n          parent$$1.attachEvent('onunload', function () {\n            setDocument();\n          });\n        }\n      }\n      support.attributes = true;\n      support.getElementsByTagName = true;\n      support.getElementsByClassName = rnative.test(doc.getElementsByClassName);\n      support.getById = true;\n      Expr.find.ID = function (id, context) {\n        if (typeof context.getElementById !== strundefined && documentIsHTML) {\n          var m = context.getElementById(id);\n          return m && m.parentNode ? [m] : [];\n        }\n      };\n      Expr.filter.ID = function (id) {\n        var attrId = id.replace(runescape, funescape);\n        return function (elem) {\n          return elem.getAttribute('id') === attrId;\n        };\n      };\n      Expr.find.TAG = support.getElementsByTagName ? function (tag, context) {\n        if (typeof context.getElementsByTagName !== strundefined) {\n          return context.getElementsByTagName(tag);\n        }\n      } : function (tag, context) {\n        var elem, tmp = [], i = 0, results = context.getElementsByTagName(tag);\n        if (tag === '*') {\n          while (elem = results[i++]) {\n            if (elem.nodeType === 1) {\n              tmp.push(elem);\n            }\n          }\n          return tmp;\n        }\n        return results;\n      };\n      Expr.find.CLASS = support.getElementsByClassName && function (className, context) {\n        if (documentIsHTML) {\n          return context.getElementsByClassName(className);\n        }\n      };\n      rbuggyMatches = [];\n      rbuggyQSA = [];\n      support.disconnectedMatch = true;\n      rbuggyQSA = rbuggyQSA.length && new RegExp(rbuggyQSA.join('|'));\n      rbuggyMatches = rbuggyMatches.length && new RegExp(rbuggyMatches.join('|'));\n      hasCompare = rnative.test(docElem.compareDocumentPosition);\n      contains$1 = hasCompare || rnative.test(docElem.contains) ? function (a, b) {\n        var adown = a.nodeType === 9 ? a.documentElement : a, bup = b && b.parentNode;\n        return a === bup || !!(bup && bup.nodeType === 1 && (adown.contains ? adown.contains(bup) : a.compareDocumentPosition && a.compareDocumentPosition(bup) & 16));\n      } : function (a, b) {\n        if (b) {\n          while (b = b.parentNode) {\n            if (b === a) {\n              return true;\n            }\n          }\n        }\n        return false;\n      };\n      sortOrder = hasCompare ? function (a, b) {\n        if (a === b) {\n          hasDuplicate = true;\n          return 0;\n        }\n        var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\n        if (compare) {\n          return compare;\n        }\n        compare = (a.ownerDocument || a) === (b.ownerDocument || b) ? a.compareDocumentPosition(b) : 1;\n        if (compare & 1 || !support.sortDetached && b.compareDocumentPosition(a) === compare) {\n          if (a === doc || a.ownerDocument === preferredDoc && contains$1(preferredDoc, a)) {\n            return -1;\n          }\n          if (b === doc || b.ownerDocument === preferredDoc && contains$1(preferredDoc, b)) {\n            return 1;\n          }\n          return sortInput ? indexOf$1.call(sortInput, a) - indexOf$1.call(sortInput, b) : 0;\n        }\n        return compare & 4 ? -1 : 1;\n      } : function (a, b) {\n        if (a === b) {\n          hasDuplicate = true;\n          return 0;\n        }\n        var cur, i = 0, aup = a.parentNode, bup = b.parentNode, ap = [a], bp = [b];\n        if (!aup || !bup) {\n          return a === doc ? -1 : b === doc ? 1 : aup ? -1 : bup ? 1 : sortInput ? indexOf$1.call(sortInput, a) - indexOf$1.call(sortInput, b) : 0;\n        } else if (aup === bup) {\n          return siblingCheck(a, b);\n        }\n        cur = a;\n        while (cur = cur.parentNode) {\n          ap.unshift(cur);\n        }\n        cur = b;\n        while (cur = cur.parentNode) {\n          bp.unshift(cur);\n        }\n        while (ap[i] === bp[i]) {\n          i++;\n        }\n        return i ? siblingCheck(ap[i], bp[i]) : ap[i] === preferredDoc ? -1 : bp[i] === preferredDoc ? 1 : 0;\n      };\n      return doc;\n    };\n    Sizzle.matches = function (expr, elements) {\n      return Sizzle(expr, null, null, elements);\n    };\n    Sizzle.matchesSelector = function (elem, expr) {\n      if ((elem.ownerDocument || elem) !== document$1) {\n        setDocument(elem);\n      }\n      expr = expr.replace(rattributeQuotes, '=\\'$1\\']');\n      if (support.matchesSelector && documentIsHTML && (!rbuggyMatches || !rbuggyMatches.test(expr)) && (!rbuggyQSA || !rbuggyQSA.test(expr))) {\n        try {\n          var ret = matches.call(elem, expr);\n          if (ret || support.disconnectedMatch || elem.document && elem.document.nodeType !== 11) {\n            return ret;\n          }\n        } catch (e) {\n        }\n      }\n      return Sizzle(expr, document$1, null, [elem]).length > 0;\n    };\n    Sizzle.contains = function (context, elem) {\n      if ((context.ownerDocument || context) !== document$1) {\n        setDocument(context);\n      }\n      return contains$1(context, elem);\n    };\n    Sizzle.attr = function (elem, name$$1) {\n      if ((elem.ownerDocument || elem) !== document$1) {\n        setDocument(elem);\n      }\n      var fn = Expr.attrHandle[name$$1.toLowerCase()], val = fn && hasOwn.call(Expr.attrHandle, name$$1.toLowerCase()) ? fn(elem, name$$1, !documentIsHTML) : undefined;\n      return val !== undefined ? val : support.attributes || !documentIsHTML ? elem.getAttribute(name$$1) : (val = elem.getAttributeNode(name$$1)) && val.specified ? val.value : null;\n    };\n    Sizzle.error = function (msg) {\n      throw new Error('Syntax error, unrecognized expression: ' + msg);\n    };\n    Sizzle.uniqueSort = function (results) {\n      var elem, duplicates = [], j = 0, i = 0;\n      hasDuplicate = !support.detectDuplicates;\n      sortInput = !support.sortStable && results.slice(0);\n      results.sort(sortOrder);\n      if (hasDuplicate) {\n        while (elem = results[i++]) {\n          if (elem === results[i]) {\n            j = duplicates.push(i);\n          }\n        }\n        while (j--) {\n          results.splice(duplicates[j], 1);\n        }\n      }\n      sortInput = null;\n      return results;\n    };\n    getText = Sizzle.getText = function (elem) {\n      var node, ret = '', i = 0, nodeType = elem.nodeType;\n      if (!nodeType) {\n        while (node = elem[i++]) {\n          ret += getText(node);\n        }\n      } else if (nodeType === 1 || nodeType === 9 || nodeType === 11) {\n        if (typeof elem.textContent === 'string') {\n          return elem.textContent;\n        } else {\n          for (elem = elem.firstChild; elem; elem = elem.nextSibling) {\n            ret += getText(elem);\n          }\n        }\n      } else if (nodeType === 3 || nodeType === 4) {\n        return elem.nodeValue;\n      }\n      return ret;\n    };\n    Expr = Sizzle.selectors = {\n      cacheLength: 50,\n      createPseudo: markFunction,\n      match: matchExpr,\n      attrHandle: {},\n      find: {},\n      relative: {\n        '>': {\n          dir: 'parentNode',\n          first: true\n        },\n        ' ': { dir: 'parentNode' },\n        '+': {\n          dir: 'previousSibling',\n          first: true\n        },\n        '~': { dir: 'previousSibling' }\n      },\n      preFilter: {\n        ATTR: function (match) {\n          match[1] = match[1].replace(runescape, funescape);\n          match[3] = (match[3] || match[4] || match[5] || '').replace(runescape, funescape);\n          if (match[2] === '~=') {\n            match[3] = ' ' + match[3] + ' ';\n          }\n          return match.slice(0, 4);\n        },\n        CHILD: function (match) {\n          match[1] = match[1].toLowerCase();\n          if (match[1].slice(0, 3) === 'nth') {\n            if (!match[3]) {\n              Sizzle.error(match[0]);\n            }\n            match[4] = +(match[4] ? match[5] + (match[6] || 1) : 2 * (match[3] === 'even' || match[3] === 'odd'));\n            match[5] = +(match[7] + match[8] || match[3] === 'odd');\n          } else if (match[3]) {\n            Sizzle.error(match[0]);\n          }\n          return match;\n        },\n        PSEUDO: function (match) {\n          var excess, unquoted = !match[6] && match[2];\n          if (matchExpr.CHILD.test(match[0])) {\n            return null;\n          }\n          if (match[3]) {\n            match[2] = match[4] || match[5] || '';\n          } else if (unquoted && rpseudo.test(unquoted) && (excess = tokenize(unquoted, true)) && (excess = unquoted.indexOf(')', unquoted.length - excess) - unquoted.length)) {\n            match[0] = match[0].slice(0, excess);\n            match[2] = unquoted.slice(0, excess);\n          }\n          return match.slice(0, 3);\n        }\n      },\n      filter: {\n        TAG: function (nodeNameSelector) {\n          var nodeName = nodeNameSelector.replace(runescape, funescape).toLowerCase();\n          return nodeNameSelector === '*' ? function () {\n            return true;\n          } : function (elem) {\n            return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;\n          };\n        },\n        CLASS: function (className) {\n          var pattern = classCache[className + ' '];\n          return pattern || (pattern = new RegExp('(^|' + whitespace + ')' + className + '(' + whitespace + '|$)')) && classCache(className, function (elem) {\n            return pattern.test(typeof elem.className === 'string' && elem.className || typeof elem.getAttribute !== strundefined && elem.getAttribute('class') || '');\n          });\n        },\n        ATTR: function (name$$1, operator, check) {\n          return function (elem) {\n            var result = Sizzle.attr(elem, name$$1);\n            if (result == null) {\n              return operator === '!=';\n            }\n            if (!operator) {\n              return true;\n            }\n            result += '';\n            return operator === '=' ? result === check : operator === '!=' ? result !== check : operator === '^=' ? check && result.indexOf(check) === 0 : operator === '*=' ? check && result.indexOf(check) > -1 : operator === '$=' ? check && result.slice(-check.length) === check : operator === '~=' ? (' ' + result + ' ').indexOf(check) > -1 : operator === '|=' ? result === check || result.slice(0, check.length + 1) === check + '-' : false;\n          };\n        },\n        CHILD: function (type, what, argument, first, last) {\n          var simple = type.slice(0, 3) !== 'nth', forward = type.slice(-4) !== 'last', ofType = what === 'of-type';\n          return first === 1 && last === 0 ? function (elem) {\n            return !!elem.parentNode;\n          } : function (elem, context, xml) {\n            var cache, outerCache, node, diff, nodeIndex, start, dir = simple !== forward ? 'nextSibling' : 'previousSibling', parent$$1 = elem.parentNode, name$$1 = ofType && elem.nodeName.toLowerCase(), useCache = !xml && !ofType;\n            if (parent$$1) {\n              if (simple) {\n                while (dir) {\n                  node = elem;\n                  while (node = node[dir]) {\n                    if (ofType ? node.nodeName.toLowerCase() === name$$1 : node.nodeType === 1) {\n                      return false;\n                    }\n                  }\n                  start = dir = type === 'only' && !start && 'nextSibling';\n                }\n                return true;\n              }\n              start = [forward ? parent$$1.firstChild : parent$$1.lastChild];\n              if (forward && useCache) {\n                outerCache = parent$$1[expando] || (parent$$1[expando] = {});\n                cache = outerCache[type] || [];\n                nodeIndex = cache[0] === dirruns && cache[1];\n                diff = cache[0] === dirruns && cache[2];\n                node = nodeIndex && parent$$1.childNodes[nodeIndex];\n                while (node = ++nodeIndex && node && node[dir] || (diff = nodeIndex = 0) || start.pop()) {\n                  if (node.nodeType === 1 && ++diff && node === elem) {\n                    outerCache[type] = [\n                      dirruns,\n                      nodeIndex,\n                      diff\n                    ];\n                    break;\n                  }\n                }\n              } else if (useCache && (cache = (elem[expando] || (elem[expando] = {}))[type]) && cache[0] === dirruns) {\n                diff = cache[1];\n              } else {\n                while (node = ++nodeIndex && node && node[dir] || (diff = nodeIndex = 0) || start.pop()) {\n                  if ((ofType ? node.nodeName.toLowerCase() === name$$1 : node.nodeType === 1) && ++diff) {\n                    if (useCache) {\n                      (node[expando] || (node[expando] = {}))[type] = [\n                        dirruns,\n                        diff\n                      ];\n                    }\n                    if (node === elem) {\n                      break;\n                    }\n                  }\n                }\n              }\n              diff -= last;\n              return diff === first || diff % first === 0 && diff / first >= 0;\n            }\n          };\n        },\n        PSEUDO: function (pseudo, argument) {\n          var args, fn = Expr.pseudos[pseudo] || Expr.setFilters[pseudo.toLowerCase()] || Sizzle.error('unsupported pseudo: ' + pseudo);\n          if (fn[expando]) {\n            return fn(argument);\n          }\n          if (fn.length > 1) {\n            args = [\n              pseudo,\n              pseudo,\n              '',\n              argument\n            ];\n            return Expr.setFilters.hasOwnProperty(pseudo.toLowerCase()) ? markFunction(function (seed, matches) {\n              var idx, matched = fn(seed, argument), i = matched.length;\n              while (i--) {\n                idx = indexOf$1.call(seed, matched[i]);\n                seed[idx] = !(matches[idx] = matched[i]);\n              }\n            }) : function (elem) {\n              return fn(elem, 0, args);\n            };\n          }\n          return fn;\n        }\n      },\n      pseudos: {\n        not: markFunction(function (selector) {\n          var input = [], results = [], matcher = compile(selector.replace(rtrim, '$1'));\n          return matcher[expando] ? markFunction(function (seed, matches, context, xml) {\n            var elem, unmatched = matcher(seed, null, xml, []), i = seed.length;\n            while (i--) {\n              if (elem = unmatched[i]) {\n                seed[i] = !(matches[i] = elem);\n              }\n            }\n          }) : function (elem, context, xml) {\n            input[0] = elem;\n            matcher(input, null, xml, results);\n            return !results.pop();\n          };\n        }),\n        has: markFunction(function (selector) {\n          return function (elem) {\n            return Sizzle(selector, elem).length > 0;\n          };\n        }),\n        contains: markFunction(function (text) {\n          text = text.replace(runescape, funescape);\n          return function (elem) {\n            return (elem.textContent || elem.innerText || getText(elem)).indexOf(text) > -1;\n          };\n        }),\n        lang: markFunction(function (lang) {\n          if (!ridentifier.test(lang || '')) {\n            Sizzle.error('unsupported lang: ' + lang);\n          }\n          lang = lang.replace(runescape, funescape).toLowerCase();\n          return function (elem) {\n            var elemLang;\n            do {\n              if (elemLang = documentIsHTML ? elem.lang : elem.getAttribute('xml:lang') || elem.getAttribute('lang')) {\n                elemLang = elemLang.toLowerCase();\n                return elemLang === lang || elemLang.indexOf(lang + '-') === 0;\n              }\n            } while ((elem = elem.parentNode) && elem.nodeType === 1);\n            return false;\n          };\n        }),\n        target: function (elem) {\n          var hash = window.location && window.location.hash;\n          return hash && hash.slice(1) === elem.id;\n        },\n        root: function (elem) {\n          return elem === docElem;\n        },\n        focus: function (elem) {\n          return elem === document$1.activeElement && (!document$1.hasFocus || document$1.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);\n        },\n        enabled: function (elem) {\n          return elem.disabled === false;\n        },\n        disabled: function (elem) {\n          return elem.disabled === true;\n        },\n        checked: function (elem) {\n          var nodeName = elem.nodeName.toLowerCase();\n          return nodeName === 'input' && !!elem.checked || nodeName === 'option' && !!elem.selected;\n        },\n        selected: function (elem) {\n          if (elem.parentNode) {\n            elem.parentNode.selectedIndex;\n          }\n          return elem.selected === true;\n        },\n        empty: function (elem) {\n          for (elem = elem.firstChild; elem; elem = elem.nextSibling) {\n            if (elem.nodeType < 6) {\n              return false;\n            }\n          }\n          return true;\n        },\n        parent: function (elem) {\n          return !Expr.pseudos.empty(elem);\n        },\n        header: function (elem) {\n          return rheader.test(elem.nodeName);\n        },\n        input: function (elem) {\n          return rinputs.test(elem.nodeName);\n        },\n        button: function (elem) {\n          var name$$1 = elem.nodeName.toLowerCase();\n          return name$$1 === 'input' && elem.type === 'button' || name$$1 === 'button';\n        },\n        text: function (elem) {\n          var attr;\n          return elem.nodeName.toLowerCase() === 'input' && elem.type === 'text' && ((attr = elem.getAttribute('type')) == null || attr.toLowerCase() === 'text');\n        },\n        first: createPositionalPseudo(function () {\n          return [0];\n        }),\n        last: createPositionalPseudo(function (matchIndexes, length$$1) {\n          return [length$$1 - 1];\n        }),\n        eq: createPositionalPseudo(function (matchIndexes, length$$1, argument) {\n          return [argument < 0 ? argument + length$$1 : argument];\n        }),\n        even: createPositionalPseudo(function (matchIndexes, length$$1) {\n          var i = 0;\n          for (; i < length$$1; i += 2) {\n            matchIndexes.push(i);\n          }\n          return matchIndexes;\n        }),\n        odd: createPositionalPseudo(function (matchIndexes, length$$1) {\n          var i = 1;\n          for (; i < length$$1; i += 2) {\n            matchIndexes.push(i);\n          }\n          return matchIndexes;\n        }),\n        lt: createPositionalPseudo(function (matchIndexes, length$$1, argument) {\n          var i = argument < 0 ? argument + length$$1 : argument;\n          for (; --i >= 0;) {\n            matchIndexes.push(i);\n          }\n          return matchIndexes;\n        }),\n        gt: createPositionalPseudo(function (matchIndexes, length$$1, argument) {\n          var i = argument < 0 ? argument + length$$1 : argument;\n          for (; ++i < length$$1;) {\n            matchIndexes.push(i);\n          }\n          return matchIndexes;\n        })\n      }\n    };\n    Expr.pseudos.nth = Expr.pseudos.eq;\n    for (i in {\n        radio: true,\n        checkbox: true,\n        file: true,\n        password: true,\n        image: true\n      }) {\n      Expr.pseudos[i] = createInputPseudo(i);\n    }\n    for (i in {\n        submit: true,\n        reset: true\n      }) {\n      Expr.pseudos[i] = createButtonPseudo(i);\n    }\n    function setFilters() {\n    }\n    setFilters.prototype = Expr.filters = Expr.pseudos;\n    Expr.setFilters = new setFilters();\n    tokenize = Sizzle.tokenize = function (selector, parseOnly) {\n      var matched, match, tokens, type, soFar, groups, preFilters, cached = tokenCache[selector + ' '];\n      if (cached) {\n        return parseOnly ? 0 : cached.slice(0);\n      }\n      soFar = selector;\n      groups = [];\n      preFilters = Expr.preFilter;\n      while (soFar) {\n        if (!matched || (match = rcomma.exec(soFar))) {\n          if (match) {\n            soFar = soFar.slice(match[0].length) || soFar;\n          }\n          groups.push(tokens = []);\n        }\n        matched = false;\n        if (match = rcombinators.exec(soFar)) {\n          matched = match.shift();\n          tokens.push({\n            value: matched,\n            type: match[0].replace(rtrim, ' ')\n          });\n          soFar = soFar.slice(matched.length);\n        }\n        for (type in Expr.filter) {\n          if ((match = matchExpr[type].exec(soFar)) && (!preFilters[type] || (match = preFilters[type](match)))) {\n            matched = match.shift();\n            tokens.push({\n              value: matched,\n              type: type,\n              matches: match\n            });\n            soFar = soFar.slice(matched.length);\n          }\n        }\n        if (!matched) {\n          break;\n        }\n      }\n      return parseOnly ? soFar.length : soFar ? Sizzle.error(selector) : tokenCache(selector, groups).slice(0);\n    };\n    function toSelector(tokens) {\n      var i = 0, len = tokens.length, selector = '';\n      for (; i < len; i++) {\n        selector += tokens[i].value;\n      }\n      return selector;\n    }\n    function addCombinator(matcher, combinator, base) {\n      var dir = combinator.dir, checkNonElements = base && dir === 'parentNode', doneName = done++;\n      return combinator.first ? function (elem, context, xml) {\n        while (elem = elem[dir]) {\n          if (elem.nodeType === 1 || checkNonElements) {\n            return matcher(elem, context, xml);\n          }\n        }\n      } : function (elem, context, xml) {\n        var oldCache, outerCache, newCache = [\n            dirruns,\n            doneName\n          ];\n        if (xml) {\n          while (elem = elem[dir]) {\n            if (elem.nodeType === 1 || checkNonElements) {\n              if (matcher(elem, context, xml)) {\n                return true;\n              }\n            }\n          }\n        } else {\n          while (elem = elem[dir]) {\n            if (elem.nodeType === 1 || checkNonElements) {\n              outerCache = elem[expando] || (elem[expando] = {});\n              if ((oldCache = outerCache[dir]) && oldCache[0] === dirruns && oldCache[1] === doneName) {\n                return newCache[2] = oldCache[2];\n              } else {\n                outerCache[dir] = newCache;\n                if (newCache[2] = matcher(elem, context, xml)) {\n                  return true;\n                }\n              }\n            }\n          }\n        }\n      };\n    }\n    function elementMatcher(matchers) {\n      return matchers.length > 1 ? function (elem, context, xml) {\n        var i = matchers.length;\n        while (i--) {\n          if (!matchers[i](elem, context, xml)) {\n            return false;\n          }\n        }\n        return true;\n      } : matchers[0];\n    }\n    function multipleContexts(selector, contexts, results) {\n      var i = 0, len = contexts.length;\n      for (; i < len; i++) {\n        Sizzle(selector, contexts[i], results);\n      }\n      return results;\n    }\n    function condense(unmatched, map, filter, context, xml) {\n      var elem, newUnmatched = [], i = 0, len = unmatched.length, mapped = map != null;\n      for (; i < len; i++) {\n        if (elem = unmatched[i]) {\n          if (!filter || filter(elem, context, xml)) {\n            newUnmatched.push(elem);\n            if (mapped) {\n              map.push(i);\n            }\n          }\n        }\n      }\n      return newUnmatched;\n    }\n    function setMatcher(preFilter, selector, matcher, postFilter, postFinder, postSelector) {\n      if (postFilter && !postFilter[expando]) {\n        postFilter = setMatcher(postFilter);\n      }\n      if (postFinder && !postFinder[expando]) {\n        postFinder = setMatcher(postFinder, postSelector);\n      }\n      return markFunction(function (seed, results, context, xml) {\n        var temp, i, elem, preMap = [], postMap = [], preexisting = results.length, elems = seed || multipleContexts(selector || '*', context.nodeType ? [context] : context, []), matcherIn = preFilter && (seed || !selector) ? condense(elems, preMap, preFilter, context, xml) : elems, matcherOut = matcher ? postFinder || (seed ? preFilter : preexisting || postFilter) ? [] : results : matcherIn;\n        if (matcher) {\n          matcher(matcherIn, matcherOut, context, xml);\n        }\n        if (postFilter) {\n          temp = condense(matcherOut, postMap);\n          postFilter(temp, [], context, xml);\n          i = temp.length;\n          while (i--) {\n            if (elem = temp[i]) {\n              matcherOut[postMap[i]] = !(matcherIn[postMap[i]] = elem);\n            }\n          }\n        }\n        if (seed) {\n          if (postFinder || preFilter) {\n            if (postFinder) {\n              temp = [];\n              i = matcherOut.length;\n              while (i--) {\n                if (elem = matcherOut[i]) {\n                  temp.push(matcherIn[i] = elem);\n                }\n              }\n              postFinder(null, matcherOut = [], temp, xml);\n            }\n            i = matcherOut.length;\n            while (i--) {\n              if ((elem = matcherOut[i]) && (temp = postFinder ? indexOf$1.call(seed, elem) : preMap[i]) > -1) {\n                seed[temp] = !(results[temp] = elem);\n              }\n            }\n          }\n        } else {\n          matcherOut = condense(matcherOut === results ? matcherOut.splice(preexisting, matcherOut.length) : matcherOut);\n          if (postFinder) {\n            postFinder(null, results, matcherOut, xml);\n          } else {\n            push$1.apply(results, matcherOut);\n          }\n        }\n      });\n    }\n    function matcherFromTokens(tokens) {\n      var checkContext, matcher, j, len = tokens.length, leadingRelative = Expr.relative[tokens[0].type], implicitRelative = leadingRelative || Expr.relative[' '], i = leadingRelative ? 1 : 0, matchContext = addCombinator(function (elem) {\n          return elem === checkContext;\n        }, implicitRelative, true), matchAnyContext = addCombinator(function (elem) {\n          return indexOf$1.call(checkContext, elem) > -1;\n        }, implicitRelative, true), matchers = [function (elem, context, xml) {\n            return !leadingRelative && (xml || context !== outermostContext) || ((checkContext = context).nodeType ? matchContext(elem, context, xml) : matchAnyContext(elem, context, xml));\n          }];\n      for (; i < len; i++) {\n        if (matcher = Expr.relative[tokens[i].type]) {\n          matchers = [addCombinator(elementMatcher(matchers), matcher)];\n        } else {\n          matcher = Expr.filter[tokens[i].type].apply(null, tokens[i].matches);\n          if (matcher[expando]) {\n            j = ++i;\n            for (; j < len; j++) {\n              if (Expr.relative[tokens[j].type]) {\n                break;\n              }\n            }\n            return setMatcher(i > 1 && elementMatcher(matchers), i > 1 && toSelector(tokens.slice(0, i - 1).concat({ value: tokens[i - 2].type === ' ' ? '*' : '' })).replace(rtrim, '$1'), matcher, i < j && matcherFromTokens(tokens.slice(i, j)), j < len && matcherFromTokens(tokens = tokens.slice(j)), j < len && toSelector(tokens));\n          }\n          matchers.push(matcher);\n        }\n      }\n      return elementMatcher(matchers);\n    }\n    function matcherFromGroupMatchers(elementMatchers, setMatchers) {\n      var bySet = setMatchers.length > 0, byElement = elementMatchers.length > 0, superMatcher = function (seed, context, xml, results, outermost) {\n          var elem, j, matcher, matchedCount = 0, i = '0', unmatched = seed && [], setMatched = [], contextBackup = outermostContext, elems = seed || byElement && Expr.find.TAG('*', outermost), dirrunsUnique = dirruns += contextBackup == null ? 1 : Math.random() || 0.1, len = elems.length;\n          if (outermost) {\n            outermostContext = context !== document$1 && context;\n          }\n          for (; i !== len && (elem = elems[i]) != null; i++) {\n            if (byElement && elem) {\n              j = 0;\n              while (matcher = elementMatchers[j++]) {\n                if (matcher(elem, context, xml)) {\n                  results.push(elem);\n                  break;\n                }\n              }\n              if (outermost) {\n                dirruns = dirrunsUnique;\n              }\n            }\n            if (bySet) {\n              if (elem = !matcher && elem) {\n                matchedCount--;\n              }\n              if (seed) {\n                unmatched.push(elem);\n              }\n            }\n          }\n          matchedCount += i;\n          if (bySet && i !== matchedCount) {\n            j = 0;\n            while (matcher = setMatchers[j++]) {\n              matcher(unmatched, setMatched, context, xml);\n            }\n            if (seed) {\n              if (matchedCount > 0) {\n                while (i--) {\n                  if (!(unmatched[i] || setMatched[i])) {\n                    setMatched[i] = pop.call(results);\n                  }\n                }\n              }\n              setMatched = condense(setMatched);\n            }\n            push$1.apply(results, setMatched);\n            if (outermost && !seed && setMatched.length > 0 && matchedCount + setMatchers.length > 1) {\n              Sizzle.uniqueSort(results);\n            }\n          }\n          if (outermost) {\n            dirruns = dirrunsUnique;\n            outermostContext = contextBackup;\n          }\n          return unmatched;\n        };\n      return bySet ? markFunction(superMatcher) : superMatcher;\n    }\n    compile = Sizzle.compile = function (selector, match) {\n      var i, setMatchers = [], elementMatchers = [], cached = compilerCache[selector + ' '];\n      if (!cached) {\n        if (!match) {\n          match = tokenize(selector);\n        }\n        i = match.length;\n        while (i--) {\n          cached = matcherFromTokens(match[i]);\n          if (cached[expando]) {\n            setMatchers.push(cached);\n          } else {\n            elementMatchers.push(cached);\n          }\n        }\n        cached = compilerCache(selector, matcherFromGroupMatchers(elementMatchers, setMatchers));\n        cached.selector = selector;\n      }\n      return cached;\n    };\n    select = Sizzle.select = function (selector, context, results, seed) {\n      var i, tokens, token, type, find, compiled = typeof selector === 'function' && selector, match = !seed && tokenize(selector = compiled.selector || selector);\n      results = results || [];\n      if (match.length === 1) {\n        tokens = match[0] = match[0].slice(0);\n        if (tokens.length > 2 && (token = tokens[0]).type === 'ID' && support.getById && context.nodeType === 9 && documentIsHTML && Expr.relative[tokens[1].type]) {\n          context = (Expr.find.ID(token.matches[0].replace(runescape, funescape), context) || [])[0];\n          if (!context) {\n            return results;\n          } else if (compiled) {\n            context = context.parentNode;\n          }\n          selector = selector.slice(tokens.shift().value.length);\n        }\n        i = matchExpr.needsContext.test(selector) ? 0 : tokens.length;\n        while (i--) {\n          token = tokens[i];\n          if (Expr.relative[type = token.type]) {\n            break;\n          }\n          if (find = Expr.find[type]) {\n            if (seed = find(token.matches[0].replace(runescape, funescape), rsibling.test(tokens[0].type) && testContext(context.parentNode) || context)) {\n              tokens.splice(i, 1);\n              selector = seed.length && toSelector(tokens);\n              if (!selector) {\n                push$1.apply(results, seed);\n                return results;\n              }\n              break;\n            }\n          }\n        }\n      }\n      (compiled || compile(selector, match))(seed, context, !documentIsHTML, results, rsibling.test(selector) && testContext(context.parentNode) || context);\n      return results;\n    };\n    support.sortStable = expando.split('').sort(sortOrder).join('') === expando;\n    support.detectDuplicates = !!hasDuplicate;\n    setDocument();\n    support.sortDetached = true;\n\n    var isArray$1 = Array.isArray;\n    var toArray = function (obj) {\n      var array = obj, i, l;\n      if (!isArray$1(obj)) {\n        array = [];\n        for (i = 0, l = obj.length; i < l; i++) {\n          array[i] = obj[i];\n        }\n      }\n      return array;\n    };\n    var each$1 = function (o, cb, s) {\n      var n, l;\n      if (!o) {\n        return 0;\n      }\n      s = s || o;\n      if (o.length !== undefined) {\n        for (n = 0, l = o.length; n < l; n++) {\n          if (cb.call(s, o[n], n, o) === false) {\n            return 0;\n          }\n        }\n      } else {\n        for (n in o) {\n          if (o.hasOwnProperty(n)) {\n            if (cb.call(s, o[n], n, o) === false) {\n              return 0;\n            }\n          }\n        }\n      }\n      return 1;\n    };\n    var map$1 = function (array, callback) {\n      var out = [];\n      each$1(array, function (item, index) {\n        out.push(callback(item, index, array));\n      });\n      return out;\n    };\n    var filter$1 = function (a, f) {\n      var o = [];\n      each$1(a, function (v, index) {\n        if (!f || f(v, index, a)) {\n          o.push(v);\n        }\n      });\n      return o;\n    };\n    var indexOf$2 = function (a, v) {\n      var i, l;\n      if (a) {\n        for (i = 0, l = a.length; i < l; i++) {\n          if (a[i] === v) {\n            return i;\n          }\n        }\n      }\n      return -1;\n    };\n    var reduce = function (collection, iteratee, accumulator, thisArg) {\n      var i = 0;\n      if (arguments.length < 3) {\n        accumulator = collection[0];\n      }\n      for (; i < collection.length; i++) {\n        accumulator = iteratee.call(thisArg, accumulator, collection[i], i);\n      }\n      return accumulator;\n    };\n    var findIndex$1 = function (array, predicate, thisArg) {\n      var i, l;\n      for (i = 0, l = array.length; i < l; i++) {\n        if (predicate.call(thisArg, array[i], i, array)) {\n          return i;\n        }\n      }\n      return -1;\n    };\n    var find$1 = function (array, predicate, thisArg) {\n      var idx = findIndex$1(array, predicate, thisArg);\n      if (idx !== -1) {\n        return array[idx];\n      }\n      return undefined;\n    };\n    var last$1 = function (collection) {\n      return collection[collection.length - 1];\n    };\n    var ArrUtils = {\n      isArray: isArray$1,\n      toArray: toArray,\n      each: each$1,\n      map: map$1,\n      filter: filter$1,\n      indexOf: indexOf$2,\n      reduce: reduce,\n      findIndex: findIndex$1,\n      find: find$1,\n      last: last$1\n    };\n\n    var whiteSpaceRegExp = /^\\s*|\\s*$/g;\n    var trim = function (str) {\n      return str === null || str === undefined ? '' : ('' + str).replace(whiteSpaceRegExp, '');\n    };\n    var is = function (obj, type) {\n      if (!type) {\n        return obj !== undefined;\n      }\n      if (type === 'array' && ArrUtils.isArray(obj)) {\n        return true;\n      }\n      return typeof obj === type;\n    };\n    var makeMap = function (items, delim, map) {\n      var i;\n      items = items || [];\n      delim = delim || ',';\n      if (typeof items === 'string') {\n        items = items.split(delim);\n      }\n      map = map || {};\n      i = items.length;\n      while (i--) {\n        map[items[i]] = {};\n      }\n      return map;\n    };\n    var hasOwnProperty = function (obj, prop) {\n      return Object.prototype.hasOwnProperty.call(obj, prop);\n    };\n    var create = function (s, p, root) {\n      var self$$1 = this;\n      var sp, ns, cn, scn, c, de = 0;\n      s = /^((static) )?([\\w.]+)(:([\\w.]+))?/.exec(s);\n      cn = s[3].match(/(^|\\.)(\\w+)$/i)[2];\n      ns = self$$1.createNS(s[3].replace(/\\.\\w+$/, ''), root);\n      if (ns[cn]) {\n        return;\n      }\n      if (s[2] === 'static') {\n        ns[cn] = p;\n        if (this.onCreate) {\n          this.onCreate(s[2], s[3], ns[cn]);\n        }\n        return;\n      }\n      if (!p[cn]) {\n        p[cn] = function () {\n        };\n        de = 1;\n      }\n      ns[cn] = p[cn];\n      self$$1.extend(ns[cn].prototype, p);\n      if (s[5]) {\n        sp = self$$1.resolve(s[5]).prototype;\n        scn = s[5].match(/\\.(\\w+)$/i)[1];\n        c = ns[cn];\n        if (de) {\n          ns[cn] = function () {\n            return sp[scn].apply(this, arguments);\n          };\n        } else {\n          ns[cn] = function () {\n            this.parent = sp[scn];\n            return c.apply(this, arguments);\n          };\n        }\n        ns[cn].prototype[cn] = ns[cn];\n        self$$1.each(sp, function (f, n) {\n          ns[cn].prototype[n] = sp[n];\n        });\n        self$$1.each(p, function (f, n) {\n          if (sp[n]) {\n            ns[cn].prototype[n] = function () {\n              this.parent = sp[n];\n              return f.apply(this, arguments);\n            };\n          } else {\n            if (n !== cn) {\n              ns[cn].prototype[n] = f;\n            }\n          }\n        });\n      }\n      self$$1.each(p.static, function (f, n) {\n        ns[cn][n] = f;\n      });\n    };\n    var extend = function (obj, ext) {\n      var x = [];\n      for (var _i = 2; _i < arguments.length; _i++) {\n        x[_i - 2] = arguments[_i];\n      }\n      var i, l, name$$1;\n      var args = arguments;\n      var value;\n      for (i = 1, l = args.length; i < l; i++) {\n        ext = args[i];\n        for (name$$1 in ext) {\n          if (ext.hasOwnProperty(name$$1)) {\n            value = ext[name$$1];\n            if (value !== undefined) {\n              obj[name$$1] = value;\n            }\n          }\n        }\n      }\n      return obj;\n    };\n    var walk = function (o, f, n, s) {\n      s = s || this;\n      if (o) {\n        if (n) {\n          o = o[n];\n        }\n        ArrUtils.each(o, function (o, i) {\n          if (f.call(s, o, i, n) === false) {\n            return false;\n          }\n          walk(o, f, n, s);\n        });\n      }\n    };\n    var createNS = function (n, o) {\n      var i, v;\n      o = o || window;\n      n = n.split('.');\n      for (i = 0; i < n.length; i++) {\n        v = n[i];\n        if (!o[v]) {\n          o[v] = {};\n        }\n        o = o[v];\n      }\n      return o;\n    };\n    var resolve$1 = function (n, o) {\n      var i, l;\n      o = o || window;\n      n = n.split('.');\n      for (i = 0, l = n.length; i < l; i++) {\n        o = o[n[i]];\n        if (!o) {\n          break;\n        }\n      }\n      return o;\n    };\n    var explode = function (s, d) {\n      if (!s || is(s, 'array')) {\n        return s;\n      }\n      return ArrUtils.map(s.split(d || ','), trim);\n    };\n    var _addCacheSuffix = function (url) {\n      var cacheSuffix = Env.cacheSuffix;\n      if (cacheSuffix) {\n        url += (url.indexOf('?') === -1 ? '?' : '&') + cacheSuffix;\n      }\n      return url;\n    };\n    var Tools = {\n      trim: trim,\n      isArray: ArrUtils.isArray,\n      is: is,\n      toArray: ArrUtils.toArray,\n      makeMap: makeMap,\n      each: ArrUtils.each,\n      map: ArrUtils.map,\n      grep: ArrUtils.filter,\n      inArray: ArrUtils.indexOf,\n      hasOwn: hasOwnProperty,\n      extend: extend,\n      create: create,\n      walk: walk,\n      createNS: createNS,\n      resolve: resolve$1,\n      explode: explode,\n      _addCacheSuffix: _addCacheSuffix\n    };\n\n    var doc = document, push$2 = Array.prototype.push, slice$2 = Array.prototype.slice;\n    var rquickExpr$1 = /^(?:[^#<]*(<[\\w\\W]+>)[^>]*$|#([\\w\\-]*)$)/;\n    var Event$$1 = EventUtils.Event;\n    var skipUniques = Tools.makeMap('children,contents,next,prev');\n    var isDefined = function (obj) {\n      return typeof obj !== 'undefined';\n    };\n    var isString$1 = function (obj) {\n      return typeof obj === 'string';\n    };\n    var isWindow = function (obj) {\n      return obj && obj === obj.window;\n    };\n    var createFragment = function (html, fragDoc) {\n      var frag, node, container;\n      fragDoc = fragDoc || doc;\n      container = fragDoc.createElement('div');\n      frag = fragDoc.createDocumentFragment();\n      container.innerHTML = html;\n      while (node = container.firstChild) {\n        frag.appendChild(node);\n      }\n      return frag;\n    };\n    var domManipulate = function (targetNodes, sourceItem, callback, reverse) {\n      var i;\n      if (isString$1(sourceItem)) {\n        sourceItem = createFragment(sourceItem, getElementDocument(targetNodes[0]));\n      } else if (sourceItem.length && !sourceItem.nodeType) {\n        sourceItem = DomQuery.makeArray(sourceItem);\n        if (reverse) {\n          for (i = sourceItem.length - 1; i >= 0; i--) {\n            domManipulate(targetNodes, sourceItem[i], callback, reverse);\n          }\n        } else {\n          for (i = 0; i < sourceItem.length; i++) {\n            domManipulate(targetNodes, sourceItem[i], callback, reverse);\n          }\n        }\n        return targetNodes;\n      }\n      if (sourceItem.nodeType) {\n        i = targetNodes.length;\n        while (i--) {\n          callback.call(targetNodes[i], sourceItem);\n        }\n      }\n      return targetNodes;\n    };\n    var hasClass = function (node, className) {\n      return node && className && (' ' + node.className + ' ').indexOf(' ' + className + ' ') !== -1;\n    };\n    var wrap = function (elements, wrapper, all) {\n      var lastParent, newWrapper;\n      wrapper = DomQuery(wrapper)[0];\n      elements.each(function () {\n        var self$$1 = this;\n        if (!all || lastParent !== self$$1.parentNode) {\n          lastParent = self$$1.parentNode;\n          newWrapper = wrapper.cloneNode(false);\n          self$$1.parentNode.insertBefore(newWrapper, self$$1);\n          newWrapper.appendChild(self$$1);\n        } else {\n          newWrapper.appendChild(self$$1);\n        }\n      });\n      return elements;\n    };\n    var numericCssMap = Tools.makeMap('fillOpacity fontWeight lineHeight opacity orphans widows zIndex zoom', ' ');\n    var booleanMap = Tools.makeMap('checked compact declare defer disabled ismap multiple nohref noshade nowrap readonly selected', ' ');\n    var propFix = {\n      for: 'htmlFor',\n      class: 'className',\n      readonly: 'readOnly'\n    };\n    var cssFix = { float: 'cssFloat' };\n    var attrHooks = {}, cssHooks = {};\n    var DomQuery = function (selector, context) {\n      return new DomQuery.fn.init(selector, context);\n    };\n    var inArray = function (item, array) {\n      var i;\n      if (array.indexOf) {\n        return array.indexOf(item);\n      }\n      i = array.length;\n      while (i--) {\n        if (array[i] === item) {\n          return i;\n        }\n      }\n      return -1;\n    };\n    var whiteSpaceRegExp$1 = /^\\s*|\\s*$/g;\n    var trim$1 = function (str) {\n      return str === null || str === undefined ? '' : ('' + str).replace(whiteSpaceRegExp$1, '');\n    };\n    var each$2 = function (obj, callback) {\n      var length$$1, key, i, value;\n      if (obj) {\n        length$$1 = obj.length;\n        if (length$$1 === undefined) {\n          for (key in obj) {\n            if (obj.hasOwnProperty(key)) {\n              value = obj[key];\n              if (callback.call(value, key, value) === false) {\n                break;\n              }\n            }\n          }\n        } else {\n          for (i = 0; i < length$$1; i++) {\n            value = obj[i];\n            if (callback.call(value, i, value) === false) {\n              break;\n            }\n          }\n        }\n      }\n      return obj;\n    };\n    var grep = function (array, callback) {\n      var out = [];\n      each$2(array, function (i, item) {\n        if (callback(item, i)) {\n          out.push(item);\n        }\n      });\n      return out;\n    };\n    var getElementDocument = function (element) {\n      if (!element) {\n        return doc;\n      }\n      if (element.nodeType === 9) {\n        return element;\n      }\n      return element.ownerDocument;\n    };\n    DomQuery.fn = DomQuery.prototype = {\n      constructor: DomQuery,\n      selector: '',\n      context: null,\n      length: 0,\n      init: function (selector, context) {\n        var self$$1 = this;\n        var match, node;\n        if (!selector) {\n          return self$$1;\n        }\n        if (selector.nodeType) {\n          self$$1.context = self$$1[0] = selector;\n          self$$1.length = 1;\n          return self$$1;\n        }\n        if (context && context.nodeType) {\n          self$$1.context = context;\n        } else {\n          if (context) {\n            return DomQuery(selector).attr(context);\n          }\n          self$$1.context = context = document;\n        }\n        if (isString$1(selector)) {\n          self$$1.selector = selector;\n          if (selector.charAt(0) === '<' && selector.charAt(selector.length - 1) === '>' && selector.length >= 3) {\n            match = [\n              null,\n              selector,\n              null\n            ];\n          } else {\n            match = rquickExpr$1.exec(selector);\n          }\n          if (match) {\n            if (match[1]) {\n              node = createFragment(selector, getElementDocument(context)).firstChild;\n              while (node) {\n                push$2.call(self$$1, node);\n                node = node.nextSibling;\n              }\n            } else {\n              node = getElementDocument(context).getElementById(match[2]);\n              if (!node) {\n                return self$$1;\n              }\n              if (node.id !== match[2]) {\n                return self$$1.find(selector);\n              }\n              self$$1.length = 1;\n              self$$1[0] = node;\n            }\n          } else {\n            return DomQuery(context).find(selector);\n          }\n        } else {\n          this.add(selector, false);\n        }\n        return self$$1;\n      },\n      toArray: function () {\n        return Tools.toArray(this);\n      },\n      add: function (items, sort) {\n        var self$$1 = this;\n        var nodes, i;\n        if (isString$1(items)) {\n          return self$$1.add(DomQuery(items));\n        }\n        if (sort !== false) {\n          nodes = DomQuery.unique(self$$1.toArray().concat(DomQuery.makeArray(items)));\n          self$$1.length = nodes.length;\n          for (i = 0; i < nodes.length; i++) {\n            self$$1[i] = nodes[i];\n          }\n        } else {\n          push$2.apply(self$$1, DomQuery.makeArray(items));\n        }\n        return self$$1;\n      },\n      attr: function (name$$1, value) {\n        var self$$1 = this;\n        var hook;\n        if (typeof name$$1 === 'object') {\n          each$2(name$$1, function (name$$1, value) {\n            self$$1.attr(name$$1, value);\n          });\n        } else if (isDefined(value)) {\n          this.each(function () {\n            var hook;\n            if (this.nodeType === 1) {\n              hook = attrHooks[name$$1];\n              if (hook && hook.set) {\n                hook.set(this, value);\n                return;\n              }\n              if (value === null) {\n                this.removeAttribute(name$$1, 2);\n              } else {\n                this.setAttribute(name$$1, value, 2);\n              }\n            }\n          });\n        } else {\n          if (self$$1[0] && self$$1[0].nodeType === 1) {\n            hook = attrHooks[name$$1];\n            if (hook && hook.get) {\n              return hook.get(self$$1[0], name$$1);\n            }\n            if (booleanMap[name$$1]) {\n              return self$$1.prop(name$$1) ? name$$1 : undefined;\n            }\n            value = self$$1[0].getAttribute(name$$1, 2);\n            if (value === null) {\n              value = undefined;\n            }\n          }\n          return value;\n        }\n        return self$$1;\n      },\n      removeAttr: function (name$$1) {\n        return this.attr(name$$1, null);\n      },\n      prop: function (name$$1, value) {\n        var self$$1 = this;\n        name$$1 = propFix[name$$1] || name$$1;\n        if (typeof name$$1 === 'object') {\n          each$2(name$$1, function (name$$1, value) {\n            self$$1.prop(name$$1, value);\n          });\n        } else if (isDefined(value)) {\n          this.each(function () {\n            if (this.nodeType === 1) {\n              this[name$$1] = value;\n            }\n          });\n        } else {\n          if (self$$1[0] && self$$1[0].nodeType && name$$1 in self$$1[0]) {\n            return self$$1[0][name$$1];\n          }\n          return value;\n        }\n        return self$$1;\n      },\n      css: function (name$$1, value) {\n        var self$$1 = this;\n        var elm, hook;\n        var camel = function (name$$1) {\n          return name$$1.replace(/-(\\D)/g, function (a, b) {\n            return b.toUpperCase();\n          });\n        };\n        var dashed = function (name$$1) {\n          return name$$1.replace(/[A-Z]/g, function (a) {\n            return '-' + a;\n          });\n        };\n        if (typeof name$$1 === 'object') {\n          each$2(name$$1, function (name$$1, value) {\n            self$$1.css(name$$1, value);\n          });\n        } else {\n          if (isDefined(value)) {\n            name$$1 = camel(name$$1);\n            if (typeof value === 'number' && !numericCssMap[name$$1]) {\n              value = value.toString() + 'px';\n            }\n            self$$1.each(function () {\n              var style = this.style;\n              hook = cssHooks[name$$1];\n              if (hook && hook.set) {\n                hook.set(this, value);\n                return;\n              }\n              try {\n                this.style[cssFix[name$$1] || name$$1] = value;\n              } catch (ex) {\n              }\n              if (value === null || value === '') {\n                if (style.removeProperty) {\n                  style.removeProperty(dashed(name$$1));\n                } else {\n                  style.removeAttribute(name$$1);\n                }\n              }\n            });\n          } else {\n            elm = self$$1[0];\n            hook = cssHooks[name$$1];\n            if (hook && hook.get) {\n              return hook.get(elm);\n            }\n            if (elm.ownerDocument.defaultView) {\n              try {\n                return elm.ownerDocument.defaultView.getComputedStyle(elm, null).getPropertyValue(dashed(name$$1));\n              } catch (ex) {\n                return undefined;\n              }\n            } else if (elm.currentStyle) {\n              return elm.currentStyle[camel(name$$1)];\n            } else {\n              return '';\n            }\n          }\n        }\n        return self$$1;\n      },\n      remove: function () {\n        var self$$1 = this;\n        var node, i = this.length;\n        while (i--) {\n          node = self$$1[i];\n          Event$$1.clean(node);\n          if (node.parentNode) {\n            node.parentNode.removeChild(node);\n          }\n        }\n        return this;\n      },\n      empty: function () {\n        var self$$1 = this;\n        var node, i = this.length;\n        while (i--) {\n          node = self$$1[i];\n          while (node.firstChild) {\n            node.removeChild(node.firstChild);\n          }\n        }\n        return this;\n      },\n      html: function (value) {\n        var self$$1 = this;\n        var i;\n        if (isDefined(value)) {\n          i = self$$1.length;\n          try {\n            while (i--) {\n              self$$1[i].innerHTML = value;\n            }\n          } catch (ex) {\n            DomQuery(self$$1[i]).empty().append(value);\n          }\n          return self$$1;\n        }\n        return self$$1[0] ? self$$1[0].innerHTML : '';\n      },\n      text: function (value) {\n        var self$$1 = this;\n        var i;\n        if (isDefined(value)) {\n          i = self$$1.length;\n          while (i--) {\n            if ('innerText' in self$$1[i]) {\n              self$$1[i].innerText = value;\n            } else {\n              self$$1[0].textContent = value;\n            }\n          }\n          return self$$1;\n        }\n        return self$$1[0] ? self$$1[0].innerText || self$$1[0].textContent : '';\n      },\n      append: function () {\n        return domManipulate(this, arguments, function (node) {\n          if (this.nodeType === 1 || this.host && this.host.nodeType === 1) {\n            this.appendChild(node);\n          }\n        });\n      },\n      prepend: function () {\n        return domManipulate(this, arguments, function (node) {\n          if (this.nodeType === 1 || this.host && this.host.nodeType === 1) {\n            this.insertBefore(node, this.firstChild);\n          }\n        }, true);\n      },\n      before: function () {\n        var self$$1 = this;\n        if (self$$1[0] && self$$1[0].parentNode) {\n          return domManipulate(self$$1, arguments, function (node) {\n            this.parentNode.insertBefore(node, this);\n          });\n        }\n        return self$$1;\n      },\n      after: function () {\n        var self$$1 = this;\n        if (self$$1[0] && self$$1[0].parentNode) {\n          return domManipulate(self$$1, arguments, function (node) {\n            this.parentNode.insertBefore(node, this.nextSibling);\n          }, true);\n        }\n        return self$$1;\n      },\n      appendTo: function (val) {\n        DomQuery(val).append(this);\n        return this;\n      },\n      prependTo: function (val) {\n        DomQuery(val).prepend(this);\n        return this;\n      },\n      replaceWith: function (content) {\n        return this.before(content).remove();\n      },\n      wrap: function (content) {\n        return wrap(this, content);\n      },\n      wrapAll: function (content) {\n        return wrap(this, content, true);\n      },\n      wrapInner: function (content) {\n        this.each(function () {\n          DomQuery(this).contents().wrapAll(content);\n        });\n        return this;\n      },\n      unwrap: function () {\n        return this.parent().each(function () {\n          DomQuery(this).replaceWith(this.childNodes);\n        });\n      },\n      clone: function () {\n        var result = [];\n        this.each(function () {\n          result.push(this.cloneNode(true));\n        });\n        return DomQuery(result);\n      },\n      addClass: function (className) {\n        return this.toggleClass(className, true);\n      },\n      removeClass: function (className) {\n        return this.toggleClass(className, false);\n      },\n      toggleClass: function (className, state) {\n        var self$$1 = this;\n        if (typeof className !== 'string') {\n          return self$$1;\n        }\n        if (className.indexOf(' ') !== -1) {\n          each$2(className.split(' '), function () {\n            self$$1.toggleClass(this, state);\n          });\n        } else {\n          self$$1.each(function (index, node) {\n            var existingClassName, classState;\n            classState = hasClass(node, className);\n            if (classState !== state) {\n              existingClassName = node.className;\n              if (classState) {\n                node.className = trim$1((' ' + existingClassName + ' ').replace(' ' + className + ' ', ' '));\n              } else {\n                node.className += existingClassName ? ' ' + className : className;\n              }\n            }\n          });\n        }\n        return self$$1;\n      },\n      hasClass: function (className) {\n        return hasClass(this[0], className);\n      },\n      each: function (callback) {\n        return each$2(this, callback);\n      },\n      on: function (name$$1, callback) {\n        return this.each(function () {\n          Event$$1.bind(this, name$$1, callback);\n        });\n      },\n      off: function (name$$1, callback) {\n        return this.each(function () {\n          Event$$1.unbind(this, name$$1, callback);\n        });\n      },\n      trigger: function (name$$1) {\n        return this.each(function () {\n          if (typeof name$$1 === 'object') {\n            Event$$1.fire(this, name$$1.type, name$$1);\n          } else {\n            Event$$1.fire(this, name$$1);\n          }\n        });\n      },\n      show: function () {\n        return this.css('display', '');\n      },\n      hide: function () {\n        return this.css('display', 'none');\n      },\n      slice: function () {\n        return new DomQuery(slice$2.apply(this, arguments));\n      },\n      eq: function (index) {\n        return index === -1 ? this.slice(index) : this.slice(index, +index + 1);\n      },\n      first: function () {\n        return this.eq(0);\n      },\n      last: function () {\n        return this.eq(-1);\n      },\n      find: function (selector) {\n        var i, l;\n        var ret = [];\n        for (i = 0, l = this.length; i < l; i++) {\n          DomQuery.find(selector, this[i], ret);\n        }\n        return DomQuery(ret);\n      },\n      filter: function (selector) {\n        if (typeof selector === 'function') {\n          return DomQuery(grep(this.toArray(), function (item, i) {\n            return selector(i, item);\n          }));\n        }\n        return DomQuery(DomQuery.filter(selector, this.toArray()));\n      },\n      closest: function (selector) {\n        var result = [];\n        if (selector instanceof DomQuery) {\n          selector = selector[0];\n        }\n        this.each(function (i, node) {\n          while (node) {\n            if (typeof selector === 'string' && DomQuery(node).is(selector)) {\n              result.push(node);\n              break;\n            } else if (node === selector) {\n              result.push(node);\n              break;\n            }\n            node = node.parentNode;\n          }\n        });\n        return DomQuery(result);\n      },\n      offset: function (offset) {\n        var elm, doc, docElm;\n        var x = 0, y = 0, pos;\n        if (!offset) {\n          elm = this[0];\n          if (elm) {\n            doc = elm.ownerDocument;\n            docElm = doc.documentElement;\n            if (elm.getBoundingClientRect) {\n              pos = elm.getBoundingClientRect();\n              x = pos.left + (docElm.scrollLeft || doc.body.scrollLeft) - docElm.clientLeft;\n              y = pos.top + (docElm.scrollTop || doc.body.scrollTop) - docElm.clientTop;\n            }\n          }\n          return {\n            left: x,\n            top: y\n          };\n        }\n        return this.css(offset);\n      },\n      push: push$2,\n      sort: [].sort,\n      splice: [].splice\n    };\n    Tools.extend(DomQuery, {\n      extend: Tools.extend,\n      makeArray: function (object) {\n        if (isWindow(object) || object.nodeType) {\n          return [object];\n        }\n        return Tools.toArray(object);\n      },\n      inArray: inArray,\n      isArray: Tools.isArray,\n      each: each$2,\n      trim: trim$1,\n      grep: grep,\n      find: Sizzle,\n      expr: Sizzle.selectors,\n      unique: Sizzle.uniqueSort,\n      text: Sizzle.getText,\n      contains: Sizzle.contains,\n      filter: function (expr, elems, not) {\n        var i = elems.length;\n        if (not) {\n          expr = ':not(' + expr + ')';\n        }\n        while (i--) {\n          if (elems[i].nodeType !== 1) {\n            elems.splice(i, 1);\n          }\n        }\n        if (elems.length === 1) {\n          elems = DomQuery.find.matchesSelector(elems[0], expr) ? [elems[0]] : [];\n        } else {\n          elems = DomQuery.find.matches(expr, elems);\n        }\n        return elems;\n      }\n    });\n    var dir = function (el, prop, until) {\n      var matched = [];\n      var cur = el[prop];\n      if (typeof until !== 'string' && until instanceof DomQuery) {\n        until = until[0];\n      }\n      while (cur && cur.nodeType !== 9) {\n        if (until !== undefined) {\n          if (cur === until) {\n            break;\n          }\n          if (typeof until === 'string' && DomQuery(cur).is(until)) {\n            break;\n          }\n        }\n        if (cur.nodeType === 1) {\n          matched.push(cur);\n        }\n        cur = cur[prop];\n      }\n      return matched;\n    };\n    var sibling = function (node, siblingName, nodeType, until) {\n      var result = [];\n      if (until instanceof DomQuery) {\n        until = until[0];\n      }\n      for (; node; node = node[siblingName]) {\n        if (nodeType && node.nodeType !== nodeType) {\n          continue;\n        }\n        if (until !== undefined) {\n          if (node === until) {\n            break;\n          }\n          if (typeof until === 'string' && DomQuery(node).is(until)) {\n            break;\n          }\n        }\n        result.push(node);\n      }\n      return result;\n    };\n    var firstSibling = function (node, siblingName, nodeType) {\n      for (node = node[siblingName]; node; node = node[siblingName]) {\n        if (node.nodeType === nodeType) {\n          return node;\n        }\n      }\n      return null;\n    };\n    each$2({\n      parent: function (node) {\n        var parent$$1 = node.parentNode;\n        return parent$$1 && parent$$1.nodeType !== 11 ? parent$$1 : null;\n      },\n      parents: function (node) {\n        return dir(node, 'parentNode');\n      },\n      next: function (node) {\n        return firstSibling(node, 'nextSibling', 1);\n      },\n      prev: function (node) {\n        return firstSibling(node, 'previousSibling', 1);\n      },\n      children: function (node) {\n        return sibling(node.firstChild, 'nextSibling', 1);\n      },\n      contents: function (node) {\n        return Tools.toArray((node.nodeName === 'iframe' ? node.contentDocument || node.contentWindow.document : node).childNodes);\n      }\n    }, function (name$$1, fn) {\n      DomQuery.fn[name$$1] = function (selector) {\n        var self$$1 = this;\n        var result = [];\n        self$$1.each(function () {\n          var nodes = fn.call(result, this, selector, result);\n          if (nodes) {\n            if (DomQuery.isArray(nodes)) {\n              result.push.apply(result, nodes);\n            } else {\n              result.push(nodes);\n            }\n          }\n        });\n        if (this.length > 1) {\n          if (!skipUniques[name$$1]) {\n            result = DomQuery.unique(result);\n          }\n          if (name$$1.indexOf('parents') === 0) {\n            result = result.reverse();\n          }\n        }\n        result = DomQuery(result);\n        if (selector) {\n          return result.filter(selector);\n        }\n        return result;\n      };\n    });\n    each$2({\n      parentsUntil: function (node, until) {\n        return dir(node, 'parentNode', until);\n      },\n      nextUntil: function (node, until) {\n        return sibling(node, 'nextSibling', 1, until).slice(1);\n      },\n      prevUntil: function (node, until) {\n        return sibling(node, 'previousSibling', 1, until).slice(1);\n      }\n    }, function (name$$1, fn) {\n      DomQuery.fn[name$$1] = function (selector, filter) {\n        var self$$1 = this;\n        var result = [];\n        self$$1.each(function () {\n          var nodes = fn.call(result, this, selector, result);\n          if (nodes) {\n            if (DomQuery.isArray(nodes)) {\n              result.push.apply(result, nodes);\n            } else {\n              result.push(nodes);\n            }\n          }\n        });\n        if (this.length > 1) {\n          result = DomQuery.unique(result);\n          if (name$$1.indexOf('parents') === 0 || name$$1 === 'prevUntil') {\n            result = result.reverse();\n          }\n        }\n        result = DomQuery(result);\n        if (filter) {\n          return result.filter(filter);\n        }\n        return result;\n      };\n    });\n    DomQuery.fn.is = function (selector) {\n      return !!selector && this.filter(selector).length > 0;\n    };\n    DomQuery.fn.init.prototype = DomQuery.fn;\n    DomQuery.overrideDefaults = function (callback) {\n      var defaults;\n      var sub = function (selector, context) {\n        defaults = defaults || callback();\n        if (arguments.length === 0) {\n          selector = defaults.element;\n        }\n        if (!context) {\n          context = defaults.context;\n        }\n        return new sub.fn.init(selector, context);\n      };\n      DomQuery.extend(sub, this);\n      return sub;\n    };\n    var appendHooks = function (targetHooks, prop, hooks) {\n      each$2(hooks, function (name$$1, func) {\n        targetHooks[name$$1] = targetHooks[name$$1] || {};\n        targetHooks[name$$1][prop] = func;\n      });\n    };\n    if (Env.ie && Env.ie < 8) {\n      appendHooks(attrHooks, 'get', {\n        maxlength: function (elm) {\n          var value = elm.maxLength;\n          if (value === 2147483647) {\n            return undefined;\n          }\n          return value;\n        },\n        size: function (elm) {\n          var value = elm.size;\n          if (value === 20) {\n            return undefined;\n          }\n          return value;\n        },\n        class: function (elm) {\n          return elm.className;\n        },\n        style: function (elm) {\n          var value = elm.style.cssText;\n          if (value.length === 0) {\n            return undefined;\n          }\n          return value;\n        }\n      });\n      appendHooks(attrHooks, 'set', {\n        class: function (elm, value) {\n          elm.className = value;\n        },\n        style: function (elm, value) {\n          elm.style.cssText = value;\n        }\n      });\n    }\n    if (Env.ie && Env.ie < 9) {\n      cssFix.float = 'styleFloat';\n      appendHooks(cssHooks, 'set', {\n        opacity: function (elm, value) {\n          var style = elm.style;\n          if (value === null || value === '') {\n            style.removeAttribute('filter');\n          } else {\n            style.zoom = 1;\n            style.filter = 'alpha(opacity=' + value * 100 + ')';\n          }\n        }\n      });\n    }\n    DomQuery.attrHooks = attrHooks;\n    DomQuery.cssHooks = cssHooks;\n\n    var cached = function (f) {\n      var called = false;\n      var r;\n      return function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        if (!called) {\n          called = true;\n          r = f.apply(null, args);\n        }\n        return r;\n      };\n    };\n\n    var firstMatch = function (regexes, s) {\n      for (var i = 0; i < regexes.length; i++) {\n        var x = regexes[i];\n        if (x.test(s))\n          return x;\n      }\n      return undefined;\n    };\n    var find$2 = function (regexes, agent) {\n      var r = firstMatch(regexes, agent);\n      if (!r)\n        return {\n          major: 0,\n          minor: 0\n        };\n      var group = function (i) {\n        return Number(agent.replace(r, '$' + i));\n      };\n      return nu(group(1), group(2));\n    };\n    var detect = function (versionRegexes, agent) {\n      var cleanedAgent = String(agent).toLowerCase();\n      if (versionRegexes.length === 0)\n        return unknown();\n      return find$2(versionRegexes, cleanedAgent);\n    };\n    var unknown = function () {\n      return nu(0, 0);\n    };\n    var nu = function (major, minor) {\n      return {\n        major: major,\n        minor: minor\n      };\n    };\n    var Version = {\n      nu: nu,\n      detect: detect,\n      unknown: unknown\n    };\n\n    var edge = 'Edge';\n    var chrome = 'Chrome';\n    var ie$1 = 'IE';\n    var opera$1 = 'Opera';\n    var firefox = 'Firefox';\n    var safari = 'Safari';\n    var isBrowser = function (name, current) {\n      return function () {\n        return current === name;\n      };\n    };\n    var unknown$1 = function () {\n      return nu$1({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    var nu$1 = function (info) {\n      var current = info.current;\n      var version = info.version;\n      return {\n        current: current,\n        version: version,\n        isEdge: isBrowser(edge, current),\n        isChrome: isBrowser(chrome, current),\n        isIE: isBrowser(ie$1, current),\n        isOpera: isBrowser(opera$1, current),\n        isFirefox: isBrowser(firefox, current),\n        isSafari: isBrowser(safari, current)\n      };\n    };\n    var Browser = {\n      unknown: unknown$1,\n      nu: nu$1,\n      edge: constant(edge),\n      chrome: constant(chrome),\n      ie: constant(ie$1),\n      opera: constant(opera$1),\n      firefox: constant(firefox),\n      safari: constant(safari)\n    };\n\n    var windows = 'Windows';\n    var ios = 'iOS';\n    var android$1 = 'Android';\n    var linux = 'Linux';\n    var osx = 'OSX';\n    var solaris = 'Solaris';\n    var freebsd = 'FreeBSD';\n    var isOS = function (name, current) {\n      return function () {\n        return current === name;\n      };\n    };\n    var unknown$2 = function () {\n      return nu$2({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    var nu$2 = function (info) {\n      var current = info.current;\n      var version = info.version;\n      return {\n        current: current,\n        version: version,\n        isWindows: isOS(windows, current),\n        isiOS: isOS(ios, current),\n        isAndroid: isOS(android$1, current),\n        isOSX: isOS(osx, current),\n        isLinux: isOS(linux, current),\n        isSolaris: isOS(solaris, current),\n        isFreeBSD: isOS(freebsd, current)\n      };\n    };\n    var OperatingSystem = {\n      unknown: unknown$2,\n      nu: nu$2,\n      windows: constant(windows),\n      ios: constant(ios),\n      android: constant(android$1),\n      linux: constant(linux),\n      osx: constant(osx),\n      solaris: constant(solaris),\n      freebsd: constant(freebsd)\n    };\n\n    var DeviceType = function (os, browser, userAgent) {\n      var isiPad = os.isiOS() && /ipad/i.test(userAgent) === true;\n      var isiPhone = os.isiOS() && !isiPad;\n      var isAndroid3 = os.isAndroid() && os.version.major === 3;\n      var isAndroid4 = os.isAndroid() && os.version.major === 4;\n      var isTablet = isiPad || isAndroid3 || isAndroid4 && /mobile/i.test(userAgent) === true;\n      var isTouch = os.isiOS() || os.isAndroid();\n      var isPhone = isTouch && !isTablet;\n      var iOSwebview = browser.isSafari() && os.isiOS() && /safari/i.test(userAgent) === false;\n      return {\n        isiPad: constant(isiPad),\n        isiPhone: constant(isiPhone),\n        isTablet: constant(isTablet),\n        isPhone: constant(isPhone),\n        isTouch: constant(isTouch),\n        isAndroid: os.isAndroid,\n        isiOS: os.isiOS,\n        isWebView: constant(iOSwebview)\n      };\n    };\n\n    var detect$1 = function (candidates, userAgent) {\n      var agent = String(userAgent).toLowerCase();\n      return find(candidates, function (candidate) {\n        return candidate.search(agent);\n      });\n    };\n    var detectBrowser = function (browsers, userAgent) {\n      return detect$1(browsers, userAgent).map(function (browser) {\n        var version = Version.detect(browser.versionRegexes, userAgent);\n        return {\n          current: browser.name,\n          version: version\n        };\n      });\n    };\n    var detectOs = function (oses, userAgent) {\n      return detect$1(oses, userAgent).map(function (os) {\n        var version = Version.detect(os.versionRegexes, userAgent);\n        return {\n          current: os.name,\n          version: version\n        };\n      });\n    };\n    var UaString = {\n      detectBrowser: detectBrowser,\n      detectOs: detectOs\n    };\n\n    var contains$2 = function (str, substr) {\n      return str.indexOf(substr) !== -1;\n    };\n    var trim$2 = function (str) {\n      return str.replace(/^\\s+|\\s+$/g, '');\n    };\n    var lTrim = function (str) {\n      return str.replace(/^\\s+/g, '');\n    };\n    var rTrim = function (str) {\n      return str.replace(/\\s+$/g, '');\n    };\n\n    var normalVersionRegex = /.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/;\n    var checkContains = function (target) {\n      return function (uastring) {\n        return contains$2(uastring, target);\n      };\n    };\n    var browsers = [\n      {\n        name: 'Edge',\n        versionRegexes: [/.*?edge\\/ ?([0-9]+)\\.([0-9]+)$/],\n        search: function (uastring) {\n          var monstrosity = contains$2(uastring, 'edge/') && contains$2(uastring, 'chrome') && contains$2(uastring, 'safari') && contains$2(uastring, 'applewebkit');\n          return monstrosity;\n        }\n      },\n      {\n        name: 'Chrome',\n        versionRegexes: [\n          /.*?chrome\\/([0-9]+)\\.([0-9]+).*/,\n          normalVersionRegex\n        ],\n        search: function (uastring) {\n          return contains$2(uastring, 'chrome') && !contains$2(uastring, 'chromeframe');\n        }\n      },\n      {\n        name: 'IE',\n        versionRegexes: [\n          /.*?msie\\ ?([0-9]+)\\.([0-9]+).*/,\n          /.*?rv:([0-9]+)\\.([0-9]+).*/\n        ],\n        search: function (uastring) {\n          return contains$2(uastring, 'msie') || contains$2(uastring, 'trident');\n        }\n      },\n      {\n        name: 'Opera',\n        versionRegexes: [\n          normalVersionRegex,\n          /.*?opera\\/([0-9]+)\\.([0-9]+).*/\n        ],\n        search: checkContains('opera')\n      },\n      {\n        name: 'Firefox',\n        versionRegexes: [/.*?firefox\\/\\ ?([0-9]+)\\.([0-9]+).*/],\n        search: checkContains('firefox')\n      },\n      {\n        name: 'Safari',\n        versionRegexes: [\n          normalVersionRegex,\n          /.*?cpu os ([0-9]+)_([0-9]+).*/\n        ],\n        search: function (uastring) {\n          return (contains$2(uastring, 'safari') || contains$2(uastring, 'mobile/')) && contains$2(uastring, 'applewebkit');\n        }\n      }\n    ];\n    var oses = [\n      {\n        name: 'Windows',\n        search: checkContains('win'),\n        versionRegexes: [/.*?windows\\ nt\\ ?([0-9]+)\\.([0-9]+).*/]\n      },\n      {\n        name: 'iOS',\n        search: function (uastring) {\n          return contains$2(uastring, 'iphone') || contains$2(uastring, 'ipad');\n        },\n        versionRegexes: [\n          /.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/,\n          /.*cpu os ([0-9]+)_([0-9]+).*/,\n          /.*cpu iphone os ([0-9]+)_([0-9]+).*/\n        ]\n      },\n      {\n        name: 'Android',\n        search: checkContains('android'),\n        versionRegexes: [/.*?android\\ ?([0-9]+)\\.([0-9]+).*/]\n      },\n      {\n        name: 'OSX',\n        search: checkContains('os x'),\n        versionRegexes: [/.*?os\\ x\\ ?([0-9]+)_([0-9]+).*/]\n      },\n      {\n        name: 'Linux',\n        search: checkContains('linux'),\n        versionRegexes: []\n      },\n      {\n        name: 'Solaris',\n        search: checkContains('sunos'),\n        versionRegexes: []\n      },\n      {\n        name: 'FreeBSD',\n        search: checkContains('freebsd'),\n        versionRegexes: []\n      }\n    ];\n    var PlatformInfo = {\n      browsers: constant(browsers),\n      oses: constant(oses)\n    };\n\n    var detect$2 = function (userAgent) {\n      var browsers = PlatformInfo.browsers();\n      var oses = PlatformInfo.oses();\n      var browser = UaString.detectBrowser(browsers, userAgent).fold(Browser.unknown, Browser.nu);\n      var os = UaString.detectOs(oses, userAgent).fold(OperatingSystem.unknown, OperatingSystem.nu);\n      var deviceType = DeviceType(os, browser, userAgent);\n      return {\n        browser: browser,\n        os: os,\n        deviceType: deviceType\n      };\n    };\n    var PlatformDetection = { detect: detect$2 };\n\n    var detect$3 = cached(function () {\n      var userAgent = navigator.userAgent;\n      return PlatformDetection.detect(userAgent);\n    });\n    var PlatformDetection$1 = { detect: detect$3 };\n\n    var fromHtml = function (html, scope) {\n      var doc = scope || document;\n      var div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        console.error('HTML does not have a single root node', html);\n        throw 'HTML must have a single root node';\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    var fromTag = function (tag, scope) {\n      var doc = scope || document;\n      var node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    var fromText = function (text, scope) {\n      var doc = scope || document;\n      var node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    var fromDom = function (node) {\n      if (node === null || node === undefined)\n        throw new Error('Node cannot be null or undefined');\n      return { dom: constant(node) };\n    };\n    var fromPoint = function (docElm, x, y) {\n      var doc = docElm.dom();\n      return Option.from(doc.elementFromPoint(x, y)).map(fromDom);\n    };\n    var Element$$1 = {\n      fromHtml: fromHtml,\n      fromTag: fromTag,\n      fromText: fromText,\n      fromDom: fromDom,\n      fromPoint: fromPoint\n    };\n\n    var ATTRIBUTE = Node.ATTRIBUTE_NODE;\n    var CDATA_SECTION = Node.CDATA_SECTION_NODE;\n    var COMMENT = Node.COMMENT_NODE;\n    var DOCUMENT = Node.DOCUMENT_NODE;\n    var DOCUMENT_TYPE = Node.DOCUMENT_TYPE_NODE;\n    var DOCUMENT_FRAGMENT = Node.DOCUMENT_FRAGMENT_NODE;\n    var ELEMENT = Node.ELEMENT_NODE;\n    var TEXT = Node.TEXT_NODE;\n    var PROCESSING_INSTRUCTION = Node.PROCESSING_INSTRUCTION_NODE;\n    var ENTITY_REFERENCE = Node.ENTITY_REFERENCE_NODE;\n    var ENTITY = Node.ENTITY_NODE;\n    var NOTATION = Node.NOTATION_NODE;\n\n    var name = function (element) {\n      var r = element.dom().nodeName;\n      return r.toLowerCase();\n    };\n    var type = function (element) {\n      return element.dom().nodeType;\n    };\n    var isType$1 = function (t) {\n      return function (element) {\n        return type(element) === t;\n      };\n    };\n    var isElement = isType$1(ELEMENT);\n    var isText = isType$1(TEXT);\n\n    var keys = Object.keys;\n    var hasOwnProperty$1 = Object.hasOwnProperty;\n    var each$3 = function (obj, f) {\n      var props = keys(obj);\n      for (var k = 0, len = props.length; k < len; k++) {\n        var i = props[k];\n        var x = obj[i];\n        f(x, i, obj);\n      }\n    };\n    var map$2 = function (obj, f) {\n      return tupleMap(obj, function (x, i, obj) {\n        return {\n          k: i,\n          v: f(x, i, obj)\n        };\n      });\n    };\n    var tupleMap = function (obj, f) {\n      var r = {};\n      each$3(obj, function (x, i) {\n        var tuple = f(x, i, obj);\n        r[tuple.k] = tuple.v;\n      });\n      return r;\n    };\n    var bifilter = function (obj, pred) {\n      var t = {};\n      var f = {};\n      each$3(obj, function (x, i) {\n        var branch = pred(x, i) ? t : f;\n        branch[i] = x;\n      });\n      return {\n        t: t,\n        f: f\n      };\n    };\n    var has = function (obj, key) {\n      return hasOwnProperty$1.call(obj, key);\n    };\n\n    var rawSet = function (dom, key, value$$1) {\n      if (isString(value$$1) || isBoolean(value$$1) || isNumber(value$$1)) {\n        dom.setAttribute(key, value$$1 + '');\n      } else {\n        console.error('Invalid call to Attr.set. Key ', key, ':: Value ', value$$1, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    var set = function (element, key, value$$1) {\n      rawSet(element.dom(), key, value$$1);\n    };\n    var setAll = function (element, attrs) {\n      var dom = element.dom();\n      each$3(attrs, function (v, k) {\n        rawSet(dom, k, v);\n      });\n    };\n    var get$1 = function (element, key) {\n      var v = element.dom().getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    var has$1 = function (element, key) {\n      var dom = element.dom();\n      return dom && dom.hasAttribute ? dom.hasAttribute(key) : false;\n    };\n    var remove = function (element, key) {\n      element.dom().removeAttribute(key);\n    };\n\n    var inBody = function (element) {\n      var dom = isText(element) ? element.dom().parentNode : element.dom();\n      return dom !== undefined && dom !== null && dom.ownerDocument.body.contains(dom);\n    };\n\n    var isSupported = function (dom) {\n      return dom.style !== undefined;\n    };\n\n    var internalSet = function (dom, property, value$$1) {\n      if (!isString(value$$1)) {\n        console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value$$1, ':: Element ', dom);\n        throw new Error('CSS value must be a string: ' + value$$1);\n      }\n      if (isSupported(dom))\n        dom.style.setProperty(property, value$$1);\n    };\n    var setAll$1 = function (element, css) {\n      var dom = element.dom();\n      each$3(css, function (v, k) {\n        internalSet(dom, k, v);\n      });\n    };\n    var get$2 = function (element, property) {\n      var dom = element.dom();\n      var styles = window.getComputedStyle(dom);\n      var r = styles.getPropertyValue(property);\n      var v = r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r;\n      return v === null ? undefined : v;\n    };\n    var getUnsafeProperty = function (dom, property) {\n      return isSupported(dom) ? dom.style.getPropertyValue(property) : '';\n    };\n    var getRaw = function (element, property) {\n      var dom = element.dom();\n      var raw = getUnsafeProperty(dom, property);\n      return Option.from(raw).filter(function (r) {\n        return r.length > 0;\n      });\n    };\n\n    var Immutable = function () {\n      var fields = [];\n      for (var _i = 0; _i < arguments.length; _i++) {\n        fields[_i] = arguments[_i];\n      }\n      return function () {\n        var values = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          values[_i] = arguments[_i];\n        }\n        if (fields.length !== values.length) {\n          throw new Error('Wrong number of arguments to struct. Expected \"[' + fields.length + ']\", got ' + values.length + ' arguments');\n        }\n        var struct = {};\n        each(fields, function (name, i) {\n          struct[name] = constant(values[i]);\n        });\n        return struct;\n      };\n    };\n\n    var toArray$1 = function (target, f) {\n      var r = [];\n      var recurse = function (e) {\n        r.push(e);\n        return f(e);\n      };\n      var cur = f(target);\n      do {\n        cur = cur.bind(recurse);\n      } while (cur.isSome());\n      return r;\n    };\n    var Recurse = { toArray: toArray$1 };\n\n    var node = function () {\n      var f = Global$1.getOrDie('Node');\n      return f;\n    };\n    var compareDocumentPosition = function (a, b, match) {\n      return (a.compareDocumentPosition(b) & match) !== 0;\n    };\n    var documentPositionPreceding = function (a, b) {\n      return compareDocumentPosition(a, b, node().DOCUMENT_POSITION_PRECEDING);\n    };\n    var documentPositionContainedBy = function (a, b) {\n      return compareDocumentPosition(a, b, node().DOCUMENT_POSITION_CONTAINED_BY);\n    };\n    var Node$1 = {\n      documentPositionPreceding: documentPositionPreceding,\n      documentPositionContainedBy: documentPositionContainedBy\n    };\n\n    var ELEMENT$1 = ELEMENT;\n    var DOCUMENT$1 = DOCUMENT;\n    var is$1 = function (element, selector) {\n      var elem = element.dom();\n      if (elem.nodeType !== ELEMENT$1)\n        return false;\n      else if (elem.matches !== undefined)\n        return elem.matches(selector);\n      else if (elem.msMatchesSelector !== undefined)\n        return elem.msMatchesSelector(selector);\n      else if (elem.webkitMatchesSelector !== undefined)\n        return elem.webkitMatchesSelector(selector);\n      else if (elem.mozMatchesSelector !== undefined)\n        return elem.mozMatchesSelector(selector);\n      else\n        throw new Error('Browser lacks native selectors');\n    };\n    var bypassSelector = function (dom) {\n      return dom.nodeType !== ELEMENT$1 && dom.nodeType !== DOCUMENT$1 || dom.childElementCount === 0;\n    };\n    var all = function (selector, scope) {\n      var base = scope === undefined ? document : scope.dom();\n      return bypassSelector(base) ? [] : map(base.querySelectorAll(selector), Element$$1.fromDom);\n    };\n    var one = function (selector, scope) {\n      var base = scope === undefined ? document : scope.dom();\n      return bypassSelector(base) ? Option.none() : Option.from(base.querySelector(selector)).map(Element$$1.fromDom);\n    };\n\n    var eq = function (e1, e2) {\n      return e1.dom() === e2.dom();\n    };\n    var regularContains = function (e1, e2) {\n      var d1 = e1.dom(), d2 = e2.dom();\n      return d1 === d2 ? false : d1.contains(d2);\n    };\n    var ieContains = function (e1, e2) {\n      return Node$1.documentPositionContainedBy(e1.dom(), e2.dom());\n    };\n    var browser = PlatformDetection$1.detect().browser;\n    var contains$3 = browser.isIE() ? ieContains : regularContains;\n\n    var owner = function (element) {\n      return Element$$1.fromDom(element.dom().ownerDocument);\n    };\n    var documentElement = function (element) {\n      return Element$$1.fromDom(element.dom().ownerDocument.documentElement);\n    };\n    var defaultView = function (element) {\n      var el = element.dom();\n      var defaultView = el.ownerDocument.defaultView;\n      return Element$$1.fromDom(defaultView);\n    };\n    var parent = function (element) {\n      var dom = element.dom();\n      return Option.from(dom.parentNode).map(Element$$1.fromDom);\n    };\n    var parents = function (element, isRoot) {\n      var stop = isFunction(isRoot) ? isRoot : constant(false);\n      var dom = element.dom();\n      var ret = [];\n      while (dom.parentNode !== null && dom.parentNode !== undefined) {\n        var rawParent = dom.parentNode;\n        var parent = Element$$1.fromDom(rawParent);\n        ret.push(parent);\n        if (stop(parent) === true)\n          break;\n        else\n          dom = rawParent;\n      }\n      return ret;\n    };\n    var prevSibling = function (element) {\n      var dom = element.dom();\n      return Option.from(dom.previousSibling).map(Element$$1.fromDom);\n    };\n    var nextSibling = function (element) {\n      var dom = element.dom();\n      return Option.from(dom.nextSibling).map(Element$$1.fromDom);\n    };\n    var prevSiblings = function (element) {\n      return reverse(Recurse.toArray(element, prevSibling));\n    };\n    var nextSiblings = function (element) {\n      return Recurse.toArray(element, nextSibling);\n    };\n    var children = function (element) {\n      var dom = element.dom();\n      return map(dom.childNodes, Element$$1.fromDom);\n    };\n    var child = function (element, index) {\n      var children = element.dom().childNodes;\n      return Option.from(children[index]).map(Element$$1.fromDom);\n    };\n    var firstChild = function (element) {\n      return child(element, 0);\n    };\n    var lastChild = function (element) {\n      return child(element, element.dom().childNodes.length - 1);\n    };\n    var childNodesCount = function (element) {\n      return element.dom().childNodes.length;\n    };\n    var spot = Immutable('element', 'offset');\n\n    var browser$1 = PlatformDetection$1.detect().browser;\n    var firstElement = function (nodes) {\n      return find(nodes, isElement);\n    };\n    var getTableCaptionDeltaY = function (elm) {\n      if (browser$1.isFirefox() && name(elm) === 'table') {\n        return firstElement(children(elm)).filter(function (elm) {\n          return name(elm) === 'caption';\n        }).bind(function (caption) {\n          return firstElement(nextSiblings(caption)).map(function (body) {\n            var bodyTop = body.dom().offsetTop;\n            var captionTop = caption.dom().offsetTop;\n            var captionHeight = caption.dom().offsetHeight;\n            return bodyTop <= captionTop ? -captionHeight : 0;\n          });\n        }).getOr(0);\n      } else {\n        return 0;\n      }\n    };\n    var getPos = function (body, elm, rootElm) {\n      var x = 0, y = 0, offsetParent$$1;\n      var doc = body.ownerDocument;\n      var pos;\n      rootElm = rootElm ? rootElm : body;\n      if (elm) {\n        if (rootElm === body && elm.getBoundingClientRect && get$2(Element$$1.fromDom(body), 'position') === 'static') {\n          pos = elm.getBoundingClientRect();\n          x = pos.left + (doc.documentElement.scrollLeft || body.scrollLeft) - doc.documentElement.clientLeft;\n          y = pos.top + (doc.documentElement.scrollTop || body.scrollTop) - doc.documentElement.clientTop;\n          return {\n            x: x,\n            y: y\n          };\n        }\n        offsetParent$$1 = elm;\n        while (offsetParent$$1 && offsetParent$$1 !== rootElm && offsetParent$$1.nodeType) {\n          x += offsetParent$$1.offsetLeft || 0;\n          y += offsetParent$$1.offsetTop || 0;\n          offsetParent$$1 = offsetParent$$1.offsetParent;\n        }\n        offsetParent$$1 = elm.parentNode;\n        while (offsetParent$$1 && offsetParent$$1 !== rootElm && offsetParent$$1.nodeType) {\n          x -= offsetParent$$1.scrollLeft || 0;\n          y -= offsetParent$$1.scrollTop || 0;\n          offsetParent$$1 = offsetParent$$1.parentNode;\n        }\n        y += getTableCaptionDeltaY(Element$$1.fromDom(elm));\n      }\n      return {\n        x: x,\n        y: y\n      };\n    };\n    var Position = { getPos: getPos };\n\n    var nu$3 = function (baseFn) {\n      var data = Option.none();\n      var callbacks = [];\n      var map$$1 = function (f) {\n        return nu$3(function (nCallback) {\n          get(function (data) {\n            nCallback(f(data));\n          });\n        });\n      };\n      var get = function (nCallback) {\n        if (isReady())\n          call(nCallback);\n        else\n          callbacks.push(nCallback);\n      };\n      var set = function (x) {\n        data = Option.some(x);\n        run(callbacks);\n        callbacks = [];\n      };\n      var isReady = function () {\n        return data.isSome();\n      };\n      var run = function (cbs) {\n        each(cbs, call);\n      };\n      var call = function (cb) {\n        data.each(function (x) {\n          setTimeout(function () {\n            cb(x);\n          }, 0);\n        });\n      };\n      baseFn(set);\n      return {\n        get: get,\n        map: map$$1,\n        isReady: isReady\n      };\n    };\n    var pure$1 = function (a) {\n      return nu$3(function (callback) {\n        callback(a);\n      });\n    };\n    var LazyValue = {\n      nu: nu$3,\n      pure: pure$1\n    };\n\n    var bounce = function (f) {\n      return function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        var me = this;\n        setTimeout(function () {\n          f.apply(me, args);\n        }, 0);\n      };\n    };\n\n    var nu$4 = function (baseFn) {\n      var get = function (callback) {\n        baseFn(bounce(callback));\n      };\n      var map = function (fab) {\n        return nu$4(function (callback) {\n          get(function (a) {\n            var value = fab(a);\n            callback(value);\n          });\n        });\n      };\n      var bind = function (aFutureB) {\n        return nu$4(function (callback) {\n          get(function (a) {\n            aFutureB(a).get(callback);\n          });\n        });\n      };\n      var anonBind = function (futureB) {\n        return nu$4(function (callback) {\n          get(function (a) {\n            futureB.get(callback);\n          });\n        });\n      };\n      var toLazy = function () {\n        return LazyValue.nu(get);\n      };\n      var toCached = function () {\n        var cache = null;\n        return nu$4(function (callback) {\n          if (cache === null) {\n            cache = toLazy();\n          }\n          cache.get(callback);\n        });\n      };\n      return {\n        map: map,\n        bind: bind,\n        anonBind: anonBind,\n        toLazy: toLazy,\n        toCached: toCached,\n        get: get\n      };\n    };\n    var pure$2 = function (a) {\n      return nu$4(function (callback) {\n        callback(a);\n      });\n    };\n    var Future = {\n      nu: nu$4,\n      pure: pure$2\n    };\n\n    var par = function (asyncValues, nu) {\n      return nu(function (callback) {\n        var r = [];\n        var count = 0;\n        var cb = function (i) {\n          return function (value) {\n            r[i] = value;\n            count++;\n            if (count >= asyncValues.length) {\n              callback(r);\n            }\n          };\n        };\n        if (asyncValues.length === 0) {\n          callback([]);\n        } else {\n          each(asyncValues, function (asyncValue, i) {\n            asyncValue.get(cb(i));\n          });\n        }\n      });\n    };\n\n    var par$1 = function (futures) {\n      return par(futures, Future.nu);\n    };\n\n    var value$1 = function (o) {\n      var is = function (v) {\n        return o === v;\n      };\n      var or = function (opt) {\n        return value$1(o);\n      };\n      var orThunk = function (f) {\n        return value$1(o);\n      };\n      var map = function (f) {\n        return value$1(f(o));\n      };\n      var mapError = function (f) {\n        return value$1(o);\n      };\n      var each = function (f) {\n        f(o);\n      };\n      var bind = function (f) {\n        return f(o);\n      };\n      var fold = function (_, onValue) {\n        return onValue(o);\n      };\n      var exists = function (f) {\n        return f(o);\n      };\n      var forall = function (f) {\n        return f(o);\n      };\n      var toOption = function () {\n        return Option.some(o);\n      };\n      return {\n        is: is,\n        isValue: always,\n        isError: never,\n        getOr: constant(o),\n        getOrThunk: constant(o),\n        getOrDie: constant(o),\n        or: or,\n        orThunk: orThunk,\n        fold: fold,\n        map: map,\n        mapError: mapError,\n        each: each,\n        bind: bind,\n        exists: exists,\n        forall: forall,\n        toOption: toOption\n      };\n    };\n    var error = function (message) {\n      var getOrThunk = function (f) {\n        return f();\n      };\n      var getOrDie = function () {\n        return die(String(message))();\n      };\n      var or = function (opt) {\n        return opt;\n      };\n      var orThunk = function (f) {\n        return f();\n      };\n      var map = function (f) {\n        return error(message);\n      };\n      var mapError = function (f) {\n        return error(f(message));\n      };\n      var bind = function (f) {\n        return error(message);\n      };\n      var fold = function (onError, _) {\n        return onError(message);\n      };\n      return {\n        is: never,\n        isValue: never,\n        isError: always,\n        getOr: identity,\n        getOrThunk: getOrThunk,\n        getOrDie: getOrDie,\n        or: or,\n        orThunk: orThunk,\n        fold: fold,\n        map: map,\n        mapError: mapError,\n        each: noop,\n        bind: bind,\n        exists: never,\n        forall: always,\n        toOption: Option.none\n      };\n    };\n    var Result = {\n      value: value$1,\n      error: error\n    };\n\n    function StyleSheetLoader(document$$1, settings) {\n      if (settings === void 0) {\n        settings = {};\n      }\n      var idCount = 0;\n      var loadedStates = {};\n      var maxLoadTime;\n      maxLoadTime = settings.maxLoadTime || 5000;\n      var appendToHead = function (node) {\n        document$$1.getElementsByTagName('head')[0].appendChild(node);\n      };\n      var load = function (url, loadedCallback, errorCallback) {\n        var link, style, startTime, state;\n        var passed = function () {\n          var callbacks = state.passed;\n          var i = callbacks.length;\n          while (i--) {\n            callbacks[i]();\n          }\n          state.status = 2;\n          state.passed = [];\n          state.failed = [];\n        };\n        var failed = function () {\n          var callbacks = state.failed;\n          var i = callbacks.length;\n          while (i--) {\n            callbacks[i]();\n          }\n          state.status = 3;\n          state.passed = [];\n          state.failed = [];\n        };\n        var isOldWebKit = function () {\n          var webKitChunks = navigator.userAgent.match(/WebKit\\/(\\d*)/);\n          return !!(webKitChunks && parseInt(webKitChunks[1], 10) < 536);\n        };\n        var wait = function (testCallback, waitCallback) {\n          if (!testCallback()) {\n            if (new Date().getTime() - startTime < maxLoadTime) {\n              Delay.setTimeout(waitCallback);\n            } else {\n              failed();\n            }\n          }\n        };\n        var waitForWebKitLinkLoaded = function () {\n          wait(function () {\n            var styleSheets = document$$1.styleSheets;\n            var styleSheet, i = styleSheets.length, owner;\n            while (i--) {\n              styleSheet = styleSheets[i];\n              owner = styleSheet.ownerNode ? styleSheet.ownerNode : styleSheet.owningElement;\n              if (owner && owner.id === link.id) {\n                passed();\n                return true;\n              }\n            }\n          }, waitForWebKitLinkLoaded);\n        };\n        var waitForGeckoLinkLoaded = function () {\n          wait(function () {\n            try {\n              var cssRules = style.sheet.cssRules;\n              passed();\n              return !!cssRules;\n            } catch (ex) {\n            }\n          }, waitForGeckoLinkLoaded);\n        };\n        url = Tools._addCacheSuffix(url);\n        if (!loadedStates[url]) {\n          state = {\n            passed: [],\n            failed: []\n          };\n          loadedStates[url] = state;\n        } else {\n          state = loadedStates[url];\n        }\n        if (loadedCallback) {\n          state.passed.push(loadedCallback);\n        }\n        if (errorCallback) {\n          state.failed.push(errorCallback);\n        }\n        if (state.status === 1) {\n          return;\n        }\n        if (state.status === 2) {\n          passed();\n          return;\n        }\n        if (state.status === 3) {\n          failed();\n          return;\n        }\n        state.status = 1;\n        link = document$$1.createElement('link');\n        link.rel = 'stylesheet';\n        link.type = 'text/css';\n        link.id = 'u' + idCount++;\n        link.async = false;\n        link.defer = false;\n        startTime = new Date().getTime();\n        if (settings.contentCssCors) {\n          link.crossOrigin = 'anonymous';\n        }\n        if ('onload' in link && !isOldWebKit()) {\n          link.onload = waitForWebKitLinkLoaded;\n          link.onerror = failed;\n        } else {\n          if (navigator.userAgent.indexOf('Firefox') > 0) {\n            style = document$$1.createElement('style');\n            style.textContent = '@import \"' + url + '\"';\n            waitForGeckoLinkLoaded();\n            appendToHead(style);\n            return;\n          }\n          waitForWebKitLinkLoaded();\n        }\n        appendToHead(link);\n        link.href = url;\n      };\n      var loadF = function (url) {\n        return Future.nu(function (resolve) {\n          load(url, compose(resolve, constant(Result.value(url))), compose(resolve, constant(Result.error(url))));\n        });\n      };\n      var unbox = function (result) {\n        return result.fold(identity, identity);\n      };\n      var loadAll = function (urls, success, failure) {\n        par$1(map(urls, loadF)).get(function (result) {\n          var parts = partition(result, function (r) {\n            return r.isValue();\n          });\n          if (parts.fail.length > 0) {\n            failure(parts.fail.map(unbox));\n          } else {\n            success(parts.pass.map(unbox));\n          }\n        });\n      };\n      return {\n        load: load,\n        loadAll: loadAll\n      };\n    }\n\n    function TreeWalker (startNode, rootNode) {\n      var node = startNode;\n      var findSibling = function (node, startName, siblingName, shallow) {\n        var sibling, parent;\n        if (node) {\n          if (!shallow && node[startName]) {\n            return node[startName];\n          }\n          if (node !== rootNode) {\n            sibling = node[siblingName];\n            if (sibling) {\n              return sibling;\n            }\n            for (parent = node.parentNode; parent && parent !== rootNode; parent = parent.parentNode) {\n              sibling = parent[siblingName];\n              if (sibling) {\n                return sibling;\n              }\n            }\n          }\n        }\n      };\n      var findPreviousNode = function (node, startName, siblingName, shallow) {\n        var sibling, parent, child;\n        if (node) {\n          sibling = node[siblingName];\n          if (rootNode && sibling === rootNode) {\n            return;\n          }\n          if (sibling) {\n            if (!shallow) {\n              for (child = sibling[startName]; child; child = child[startName]) {\n                if (!child[startName]) {\n                  return child;\n                }\n              }\n            }\n            return sibling;\n          }\n          parent = node.parentNode;\n          if (parent && parent !== rootNode) {\n            return parent;\n          }\n        }\n      };\n      this.current = function () {\n        return node;\n      };\n      this.next = function (shallow) {\n        node = findSibling(node, 'firstChild', 'nextSibling', shallow);\n        return node;\n      };\n      this.prev = function (shallow) {\n        node = findSibling(node, 'lastChild', 'previousSibling', shallow);\n        return node;\n      };\n      this.prev2 = function (shallow) {\n        node = findPreviousNode(node, 'lastChild', 'previousSibling', shallow);\n        return node;\n      };\n    }\n\n    var blocks = [\n      'article',\n      'aside',\n      'details',\n      'div',\n      'dt',\n      'figcaption',\n      'footer',\n      'form',\n      'fieldset',\n      'header',\n      'hgroup',\n      'html',\n      'main',\n      'nav',\n      'section',\n      'summary',\n      'body',\n      'p',\n      'dl',\n      'multicol',\n      'dd',\n      'figure',\n      'address',\n      'center',\n      'blockquote',\n      'h1',\n      'h2',\n      'h3',\n      'h4',\n      'h5',\n      'h6',\n      'listing',\n      'xmp',\n      'pre',\n      'plaintext',\n      'menu',\n      'dir',\n      'ul',\n      'ol',\n      'li',\n      'hr',\n      'table',\n      'tbody',\n      'thead',\n      'tfoot',\n      'th',\n      'tr',\n      'td',\n      'caption'\n    ];\n    var voids = [\n      'area',\n      'base',\n      'basefont',\n      'br',\n      'col',\n      'frame',\n      'hr',\n      'img',\n      'input',\n      'isindex',\n      'link',\n      'meta',\n      'param',\n      'embed',\n      'source',\n      'wbr',\n      'track'\n    ];\n    var tableCells = [\n      'td',\n      'th'\n    ];\n    var tableSections = [\n      'thead',\n      'tbody',\n      'tfoot'\n    ];\n    var textBlocks = [\n      'h1',\n      'h2',\n      'h3',\n      'h4',\n      'h5',\n      'h6',\n      'p',\n      'div',\n      'address',\n      'pre',\n      'form',\n      'blockquote',\n      'center',\n      'dir',\n      'fieldset',\n      'header',\n      'footer',\n      'article',\n      'section',\n      'hgroup',\n      'aside',\n      'nav',\n      'figure'\n    ];\n    var headings = [\n      'h1',\n      'h2',\n      'h3',\n      'h4',\n      'h5',\n      'h6'\n    ];\n    var listItems = [\n      'li',\n      'dd',\n      'dt'\n    ];\n    var lists = [\n      'ul',\n      'ol',\n      'dl'\n    ];\n    var wsElements = [\n      'pre',\n      'script',\n      'textarea',\n      'style'\n    ];\n    var lazyLookup = function (items) {\n      var lookup;\n      return function (node) {\n        lookup = lookup ? lookup : mapToObject(items, constant(true));\n        return lookup.hasOwnProperty(name(node));\n      };\n    };\n    var isHeading = lazyLookup(headings);\n    var isBlock = lazyLookup(blocks);\n    var isInline = function (node) {\n      return isElement(node) && !isBlock(node);\n    };\n    var isBr = function (node) {\n      return isElement(node) && name(node) === 'br';\n    };\n    var isTextBlock = lazyLookup(textBlocks);\n    var isList = lazyLookup(lists);\n    var isListItem = lazyLookup(listItems);\n    var isVoid = lazyLookup(voids);\n    var isTableSection = lazyLookup(tableSections);\n    var isTableCell = lazyLookup(tableCells);\n    var isWsPreserveElement = lazyLookup(wsElements);\n\n    var isNodeType = function (type) {\n      return function (node) {\n        return !!node && node.nodeType === type;\n      };\n    };\n    var isElement$1 = isNodeType(1);\n    var matchNodeNames = function (names) {\n      var items = names.toLowerCase().split(' ');\n      return function (node) {\n        var i, name;\n        if (node && node.nodeType) {\n          name = node.nodeName.toLowerCase();\n          for (i = 0; i < items.length; i++) {\n            if (name === items[i]) {\n              return true;\n            }\n          }\n        }\n        return false;\n      };\n    };\n    var matchStyleValues = function (name, values) {\n      var items = values.toLowerCase().split(' ');\n      return function (node) {\n        var i, cssValue;\n        if (isElement$1(node)) {\n          for (i = 0; i < items.length; i++) {\n            var computed = node.ownerDocument.defaultView.getComputedStyle(node, null);\n            cssValue = computed ? computed.getPropertyValue(name) : null;\n            if (cssValue === items[i]) {\n              return true;\n            }\n          }\n        }\n        return false;\n      };\n    };\n    var hasPropValue = function (propName, propValue) {\n      return function (node) {\n        return isElement$1(node) && node[propName] === propValue;\n      };\n    };\n    var hasAttribute = function (attrName, attrValue) {\n      return function (node) {\n        return isElement$1(node) && node.hasAttribute(attrName);\n      };\n    };\n    var hasAttributeValue = function (attrName, attrValue) {\n      return function (node) {\n        return isElement$1(node) && node.getAttribute(attrName) === attrValue;\n      };\n    };\n    var isBogus = function (node) {\n      return isElement$1(node) && node.hasAttribute('data-mce-bogus');\n    };\n    var isBogusAll = function (node) {\n      return isElement$1(node) && node.getAttribute('data-mce-bogus') === 'all';\n    };\n    var isTable = function (node) {\n      return isElement$1(node) && node.tagName === 'TABLE';\n    };\n    var hasContentEditableState = function (value) {\n      return function (node) {\n        if (isElement$1(node)) {\n          if (node.contentEditable === value) {\n            return true;\n          }\n          if (node.getAttribute('data-mce-contenteditable') === value) {\n            return true;\n          }\n        }\n        return false;\n      };\n    };\n    var isText$1 = isNodeType(3);\n    var isComment$1 = isNodeType(8);\n    var isDocument$1 = isNodeType(9);\n    var isBr$1 = matchNodeNames('br');\n    var isContentEditableTrue = hasContentEditableState('true');\n    var isContentEditableFalse = hasContentEditableState('false');\n    var NodeType = {\n      isText: isText$1,\n      isElement: isElement$1,\n      isComment: isComment$1,\n      isDocument: isDocument$1,\n      isBr: isBr$1,\n      isContentEditableTrue: isContentEditableTrue,\n      isContentEditableFalse: isContentEditableFalse,\n      matchNodeNames: matchNodeNames,\n      hasPropValue: hasPropValue,\n      hasAttribute: hasAttribute,\n      hasAttributeValue: hasAttributeValue,\n      matchStyleValues: matchStyleValues,\n      isBogus: isBogus,\n      isBogusAll: isBogusAll,\n      isTable: isTable\n    };\n\n    var surroundedBySpans = function (node) {\n      var previousIsSpan = node.previousSibling && node.previousSibling.nodeName === 'SPAN';\n      var nextIsSpan = node.nextSibling && node.nextSibling.nodeName === 'SPAN';\n      return previousIsSpan && nextIsSpan;\n    };\n    var isBookmarkNode = function (node) {\n      return node && node.tagName === 'SPAN' && node.getAttribute('data-mce-type') === 'bookmark';\n    };\n    var trimNode = function (dom, node) {\n      var i, children = node.childNodes;\n      if (NodeType.isElement(node) && isBookmarkNode(node)) {\n        return;\n      }\n      for (i = children.length - 1; i >= 0; i--) {\n        trimNode(dom, children[i]);\n      }\n      if (NodeType.isDocument(node) === false) {\n        if (NodeType.isText(node) && node.nodeValue.length > 0) {\n          var trimmedLength = Tools.trim(node.nodeValue).length;\n          if (dom.isBlock(node.parentNode) || trimmedLength > 0) {\n            return;\n          }\n          if (trimmedLength === 0 && surroundedBySpans(node)) {\n            return;\n          }\n        } else if (NodeType.isElement(node)) {\n          children = node.childNodes;\n          if (children.length === 1 && isBookmarkNode(children[0])) {\n            node.parentNode.insertBefore(children[0], node);\n          }\n          if (children.length || isVoid(Element$$1.fromDom(node))) {\n            return;\n          }\n        }\n        dom.remove(node);\n      }\n      return node;\n    };\n    var TrimNode = { trimNode: trimNode };\n\n    var makeMap$1 = Tools.makeMap;\n    var namedEntities, baseEntities, reverseEntities;\n    var attrsCharsRegExp = /[&<>\\\"\\u0060\\u007E-\\uD7FF\\uE000-\\uFFEF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n    var textCharsRegExp = /[<>&\\u007E-\\uD7FF\\uE000-\\uFFEF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n    var rawCharsRegExp = /[<>&\\\"\\']/g;\n    var entityRegExp = /&#([a-z0-9]+);?|&([a-z0-9]+);/gi;\n    var asciiMap = {\n      128: '\\u20AC',\n      130: '\\u201A',\n      131: '\\u0192',\n      132: '\\u201E',\n      133: '\\u2026',\n      134: '\\u2020',\n      135: '\\u2021',\n      136: '\\u02c6',\n      137: '\\u2030',\n      138: '\\u0160',\n      139: '\\u2039',\n      140: '\\u0152',\n      142: '\\u017d',\n      145: '\\u2018',\n      146: '\\u2019',\n      147: '\\u201C',\n      148: '\\u201D',\n      149: '\\u2022',\n      150: '\\u2013',\n      151: '\\u2014',\n      152: '\\u02DC',\n      153: '\\u2122',\n      154: '\\u0161',\n      155: '\\u203A',\n      156: '\\u0153',\n      158: '\\u017e',\n      159: '\\u0178'\n    };\n    baseEntities = {\n      '\"': '&quot;',\n      '\\'': '&#39;',\n      '<': '&lt;',\n      '>': '&gt;',\n      '&': '&amp;',\n      '`': '&#96;'\n    };\n    reverseEntities = {\n      '&lt;': '<',\n      '&gt;': '>',\n      '&amp;': '&',\n      '&quot;': '\"',\n      '&apos;': '\\''\n    };\n    var nativeDecode = function (text) {\n      var elm;\n      elm = Element$$1.fromTag('div').dom();\n      elm.innerHTML = text;\n      return elm.textContent || elm.innerText || text;\n    };\n    var buildEntitiesLookup = function (items, radix) {\n      var i, chr, entity;\n      var lookup = {};\n      if (items) {\n        items = items.split(',');\n        radix = radix || 10;\n        for (i = 0; i < items.length; i += 2) {\n          chr = String.fromCharCode(parseInt(items[i], radix));\n          if (!baseEntities[chr]) {\n            entity = '&' + items[i + 1] + ';';\n            lookup[chr] = entity;\n            lookup[entity] = chr;\n          }\n        }\n        return lookup;\n      }\n    };\n    namedEntities = buildEntitiesLookup('50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,' + '5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,' + '5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,' + '5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,' + '68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,' + '6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,' + '6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,' + '75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,' + '7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,' + '7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,' + 'sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,' + 'st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,' + 't9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,' + 'tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,' + 'u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,' + '81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,' + '8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,' + '8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,' + '8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,' + '8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,' + 'nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,' + 'rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,' + 'Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,' + '80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,' + '811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro', 32);\n    var encodeRaw = function (text, attr) {\n      return text.replace(attr ? attrsCharsRegExp : textCharsRegExp, function (chr) {\n        return baseEntities[chr] || chr;\n      });\n    };\n    var encodeAllRaw = function (text) {\n      return ('' + text).replace(rawCharsRegExp, function (chr) {\n        return baseEntities[chr] || chr;\n      });\n    };\n    var encodeNumeric = function (text, attr) {\n      return text.replace(attr ? attrsCharsRegExp : textCharsRegExp, function (chr) {\n        if (chr.length > 1) {\n          return '&#' + ((chr.charCodeAt(0) - 55296) * 1024 + (chr.charCodeAt(1) - 56320) + 65536) + ';';\n        }\n        return baseEntities[chr] || '&#' + chr.charCodeAt(0) + ';';\n      });\n    };\n    var encodeNamed = function (text, attr, entities) {\n      entities = entities || namedEntities;\n      return text.replace(attr ? attrsCharsRegExp : textCharsRegExp, function (chr) {\n        return baseEntities[chr] || entities[chr] || chr;\n      });\n    };\n    var getEncodeFunc = function (name, entities) {\n      var entitiesMap = buildEntitiesLookup(entities) || namedEntities;\n      var encodeNamedAndNumeric = function (text, attr) {\n        return text.replace(attr ? attrsCharsRegExp : textCharsRegExp, function (chr) {\n          if (baseEntities[chr] !== undefined) {\n            return baseEntities[chr];\n          }\n          if (entitiesMap[chr] !== undefined) {\n            return entitiesMap[chr];\n          }\n          if (chr.length > 1) {\n            return '&#' + ((chr.charCodeAt(0) - 55296) * 1024 + (chr.charCodeAt(1) - 56320) + 65536) + ';';\n          }\n          return '&#' + chr.charCodeAt(0) + ';';\n        });\n      };\n      var encodeCustomNamed = function (text, attr) {\n        return encodeNamed(text, attr, entitiesMap);\n      };\n      var nameMap = makeMap$1(name.replace(/\\+/g, ','));\n      if (nameMap.named && nameMap.numeric) {\n        return encodeNamedAndNumeric;\n      }\n      if (nameMap.named) {\n        if (entities) {\n          return encodeCustomNamed;\n        }\n        return encodeNamed;\n      }\n      if (nameMap.numeric) {\n        return encodeNumeric;\n      }\n      return encodeRaw;\n    };\n    var decode = function (text) {\n      return text.replace(entityRegExp, function (all, numeric) {\n        if (numeric) {\n          if (numeric.charAt(0).toLowerCase() === 'x') {\n            numeric = parseInt(numeric.substr(1), 16);\n          } else {\n            numeric = parseInt(numeric, 10);\n          }\n          if (numeric > 65535) {\n            numeric -= 65536;\n            return String.fromCharCode(55296 + (numeric >> 10), 56320 + (numeric & 1023));\n          }\n          return asciiMap[numeric] || String.fromCharCode(numeric);\n        }\n        return reverseEntities[all] || namedEntities[all] || nativeDecode(all);\n      });\n    };\n    var Entities = {\n      encodeRaw: encodeRaw,\n      encodeAllRaw: encodeAllRaw,\n      encodeNumeric: encodeNumeric,\n      encodeNamed: encodeNamed,\n      getEncodeFunc: getEncodeFunc,\n      decode: decode\n    };\n\n    var mapCache = {}, dummyObj = {};\n    var makeMap$2 = Tools.makeMap, each$4 = Tools.each, extend$1 = Tools.extend, explode$1 = Tools.explode, inArray$1 = Tools.inArray;\n    var split = function (items, delim) {\n      items = Tools.trim(items);\n      return items ? items.split(delim || ' ') : [];\n    };\n    var compileSchema = function (type) {\n      var schema = {};\n      var globalAttributes, blockContent;\n      var phrasingContent, flowContent, html4BlockContent, html4PhrasingContent;\n      var add = function (name, attributes, children) {\n        var ni, attributesOrder, element;\n        var arrayToMap = function (array, obj) {\n          var map = {};\n          var i, l;\n          for (i = 0, l = array.length; i < l; i++) {\n            map[array[i]] = obj || {};\n          }\n          return map;\n        };\n        children = children || [];\n        attributes = attributes || '';\n        if (typeof children === 'string') {\n          children = split(children);\n        }\n        name = split(name);\n        ni = name.length;\n        while (ni--) {\n          attributesOrder = split([\n            globalAttributes,\n            attributes\n          ].join(' '));\n          element = {\n            attributes: arrayToMap(attributesOrder),\n            attributesOrder: attributesOrder,\n            children: arrayToMap(children, dummyObj)\n          };\n          schema[name[ni]] = element;\n        }\n      };\n      var addAttrs = function (name, attributes) {\n        var ni, schemaItem, i, l;\n        name = split(name);\n        ni = name.length;\n        attributes = split(attributes);\n        while (ni--) {\n          schemaItem = schema[name[ni]];\n          for (i = 0, l = attributes.length; i < l; i++) {\n            schemaItem.attributes[attributes[i]] = {};\n            schemaItem.attributesOrder.push(attributes[i]);\n          }\n        }\n      };\n      if (mapCache[type]) {\n        return mapCache[type];\n      }\n      globalAttributes = 'id accesskey class dir lang style tabindex title role';\n      blockContent = 'address blockquote div dl fieldset form h1 h2 h3 h4 h5 h6 hr menu ol p pre table ul';\n      phrasingContent = 'a abbr b bdo br button cite code del dfn em embed i iframe img input ins kbd ' + 'label map noscript object q s samp script select small span strong sub sup ' + 'textarea u var #text #comment';\n      if (type !== 'html4') {\n        globalAttributes += ' contenteditable contextmenu draggable dropzone ' + 'hidden spellcheck translate';\n        blockContent += ' article aside details dialog figure main header footer hgroup section nav';\n        phrasingContent += ' audio canvas command datalist mark meter output picture ' + 'progress time wbr video ruby bdi keygen';\n      }\n      if (type !== 'html5-strict') {\n        globalAttributes += ' xml:lang';\n        html4PhrasingContent = 'acronym applet basefont big font strike tt';\n        phrasingContent = [\n          phrasingContent,\n          html4PhrasingContent\n        ].join(' ');\n        each$4(split(html4PhrasingContent), function (name) {\n          add(name, '', phrasingContent);\n        });\n        html4BlockContent = 'center dir isindex noframes';\n        blockContent = [\n          blockContent,\n          html4BlockContent\n        ].join(' ');\n        flowContent = [\n          blockContent,\n          phrasingContent\n        ].join(' ');\n        each$4(split(html4BlockContent), function (name) {\n          add(name, '', flowContent);\n        });\n      }\n      flowContent = flowContent || [\n        blockContent,\n        phrasingContent\n      ].join(' ');\n      add('html', 'manifest', 'head body');\n      add('head', '', 'base command link meta noscript script style title');\n      add('title hr noscript br');\n      add('base', 'href target');\n      add('link', 'href rel media hreflang type sizes hreflang');\n      add('meta', 'name http-equiv content charset');\n      add('style', 'media type scoped');\n      add('script', 'src async defer type charset');\n      add('body', 'onafterprint onbeforeprint onbeforeunload onblur onerror onfocus ' + 'onhashchange onload onmessage onoffline ononline onpagehide onpageshow ' + 'onpopstate onresize onscroll onstorage onunload', flowContent);\n      add('address dt dd div caption', '', flowContent);\n      add('h1 h2 h3 h4 h5 h6 pre p abbr code var samp kbd sub sup i b u bdo span legend em strong small s cite dfn', '', phrasingContent);\n      add('blockquote', 'cite', flowContent);\n      add('ol', 'reversed start type', 'li');\n      add('ul', '', 'li');\n      add('li', 'value', flowContent);\n      add('dl', '', 'dt dd');\n      add('a', 'href target rel media hreflang type', phrasingContent);\n      add('q', 'cite', phrasingContent);\n      add('ins del', 'cite datetime', flowContent);\n      add('img', 'src sizes srcset alt usemap ismap width height');\n      add('iframe', 'src name width height', flowContent);\n      add('embed', 'src type width height');\n      add('object', 'data type typemustmatch name usemap form width height', [\n        flowContent,\n        'param'\n      ].join(' '));\n      add('param', 'name value');\n      add('map', 'name', [\n        flowContent,\n        'area'\n      ].join(' '));\n      add('area', 'alt coords shape href target rel media hreflang type');\n      add('table', 'border', 'caption colgroup thead tfoot tbody tr' + (type === 'html4' ? ' col' : ''));\n      add('colgroup', 'span', 'col');\n      add('col', 'span');\n      add('tbody thead tfoot', '', 'tr');\n      add('tr', '', 'td th');\n      add('td', 'colspan rowspan headers', flowContent);\n      add('th', 'colspan rowspan headers scope abbr', flowContent);\n      add('form', 'accept-charset action autocomplete enctype method name novalidate target', flowContent);\n      add('fieldset', 'disabled form name', [\n        flowContent,\n        'legend'\n      ].join(' '));\n      add('label', 'form for', phrasingContent);\n      add('input', 'accept alt autocomplete checked dirname disabled form formaction formenctype formmethod formnovalidate ' + 'formtarget height list max maxlength min multiple name pattern readonly required size src step type value width');\n      add('button', 'disabled form formaction formenctype formmethod formnovalidate formtarget name type value', type === 'html4' ? flowContent : phrasingContent);\n      add('select', 'disabled form multiple name required size', 'option optgroup');\n      add('optgroup', 'disabled label', 'option');\n      add('option', 'disabled label selected value');\n      add('textarea', 'cols dirname disabled form maxlength name readonly required rows wrap');\n      add('menu', 'type label', [\n        flowContent,\n        'li'\n      ].join(' '));\n      add('noscript', '', flowContent);\n      if (type !== 'html4') {\n        add('wbr');\n        add('ruby', '', [\n          phrasingContent,\n          'rt rp'\n        ].join(' '));\n        add('figcaption', '', flowContent);\n        add('mark rt rp summary bdi', '', phrasingContent);\n        add('canvas', 'width height', flowContent);\n        add('video', 'src crossorigin poster preload autoplay mediagroup loop ' + 'muted controls width height buffered', [\n          flowContent,\n          'track source'\n        ].join(' '));\n        add('audio', 'src crossorigin preload autoplay mediagroup loop muted controls ' + 'buffered volume', [\n          flowContent,\n          'track source'\n        ].join(' '));\n        add('picture', '', 'img source');\n        add('source', 'src srcset type media sizes');\n        add('track', 'kind src srclang label default');\n        add('datalist', '', [\n          phrasingContent,\n          'option'\n        ].join(' '));\n        add('article section nav aside main header footer', '', flowContent);\n        add('hgroup', '', 'h1 h2 h3 h4 h5 h6');\n        add('figure', '', [\n          flowContent,\n          'figcaption'\n        ].join(' '));\n        add('time', 'datetime', phrasingContent);\n        add('dialog', 'open', flowContent);\n        add('command', 'type label icon disabled checked radiogroup command');\n        add('output', 'for form name', phrasingContent);\n        add('progress', 'value max', phrasingContent);\n        add('meter', 'value min max low high optimum', phrasingContent);\n        add('details', 'open', [\n          flowContent,\n          'summary'\n        ].join(' '));\n        add('keygen', 'autofocus challenge disabled form keytype name');\n      }\n      if (type !== 'html5-strict') {\n        addAttrs('script', 'language xml:space');\n        addAttrs('style', 'xml:space');\n        addAttrs('object', 'declare classid code codebase codetype archive standby align border hspace vspace');\n        addAttrs('embed', 'align name hspace vspace');\n        addAttrs('param', 'valuetype type');\n        addAttrs('a', 'charset name rev shape coords');\n        addAttrs('br', 'clear');\n        addAttrs('applet', 'codebase archive code object alt name width height align hspace vspace');\n        addAttrs('img', 'name longdesc align border hspace vspace');\n        addAttrs('iframe', 'longdesc frameborder marginwidth marginheight scrolling align');\n        addAttrs('font basefont', 'size color face');\n        addAttrs('input', 'usemap align');\n        addAttrs('select', 'onchange');\n        addAttrs('textarea');\n        addAttrs('h1 h2 h3 h4 h5 h6 div p legend caption', 'align');\n        addAttrs('ul', 'type compact');\n        addAttrs('li', 'type');\n        addAttrs('ol dl menu dir', 'compact');\n        addAttrs('pre', 'width xml:space');\n        addAttrs('hr', 'align noshade size width');\n        addAttrs('isindex', 'prompt');\n        addAttrs('table', 'summary width frame rules cellspacing cellpadding align bgcolor');\n        addAttrs('col', 'width align char charoff valign');\n        addAttrs('colgroup', 'width align char charoff valign');\n        addAttrs('thead', 'align char charoff valign');\n        addAttrs('tr', 'align char charoff valign bgcolor');\n        addAttrs('th', 'axis align char charoff valign nowrap bgcolor width height');\n        addAttrs('form', 'accept');\n        addAttrs('td', 'abbr axis scope align char charoff valign nowrap bgcolor width height');\n        addAttrs('tfoot', 'align char charoff valign');\n        addAttrs('tbody', 'align char charoff valign');\n        addAttrs('area', 'nohref');\n        addAttrs('body', 'background bgcolor text link vlink alink');\n      }\n      if (type !== 'html4') {\n        addAttrs('input button select textarea', 'autofocus');\n        addAttrs('input textarea', 'placeholder');\n        addAttrs('a', 'download');\n        addAttrs('link script img', 'crossorigin');\n        addAttrs('iframe', 'sandbox seamless allowfullscreen');\n      }\n      each$4(split('a form meter progress dfn'), function (name) {\n        if (schema[name]) {\n          delete schema[name].children[name];\n        }\n      });\n      delete schema.caption.children.table;\n      delete schema.script;\n      mapCache[type] = schema;\n      return schema;\n    };\n    var compileElementMap = function (value, mode) {\n      var styles;\n      if (value) {\n        styles = {};\n        if (typeof value === 'string') {\n          value = { '*': value };\n        }\n        each$4(value, function (value, key) {\n          styles[key] = styles[key.toUpperCase()] = mode === 'map' ? makeMap$2(value, /[, ]/) : explode$1(value, /[, ]/);\n        });\n      }\n      return styles;\n    };\n    function Schema(settings) {\n      var elements = {};\n      var children = {};\n      var patternElements = [];\n      var validStyles;\n      var invalidStyles;\n      var schemaItems;\n      var whiteSpaceElementsMap, selfClosingElementsMap, shortEndedElementsMap, boolAttrMap, validClasses;\n      var blockElementsMap, nonEmptyElementsMap, moveCaretBeforeOnEnterElementsMap, textBlockElementsMap, textInlineElementsMap;\n      var customElementsMap = {}, specialElements = {};\n      var createLookupTable = function (option, defaultValue, extendWith) {\n        var value = settings[option];\n        if (!value) {\n          value = mapCache[option];\n          if (!value) {\n            value = makeMap$2(defaultValue, ' ', makeMap$2(defaultValue.toUpperCase(), ' '));\n            value = extend$1(value, extendWith);\n            mapCache[option] = value;\n          }\n        } else {\n          value = makeMap$2(value, /[, ]/, makeMap$2(value.toUpperCase(), /[, ]/));\n        }\n        return value;\n      };\n      settings = settings || {};\n      schemaItems = compileSchema(settings.schema);\n      if (settings.verify_html === false) {\n        settings.valid_elements = '*[*]';\n      }\n      validStyles = compileElementMap(settings.valid_styles);\n      invalidStyles = compileElementMap(settings.invalid_styles, 'map');\n      validClasses = compileElementMap(settings.valid_classes, 'map');\n      whiteSpaceElementsMap = createLookupTable('whitespace_elements', 'pre script noscript style textarea video audio iframe object code');\n      selfClosingElementsMap = createLookupTable('self_closing_elements', 'colgroup dd dt li option p td tfoot th thead tr');\n      shortEndedElementsMap = createLookupTable('short_ended_elements', 'area base basefont br col frame hr img input isindex link ' + 'meta param embed source wbr track');\n      boolAttrMap = createLookupTable('boolean_attributes', 'checked compact declare defer disabled ismap multiple nohref noresize ' + 'noshade nowrap readonly selected autoplay loop controls');\n      nonEmptyElementsMap = createLookupTable('non_empty_elements', 'td th iframe video audio object ' + 'script pre code', shortEndedElementsMap);\n      moveCaretBeforeOnEnterElementsMap = createLookupTable('move_caret_before_on_enter_elements', 'table', nonEmptyElementsMap);\n      textBlockElementsMap = createLookupTable('text_block_elements', 'h1 h2 h3 h4 h5 h6 p div address pre form ' + 'blockquote center dir fieldset header footer article section hgroup aside main nav figure');\n      blockElementsMap = createLookupTable('block_elements', 'hr table tbody thead tfoot ' + 'th tr td li ol ul caption dl dt dd noscript menu isindex option ' + 'datalist select optgroup figcaption details summary', textBlockElementsMap);\n      textInlineElementsMap = createLookupTable('text_inline_elements', 'span strong b em i font strike u var cite ' + 'dfn code mark q sup sub samp');\n      each$4((settings.special || 'script noscript noframes noembed title style textarea xmp').split(' '), function (name) {\n        specialElements[name] = new RegExp('</' + name + '[^>]*>', 'gi');\n      });\n      var patternToRegExp = function (str) {\n        return new RegExp('^' + str.replace(/([?+*])/g, '.$1') + '$');\n      };\n      var addValidElements = function (validElements) {\n        var ei, el, ai, al, matches, element, attr, attrData, elementName, attrName, attrType, attributes, attributesOrder, prefix, outputName, globalAttributes, globalAttributesOrder, key, value;\n        var elementRuleRegExp = /^([#+\\-])?([^\\[!\\/]+)(?:\\/([^\\[!]+))?(?:(!?)\\[([^\\]]+)\\])?$/, attrRuleRegExp = /^([!\\-])?(\\w+[\\\\:]:\\w+|[^=:<]+)?(?:([=:<])(.*))?$/, hasPatternsRegExp = /[*?+]/;\n        if (validElements) {\n          validElements = split(validElements, ',');\n          if (elements['@']) {\n            globalAttributes = elements['@'].attributes;\n            globalAttributesOrder = elements['@'].attributesOrder;\n          }\n          for (ei = 0, el = validElements.length; ei < el; ei++) {\n            matches = elementRuleRegExp.exec(validElements[ei]);\n            if (matches) {\n              prefix = matches[1];\n              elementName = matches[2];\n              outputName = matches[3];\n              attrData = matches[5];\n              attributes = {};\n              attributesOrder = [];\n              element = {\n                attributes: attributes,\n                attributesOrder: attributesOrder\n              };\n              if (prefix === '#') {\n                element.paddEmpty = true;\n              }\n              if (prefix === '-') {\n                element.removeEmpty = true;\n              }\n              if (matches[4] === '!') {\n                element.removeEmptyAttrs = true;\n              }\n              if (globalAttributes) {\n                for (key in globalAttributes) {\n                  attributes[key] = globalAttributes[key];\n                }\n                attributesOrder.push.apply(attributesOrder, globalAttributesOrder);\n              }\n              if (attrData) {\n                attrData = split(attrData, '|');\n                for (ai = 0, al = attrData.length; ai < al; ai++) {\n                  matches = attrRuleRegExp.exec(attrData[ai]);\n                  if (matches) {\n                    attr = {};\n                    attrType = matches[1];\n                    attrName = matches[2].replace(/[\\\\:]:/g, ':');\n                    prefix = matches[3];\n                    value = matches[4];\n                    if (attrType === '!') {\n                      element.attributesRequired = element.attributesRequired || [];\n                      element.attributesRequired.push(attrName);\n                      attr.required = true;\n                    }\n                    if (attrType === '-') {\n                      delete attributes[attrName];\n                      attributesOrder.splice(inArray$1(attributesOrder, attrName), 1);\n                      continue;\n                    }\n                    if (prefix) {\n                      if (prefix === '=') {\n                        element.attributesDefault = element.attributesDefault || [];\n                        element.attributesDefault.push({\n                          name: attrName,\n                          value: value\n                        });\n                        attr.defaultValue = value;\n                      }\n                      if (prefix === ':') {\n                        element.attributesForced = element.attributesForced || [];\n                        element.attributesForced.push({\n                          name: attrName,\n                          value: value\n                        });\n                        attr.forcedValue = value;\n                      }\n                      if (prefix === '<') {\n                        attr.validValues = makeMap$2(value, '?');\n                      }\n                    }\n                    if (hasPatternsRegExp.test(attrName)) {\n                      element.attributePatterns = element.attributePatterns || [];\n                      attr.pattern = patternToRegExp(attrName);\n                      element.attributePatterns.push(attr);\n                    } else {\n                      if (!attributes[attrName]) {\n                        attributesOrder.push(attrName);\n                      }\n                      attributes[attrName] = attr;\n                    }\n                  }\n                }\n              }\n              if (!globalAttributes && elementName === '@') {\n                globalAttributes = attributes;\n                globalAttributesOrder = attributesOrder;\n              }\n              if (outputName) {\n                element.outputName = elementName;\n                elements[outputName] = element;\n              }\n              if (hasPatternsRegExp.test(elementName)) {\n                element.pattern = patternToRegExp(elementName);\n                patternElements.push(element);\n              } else {\n                elements[elementName] = element;\n              }\n            }\n          }\n        }\n      };\n      var setValidElements = function (validElements) {\n        elements = {};\n        patternElements = [];\n        addValidElements(validElements);\n        each$4(schemaItems, function (element, name) {\n          children[name] = element.children;\n        });\n      };\n      var addCustomElements = function (customElements) {\n        var customElementRegExp = /^(~)?(.+)$/;\n        if (customElements) {\n          mapCache.text_block_elements = mapCache.block_elements = null;\n          each$4(split(customElements, ','), function (rule) {\n            var matches = customElementRegExp.exec(rule), inline = matches[1] === '~', cloneName = inline ? 'span' : 'div', name = matches[2];\n            children[name] = children[cloneName];\n            customElementsMap[name] = cloneName;\n            if (!inline) {\n              blockElementsMap[name.toUpperCase()] = {};\n              blockElementsMap[name] = {};\n            }\n            if (!elements[name]) {\n              var customRule = elements[cloneName];\n              customRule = extend$1({}, customRule);\n              delete customRule.removeEmptyAttrs;\n              delete customRule.removeEmpty;\n              elements[name] = customRule;\n            }\n            each$4(children, function (element, elmName) {\n              if (element[cloneName]) {\n                children[elmName] = element = extend$1({}, children[elmName]);\n                element[name] = element[cloneName];\n              }\n            });\n          });\n        }\n      };\n      var addValidChildren = function (validChildren) {\n        var childRuleRegExp = /^([+\\-]?)(\\w+)\\[([^\\]]+)\\]$/;\n        mapCache[settings.schema] = null;\n        if (validChildren) {\n          each$4(split(validChildren, ','), function (rule) {\n            var matches = childRuleRegExp.exec(rule);\n            var parent, prefix;\n            if (matches) {\n              prefix = matches[1];\n              if (prefix) {\n                parent = children[matches[2]];\n              } else {\n                parent = children[matches[2]] = { '#comment': {} };\n              }\n              parent = children[matches[2]];\n              each$4(split(matches[3], '|'), function (child) {\n                if (prefix === '-') {\n                  delete parent[child];\n                } else {\n                  parent[child] = {};\n                }\n              });\n            }\n          });\n        }\n      };\n      var getElementRule = function (name) {\n        var element = elements[name], i;\n        if (element) {\n          return element;\n        }\n        i = patternElements.length;\n        while (i--) {\n          element = patternElements[i];\n          if (element.pattern.test(name)) {\n            return element;\n          }\n        }\n      };\n      if (!settings.valid_elements) {\n        each$4(schemaItems, function (element, name) {\n          elements[name] = {\n            attributes: element.attributes,\n            attributesOrder: element.attributesOrder\n          };\n          children[name] = element.children;\n        });\n        if (settings.schema !== 'html5') {\n          each$4(split('strong/b em/i'), function (item) {\n            item = split(item, '/');\n            elements[item[1]].outputName = item[0];\n          });\n        }\n        each$4(split('ol ul sub sup blockquote span font a table tbody tr strong em b i'), function (name) {\n          if (elements[name]) {\n            elements[name].removeEmpty = true;\n          }\n        });\n        each$4(split('p h1 h2 h3 h4 h5 h6 th td pre div address caption li'), function (name) {\n          elements[name].paddEmpty = true;\n        });\n        each$4(split('span'), function (name) {\n          elements[name].removeEmptyAttrs = true;\n        });\n      } else {\n        setValidElements(settings.valid_elements);\n      }\n      addCustomElements(settings.custom_elements);\n      addValidChildren(settings.valid_children);\n      addValidElements(settings.extended_valid_elements);\n      addValidChildren('+ol[ul|ol],+ul[ul|ol]');\n      each$4({\n        dd: 'dl',\n        dt: 'dl',\n        li: 'ul ol',\n        td: 'tr',\n        th: 'tr',\n        tr: 'tbody thead tfoot',\n        tbody: 'table',\n        thead: 'table',\n        tfoot: 'table',\n        legend: 'fieldset',\n        area: 'map',\n        param: 'video audio object'\n      }, function (parents, item) {\n        if (elements[item]) {\n          elements[item].parentsRequired = split(parents);\n        }\n      });\n      if (settings.invalid_elements) {\n        each$4(explode$1(settings.invalid_elements), function (item) {\n          if (elements[item]) {\n            delete elements[item];\n          }\n        });\n      }\n      if (!getElementRule('span')) {\n        addValidElements('span[!data-mce-type|*]');\n      }\n      var getValidStyles = function () {\n        return validStyles;\n      };\n      var getInvalidStyles = function () {\n        return invalidStyles;\n      };\n      var getValidClasses = function () {\n        return validClasses;\n      };\n      var getBoolAttrs = function () {\n        return boolAttrMap;\n      };\n      var getBlockElements = function () {\n        return blockElementsMap;\n      };\n      var getTextBlockElements = function () {\n        return textBlockElementsMap;\n      };\n      var getTextInlineElements = function () {\n        return textInlineElementsMap;\n      };\n      var getShortEndedElements = function () {\n        return shortEndedElementsMap;\n      };\n      var getSelfClosingElements = function () {\n        return selfClosingElementsMap;\n      };\n      var getNonEmptyElements = function () {\n        return nonEmptyElementsMap;\n      };\n      var getMoveCaretBeforeOnEnterElements = function () {\n        return moveCaretBeforeOnEnterElementsMap;\n      };\n      var getWhiteSpaceElements = function () {\n        return whiteSpaceElementsMap;\n      };\n      var getSpecialElements = function () {\n        return specialElements;\n      };\n      var isValidChild = function (name, child) {\n        var parent = children[name.toLowerCase()];\n        return !!(parent && parent[child.toLowerCase()]);\n      };\n      var isValid = function (name, attr) {\n        var attrPatterns, i;\n        var rule = getElementRule(name);\n        if (rule) {\n          if (attr) {\n            if (rule.attributes[attr]) {\n              return true;\n            }\n            attrPatterns = rule.attributePatterns;\n            if (attrPatterns) {\n              i = attrPatterns.length;\n              while (i--) {\n                if (attrPatterns[i].pattern.test(name)) {\n                  return true;\n                }\n              }\n            }\n          } else {\n            return true;\n          }\n        }\n        return false;\n      };\n      var getCustomElements = function () {\n        return customElementsMap;\n      };\n      return {\n        children: children,\n        elements: elements,\n        getValidStyles: getValidStyles,\n        getValidClasses: getValidClasses,\n        getBlockElements: getBlockElements,\n        getInvalidStyles: getInvalidStyles,\n        getShortEndedElements: getShortEndedElements,\n        getTextBlockElements: getTextBlockElements,\n        getTextInlineElements: getTextInlineElements,\n        getBoolAttrs: getBoolAttrs,\n        getElementRule: getElementRule,\n        getSelfClosingElements: getSelfClosingElements,\n        getNonEmptyElements: getNonEmptyElements,\n        getMoveCaretBeforeOnEnterElements: getMoveCaretBeforeOnEnterElements,\n        getWhiteSpaceElements: getWhiteSpaceElements,\n        getSpecialElements: getSpecialElements,\n        isValidChild: isValidChild,\n        isValid: isValid,\n        getCustomElements: getCustomElements,\n        addValidElements: addValidElements,\n        setValidElements: setValidElements,\n        addCustomElements: addCustomElements,\n        addValidChildren: addValidChildren\n      };\n    }\n\n    var toHex = function (match, r, g, b) {\n      var hex = function (val) {\n        val = parseInt(val, 10).toString(16);\n        return val.length > 1 ? val : '0' + val;\n      };\n      return '#' + hex(r) + hex(g) + hex(b);\n    };\n    function Styles(settings, schema) {\n      var rgbRegExp = /rgb\\s*\\(\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*\\)/gi;\n      var urlOrStrRegExp = /(?:url(?:(?:\\(\\s*\\\"([^\\\"]+)\\\"\\s*\\))|(?:\\(\\s*\\'([^\\']+)\\'\\s*\\))|(?:\\(\\s*([^)\\s]+)\\s*\\))))|(?:\\'([^\\']+)\\')|(?:\\\"([^\\\"]+)\\\")/gi;\n      var styleRegExp = /\\s*([^:]+):\\s*([^;]+);?/g;\n      var trimRightRegExp = /\\s+$/;\n      var i;\n      var encodingLookup = {};\n      var encodingItems;\n      var validStyles;\n      var invalidStyles;\n      var invisibleChar = '\\uFEFF';\n      settings = settings || {};\n      if (schema) {\n        validStyles = schema.getValidStyles();\n        invalidStyles = schema.getInvalidStyles();\n      }\n      encodingItems = ('\\\\\" \\\\\\' \\\\; \\\\: ; : ' + invisibleChar).split(' ');\n      for (i = 0; i < encodingItems.length; i++) {\n        encodingLookup[encodingItems[i]] = invisibleChar + i;\n        encodingLookup[invisibleChar + i] = encodingItems[i];\n      }\n      return {\n        toHex: function (color) {\n          return color.replace(rgbRegExp, toHex);\n        },\n        parse: function (css) {\n          var styles = {};\n          var matches, name, value, isEncoded;\n          var urlConverter = settings.url_converter;\n          var urlConverterScope = settings.url_converter_scope || this;\n          var compress = function (prefix, suffix, noJoin) {\n            var top, right, bottom, left;\n            top = styles[prefix + '-top' + suffix];\n            if (!top) {\n              return;\n            }\n            right = styles[prefix + '-right' + suffix];\n            if (!right) {\n              return;\n            }\n            bottom = styles[prefix + '-bottom' + suffix];\n            if (!bottom) {\n              return;\n            }\n            left = styles[prefix + '-left' + suffix];\n            if (!left) {\n              return;\n            }\n            var box = [\n              top,\n              right,\n              bottom,\n              left\n            ];\n            i = box.length - 1;\n            while (i--) {\n              if (box[i] !== box[i + 1]) {\n                break;\n              }\n            }\n            if (i > -1 && noJoin) {\n              return;\n            }\n            styles[prefix + suffix] = i === -1 ? box[0] : box.join(' ');\n            delete styles[prefix + '-top' + suffix];\n            delete styles[prefix + '-right' + suffix];\n            delete styles[prefix + '-bottom' + suffix];\n            delete styles[prefix + '-left' + suffix];\n          };\n          var canCompress = function (key) {\n            var value = styles[key], i;\n            if (!value) {\n              return;\n            }\n            value = value.split(' ');\n            i = value.length;\n            while (i--) {\n              if (value[i] !== value[0]) {\n                return false;\n              }\n            }\n            styles[key] = value[0];\n            return true;\n          };\n          var compress2 = function (target, a, b, c) {\n            if (!canCompress(a)) {\n              return;\n            }\n            if (!canCompress(b)) {\n              return;\n            }\n            if (!canCompress(c)) {\n              return;\n            }\n            styles[target] = styles[a] + ' ' + styles[b] + ' ' + styles[c];\n            delete styles[a];\n            delete styles[b];\n            delete styles[c];\n          };\n          var encode = function (str) {\n            isEncoded = true;\n            return encodingLookup[str];\n          };\n          var decode = function (str, keepSlashes) {\n            if (isEncoded) {\n              str = str.replace(/\\uFEFF[0-9]/g, function (str) {\n                return encodingLookup[str];\n              });\n            }\n            if (!keepSlashes) {\n              str = str.replace(/\\\\([\\'\\\";:])/g, '$1');\n            }\n            return str;\n          };\n          var decodeSingleHexSequence = function (escSeq) {\n            return String.fromCharCode(parseInt(escSeq.slice(1), 16));\n          };\n          var decodeHexSequences = function (value) {\n            return value.replace(/\\\\[0-9a-f]+/gi, decodeSingleHexSequence);\n          };\n          var processUrl = function (match, url, url2, url3, str, str2) {\n            str = str || str2;\n            if (str) {\n              str = decode(str);\n              return '\\'' + str.replace(/\\'/g, '\\\\\\'') + '\\'';\n            }\n            url = decode(url || url2 || url3);\n            if (!settings.allow_script_urls) {\n              var scriptUrl = url.replace(/[\\s\\r\\n]+/g, '');\n              if (/(java|vb)script:/i.test(scriptUrl)) {\n                return '';\n              }\n              if (!settings.allow_svg_data_urls && /^data:image\\/svg/i.test(scriptUrl)) {\n                return '';\n              }\n            }\n            if (urlConverter) {\n              url = urlConverter.call(urlConverterScope, url, 'style');\n            }\n            return 'url(\\'' + url.replace(/\\'/g, '\\\\\\'') + '\\')';\n          };\n          if (css) {\n            css = css.replace(/[\\u0000-\\u001F]/g, '');\n            css = css.replace(/\\\\[\\\"\\';:\\uFEFF]/g, encode).replace(/\\\"[^\\\"]+\\\"|\\'[^\\']+\\'/g, function (str) {\n              return str.replace(/[;:]/g, encode);\n            });\n            while (matches = styleRegExp.exec(css)) {\n              styleRegExp.lastIndex = matches.index + matches[0].length;\n              name = matches[1].replace(trimRightRegExp, '').toLowerCase();\n              value = matches[2].replace(trimRightRegExp, '');\n              if (name && value) {\n                name = decodeHexSequences(name);\n                value = decodeHexSequences(value);\n                if (name.indexOf(invisibleChar) !== -1 || name.indexOf('\"') !== -1) {\n                  continue;\n                }\n                if (!settings.allow_script_urls && (name === 'behavior' || /expression\\s*\\(|\\/\\*|\\*\\//.test(value))) {\n                  continue;\n                }\n                if (name === 'font-weight' && value === '700') {\n                  value = 'bold';\n                } else if (name === 'color' || name === 'background-color') {\n                  value = value.toLowerCase();\n                }\n                value = value.replace(rgbRegExp, toHex);\n                value = value.replace(urlOrStrRegExp, processUrl);\n                styles[name] = isEncoded ? decode(value, true) : value;\n              }\n            }\n            compress('border', '', true);\n            compress('border', '-width');\n            compress('border', '-color');\n            compress('border', '-style');\n            compress('padding', '');\n            compress('margin', '');\n            compress2('border', 'border-width', 'border-style', 'border-color');\n            if (styles.border === 'medium none') {\n              delete styles.border;\n            }\n            if (styles['border-image'] === 'none') {\n              delete styles['border-image'];\n            }\n          }\n          return styles;\n        },\n        serialize: function (styles, elementName) {\n          var css = '', name, value;\n          var serializeStyles = function (name) {\n            var styleList, i, l, value;\n            styleList = validStyles[name];\n            if (styleList) {\n              for (i = 0, l = styleList.length; i < l; i++) {\n                name = styleList[i];\n                value = styles[name];\n                if (value) {\n                  css += (css.length > 0 ? ' ' : '') + name + ': ' + value + ';';\n                }\n              }\n            }\n          };\n          var isValid = function (name, elementName) {\n            var styleMap;\n            styleMap = invalidStyles['*'];\n            if (styleMap && styleMap[name]) {\n              return false;\n            }\n            styleMap = invalidStyles[elementName];\n            if (styleMap && styleMap[name]) {\n              return false;\n            }\n            return true;\n          };\n          if (elementName && validStyles) {\n            serializeStyles('*');\n            serializeStyles(elementName);\n          } else {\n            for (name in styles) {\n              value = styles[name];\n              if (value && (!invalidStyles || isValid(name, elementName))) {\n                css += (css.length > 0 ? ' ' : '') + name + ': ' + value + ';';\n              }\n            }\n          }\n          return css;\n        }\n      };\n    }\n\n    var each$5 = Tools.each;\n    var grep$1 = Tools.grep;\n    var isIE = Env.ie;\n    var simpleSelectorRe = /^([a-z0-9],?)+$/i;\n    var whiteSpaceRegExp$2 = /^[ \\t\\r\\n]*$/;\n    var setupAttrHooks = function (styles, settings, getContext) {\n      var attrHooks = {};\n      var keepValues = settings.keep_values;\n      var keepUrlHook = {\n        set: function ($elm, value, name$$1) {\n          if (settings.url_converter) {\n            value = settings.url_converter.call(settings.url_converter_scope || getContext(), value, name$$1, $elm[0]);\n          }\n          $elm.attr('data-mce-' + name$$1, value).attr(name$$1, value);\n        },\n        get: function ($elm, name$$1) {\n          return $elm.attr('data-mce-' + name$$1) || $elm.attr(name$$1);\n        }\n      };\n      attrHooks = {\n        style: {\n          set: function ($elm, value) {\n            if (value !== null && typeof value === 'object') {\n              $elm.css(value);\n              return;\n            }\n            if (keepValues) {\n              $elm.attr('data-mce-style', value);\n            }\n            $elm.attr('style', value);\n          },\n          get: function ($elm) {\n            var value = $elm.attr('data-mce-style') || $elm.attr('style');\n            value = styles.serialize(styles.parse(value), $elm[0].nodeName);\n            return value;\n          }\n        }\n      };\n      if (keepValues) {\n        attrHooks.href = attrHooks.src = keepUrlHook;\n      }\n      return attrHooks;\n    };\n    var updateInternalStyleAttr = function (styles, $elm) {\n      var rawValue = $elm.attr('style');\n      var value = styles.serialize(styles.parse(rawValue), $elm[0].nodeName);\n      if (!value) {\n        value = null;\n      }\n      $elm.attr('data-mce-style', value);\n    };\n    var findNodeIndex = function (node, normalized) {\n      var idx = 0, lastNodeType, nodeType;\n      if (node) {\n        for (lastNodeType = node.nodeType, node = node.previousSibling; node; node = node.previousSibling) {\n          nodeType = node.nodeType;\n          if (normalized && nodeType === 3) {\n            if (nodeType === lastNodeType || !node.nodeValue.length) {\n              continue;\n            }\n          }\n          idx++;\n          lastNodeType = nodeType;\n        }\n      }\n      return idx;\n    };\n    function DOMUtils(doc, settings) {\n      var _this = this;\n      if (settings === void 0) {\n        settings = {};\n      }\n      var attrHooks;\n      var addedStyles = {};\n      var win = window;\n      var files = {};\n      var counter = 0;\n      var stdMode = true;\n      var boxModel = true;\n      var styleSheetLoader = StyleSheetLoader(doc, { contentCssCors: settings.contentCssCors });\n      var boundEvents = [];\n      var schema = settings.schema ? settings.schema : Schema({});\n      var styles = Styles({\n        url_converter: settings.url_converter,\n        url_converter_scope: settings.url_converter_scope\n      }, settings.schema);\n      var events = settings.ownEvents ? new EventUtils(settings.proxy) : EventUtils.Event;\n      var blockElementsMap = schema.getBlockElements();\n      var $ = DomQuery.overrideDefaults(function () {\n        return {\n          context: doc,\n          element: self$$1.getRoot()\n        };\n      });\n      var isBlock = function (node) {\n        if (typeof node === 'string') {\n          return !!blockElementsMap[node];\n        } else if (node) {\n          var type = node.nodeType;\n          if (type) {\n            return !!(type === 1 && blockElementsMap[node.nodeName]);\n          }\n        }\n        return false;\n      };\n      var get = function (elm) {\n        if (elm && doc && typeof elm === 'string') {\n          var node = doc.getElementById(elm);\n          if (node && node.id !== elm) {\n            return doc.getElementsByName(elm)[1];\n          } else {\n            return node;\n          }\n        }\n        return elm;\n      };\n      var $$ = function (elm) {\n        if (typeof elm === 'string') {\n          elm = get(elm);\n        }\n        return $(elm);\n      };\n      var getAttrib = function (elm, name$$1, defaultVal) {\n        var hook, value;\n        var $elm = $$(elm);\n        if ($elm.length) {\n          hook = attrHooks[name$$1];\n          if (hook && hook.get) {\n            value = hook.get($elm, name$$1);\n          } else {\n            value = $elm.attr(name$$1);\n          }\n        }\n        if (typeof value === 'undefined') {\n          value = defaultVal || '';\n        }\n        return value;\n      };\n      var getAttribs = function (elm) {\n        var node = get(elm);\n        if (!node) {\n          return [];\n        }\n        return node.attributes;\n      };\n      var setAttrib = function (elm, name$$1, value) {\n        var originalValue, hook;\n        if (value === '') {\n          value = null;\n        }\n        var $elm = $$(elm);\n        originalValue = $elm.attr(name$$1);\n        if (!$elm.length) {\n          return;\n        }\n        hook = attrHooks[name$$1];\n        if (hook && hook.set) {\n          hook.set($elm, value, name$$1);\n        } else {\n          $elm.attr(name$$1, value);\n        }\n        if (originalValue !== value && settings.onSetAttrib) {\n          settings.onSetAttrib({\n            attrElm: $elm,\n            attrName: name$$1,\n            attrValue: value\n          });\n        }\n      };\n      var clone = function (node, deep) {\n        if (!isIE || node.nodeType !== 1 || deep) {\n          return node.cloneNode(deep);\n        }\n        if (!deep) {\n          var clone_1 = doc.createElement(node.nodeName);\n          each$5(getAttribs(node), function (attr) {\n            setAttrib(clone_1, attr.nodeName, getAttrib(node, attr.nodeName));\n          });\n          return clone_1;\n        }\n        return null;\n      };\n      var getRoot = function () {\n        return settings.root_element || doc.body;\n      };\n      var getViewPort = function (argWin) {\n        var actWin = !argWin ? win : argWin;\n        var doc = actWin.document;\n        var rootElm = boxModel ? doc.documentElement : doc.body;\n        return {\n          x: actWin.pageXOffset || rootElm.scrollLeft,\n          y: actWin.pageYOffset || rootElm.scrollTop,\n          w: actWin.innerWidth || rootElm.clientWidth,\n          h: actWin.innerHeight || rootElm.clientHeight\n        };\n      };\n      var getPos = function (elm, rootElm) {\n        return Position.getPos(doc.body, get(elm), rootElm);\n      };\n      var setStyle = function (elm, name$$1, value) {\n        var $elm = $$(elm).css(name$$1, value);\n        if (settings.update_styles) {\n          updateInternalStyleAttr(styles, $elm);\n        }\n      };\n      var setStyles = function (elm, stylesArg) {\n        var $elm = $$(elm).css(stylesArg);\n        if (settings.update_styles) {\n          updateInternalStyleAttr(styles, $elm);\n        }\n      };\n      var getStyle = function (elm, name$$1, computed) {\n        var $elm = $$(elm);\n        if (computed) {\n          return $elm.css(name$$1);\n        }\n        name$$1 = name$$1.replace(/-(\\D)/g, function (a, b) {\n          return b.toUpperCase();\n        });\n        if (name$$1 === 'float') {\n          name$$1 = Env.ie && Env.ie < 12 ? 'styleFloat' : 'cssFloat';\n        }\n        return $elm[0] && $elm[0].style ? $elm[0].style[name$$1] : undefined;\n      };\n      var getSize = function (elm) {\n        var w, h;\n        elm = get(elm);\n        w = getStyle(elm, 'width');\n        h = getStyle(elm, 'height');\n        if (w.indexOf('px') === -1) {\n          w = 0;\n        }\n        if (h.indexOf('px') === -1) {\n          h = 0;\n        }\n        return {\n          w: parseInt(w, 10) || elm.offsetWidth || elm.clientWidth,\n          h: parseInt(h, 10) || elm.offsetHeight || elm.clientHeight\n        };\n      };\n      var getRect = function (elm) {\n        var pos, size;\n        elm = get(elm);\n        pos = getPos(elm);\n        size = getSize(elm);\n        return {\n          x: pos.x,\n          y: pos.y,\n          w: size.w,\n          h: size.h\n        };\n      };\n      var is = function (elm, selector) {\n        var i;\n        if (!elm) {\n          return false;\n        }\n        if (!Array.isArray(elm)) {\n          if (selector === '*') {\n            return elm.nodeType === 1;\n          }\n          if (simpleSelectorRe.test(selector)) {\n            var selectors = selector.toLowerCase().split(/,/);\n            var elmName = elm.nodeName.toLowerCase();\n            for (i = selectors.length - 1; i >= 0; i--) {\n              if (selectors[i] === elmName) {\n                return true;\n              }\n            }\n            return false;\n          }\n          if (elm.nodeType && elm.nodeType !== 1) {\n            return false;\n          }\n        }\n        var elms = !Array.isArray(elm) ? [elm] : elm;\n        return Sizzle(selector, elms[0].ownerDocument || elms[0], null, elms).length > 0;\n      };\n      var getParents = function (elm, selector, root, collect) {\n        var result = [];\n        var selectorVal;\n        var node = get(elm);\n        collect = collect === undefined;\n        root = root || (getRoot().nodeName !== 'BODY' ? getRoot().parentNode : null);\n        if (Tools.is(selector, 'string')) {\n          selectorVal = selector;\n          if (selector === '*') {\n            selector = function (node) {\n              return node.nodeType === 1;\n            };\n          } else {\n            selector = function (node) {\n              return is(node, selectorVal);\n            };\n          }\n        }\n        while (node) {\n          if (node === root || !node.nodeType || node.nodeType === 9) {\n            break;\n          }\n          if (!selector || typeof selector === 'function' && selector(node)) {\n            if (collect) {\n              result.push(node);\n            } else {\n              return [node];\n            }\n          }\n          node = node.parentNode;\n        }\n        return collect ? result : null;\n      };\n      var getParent = function (node, selector, root) {\n        var parents = getParents(node, selector, root, false);\n        return parents && parents.length > 0 ? parents[0] : null;\n      };\n      var _findSib = function (node, selector, name$$1) {\n        var func = selector;\n        if (node) {\n          if (typeof selector === 'string') {\n            func = function (node) {\n              return is(node, selector);\n            };\n          }\n          for (node = node[name$$1]; node; node = node[name$$1]) {\n            if (typeof func === 'function' && func(node)) {\n              return node;\n            }\n          }\n        }\n        return null;\n      };\n      var getNext = function (node, selector) {\n        return _findSib(node, selector, 'nextSibling');\n      };\n      var getPrev = function (node, selector) {\n        return _findSib(node, selector, 'previousSibling');\n      };\n      var select = function (selector, scope) {\n        return Sizzle(selector, get(scope) || settings.root_element || doc, []);\n      };\n      var run = function (elm, func, scope) {\n        var result;\n        var node = typeof elm === 'string' ? get(elm) : elm;\n        if (!node) {\n          return false;\n        }\n        if (Tools.isArray(node) && (node.length || node.length === 0)) {\n          result = [];\n          each$5(node, function (elm, i) {\n            if (elm) {\n              if (typeof elm === 'string') {\n                elm = get(elm);\n              }\n              result.push(func.call(scope, elm, i));\n            }\n          });\n          return result;\n        }\n        var context = scope ? scope : _this;\n        return func.call(context, node);\n      };\n      var setAttribs = function (elm, attrs) {\n        $$(elm).each(function (i, node) {\n          each$5(attrs, function (value, name$$1) {\n            setAttrib(node, name$$1, value);\n          });\n        });\n      };\n      var setHTML = function (elm, html) {\n        var $elm = $$(elm);\n        if (isIE) {\n          $elm.each(function (i, target) {\n            if (target.canHaveHTML === false) {\n              return;\n            }\n            while (target.firstChild) {\n              target.removeChild(target.firstChild);\n            }\n            try {\n              target.innerHTML = '<br>' + html;\n              target.removeChild(target.firstChild);\n            } catch (ex) {\n              DomQuery('<div></div>').html('<br>' + html).contents().slice(1).appendTo(target);\n            }\n            return html;\n          });\n        } else {\n          $elm.html(html);\n        }\n      };\n      var add = function (parentElm, name$$1, attrs, html, create) {\n        return run(parentElm, function (parentElm) {\n          var newElm = typeof name$$1 === 'string' ? doc.createElement(name$$1) : name$$1;\n          setAttribs(newElm, attrs);\n          if (html) {\n            if (typeof html !== 'string' && html.nodeType) {\n              newElm.appendChild(html);\n            } else if (typeof html === 'string') {\n              setHTML(newElm, html);\n            }\n          }\n          return !create ? parentElm.appendChild(newElm) : newElm;\n        });\n      };\n      var create = function (name$$1, attrs, html) {\n        return add(doc.createElement(name$$1), name$$1, attrs, html, true);\n      };\n      var decode = Entities.decode;\n      var encode = Entities.encodeAllRaw;\n      var createHTML = function (name$$1, attrs, html) {\n        var outHtml = '', key;\n        outHtml += '<' + name$$1;\n        for (key in attrs) {\n          if (attrs.hasOwnProperty(key) && attrs[key] !== null && typeof attrs[key] !== 'undefined') {\n            outHtml += ' ' + key + '=\"' + encode(attrs[key]) + '\"';\n          }\n        }\n        if (typeof html !== 'undefined') {\n          return outHtml + '>' + html + '</' + name$$1 + '>';\n        }\n        return outHtml + ' />';\n      };\n      var createFragment = function (html) {\n        var node;\n        var container = doc.createElement('div');\n        var frag = doc.createDocumentFragment();\n        if (html) {\n          container.innerHTML = html;\n        }\n        while (node = container.firstChild) {\n          frag.appendChild(node);\n        }\n        return frag;\n      };\n      var remove = function (node, keepChildren) {\n        var $node = $$(node);\n        if (keepChildren) {\n          $node.each(function () {\n            var child;\n            while (child = this.firstChild) {\n              if (child.nodeType === 3 && child.data.length === 0) {\n                this.removeChild(child);\n              } else {\n                this.parentNode.insertBefore(child, this);\n              }\n            }\n          }).remove();\n        } else {\n          $node.remove();\n        }\n        return $node.length > 1 ? $node.toArray() : $node[0];\n      };\n      var removeAllAttribs = function (e) {\n        return run(e, function (e) {\n          var i;\n          var attrs = e.attributes;\n          for (i = attrs.length - 1; i >= 0; i--) {\n            e.removeAttributeNode(attrs.item(i));\n          }\n        });\n      };\n      var parseStyle = function (cssText) {\n        return styles.parse(cssText);\n      };\n      var serializeStyle = function (stylesArg, name$$1) {\n        return styles.serialize(stylesArg, name$$1);\n      };\n      var addStyle = function (cssText) {\n        var head, styleElm;\n        if (self$$1 !== DOMUtils.DOM && doc === document) {\n          if (addedStyles[cssText]) {\n            return;\n          }\n          addedStyles[cssText] = true;\n        }\n        styleElm = doc.getElementById('mceDefaultStyles');\n        if (!styleElm) {\n          styleElm = doc.createElement('style');\n          styleElm.id = 'mceDefaultStyles';\n          styleElm.type = 'text/css';\n          head = doc.getElementsByTagName('head')[0];\n          if (head.firstChild) {\n            head.insertBefore(styleElm, head.firstChild);\n          } else {\n            head.appendChild(styleElm);\n          }\n        }\n        if (styleElm.styleSheet) {\n          styleElm.styleSheet.cssText += cssText;\n        } else {\n          styleElm.appendChild(doc.createTextNode(cssText));\n        }\n      };\n      var loadCSS = function (url) {\n        var head;\n        if (self$$1 !== DOMUtils.DOM && doc === document) {\n          DOMUtils.DOM.loadCSS(url);\n          return;\n        }\n        if (!url) {\n          url = '';\n        }\n        head = doc.getElementsByTagName('head')[0];\n        each$5(url.split(','), function (url) {\n          var link;\n          url = Tools._addCacheSuffix(url);\n          if (files[url]) {\n            return;\n          }\n          files[url] = true;\n          link = create('link', {\n            rel: 'stylesheet',\n            href: url\n          });\n          head.appendChild(link);\n        });\n      };\n      var toggleClass = function (elm, cls, state) {\n        $$(elm).toggleClass(cls, state).each(function () {\n          if (this.className === '') {\n            DomQuery(this).attr('class', null);\n          }\n        });\n      };\n      var addClass = function (elm, cls) {\n        $$(elm).addClass(cls);\n      };\n      var removeClass = function (elm, cls) {\n        toggleClass(elm, cls, false);\n      };\n      var hasClass = function (elm, cls) {\n        return $$(elm).hasClass(cls);\n      };\n      var show = function (elm) {\n        $$(elm).show();\n      };\n      var hide = function (elm) {\n        $$(elm).hide();\n      };\n      var isHidden = function (elm) {\n        return $$(elm).css('display') === 'none';\n      };\n      var uniqueId = function (prefix) {\n        return (!prefix ? 'mce_' : prefix) + counter++;\n      };\n      var getOuterHTML = function (elm) {\n        var node = typeof elm === 'string' ? get(elm) : elm;\n        return NodeType.isElement(node) ? node.outerHTML : DomQuery('<div></div>').append(DomQuery(node).clone()).html();\n      };\n      var setOuterHTML = function (elm, html) {\n        $$(elm).each(function () {\n          try {\n            if ('outerHTML' in this) {\n              this.outerHTML = html;\n              return;\n            }\n          } catch (ex) {\n          }\n          remove(DomQuery(this).html(html), true);\n        });\n      };\n      var insertAfter = function (node, reference) {\n        var referenceNode = get(reference);\n        return run(node, function (node) {\n          var parent$$1, nextSibling;\n          parent$$1 = referenceNode.parentNode;\n          nextSibling = referenceNode.nextSibling;\n          if (nextSibling) {\n            parent$$1.insertBefore(node, nextSibling);\n          } else {\n            parent$$1.appendChild(node);\n          }\n          return node;\n        });\n      };\n      var replace = function (newElm, oldElm, keepChildren) {\n        return run(oldElm, function (oldElm) {\n          if (Tools.is(oldElm, 'array')) {\n            newElm = newElm.cloneNode(true);\n          }\n          if (keepChildren) {\n            each$5(grep$1(oldElm.childNodes), function (node) {\n              newElm.appendChild(node);\n            });\n          }\n          return oldElm.parentNode.replaceChild(newElm, oldElm);\n        });\n      };\n      var rename = function (elm, name$$1) {\n        var newElm;\n        if (elm.nodeName !== name$$1.toUpperCase()) {\n          newElm = create(name$$1);\n          each$5(getAttribs(elm), function (attrNode) {\n            setAttrib(newElm, attrNode.nodeName, getAttrib(elm, attrNode.nodeName));\n          });\n          replace(newElm, elm, true);\n        }\n        return newElm || elm;\n      };\n      var findCommonAncestor = function (a, b) {\n        var ps = a, pe;\n        while (ps) {\n          pe = b;\n          while (pe && ps !== pe) {\n            pe = pe.parentNode;\n          }\n          if (ps === pe) {\n            break;\n          }\n          ps = ps.parentNode;\n        }\n        if (!ps && a.ownerDocument) {\n          return a.ownerDocument.documentElement;\n        }\n        return ps;\n      };\n      var toHex = function (rgbVal) {\n        return styles.toHex(Tools.trim(rgbVal));\n      };\n      var isEmpty = function (node, elements) {\n        var i, attributes, type, whitespace, walker, name$$1, brCount = 0;\n        node = node.firstChild;\n        if (node) {\n          walker = new TreeWalker(node, node.parentNode);\n          elements = elements || (schema ? schema.getNonEmptyElements() : null);\n          whitespace = schema ? schema.getWhiteSpaceElements() : {};\n          do {\n            type = node.nodeType;\n            if (NodeType.isElement(node)) {\n              var bogusVal = node.getAttribute('data-mce-bogus');\n              if (bogusVal) {\n                node = walker.next(bogusVal === 'all');\n                continue;\n              }\n              name$$1 = node.nodeName.toLowerCase();\n              if (elements && elements[name$$1]) {\n                if (name$$1 === 'br') {\n                  brCount++;\n                  node = walker.next();\n                  continue;\n                }\n                return false;\n              }\n              attributes = getAttribs(node);\n              i = attributes.length;\n              while (i--) {\n                name$$1 = attributes[i].nodeName;\n                if (name$$1 === 'name' || name$$1 === 'data-mce-bookmark') {\n                  return false;\n                }\n              }\n            }\n            if (type === 8) {\n              return false;\n            }\n            if (type === 3 && !whiteSpaceRegExp$2.test(node.nodeValue)) {\n              return false;\n            }\n            if (type === 3 && node.parentNode && whitespace[node.parentNode.nodeName] && whiteSpaceRegExp$2.test(node.nodeValue)) {\n              return false;\n            }\n            node = walker.next();\n          } while (node);\n        }\n        return brCount <= 1;\n      };\n      var createRng = function () {\n        return doc.createRange();\n      };\n      var split = function (parentElm, splitElm, replacementElm) {\n        var r = createRng(), bef, aft, pa;\n        if (parentElm && splitElm) {\n          r.setStart(parentElm.parentNode, findNodeIndex(parentElm));\n          r.setEnd(splitElm.parentNode, findNodeIndex(splitElm));\n          bef = r.extractContents();\n          r = createRng();\n          r.setStart(splitElm.parentNode, findNodeIndex(splitElm) + 1);\n          r.setEnd(parentElm.parentNode, findNodeIndex(parentElm) + 1);\n          aft = r.extractContents();\n          pa = parentElm.parentNode;\n          pa.insertBefore(TrimNode.trimNode(self$$1, bef), parentElm);\n          if (replacementElm) {\n            pa.insertBefore(replacementElm, parentElm);\n          } else {\n            pa.insertBefore(splitElm, parentElm);\n          }\n          pa.insertBefore(TrimNode.trimNode(self$$1, aft), parentElm);\n          remove(parentElm);\n          return replacementElm || splitElm;\n        }\n      };\n      var bind = function (target, name$$1, func, scope) {\n        if (Tools.isArray(target)) {\n          var i = target.length;\n          while (i--) {\n            target[i] = bind(target[i], name$$1, func, scope);\n          }\n          return target;\n        }\n        if (settings.collect && (target === doc || target === win)) {\n          boundEvents.push([\n            target,\n            name$$1,\n            func,\n            scope\n          ]);\n        }\n        return events.bind(target, name$$1, func, scope || self$$1);\n      };\n      var unbind = function (target, name$$1, func) {\n        var i;\n        if (Tools.isArray(target)) {\n          i = target.length;\n          while (i--) {\n            target[i] = unbind(target[i], name$$1, func);\n          }\n          return target;\n        }\n        if (boundEvents && (target === doc || target === win)) {\n          i = boundEvents.length;\n          while (i--) {\n            var item = boundEvents[i];\n            if (target === item[0] && (!name$$1 || name$$1 === item[1]) && (!func || func === item[2])) {\n              events.unbind(item[0], item[1], item[2]);\n            }\n          }\n        }\n        return events.unbind(target, name$$1, func);\n      };\n      var fire = function (target, name$$1, evt) {\n        return events.fire(target, name$$1, evt);\n      };\n      var getContentEditable = function (node) {\n        if (node && NodeType.isElement(node)) {\n          var contentEditable = node.getAttribute('data-mce-contenteditable');\n          if (contentEditable && contentEditable !== 'inherit') {\n            return contentEditable;\n          }\n          return node.contentEditable !== 'inherit' ? node.contentEditable : null;\n        } else {\n          return null;\n        }\n      };\n      var getContentEditableParent = function (node) {\n        var root = getRoot();\n        var state = null;\n        for (; node && node !== root; node = node.parentNode) {\n          state = getContentEditable(node);\n          if (state !== null) {\n            break;\n          }\n        }\n        return state;\n      };\n      var destroy = function () {\n        if (boundEvents) {\n          var i = boundEvents.length;\n          while (i--) {\n            var item = boundEvents[i];\n            events.unbind(item[0], item[1], item[2]);\n          }\n        }\n        if (Sizzle.setDocument) {\n          Sizzle.setDocument();\n        }\n      };\n      var isChildOf = function (node, parent$$1) {\n        while (node) {\n          if (parent$$1 === node) {\n            return true;\n          }\n          node = node.parentNode;\n        }\n        return false;\n      };\n      var dumpRng = function (r) {\n        return 'startContainer: ' + r.startContainer.nodeName + ', startOffset: ' + r.startOffset + ', endContainer: ' + r.endContainer.nodeName + ', endOffset: ' + r.endOffset;\n      };\n      var self$$1 = {\n        doc: doc,\n        settings: settings,\n        win: win,\n        files: files,\n        stdMode: stdMode,\n        boxModel: boxModel,\n        styleSheetLoader: styleSheetLoader,\n        boundEvents: boundEvents,\n        styles: styles,\n        schema: schema,\n        events: events,\n        isBlock: isBlock,\n        $: $,\n        $$: $$,\n        root: null,\n        clone: clone,\n        getRoot: getRoot,\n        getViewPort: getViewPort,\n        getRect: getRect,\n        getSize: getSize,\n        getParent: getParent,\n        getParents: getParents,\n        get: get,\n        getNext: getNext,\n        getPrev: getPrev,\n        select: select,\n        is: is,\n        add: add,\n        create: create,\n        createHTML: createHTML,\n        createFragment: createFragment,\n        remove: remove,\n        setStyle: setStyle,\n        getStyle: getStyle,\n        setStyles: setStyles,\n        removeAllAttribs: removeAllAttribs,\n        setAttrib: setAttrib,\n        setAttribs: setAttribs,\n        getAttrib: getAttrib,\n        getPos: getPos,\n        parseStyle: parseStyle,\n        serializeStyle: serializeStyle,\n        addStyle: addStyle,\n        loadCSS: loadCSS,\n        addClass: addClass,\n        removeClass: removeClass,\n        hasClass: hasClass,\n        toggleClass: toggleClass,\n        show: show,\n        hide: hide,\n        isHidden: isHidden,\n        uniqueId: uniqueId,\n        setHTML: setHTML,\n        getOuterHTML: getOuterHTML,\n        setOuterHTML: setOuterHTML,\n        decode: decode,\n        encode: encode,\n        insertAfter: insertAfter,\n        replace: replace,\n        rename: rename,\n        findCommonAncestor: findCommonAncestor,\n        toHex: toHex,\n        run: run,\n        getAttribs: getAttribs,\n        isEmpty: isEmpty,\n        createRng: createRng,\n        nodeIndex: findNodeIndex,\n        split: split,\n        bind: bind,\n        unbind: unbind,\n        fire: fire,\n        getContentEditable: getContentEditable,\n        getContentEditableParent: getContentEditableParent,\n        destroy: destroy,\n        isChildOf: isChildOf,\n        dumpRng: dumpRng\n      };\n      attrHooks = setupAttrHooks(styles, settings, function () {\n        return self$$1;\n      });\n      return self$$1;\n    }\n    (function (DOMUtils) {\n      DOMUtils.DOM = DOMUtils(document);\n      DOMUtils.nodeIndex = findNodeIndex;\n    }(DOMUtils || (DOMUtils = {})));\n    var DOMUtils$1 = DOMUtils;\n\n    var DOM = DOMUtils$1.DOM;\n    var each$6 = Tools.each, grep$2 = Tools.grep;\n    var isFunction$1 = function (f) {\n      return typeof f === 'function';\n    };\n    var ScriptLoader = function () {\n      var QUEUED = 0;\n      var LOADING = 1;\n      var LOADED = 2;\n      var FAILED = 3;\n      var states = {};\n      var queue = [];\n      var scriptLoadedCallbacks = {};\n      var queueLoadedCallbacks = [];\n      var loading = 0;\n      var loadScript = function (url, success, failure) {\n        var dom = DOM;\n        var elm, id;\n        var done = function () {\n          dom.remove(id);\n          if (elm) {\n            elm.onreadystatechange = elm.onload = elm = null;\n          }\n          success();\n        };\n        var error = function () {\n          if (isFunction$1(failure)) {\n            failure();\n          } else {\n            if (typeof console !== 'undefined' && console.log) {\n              console.log('Failed to load script: ' + url);\n            }\n          }\n        };\n        id = dom.uniqueId();\n        elm = document.createElement('script');\n        elm.id = id;\n        elm.type = 'text/javascript';\n        elm.src = Tools._addCacheSuffix(url);\n        elm.onload = done;\n        elm.onerror = error;\n        (document.getElementsByTagName('head')[0] || document.body).appendChild(elm);\n      };\n      this.isDone = function (url) {\n        return states[url] === LOADED;\n      };\n      this.markDone = function (url) {\n        states[url] = LOADED;\n      };\n      this.add = this.load = function (url, success, scope, failure) {\n        var state = states[url];\n        if (state === undefined) {\n          queue.push(url);\n          states[url] = QUEUED;\n        }\n        if (success) {\n          if (!scriptLoadedCallbacks[url]) {\n            scriptLoadedCallbacks[url] = [];\n          }\n          scriptLoadedCallbacks[url].push({\n            success: success,\n            failure: failure,\n            scope: scope || this\n          });\n        }\n      };\n      this.remove = function (url) {\n        delete states[url];\n        delete scriptLoadedCallbacks[url];\n      };\n      this.loadQueue = function (success, scope, failure) {\n        this.loadScripts(queue, success, scope, failure);\n      };\n      this.loadScripts = function (scripts, success, scope, failure) {\n        var loadScripts;\n        var failures = [];\n        var execCallbacks = function (name$$1, url) {\n          each$6(scriptLoadedCallbacks[url], function (callback) {\n            if (isFunction$1(callback[name$$1])) {\n              callback[name$$1].call(callback.scope);\n            }\n          });\n          scriptLoadedCallbacks[url] = undefined;\n        };\n        queueLoadedCallbacks.push({\n          success: success,\n          failure: failure,\n          scope: scope || this\n        });\n        loadScripts = function () {\n          var loadingScripts = grep$2(scripts);\n          scripts.length = 0;\n          each$6(loadingScripts, function (url) {\n            if (states[url] === LOADED) {\n              execCallbacks('success', url);\n              return;\n            }\n            if (states[url] === FAILED) {\n              execCallbacks('failure', url);\n              return;\n            }\n            if (states[url] !== LOADING) {\n              states[url] = LOADING;\n              loading++;\n              loadScript(url, function () {\n                states[url] = LOADED;\n                loading--;\n                execCallbacks('success', url);\n                loadScripts();\n              }, function () {\n                states[url] = FAILED;\n                loading--;\n                failures.push(url);\n                execCallbacks('failure', url);\n                loadScripts();\n              });\n            }\n          });\n          if (!loading) {\n            var notifyCallbacks = queueLoadedCallbacks.slice(0);\n            queueLoadedCallbacks.length = 0;\n            each$6(notifyCallbacks, function (callback) {\n              if (failures.length === 0) {\n                if (isFunction$1(callback.success)) {\n                  callback.success.call(callback.scope);\n                }\n              } else {\n                if (isFunction$1(callback.failure)) {\n                  callback.failure.call(callback.scope, failures);\n                }\n              }\n            });\n          }\n        };\n        loadScripts();\n      };\n    };\n    ScriptLoader.ScriptLoader = new ScriptLoader();\n\n    var each$7 = Tools.each;\n    function AddOnManager() {\n      var _this = this;\n      var items = [];\n      var urls = {};\n      var lookup = {};\n      var _listeners = [];\n      var get = function (name) {\n        if (lookup[name]) {\n          return lookup[name].instance;\n        }\n        return undefined;\n      };\n      var dependencies = function (name) {\n        var result;\n        if (lookup[name]) {\n          result = lookup[name].dependencies;\n        }\n        return result || [];\n      };\n      var requireLangPack = function (name, languages) {\n        var language = AddOnManager.language;\n        if (language && AddOnManager.languageLoad !== false) {\n          if (languages) {\n            languages = ',' + languages + ',';\n            if (languages.indexOf(',' + language.substr(0, 2) + ',') !== -1) {\n              language = language.substr(0, 2);\n            } else if (languages.indexOf(',' + language + ',') === -1) {\n              return;\n            }\n          }\n          ScriptLoader.ScriptLoader.add(urls[name] + '/langs/' + language + '.js');\n        }\n      };\n      var add = function (id, addOn, dependencies) {\n        items.push(addOn);\n        lookup[id] = {\n          instance: addOn,\n          dependencies: dependencies\n        };\n        var result = partition(_listeners, function (listener) {\n          return listener.name === id;\n        });\n        _listeners = result.fail;\n        each$7(result.pass, function (listener) {\n          listener.callback();\n        });\n        return addOn;\n      };\n      var remove = function (name) {\n        delete urls[name];\n        delete lookup[name];\n      };\n      var createUrl = function (baseUrl, dep) {\n        if (typeof dep === 'object') {\n          return dep;\n        }\n        return typeof baseUrl === 'string' ? {\n          prefix: '',\n          resource: dep,\n          suffix: ''\n        } : {\n          prefix: baseUrl.prefix,\n          resource: dep,\n          suffix: baseUrl.suffix\n        };\n      };\n      var addComponents = function (pluginName, scripts) {\n        var pluginUrl = _this.urls[pluginName];\n        each$7(scripts, function (script) {\n          ScriptLoader.ScriptLoader.add(pluginUrl + '/' + script);\n        });\n      };\n      var loadDependencies = function (name, addOnUrl, success, scope) {\n        var deps = dependencies(name);\n        each$7(deps, function (dep) {\n          var newUrl = createUrl(addOnUrl, dep);\n          load(newUrl.resource, newUrl, undefined, undefined);\n        });\n        if (success) {\n          if (scope) {\n            success.call(scope);\n          } else {\n            success.call(ScriptLoader);\n          }\n        }\n      };\n      var load = function (name, addOnUrl, success, scope, failure) {\n        if (urls[name]) {\n          return;\n        }\n        var urlString = typeof addOnUrl === 'string' ? addOnUrl : addOnUrl.prefix + addOnUrl.resource + addOnUrl.suffix;\n        if (urlString.indexOf('/') !== 0 && urlString.indexOf('://') === -1) {\n          urlString = AddOnManager.baseURL + '/' + urlString;\n        }\n        urls[name] = urlString.substring(0, urlString.lastIndexOf('/'));\n        if (lookup[name]) {\n          loadDependencies(name, addOnUrl, success, scope);\n        } else {\n          ScriptLoader.ScriptLoader.add(urlString, function () {\n            return loadDependencies(name, addOnUrl, success, scope);\n          }, scope, failure);\n        }\n      };\n      var waitFor = function (name, callback) {\n        if (lookup.hasOwnProperty(name)) {\n          callback();\n        } else {\n          _listeners.push({\n            name: name,\n            callback: callback\n          });\n        }\n      };\n      return {\n        items: items,\n        urls: urls,\n        lookup: lookup,\n        _listeners: _listeners,\n        get: get,\n        dependencies: dependencies,\n        requireLangPack: requireLangPack,\n        add: add,\n        remove: remove,\n        createUrl: createUrl,\n        addComponents: addComponents,\n        load: load,\n        waitFor: waitFor\n      };\n    }\n    (function (AddOnManager) {\n      AddOnManager.PluginManager = AddOnManager();\n      AddOnManager.ThemeManager = AddOnManager();\n    }(AddOnManager || (AddOnManager = {})));\n\n    var before = function (marker, element) {\n      var parent$$1 = parent(marker);\n      parent$$1.each(function (v) {\n        v.dom().insertBefore(element.dom(), marker.dom());\n      });\n    };\n    var after = function (marker, element) {\n      var sibling = nextSibling(marker);\n      sibling.fold(function () {\n        var parent$$1 = parent(marker);\n        parent$$1.each(function (v) {\n          append(v, element);\n        });\n      }, function (v) {\n        before(v, element);\n      });\n    };\n    var prepend = function (parent$$1, element) {\n      var firstChild$$1 = firstChild(parent$$1);\n      firstChild$$1.fold(function () {\n        append(parent$$1, element);\n      }, function (v) {\n        parent$$1.dom().insertBefore(element.dom(), v.dom());\n      });\n    };\n    var append = function (parent$$1, element) {\n      parent$$1.dom().appendChild(element.dom());\n    };\n    var wrap$1 = function (element, wrapper) {\n      before(element, wrapper);\n      append(wrapper, element);\n    };\n\n    var before$1 = function (marker, elements) {\n      each(elements, function (x) {\n        before(marker, x);\n      });\n    };\n    var append$1 = function (parent, elements) {\n      each(elements, function (x) {\n        append(parent, x);\n      });\n    };\n\n    var empty = function (element) {\n      element.dom().textContent = '';\n      each(children(element), function (rogue) {\n        remove$2(rogue);\n      });\n    };\n    var remove$2 = function (element) {\n      var dom = element.dom();\n      if (dom.parentNode !== null)\n        dom.parentNode.removeChild(dom);\n    };\n    var unwrap = function (wrapper) {\n      var children$$1 = children(wrapper);\n      if (children$$1.length > 0)\n        before$1(wrapper, children$$1);\n      remove$2(wrapper);\n    };\n\n    var first$1 = function (fn, rate) {\n      var timer = null;\n      var cancel = function () {\n        if (timer !== null) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      var throttle = function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        if (timer === null) {\n          timer = setTimeout(function () {\n            fn.apply(null, args);\n            timer = null;\n          }, rate);\n        }\n      };\n      return {\n        cancel: cancel,\n        throttle: throttle\n      };\n    };\n    var last$3 = function (fn, rate) {\n      var timer = null;\n      var cancel = function () {\n        if (timer !== null) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      var throttle = function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        if (timer !== null)\n          clearTimeout(timer);\n        timer = setTimeout(function () {\n          fn.apply(null, args);\n          timer = null;\n        }, rate);\n      };\n      return {\n        cancel: cancel,\n        throttle: throttle\n      };\n    };\n\n    var Cell = function (initial) {\n      var value = initial;\n      var get = function () {\n        return value;\n      };\n      var set = function (v) {\n        value = v;\n      };\n      var clone = function () {\n        return Cell(get());\n      };\n      return {\n        get: get,\n        set: set,\n        clone: clone\n      };\n    };\n\n    var read = function (element, attr) {\n      var value = get$1(element, attr);\n      return value === undefined || value === '' ? [] : value.split(' ');\n    };\n    var add = function (element, attr, id) {\n      var old = read(element, attr);\n      var nu = old.concat([id]);\n      set(element, attr, nu.join(' '));\n      return true;\n    };\n    var remove$3 = function (element, attr, id) {\n      var nu = filter(read(element, attr), function (v) {\n        return v !== id;\n      });\n      if (nu.length > 0)\n        set(element, attr, nu.join(' '));\n      else\n        remove(element, attr);\n      return false;\n    };\n\n    var supports = function (element) {\n      return element.dom().classList !== undefined;\n    };\n    var get$3 = function (element) {\n      return read(element, 'class');\n    };\n    var add$1 = function (element, clazz) {\n      return add(element, 'class', clazz);\n    };\n    var remove$4 = function (element, clazz) {\n      return remove$3(element, 'class', clazz);\n    };\n\n    var add$2 = function (element, clazz) {\n      if (supports(element))\n        element.dom().classList.add(clazz);\n      else\n        add$1(element, clazz);\n    };\n    var cleanClass = function (element) {\n      var classList = supports(element) ? element.dom().classList : get$3(element);\n      if (classList.length === 0) {\n        remove(element, 'class');\n      }\n    };\n    var remove$5 = function (element, clazz) {\n      if (supports(element)) {\n        var classList = element.dom().classList;\n        classList.remove(clazz);\n      } else\n        remove$4(element, clazz);\n      cleanClass(element);\n    };\n    var has$2 = function (element, clazz) {\n      return supports(element) && element.dom().classList.contains(clazz);\n    };\n\n    var descendants = function (scope, predicate) {\n      var result = [];\n      each(children(scope), function (x) {\n        if (predicate(x)) {\n          result = result.concat([x]);\n        }\n        result = result.concat(descendants(x, predicate));\n      });\n      return result;\n    };\n\n    var descendants$1 = function (scope, selector) {\n      return all(selector, scope);\n    };\n\n    function ClosestOrAncestor (is, ancestor, scope, a, isRoot) {\n      return is(scope, a) ? Option.some(scope) : isFunction(isRoot) && isRoot(scope) ? Option.none() : ancestor(scope, a, isRoot);\n    }\n\n    var ancestor = function (scope, predicate, isRoot) {\n      var element = scope.dom();\n      var stop = isFunction(isRoot) ? isRoot : constant(false);\n      while (element.parentNode) {\n        element = element.parentNode;\n        var el = Element$$1.fromDom(element);\n        if (predicate(el))\n          return Option.some(el);\n        else if (stop(el))\n          break;\n      }\n      return Option.none();\n    };\n    var closest = function (scope, predicate, isRoot) {\n      var is = function (scope) {\n        return predicate(scope);\n      };\n      return ClosestOrAncestor(is, ancestor, scope, predicate, isRoot);\n    };\n\n    var ancestor$1 = function (scope, selector, isRoot) {\n      return ancestor(scope, function (e) {\n        return is$1(e, selector);\n      }, isRoot);\n    };\n    var descendant$1 = function (scope, selector) {\n      return one(selector, scope);\n    };\n    var closest$1 = function (scope, selector, isRoot) {\n      return ClosestOrAncestor(is$1, ancestor$1, scope, selector, isRoot);\n    };\n\n    var annotation = constant('mce-annotation');\n    var dataAnnotation = constant('data-mce-annotation');\n    var dataAnnotationId = constant('data-mce-annotation-uid');\n\n    var identify = function (editor, annotationName) {\n      var rng = editor.selection.getRng();\n      var start = Element$$1.fromDom(rng.startContainer);\n      var root = Element$$1.fromDom(editor.getBody());\n      var selector = annotationName.fold(function () {\n        return '.' + annotation();\n      }, function (an) {\n        return '[' + dataAnnotation() + '=\"' + an + '\"]';\n      });\n      var newStart = child(start, rng.startOffset).getOr(start);\n      var closest = closest$1(newStart, selector, function (n) {\n        return eq(n, root);\n      });\n      var getAttr = function (c, property) {\n        if (has$1(c, property)) {\n          return Option.some(get$1(c, property));\n        } else {\n          return Option.none();\n        }\n      };\n      return closest.bind(function (c) {\n        return getAttr(c, '' + dataAnnotationId()).bind(function (uid) {\n          return getAttr(c, '' + dataAnnotation()).map(function (name$$1) {\n            var elements = findMarkers(editor, uid);\n            return {\n              uid: uid,\n              name: name$$1,\n              elements: elements\n            };\n          });\n        });\n      });\n    };\n    var isAnnotation = function (elem) {\n      return isElement(elem) && has$2(elem, annotation());\n    };\n    var findMarkers = function (editor, uid) {\n      var body = Element$$1.fromDom(editor.getBody());\n      return descendants$1(body, '[' + dataAnnotationId() + '=\"' + uid + '\"]');\n    };\n    var findAll = function (editor, name$$1) {\n      var body = Element$$1.fromDom(editor.getBody());\n      var markers = descendants$1(body, '[' + dataAnnotation() + '=\"' + name$$1 + '\"]');\n      var directory = {};\n      each(markers, function (m) {\n        var uid = get$1(m, dataAnnotationId());\n        var nodesAlready = directory.hasOwnProperty(uid) ? directory[uid] : [];\n        directory[uid] = nodesAlready.concat([m]);\n      });\n      return directory;\n    };\n\n    var setup = function (editor, registry) {\n      var changeCallbacks = Cell({});\n      var initData = function () {\n        return {\n          listeners: [],\n          previous: Cell(Option.none())\n        };\n      };\n      var withCallbacks = function (name, f) {\n        updateCallbacks(name, function (data) {\n          f(data);\n          return data;\n        });\n      };\n      var updateCallbacks = function (name, f) {\n        var callbackMap = changeCallbacks.get();\n        var data = callbackMap.hasOwnProperty(name) ? callbackMap[name] : initData();\n        var outputData = f(data);\n        callbackMap[name] = outputData;\n        changeCallbacks.set(callbackMap);\n      };\n      var fireCallbacks = function (name, uid, elements) {\n        withCallbacks(name, function (data) {\n          each(data.listeners, function (f) {\n            return f(true, name, {\n              uid: uid,\n              nodes: map(elements, function (elem) {\n                return elem.dom();\n              })\n            });\n          });\n        });\n      };\n      var fireNoAnnotation = function (name) {\n        withCallbacks(name, function (data) {\n          each(data.listeners, function (f) {\n            return f(false, name);\n          });\n        });\n      };\n      var onNodeChange = last$3(function () {\n        var callbackMap = changeCallbacks.get();\n        var annotations = sort(keys(callbackMap));\n        each(annotations, function (name) {\n          updateCallbacks(name, function (data) {\n            var prev = data.previous.get();\n            identify(editor, Option.some(name)).fold(function () {\n              if (prev.isSome()) {\n                fireNoAnnotation(name);\n                data.previous.set(Option.none());\n              }\n            }, function (_a) {\n              var uid = _a.uid, name = _a.name, elements = _a.elements;\n              if (!prev.is(uid)) {\n                fireCallbacks(name, uid, elements);\n                data.previous.set(Option.some(uid));\n              }\n            });\n            return {\n              previous: data.previous,\n              listeners: data.listeners\n            };\n          });\n        });\n      }, 30);\n      editor.on('remove', function () {\n        onNodeChange.cancel();\n      });\n      editor.on('nodeChange', function () {\n        onNodeChange.throttle();\n      });\n      var addListener = function (name, f) {\n        updateCallbacks(name, function (data) {\n          return {\n            previous: data.previous,\n            listeners: data.listeners.concat([f])\n          };\n        });\n      };\n      return { addListener: addListener };\n    };\n\n    var setup$1 = function (editor, registry) {\n      var identifyParserNode = function (span) {\n        var optAnnotation = Option.from(span.attributes.map[dataAnnotation()]);\n        return optAnnotation.bind(registry.lookup);\n      };\n      editor.on('init', function () {\n        editor.serializer.addNodeFilter('span', function (spans) {\n          each(spans, function (span) {\n            identifyParserNode(span).each(function (settings) {\n              if (settings.persistent === false) {\n                span.unwrap();\n              }\n            });\n          });\n        });\n      });\n    };\n\n    var create$1 = function () {\n      var annotations = {};\n      var register = function (name, settings) {\n        annotations[name] = {\n          name: name,\n          settings: settings\n        };\n      };\n      var lookup = function (name) {\n        return annotations.hasOwnProperty(name) ? Option.from(annotations[name]).map(function (a) {\n          return a.settings;\n        }) : Option.none();\n      };\n      return {\n        register: register,\n        lookup: lookup\n      };\n    };\n\n    function __rest(s, e) {\n      var t = {};\n      for (var p in s)\n        if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n          t[p] = s[p];\n      if (s != null && typeof Object.getOwnPropertySymbols === 'function')\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)\n          if (e.indexOf(p[i]) < 0)\n            t[p[i]] = s[p[i]];\n      return t;\n    }\n\n    var unique = 0;\n    var generate = function (prefix) {\n      var date = new Date();\n      var time = date.getTime();\n      var random = Math.floor(Math.random() * 1000000000);\n      unique++;\n      return prefix + '_' + random + unique + String(time);\n    };\n\n    var add$3 = function (element, classes) {\n      each(classes, function (x) {\n        add$2(element, x);\n      });\n    };\n\n    var clone$1 = function (original, deep) {\n      return Element$$1.fromDom(original.dom().cloneNode(deep));\n    };\n    var shallow = function (original) {\n      return clone$1(original, false);\n    };\n    var deep = function (original) {\n      return clone$1(original, true);\n    };\n\n    var fromHtml$1 = function (html, scope) {\n      var doc = scope || document;\n      var div = doc.createElement('div');\n      div.innerHTML = html;\n      return children(Element$$1.fromDom(div));\n    };\n\n    var get$5 = function (element) {\n      return element.dom().innerHTML;\n    };\n    var set$2 = function (element, content) {\n      var owner$$1 = owner(element);\n      var docDom = owner$$1.dom();\n      var fragment = Element$$1.fromDom(docDom.createDocumentFragment());\n      var contentElements = fromHtml$1(content, docDom);\n      append$1(fragment, contentElements);\n      empty(element);\n      append(element, fragment);\n    };\n\n    var ZWSP = '\\uFEFF';\n    var isZwsp = function (chr) {\n      return chr === ZWSP;\n    };\n    var trim$3 = function (text) {\n      return text.replace(new RegExp(ZWSP, 'g'), '');\n    };\n    var Zwsp = {\n      isZwsp: isZwsp,\n      ZWSP: ZWSP,\n      trim: trim$3\n    };\n\n    var isElement$2 = NodeType.isElement;\n    var isText$2 = NodeType.isText;\n    var isCaretContainerBlock = function (node) {\n      if (isText$2(node)) {\n        node = node.parentNode;\n      }\n      return isElement$2(node) && node.hasAttribute('data-mce-caret');\n    };\n    var isCaretContainerInline = function (node) {\n      return isText$2(node) && Zwsp.isZwsp(node.data);\n    };\n    var isCaretContainer = function (node) {\n      return isCaretContainerBlock(node) || isCaretContainerInline(node);\n    };\n    var hasContent = function (node) {\n      return node.firstChild !== node.lastChild || !NodeType.isBr(node.firstChild);\n    };\n    var insertInline = function (node, before) {\n      var doc, sibling, textNode, parentNode;\n      doc = node.ownerDocument;\n      textNode = doc.createTextNode(Zwsp.ZWSP);\n      parentNode = node.parentNode;\n      if (!before) {\n        sibling = node.nextSibling;\n        if (isText$2(sibling)) {\n          if (isCaretContainer(sibling)) {\n            return sibling;\n          }\n          if (startsWithCaretContainer(sibling)) {\n            sibling.splitText(1);\n            return sibling;\n          }\n        }\n        if (node.nextSibling) {\n          parentNode.insertBefore(textNode, node.nextSibling);\n        } else {\n          parentNode.appendChild(textNode);\n        }\n      } else {\n        sibling = node.previousSibling;\n        if (isText$2(sibling)) {\n          if (isCaretContainer(sibling)) {\n            return sibling;\n          }\n          if (endsWithCaretContainer(sibling)) {\n            return sibling.splitText(sibling.data.length - 1);\n          }\n        }\n        parentNode.insertBefore(textNode, node);\n      }\n      return textNode;\n    };\n    var isBeforeInline = function (pos) {\n      var container = pos.container();\n      return pos && NodeType.isText(container) && container.data.charAt(pos.offset()) === Zwsp.ZWSP;\n    };\n    var isAfterInline = function (pos) {\n      var container = pos.container();\n      return pos && NodeType.isText(container) && container.data.charAt(pos.offset() - 1) === Zwsp.ZWSP;\n    };\n    var createBogusBr = function () {\n      var br = document.createElement('br');\n      br.setAttribute('data-mce-bogus', '1');\n      return br;\n    };\n    var insertBlock = function (blockName, node, before) {\n      var doc, blockNode, parentNode;\n      doc = node.ownerDocument;\n      blockNode = doc.createElement(blockName);\n      blockNode.setAttribute('data-mce-caret', before ? 'before' : 'after');\n      blockNode.setAttribute('data-mce-bogus', 'all');\n      blockNode.appendChild(createBogusBr());\n      parentNode = node.parentNode;\n      if (!before) {\n        if (node.nextSibling) {\n          parentNode.insertBefore(blockNode, node.nextSibling);\n        } else {\n          parentNode.appendChild(blockNode);\n        }\n      } else {\n        parentNode.insertBefore(blockNode, node);\n      }\n      return blockNode;\n    };\n    var startsWithCaretContainer = function (node) {\n      return isText$2(node) && node.data[0] === Zwsp.ZWSP;\n    };\n    var endsWithCaretContainer = function (node) {\n      return isText$2(node) && node.data[node.data.length - 1] === Zwsp.ZWSP;\n    };\n    var trimBogusBr = function (elm) {\n      var brs = elm.getElementsByTagName('br');\n      var lastBr = brs[brs.length - 1];\n      if (NodeType.isBogus(lastBr)) {\n        lastBr.parentNode.removeChild(lastBr);\n      }\n    };\n    var showCaretContainerBlock = function (caretContainer) {\n      if (caretContainer && caretContainer.hasAttribute('data-mce-caret')) {\n        trimBogusBr(caretContainer);\n        caretContainer.removeAttribute('data-mce-caret');\n        caretContainer.removeAttribute('data-mce-bogus');\n        caretContainer.removeAttribute('style');\n        caretContainer.removeAttribute('_moz_abspos');\n        return caretContainer;\n      }\n      return null;\n    };\n    var isRangeInCaretContainerBlock = function (range) {\n      return isCaretContainerBlock(range.startContainer);\n    };\n\n    var isContentEditableTrue$1 = NodeType.isContentEditableTrue;\n    var isContentEditableFalse$1 = NodeType.isContentEditableFalse;\n    var isBr$2 = NodeType.isBr;\n    var isText$3 = NodeType.isText;\n    var isInvalidTextElement = NodeType.matchNodeNames('script style textarea');\n    var isAtomicInline = NodeType.matchNodeNames('img input textarea hr iframe video audio object');\n    var isTable$1 = NodeType.matchNodeNames('table');\n    var isCaretContainer$1 = isCaretContainer;\n    var isCaretCandidate = function (node) {\n      if (isCaretContainer$1(node)) {\n        return false;\n      }\n      if (isText$3(node)) {\n        if (isInvalidTextElement(node.parentNode)) {\n          return false;\n        }\n        return true;\n      }\n      return isAtomicInline(node) || isBr$2(node) || isTable$1(node) || isNonUiContentEditableFalse(node);\n    };\n    var isUnselectable = function (node) {\n      return NodeType.isElement(node) && node.getAttribute('unselectable') === 'true';\n    };\n    var isNonUiContentEditableFalse = function (node) {\n      return isUnselectable(node) === false && isContentEditableFalse$1(node);\n    };\n    var isInEditable = function (node, root) {\n      for (node = node.parentNode; node && node !== root; node = node.parentNode) {\n        if (isNonUiContentEditableFalse(node)) {\n          return false;\n        }\n        if (isContentEditableTrue$1(node)) {\n          return true;\n        }\n      }\n      return true;\n    };\n    var isAtomicContentEditableFalse = function (node) {\n      if (!isNonUiContentEditableFalse(node)) {\n        return false;\n      }\n      return foldl(from$1(node.getElementsByTagName('*')), function (result, elm) {\n        return result || isContentEditableTrue$1(elm);\n      }, false) !== true;\n    };\n    var isAtomic = function (node) {\n      return isAtomicInline(node) || isAtomicContentEditableFalse(node);\n    };\n    var isEditableCaretCandidate = function (node, root) {\n      return isCaretCandidate(node) && isInEditable(node, root);\n    };\n\n    var round = Math.round;\n    var clone$2 = function (rect) {\n      if (!rect) {\n        return {\n          left: 0,\n          top: 0,\n          bottom: 0,\n          right: 0,\n          width: 0,\n          height: 0\n        };\n      }\n      return {\n        left: round(rect.left),\n        top: round(rect.top),\n        bottom: round(rect.bottom),\n        right: round(rect.right),\n        width: round(rect.width),\n        height: round(rect.height)\n      };\n    };\n    var collapse = function (rect, toStart) {\n      rect = clone$2(rect);\n      if (toStart) {\n        rect.right = rect.left;\n      } else {\n        rect.left = rect.left + rect.width;\n        rect.right = rect.left;\n      }\n      rect.width = 0;\n      return rect;\n    };\n    var isEqual = function (rect1, rect2) {\n      return rect1.left === rect2.left && rect1.top === rect2.top && rect1.bottom === rect2.bottom && rect1.right === rect2.right;\n    };\n    var isValidOverflow = function (overflowY, rect1, rect2) {\n      return overflowY >= 0 && overflowY <= Math.min(rect1.height, rect2.height) / 2;\n    };\n    var isAbove = function (rect1, rect2) {\n      if (rect1.bottom - rect1.height / 2 < rect2.top) {\n        return true;\n      }\n      if (rect1.top > rect2.bottom) {\n        return false;\n      }\n      return isValidOverflow(rect2.top - rect1.bottom, rect1, rect2);\n    };\n    var isBelow = function (rect1, rect2) {\n      if (rect1.top > rect2.bottom) {\n        return true;\n      }\n      if (rect1.bottom < rect2.top) {\n        return false;\n      }\n      return isValidOverflow(rect2.bottom - rect1.top, rect1, rect2);\n    };\n    var containsXY = function (rect, clientX, clientY) {\n      return clientX >= rect.left && clientX <= rect.right && clientY >= rect.top && clientY <= rect.bottom;\n    };\n    var overflowX = function (outer, inner) {\n      if (inner.left > outer.left && inner.right < outer.right) {\n        return 0;\n      } else {\n        return inner.left < outer.left ? inner.left - outer.left : inner.right - outer.right;\n      }\n    };\n    var overflowY = function (outer, inner) {\n      if (inner.top > outer.top && inner.bottom < outer.bottom) {\n        return 0;\n      } else {\n        return inner.top < outer.top ? inner.top - outer.top : inner.bottom - outer.bottom;\n      }\n    };\n    var getOverflow = function (outer, inner) {\n      return {\n        x: overflowX(outer, inner),\n        y: overflowY(outer, inner)\n      };\n    };\n\n    var getSelectedNode = function (range) {\n      var startContainer = range.startContainer, startOffset = range.startOffset;\n      if (startContainer.hasChildNodes() && range.endOffset === startOffset + 1) {\n        return startContainer.childNodes[startOffset];\n      }\n      return null;\n    };\n    var getNode = function (container, offset) {\n      if (container.nodeType === 1 && container.hasChildNodes()) {\n        if (offset >= container.childNodes.length) {\n          offset = container.childNodes.length - 1;\n        }\n        container = container.childNodes[offset];\n      }\n      return container;\n    };\n\n    var extendingChars = new RegExp('[\\u0300-\\u036f\\u0483-\\u0487\\u0488-\\u0489\\u0591-\\u05bd\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u0610-\\u061a' + '\\u064b-\\u065f\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7-\\u06e8\\u06ea-\\u06ed\\u0711\\u0730-\\u074a\\u07a6-\\u07b0' + '\\u07eb-\\u07f3\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u08E3-\\u0902\\u093a\\u093c' + '\\u0941-\\u0948\\u094d\\u0951-\\u0957\\u0962-\\u0963\\u0981\\u09bc\\u09be\\u09c1-\\u09c4\\u09cd\\u09d7\\u09e2-\\u09e3' + '\\u0a01-\\u0a02\\u0a3c\\u0a41-\\u0a42\\u0a47-\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a70-\\u0a71\\u0a75\\u0a81-\\u0a82\\u0abc' + '\\u0ac1-\\u0ac5\\u0ac7-\\u0ac8\\u0acd\\u0ae2-\\u0ae3\\u0b01\\u0b3c\\u0b3e\\u0b3f\\u0b41-\\u0b44\\u0b4d\\u0b56\\u0b57' + '\\u0b62-\\u0b63\\u0b82\\u0bbe\\u0bc0\\u0bcd\\u0bd7\\u0c00\\u0c3e-\\u0c40\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55-\\u0c56' + '\\u0c62-\\u0c63\\u0c81\\u0cbc\\u0cbf\\u0cc2\\u0cc6\\u0ccc-\\u0ccd\\u0cd5-\\u0cd6\\u0ce2-\\u0ce3\\u0d01\\u0d3e\\u0d41-\\u0d44' + '\\u0d4d\\u0d57\\u0d62-\\u0d63\\u0dca\\u0dcf\\u0dd2-\\u0dd4\\u0dd6\\u0ddf\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0eb1\\u0eb4-\\u0eb9' + '\\u0ebb-\\u0ebc\\u0ec8-\\u0ecd\\u0f18-\\u0f19\\u0f35\\u0f37\\u0f39\\u0f71-\\u0f7e\\u0f80-\\u0f84\\u0f86-\\u0f87\\u0f8d-\\u0f97' + '\\u0f99-\\u0fbc\\u0fc6\\u102d-\\u1030\\u1032-\\u1037\\u1039-\\u103a\\u103d-\\u103e\\u1058-\\u1059\\u105e-\\u1060\\u1071-\\u1074' + '\\u1082\\u1085-\\u1086\\u108d\\u109d\\u135d-\\u135f\\u1712-\\u1714\\u1732-\\u1734\\u1752-\\u1753\\u1772-\\u1773\\u17b4-\\u17b5' + '\\u17b7-\\u17bd\\u17c6\\u17c9-\\u17d3\\u17dd\\u180b-\\u180d\\u18a9\\u1920-\\u1922\\u1927-\\u1928\\u1932\\u1939-\\u193b\\u1a17-\\u1a18' + '\\u1a1b\\u1a56\\u1a58-\\u1a5e\\u1a60\\u1a62\\u1a65-\\u1a6c\\u1a73-\\u1a7c\\u1a7f\\u1ab0-\\u1abd\\u1ABE\\u1b00-\\u1b03\\u1b34' + '\\u1b36-\\u1b3a\\u1b3c\\u1b42\\u1b6b-\\u1b73\\u1b80-\\u1b81\\u1ba2-\\u1ba5\\u1ba8-\\u1ba9\\u1bab-\\u1bad\\u1be6\\u1be8-\\u1be9' + '\\u1bed\\u1bef-\\u1bf1\\u1c2c-\\u1c33\\u1c36-\\u1c37\\u1cd0-\\u1cd2\\u1cd4-\\u1ce0\\u1ce2-\\u1ce8\\u1ced\\u1cf4\\u1cf8-\\u1cf9' + '\\u1dc0-\\u1df5\\u1dfc-\\u1dff\\u200c-\\u200d\\u20d0-\\u20dc\\u20DD-\\u20E0\\u20e1\\u20E2-\\u20E4\\u20e5-\\u20f0\\u2cef-\\u2cf1' + '\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302d\\u302e-\\u302f\\u3099-\\u309a\\ua66f\\uA670-\\uA672\\ua674-\\ua67d\\uA69E-\\ua69f\\ua6f0-\\ua6f1' + '\\ua802\\ua806\\ua80b\\ua825-\\ua826\\ua8c4\\ua8e0-\\ua8f1\\ua926-\\ua92d\\ua947-\\ua951\\ua980-\\ua982\\ua9b3\\ua9b6-\\ua9b9\\ua9bc' + '\\ua9e5\\uaa29-\\uaa2e\\uaa31-\\uaa32\\uaa35-\\uaa36\\uaa43\\uaa4c\\uaa7c\\uaab0\\uaab2-\\uaab4\\uaab7-\\uaab8\\uaabe-\\uaabf\\uaac1' + '\\uaaec-\\uaaed\\uaaf6\\uabe5\\uabe8\\uabed\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\uFE2F\\uff9e-\\uff9f]');\n    var isExtendingChar = function (ch) {\n      return typeof ch === 'string' && ch.charCodeAt(0) >= 768 && extendingChars.test(ch);\n    };\n\n    var liftN = function (arr, f) {\n      var r = [];\n      for (var i = 0; i < arr.length; i++) {\n        var x = arr[i];\n        if (x.isSome()) {\n          r.push(x.getOrDie());\n        } else {\n          return Option.none();\n        }\n      }\n      return Option.some(f.apply(null, r));\n    };\n\n    var slice$3 = [].slice;\n    var or = function () {\n      var x = [];\n      for (var _i = 0; _i < arguments.length; _i++) {\n        x[_i] = arguments[_i];\n      }\n      var args = slice$3.call(arguments);\n      return function (x) {\n        for (var i = 0; i < args.length; i++) {\n          if (args[i](x)) {\n            return true;\n          }\n        }\n        return false;\n      };\n    };\n    var and = function () {\n      var x = [];\n      for (var _i = 0; _i < arguments.length; _i++) {\n        x[_i] = arguments[_i];\n      }\n      var args = slice$3.call(arguments);\n      return function (x) {\n        for (var i = 0; i < args.length; i++) {\n          if (!args[i](x)) {\n            return false;\n          }\n        }\n        return true;\n      };\n    };\n    var Predicate = {\n      and: and,\n      or: or\n    };\n\n    var isElement$3 = NodeType.isElement;\n    var isCaretCandidate$1 = isCaretCandidate;\n    var isBlock$1 = NodeType.matchStyleValues('display', 'block table');\n    var isFloated = NodeType.matchStyleValues('float', 'left right');\n    var isValidElementCaretCandidate = Predicate.and(isElement$3, isCaretCandidate$1, not(isFloated));\n    var isNotPre = not(NodeType.matchStyleValues('white-space', 'pre pre-line pre-wrap'));\n    var isText$4 = NodeType.isText;\n    var isBr$3 = NodeType.isBr;\n    var nodeIndex = DOMUtils$1.nodeIndex;\n    var resolveIndex = getNode;\n    var createRange = function (doc) {\n      return 'createRange' in doc ? doc.createRange() : DOMUtils$1.DOM.createRng();\n    };\n    var isWhiteSpace = function (chr) {\n      return chr && /[\\r\\n\\t ]/.test(chr);\n    };\n    var isRange = function (rng) {\n      return !!rng.setStart && !!rng.setEnd;\n    };\n    var isHiddenWhiteSpaceRange = function (range$$1) {\n      var container = range$$1.startContainer;\n      var offset = range$$1.startOffset;\n      var text;\n      if (isWhiteSpace(range$$1.toString()) && isNotPre(container.parentNode) && NodeType.isText(container)) {\n        text = container.data;\n        if (isWhiteSpace(text[offset - 1]) || isWhiteSpace(text[offset + 1])) {\n          return true;\n        }\n      }\n      return false;\n    };\n    var getBrClientRect = function (brNode) {\n      var doc = brNode.ownerDocument;\n      var rng = createRange(doc);\n      var nbsp = doc.createTextNode('\\xA0');\n      var parentNode = brNode.parentNode;\n      var clientRect;\n      parentNode.insertBefore(nbsp, brNode);\n      rng.setStart(nbsp, 0);\n      rng.setEnd(nbsp, 1);\n      clientRect = clone$2(rng.getBoundingClientRect());\n      parentNode.removeChild(nbsp);\n      return clientRect;\n    };\n    var getBoundingClientRectWebKitText = function (rng) {\n      var sc = rng.startContainer;\n      var ec = rng.endContainer;\n      var so = rng.startOffset;\n      var eo = rng.endOffset;\n      if (sc === ec && NodeType.isText(ec) && so === 0 && eo === 1) {\n        var newRng = rng.cloneRange();\n        newRng.setEndAfter(ec);\n        return getBoundingClientRect(newRng);\n      } else {\n        return null;\n      }\n    };\n    var isZeroRect = function (r) {\n      return r.left === 0 && r.right === 0 && r.top === 0 && r.bottom === 0;\n    };\n    var getBoundingClientRect = function (item) {\n      var clientRect, clientRects;\n      clientRects = item.getClientRects();\n      if (clientRects.length > 0) {\n        clientRect = clone$2(clientRects[0]);\n      } else {\n        clientRect = clone$2(item.getBoundingClientRect());\n      }\n      if (!isRange(item) && isBr$3(item) && isZeroRect(clientRect)) {\n        return getBrClientRect(item);\n      }\n      if (isZeroRect(clientRect) && isRange(item)) {\n        return getBoundingClientRectWebKitText(item);\n      }\n      return clientRect;\n    };\n    var collapseAndInflateWidth = function (clientRect, toStart) {\n      var newClientRect = collapse(clientRect, toStart);\n      newClientRect.width = 1;\n      newClientRect.right = newClientRect.left + 1;\n      return newClientRect;\n    };\n    var getCaretPositionClientRects = function (caretPosition) {\n      var clientRects = [];\n      var beforeNode, node;\n      var addUniqueAndValidRect = function (clientRect) {\n        if (clientRect.height === 0) {\n          return;\n        }\n        if (clientRects.length > 0) {\n          if (isEqual(clientRect, clientRects[clientRects.length - 1])) {\n            return;\n          }\n        }\n        clientRects.push(clientRect);\n      };\n      var addCharacterOffset = function (container, offset) {\n        var range$$1 = createRange(container.ownerDocument);\n        if (offset < container.data.length) {\n          if (isExtendingChar(container.data[offset])) {\n            return clientRects;\n          }\n          if (isExtendingChar(container.data[offset - 1])) {\n            range$$1.setStart(container, offset);\n            range$$1.setEnd(container, offset + 1);\n            if (!isHiddenWhiteSpaceRange(range$$1)) {\n              addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect(range$$1), false));\n              return clientRects;\n            }\n          }\n        }\n        if (offset > 0) {\n          range$$1.setStart(container, offset - 1);\n          range$$1.setEnd(container, offset);\n          if (!isHiddenWhiteSpaceRange(range$$1)) {\n            addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect(range$$1), false));\n          }\n        }\n        if (offset < container.data.length) {\n          range$$1.setStart(container, offset);\n          range$$1.setEnd(container, offset + 1);\n          if (!isHiddenWhiteSpaceRange(range$$1)) {\n            addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect(range$$1), true));\n          }\n        }\n      };\n      if (isText$4(caretPosition.container())) {\n        addCharacterOffset(caretPosition.container(), caretPosition.offset());\n        return clientRects;\n      }\n      if (isElement$3(caretPosition.container())) {\n        if (caretPosition.isAtEnd()) {\n          node = resolveIndex(caretPosition.container(), caretPosition.offset());\n          if (isText$4(node)) {\n            addCharacterOffset(node, node.data.length);\n          }\n          if (isValidElementCaretCandidate(node) && !isBr$3(node)) {\n            addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect(node), false));\n          }\n        } else {\n          node = resolveIndex(caretPosition.container(), caretPosition.offset());\n          if (isText$4(node)) {\n            addCharacterOffset(node, 0);\n          }\n          if (isValidElementCaretCandidate(node) && caretPosition.isAtEnd()) {\n            addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect(node), false));\n            return clientRects;\n          }\n          beforeNode = resolveIndex(caretPosition.container(), caretPosition.offset() - 1);\n          if (isValidElementCaretCandidate(beforeNode) && !isBr$3(beforeNode)) {\n            if (isBlock$1(beforeNode) || isBlock$1(node) || !isValidElementCaretCandidate(node)) {\n              addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect(beforeNode), false));\n            }\n          }\n          if (isValidElementCaretCandidate(node)) {\n            addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect(node), true));\n          }\n        }\n      }\n      return clientRects;\n    };\n    function CaretPosition(container, offset, clientRects) {\n      var isAtStart = function () {\n        if (isText$4(container)) {\n          return offset === 0;\n        }\n        return offset === 0;\n      };\n      var isAtEnd = function () {\n        if (isText$4(container)) {\n          return offset >= container.data.length;\n        }\n        return offset >= container.childNodes.length;\n      };\n      var toRange = function () {\n        var range$$1;\n        range$$1 = createRange(container.ownerDocument);\n        range$$1.setStart(container, offset);\n        range$$1.setEnd(container, offset);\n        return range$$1;\n      };\n      var getClientRects = function () {\n        if (!clientRects) {\n          clientRects = getCaretPositionClientRects(CaretPosition(container, offset));\n        }\n        return clientRects;\n      };\n      var isVisible = function () {\n        return getClientRects().length > 0;\n      };\n      var isEqual$$1 = function (caretPosition) {\n        return caretPosition && container === caretPosition.container() && offset === caretPosition.offset();\n      };\n      var getNode$$1 = function (before) {\n        return resolveIndex(container, before ? offset - 1 : offset);\n      };\n      return {\n        container: constant(container),\n        offset: constant(offset),\n        toRange: toRange,\n        getClientRects: getClientRects,\n        isVisible: isVisible,\n        isAtStart: isAtStart,\n        isAtEnd: isAtEnd,\n        isEqual: isEqual$$1,\n        getNode: getNode$$1\n      };\n    }\n    (function (CaretPosition) {\n      CaretPosition.fromRangeStart = function (range$$1) {\n        return CaretPosition(range$$1.startContainer, range$$1.startOffset);\n      };\n      CaretPosition.fromRangeEnd = function (range$$1) {\n        return CaretPosition(range$$1.endContainer, range$$1.endOffset);\n      };\n      CaretPosition.after = function (node) {\n        return CaretPosition(node.parentNode, nodeIndex(node) + 1);\n      };\n      CaretPosition.before = function (node) {\n        return CaretPosition(node.parentNode, nodeIndex(node));\n      };\n      CaretPosition.isAbove = function (pos1, pos2) {\n        return liftN([\n          head(pos2.getClientRects()),\n          last(pos1.getClientRects())\n        ], isAbove).getOr(false);\n      };\n      CaretPosition.isBelow = function (pos1, pos2) {\n        return liftN([\n          last(pos2.getClientRects()),\n          head(pos1.getClientRects())\n        ], isBelow).getOr(false);\n      };\n      CaretPosition.isAtStart = function (pos) {\n        return pos ? pos.isAtStart() : false;\n      };\n      CaretPosition.isAtEnd = function (pos) {\n        return pos ? pos.isAtEnd() : false;\n      };\n      CaretPosition.isTextPosition = function (pos) {\n        return pos ? NodeType.isText(pos.container()) : false;\n      };\n      CaretPosition.isElementPosition = function (pos) {\n        return CaretPosition.isTextPosition(pos) === false;\n      };\n    }(CaretPosition || (CaretPosition = {})));\n    var CaretPosition$1 = CaretPosition;\n\n    var isText$5 = NodeType.isText;\n    var isBogus$1 = NodeType.isBogus;\n    var nodeIndex$1 = DOMUtils$1.nodeIndex;\n    var normalizedParent = function (node) {\n      var parentNode = node.parentNode;\n      if (isBogus$1(parentNode)) {\n        return normalizedParent(parentNode);\n      }\n      return parentNode;\n    };\n    var getChildNodes = function (node) {\n      if (!node) {\n        return [];\n      }\n      return ArrUtils.reduce(node.childNodes, function (result, node) {\n        if (isBogus$1(node) && node.nodeName !== 'BR') {\n          result = result.concat(getChildNodes(node));\n        } else {\n          result.push(node);\n        }\n        return result;\n      }, []);\n    };\n    var normalizedTextOffset = function (node, offset) {\n      while (node = node.previousSibling) {\n        if (!isText$5(node)) {\n          break;\n        }\n        offset += node.data.length;\n      }\n      return offset;\n    };\n    var equal$1 = function (a) {\n      return function (b) {\n        return a === b;\n      };\n    };\n    var normalizedNodeIndex = function (node) {\n      var nodes, index, numTextFragments;\n      nodes = getChildNodes(normalizedParent(node));\n      index = ArrUtils.findIndex(nodes, equal$1(node), node);\n      nodes = nodes.slice(0, index + 1);\n      numTextFragments = ArrUtils.reduce(nodes, function (result, node, i) {\n        if (isText$5(node) && isText$5(nodes[i - 1])) {\n          result++;\n        }\n        return result;\n      }, 0);\n      nodes = ArrUtils.filter(nodes, NodeType.matchNodeNames(node.nodeName));\n      index = ArrUtils.findIndex(nodes, equal$1(node), node);\n      return index - numTextFragments;\n    };\n    var createPathItem = function (node) {\n      var name;\n      if (isText$5(node)) {\n        name = 'text()';\n      } else {\n        name = node.nodeName.toLowerCase();\n      }\n      return name + '[' + normalizedNodeIndex(node) + ']';\n    };\n    var parentsUntil = function (root, node, predicate) {\n      var parents = [];\n      for (node = node.parentNode; node !== root; node = node.parentNode) {\n        if (predicate && predicate(node)) {\n          break;\n        }\n        parents.push(node);\n      }\n      return parents;\n    };\n    var create$2 = function (root, caretPosition) {\n      var container, offset, path = [], outputOffset, childNodes, parents;\n      container = caretPosition.container();\n      offset = caretPosition.offset();\n      if (isText$5(container)) {\n        outputOffset = normalizedTextOffset(container, offset);\n      } else {\n        childNodes = container.childNodes;\n        if (offset >= childNodes.length) {\n          outputOffset = 'after';\n          offset = childNodes.length - 1;\n        } else {\n          outputOffset = 'before';\n        }\n        container = childNodes[offset];\n      }\n      path.push(createPathItem(container));\n      parents = parentsUntil(root, container);\n      parents = ArrUtils.filter(parents, not(NodeType.isBogus));\n      path = path.concat(ArrUtils.map(parents, function (node) {\n        return createPathItem(node);\n      }));\n      return path.reverse().join('/') + ',' + outputOffset;\n    };\n    var resolvePathItem = function (node, name, index) {\n      var nodes = getChildNodes(node);\n      nodes = ArrUtils.filter(nodes, function (node, index) {\n        return !isText$5(node) || !isText$5(nodes[index - 1]);\n      });\n      nodes = ArrUtils.filter(nodes, NodeType.matchNodeNames(name));\n      return nodes[index];\n    };\n    var findTextPosition = function (container, offset) {\n      var node = container, targetOffset = 0, dataLen;\n      while (isText$5(node)) {\n        dataLen = node.data.length;\n        if (offset >= targetOffset && offset <= targetOffset + dataLen) {\n          container = node;\n          offset = offset - targetOffset;\n          break;\n        }\n        if (!isText$5(node.nextSibling)) {\n          container = node;\n          offset = dataLen;\n          break;\n        }\n        targetOffset += dataLen;\n        node = node.nextSibling;\n      }\n      if (isText$5(container) && offset > container.data.length) {\n        offset = container.data.length;\n      }\n      return CaretPosition$1(container, offset);\n    };\n    var resolve$2 = function (root, path) {\n      var parts, container, offset;\n      if (!path) {\n        return null;\n      }\n      parts = path.split(',');\n      path = parts[0].split('/');\n      offset = parts.length > 1 ? parts[1] : 'before';\n      container = ArrUtils.reduce(path, function (result, value) {\n        value = /([\\w\\-\\(\\)]+)\\[([0-9]+)\\]/.exec(value);\n        if (!value) {\n          return null;\n        }\n        if (value[1] === 'text()') {\n          value[1] = '#text';\n        }\n        return resolvePathItem(result, value[1], parseInt(value[2], 10));\n      }, root);\n      if (!container) {\n        return null;\n      }\n      if (!isText$5(container)) {\n        if (offset === 'after') {\n          offset = nodeIndex$1(container) + 1;\n        } else {\n          offset = nodeIndex$1(container);\n        }\n        return CaretPosition$1(container.parentNode, offset);\n      }\n      return findTextPosition(container, parseInt(offset, 10));\n    };\n\n    var isContentEditableFalse$2 = NodeType.isContentEditableFalse;\n    var getNormalizedTextOffset = function (trim, container, offset) {\n      var node, trimmedOffset;\n      trimmedOffset = trim(container.data.slice(0, offset)).length;\n      for (node = container.previousSibling; node && NodeType.isText(node); node = node.previousSibling) {\n        trimmedOffset += trim(node.data).length;\n      }\n      return trimmedOffset;\n    };\n    var getPoint = function (dom, trim, normalized, rng, start) {\n      var container = rng[start ? 'startContainer' : 'endContainer'];\n      var offset = rng[start ? 'startOffset' : 'endOffset'];\n      var point = [];\n      var childNodes, after = 0;\n      var root = dom.getRoot();\n      if (NodeType.isText(container)) {\n        point.push(normalized ? getNormalizedTextOffset(trim, container, offset) : offset);\n      } else {\n        childNodes = container.childNodes;\n        if (offset >= childNodes.length && childNodes.length) {\n          after = 1;\n          offset = Math.max(0, childNodes.length - 1);\n        }\n        point.push(dom.nodeIndex(childNodes[offset], normalized) + after);\n      }\n      for (; container && container !== root; container = container.parentNode) {\n        point.push(dom.nodeIndex(container, normalized));\n      }\n      return point;\n    };\n    var getLocation = function (trim, selection, normalized, rng) {\n      var dom = selection.dom, bookmark = {};\n      bookmark.start = getPoint(dom, trim, normalized, rng, true);\n      if (!selection.isCollapsed()) {\n        bookmark.end = getPoint(dom, trim, normalized, rng, false);\n      }\n      return bookmark;\n    };\n    var trimEmptyTextNode = function (node) {\n      if (NodeType.isText(node) && node.data.length === 0) {\n        node.parentNode.removeChild(node);\n      }\n    };\n    var findIndex$3 = function (dom, name, element) {\n      var count = 0;\n      Tools.each(dom.select(name), function (node) {\n        if (node.getAttribute('data-mce-bogus') === 'all') {\n          return;\n        }\n        if (node === element) {\n          return false;\n        }\n        count++;\n      });\n      return count;\n    };\n    var moveEndPoint = function (rng, start) {\n      var container, offset, childNodes;\n      var prefix = start ? 'start' : 'end';\n      container = rng[prefix + 'Container'];\n      offset = rng[prefix + 'Offset'];\n      if (NodeType.isElement(container) && container.nodeName === 'TR') {\n        childNodes = container.childNodes;\n        container = childNodes[Math.min(start ? offset : offset - 1, childNodes.length - 1)];\n        if (container) {\n          offset = start ? 0 : container.childNodes.length;\n          rng['set' + (start ? 'Start' : 'End')](container, offset);\n        }\n      }\n    };\n    var normalizeTableCellSelection = function (rng) {\n      moveEndPoint(rng, true);\n      moveEndPoint(rng, false);\n      return rng;\n    };\n    var findSibling = function (node, offset) {\n      var sibling;\n      if (NodeType.isElement(node)) {\n        node = getNode(node, offset);\n        if (isContentEditableFalse$2(node)) {\n          return node;\n        }\n      }\n      if (isCaretContainer(node)) {\n        if (NodeType.isText(node) && isCaretContainerBlock(node)) {\n          node = node.parentNode;\n        }\n        sibling = node.previousSibling;\n        if (isContentEditableFalse$2(sibling)) {\n          return sibling;\n        }\n        sibling = node.nextSibling;\n        if (isContentEditableFalse$2(sibling)) {\n          return sibling;\n        }\n      }\n    };\n    var findAdjacentContentEditableFalseElm = function (rng) {\n      return findSibling(rng.startContainer, rng.startOffset) || findSibling(rng.endContainer, rng.endOffset);\n    };\n    var getOffsetBookmark = function (trim, normalized, selection) {\n      var element = selection.getNode();\n      var name = element ? element.nodeName : null;\n      var rng = selection.getRng();\n      if (isContentEditableFalse$2(element) || name === 'IMG') {\n        return {\n          name: name,\n          index: findIndex$3(selection.dom, name, element)\n        };\n      }\n      var sibling = findAdjacentContentEditableFalseElm(rng);\n      if (sibling) {\n        name = sibling.tagName;\n        return {\n          name: name,\n          index: findIndex$3(selection.dom, name, sibling)\n        };\n      }\n      return getLocation(trim, selection, normalized, rng);\n    };\n    var getCaretBookmark = function (selection) {\n      var rng = selection.getRng();\n      return {\n        start: create$2(selection.dom.getRoot(), CaretPosition$1.fromRangeStart(rng)),\n        end: create$2(selection.dom.getRoot(), CaretPosition$1.fromRangeEnd(rng))\n      };\n    };\n    var getRangeBookmark = function (selection) {\n      return { rng: selection.getRng() };\n    };\n    var createBookmarkSpan = function (dom, id, filled) {\n      var args = {\n        'data-mce-type': 'bookmark',\n        'id': id,\n        'style': 'overflow:hidden;line-height:0px'\n      };\n      return filled ? dom.create('span', args, '&#xFEFF;') : dom.create('span', args);\n    };\n    var getPersistentBookmark = function (selection, filled) {\n      var dom = selection.dom;\n      var rng = selection.getRng();\n      var id = dom.uniqueId();\n      var collapsed = selection.isCollapsed();\n      var element = selection.getNode();\n      var name = element.nodeName;\n      if (name === 'IMG') {\n        return {\n          name: name,\n          index: findIndex$3(dom, name, element)\n        };\n      }\n      var rng2 = normalizeTableCellSelection(rng.cloneRange());\n      if (!collapsed) {\n        rng2.collapse(false);\n        var endBookmarkNode = createBookmarkSpan(dom, id + '_end', filled);\n        rng2.insertNode(endBookmarkNode);\n        trimEmptyTextNode(endBookmarkNode.nextSibling);\n      }\n      rng = normalizeTableCellSelection(rng);\n      rng.collapse(true);\n      var startBookmarkNode = createBookmarkSpan(dom, id + '_start', filled);\n      rng.insertNode(startBookmarkNode);\n      trimEmptyTextNode(startBookmarkNode.previousSibling);\n      trimEmptyTextNode(startBookmarkNode.nextSibling);\n      selection.moveToBookmark({\n        id: id,\n        keep: 1\n      });\n      return { id: id };\n    };\n    var getBookmark = function (selection, type, normalized) {\n      if (type === 2) {\n        return getOffsetBookmark(Zwsp.trim, normalized, selection);\n      } else if (type === 3) {\n        return getCaretBookmark(selection);\n      } else if (type) {\n        return getRangeBookmark(selection);\n      } else {\n        return getPersistentBookmark(selection, false);\n      }\n    };\n    var GetBookmark = {\n      getBookmark: getBookmark,\n      getUndoBookmark: curry(getOffsetBookmark, identity, true),\n      getPersistentBookmark: getPersistentBookmark\n    };\n\n    var CARET_ID = '_mce_caret';\n    var isCaretNode = function (node) {\n      return NodeType.isElement(node) && node.id === CARET_ID;\n    };\n    var getParentCaretContainer = function (body, node) {\n      while (node && node !== body) {\n        if (node.id === CARET_ID) {\n          return node;\n        }\n        node = node.parentNode;\n      }\n      return null;\n    };\n\n    var isElement$4 = NodeType.isElement;\n    var isText$6 = NodeType.isText;\n    var removeNode = function (node) {\n      var parentNode = node.parentNode;\n      if (parentNode) {\n        parentNode.removeChild(node);\n      }\n    };\n    var getNodeValue = function (node) {\n      try {\n        return node.nodeValue;\n      } catch (ex) {\n        return '';\n      }\n    };\n    var setNodeValue = function (node, text) {\n      if (text.length === 0) {\n        removeNode(node);\n      } else {\n        node.nodeValue = text;\n      }\n    };\n    var trimCount = function (text) {\n      var trimmedText = Zwsp.trim(text);\n      return {\n        count: text.length - trimmedText.length,\n        text: trimmedText\n      };\n    };\n    var removeUnchanged = function (caretContainer, pos) {\n      remove$7(caretContainer);\n      return pos;\n    };\n    var removeTextAndReposition = function (caretContainer, pos) {\n      var before = trimCount(caretContainer.data.substr(0, pos.offset()));\n      var after = trimCount(caretContainer.data.substr(pos.offset()));\n      var text = before.text + after.text;\n      if (text.length > 0) {\n        setNodeValue(caretContainer, text);\n        return CaretPosition$1(caretContainer, pos.offset() - before.count);\n      } else {\n        return pos;\n      }\n    };\n    var removeElementAndReposition = function (caretContainer, pos) {\n      var parentNode = pos.container();\n      var newPosition = indexOf(from$1(parentNode.childNodes), caretContainer).map(function (index) {\n        return index < pos.offset() ? CaretPosition$1(parentNode, pos.offset() - 1) : pos;\n      }).getOr(pos);\n      remove$7(caretContainer);\n      return newPosition;\n    };\n    var removeTextCaretContainer = function (caretContainer, pos) {\n      return isText$6(caretContainer) && pos.container() === caretContainer ? removeTextAndReposition(caretContainer, pos) : removeUnchanged(caretContainer, pos);\n    };\n    var removeElementCaretContainer = function (caretContainer, pos) {\n      return pos.container() === caretContainer.parentNode ? removeElementAndReposition(caretContainer, pos) : removeUnchanged(caretContainer, pos);\n    };\n    var removeAndReposition = function (container, pos) {\n      return CaretPosition$1.isTextPosition(pos) ? removeTextCaretContainer(container, pos) : removeElementCaretContainer(container, pos);\n    };\n    var remove$7 = function (caretContainerNode) {\n      if (isElement$4(caretContainerNode) && isCaretContainer(caretContainerNode)) {\n        if (hasContent(caretContainerNode)) {\n          caretContainerNode.removeAttribute('data-mce-caret');\n        } else {\n          removeNode(caretContainerNode);\n        }\n      }\n      if (isText$6(caretContainerNode)) {\n        var text = Zwsp.trim(getNodeValue(caretContainerNode));\n        setNodeValue(caretContainerNode, text);\n      }\n    };\n    var CaretContainerRemove = {\n      removeAndReposition: removeAndReposition,\n      remove: remove$7\n    };\n\n    var browser$2 = PlatformDetection$1.detect().browser;\n    var isContentEditableFalse$3 = NodeType.isContentEditableFalse;\n    var isTableCell$1 = function (node) {\n      return NodeType.isElement(node) && /^(TD|TH)$/i.test(node.tagName);\n    };\n    var getAbsoluteClientRect = function (root, element, before) {\n      var clientRect = collapse(element.getBoundingClientRect(), before);\n      var docElm, scrollX, scrollY, margin, rootRect;\n      if (root.tagName === 'BODY') {\n        docElm = root.ownerDocument.documentElement;\n        scrollX = root.scrollLeft || docElm.scrollLeft;\n        scrollY = root.scrollTop || docElm.scrollTop;\n      } else {\n        rootRect = root.getBoundingClientRect();\n        scrollX = root.scrollLeft - rootRect.left;\n        scrollY = root.scrollTop - rootRect.top;\n      }\n      clientRect.left += scrollX;\n      clientRect.right += scrollX;\n      clientRect.top += scrollY;\n      clientRect.bottom += scrollY;\n      clientRect.width = 1;\n      margin = element.offsetWidth - element.clientWidth;\n      if (margin > 0) {\n        if (before) {\n          margin *= -1;\n        }\n        clientRect.left += margin;\n        clientRect.right += margin;\n      }\n      return clientRect;\n    };\n    var trimInlineCaretContainers = function (root) {\n      var contentEditableFalseNodes, node, sibling, i, data;\n      contentEditableFalseNodes = DomQuery('*[contentEditable=false]', root);\n      for (i = 0; i < contentEditableFalseNodes.length; i++) {\n        node = contentEditableFalseNodes[i];\n        sibling = node.previousSibling;\n        if (endsWithCaretContainer(sibling)) {\n          data = sibling.data;\n          if (data.length === 1) {\n            sibling.parentNode.removeChild(sibling);\n          } else {\n            sibling.deleteData(data.length - 1, 1);\n          }\n        }\n        sibling = node.nextSibling;\n        if (startsWithCaretContainer(sibling)) {\n          data = sibling.data;\n          if (data.length === 1) {\n            sibling.parentNode.removeChild(sibling);\n          } else {\n            sibling.deleteData(0, 1);\n          }\n        }\n      }\n    };\n    var FakeCaret = function (root, isBlock, hasFocus) {\n      var lastVisualCaret = Cell(Option.none());\n      var cursorInterval, caretContainerNode;\n      var show = function (before, element) {\n        var clientRect, rng;\n        hide();\n        if (isTableCell$1(element)) {\n          return null;\n        }\n        if (isBlock(element)) {\n          caretContainerNode = insertBlock('p', element, before);\n          clientRect = getAbsoluteClientRect(root, element, before);\n          DomQuery(caretContainerNode).css('top', clientRect.top);\n          var caret = DomQuery('<div class=\"mce-visual-caret\" data-mce-bogus=\"all\"></div>').css(clientRect).appendTo(root)[0];\n          lastVisualCaret.set(Option.some({\n            caret: caret,\n            element: element,\n            before: before\n          }));\n          lastVisualCaret.get().each(function (caretState) {\n            if (before) {\n              DomQuery(caretState.caret).addClass('mce-visual-caret-before');\n            }\n          });\n          startBlink();\n          rng = element.ownerDocument.createRange();\n          rng.setStart(caretContainerNode, 0);\n          rng.setEnd(caretContainerNode, 0);\n        } else {\n          caretContainerNode = insertInline(element, before);\n          rng = element.ownerDocument.createRange();\n          if (isContentEditableFalse$3(caretContainerNode.nextSibling)) {\n            rng.setStart(caretContainerNode, 0);\n            rng.setEnd(caretContainerNode, 0);\n          } else {\n            rng.setStart(caretContainerNode, 1);\n            rng.setEnd(caretContainerNode, 1);\n          }\n          return rng;\n        }\n        return rng;\n      };\n      var hide = function () {\n        trimInlineCaretContainers(root);\n        if (caretContainerNode) {\n          CaretContainerRemove.remove(caretContainerNode);\n          caretContainerNode = null;\n        }\n        lastVisualCaret.get().each(function (caretState) {\n          DomQuery(caretState.caret).remove();\n          lastVisualCaret.set(Option.none());\n        });\n        clearInterval(cursorInterval);\n      };\n      var startBlink = function () {\n        cursorInterval = Delay.setInterval(function () {\n          if (hasFocus()) {\n            DomQuery('div.mce-visual-caret', root).toggleClass('mce-visual-caret-hidden');\n          } else {\n            DomQuery('div.mce-visual-caret', root).addClass('mce-visual-caret-hidden');\n          }\n        }, 500);\n      };\n      var reposition = function () {\n        lastVisualCaret.get().each(function (caretState) {\n          var clientRect = getAbsoluteClientRect(root, caretState.element, caretState.before);\n          DomQuery(caretState.caret).css(clientRect);\n        });\n      };\n      var destroy = function () {\n        return Delay.clearInterval(cursorInterval);\n      };\n      var getCss = function () {\n        return '.mce-visual-caret {' + 'position: absolute;' + 'background-color: black;' + 'background-color: currentcolor;' + '}' + '.mce-visual-caret-hidden {' + 'display: none;' + '}' + '*[data-mce-caret] {' + 'position: absolute;' + 'left: -1000px;' + 'right: auto;' + 'top: 0;' + 'margin: 0;' + 'padding: 0;' + '}';\n      };\n      return {\n        show: show,\n        hide: hide,\n        getCss: getCss,\n        reposition: reposition,\n        destroy: destroy\n      };\n    };\n    var isFakeCaretTableBrowser = function () {\n      return browser$2.isIE() || browser$2.isEdge() || browser$2.isFirefox();\n    };\n    var isFakeCaretTarget = function (node) {\n      return isContentEditableFalse$3(node) || NodeType.isTable(node) && isFakeCaretTableBrowser();\n    };\n\n    var is$3 = function (expected) {\n      return function (actual) {\n        return expected === actual;\n      };\n    };\n    var isNbsp = is$3('\\xA0');\n    var isWhiteSpace$1 = function (chr) {\n      return /^[\\r\\n\\t ]$/.test(chr);\n    };\n    var isContent = function (chr) {\n      return !isWhiteSpace$1(chr) && !isNbsp(chr);\n    };\n\n    var isContentEditableFalse$4 = NodeType.isContentEditableFalse;\n    var isBlockLike = NodeType.matchStyleValues('display', 'block table table-cell table-caption list-item');\n    var isCaretContainer$2 = isCaretContainer;\n    var isCaretContainerBlock$1 = isCaretContainerBlock;\n    var isElement$5 = NodeType.isElement;\n    var isCaretCandidate$2 = isCaretCandidate;\n    var isForwards = function (direction) {\n      return direction > 0;\n    };\n    var isBackwards = function (direction) {\n      return direction < 0;\n    };\n    var skipCaretContainers = function (walk, shallow) {\n      var node;\n      while (node = walk(shallow)) {\n        if (!isCaretContainerBlock$1(node)) {\n          return node;\n        }\n      }\n      return null;\n    };\n    var findNode = function (node, direction, predicateFn, rootNode, shallow) {\n      var walker = new TreeWalker(node, rootNode);\n      if (isBackwards(direction)) {\n        if (isContentEditableFalse$4(node) || isCaretContainerBlock$1(node)) {\n          node = skipCaretContainers(walker.prev, true);\n          if (predicateFn(node)) {\n            return node;\n          }\n        }\n        while (node = skipCaretContainers(walker.prev, shallow)) {\n          if (predicateFn(node)) {\n            return node;\n          }\n        }\n      }\n      if (isForwards(direction)) {\n        if (isContentEditableFalse$4(node) || isCaretContainerBlock$1(node)) {\n          node = skipCaretContainers(walker.next, true);\n          if (predicateFn(node)) {\n            return node;\n          }\n        }\n        while (node = skipCaretContainers(walker.next, shallow)) {\n          if (predicateFn(node)) {\n            return node;\n          }\n        }\n      }\n      return null;\n    };\n    var getParentBlock = function (node, rootNode) {\n      while (node && node !== rootNode) {\n        if (isBlockLike(node)) {\n          return node;\n        }\n        node = node.parentNode;\n      }\n      return null;\n    };\n    var isInSameBlock = function (caretPosition1, caretPosition2, rootNode) {\n      return getParentBlock(caretPosition1.container(), rootNode) === getParentBlock(caretPosition2.container(), rootNode);\n    };\n    var getChildNodeAtRelativeOffset = function (relativeOffset, caretPosition) {\n      var container, offset;\n      if (!caretPosition) {\n        return null;\n      }\n      container = caretPosition.container();\n      offset = caretPosition.offset();\n      if (!isElement$5(container)) {\n        return null;\n      }\n      return container.childNodes[offset + relativeOffset];\n    };\n    var beforeAfter = function (before, node) {\n      var range = node.ownerDocument.createRange();\n      if (before) {\n        range.setStartBefore(node);\n        range.setEndBefore(node);\n      } else {\n        range.setStartAfter(node);\n        range.setEndAfter(node);\n      }\n      return range;\n    };\n    var isNodesInSameBlock = function (root, node1, node2) {\n      return getParentBlock(node1, root) === getParentBlock(node2, root);\n    };\n    var lean = function (left, root, node) {\n      var sibling, siblingName;\n      if (left) {\n        siblingName = 'previousSibling';\n      } else {\n        siblingName = 'nextSibling';\n      }\n      while (node && node !== root) {\n        sibling = node[siblingName];\n        if (isCaretContainer$2(sibling)) {\n          sibling = sibling[siblingName];\n        }\n        if (isContentEditableFalse$4(sibling)) {\n          if (isNodesInSameBlock(root, sibling, node)) {\n            return sibling;\n          }\n          break;\n        }\n        if (isCaretCandidate$2(sibling)) {\n          break;\n        }\n        node = node.parentNode;\n      }\n      return null;\n    };\n    var before$2 = curry(beforeAfter, true);\n    var after$2 = curry(beforeAfter, false);\n    var normalizeRange = function (direction, root, range) {\n      var node, container, offset, location;\n      var leanLeft = curry(lean, true, root);\n      var leanRight = curry(lean, false, root);\n      container = range.startContainer;\n      offset = range.startOffset;\n      if (isCaretContainerBlock(container)) {\n        if (!isElement$5(container)) {\n          container = container.parentNode;\n        }\n        location = container.getAttribute('data-mce-caret');\n        if (location === 'before') {\n          node = container.nextSibling;\n          if (isFakeCaretTarget(node)) {\n            return before$2(node);\n          }\n        }\n        if (location === 'after') {\n          node = container.previousSibling;\n          if (isFakeCaretTarget(node)) {\n            return after$2(node);\n          }\n        }\n      }\n      if (!range.collapsed) {\n        return range;\n      }\n      if (NodeType.isText(container)) {\n        if (isCaretContainer$2(container)) {\n          if (direction === 1) {\n            node = leanRight(container);\n            if (node) {\n              return before$2(node);\n            }\n            node = leanLeft(container);\n            if (node) {\n              return after$2(node);\n            }\n          }\n          if (direction === -1) {\n            node = leanLeft(container);\n            if (node) {\n              return after$2(node);\n            }\n            node = leanRight(container);\n            if (node) {\n              return before$2(node);\n            }\n          }\n          return range;\n        }\n        if (endsWithCaretContainer(container) && offset >= container.data.length - 1) {\n          if (direction === 1) {\n            node = leanRight(container);\n            if (node) {\n              return before$2(node);\n            }\n          }\n          return range;\n        }\n        if (startsWithCaretContainer(container) && offset <= 1) {\n          if (direction === -1) {\n            node = leanLeft(container);\n            if (node) {\n              return after$2(node);\n            }\n          }\n          return range;\n        }\n        if (offset === container.data.length) {\n          node = leanRight(container);\n          if (node) {\n            return before$2(node);\n          }\n          return range;\n        }\n        if (offset === 0) {\n          node = leanLeft(container);\n          if (node) {\n            return after$2(node);\n          }\n          return range;\n        }\n      }\n      return range;\n    };\n    var isNextToContentEditableFalse = function (relativeOffset, caretPosition) {\n      var node = getChildNodeAtRelativeOffset(relativeOffset, caretPosition);\n      return isContentEditableFalse$4(node) && !NodeType.isBogusAll(node);\n    };\n    var isNextToTable = function (relativeOffset, caretPosition) {\n      return NodeType.isTable(getChildNodeAtRelativeOffset(relativeOffset, caretPosition));\n    };\n    var getRelativeCefElm = function (forward, caretPosition) {\n      return Option.from(getChildNodeAtRelativeOffset(forward ? 0 : -1, caretPosition)).filter(isContentEditableFalse$4);\n    };\n    var getNormalizedRangeEndPoint = function (direction, root, range) {\n      var normalizedRange = normalizeRange(direction, root, range);\n      if (direction === -1) {\n        return CaretPosition.fromRangeStart(normalizedRange);\n      }\n      return CaretPosition.fromRangeEnd(normalizedRange);\n    };\n    var isBeforeContentEditableFalse = curry(isNextToContentEditableFalse, 0);\n    var isAfterContentEditableFalse = curry(isNextToContentEditableFalse, -1);\n    var isBeforeTable = curry(isNextToTable, 0);\n    var isAfterTable = curry(isNextToTable, -1);\n    var isChar = function (forward, predicate, pos) {\n      return Option.from(pos.container()).filter(NodeType.isText).exists(function (text) {\n        var delta = forward ? 0 : -1;\n        return predicate(text.data.charAt(pos.offset() + delta));\n      });\n    };\n    var isBeforeSpace = curry(isChar, true, isWhiteSpace$1);\n    var isAfterSpace = curry(isChar, false, isWhiteSpace$1);\n    var getElementFromPosition = function (pos) {\n      return Option.from(pos.getNode()).map(Element$$1.fromDom);\n    };\n    var getElementFromPrevPosition = function (pos) {\n      return Option.from(pos.getNode(true)).map(Element$$1.fromDom);\n    };\n\n    var HDirection;\n    (function (HDirection) {\n      HDirection[HDirection['Backwards'] = -1] = 'Backwards';\n      HDirection[HDirection['Forwards'] = 1] = 'Forwards';\n    }(HDirection || (HDirection = {})));\n    var isContentEditableFalse$5 = NodeType.isContentEditableFalse;\n    var isText$7 = NodeType.isText;\n    var isElement$6 = NodeType.isElement;\n    var isBr$4 = NodeType.isBr;\n    var isCaretCandidate$3 = isCaretCandidate;\n    var isAtomic$1 = isAtomic;\n    var isEditableCaretCandidate$1 = isEditableCaretCandidate;\n    var getParents = function (node, root) {\n      var parents = [];\n      while (node && node !== root) {\n        parents.push(node);\n        node = node.parentNode;\n      }\n      return parents;\n    };\n    var nodeAtIndex = function (container, offset) {\n      if (container.hasChildNodes() && offset < container.childNodes.length) {\n        return container.childNodes[offset];\n      }\n      return null;\n    };\n    var getCaretCandidatePosition = function (direction, node) {\n      if (isForwards(direction)) {\n        if (isCaretCandidate$3(node.previousSibling) && !isText$7(node.previousSibling)) {\n          return CaretPosition$1.before(node);\n        }\n        if (isText$7(node)) {\n          return CaretPosition$1(node, 0);\n        }\n      }\n      if (isBackwards(direction)) {\n        if (isCaretCandidate$3(node.nextSibling) && !isText$7(node.nextSibling)) {\n          return CaretPosition$1.after(node);\n        }\n        if (isText$7(node)) {\n          return CaretPosition$1(node, node.data.length);\n        }\n      }\n      if (isBackwards(direction)) {\n        if (isBr$4(node)) {\n          return CaretPosition$1.before(node);\n        }\n        return CaretPosition$1.after(node);\n      }\n      return CaretPosition$1.before(node);\n    };\n    var moveForwardFromBr = function (root, nextNode) {\n      var nextSibling = nextNode.nextSibling;\n      if (nextSibling && isCaretCandidate$3(nextSibling)) {\n        if (isText$7(nextSibling)) {\n          return CaretPosition$1(nextSibling, 0);\n        } else {\n          return CaretPosition$1.before(nextSibling);\n        }\n      } else {\n        return findCaretPosition(HDirection.Forwards, CaretPosition$1.after(nextNode), root);\n      }\n    };\n    var findCaretPosition = function (direction, startPos, root) {\n      var node, nextNode, innerNode;\n      var rootContentEditableFalseElm, caretPosition;\n      if (!isElement$6(root) || !startPos) {\n        return null;\n      }\n      if (startPos.isEqual(CaretPosition$1.after(root)) && root.lastChild) {\n        caretPosition = CaretPosition$1.after(root.lastChild);\n        if (isBackwards(direction) && isCaretCandidate$3(root.lastChild) && isElement$6(root.lastChild)) {\n          return isBr$4(root.lastChild) ? CaretPosition$1.before(root.lastChild) : caretPosition;\n        }\n      } else {\n        caretPosition = startPos;\n      }\n      var container = caretPosition.container();\n      var offset = caretPosition.offset();\n      if (isText$7(container)) {\n        if (isBackwards(direction) && offset > 0) {\n          return CaretPosition$1(container, --offset);\n        }\n        if (isForwards(direction) && offset < container.length) {\n          return CaretPosition$1(container, ++offset);\n        }\n        node = container;\n      } else {\n        if (isBackwards(direction) && offset > 0) {\n          nextNode = nodeAtIndex(container, offset - 1);\n          if (isCaretCandidate$3(nextNode)) {\n            if (!isAtomic$1(nextNode)) {\n              innerNode = findNode(nextNode, direction, isEditableCaretCandidate$1, nextNode);\n              if (innerNode) {\n                if (isText$7(innerNode)) {\n                  return CaretPosition$1(innerNode, innerNode.data.length);\n                }\n                return CaretPosition$1.after(innerNode);\n              }\n            }\n            if (isText$7(nextNode)) {\n              return CaretPosition$1(nextNode, nextNode.data.length);\n            }\n            return CaretPosition$1.before(nextNode);\n          }\n        }\n        if (isForwards(direction) && offset < container.childNodes.length) {\n          nextNode = nodeAtIndex(container, offset);\n          if (isCaretCandidate$3(nextNode)) {\n            if (isBr$4(nextNode)) {\n              return moveForwardFromBr(root, nextNode);\n            }\n            if (!isAtomic$1(nextNode)) {\n              innerNode = findNode(nextNode, direction, isEditableCaretCandidate$1, nextNode);\n              if (innerNode) {\n                if (isText$7(innerNode)) {\n                  return CaretPosition$1(innerNode, 0);\n                }\n                return CaretPosition$1.before(innerNode);\n              }\n            }\n            if (isText$7(nextNode)) {\n              return CaretPosition$1(nextNode, 0);\n            }\n            return CaretPosition$1.after(nextNode);\n          }\n        }\n        node = nextNode ? nextNode : caretPosition.getNode();\n      }\n      if (isForwards(direction) && caretPosition.isAtEnd() || isBackwards(direction) && caretPosition.isAtStart()) {\n        node = findNode(node, direction, constant(true), root, true);\n        if (isEditableCaretCandidate$1(node, root)) {\n          return getCaretCandidatePosition(direction, node);\n        }\n      }\n      nextNode = findNode(node, direction, isEditableCaretCandidate$1, root);\n      rootContentEditableFalseElm = ArrUtils.last(filter(getParents(container, root), isContentEditableFalse$5));\n      if (rootContentEditableFalseElm && (!nextNode || !rootContentEditableFalseElm.contains(nextNode))) {\n        if (isForwards(direction)) {\n          caretPosition = CaretPosition$1.after(rootContentEditableFalseElm);\n        } else {\n          caretPosition = CaretPosition$1.before(rootContentEditableFalseElm);\n        }\n        return caretPosition;\n      }\n      if (nextNode) {\n        return getCaretCandidatePosition(direction, nextNode);\n      }\n      return null;\n    };\n    var CaretWalker = function (root) {\n      return {\n        next: function (caretPosition) {\n          return findCaretPosition(HDirection.Forwards, caretPosition, root);\n        },\n        prev: function (caretPosition) {\n          return findCaretPosition(HDirection.Backwards, caretPosition, root);\n        }\n      };\n    };\n\n    var walkToPositionIn = function (forward, root, start) {\n      var position = forward ? CaretPosition$1.before(start) : CaretPosition$1.after(start);\n      return fromPosition(forward, root, position);\n    };\n    var afterElement = function (node) {\n      return NodeType.isBr(node) ? CaretPosition$1.before(node) : CaretPosition$1.after(node);\n    };\n    var isBeforeOrStart = function (position) {\n      if (CaretPosition$1.isTextPosition(position)) {\n        return position.offset() === 0;\n      } else {\n        return isCaretCandidate(position.getNode());\n      }\n    };\n    var isAfterOrEnd = function (position) {\n      if (CaretPosition$1.isTextPosition(position)) {\n        var container = position.container();\n        return position.offset() === container.data.length;\n      } else {\n        return isCaretCandidate(position.getNode(true));\n      }\n    };\n    var isBeforeAfterSameElement = function (from, to) {\n      return !CaretPosition$1.isTextPosition(from) && !CaretPosition$1.isTextPosition(to) && from.getNode() === to.getNode(true);\n    };\n    var isAtBr = function (position) {\n      return !CaretPosition$1.isTextPosition(position) && NodeType.isBr(position.getNode());\n    };\n    var shouldSkipPosition = function (forward, from, to) {\n      if (forward) {\n        return !isBeforeAfterSameElement(from, to) && !isAtBr(from) && isAfterOrEnd(from) && isBeforeOrStart(to);\n      } else {\n        return !isBeforeAfterSameElement(to, from) && isBeforeOrStart(from) && isAfterOrEnd(to);\n      }\n    };\n    var fromPosition = function (forward, root, pos) {\n      var walker = CaretWalker(root);\n      return Option.from(forward ? walker.next(pos) : walker.prev(pos));\n    };\n    var navigate = function (forward, root, from) {\n      return fromPosition(forward, root, from).bind(function (to) {\n        if (isInSameBlock(from, to, root) && shouldSkipPosition(forward, from, to)) {\n          return fromPosition(forward, root, to);\n        } else {\n          return Option.some(to);\n        }\n      });\n    };\n    var positionIn = function (forward, element) {\n      var startNode = forward ? element.firstChild : element.lastChild;\n      if (NodeType.isText(startNode)) {\n        return Option.some(CaretPosition$1(startNode, forward ? 0 : startNode.data.length));\n      } else if (startNode) {\n        if (isCaretCandidate(startNode)) {\n          return Option.some(forward ? CaretPosition$1.before(startNode) : afterElement(startNode));\n        } else {\n          return walkToPositionIn(forward, element, startNode);\n        }\n      } else {\n        return Option.none();\n      }\n    };\n    var nextPosition = curry(fromPosition, true);\n    var prevPosition = curry(fromPosition, false);\n    var CaretFinder = {\n      fromPosition: fromPosition,\n      nextPosition: nextPosition,\n      prevPosition: prevPosition,\n      navigate: navigate,\n      positionIn: positionIn,\n      firstPositionIn: curry(positionIn, true),\n      lastPositionIn: curry(positionIn, false)\n    };\n\n    var isStringPathBookmark = function (bookmark) {\n      return typeof bookmark.start === 'string';\n    };\n    var isRangeBookmark = function (bookmark) {\n      return bookmark.hasOwnProperty('rng');\n    };\n    var isIdBookmark = function (bookmark) {\n      return bookmark.hasOwnProperty('id');\n    };\n    var isIndexBookmark = function (bookmark) {\n      return bookmark.hasOwnProperty('name');\n    };\n    var isPathBookmark = function (bookmark) {\n      return Tools.isArray(bookmark.start);\n    };\n\n    var addBogus = function (dom, node) {\n      if (dom.isBlock(node) && !node.innerHTML && !Env.ie) {\n        node.innerHTML = '<br data-mce-bogus=\"1\" />';\n      }\n      return node;\n    };\n    var resolveCaretPositionBookmark = function (dom, bookmark) {\n      var rng, pos;\n      rng = dom.createRng();\n      pos = resolve$2(dom.getRoot(), bookmark.start);\n      rng.setStart(pos.container(), pos.offset());\n      pos = resolve$2(dom.getRoot(), bookmark.end);\n      rng.setEnd(pos.container(), pos.offset());\n      return rng;\n    };\n    var insertZwsp = function (node, rng) {\n      var textNode = node.ownerDocument.createTextNode(Zwsp.ZWSP);\n      node.appendChild(textNode);\n      rng.setStart(textNode, 0);\n      rng.setEnd(textNode, 0);\n    };\n    var isEmpty = function (node) {\n      return node.hasChildNodes() === false;\n    };\n    var tryFindRangePosition = function (node, rng) {\n      return CaretFinder.lastPositionIn(node).fold(function () {\n        return false;\n      }, function (pos) {\n        rng.setStart(pos.container(), pos.offset());\n        rng.setEnd(pos.container(), pos.offset());\n        return true;\n      });\n    };\n    var padEmptyCaretContainer = function (root, node, rng) {\n      if (isEmpty(node) && getParentCaretContainer(root, node)) {\n        insertZwsp(node, rng);\n        return true;\n      } else {\n        return false;\n      }\n    };\n    var setEndPoint = function (dom, start, bookmark, rng) {\n      var point = bookmark[start ? 'start' : 'end'];\n      var i, node, offset, children;\n      var root = dom.getRoot();\n      if (point) {\n        offset = point[0];\n        for (node = root, i = point.length - 1; i >= 1; i--) {\n          children = node.childNodes;\n          if (padEmptyCaretContainer(root, node, rng)) {\n            return true;\n          }\n          if (point[i] > children.length - 1) {\n            if (padEmptyCaretContainer(root, node, rng)) {\n              return true;\n            }\n            return tryFindRangePosition(node, rng);\n          }\n          node = children[point[i]];\n        }\n        if (node.nodeType === 3) {\n          offset = Math.min(point[0], node.nodeValue.length);\n        }\n        if (node.nodeType === 1) {\n          offset = Math.min(point[0], node.childNodes.length);\n        }\n        if (start) {\n          rng.setStart(node, offset);\n        } else {\n          rng.setEnd(node, offset);\n        }\n      }\n      return true;\n    };\n    var isValidTextNode = function (node) {\n      return NodeType.isText(node) && node.data.length > 0;\n    };\n    var restoreEndPoint = function (dom, suffix, bookmark) {\n      var marker = dom.get(bookmark.id + '_' + suffix), node, idx, next, prev;\n      var keep = bookmark.keep;\n      var container, offset;\n      if (marker) {\n        node = marker.parentNode;\n        if (suffix === 'start') {\n          if (!keep) {\n            idx = dom.nodeIndex(marker);\n          } else {\n            if (marker.hasChildNodes()) {\n              node = marker.firstChild;\n              idx = 1;\n            } else if (isValidTextNode(marker.nextSibling)) {\n              node = marker.nextSibling;\n              idx = 0;\n            } else if (isValidTextNode(marker.previousSibling)) {\n              node = marker.previousSibling;\n              idx = marker.previousSibling.data.length;\n            } else {\n              node = marker.parentNode;\n              idx = dom.nodeIndex(marker) + 1;\n            }\n          }\n          container = node;\n          offset = idx;\n        } else {\n          if (!keep) {\n            idx = dom.nodeIndex(marker);\n          } else {\n            if (marker.hasChildNodes()) {\n              node = marker.firstChild;\n              idx = 1;\n            } else if (isValidTextNode(marker.previousSibling)) {\n              node = marker.previousSibling;\n              idx = marker.previousSibling.data.length;\n            } else {\n              node = marker.parentNode;\n              idx = dom.nodeIndex(marker);\n            }\n          }\n          container = node;\n          offset = idx;\n        }\n        if (!keep) {\n          prev = marker.previousSibling;\n          next = marker.nextSibling;\n          Tools.each(Tools.grep(marker.childNodes), function (node) {\n            if (NodeType.isText(node)) {\n              node.nodeValue = node.nodeValue.replace(/\\uFEFF/g, '');\n            }\n          });\n          while (marker = dom.get(bookmark.id + '_' + suffix)) {\n            dom.remove(marker, true);\n          }\n          if (prev && next && prev.nodeType === next.nodeType && NodeType.isText(prev) && !Env.opera) {\n            idx = prev.nodeValue.length;\n            prev.appendData(next.nodeValue);\n            dom.remove(next);\n            if (suffix === 'start') {\n              container = prev;\n              offset = idx;\n            } else {\n              container = prev;\n              offset = idx;\n            }\n          }\n        }\n        return Option.some(CaretPosition$1(container, offset));\n      } else {\n        return Option.none();\n      }\n    };\n    var alt = function (o1, o2) {\n      return o1.isSome() ? o1 : o2;\n    };\n    var resolvePaths = function (dom, bookmark) {\n      var rng = dom.createRng();\n      if (setEndPoint(dom, true, bookmark, rng) && setEndPoint(dom, false, bookmark, rng)) {\n        return Option.some(rng);\n      } else {\n        return Option.none();\n      }\n    };\n    var resolveId = function (dom, bookmark) {\n      var startPos = restoreEndPoint(dom, 'start', bookmark);\n      var endPos = restoreEndPoint(dom, 'end', bookmark);\n      return liftN([\n        startPos,\n        alt(endPos, startPos)\n      ], function (spos, epos) {\n        var rng = dom.createRng();\n        rng.setStart(addBogus(dom, spos.container()), spos.offset());\n        rng.setEnd(addBogus(dom, epos.container()), epos.offset());\n        return rng;\n      });\n    };\n    var resolveIndex$1 = function (dom, bookmark) {\n      return Option.from(dom.select(bookmark.name)[bookmark.index]).map(function (elm) {\n        var rng = dom.createRng();\n        rng.selectNode(elm);\n        return rng;\n      });\n    };\n    var resolve$3 = function (selection, bookmark) {\n      var dom = selection.dom;\n      if (bookmark) {\n        if (isPathBookmark(bookmark)) {\n          return resolvePaths(dom, bookmark);\n        } else if (isStringPathBookmark(bookmark)) {\n          return Option.some(resolveCaretPositionBookmark(dom, bookmark));\n        } else if (isIdBookmark(bookmark)) {\n          return resolveId(dom, bookmark);\n        } else if (isIndexBookmark(bookmark)) {\n          return resolveIndex$1(dom, bookmark);\n        } else if (isRangeBookmark(bookmark)) {\n          return Option.some(bookmark.rng);\n        }\n      }\n      return Option.none();\n    };\n    var ResolveBookmark = { resolve: resolve$3 };\n\n    var getBookmark$1 = function (selection, type, normalized) {\n      return GetBookmark.getBookmark(selection, type, normalized);\n    };\n    var moveToBookmark = function (selection, bookmark) {\n      ResolveBookmark.resolve(selection, bookmark).each(function (rng) {\n        selection.setRng(rng);\n      });\n    };\n    var isBookmarkNode$1 = function (node) {\n      return NodeType.isElement(node) && node.tagName === 'SPAN' && node.getAttribute('data-mce-type') === 'bookmark';\n    };\n    var Bookmarks = {\n      getBookmark: getBookmark$1,\n      moveToBookmark: moveToBookmark,\n      isBookmarkNode: isBookmarkNode$1\n    };\n\n    var isInlineBlock = function (node) {\n      return node && /^(IMG)$/.test(node.nodeName);\n    };\n    var moveStart = function (dom, selection, rng) {\n      var offset = rng.startOffset;\n      var container = rng.startContainer, walker, node, nodes;\n      if (rng.startContainer === rng.endContainer) {\n        if (isInlineBlock(rng.startContainer.childNodes[rng.startOffset])) {\n          return;\n        }\n      }\n      if (container.nodeType === 1) {\n        nodes = container.childNodes;\n        if (offset < nodes.length) {\n          container = nodes[offset];\n          walker = new TreeWalker(container, dom.getParent(container, dom.isBlock));\n        } else {\n          container = nodes[nodes.length - 1];\n          walker = new TreeWalker(container, dom.getParent(container, dom.isBlock));\n          walker.next(true);\n        }\n        for (node = walker.current(); node; node = walker.next()) {\n          if (node.nodeType === 3 && !isWhiteSpaceNode(node)) {\n            rng.setStart(node, 0);\n            selection.setRng(rng);\n            return;\n          }\n        }\n      }\n    };\n    var getNonWhiteSpaceSibling = function (node, next, inc) {\n      if (node) {\n        next = next ? 'nextSibling' : 'previousSibling';\n        for (node = inc ? node : node[next]; node; node = node[next]) {\n          if (node.nodeType === 1 || !isWhiteSpaceNode(node)) {\n            return node;\n          }\n        }\n      }\n    };\n    var isTextBlock$1 = function (editor, name) {\n      if (name.nodeType) {\n        name = name.nodeName;\n      }\n      return !!editor.schema.getTextBlockElements()[name.toLowerCase()];\n    };\n    var isValid = function (ed, parent, child) {\n      return ed.schema.isValidChild(parent, child);\n    };\n    var isWhiteSpaceNode = function (node) {\n      return node && node.nodeType === 3 && /^([\\t \\r\\n]+|)$/.test(node.nodeValue);\n    };\n    var replaceVars = function (value, vars) {\n      if (typeof value !== 'string') {\n        value = value(vars);\n      } else if (vars) {\n        value = value.replace(/%(\\w+)/g, function (str, name) {\n          return vars[name] || str;\n        });\n      }\n      return value;\n    };\n    var isEq = function (str1, str2) {\n      str1 = str1 || '';\n      str2 = str2 || '';\n      str1 = '' + (str1.nodeName || str1);\n      str2 = '' + (str2.nodeName || str2);\n      return str1.toLowerCase() === str2.toLowerCase();\n    };\n    var normalizeStyleValue = function (dom, value, name) {\n      if (name === 'color' || name === 'backgroundColor') {\n        value = dom.toHex(value);\n      }\n      if (name === 'fontWeight' && value === 700) {\n        value = 'bold';\n      }\n      if (name === 'fontFamily') {\n        value = value.replace(/[\\'\\\"]/g, '').replace(/,\\s+/g, ',');\n      }\n      return '' + value;\n    };\n    var getStyle = function (dom, node, name) {\n      return normalizeStyleValue(dom, dom.getStyle(node, name), name);\n    };\n    var getTextDecoration = function (dom, node) {\n      var decoration;\n      dom.getParent(node, function (n) {\n        decoration = dom.getStyle(n, 'text-decoration');\n        return decoration && decoration !== 'none';\n      });\n      return decoration;\n    };\n    var getParents$1 = function (dom, node, selector) {\n      return dom.getParents(node, selector, dom.getRoot());\n    };\n    var FormatUtils = {\n      isInlineBlock: isInlineBlock,\n      moveStart: moveStart,\n      getNonWhiteSpaceSibling: getNonWhiteSpaceSibling,\n      isTextBlock: isTextBlock$1,\n      isValid: isValid,\n      isWhiteSpaceNode: isWhiteSpaceNode,\n      replaceVars: replaceVars,\n      isEq: isEq,\n      normalizeStyleValue: normalizeStyleValue,\n      getStyle: getStyle,\n      getTextDecoration: getTextDecoration,\n      getParents: getParents$1\n    };\n\n    var isBookmarkNode$2 = Bookmarks.isBookmarkNode;\n    var getParents$2 = FormatUtils.getParents, isWhiteSpaceNode$1 = FormatUtils.isWhiteSpaceNode, isTextBlock$2 = FormatUtils.isTextBlock;\n    var findLeaf = function (node, offset) {\n      if (typeof offset === 'undefined') {\n        offset = node.nodeType === 3 ? node.length : node.childNodes.length;\n      }\n      while (node && node.hasChildNodes()) {\n        node = node.childNodes[offset];\n        if (node) {\n          offset = node.nodeType === 3 ? node.length : node.childNodes.length;\n        }\n      }\n      return {\n        node: node,\n        offset: offset\n      };\n    };\n    var excludeTrailingWhitespace = function (endContainer, endOffset) {\n      var leaf = findLeaf(endContainer, endOffset);\n      if (leaf.node) {\n        while (leaf.node && leaf.offset === 0 && leaf.node.previousSibling) {\n          leaf = findLeaf(leaf.node.previousSibling);\n        }\n        if (leaf.node && leaf.offset > 0 && leaf.node.nodeType === 3 && leaf.node.nodeValue.charAt(leaf.offset - 1) === ' ') {\n          if (leaf.offset > 1) {\n            endContainer = leaf.node;\n            endContainer.splitText(leaf.offset - 1);\n          }\n        }\n      }\n      return endContainer;\n    };\n    var isBogusBr = function (node) {\n      return node.nodeName === 'BR' && node.getAttribute('data-mce-bogus') && !node.nextSibling;\n    };\n    var findParentContentEditable = function (dom, node) {\n      var parent = node;\n      while (parent) {\n        if (parent.nodeType === 1 && dom.getContentEditable(parent)) {\n          return dom.getContentEditable(parent) === 'false' ? parent : node;\n        }\n        parent = parent.parentNode;\n      }\n      return node;\n    };\n    var findSpace = function (start, remove, node, offset) {\n      var pos, pos2;\n      var str = node.nodeValue;\n      if (typeof offset === 'undefined') {\n        offset = start ? str.length : 0;\n      }\n      if (start) {\n        pos = str.lastIndexOf(' ', offset);\n        pos2 = str.lastIndexOf('\\xA0', offset);\n        pos = pos > pos2 ? pos : pos2;\n        if (pos !== -1 && !remove && (pos < offset || !start) && pos <= str.length) {\n          pos++;\n        }\n      } else {\n        pos = str.indexOf(' ', offset);\n        pos2 = str.indexOf('\\xA0', offset);\n        pos = pos !== -1 && (pos2 === -1 || pos < pos2) ? pos : pos2;\n      }\n      return pos;\n    };\n    var findWordEndPoint = function (dom, body, container, offset, start, remove) {\n      var walker, node, pos, lastTextNode;\n      if (container.nodeType === 3) {\n        pos = findSpace(start, remove, container, offset);\n        if (pos !== -1) {\n          return {\n            container: container,\n            offset: pos\n          };\n        }\n        lastTextNode = container;\n      }\n      walker = new TreeWalker(container, dom.getParent(container, dom.isBlock) || body);\n      while (node = walker[start ? 'prev' : 'next']()) {\n        if (node.nodeType === 3 && !isBookmarkNode$2(node.parentNode)) {\n          lastTextNode = node;\n          pos = findSpace(start, remove, node);\n          if (pos !== -1) {\n            return {\n              container: node,\n              offset: pos\n            };\n          }\n        } else if (dom.isBlock(node) || FormatUtils.isEq(node, 'BR')) {\n          break;\n        }\n      }\n      if (lastTextNode) {\n        if (start) {\n          offset = 0;\n        } else {\n          offset = lastTextNode.length;\n        }\n        return {\n          container: lastTextNode,\n          offset: offset\n        };\n      }\n    };\n    var findSelectorEndPoint = function (dom, format, rng, container, siblingName) {\n      var parents, i, y, curFormat;\n      if (container.nodeType === 3 && container.nodeValue.length === 0 && container[siblingName]) {\n        container = container[siblingName];\n      }\n      parents = getParents$2(dom, container);\n      for (i = 0; i < parents.length; i++) {\n        for (y = 0; y < format.length; y++) {\n          curFormat = format[y];\n          if ('collapsed' in curFormat && curFormat.collapsed !== rng.collapsed) {\n            continue;\n          }\n          if (dom.is(parents[i], curFormat.selector)) {\n            return parents[i];\n          }\n        }\n      }\n      return container;\n    };\n    var findBlockEndPoint = function (editor, format, container, siblingName) {\n      var node;\n      var dom = editor.dom;\n      var root = dom.getRoot();\n      if (!format[0].wrapper) {\n        node = dom.getParent(container, format[0].block, root);\n      }\n      if (!node) {\n        var scopeRoot = dom.getParent(container, 'LI,TD,TH');\n        node = dom.getParent(container.nodeType === 3 ? container.parentNode : container, function (node) {\n          return node !== root && isTextBlock$2(editor, node);\n        }, scopeRoot);\n      }\n      if (node && format[0].wrapper) {\n        node = getParents$2(dom, node, 'ul,ol').reverse()[0] || node;\n      }\n      if (!node) {\n        node = container;\n        while (node[siblingName] && !dom.isBlock(node[siblingName])) {\n          node = node[siblingName];\n          if (FormatUtils.isEq(node, 'br')) {\n            break;\n          }\n        }\n      }\n      return node || container;\n    };\n    var findParentContainer = function (dom, format, startContainer, startOffset, endContainer, endOffset, start) {\n      var container, parent, sibling, siblingName, root;\n      container = parent = start ? startContainer : endContainer;\n      siblingName = start ? 'previousSibling' : 'nextSibling';\n      root = dom.getRoot();\n      if (container.nodeType === 3 && !isWhiteSpaceNode$1(container)) {\n        if (start ? startOffset > 0 : endOffset < container.nodeValue.length) {\n          return container;\n        }\n      }\n      while (true) {\n        if (!format[0].block_expand && dom.isBlock(parent)) {\n          return parent;\n        }\n        for (sibling = parent[siblingName]; sibling; sibling = sibling[siblingName]) {\n          if (!isBookmarkNode$2(sibling) && !isWhiteSpaceNode$1(sibling) && !isBogusBr(sibling)) {\n            return parent;\n          }\n        }\n        if (parent === root || parent.parentNode === root) {\n          container = parent;\n          break;\n        }\n        parent = parent.parentNode;\n      }\n      return container;\n    };\n    var expandRng = function (editor, rng, format, remove) {\n      var endPoint, startContainer = rng.startContainer, startOffset = rng.startOffset, endContainer = rng.endContainer, endOffset = rng.endOffset;\n      var dom = editor.dom;\n      if (startContainer.nodeType === 1 && startContainer.hasChildNodes()) {\n        startContainer = getNode(startContainer, startOffset);\n        if (startContainer.nodeType === 3) {\n          startOffset = 0;\n        }\n      }\n      if (endContainer.nodeType === 1 && endContainer.hasChildNodes()) {\n        endContainer = getNode(endContainer, rng.collapsed ? endOffset : endOffset - 1);\n        if (endContainer.nodeType === 3) {\n          endOffset = endContainer.nodeValue.length;\n        }\n      }\n      startContainer = findParentContentEditable(dom, startContainer);\n      endContainer = findParentContentEditable(dom, endContainer);\n      if (isBookmarkNode$2(startContainer.parentNode) || isBookmarkNode$2(startContainer)) {\n        startContainer = isBookmarkNode$2(startContainer) ? startContainer : startContainer.parentNode;\n        if (rng.collapsed) {\n          startContainer = startContainer.previousSibling || startContainer;\n        } else {\n          startContainer = startContainer.nextSibling || startContainer;\n        }\n        if (startContainer.nodeType === 3) {\n          startOffset = rng.collapsed ? startContainer.length : 0;\n        }\n      }\n      if (isBookmarkNode$2(endContainer.parentNode) || isBookmarkNode$2(endContainer)) {\n        endContainer = isBookmarkNode$2(endContainer) ? endContainer : endContainer.parentNode;\n        if (rng.collapsed) {\n          endContainer = endContainer.nextSibling || endContainer;\n        } else {\n          endContainer = endContainer.previousSibling || endContainer;\n        }\n        if (endContainer.nodeType === 3) {\n          endOffset = rng.collapsed ? 0 : endContainer.length;\n        }\n      }\n      if (rng.collapsed) {\n        endPoint = findWordEndPoint(dom, editor.getBody(), startContainer, startOffset, true, remove);\n        if (endPoint) {\n          startContainer = endPoint.container;\n          startOffset = endPoint.offset;\n        }\n        endPoint = findWordEndPoint(dom, editor.getBody(), endContainer, endOffset, false, remove);\n        if (endPoint) {\n          endContainer = endPoint.container;\n          endOffset = endPoint.offset;\n        }\n      }\n      if (format[0].inline) {\n        endContainer = remove ? endContainer : excludeTrailingWhitespace(endContainer, endOffset);\n      }\n      if (format[0].inline || format[0].block_expand) {\n        if (!format[0].inline || (startContainer.nodeType !== 3 || startOffset === 0)) {\n          startContainer = findParentContainer(dom, format, startContainer, startOffset, endContainer, endOffset, true);\n        }\n        if (!format[0].inline || (endContainer.nodeType !== 3 || endOffset === endContainer.nodeValue.length)) {\n          endContainer = findParentContainer(dom, format, startContainer, startOffset, endContainer, endOffset, false);\n        }\n      }\n      if (format[0].selector && format[0].expand !== false && !format[0].inline) {\n        startContainer = findSelectorEndPoint(dom, format, rng, startContainer, 'previousSibling');\n        endContainer = findSelectorEndPoint(dom, format, rng, endContainer, 'nextSibling');\n      }\n      if (format[0].block || format[0].selector) {\n        startContainer = findBlockEndPoint(editor, format, startContainer, 'previousSibling');\n        endContainer = findBlockEndPoint(editor, format, endContainer, 'nextSibling');\n        if (format[0].block) {\n          if (!dom.isBlock(startContainer)) {\n            startContainer = findParentContainer(dom, format, startContainer, startOffset, endContainer, endOffset, true);\n          }\n          if (!dom.isBlock(endContainer)) {\n            endContainer = findParentContainer(dom, format, startContainer, startOffset, endContainer, endOffset, false);\n          }\n        }\n      }\n      if (startContainer.nodeType === 1) {\n        startOffset = dom.nodeIndex(startContainer);\n        startContainer = startContainer.parentNode;\n      }\n      if (endContainer.nodeType === 1) {\n        endOffset = dom.nodeIndex(endContainer) + 1;\n        endContainer = endContainer.parentNode;\n      }\n      return {\n        startContainer: startContainer,\n        startOffset: startOffset,\n        endContainer: endContainer,\n        endOffset: endOffset\n      };\n    };\n    var ExpandRange = { expandRng: expandRng };\n\n    var each$8 = Tools.each;\n    var getEndChild = function (container, index) {\n      var childNodes = container.childNodes;\n      index--;\n      if (index > childNodes.length - 1) {\n        index = childNodes.length - 1;\n      } else if (index < 0) {\n        index = 0;\n      }\n      return childNodes[index] || container;\n    };\n    var walk$1 = function (dom, rng, callback) {\n      var startContainer = rng.startContainer;\n      var startOffset = rng.startOffset;\n      var endContainer = rng.endContainer;\n      var endOffset = rng.endOffset;\n      var ancestor;\n      var startPoint;\n      var endPoint;\n      var node;\n      var parent;\n      var siblings;\n      var nodes;\n      nodes = dom.select('td[data-mce-selected],th[data-mce-selected]');\n      if (nodes.length > 0) {\n        each$8(nodes, function (node) {\n          callback([node]);\n        });\n        return;\n      }\n      var exclude = function (nodes) {\n        var node;\n        node = nodes[0];\n        if (node.nodeType === 3 && node === startContainer && startOffset >= node.nodeValue.length) {\n          nodes.splice(0, 1);\n        }\n        node = nodes[nodes.length - 1];\n        if (endOffset === 0 && nodes.length > 0 && node === endContainer && node.nodeType === 3) {\n          nodes.splice(nodes.length - 1, 1);\n        }\n        return nodes;\n      };\n      var collectSiblings = function (node, name, endNode) {\n        var siblings = [];\n        for (; node && node !== endNode; node = node[name]) {\n          siblings.push(node);\n        }\n        return siblings;\n      };\n      var findEndPoint = function (node, root) {\n        do {\n          if (node.parentNode === root) {\n            return node;\n          }\n          node = node.parentNode;\n        } while (node);\n      };\n      var walkBoundary = function (startNode, endNode, next) {\n        var siblingName = next ? 'nextSibling' : 'previousSibling';\n        for (node = startNode, parent = node.parentNode; node && node !== endNode; node = parent) {\n          parent = node.parentNode;\n          siblings = collectSiblings(node === startNode ? node : node[siblingName], siblingName);\n          if (siblings.length) {\n            if (!next) {\n              siblings.reverse();\n            }\n            callback(exclude(siblings));\n          }\n        }\n      };\n      if (startContainer.nodeType === 1 && startContainer.hasChildNodes()) {\n        startContainer = startContainer.childNodes[startOffset];\n      }\n      if (endContainer.nodeType === 1 && endContainer.hasChildNodes()) {\n        endContainer = getEndChild(endContainer, endOffset);\n      }\n      if (startContainer === endContainer) {\n        return callback(exclude([startContainer]));\n      }\n      ancestor = dom.findCommonAncestor(startContainer, endContainer);\n      for (node = startContainer; node; node = node.parentNode) {\n        if (node === endContainer) {\n          return walkBoundary(startContainer, ancestor, true);\n        }\n        if (node === ancestor) {\n          break;\n        }\n      }\n      for (node = endContainer; node; node = node.parentNode) {\n        if (node === startContainer) {\n          return walkBoundary(endContainer, ancestor);\n        }\n        if (node === ancestor) {\n          break;\n        }\n      }\n      startPoint = findEndPoint(startContainer, ancestor) || startContainer;\n      endPoint = findEndPoint(endContainer, ancestor) || endContainer;\n      walkBoundary(startContainer, startPoint, true);\n      siblings = collectSiblings(startPoint === startContainer ? startPoint : startPoint.nextSibling, 'nextSibling', endPoint === endContainer ? endPoint.nextSibling : endPoint);\n      if (siblings.length) {\n        callback(exclude(siblings));\n      }\n      walkBoundary(endContainer, endPoint);\n    };\n    var RangeWalk = { walk: walk$1 };\n\n    var zeroWidth = function () {\n      return '\\uFEFF';\n    };\n\n    function NodeValue (is, name) {\n      var get = function (element) {\n        if (!is(element))\n          throw new Error('Can only get ' + name + ' value of a ' + name + ' node');\n        return getOption(element).getOr('');\n      };\n      var getOptionIE10 = function (element) {\n        try {\n          return getOptionSafe(element);\n        } catch (e) {\n          return Option.none();\n        }\n      };\n      var getOptionSafe = function (element) {\n        return is(element) ? Option.from(element.dom().nodeValue) : Option.none();\n      };\n      var browser = PlatformDetection$1.detect().browser;\n      var getOption = browser.isIE() && browser.version.major === 10 ? getOptionIE10 : getOptionSafe;\n      var set = function (element, value) {\n        if (!is(element))\n          throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node');\n        element.dom().nodeValue = value;\n      };\n      return {\n        get: get,\n        getOption: getOption,\n        set: set\n      };\n    }\n\n    var api = NodeValue(isText, 'text');\n    var get$6 = function (element) {\n      return api.get(element);\n    };\n\n    var isZeroWidth = function (elem) {\n      return isText(elem) && get$6(elem) === zeroWidth();\n    };\n    var context = function (editor, elem, wrapName, nodeName) {\n      return parent(elem).fold(function () {\n        return 'skipping';\n      }, function (parent$$1) {\n        if (nodeName === 'br' || isZeroWidth(elem)) {\n          return 'valid';\n        } else if (isAnnotation(elem)) {\n          return 'existing';\n        } else if (isCaretNode(elem)) {\n          return 'caret';\n        } else if (!FormatUtils.isValid(editor, wrapName, nodeName) || !FormatUtils.isValid(editor, name(parent$$1), wrapName)) {\n          return 'invalid-child';\n        } else {\n          return 'valid';\n        }\n      });\n    };\n\n    var shouldApplyToTrailingSpaces = function (rng) {\n      return rng.startContainer.nodeType === 3 && rng.startContainer.nodeValue.length >= rng.startOffset && rng.startContainer.nodeValue[rng.startOffset] === '\\xA0';\n    };\n    var applyWordGrab = function (editor, rng) {\n      var r = ExpandRange.expandRng(editor, rng, [{ inline: true }], shouldApplyToTrailingSpaces(rng));\n      rng.setStart(r.startContainer, r.startOffset);\n      rng.setEnd(r.endContainer, r.endOffset);\n      editor.selection.setRng(rng);\n    };\n    var makeAnnotation = function (eDoc, _a, annotationName, decorate) {\n      var _b = _a.uid, uid = _b === void 0 ? generate('mce-annotation') : _b, data = __rest(_a, ['uid']);\n      var master = Element$$1.fromTag('span', eDoc);\n      add$2(master, annotation());\n      set(master, '' + dataAnnotationId(), uid);\n      set(master, '' + dataAnnotation(), annotationName);\n      var _c = decorate(uid, data), _d = _c.attributes, attributes = _d === void 0 ? {} : _d, _e = _c.classes, classes = _e === void 0 ? [] : _e;\n      setAll(master, attributes);\n      add$3(master, classes);\n      return master;\n    };\n    var annotate = function (editor, rng, annotationName, decorate, data) {\n      var newWrappers = [];\n      var master = makeAnnotation(editor.getDoc(), data, annotationName, decorate);\n      var wrapper = Cell(Option.none());\n      var finishWrapper = function () {\n        wrapper.set(Option.none());\n      };\n      var getOrOpenWrapper = function () {\n        return wrapper.get().getOrThunk(function () {\n          var nu = shallow(master);\n          newWrappers.push(nu);\n          wrapper.set(Option.some(nu));\n          return nu;\n        });\n      };\n      var processElements = function (elems) {\n        each(elems, processElement);\n      };\n      var processElement = function (elem) {\n        var ctx = context(editor, elem, 'span', name(elem));\n        switch (ctx) {\n        case 'invalid-child': {\n            finishWrapper();\n            var children$$1 = children(elem);\n            processElements(children$$1);\n            finishWrapper();\n            break;\n          }\n        case 'valid': {\n            var w = getOrOpenWrapper();\n            wrap$1(elem, w);\n            break;\n          }\n        case 'skipping':\n        case 'existing':\n        case 'caret':\n        }\n      };\n      var processNodes = function (nodes) {\n        var elems = map(nodes, Element$$1.fromDom);\n        processElements(elems);\n      };\n      RangeWalk.walk(editor.dom, rng, function (nodes) {\n        finishWrapper();\n        processNodes(nodes);\n      });\n      return newWrappers;\n    };\n    var annotateWithBookmark = function (editor, name$$1, settings, data) {\n      editor.undoManager.transact(function () {\n        var initialRng = editor.selection.getRng();\n        if (initialRng.collapsed) {\n          applyWordGrab(editor, initialRng);\n        }\n        if (editor.selection.getRng().collapsed) {\n          var wrapper = makeAnnotation(editor.getDoc(), data, name$$1, settings.decorate);\n          set$2(wrapper, '\\xA0');\n          editor.selection.getRng().insertNode(wrapper.dom());\n          editor.selection.select(wrapper.dom());\n        } else {\n          var bookmark = GetBookmark.getPersistentBookmark(editor.selection, false);\n          var rng = editor.selection.getRng();\n          annotate(editor, rng, name$$1, settings.decorate, data);\n          editor.selection.moveToBookmark(bookmark);\n        }\n      });\n    };\n\n    function Annotator (editor) {\n      var registry = create$1();\n      setup$1(editor, registry);\n      var changes = setup(editor, registry);\n      return {\n        register: function (name, settings) {\n          registry.register(name, settings);\n        },\n        annotate: function (name, data) {\n          registry.lookup(name).each(function (settings) {\n            annotateWithBookmark(editor, name, settings, data);\n          });\n        },\n        annotationChanged: function (name, callback) {\n          changes.addListener(name, callback);\n        },\n        remove: function (name) {\n          identify(editor, Option.some(name)).each(function (_a) {\n            var elements = _a.elements;\n            each(elements, unwrap);\n          });\n        },\n        getAll: function (name) {\n          var directory = findAll(editor, name);\n          return map$2(directory, function (elems) {\n            return map(elems, function (elem) {\n              return elem.dom();\n            });\n          });\n        }\n      };\n    }\n\n    var hasOnlyOneChild = function (node) {\n      return node.firstChild && node.firstChild === node.lastChild;\n    };\n    var isPaddingNode = function (node) {\n      return node.name === 'br' || node.value === '\\xA0';\n    };\n    var isPaddedEmptyBlock = function (schema, node) {\n      var blockElements = schema.getBlockElements();\n      return blockElements[node.name] && hasOnlyOneChild(node) && isPaddingNode(node.firstChild);\n    };\n    var isEmptyFragmentElement = function (schema, node) {\n      var nonEmptyElements = schema.getNonEmptyElements();\n      return node && (node.isEmpty(nonEmptyElements) || isPaddedEmptyBlock(schema, node));\n    };\n    var isListFragment = function (schema, fragment) {\n      var firstChild = fragment.firstChild;\n      var lastChild = fragment.lastChild;\n      if (firstChild && firstChild.name === 'meta') {\n        firstChild = firstChild.next;\n      }\n      if (lastChild && lastChild.attr('id') === 'mce_marker') {\n        lastChild = lastChild.prev;\n      }\n      if (isEmptyFragmentElement(schema, lastChild)) {\n        lastChild = lastChild.prev;\n      }\n      if (!firstChild || firstChild !== lastChild) {\n        return false;\n      }\n      return firstChild.name === 'ul' || firstChild.name === 'ol';\n    };\n    var cleanupDomFragment = function (domFragment) {\n      var firstChild = domFragment.firstChild;\n      var lastChild = domFragment.lastChild;\n      if (firstChild && firstChild.nodeName === 'META') {\n        firstChild.parentNode.removeChild(firstChild);\n      }\n      if (lastChild && lastChild.id === 'mce_marker') {\n        lastChild.parentNode.removeChild(lastChild);\n      }\n      return domFragment;\n    };\n    var toDomFragment = function (dom, serializer, fragment) {\n      var html = serializer.serialize(fragment);\n      var domFragment = dom.createFragment(html);\n      return cleanupDomFragment(domFragment);\n    };\n    var listItems$1 = function (elm) {\n      return Tools.grep(elm.childNodes, function (child) {\n        return child.nodeName === 'LI';\n      });\n    };\n    var isPadding = function (node) {\n      return node.data === '\\xA0' || NodeType.isBr(node);\n    };\n    var isListItemPadded = function (node) {\n      return node && node.firstChild && node.firstChild === node.lastChild && isPadding(node.firstChild);\n    };\n    var isEmptyOrPadded = function (elm) {\n      return !elm.firstChild || isListItemPadded(elm);\n    };\n    var trimListItems = function (elms) {\n      return elms.length > 0 && isEmptyOrPadded(elms[elms.length - 1]) ? elms.slice(0, -1) : elms;\n    };\n    var getParentLi = function (dom, node) {\n      var parentBlock = dom.getParent(node, dom.isBlock);\n      return parentBlock && parentBlock.nodeName === 'LI' ? parentBlock : null;\n    };\n    var isParentBlockLi = function (dom, node) {\n      return !!getParentLi(dom, node);\n    };\n    var getSplit = function (parentNode, rng) {\n      var beforeRng = rng.cloneRange();\n      var afterRng = rng.cloneRange();\n      beforeRng.setStartBefore(parentNode);\n      afterRng.setEndAfter(parentNode);\n      return [\n        beforeRng.cloneContents(),\n        afterRng.cloneContents()\n      ];\n    };\n    var findFirstIn = function (node, rootNode) {\n      var caretPos = CaretPosition$1.before(node);\n      var caretWalker = CaretWalker(rootNode);\n      var newCaretPos = caretWalker.next(caretPos);\n      return newCaretPos ? newCaretPos.toRange() : null;\n    };\n    var findLastOf = function (node, rootNode) {\n      var caretPos = CaretPosition$1.after(node);\n      var caretWalker = CaretWalker(rootNode);\n      var newCaretPos = caretWalker.prev(caretPos);\n      return newCaretPos ? newCaretPos.toRange() : null;\n    };\n    var insertMiddle = function (target, elms, rootNode, rng) {\n      var parts = getSplit(target, rng);\n      var parentElm = target.parentNode;\n      parentElm.insertBefore(parts[0], target);\n      Tools.each(elms, function (li) {\n        parentElm.insertBefore(li, target);\n      });\n      parentElm.insertBefore(parts[1], target);\n      parentElm.removeChild(target);\n      return findLastOf(elms[elms.length - 1], rootNode);\n    };\n    var insertBefore = function (target, elms, rootNode) {\n      var parentElm = target.parentNode;\n      Tools.each(elms, function (elm) {\n        parentElm.insertBefore(elm, target);\n      });\n      return findFirstIn(target, rootNode);\n    };\n    var insertAfter = function (target, elms, rootNode, dom) {\n      dom.insertAfter(elms.reverse(), target);\n      return findLastOf(elms[0], rootNode);\n    };\n    var insertAtCaret = function (serializer, dom, rng, fragment) {\n      var domFragment = toDomFragment(dom, serializer, fragment);\n      var liTarget = getParentLi(dom, rng.startContainer);\n      var liElms = trimListItems(listItems$1(domFragment.firstChild));\n      var BEGINNING = 1, END = 2;\n      var rootNode = dom.getRoot();\n      var isAt = function (location) {\n        var caretPos = CaretPosition$1.fromRangeStart(rng);\n        var caretWalker = CaretWalker(dom.getRoot());\n        var newPos = location === BEGINNING ? caretWalker.prev(caretPos) : caretWalker.next(caretPos);\n        return newPos ? getParentLi(dom, newPos.getNode()) !== liTarget : true;\n      };\n      if (isAt(BEGINNING)) {\n        return insertBefore(liTarget, liElms, rootNode);\n      } else if (isAt(END)) {\n        return insertAfter(liTarget, liElms, rootNode, dom);\n      }\n      return insertMiddle(liTarget, liElms, rootNode, rng);\n    };\n    var InsertList = {\n      isListFragment: isListFragment,\n      insertAtCaret: insertAtCaret,\n      isParentBlockLi: isParentBlockLi,\n      trimListItems: trimListItems,\n      listItems: listItems$1\n    };\n\n    var each$9 = Tools.each;\n    var ElementUtils = function (dom) {\n      this.compare = function (node1, node2) {\n        if (node1.nodeName !== node2.nodeName) {\n          return false;\n        }\n        var getAttribs = function (node) {\n          var attribs = {};\n          each$9(dom.getAttribs(node), function (attr) {\n            var name = attr.nodeName.toLowerCase();\n            if (name.indexOf('_') !== 0 && name !== 'style' && name.indexOf('data-') !== 0) {\n              attribs[name] = dom.getAttrib(node, name);\n            }\n          });\n          return attribs;\n        };\n        var compareObjects = function (obj1, obj2) {\n          var value, name;\n          for (name in obj1) {\n            if (obj1.hasOwnProperty(name)) {\n              value = obj2[name];\n              if (typeof value === 'undefined') {\n                return false;\n              }\n              if (obj1[name] !== value) {\n                return false;\n              }\n              delete obj2[name];\n            }\n          }\n          for (name in obj2) {\n            if (obj2.hasOwnProperty(name)) {\n              return false;\n            }\n          }\n          return true;\n        };\n        if (!compareObjects(getAttribs(node1), getAttribs(node2))) {\n          return false;\n        }\n        if (!compareObjects(dom.parseStyle(dom.getAttrib(node1, 'style')), dom.parseStyle(dom.getAttrib(node2, 'style')))) {\n          return false;\n        }\n        return !Bookmarks.isBookmarkNode(node1) && !Bookmarks.isBookmarkNode(node2);\n      };\n    };\n\n    var getLastChildren = function (elm) {\n      var children$$1 = [];\n      var rawNode = elm.dom();\n      while (rawNode) {\n        children$$1.push(Element$$1.fromDom(rawNode));\n        rawNode = rawNode.lastChild;\n      }\n      return children$$1;\n    };\n    var removeTrailingBr = function (elm) {\n      var allBrs = descendants$1(elm, 'br');\n      var brs = filter(getLastChildren(elm).slice(-1), isBr);\n      if (allBrs.length === brs.length) {\n        each(brs, remove$2);\n      }\n    };\n    var fillWithPaddingBr = function (elm) {\n      empty(elm);\n      append(elm, Element$$1.fromHtml('<br data-mce-bogus=\"1\">'));\n    };\n    var isPaddingContents = function (elm) {\n      return isText(elm) ? get$6(elm) === '\\xA0' : isBr(elm);\n    };\n    var isPaddedElement = function (elm) {\n      return filter(children(elm), isPaddingContents).length === 1;\n    };\n    var trimBlockTrailingBr = function (elm) {\n      lastChild(elm).each(function (lastChild$$1) {\n        prevSibling(lastChild$$1).each(function (lastChildPrevSibling) {\n          if (isBlock(elm) && isBr(lastChild$$1) && isBlock(lastChildPrevSibling)) {\n            remove$2(lastChild$$1);\n          }\n        });\n      });\n    };\n    var PaddingBr = {\n      removeTrailingBr: removeTrailingBr,\n      fillWithPaddingBr: fillWithPaddingBr,\n      isPaddedElement: isPaddedElement,\n      trimBlockTrailingBr: trimBlockTrailingBr\n    };\n\n    var makeMap$3 = Tools.makeMap;\n    function Writer (settings) {\n      var html = [];\n      var indent, indentBefore, indentAfter, encode, htmlOutput;\n      settings = settings || {};\n      indent = settings.indent;\n      indentBefore = makeMap$3(settings.indent_before || '');\n      indentAfter = makeMap$3(settings.indent_after || '');\n      encode = Entities.getEncodeFunc(settings.entity_encoding || 'raw', settings.entities);\n      htmlOutput = settings.element_format === 'html';\n      return {\n        start: function (name, attrs, empty) {\n          var i, l, attr, value;\n          if (indent && indentBefore[name] && html.length > 0) {\n            value = html[html.length - 1];\n            if (value.length > 0 && value !== '\\n') {\n              html.push('\\n');\n            }\n          }\n          html.push('<', name);\n          if (attrs) {\n            for (i = 0, l = attrs.length; i < l; i++) {\n              attr = attrs[i];\n              html.push(' ', attr.name, '=\"', encode(attr.value, true), '\"');\n            }\n          }\n          if (!empty || htmlOutput) {\n            html[html.length] = '>';\n          } else {\n            html[html.length] = ' />';\n          }\n          if (empty && indent && indentAfter[name] && html.length > 0) {\n            value = html[html.length - 1];\n            if (value.length > 0 && value !== '\\n') {\n              html.push('\\n');\n            }\n          }\n        },\n        end: function (name) {\n          var value;\n          html.push('</', name, '>');\n          if (indent && indentAfter[name] && html.length > 0) {\n            value = html[html.length - 1];\n            if (value.length > 0 && value !== '\\n') {\n              html.push('\\n');\n            }\n          }\n        },\n        text: function (text, raw) {\n          if (text.length > 0) {\n            html[html.length] = raw ? text : encode(text);\n          }\n        },\n        cdata: function (text) {\n          html.push('<![CDATA[', text, ']]>');\n        },\n        comment: function (text) {\n          html.push('<!--', text, '-->');\n        },\n        pi: function (name, text) {\n          if (text) {\n            html.push('<?', name, ' ', encode(text), '?>');\n          } else {\n            html.push('<?', name, '?>');\n          }\n          if (indent) {\n            html.push('\\n');\n          }\n        },\n        doctype: function (text) {\n          html.push('<!DOCTYPE', text, '>', indent ? '\\n' : '');\n        },\n        reset: function () {\n          html.length = 0;\n        },\n        getContent: function () {\n          return html.join('').replace(/\\n$/, '');\n        }\n      };\n    }\n\n    function Serializer (settings, schema) {\n      if (schema === void 0) {\n        schema = Schema();\n      }\n      var writer = Writer(settings);\n      settings = settings || {};\n      settings.validate = 'validate' in settings ? settings.validate : true;\n      var serialize = function (node) {\n        var handlers, validate;\n        validate = settings.validate;\n        handlers = {\n          3: function (node) {\n            writer.text(node.value, node.raw);\n          },\n          8: function (node) {\n            writer.comment(node.value);\n          },\n          7: function (node) {\n            writer.pi(node.name, node.value);\n          },\n          10: function (node) {\n            writer.doctype(node.value);\n          },\n          4: function (node) {\n            writer.cdata(node.value);\n          },\n          11: function (node) {\n            if (node = node.firstChild) {\n              do {\n                walk(node);\n              } while (node = node.next);\n            }\n          }\n        };\n        writer.reset();\n        var walk = function (node) {\n          var handler = handlers[node.type];\n          var name, isEmpty, attrs, attrName, attrValue, sortedAttrs, i, l, elementRule;\n          if (!handler) {\n            name = node.name;\n            isEmpty = node.shortEnded;\n            attrs = node.attributes;\n            if (validate && attrs && attrs.length > 1) {\n              sortedAttrs = [];\n              sortedAttrs.map = {};\n              elementRule = schema.getElementRule(node.name);\n              if (elementRule) {\n                for (i = 0, l = elementRule.attributesOrder.length; i < l; i++) {\n                  attrName = elementRule.attributesOrder[i];\n                  if (attrName in attrs.map) {\n                    attrValue = attrs.map[attrName];\n                    sortedAttrs.map[attrName] = attrValue;\n                    sortedAttrs.push({\n                      name: attrName,\n                      value: attrValue\n                    });\n                  }\n                }\n                for (i = 0, l = attrs.length; i < l; i++) {\n                  attrName = attrs[i].name;\n                  if (!(attrName in sortedAttrs.map)) {\n                    attrValue = attrs.map[attrName];\n                    sortedAttrs.map[attrName] = attrValue;\n                    sortedAttrs.push({\n                      name: attrName,\n                      value: attrValue\n                    });\n                  }\n                }\n                attrs = sortedAttrs;\n              }\n            }\n            writer.start(node.name, attrs, isEmpty);\n            if (!isEmpty) {\n              if (node = node.firstChild) {\n                do {\n                  walk(node);\n                } while (node = node.next);\n              }\n              writer.end(name);\n            }\n          } else {\n            handler(node);\n          }\n        };\n        if (node.type === 1 && !settings.inner) {\n          walk(node);\n        } else {\n          handlers[11](node);\n        }\n        return writer.getContent();\n      };\n      return { serialize: serialize };\n    }\n\n    var createRange$1 = function (sc, so, ec, eo) {\n      var rng = document.createRange();\n      rng.setStart(sc, so);\n      rng.setEnd(ec, eo);\n      return rng;\n    };\n    var normalizeBlockSelectionRange = function (rng) {\n      var startPos = CaretPosition$1.fromRangeStart(rng);\n      var endPos = CaretPosition$1.fromRangeEnd(rng);\n      var rootNode = rng.commonAncestorContainer;\n      return CaretFinder.fromPosition(false, rootNode, endPos).map(function (newEndPos) {\n        if (!isInSameBlock(startPos, endPos, rootNode) && isInSameBlock(startPos, newEndPos, rootNode)) {\n          return createRange$1(startPos.container(), startPos.offset(), newEndPos.container(), newEndPos.offset());\n        } else {\n          return rng;\n        }\n      }).getOr(rng);\n    };\n    var normalize = function (rng) {\n      return rng.collapsed ? rng : normalizeBlockSelectionRange(rng);\n    };\n    var RangeNormalizer = { normalize: normalize };\n\n    var isAfterNbsp = function (container, offset) {\n      return NodeType.isText(container) && container.nodeValue[offset - 1] === '\\xA0';\n    };\n    var trimOrPadLeftRight = function (rng, html) {\n      var container, offset;\n      container = rng.startContainer;\n      offset = rng.startOffset;\n      var hasSiblingText = function (siblingName) {\n        return container[siblingName] && container[siblingName].nodeType === 3;\n      };\n      if (container.nodeType === 3) {\n        if (offset > 0) {\n          html = html.replace(/^&nbsp;/, ' ');\n        } else if (!hasSiblingText('previousSibling')) {\n          html = html.replace(/^ /, '&nbsp;');\n        }\n        if (offset < container.length) {\n          html = html.replace(/&nbsp;(<br>|)$/, ' ');\n        } else if (!hasSiblingText('nextSibling')) {\n          html = html.replace(/(&nbsp;| )(<br>|)$/, '&nbsp;');\n        }\n      }\n      return html;\n    };\n    var trimNbspAfterDeleteAndPadValue = function (rng, value) {\n      var container, offset;\n      container = rng.startContainer;\n      offset = rng.startOffset;\n      if (container.nodeType === 3 && rng.collapsed) {\n        if (container.data[offset] === '\\xA0') {\n          container.deleteData(offset, 1);\n          if (!/[\\u00a0| ]$/.test(value)) {\n            value += ' ';\n          }\n        } else if (container.data[offset - 1] === '\\xA0') {\n          container.deleteData(offset - 1, 1);\n          if (!/[\\u00a0| ]$/.test(value)) {\n            value = ' ' + value;\n          }\n        }\n      }\n      return value;\n    };\n\n    var isTableCell$2 = NodeType.matchNodeNames('td th');\n    var selectionSetContent = function (editor, content) {\n      var rng = editor.selection.getRng();\n      var container = rng.startContainer;\n      var offset = rng.startOffset;\n      if (rng.collapsed && isAfterNbsp(container, offset) && NodeType.isText(container)) {\n        container.insertData(offset - 1, ' ');\n        container.deleteData(offset, 1);\n        rng.setStart(container, offset);\n        rng.setEnd(container, offset);\n        editor.selection.setRng(rng);\n      }\n      editor.selection.setContent(content);\n    };\n    var validInsertion = function (editor, value, parentNode) {\n      if (parentNode.getAttribute('data-mce-bogus') === 'all') {\n        parentNode.parentNode.insertBefore(editor.dom.createFragment(value), parentNode);\n      } else {\n        var node = parentNode.firstChild;\n        var node2 = parentNode.lastChild;\n        if (!node || node === node2 && node.nodeName === 'BR') {\n          editor.dom.setHTML(parentNode, value);\n        } else {\n          selectionSetContent(editor, value);\n        }\n      }\n    };\n    var trimBrsFromTableCell = function (dom, elm) {\n      Option.from(dom.getParent(elm, 'td,th')).map(Element$$1.fromDom).each(PaddingBr.trimBlockTrailingBr);\n    };\n    var reduceInlineTextElements = function (editor, merge) {\n      var textInlineElements = editor.schema.getTextInlineElements();\n      var dom = editor.dom;\n      if (merge) {\n        var root_1 = editor.getBody(), elementUtils_1 = new ElementUtils(dom);\n        Tools.each(dom.select('*[data-mce-fragment]'), function (node) {\n          for (var testNode = node.parentNode; testNode && testNode !== root_1; testNode = testNode.parentNode) {\n            if (textInlineElements[node.nodeName.toLowerCase()] && elementUtils_1.compare(testNode, node)) {\n              dom.remove(node, true);\n            }\n          }\n        });\n      }\n    };\n    var markFragmentElements = function (fragment) {\n      var node = fragment;\n      while (node = node.walk()) {\n        if (node.type === 1) {\n          node.attr('data-mce-fragment', '1');\n        }\n      }\n    };\n    var umarkFragmentElements = function (elm) {\n      Tools.each(elm.getElementsByTagName('*'), function (elm) {\n        elm.removeAttribute('data-mce-fragment');\n      });\n    };\n    var isPartOfFragment = function (node) {\n      return !!node.getAttribute('data-mce-fragment');\n    };\n    var canHaveChildren = function (editor, node) {\n      return node && !editor.schema.getShortEndedElements()[node.nodeName];\n    };\n    var moveSelectionToMarker = function (editor, marker) {\n      var parentEditableFalseElm, parentBlock, nextRng;\n      var dom = editor.dom, selection = editor.selection;\n      var node, node2;\n      var getContentEditableFalseParent = function (node) {\n        var root = editor.getBody();\n        for (; node && node !== root; node = node.parentNode) {\n          if (editor.dom.getContentEditable(node) === 'false') {\n            return node;\n          }\n        }\n        return null;\n      };\n      if (!marker) {\n        return;\n      }\n      editor.selection.scrollIntoView(marker);\n      parentEditableFalseElm = getContentEditableFalseParent(marker);\n      if (parentEditableFalseElm) {\n        dom.remove(marker);\n        selection.select(parentEditableFalseElm);\n        return;\n      }\n      var rng = dom.createRng();\n      node = marker.previousSibling;\n      if (node && node.nodeType === 3) {\n        rng.setStart(node, node.nodeValue.length);\n        if (!Env.ie) {\n          node2 = marker.nextSibling;\n          if (node2 && node2.nodeType === 3) {\n            node.appendData(node2.data);\n            node2.parentNode.removeChild(node2);\n          }\n        }\n      } else {\n        rng.setStartBefore(marker);\n        rng.setEndBefore(marker);\n      }\n      var findNextCaretRng = function (rng) {\n        var caretPos = CaretPosition$1.fromRangeStart(rng);\n        var caretWalker = CaretWalker(editor.getBody());\n        caretPos = caretWalker.next(caretPos);\n        if (caretPos) {\n          return caretPos.toRange();\n        }\n      };\n      parentBlock = dom.getParent(marker, dom.isBlock);\n      dom.remove(marker);\n      if (parentBlock && dom.isEmpty(parentBlock)) {\n        editor.$(parentBlock).empty();\n        rng.setStart(parentBlock, 0);\n        rng.setEnd(parentBlock, 0);\n        if (!isTableCell$2(parentBlock) && !isPartOfFragment(parentBlock) && (nextRng = findNextCaretRng(rng))) {\n          rng = nextRng;\n          dom.remove(parentBlock);\n        } else {\n          dom.add(parentBlock, dom.create('br', { 'data-mce-bogus': '1' }));\n        }\n      }\n      selection.setRng(rng);\n    };\n    var insertHtmlAtCaret = function (editor, value, details) {\n      var parser, serializer, parentNode, rootNode, fragment, args;\n      var marker, rng, node, bookmarkHtml, merge;\n      var selection = editor.selection, dom = editor.dom;\n      if (/^ | $/.test(value)) {\n        value = trimOrPadLeftRight(selection.getRng(), value);\n      }\n      parser = editor.parser;\n      merge = details.merge;\n      serializer = Serializer({ validate: editor.settings.validate }, editor.schema);\n      bookmarkHtml = '<span id=\"mce_marker\" data-mce-type=\"bookmark\">&#xFEFF;&#x200B;</span>';\n      args = {\n        content: value,\n        format: 'html',\n        selection: true,\n        paste: details.paste\n      };\n      args = editor.fire('BeforeSetContent', args);\n      if (args.isDefaultPrevented()) {\n        editor.fire('SetContent', {\n          content: args.content,\n          format: 'html',\n          selection: true,\n          paste: details.paste\n        });\n        return;\n      }\n      value = args.content;\n      if (value.indexOf('{$caret}') === -1) {\n        value += '{$caret}';\n      }\n      value = value.replace(/\\{\\$caret\\}/, bookmarkHtml);\n      rng = selection.getRng();\n      var caretElement = rng.startContainer || (rng.parentElement ? rng.parentElement() : null);\n      var body = editor.getBody();\n      if (caretElement === body && selection.isCollapsed()) {\n        if (dom.isBlock(body.firstChild) && canHaveChildren(editor, body.firstChild) && dom.isEmpty(body.firstChild)) {\n          rng = dom.createRng();\n          rng.setStart(body.firstChild, 0);\n          rng.setEnd(body.firstChild, 0);\n          selection.setRng(rng);\n        }\n      }\n      if (!selection.isCollapsed()) {\n        editor.selection.setRng(RangeNormalizer.normalize(editor.selection.getRng()));\n        editor.getDoc().execCommand('Delete', false, null);\n        value = trimNbspAfterDeleteAndPadValue(editor.selection.getRng(), value);\n      }\n      parentNode = selection.getNode();\n      var parserArgs = {\n        context: parentNode.nodeName.toLowerCase(),\n        data: details.data,\n        insert: true\n      };\n      fragment = parser.parse(value, parserArgs);\n      if (details.paste === true && InsertList.isListFragment(editor.schema, fragment) && InsertList.isParentBlockLi(dom, parentNode)) {\n        rng = InsertList.insertAtCaret(serializer, dom, editor.selection.getRng(), fragment);\n        editor.selection.setRng(rng);\n        editor.fire('SetContent', args);\n        return;\n      }\n      markFragmentElements(fragment);\n      node = fragment.lastChild;\n      if (node.attr('id') === 'mce_marker') {\n        marker = node;\n        for (node = node.prev; node; node = node.walk(true)) {\n          if (node.type === 3 || !dom.isBlock(node.name)) {\n            if (editor.schema.isValidChild(node.parent.name, 'span')) {\n              node.parent.insert(marker, node, node.name === 'br');\n            }\n            break;\n          }\n        }\n      }\n      editor._selectionOverrides.showBlockCaretContainer(parentNode);\n      if (!parserArgs.invalid) {\n        value = serializer.serialize(fragment);\n        validInsertion(editor, value, parentNode);\n      } else {\n        selectionSetContent(editor, bookmarkHtml);\n        parentNode = selection.getNode();\n        rootNode = editor.getBody();\n        if (parentNode.nodeType === 9) {\n          parentNode = node = rootNode;\n        } else {\n          node = parentNode;\n        }\n        while (node !== rootNode) {\n          parentNode = node;\n          node = node.parentNode;\n        }\n        value = parentNode === rootNode ? rootNode.innerHTML : dom.getOuterHTML(parentNode);\n        value = serializer.serialize(parser.parse(value.replace(/<span (id=\"mce_marker\"|id=mce_marker).+?<\\/span>/i, function () {\n          return serializer.serialize(fragment);\n        })));\n        if (parentNode === rootNode) {\n          dom.setHTML(rootNode, value);\n        } else {\n          dom.setOuterHTML(parentNode, value);\n        }\n      }\n      reduceInlineTextElements(editor, merge);\n      moveSelectionToMarker(editor, dom.get('mce_marker'));\n      umarkFragmentElements(editor.getBody());\n      trimBrsFromTableCell(editor.dom, editor.selection.getStart());\n      editor.fire('SetContent', args);\n      editor.addVisual();\n    };\n    var processValue = function (value) {\n      var details;\n      if (typeof value !== 'string') {\n        details = Tools.extend({\n          paste: value.paste,\n          data: { paste: value.paste }\n        }, value);\n        return {\n          content: value.content,\n          details: details\n        };\n      }\n      return {\n        content: value,\n        details: {}\n      };\n    };\n    var insertAtCaret$1 = function (editor, value) {\n      var result = processValue(value);\n      insertHtmlAtCaret(editor, result.content, result.details);\n    };\n    var InsertContent = { insertAtCaret: insertAtCaret$1 };\n\n    var sectionResult = Immutable('sections', 'settings');\n    var detection = PlatformDetection$1.detect();\n    var isTouch = detection.deviceType.isTouch();\n    var mobilePlugins = [\n      'lists',\n      'autolink',\n      'autosave'\n    ];\n    var defaultMobileSettings = { theme: 'mobile' };\n    var normalizePlugins = function (plugins) {\n      var pluginNames = isArray(plugins) ? plugins.join(' ') : plugins;\n      var trimmedPlugins = map(isString(pluginNames) ? pluginNames.split(' ') : [], trim$2);\n      return filter(trimmedPlugins, function (item) {\n        return item.length > 0;\n      });\n    };\n    var filterMobilePlugins = function (plugins) {\n      return filter(plugins, curry(contains, mobilePlugins));\n    };\n    var extractSections = function (keys$$1, settings) {\n      var result = bifilter(settings, function (value, key) {\n        return contains(keys$$1, key);\n      });\n      return sectionResult(result.t, result.f);\n    };\n    var getSection = function (sectionResult, name, defaults) {\n      var sections = sectionResult.sections();\n      var sectionSettings = sections.hasOwnProperty(name) ? sections[name] : {};\n      return Tools.extend({}, defaults, sectionSettings);\n    };\n    var hasSection = function (sectionResult, name) {\n      return sectionResult.sections().hasOwnProperty(name);\n    };\n    var getDefaultSettings = function (id, documentBaseUrl, editor) {\n      return {\n        id: id,\n        theme: 'modern',\n        delta_width: 0,\n        delta_height: 0,\n        popup_css: '',\n        plugins: '',\n        document_base_url: documentBaseUrl,\n        add_form_submit_trigger: true,\n        submit_patch: true,\n        add_unload_trigger: true,\n        convert_urls: true,\n        relative_urls: true,\n        remove_script_host: true,\n        object_resizing: true,\n        doctype: '<!DOCTYPE html>',\n        visual: true,\n        font_size_style_values: 'xx-small,x-small,small,medium,large,x-large,xx-large',\n        font_size_legacy_values: 'xx-small,small,medium,large,x-large,xx-large,300%',\n        forced_root_block: 'p',\n        hidden_input: true,\n        render_ui: true,\n        indentation: '40px',\n        inline_styles: true,\n        convert_fonts_to_spans: true,\n        indent: 'simple',\n        indent_before: 'p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,' + 'tfoot,tbody,tr,section,summary,article,hgroup,aside,figure,figcaption,option,optgroup,datalist',\n        indent_after: 'p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,' + 'tfoot,tbody,tr,section,summary,article,hgroup,aside,figure,figcaption,option,optgroup,datalist',\n        entity_encoding: 'named',\n        url_converter: editor.convertURL,\n        url_converter_scope: editor,\n        ie7_compat: true\n      };\n    };\n    var getExternalPlugins = function (overrideSettings, settings) {\n      var userDefinedExternalPlugins = settings.external_plugins ? settings.external_plugins : {};\n      if (overrideSettings && overrideSettings.external_plugins) {\n        return Tools.extend({}, overrideSettings.external_plugins, userDefinedExternalPlugins);\n      } else {\n        return userDefinedExternalPlugins;\n      }\n    };\n    var combinePlugins = function (forcedPlugins, plugins) {\n      return [].concat(normalizePlugins(forcedPlugins)).concat(normalizePlugins(plugins));\n    };\n    var processPlugins = function (isTouchDevice, sectionResult, defaultOverrideSettings, settings) {\n      var forcedPlugins = normalizePlugins(defaultOverrideSettings.forced_plugins);\n      var plugins = normalizePlugins(settings.plugins);\n      var platformPlugins = isTouchDevice && hasSection(sectionResult, 'mobile') ? filterMobilePlugins(plugins) : plugins;\n      var combinedPlugins = combinePlugins(forcedPlugins, platformPlugins);\n      return Tools.extend(settings, { plugins: combinedPlugins.join(' ') });\n    };\n    var isOnMobile = function (isTouchDevice, sectionResult) {\n      var isInline = sectionResult.settings().inline;\n      return isTouchDevice && hasSection(sectionResult, 'mobile') && !isInline;\n    };\n    var combineSettings = function (isTouchDevice, defaultSettings, defaultOverrideSettings, settings) {\n      var sectionResult = extractSections(['mobile'], settings);\n      var extendedSettings = Tools.extend(defaultSettings, defaultOverrideSettings, sectionResult.settings(), isOnMobile(isTouchDevice, sectionResult) ? getSection(sectionResult, 'mobile', defaultMobileSettings) : {}, {\n        validate: true,\n        content_editable: sectionResult.settings().inline,\n        external_plugins: getExternalPlugins(defaultOverrideSettings, sectionResult.settings())\n      });\n      return processPlugins(isTouchDevice, sectionResult, defaultOverrideSettings, extendedSettings);\n    };\n    var getEditorSettings = function (editor, id, documentBaseUrl, defaultOverrideSettings, settings) {\n      var defaultSettings = getDefaultSettings(id, documentBaseUrl, editor);\n      return combineSettings(isTouch, defaultSettings, defaultOverrideSettings, settings);\n    };\n    var getFiltered = function (predicate, editor, name) {\n      return Option.from(editor.settings[name]).filter(predicate);\n    };\n    var getString = curry(getFiltered, isString);\n    var getParamObject = function (value) {\n      var output = {};\n      if (typeof value === 'string') {\n        each(value.indexOf('=') > 0 ? value.split(/[;,](?![^=;,]*(?:[;,]|$))/) : value.split(','), function (val) {\n          var arr = val.split('=');\n          if (arr.length > 1) {\n            output[Tools.trim(arr[0])] = Tools.trim(arr[1]);\n          } else {\n            output[Tools.trim(arr[0])] = Tools.trim(arr);\n          }\n        });\n      } else {\n        output = value;\n      }\n      return output;\n    };\n    var isArrayOf = function (p) {\n      return function (a) {\n        return isArray(a) && forall(a, p);\n      };\n    };\n    var getParam = function (editor, name, defaultVal, type) {\n      var value = name in editor.settings ? editor.settings[name] : defaultVal;\n      if (type === 'hash') {\n        return getParamObject(value);\n      } else if (type === 'string') {\n        return getFiltered(isString, editor, name).getOr(defaultVal);\n      } else if (type === 'number') {\n        return getFiltered(isNumber, editor, name).getOr(defaultVal);\n      } else if (type === 'boolean') {\n        return getFiltered(isBoolean, editor, name).getOr(defaultVal);\n      } else if (type === 'object') {\n        return getFiltered(isObject, editor, name).getOr(defaultVal);\n      } else if (type === 'array') {\n        return getFiltered(isArray, editor, name).getOr(defaultVal);\n      } else if (type === 'string[]') {\n        return getFiltered(isArrayOf(isString), editor, name).getOr(defaultVal);\n      } else if (type === 'function') {\n        return getFiltered(isFunction, editor, name).getOr(defaultVal);\n      } else {\n        return value;\n      }\n    };\n\n    var strongRtl = /[\\u0591-\\u07FF\\uFB1D-\\uFDFF\\uFE70-\\uFEFC]/;\n    var hasStrongRtl = function (text) {\n      return strongRtl.test(text);\n    };\n\n    var isInlineTarget = function (editor, elm) {\n      var selector = getString(editor, 'inline_boundaries_selector').getOr('a[href],code');\n      return is$1(Element$$1.fromDom(elm), selector);\n    };\n    var isRtl = function (element) {\n      return DOMUtils$1.DOM.getStyle(element, 'direction', true) === 'rtl' || hasStrongRtl(element.textContent);\n    };\n    var findInlineParents = function (isInlineTarget, rootNode, pos) {\n      return filter(DOMUtils$1.DOM.getParents(pos.container(), '*', rootNode), isInlineTarget);\n    };\n    var findRootInline = function (isInlineTarget, rootNode, pos) {\n      var parents = findInlineParents(isInlineTarget, rootNode, pos);\n      return Option.from(parents[parents.length - 1]);\n    };\n    var hasSameParentBlock = function (rootNode, node1, node2) {\n      var block1 = getParentBlock(node1, rootNode);\n      var block2 = getParentBlock(node2, rootNode);\n      return block1 && block1 === block2;\n    };\n    var isAtZwsp = function (pos) {\n      return isBeforeInline(pos) || isAfterInline(pos);\n    };\n    var normalizePosition = function (forward, pos) {\n      var container = pos.container(), offset = pos.offset();\n      if (forward) {\n        if (isCaretContainerInline(container)) {\n          if (NodeType.isText(container.nextSibling)) {\n            return CaretPosition$1(container.nextSibling, 0);\n          } else {\n            return CaretPosition$1.after(container);\n          }\n        } else {\n          return isBeforeInline(pos) ? CaretPosition$1(container, offset + 1) : pos;\n        }\n      } else {\n        if (isCaretContainerInline(container)) {\n          if (NodeType.isText(container.previousSibling)) {\n            return CaretPosition$1(container.previousSibling, container.previousSibling.data.length);\n          } else {\n            return CaretPosition$1.before(container);\n          }\n        } else {\n          return isAfterInline(pos) ? CaretPosition$1(container, offset - 1) : pos;\n        }\n      }\n    };\n    var normalizeForwards = curry(normalizePosition, true);\n    var normalizeBackwards = curry(normalizePosition, false);\n    var InlineUtils = {\n      isInlineTarget: isInlineTarget,\n      findRootInline: findRootInline,\n      isRtl: isRtl,\n      isAtZwsp: isAtZwsp,\n      normalizePosition: normalizePosition,\n      normalizeForwards: normalizeForwards,\n      normalizeBackwards: normalizeBackwards,\n      hasSameParentBlock: hasSameParentBlock\n    };\n\n    var isBeforeRoot = function (rootNode) {\n      return function (elm) {\n        return eq(rootNode, Element$$1.fromDom(elm.dom().parentNode));\n      };\n    };\n    var getParentBlock$1 = function (rootNode, elm) {\n      return contains$3(rootNode, elm) ? closest(elm, function (element) {\n        return isTextBlock(element) || isListItem(element);\n      }, isBeforeRoot(rootNode)) : Option.none();\n    };\n    var placeCaretInEmptyBody = function (editor) {\n      var body = editor.getBody();\n      var node = body.firstChild && editor.dom.isBlock(body.firstChild) ? body.firstChild : body;\n      editor.selection.setCursorLocation(node, 0);\n    };\n    var paddEmptyBody = function (editor) {\n      if (editor.dom.isEmpty(editor.getBody())) {\n        editor.setContent('');\n        placeCaretInEmptyBody(editor);\n      }\n    };\n    var willDeleteLastPositionInElement = function (forward, fromPos, elm) {\n      return liftN([\n        CaretFinder.firstPositionIn(elm),\n        CaretFinder.lastPositionIn(elm)\n      ], function (firstPos, lastPos) {\n        var normalizedFirstPos = InlineUtils.normalizePosition(true, firstPos);\n        var normalizedLastPos = InlineUtils.normalizePosition(false, lastPos);\n        var normalizedFromPos = InlineUtils.normalizePosition(false, fromPos);\n        if (forward) {\n          return CaretFinder.nextPosition(elm, normalizedFromPos).map(function (nextPos) {\n            return nextPos.isEqual(normalizedLastPos) && fromPos.isEqual(normalizedFirstPos);\n          }).getOr(false);\n        } else {\n          return CaretFinder.prevPosition(elm, normalizedFromPos).map(function (prevPos) {\n            return prevPos.isEqual(normalizedFirstPos) && fromPos.isEqual(normalizedLastPos);\n          }).getOr(false);\n        }\n      }).getOr(true);\n    };\n    var DeleteUtils = {\n      getParentBlock: getParentBlock$1,\n      paddEmptyBody: paddEmptyBody,\n      willDeleteLastPositionInElement: willDeleteLastPositionInElement\n    };\n\n    var ancestor$2 = function (scope, selector, isRoot) {\n      return ancestor$1(scope, selector, isRoot).isSome();\n    };\n\n    var hasWhitespacePreserveParent = function (rootNode, node) {\n      var rootElement = Element$$1.fromDom(rootNode);\n      var startNode = Element$$1.fromDom(node);\n      return ancestor$2(startNode, 'pre,code', curry(eq, rootElement));\n    };\n    var isWhitespace = function (rootNode, node) {\n      return NodeType.isText(node) && /^[ \\t\\r\\n]*$/.test(node.data) && hasWhitespacePreserveParent(rootNode, node) === false;\n    };\n    var isNamedAnchor = function (node) {\n      return NodeType.isElement(node) && node.nodeName === 'A' && node.hasAttribute('name');\n    };\n    var isContent$1 = function (rootNode, node) {\n      return isCaretCandidate(node) && isWhitespace(rootNode, node) === false || isNamedAnchor(node) || isBookmark(node);\n    };\n    var isBookmark = NodeType.hasAttribute('data-mce-bookmark');\n    var isBogus$2 = NodeType.hasAttribute('data-mce-bogus');\n    var isBogusAll$1 = NodeType.hasAttributeValue('data-mce-bogus', 'all');\n    var isEmptyNode = function (targetNode) {\n      var walker, node, brCount = 0;\n      if (isContent$1(targetNode, targetNode)) {\n        return false;\n      } else {\n        node = targetNode.firstChild;\n        if (!node) {\n          return true;\n        }\n        walker = new TreeWalker(node, targetNode);\n        do {\n          if (isBogusAll$1(node)) {\n            node = walker.next(true);\n            continue;\n          }\n          if (isBogus$2(node)) {\n            node = walker.next();\n            continue;\n          }\n          if (NodeType.isBr(node)) {\n            brCount++;\n            node = walker.next();\n            continue;\n          }\n          if (isContent$1(targetNode, node)) {\n            return false;\n          }\n          node = walker.next();\n        } while (node);\n        return brCount <= 1;\n      }\n    };\n    var isEmpty$1 = function (elm) {\n      return isEmptyNode(elm.dom());\n    };\n    var Empty = { isEmpty: isEmpty$1 };\n\n    var BlockPosition = Immutable('block', 'position');\n    var BlockBoundary = Immutable('from', 'to');\n    var getBlockPosition = function (rootNode, pos) {\n      var rootElm = Element$$1.fromDom(rootNode);\n      var containerElm = Element$$1.fromDom(pos.container());\n      return DeleteUtils.getParentBlock(rootElm, containerElm).map(function (block) {\n        return BlockPosition(block, pos);\n      });\n    };\n    var isDifferentBlocks = function (blockBoundary) {\n      return eq(blockBoundary.from().block(), blockBoundary.to().block()) === false;\n    };\n    var hasSameParent = function (blockBoundary) {\n      return parent(blockBoundary.from().block()).bind(function (parent1) {\n        return parent(blockBoundary.to().block()).filter(function (parent2) {\n          return eq(parent1, parent2);\n        });\n      }).isSome();\n    };\n    var isEditable = function (blockBoundary) {\n      return NodeType.isContentEditableFalse(blockBoundary.from().block()) === false && NodeType.isContentEditableFalse(blockBoundary.to().block()) === false;\n    };\n    var skipLastBr = function (rootNode, forward, blockPosition) {\n      if (NodeType.isBr(blockPosition.position().getNode()) && Empty.isEmpty(blockPosition.block()) === false) {\n        return CaretFinder.positionIn(false, blockPosition.block().dom()).bind(function (lastPositionInBlock) {\n          if (lastPositionInBlock.isEqual(blockPosition.position())) {\n            return CaretFinder.fromPosition(forward, rootNode, lastPositionInBlock).bind(function (to) {\n              return getBlockPosition(rootNode, to);\n            });\n          } else {\n            return Option.some(blockPosition);\n          }\n        }).getOr(blockPosition);\n      } else {\n        return blockPosition;\n      }\n    };\n    var readFromRange = function (rootNode, forward, rng) {\n      var fromBlockPos = getBlockPosition(rootNode, CaretPosition$1.fromRangeStart(rng));\n      var toBlockPos = fromBlockPos.bind(function (blockPos) {\n        return CaretFinder.fromPosition(forward, rootNode, blockPos.position()).bind(function (to) {\n          return getBlockPosition(rootNode, to).map(function (blockPos) {\n            return skipLastBr(rootNode, forward, blockPos);\n          });\n        });\n      });\n      return liftN([\n        fromBlockPos,\n        toBlockPos\n      ], BlockBoundary).filter(function (blockBoundary) {\n        return isDifferentBlocks(blockBoundary) && hasSameParent(blockBoundary) && isEditable(blockBoundary);\n      });\n    };\n    var read$1 = function (rootNode, forward, rng) {\n      return rng.collapsed ? readFromRange(rootNode, forward, rng) : Option.none();\n    };\n    var BlockMergeBoundary = { read: read$1 };\n\n    var dropLast = function (xs) {\n      return xs.slice(0, -1);\n    };\n    var parentsUntil$1 = function (start, root, predicate) {\n      if (contains$3(root, start)) {\n        return dropLast(parents(start, function (elm) {\n          return predicate(elm) || eq(elm, root);\n        }));\n      } else {\n        return [];\n      }\n    };\n    var parents$1 = function (start, root) {\n      return parentsUntil$1(start, root, constant(false));\n    };\n    var parentsAndSelf = function (start, root) {\n      return [start].concat(parents$1(start, root));\n    };\n    var Parents = {\n      parentsUntil: parentsUntil$1,\n      parents: parents$1,\n      parentsAndSelf: parentsAndSelf\n    };\n\n    var getChildrenUntilBlockBoundary = function (block) {\n      var children$$1 = children(block);\n      return findIndex(children$$1, isBlock).fold(function () {\n        return children$$1;\n      }, function (index) {\n        return children$$1.slice(0, index);\n      });\n    };\n    var extractChildren = function (block) {\n      var children$$1 = getChildrenUntilBlockBoundary(block);\n      each(children$$1, remove$2);\n      return children$$1;\n    };\n    var removeEmptyRoot = function (rootNode, block) {\n      var parents$$1 = Parents.parentsAndSelf(block, rootNode);\n      return find(parents$$1.reverse(), Empty.isEmpty).each(remove$2);\n    };\n    var isEmptyBefore = function (el) {\n      return filter(prevSiblings(el), function (el) {\n        return !Empty.isEmpty(el);\n      }).length === 0;\n    };\n    var nestedBlockMerge = function (rootNode, fromBlock, toBlock, insertionPoint) {\n      if (Empty.isEmpty(toBlock)) {\n        PaddingBr.fillWithPaddingBr(toBlock);\n        return CaretFinder.firstPositionIn(toBlock.dom());\n      }\n      if (isEmptyBefore(insertionPoint) && Empty.isEmpty(fromBlock)) {\n        before(insertionPoint, Element$$1.fromTag('br'));\n      }\n      var position = CaretFinder.prevPosition(toBlock.dom(), CaretPosition$1.before(insertionPoint.dom()));\n      each(extractChildren(fromBlock), function (child$$1) {\n        before(insertionPoint, child$$1);\n      });\n      removeEmptyRoot(rootNode, fromBlock);\n      return position;\n    };\n    var sidelongBlockMerge = function (rootNode, fromBlock, toBlock) {\n      if (Empty.isEmpty(toBlock)) {\n        remove$2(toBlock);\n        if (Empty.isEmpty(fromBlock)) {\n          PaddingBr.fillWithPaddingBr(fromBlock);\n        }\n        return CaretFinder.firstPositionIn(fromBlock.dom());\n      }\n      var position = CaretFinder.lastPositionIn(toBlock.dom());\n      each(extractChildren(fromBlock), function (child$$1) {\n        append(toBlock, child$$1);\n      });\n      removeEmptyRoot(rootNode, fromBlock);\n      return position;\n    };\n    var findInsertionPoint = function (toBlock, block) {\n      var parentsAndSelf = Parents.parentsAndSelf(block, toBlock);\n      return Option.from(parentsAndSelf[parentsAndSelf.length - 1]);\n    };\n    var getInsertionPoint = function (fromBlock, toBlock) {\n      return contains$3(toBlock, fromBlock) ? findInsertionPoint(toBlock, fromBlock) : Option.none();\n    };\n    var trimBr = function (first, block) {\n      CaretFinder.positionIn(first, block.dom()).map(function (position) {\n        return position.getNode();\n      }).map(Element$$1.fromDom).filter(isBr).each(remove$2);\n    };\n    var mergeBlockInto = function (rootNode, fromBlock, toBlock) {\n      trimBr(true, fromBlock);\n      trimBr(false, toBlock);\n      return getInsertionPoint(fromBlock, toBlock).fold(curry(sidelongBlockMerge, rootNode, fromBlock, toBlock), curry(nestedBlockMerge, rootNode, fromBlock, toBlock));\n    };\n    var mergeBlocks = function (rootNode, forward, block1, block2) {\n      return forward ? mergeBlockInto(rootNode, block2, block1) : mergeBlockInto(rootNode, block1, block2);\n    };\n    var MergeBlocks = { mergeBlocks: mergeBlocks };\n\n    var backspaceDelete = function (editor, forward) {\n      var position;\n      var rootNode = Element$$1.fromDom(editor.getBody());\n      position = BlockMergeBoundary.read(rootNode.dom(), forward, editor.selection.getRng()).bind(function (blockBoundary) {\n        return MergeBlocks.mergeBlocks(rootNode, forward, blockBoundary.from().block(), blockBoundary.to().block());\n      });\n      position.each(function (pos) {\n        editor.selection.setRng(pos.toRange());\n      });\n      return position.isSome();\n    };\n    var BlockBoundaryDelete = { backspaceDelete: backspaceDelete };\n\n    var deleteRangeMergeBlocks = function (rootNode, selection) {\n      var rng = selection.getRng();\n      return liftN([\n        DeleteUtils.getParentBlock(rootNode, Element$$1.fromDom(rng.startContainer)),\n        DeleteUtils.getParentBlock(rootNode, Element$$1.fromDom(rng.endContainer))\n      ], function (block1, block2) {\n        if (eq(block1, block2) === false) {\n          rng.deleteContents();\n          MergeBlocks.mergeBlocks(rootNode, true, block1, block2).each(function (pos) {\n            selection.setRng(pos.toRange());\n          });\n          return true;\n        } else {\n          return false;\n        }\n      }).getOr(false);\n    };\n    var isRawNodeInTable = function (root, rawNode) {\n      var node = Element$$1.fromDom(rawNode);\n      var isRoot = curry(eq, root);\n      return ancestor(node, isTableCell, isRoot).isSome();\n    };\n    var isSelectionInTable = function (root, rng) {\n      return isRawNodeInTable(root, rng.startContainer) || isRawNodeInTable(root, rng.endContainer);\n    };\n    var isEverythingSelected = function (root, rng) {\n      var noPrevious = CaretFinder.prevPosition(root.dom(), CaretPosition$1.fromRangeStart(rng)).isNone();\n      var noNext = CaretFinder.nextPosition(root.dom(), CaretPosition$1.fromRangeEnd(rng)).isNone();\n      return !isSelectionInTable(root, rng) && noPrevious && noNext;\n    };\n    var emptyEditor = function (editor) {\n      editor.setContent('');\n      editor.selection.setCursorLocation();\n      return true;\n    };\n    var deleteRange = function (editor) {\n      var rootNode = Element$$1.fromDom(editor.getBody());\n      var rng = editor.selection.getRng();\n      return isEverythingSelected(rootNode, rng) ? emptyEditor(editor) : deleteRangeMergeBlocks(rootNode, editor.selection);\n    };\n    var backspaceDelete$1 = function (editor, forward) {\n      return editor.selection.isCollapsed() ? false : deleteRange(editor);\n    };\n    var BlockRangeDelete = { backspaceDelete: backspaceDelete$1 };\n\n    var generate$1 = function (cases) {\n      if (!isArray(cases)) {\n        throw new Error('cases must be an array');\n      }\n      if (cases.length === 0) {\n        throw new Error('there must be at least one case');\n      }\n      var constructors = [];\n      var adt = {};\n      each(cases, function (acase, count) {\n        var keys$$1 = keys(acase);\n        if (keys$$1.length !== 1) {\n          throw new Error('one and only one name per case');\n        }\n        var key = keys$$1[0];\n        var value = acase[key];\n        if (adt[key] !== undefined) {\n          throw new Error('duplicate key detected:' + key);\n        } else if (key === 'cata') {\n          throw new Error('cannot have a case named cata (sorry)');\n        } else if (!isArray(value)) {\n          throw new Error('case arguments must be an array');\n        }\n        constructors.push(key);\n        adt[key] = function () {\n          var argLength = arguments.length;\n          if (argLength !== value.length) {\n            throw new Error('Wrong number of arguments to case ' + key + '. Expected ' + value.length + ' (' + value + '), got ' + argLength);\n          }\n          var args = new Array(argLength);\n          for (var i = 0; i < args.length; i++)\n            args[i] = arguments[i];\n          var match = function (branches) {\n            var branchKeys = keys(branches);\n            if (constructors.length !== branchKeys.length) {\n              throw new Error('Wrong number of arguments to match. Expected: ' + constructors.join(',') + '\\nActual: ' + branchKeys.join(','));\n            }\n            var allReqd = forall(constructors, function (reqKey) {\n              return contains(branchKeys, reqKey);\n            });\n            if (!allReqd)\n              throw new Error('Not all branches were specified when using match. Specified: ' + branchKeys.join(', ') + '\\nRequired: ' + constructors.join(', '));\n            return branches[key].apply(null, args);\n          };\n          return {\n            fold: function () {\n              if (arguments.length !== cases.length) {\n                throw new Error('Wrong number of arguments to fold. Expected ' + cases.length + ', got ' + arguments.length);\n              }\n              var target = arguments[count];\n              return target.apply(null, args);\n            },\n            match: match,\n            log: function (label) {\n              console.log(label, {\n                constructors: constructors,\n                constructor: key,\n                params: args\n              });\n            }\n          };\n        };\n      });\n      return adt;\n    };\n    var Adt = { generate: generate$1 };\n\n    var isBr$5 = function (pos) {\n      return getElementFromPosition(pos).exists(isBr);\n    };\n    var findBr = function (forward, root, pos) {\n      var parentBlocks = filter(Parents.parentsAndSelf(Element$$1.fromDom(pos.container()), root), isBlock);\n      var scope = head(parentBlocks).getOr(root);\n      return CaretFinder.fromPosition(forward, scope.dom(), pos).filter(isBr$5);\n    };\n    var isBeforeBr = function (root, pos) {\n      return getElementFromPosition(pos).exists(isBr) || findBr(true, root, pos).isSome();\n    };\n    var isAfterBr = function (root, pos) {\n      return getElementFromPrevPosition(pos).exists(isBr) || findBr(false, root, pos).isSome();\n    };\n    var findPreviousBr = curry(findBr, false);\n    var findNextBr = curry(findBr, true);\n\n    var isCompoundElement = function (node) {\n      return isTableCell(Element$$1.fromDom(node)) || isListItem(Element$$1.fromDom(node));\n    };\n    var DeleteAction = Adt.generate([\n      { remove: ['element'] },\n      { moveToElement: ['element'] },\n      { moveToPosition: ['position'] }\n    ]);\n    var isAtContentEditableBlockCaret = function (forward, from) {\n      var elm = from.getNode(forward === false);\n      var caretLocation = forward ? 'after' : 'before';\n      return NodeType.isElement(elm) && elm.getAttribute('data-mce-caret') === caretLocation;\n    };\n    var isDeleteFromCefDifferentBlocks = function (root, forward, from, to) {\n      var inSameBlock = function (elm) {\n        return isInline(Element$$1.fromDom(elm)) && !isInSameBlock(from, to, root);\n      };\n      return getRelativeCefElm(!forward, from).fold(function () {\n        return getRelativeCefElm(forward, to).fold(constant(false), inSameBlock);\n      }, inSameBlock);\n    };\n    var deleteEmptyBlockOrMoveToCef = function (root, forward, from, to) {\n      var toCefElm = to.getNode(forward === false);\n      return DeleteUtils.getParentBlock(Element$$1.fromDom(root), Element$$1.fromDom(from.getNode())).map(function (blockElm) {\n        return Empty.isEmpty(blockElm) ? DeleteAction.remove(blockElm.dom()) : DeleteAction.moveToElement(toCefElm);\n      }).orThunk(function () {\n        return Option.some(DeleteAction.moveToElement(toCefElm));\n      });\n    };\n    var findCefPosition = function (root, forward, from) {\n      return CaretFinder.fromPosition(forward, root, from).bind(function (to) {\n        if (isCompoundElement(to.getNode())) {\n          return Option.none();\n        } else if (isDeleteFromCefDifferentBlocks(root, forward, from, to)) {\n          return Option.none();\n        } else if (forward && NodeType.isContentEditableFalse(to.getNode())) {\n          return deleteEmptyBlockOrMoveToCef(root, forward, from, to);\n        } else if (forward === false && NodeType.isContentEditableFalse(to.getNode(true))) {\n          return deleteEmptyBlockOrMoveToCef(root, forward, from, to);\n        } else if (forward && isAfterContentEditableFalse(from)) {\n          return Option.some(DeleteAction.moveToPosition(to));\n        } else if (forward === false && isBeforeContentEditableFalse(from)) {\n          return Option.some(DeleteAction.moveToPosition(to));\n        } else {\n          return Option.none();\n        }\n      });\n    };\n    var getContentEditableBlockAction = function (forward, elm) {\n      if (forward && NodeType.isContentEditableFalse(elm.nextSibling)) {\n        return Option.some(DeleteAction.moveToElement(elm.nextSibling));\n      } else if (forward === false && NodeType.isContentEditableFalse(elm.previousSibling)) {\n        return Option.some(DeleteAction.moveToElement(elm.previousSibling));\n      } else {\n        return Option.none();\n      }\n    };\n    var skipMoveToActionFromInlineCefToContent = function (root, from, deleteAction) {\n      return deleteAction.fold(function (elm) {\n        return Option.some(DeleteAction.remove(elm));\n      }, function (elm) {\n        return Option.some(DeleteAction.moveToElement(elm));\n      }, function (to) {\n        if (isInSameBlock(from, to, root)) {\n          return Option.none();\n        } else {\n          return Option.some(DeleteAction.moveToPosition(to));\n        }\n      });\n    };\n    var getContentEditableAction = function (root, forward, from) {\n      if (isAtContentEditableBlockCaret(forward, from)) {\n        return getContentEditableBlockAction(forward, from.getNode(forward === false)).fold(function () {\n          return findCefPosition(root, forward, from);\n        }, Option.some);\n      } else {\n        return findCefPosition(root, forward, from).bind(function (deleteAction) {\n          return skipMoveToActionFromInlineCefToContent(root, from, deleteAction);\n        });\n      }\n    };\n    var read$2 = function (root, forward, rng) {\n      var normalizedRange = normalizeRange(forward ? 1 : -1, root, rng);\n      var from = CaretPosition$1.fromRangeStart(normalizedRange);\n      var rootElement = Element$$1.fromDom(root);\n      if (forward === false && isAfterContentEditableFalse(from)) {\n        return Option.some(DeleteAction.remove(from.getNode(true)));\n      } else if (forward && isBeforeContentEditableFalse(from)) {\n        return Option.some(DeleteAction.remove(from.getNode()));\n      } else if (forward === false && isBeforeContentEditableFalse(from) && isAfterBr(rootElement, from)) {\n        return findPreviousBr(rootElement, from).map(function (br) {\n          return DeleteAction.remove(br.getNode());\n        });\n      } else if (forward && isAfterContentEditableFalse(from) && isBeforeBr(rootElement, from)) {\n        return findNextBr(rootElement, from).map(function (br) {\n          return DeleteAction.remove(br.getNode());\n        });\n      } else {\n        return getContentEditableAction(root, forward, from);\n      }\n    };\n\n    var isCollapsibleWhitespace = function (c) {\n      return ' \\f\\n\\r\\t\\x0B'.indexOf(c) !== -1;\n    };\n    var normalizeContent = function (content, isStartOfContent, isEndOfContent) {\n      var result = foldl(content.split(''), function (acc, c) {\n        if (isCollapsibleWhitespace(c) || c === '\\xA0') {\n          if (acc.previousCharIsSpace || acc.str === '' && isStartOfContent || acc.str.length === content.length - 1 && isEndOfContent) {\n            return {\n              previousCharIsSpace: false,\n              str: acc.str + '\\xA0'\n            };\n          } else {\n            return {\n              previousCharIsSpace: true,\n              str: acc.str + ' '\n            };\n          }\n        } else {\n          return {\n            previousCharIsSpace: false,\n            str: acc.str + c\n          };\n        }\n      }, {\n        previousCharIsSpace: false,\n        str: ''\n      });\n      return result.str;\n    };\n    var normalize$1 = function (node, offset, count) {\n      if (count === 0) {\n        return;\n      }\n      var whitespace = node.data.slice(offset, offset + count);\n      var isEndOfContent = offset + count >= node.data.length;\n      var isStartOfContent = offset === 0;\n      node.replaceData(offset, count, normalizeContent(whitespace, isStartOfContent, isEndOfContent));\n    };\n    var normalizeWhitespaceAfter = function (node, offset) {\n      var content = node.data.slice(offset);\n      var whitespaceCount = content.length - lTrim(content).length;\n      return normalize$1(node, offset, whitespaceCount);\n    };\n    var normalizeWhitespaceBefore = function (node, offset) {\n      var content = node.data.slice(0, offset);\n      var whitespaceCount = content.length - rTrim(content).length;\n      return normalize$1(node, offset - whitespaceCount, whitespaceCount);\n    };\n    var mergeTextNodes = function (prevNode, nextNode, normalizeWhitespace) {\n      var whitespaceOffset = rTrim(prevNode.data).length;\n      prevNode.appendData(nextNode.data);\n      remove$2(Element$$1.fromDom(nextNode));\n      if (normalizeWhitespace) {\n        normalizeWhitespaceAfter(prevNode, whitespaceOffset);\n      }\n      return prevNode;\n    };\n\n    var needsReposition = function (pos, elm) {\n      var container = pos.container();\n      var offset = pos.offset();\n      return CaretPosition$1.isTextPosition(pos) === false && container === elm.parentNode && offset > CaretPosition$1.before(elm).offset();\n    };\n    var reposition = function (elm, pos) {\n      return needsReposition(pos, elm) ? CaretPosition$1(pos.container(), pos.offset() - 1) : pos;\n    };\n    var beforeOrStartOf = function (node) {\n      return NodeType.isText(node) ? CaretPosition$1(node, 0) : CaretPosition$1.before(node);\n    };\n    var afterOrEndOf = function (node) {\n      return NodeType.isText(node) ? CaretPosition$1(node, node.data.length) : CaretPosition$1.after(node);\n    };\n    var getPreviousSiblingCaretPosition = function (elm) {\n      if (isCaretCandidate(elm.previousSibling)) {\n        return Option.some(afterOrEndOf(elm.previousSibling));\n      } else {\n        return elm.previousSibling ? CaretFinder.lastPositionIn(elm.previousSibling) : Option.none();\n      }\n    };\n    var getNextSiblingCaretPosition = function (elm) {\n      if (isCaretCandidate(elm.nextSibling)) {\n        return Option.some(beforeOrStartOf(elm.nextSibling));\n      } else {\n        return elm.nextSibling ? CaretFinder.firstPositionIn(elm.nextSibling) : Option.none();\n      }\n    };\n    var findCaretPositionBackwardsFromElm = function (rootElement, elm) {\n      var startPosition = CaretPosition$1.before(elm.previousSibling ? elm.previousSibling : elm.parentNode);\n      return CaretFinder.prevPosition(rootElement, startPosition).fold(function () {\n        return CaretFinder.nextPosition(rootElement, CaretPosition$1.after(elm));\n      }, Option.some);\n    };\n    var findCaretPositionForwardsFromElm = function (rootElement, elm) {\n      return CaretFinder.nextPosition(rootElement, CaretPosition$1.after(elm)).fold(function () {\n        return CaretFinder.prevPosition(rootElement, CaretPosition$1.before(elm));\n      }, Option.some);\n    };\n    var findCaretPositionBackwards = function (rootElement, elm) {\n      return getPreviousSiblingCaretPosition(elm).orThunk(function () {\n        return getNextSiblingCaretPosition(elm);\n      }).orThunk(function () {\n        return findCaretPositionBackwardsFromElm(rootElement, elm);\n      });\n    };\n    var findCaretPositionForward = function (rootElement, elm) {\n      return getNextSiblingCaretPosition(elm).orThunk(function () {\n        return getPreviousSiblingCaretPosition(elm);\n      }).orThunk(function () {\n        return findCaretPositionForwardsFromElm(rootElement, elm);\n      });\n    };\n    var findCaretPosition$1 = function (forward, rootElement, elm) {\n      return forward ? findCaretPositionForward(rootElement, elm) : findCaretPositionBackwards(rootElement, elm);\n    };\n    var findCaretPosOutsideElmAfterDelete = function (forward, rootElement, elm) {\n      return findCaretPosition$1(forward, rootElement, elm).map(curry(reposition, elm));\n    };\n    var setSelection = function (editor, forward, pos) {\n      pos.fold(function () {\n        editor.focus();\n      }, function (pos) {\n        editor.selection.setRng(pos.toRange(), forward);\n      });\n    };\n    var eqRawNode = function (rawNode) {\n      return function (elm) {\n        return elm.dom() === rawNode;\n      };\n    };\n    var isBlock$2 = function (editor, elm) {\n      return elm && editor.schema.getBlockElements().hasOwnProperty(name(elm));\n    };\n    var paddEmptyBlock = function (elm) {\n      if (Empty.isEmpty(elm)) {\n        var br = Element$$1.fromHtml('<br data-mce-bogus=\"1\">');\n        empty(elm);\n        append(elm, br);\n        return Option.some(CaretPosition$1.before(br.dom()));\n      } else {\n        return Option.none();\n      }\n    };\n    var deleteNormalized = function (elm, afterDeletePosOpt, normalizeWhitespace) {\n      var prevTextOpt = prevSibling(elm).filter(function (e) {\n        return NodeType.isText(e.dom());\n      });\n      var nextTextOpt = nextSibling(elm).filter(function (e) {\n        return NodeType.isText(e.dom());\n      });\n      remove$2(elm);\n      return liftN([\n        prevTextOpt,\n        nextTextOpt,\n        afterDeletePosOpt\n      ], function (prev, next, pos) {\n        var prevNode = prev.dom(), nextNode = next.dom();\n        var offset = prevNode.data.length;\n        mergeTextNodes(prevNode, nextNode, normalizeWhitespace);\n        return pos.container() === nextNode ? CaretPosition$1(prevNode, offset) : pos;\n      }).orThunk(function () {\n        if (normalizeWhitespace) {\n          prevTextOpt.each(function (elm) {\n            return normalizeWhitespaceBefore(elm.dom(), elm.dom().length);\n          });\n          nextTextOpt.each(function (elm) {\n            return normalizeWhitespaceAfter(elm.dom(), 0);\n          });\n        }\n        return afterDeletePosOpt;\n      });\n    };\n    var isInlineElement = function (editor, element) {\n      return has(editor.schema.getTextInlineElements(), name(element));\n    };\n    var deleteElement = function (editor, forward, elm, moveCaret) {\n      if (moveCaret === void 0) {\n        moveCaret = true;\n      }\n      var afterDeletePos = findCaretPosOutsideElmAfterDelete(forward, editor.getBody(), elm.dom());\n      var parentBlock = ancestor(elm, curry(isBlock$2, editor), eqRawNode(editor.getBody()));\n      var normalizedAfterDeletePos = deleteNormalized(elm, afterDeletePos, isInlineElement(editor, elm));\n      if (editor.dom.isEmpty(editor.getBody())) {\n        editor.setContent('');\n        editor.selection.setCursorLocation();\n      } else {\n        parentBlock.bind(paddEmptyBlock).fold(function () {\n          if (moveCaret) {\n            setSelection(editor, forward, normalizedAfterDeletePos);\n          }\n        }, function (paddPos) {\n          if (moveCaret) {\n            setSelection(editor, forward, Option.some(paddPos));\n          }\n        });\n      }\n    };\n    var DeleteElement = { deleteElement: deleteElement };\n\n    var deleteElement$1 = function (editor, forward) {\n      return function (element) {\n        editor._selectionOverrides.hideFakeCaret();\n        DeleteElement.deleteElement(editor, forward, Element$$1.fromDom(element));\n        return true;\n      };\n    };\n    var moveToElement = function (editor, forward) {\n      return function (element) {\n        var pos = forward ? CaretPosition$1.before(element) : CaretPosition$1.after(element);\n        editor.selection.setRng(pos.toRange());\n        return true;\n      };\n    };\n    var moveToPosition = function (editor) {\n      return function (pos) {\n        editor.selection.setRng(pos.toRange());\n        return true;\n      };\n    };\n    var backspaceDeleteCaret = function (editor, forward) {\n      var result = read$2(editor.getBody(), forward, editor.selection.getRng()).map(function (deleteAction) {\n        return deleteAction.fold(deleteElement$1(editor, forward), moveToElement(editor, forward), moveToPosition(editor));\n      });\n      return result.getOr(false);\n    };\n    var deleteOffscreenSelection = function (rootElement) {\n      each(descendants$1(rootElement, '.mce-offscreen-selection'), remove$2);\n    };\n    var backspaceDeleteRange = function (editor, forward) {\n      var selectedElement = editor.selection.getNode();\n      if (NodeType.isContentEditableFalse(selectedElement)) {\n        deleteOffscreenSelection(Element$$1.fromDom(editor.getBody()));\n        DeleteElement.deleteElement(editor, forward, Element$$1.fromDom(editor.selection.getNode()));\n        DeleteUtils.paddEmptyBody(editor);\n        return true;\n      } else {\n        return false;\n      }\n    };\n    var getContentEditableRoot = function (root, node) {\n      while (node && node !== root) {\n        if (NodeType.isContentEditableTrue(node) || NodeType.isContentEditableFalse(node)) {\n          return node;\n        }\n        node = node.parentNode;\n      }\n      return null;\n    };\n    var paddEmptyElement = function (editor) {\n      var br;\n      var ceRoot = getContentEditableRoot(editor.getBody(), editor.selection.getNode());\n      if (NodeType.isContentEditableTrue(ceRoot) && editor.dom.isBlock(ceRoot) && editor.dom.isEmpty(ceRoot)) {\n        br = editor.dom.create('br', { 'data-mce-bogus': '1' });\n        editor.dom.setHTML(ceRoot, '');\n        ceRoot.appendChild(br);\n        editor.selection.setRng(CaretPosition$1.before(br).toRange());\n      }\n      return true;\n    };\n    var backspaceDelete$2 = function (editor, forward) {\n      if (editor.selection.isCollapsed()) {\n        return backspaceDeleteCaret(editor, forward);\n      } else {\n        return backspaceDeleteRange(editor, forward);\n      }\n    };\n    var CefDelete = {\n      backspaceDelete: backspaceDelete$2,\n      paddEmptyElement: paddEmptyElement\n    };\n\n    var isText$8 = NodeType.isText;\n    var startsWithCaretContainer$1 = function (node) {\n      return isText$8(node) && node.data[0] === Zwsp.ZWSP;\n    };\n    var endsWithCaretContainer$1 = function (node) {\n      return isText$8(node) && node.data[node.data.length - 1] === Zwsp.ZWSP;\n    };\n    var createZwsp = function (node) {\n      return node.ownerDocument.createTextNode(Zwsp.ZWSP);\n    };\n    var insertBefore$1 = function (node) {\n      if (isText$8(node.previousSibling)) {\n        if (endsWithCaretContainer$1(node.previousSibling)) {\n          return node.previousSibling;\n        } else {\n          node.previousSibling.appendData(Zwsp.ZWSP);\n          return node.previousSibling;\n        }\n      } else if (isText$8(node)) {\n        if (startsWithCaretContainer$1(node)) {\n          return node;\n        } else {\n          node.insertData(0, Zwsp.ZWSP);\n          return node;\n        }\n      } else {\n        var newNode = createZwsp(node);\n        node.parentNode.insertBefore(newNode, node);\n        return newNode;\n      }\n    };\n    var insertAfter$1 = function (node) {\n      if (isText$8(node.nextSibling)) {\n        if (startsWithCaretContainer$1(node.nextSibling)) {\n          return node.nextSibling;\n        } else {\n          node.nextSibling.insertData(0, Zwsp.ZWSP);\n          return node.nextSibling;\n        }\n      } else if (isText$8(node)) {\n        if (endsWithCaretContainer$1(node)) {\n          return node;\n        } else {\n          node.appendData(Zwsp.ZWSP);\n          return node;\n        }\n      } else {\n        var newNode = createZwsp(node);\n        if (node.nextSibling) {\n          node.parentNode.insertBefore(newNode, node.nextSibling);\n        } else {\n          node.parentNode.appendChild(newNode);\n        }\n        return newNode;\n      }\n    };\n    var insertInline$1 = function (before, node) {\n      return before ? insertBefore$1(node) : insertAfter$1(node);\n    };\n    var insertInlineBefore = curry(insertInline$1, true);\n    var insertInlineAfter = curry(insertInline$1, false);\n\n    var insertInlinePos = function (pos, before) {\n      if (NodeType.isText(pos.container())) {\n        return insertInline$1(before, pos.container());\n      } else {\n        return insertInline$1(before, pos.getNode());\n      }\n    };\n    var isPosCaretContainer = function (pos, caret) {\n      var caretNode = caret.get();\n      return caretNode && pos.container() === caretNode && isCaretContainerInline(caretNode);\n    };\n    var renderCaret = function (caret, location) {\n      return location.fold(function (element) {\n        CaretContainerRemove.remove(caret.get());\n        var text = insertInlineBefore(element);\n        caret.set(text);\n        return Option.some(CaretPosition$1(text, text.length - 1));\n      }, function (element) {\n        return CaretFinder.firstPositionIn(element).map(function (pos) {\n          if (!isPosCaretContainer(pos, caret)) {\n            CaretContainerRemove.remove(caret.get());\n            var text = insertInlinePos(pos, true);\n            caret.set(text);\n            return CaretPosition$1(text, 1);\n          } else {\n            return CaretPosition$1(caret.get(), 1);\n          }\n        });\n      }, function (element) {\n        return CaretFinder.lastPositionIn(element).map(function (pos) {\n          if (!isPosCaretContainer(pos, caret)) {\n            CaretContainerRemove.remove(caret.get());\n            var text = insertInlinePos(pos, false);\n            caret.set(text);\n            return CaretPosition$1(text, text.length - 1);\n          } else {\n            return CaretPosition$1(caret.get(), caret.get().length - 1);\n          }\n        });\n      }, function (element) {\n        CaretContainerRemove.remove(caret.get());\n        var text = insertInlineAfter(element);\n        caret.set(text);\n        return Option.some(CaretPosition$1(text, 1));\n      });\n    };\n    var BoundaryCaret = { renderCaret: renderCaret };\n\n    var evaluateUntil = function (fns, args) {\n      for (var i = 0; i < fns.length; i++) {\n        var result = fns[i].apply(null, args);\n        if (result.isSome()) {\n          return result;\n        }\n      }\n      return Option.none();\n    };\n    var LazyEvaluator = { evaluateUntil: evaluateUntil };\n\n    var Location = Adt.generate([\n      { before: ['element'] },\n      { start: ['element'] },\n      { end: ['element'] },\n      { after: ['element'] }\n    ]);\n    var rescope = function (rootNode, node) {\n      var parentBlock = getParentBlock(node, rootNode);\n      return parentBlock ? parentBlock : rootNode;\n    };\n    var before$3 = function (isInlineTarget, rootNode, pos) {\n      var nPos = InlineUtils.normalizeForwards(pos);\n      var scope = rescope(rootNode, nPos.container());\n      return InlineUtils.findRootInline(isInlineTarget, scope, nPos).fold(function () {\n        return CaretFinder.nextPosition(scope, nPos).bind(curry(InlineUtils.findRootInline, isInlineTarget, scope)).map(function (inline) {\n          return Location.before(inline);\n        });\n      }, Option.none);\n    };\n    var isNotInsideFormatCaretContainer = function (rootNode, elm) {\n      return getParentCaretContainer(rootNode, elm) === null;\n    };\n    var findInsideRootInline = function (isInlineTarget, rootNode, pos) {\n      return InlineUtils.findRootInline(isInlineTarget, rootNode, pos).filter(curry(isNotInsideFormatCaretContainer, rootNode));\n    };\n    var start = function (isInlineTarget, rootNode, pos) {\n      var nPos = InlineUtils.normalizeBackwards(pos);\n      return findInsideRootInline(isInlineTarget, rootNode, nPos).bind(function (inline) {\n        var prevPos = CaretFinder.prevPosition(inline, nPos);\n        return prevPos.isNone() ? Option.some(Location.start(inline)) : Option.none();\n      });\n    };\n    var end = function (isInlineTarget, rootNode, pos) {\n      var nPos = InlineUtils.normalizeForwards(pos);\n      return findInsideRootInline(isInlineTarget, rootNode, nPos).bind(function (inline) {\n        var nextPos = CaretFinder.nextPosition(inline, nPos);\n        return nextPos.isNone() ? Option.some(Location.end(inline)) : Option.none();\n      });\n    };\n    var after$3 = function (isInlineTarget, rootNode, pos) {\n      var nPos = InlineUtils.normalizeBackwards(pos);\n      var scope = rescope(rootNode, nPos.container());\n      return InlineUtils.findRootInline(isInlineTarget, scope, nPos).fold(function () {\n        return CaretFinder.prevPosition(scope, nPos).bind(curry(InlineUtils.findRootInline, isInlineTarget, scope)).map(function (inline) {\n          return Location.after(inline);\n        });\n      }, Option.none);\n    };\n    var isValidLocation = function (location) {\n      return InlineUtils.isRtl(getElement(location)) === false;\n    };\n    var readLocation = function (isInlineTarget, rootNode, pos) {\n      var location = LazyEvaluator.evaluateUntil([\n        before$3,\n        start,\n        end,\n        after$3\n      ], [\n        isInlineTarget,\n        rootNode,\n        pos\n      ]);\n      return location.filter(isValidLocation);\n    };\n    var getElement = function (location) {\n      return location.fold(identity, identity, identity, identity);\n    };\n    var getName = function (location) {\n      return location.fold(constant('before'), constant('start'), constant('end'), constant('after'));\n    };\n    var outside = function (location) {\n      return location.fold(Location.before, Location.before, Location.after, Location.after);\n    };\n    var inside = function (location) {\n      return location.fold(Location.start, Location.start, Location.end, Location.end);\n    };\n    var isEq$1 = function (location1, location2) {\n      return getName(location1) === getName(location2) && getElement(location1) === getElement(location2);\n    };\n    var betweenInlines = function (forward, isInlineTarget, rootNode, from, to, location) {\n      return liftN([\n        InlineUtils.findRootInline(isInlineTarget, rootNode, from),\n        InlineUtils.findRootInline(isInlineTarget, rootNode, to)\n      ], function (fromInline, toInline) {\n        if (fromInline !== toInline && InlineUtils.hasSameParentBlock(rootNode, fromInline, toInline)) {\n          return Location.after(forward ? fromInline : toInline);\n        } else {\n          return location;\n        }\n      }).getOr(location);\n    };\n    var skipNoMovement = function (fromLocation, toLocation) {\n      return fromLocation.fold(constant(true), function (fromLocation) {\n        return !isEq$1(fromLocation, toLocation);\n      });\n    };\n    var findLocationTraverse = function (forward, isInlineTarget, rootNode, fromLocation, pos) {\n      var from = InlineUtils.normalizePosition(forward, pos);\n      var to = CaretFinder.fromPosition(forward, rootNode, from).map(curry(InlineUtils.normalizePosition, forward));\n      var location = to.fold(function () {\n        return fromLocation.map(outside);\n      }, function (to) {\n        return readLocation(isInlineTarget, rootNode, to).map(curry(betweenInlines, forward, isInlineTarget, rootNode, from, to)).filter(curry(skipNoMovement, fromLocation));\n      });\n      return location.filter(isValidLocation);\n    };\n    var findLocationSimple = function (forward, location) {\n      if (forward) {\n        return location.fold(compose(Option.some, Location.start), Option.none, compose(Option.some, Location.after), Option.none);\n      } else {\n        return location.fold(Option.none, compose(Option.some, Location.before), Option.none, compose(Option.some, Location.end));\n      }\n    };\n    var findLocation = function (forward, isInlineTarget, rootNode, pos) {\n      var from = InlineUtils.normalizePosition(forward, pos);\n      var fromLocation = readLocation(isInlineTarget, rootNode, from);\n      return readLocation(isInlineTarget, rootNode, from).bind(curry(findLocationSimple, forward)).orThunk(function () {\n        return findLocationTraverse(forward, isInlineTarget, rootNode, fromLocation, pos);\n      });\n    };\n    var BoundaryLocation = {\n      readLocation: readLocation,\n      findLocation: findLocation,\n      prevLocation: curry(findLocation, false),\n      nextLocation: curry(findLocation, true),\n      getElement: getElement,\n      outside: outside,\n      inside: inside\n    };\n\n    var hasSelectionModifyApi = function (editor) {\n      return isFunction(editor.selection.getSel().modify);\n    };\n    var moveRel = function (forward, selection, pos) {\n      var delta = forward ? 1 : -1;\n      selection.setRng(CaretPosition$1(pos.container(), pos.offset() + delta).toRange());\n      selection.getSel().modify('move', forward ? 'forward' : 'backward', 'word');\n      return true;\n    };\n    var moveByWord = function (forward, editor) {\n      var rng = editor.selection.getRng();\n      var pos = forward ? CaretPosition$1.fromRangeEnd(rng) : CaretPosition$1.fromRangeStart(rng);\n      if (!hasSelectionModifyApi(editor)) {\n        return false;\n      } else if (forward && isBeforeInline(pos)) {\n        return moveRel(true, editor.selection, pos);\n      } else if (!forward && isAfterInline(pos)) {\n        return moveRel(false, editor.selection, pos);\n      } else {\n        return false;\n      }\n    };\n    var WordSelection = {\n      hasSelectionModifyApi: hasSelectionModifyApi,\n      moveByWord: moveByWord\n    };\n\n    var setCaretPosition = function (editor, pos) {\n      var rng = editor.dom.createRng();\n      rng.setStart(pos.container(), pos.offset());\n      rng.setEnd(pos.container(), pos.offset());\n      editor.selection.setRng(rng);\n    };\n    var isFeatureEnabled = function (editor) {\n      return editor.settings.inline_boundaries !== false;\n    };\n    var setSelected = function (state, elm) {\n      if (state) {\n        elm.setAttribute('data-mce-selected', 'inline-boundary');\n      } else {\n        elm.removeAttribute('data-mce-selected');\n      }\n    };\n    var renderCaretLocation = function (editor, caret, location) {\n      return BoundaryCaret.renderCaret(caret, location).map(function (pos) {\n        setCaretPosition(editor, pos);\n        return location;\n      });\n    };\n    var findLocation$1 = function (editor, caret, forward) {\n      var rootNode = editor.getBody();\n      var from = CaretPosition$1.fromRangeStart(editor.selection.getRng());\n      var isInlineTarget = curry(InlineUtils.isInlineTarget, editor);\n      var location = BoundaryLocation.findLocation(forward, isInlineTarget, rootNode, from);\n      return location.bind(function (location) {\n        return renderCaretLocation(editor, caret, location);\n      });\n    };\n    var toggleInlines = function (isInlineTarget, dom, elms) {\n      var selectedInlines = filter(dom.select('*[data-mce-selected=\"inline-boundary\"]'), isInlineTarget);\n      var targetInlines = filter(elms, isInlineTarget);\n      each(difference(selectedInlines, targetInlines), curry(setSelected, false));\n      each(difference(targetInlines, selectedInlines), curry(setSelected, true));\n    };\n    var safeRemoveCaretContainer = function (editor, caret) {\n      if (editor.selection.isCollapsed() && editor.composing !== true && caret.get()) {\n        var pos = CaretPosition$1.fromRangeStart(editor.selection.getRng());\n        if (CaretPosition$1.isTextPosition(pos) && InlineUtils.isAtZwsp(pos) === false) {\n          setCaretPosition(editor, CaretContainerRemove.removeAndReposition(caret.get(), pos));\n          caret.set(null);\n        }\n      }\n    };\n    var renderInsideInlineCaret = function (isInlineTarget, editor, caret, elms) {\n      if (editor.selection.isCollapsed()) {\n        var inlines = filter(elms, isInlineTarget);\n        each(inlines, function (inline) {\n          var pos = CaretPosition$1.fromRangeStart(editor.selection.getRng());\n          BoundaryLocation.readLocation(isInlineTarget, editor.getBody(), pos).bind(function (location) {\n            return renderCaretLocation(editor, caret, location);\n          });\n        });\n      }\n    };\n    var move = function (editor, caret, forward) {\n      return function () {\n        return isFeatureEnabled(editor) ? findLocation$1(editor, caret, forward).isSome() : false;\n      };\n    };\n    var moveWord = function (forward, editor, caret) {\n      return function () {\n        return isFeatureEnabled(editor) ? WordSelection.moveByWord(forward, editor) : false;\n      };\n    };\n    var setupSelectedState = function (editor) {\n      var caret = Cell(null);\n      var isInlineTarget = curry(InlineUtils.isInlineTarget, editor);\n      editor.on('NodeChange', function (e) {\n        if (isFeatureEnabled(editor)) {\n          toggleInlines(isInlineTarget, editor.dom, e.parents);\n          safeRemoveCaretContainer(editor, caret);\n          renderInsideInlineCaret(isInlineTarget, editor, caret, e.parents);\n        }\n      });\n      return caret;\n    };\n    var moveNextWord = curry(moveWord, true);\n    var movePrevWord = curry(moveWord, false);\n    var BoundarySelection = {\n      move: move,\n      moveNextWord: moveNextWord,\n      movePrevWord: movePrevWord,\n      setupSelectedState: setupSelectedState,\n      setCaretPosition: setCaretPosition\n    };\n\n    var isFeatureEnabled$1 = function (editor) {\n      return editor.settings.inline_boundaries !== false;\n    };\n    var rangeFromPositions = function (from, to) {\n      var range = document.createRange();\n      range.setStart(from.container(), from.offset());\n      range.setEnd(to.container(), to.offset());\n      return range;\n    };\n    var hasOnlyTwoOrLessPositionsLeft = function (elm) {\n      return liftN([\n        CaretFinder.firstPositionIn(elm),\n        CaretFinder.lastPositionIn(elm)\n      ], function (firstPos, lastPos) {\n        var normalizedFirstPos = InlineUtils.normalizePosition(true, firstPos);\n        var normalizedLastPos = InlineUtils.normalizePosition(false, lastPos);\n        return CaretFinder.nextPosition(elm, normalizedFirstPos).map(function (pos) {\n          return pos.isEqual(normalizedLastPos);\n        }).getOr(true);\n      }).getOr(true);\n    };\n    var setCaretLocation = function (editor, caret) {\n      return function (location$$1) {\n        return BoundaryCaret.renderCaret(caret, location$$1).map(function (pos) {\n          BoundarySelection.setCaretPosition(editor, pos);\n          return true;\n        }).getOr(false);\n      };\n    };\n    var deleteFromTo = function (editor, caret, from, to) {\n      var rootNode = editor.getBody();\n      var isInlineTarget = curry(InlineUtils.isInlineTarget, editor);\n      editor.undoManager.ignore(function () {\n        editor.selection.setRng(rangeFromPositions(from, to));\n        editor.execCommand('Delete');\n        BoundaryLocation.readLocation(isInlineTarget, rootNode, CaretPosition$1.fromRangeStart(editor.selection.getRng())).map(BoundaryLocation.inside).map(setCaretLocation(editor, caret));\n      });\n      editor.nodeChanged();\n    };\n    var rescope$1 = function (rootNode, node) {\n      var parentBlock = getParentBlock(node, rootNode);\n      return parentBlock ? parentBlock : rootNode;\n    };\n    var backspaceDeleteCollapsed = function (editor, caret, forward, from) {\n      var rootNode = rescope$1(editor.getBody(), from.container());\n      var isInlineTarget = curry(InlineUtils.isInlineTarget, editor);\n      var fromLocation = BoundaryLocation.readLocation(isInlineTarget, rootNode, from);\n      return fromLocation.bind(function (location$$1) {\n        if (forward) {\n          return location$$1.fold(constant(Option.some(BoundaryLocation.inside(location$$1))), Option.none, constant(Option.some(BoundaryLocation.outside(location$$1))), Option.none);\n        } else {\n          return location$$1.fold(Option.none, constant(Option.some(BoundaryLocation.outside(location$$1))), Option.none, constant(Option.some(BoundaryLocation.inside(location$$1))));\n        }\n      }).map(setCaretLocation(editor, caret)).getOrThunk(function () {\n        var toPosition = CaretFinder.navigate(forward, rootNode, from);\n        var toLocation = toPosition.bind(function (pos) {\n          return BoundaryLocation.readLocation(isInlineTarget, rootNode, pos);\n        });\n        if (fromLocation.isSome() && toLocation.isSome()) {\n          return InlineUtils.findRootInline(isInlineTarget, rootNode, from).map(function (elm) {\n            if (hasOnlyTwoOrLessPositionsLeft(elm)) {\n              DeleteElement.deleteElement(editor, forward, Element$$1.fromDom(elm));\n              return true;\n            } else {\n              return false;\n            }\n          }).getOr(false);\n        } else {\n          return toLocation.bind(function (_) {\n            return toPosition.map(function (to) {\n              if (forward) {\n                deleteFromTo(editor, caret, from, to);\n              } else {\n                deleteFromTo(editor, caret, to, from);\n              }\n              return true;\n            });\n          }).getOr(false);\n        }\n      });\n    };\n    var backspaceDelete$3 = function (editor, caret, forward) {\n      if (editor.selection.isCollapsed() && isFeatureEnabled$1(editor)) {\n        var from = CaretPosition$1.fromRangeStart(editor.selection.getRng());\n        return backspaceDeleteCollapsed(editor, caret, forward, from);\n      }\n      return false;\n    };\n    var InlineBoundaryDelete = { backspaceDelete: backspaceDelete$3 };\n\n    var tableCellRng = Immutable('start', 'end');\n    var tableSelection = Immutable('rng', 'table', 'cells');\n    var deleteAction = Adt.generate([\n      { removeTable: ['element'] },\n      { emptyCells: ['cells'] }\n    ]);\n    var isRootFromElement = function (root) {\n      return curry(eq, root);\n    };\n    var getClosestCell = function (container, isRoot) {\n      return closest$1(Element$$1.fromDom(container), 'td,th', isRoot);\n    };\n    var getClosestTable = function (cell, isRoot) {\n      return ancestor$1(cell, 'table', isRoot);\n    };\n    var isExpandedCellRng = function (cellRng) {\n      return eq(cellRng.start(), cellRng.end()) === false;\n    };\n    var getTableFromCellRng = function (cellRng, isRoot) {\n      return getClosestTable(cellRng.start(), isRoot).bind(function (startParentTable) {\n        return getClosestTable(cellRng.end(), isRoot).bind(function (endParentTable) {\n          return eq(startParentTable, endParentTable) ? Option.some(startParentTable) : Option.none();\n        });\n      });\n    };\n    var getTableCells = function (table) {\n      return descendants$1(table, 'td,th');\n    };\n    var getCellRangeFromStartTable = function (cellRng, isRoot) {\n      return getClosestTable(cellRng.start(), isRoot).bind(function (table) {\n        return last(getTableCells(table)).map(function (endCell) {\n          return tableCellRng(cellRng.start(), endCell);\n        });\n      });\n    };\n    var partialSelection = function (isRoot, rng) {\n      var startCell = getClosestCell(rng.startContainer, isRoot);\n      var endCell = getClosestCell(rng.endContainer, isRoot);\n      return rng.collapsed ? Option.none() : liftN([\n        startCell,\n        endCell\n      ], tableCellRng).fold(function () {\n        return startCell.fold(function () {\n          return endCell.bind(function (endCell) {\n            return getClosestTable(endCell, isRoot).bind(function (table) {\n              return head(getTableCells(table)).map(function (startCell) {\n                return tableCellRng(startCell, endCell);\n              });\n            });\n          });\n        }, function (startCell) {\n          return getClosestTable(startCell, isRoot).bind(function (table) {\n            return last(getTableCells(table)).map(function (endCell) {\n              return tableCellRng(startCell, endCell);\n            });\n          });\n        });\n      }, function (cellRng) {\n        return isWithinSameTable(isRoot, cellRng) ? Option.none() : getCellRangeFromStartTable(cellRng, isRoot);\n      });\n    };\n    var isWithinSameTable = function (isRoot, cellRng) {\n      return getTableFromCellRng(cellRng, isRoot).isSome();\n    };\n    var getCellRng = function (rng, isRoot) {\n      var startCell = getClosestCell(rng.startContainer, isRoot);\n      var endCell = getClosestCell(rng.endContainer, isRoot);\n      return liftN([\n        startCell,\n        endCell\n      ], tableCellRng).filter(isExpandedCellRng).filter(function (cellRng) {\n        return isWithinSameTable(isRoot, cellRng);\n      }).orThunk(function () {\n        return partialSelection(isRoot, rng);\n      });\n    };\n    var getTableSelectionFromCellRng = function (cellRng, isRoot) {\n      return getTableFromCellRng(cellRng, isRoot).map(function (table) {\n        return tableSelection(cellRng, table, getTableCells(table));\n      });\n    };\n    var getTableSelectionFromRng = function (root, rng) {\n      var isRoot = isRootFromElement(root);\n      return getCellRng(rng, isRoot).bind(function (cellRng) {\n        return getTableSelectionFromCellRng(cellRng, isRoot);\n      });\n    };\n    var getCellIndex = function (cells, cell) {\n      return findIndex(cells, function (x) {\n        return eq(x, cell);\n      });\n    };\n    var getSelectedCells = function (tableSelection) {\n      return liftN([\n        getCellIndex(tableSelection.cells(), tableSelection.rng().start()),\n        getCellIndex(tableSelection.cells(), tableSelection.rng().end())\n      ], function (startIndex, endIndex) {\n        return tableSelection.cells().slice(startIndex, endIndex + 1);\n      });\n    };\n    var getAction = function (tableSelection) {\n      return getSelectedCells(tableSelection).map(function (selected) {\n        var cells = tableSelection.cells();\n        return selected.length === cells.length ? deleteAction.removeTable(tableSelection.table()) : deleteAction.emptyCells(selected);\n      });\n    };\n    var getActionFromCells = function (cells) {\n      return deleteAction.emptyCells(cells);\n    };\n    var getActionFromRange = function (root, rng) {\n      return getTableSelectionFromRng(root, rng).bind(getAction);\n    };\n    var TableDeleteAction = {\n      getActionFromRange: getActionFromRange,\n      getActionFromCells: getActionFromCells\n    };\n\n    var getRanges = function (selection) {\n      var ranges = [];\n      if (selection) {\n        for (var i = 0; i < selection.rangeCount; i++) {\n          ranges.push(selection.getRangeAt(i));\n        }\n      }\n      return ranges;\n    };\n    var getSelectedNodes = function (ranges) {\n      return bind(ranges, function (range$$1) {\n        var node = getSelectedNode(range$$1);\n        return node ? [Element$$1.fromDom(node)] : [];\n      });\n    };\n    var hasMultipleRanges = function (selection) {\n      return getRanges(selection).length > 1;\n    };\n    var MultiRange = {\n      getRanges: getRanges,\n      getSelectedNodes: getSelectedNodes,\n      hasMultipleRanges: hasMultipleRanges\n    };\n\n    var getCellsFromRanges = function (ranges) {\n      return filter(MultiRange.getSelectedNodes(ranges), isTableCell);\n    };\n    var getCellsFromElement = function (elm) {\n      var selectedCells = descendants$1(elm, 'td[data-mce-selected],th[data-mce-selected]');\n      return selectedCells;\n    };\n    var getCellsFromElementOrRanges = function (ranges, element) {\n      var selectedCells = getCellsFromElement(element);\n      var rangeCells = getCellsFromRanges(ranges);\n      return selectedCells.length > 0 ? selectedCells : rangeCells;\n    };\n    var getCellsFromEditor = function (editor) {\n      return getCellsFromElementOrRanges(MultiRange.getRanges(editor.selection.getSel()), Element$$1.fromDom(editor.getBody()));\n    };\n    var TableCellSelection = {\n      getCellsFromRanges: getCellsFromRanges,\n      getCellsFromElement: getCellsFromElement,\n      getCellsFromElementOrRanges: getCellsFromElementOrRanges,\n      getCellsFromEditor: getCellsFromEditor\n    };\n\n    var emptyCells = function (editor, cells) {\n      each(cells, PaddingBr.fillWithPaddingBr);\n      editor.selection.setCursorLocation(cells[0].dom(), 0);\n      return true;\n    };\n    var deleteTableElement = function (editor, table) {\n      DeleteElement.deleteElement(editor, false, table);\n      return true;\n    };\n    var deleteCellRange = function (editor, rootElm, rng) {\n      return TableDeleteAction.getActionFromRange(rootElm, rng).map(function (action) {\n        return action.fold(curry(deleteTableElement, editor), curry(emptyCells, editor));\n      });\n    };\n    var deleteCaptionRange = function (editor, caption) {\n      return emptyElement(editor, caption);\n    };\n    var deleteTableRange = function (editor, rootElm, rng, startElm) {\n      return getParentCaption(rootElm, startElm).fold(function () {\n        return deleteCellRange(editor, rootElm, rng);\n      }, function (caption) {\n        return deleteCaptionRange(editor, caption);\n      }).getOr(false);\n    };\n    var deleteRange$1 = function (editor, startElm) {\n      var rootNode = Element$$1.fromDom(editor.getBody());\n      var rng = editor.selection.getRng();\n      var selectedCells = TableCellSelection.getCellsFromEditor(editor);\n      return selectedCells.length !== 0 ? emptyCells(editor, selectedCells) : deleteTableRange(editor, rootNode, rng, startElm);\n    };\n    var getParentCell = function (rootElm, elm) {\n      return find(Parents.parentsAndSelf(elm, rootElm), isTableCell);\n    };\n    var getParentCaption = function (rootElm, elm) {\n      return find(Parents.parentsAndSelf(elm, rootElm), function (elm) {\n        return name(elm) === 'caption';\n      });\n    };\n    var deleteBetweenCells = function (editor, rootElm, forward, fromCell, from) {\n      return CaretFinder.navigate(forward, editor.getBody(), from).bind(function (to) {\n        return getParentCell(rootElm, Element$$1.fromDom(to.getNode())).map(function (toCell) {\n          return eq(toCell, fromCell) === false;\n        });\n      });\n    };\n    var emptyElement = function (editor, elm) {\n      PaddingBr.fillWithPaddingBr(elm);\n      editor.selection.setCursorLocation(elm.dom(), 0);\n      return Option.some(true);\n    };\n    var isDeleteOfLastCharPos = function (fromCaption, forward, from, to) {\n      return CaretFinder.firstPositionIn(fromCaption.dom()).bind(function (first) {\n        return CaretFinder.lastPositionIn(fromCaption.dom()).map(function (last$$1) {\n          return forward ? from.isEqual(first) && to.isEqual(last$$1) : from.isEqual(last$$1) && to.isEqual(first);\n        });\n      }).getOr(true);\n    };\n    var emptyCaretCaption = function (editor, elm) {\n      return emptyElement(editor, elm);\n    };\n    var validateCaretCaption = function (rootElm, fromCaption, to) {\n      return getParentCaption(rootElm, Element$$1.fromDom(to.getNode())).map(function (toCaption) {\n        return eq(toCaption, fromCaption) === false;\n      });\n    };\n    var deleteCaretInsideCaption = function (editor, rootElm, forward, fromCaption, from) {\n      return CaretFinder.navigate(forward, editor.getBody(), from).bind(function (to) {\n        return isDeleteOfLastCharPos(fromCaption, forward, from, to) ? emptyCaretCaption(editor, fromCaption) : validateCaretCaption(rootElm, fromCaption, to);\n      }).or(Option.some(true));\n    };\n    var deleteCaretCells = function (editor, forward, rootElm, startElm) {\n      var from = CaretPosition$1.fromRangeStart(editor.selection.getRng());\n      return getParentCell(rootElm, startElm).bind(function (fromCell) {\n        return Empty.isEmpty(fromCell) ? emptyElement(editor, fromCell) : deleteBetweenCells(editor, rootElm, forward, fromCell, from);\n      });\n    };\n    var deleteCaretCaption = function (editor, forward, rootElm, fromCaption) {\n      var from = CaretPosition$1.fromRangeStart(editor.selection.getRng());\n      return Empty.isEmpty(fromCaption) ? emptyElement(editor, fromCaption) : deleteCaretInsideCaption(editor, rootElm, forward, fromCaption, from);\n    };\n    var deleteCaret = function (editor, forward, startElm) {\n      var rootElm = Element$$1.fromDom(editor.getBody());\n      return getParentCaption(rootElm, startElm).fold(function () {\n        return deleteCaretCells(editor, forward, rootElm, startElm);\n      }, function (fromCaption) {\n        return deleteCaretCaption(editor, forward, rootElm, fromCaption);\n      }).getOr(false);\n    };\n    var backspaceDelete$4 = function (editor, forward) {\n      var startElm = Element$$1.fromDom(editor.selection.getStart(true));\n      var cells = TableCellSelection.getCellsFromEditor(editor);\n      return editor.selection.isCollapsed() && cells.length === 0 ? deleteCaret(editor, forward, startElm) : deleteRange$1(editor, startElm);\n    };\n    var TableDelete = { backspaceDelete: backspaceDelete$4 };\n\n    var nativeCommand = function (editor, command) {\n      editor.getDoc().execCommand(command, false, null);\n    };\n    var deleteCommand = function (editor) {\n      if (CefDelete.backspaceDelete(editor, false)) {\n        return;\n      } else if (InlineBoundaryDelete.backspaceDelete(editor, false)) {\n        return;\n      } else if (BlockBoundaryDelete.backspaceDelete(editor, false)) {\n        return;\n      } else if (TableDelete.backspaceDelete(editor)) {\n        return;\n      } else if (BlockRangeDelete.backspaceDelete(editor, false)) {\n        return;\n      } else {\n        nativeCommand(editor, 'Delete');\n        DeleteUtils.paddEmptyBody(editor);\n      }\n    };\n    var forwardDeleteCommand = function (editor) {\n      if (CefDelete.backspaceDelete(editor, true)) {\n        return;\n      } else if (InlineBoundaryDelete.backspaceDelete(editor, true)) {\n        return;\n      } else if (BlockBoundaryDelete.backspaceDelete(editor, true)) {\n        return;\n      } else if (TableDelete.backspaceDelete(editor)) {\n        return;\n      } else if (BlockRangeDelete.backspaceDelete(editor, true)) {\n        return;\n      } else {\n        nativeCommand(editor, 'ForwardDelete');\n      }\n    };\n    var DeleteCommands = {\n      deleteCommand: deleteCommand,\n      forwardDeleteCommand: forwardDeleteCommand\n    };\n\n    var getBodySetting = function (editor, name, defaultValue) {\n      var value = editor.getParam(name, defaultValue);\n      if (value.indexOf('=') !== -1) {\n        var bodyObj = editor.getParam(name, '', 'hash');\n        return bodyObj.hasOwnProperty(editor.id) ? bodyObj[editor.id] : defaultValue;\n      } else {\n        return value;\n      }\n    };\n    var getIframeAttrs = function (editor) {\n      return editor.getParam('iframe_attrs', {});\n    };\n    var getDocType = function (editor) {\n      return editor.getParam('doctype', '<!DOCTYPE html>');\n    };\n    var getDocumentBaseUrl = function (editor) {\n      return editor.getParam('document_base_url', '');\n    };\n    var getBodyId = function (editor) {\n      return getBodySetting(editor, 'body_id', 'tinymce');\n    };\n    var getBodyClass = function (editor) {\n      return getBodySetting(editor, 'body_class', '');\n    };\n    var getContentSecurityPolicy = function (editor) {\n      return editor.getParam('content_security_policy', '');\n    };\n    var shouldPutBrInPre = function (editor) {\n      return editor.getParam('br_in_pre', true);\n    };\n    var getForcedRootBlock = function (editor) {\n      if (editor.getParam('force_p_newlines', false)) {\n        return 'p';\n      }\n      var block = editor.getParam('forced_root_block', 'p');\n      return block === false ? '' : block;\n    };\n    var getForcedRootBlockAttrs = function (editor) {\n      return editor.getParam('forced_root_block_attrs', {});\n    };\n    var getBrNewLineSelector = function (editor) {\n      return editor.getParam('br_newline_selector', '.mce-toc h2,figcaption,caption');\n    };\n    var getNoNewLineSelector = function (editor) {\n      return editor.getParam('no_newline_selector', '');\n    };\n    var shouldKeepStyles = function (editor) {\n      return editor.getParam('keep_styles', true);\n    };\n    var shouldEndContainerOnEmptyBlock = function (editor) {\n      return editor.getParam('end_container_on_empty_block', false);\n    };\n    var getFontStyleValues = function (editor) {\n      return Tools.explode(editor.getParam('font_size_style_values', ''));\n    };\n    var getFontSizeClasses = function (editor) {\n      return Tools.explode(editor.getParam('font_size_classes', ''));\n    };\n    var getImagesDataImgFilter = function (editor) {\n      return editor.getParam('images_dataimg_filter', constant(true), 'function');\n    };\n    var isAutomaticUploadsEnabled = function (editor) {\n      return editor.getParam('automatic_uploads', true, 'boolean');\n    };\n    var shouldReuseFileName = function (editor) {\n      return editor.getParam('images_reuse_filename', false, 'boolean');\n    };\n    var shouldReplaceBlobUris = function (editor) {\n      return editor.getParam('images_replace_blob_uris', true, 'boolean');\n    };\n    var getImageUploadUrl = function (editor) {\n      return editor.getParam('images_upload_url', '', 'string');\n    };\n    var getImageUploadBasePath = function (editor) {\n      return editor.getParam('images_upload_base_path', '', 'string');\n    };\n    var getImagesUploadCredentials = function (editor) {\n      return editor.getParam('images_upload_credentials', false, 'boolean');\n    };\n    var getImagesUploadHandler = function (editor) {\n      return editor.getParam('images_upload_handler', null, 'function');\n    };\n    var shouldUseContentCssCors = function (editor) {\n      return editor.getParam('content_css_cors', false, 'boolean');\n    };\n    var Settings = {\n      getIframeAttrs: getIframeAttrs,\n      getDocType: getDocType,\n      getDocumentBaseUrl: getDocumentBaseUrl,\n      getBodyId: getBodyId,\n      getBodyClass: getBodyClass,\n      getContentSecurityPolicy: getContentSecurityPolicy,\n      shouldPutBrInPre: shouldPutBrInPre,\n      getForcedRootBlock: getForcedRootBlock,\n      getForcedRootBlockAttrs: getForcedRootBlockAttrs,\n      getBrNewLineSelector: getBrNewLineSelector,\n      getNoNewLineSelector: getNoNewLineSelector,\n      shouldKeepStyles: shouldKeepStyles,\n      shouldEndContainerOnEmptyBlock: shouldEndContainerOnEmptyBlock,\n      getFontStyleValues: getFontStyleValues,\n      getFontSizeClasses: getFontSizeClasses,\n      getImagesDataImgFilter: getImagesDataImgFilter,\n      isAutomaticUploadsEnabled: isAutomaticUploadsEnabled,\n      shouldReuseFileName: shouldReuseFileName,\n      shouldReplaceBlobUris: shouldReplaceBlobUris,\n      getImageUploadUrl: getImageUploadUrl,\n      getImageUploadBasePath: getImageUploadBasePath,\n      getImagesUploadCredentials: getImagesUploadCredentials,\n      getImagesUploadHandler: getImagesUploadHandler,\n      shouldUseContentCssCors: shouldUseContentCssCors\n    };\n\n    var getSpecifiedFontProp = function (propName, rootElm, elm) {\n      var getProperty = function (elm) {\n        return getRaw(elm, propName);\n      };\n      var isRoot = function (elm) {\n        return eq(Element$$1.fromDom(rootElm), elm);\n      };\n      return closest(Element$$1.fromDom(elm), function (elm) {\n        return getProperty(elm).isSome();\n      }, isRoot).bind(getProperty);\n    };\n    var round$1 = function (number, precision) {\n      var factor = Math.pow(10, precision);\n      return Math.round(number * factor) / factor;\n    };\n    var toPt = function (fontSize, precision) {\n      if (/[0-9.]+px$/.test(fontSize)) {\n        return round$1(parseInt(fontSize, 10) * 72 / 96, precision || 0) + 'pt';\n      }\n      return fontSize;\n    };\n    var normalizeFontFamily = function (fontFamily) {\n      return fontFamily.replace(/[\\'\\\"\\\\]/g, '').replace(/,\\s+/g, ',');\n    };\n    var getComputedFontProp = function (propName, elm) {\n      return Option.from(DOMUtils$1.DOM.getStyle(elm, propName, true));\n    };\n    var getFontProp = function (propName) {\n      return function (rootElm, elm) {\n        return Option.from(elm).map(Element$$1.fromDom).filter(isElement).bind(function (element) {\n          return getSpecifiedFontProp(propName, rootElm, element.dom()).or(getComputedFontProp(propName, element.dom()));\n        }).getOr('');\n      };\n    };\n    var FontInfo = {\n      getFontSize: getFontProp('font-size'),\n      getFontFamily: compose(normalizeFontFamily, getFontProp('font-family')),\n      toPt: toPt\n    };\n\n    var findFirstCaretElement = function (editor) {\n      return CaretFinder.firstPositionIn(editor.getBody()).map(function (caret) {\n        var container = caret.container();\n        return NodeType.isText(container) ? container.parentNode : container;\n      });\n    };\n    var isRangeAtStartOfNode = function (rng, root) {\n      return rng.startContainer === root && rng.startOffset === 0;\n    };\n    var getCaretElement = function (editor) {\n      return Option.from(editor.selection.getRng()).bind(function (rng) {\n        var root = editor.getBody();\n        return isRangeAtStartOfNode(rng, root) ? Option.none() : Option.from(editor.selection.getStart(true));\n      });\n    };\n    var fromFontSizeNumber = function (editor, value) {\n      if (/^[0-9\\.]+$/.test(value)) {\n        var fontSizeNumber = parseInt(value, 10);\n        if (fontSizeNumber >= 1 && fontSizeNumber <= 7) {\n          var fontSizes = Settings.getFontStyleValues(editor);\n          var fontClasses = Settings.getFontSizeClasses(editor);\n          if (fontClasses) {\n            return fontClasses[fontSizeNumber - 1] || value;\n          } else {\n            return fontSizes[fontSizeNumber - 1] || value;\n          }\n        } else {\n          return value;\n        }\n      } else {\n        return value;\n      }\n    };\n    var fontNameAction = function (editor, value) {\n      editor.formatter.toggle('fontname', { value: fromFontSizeNumber(editor, value) });\n      editor.nodeChanged();\n    };\n    var fontNameQuery = function (editor) {\n      return getCaretElement(editor).fold(function () {\n        return findFirstCaretElement(editor).map(function (caretElement) {\n          return FontInfo.getFontFamily(editor.getBody(), caretElement);\n        }).getOr('');\n      }, function (caretElement) {\n        return FontInfo.getFontFamily(editor.getBody(), caretElement);\n      });\n    };\n    var fontSizeAction = function (editor, value) {\n      editor.formatter.toggle('fontsize', { value: fromFontSizeNumber(editor, value) });\n      editor.nodeChanged();\n    };\n    var fontSizeQuery = function (editor) {\n      return getCaretElement(editor).fold(function () {\n        return findFirstCaretElement(editor).map(function (caretElement) {\n          return FontInfo.getFontSize(editor.getBody(), caretElement);\n        }).getOr('');\n      }, function (caretElement) {\n        return FontInfo.getFontSize(editor.getBody(), caretElement);\n      });\n    };\n\n    var isEq$2 = function (rng1, rng2) {\n      return rng1 && rng2 && (rng1.startContainer === rng2.startContainer && rng1.startOffset === rng2.startOffset) && (rng1.endContainer === rng2.endContainer && rng1.endOffset === rng2.endOffset);\n    };\n    var RangeCompare = { isEq: isEq$2 };\n\n    var findParent = function (node, rootNode, predicate) {\n      while (node && node !== rootNode) {\n        if (predicate(node)) {\n          return node;\n        }\n        node = node.parentNode;\n      }\n      return null;\n    };\n    var hasParent = function (node, rootNode, predicate) {\n      return findParent(node, rootNode, predicate) !== null;\n    };\n    var hasParentWithName = function (node, rootNode, name) {\n      return hasParent(node, rootNode, function (node) {\n        return node.nodeName === name;\n      });\n    };\n    var isTable$2 = function (node) {\n      return node && node.nodeName === 'TABLE';\n    };\n    var isTableCell$3 = function (node) {\n      return node && /^(TD|TH|CAPTION)$/.test(node.nodeName);\n    };\n    var isCeFalseCaretContainer = function (node, rootNode) {\n      return isCaretContainer(node) && hasParent(node, rootNode, isCaretNode) === false;\n    };\n    var hasBrBeforeAfter = function (dom, node, left) {\n      var walker = new TreeWalker(node, dom.getParent(node.parentNode, dom.isBlock) || dom.getRoot());\n      while (node = walker[left ? 'prev' : 'next']()) {\n        if (NodeType.isBr(node)) {\n          return true;\n        }\n      }\n    };\n    var isPrevNode = function (node, name) {\n      return node.previousSibling && node.previousSibling.nodeName === name;\n    };\n    var hasContentEditableFalseParent = function (body, node) {\n      while (node && node !== body) {\n        if (NodeType.isContentEditableFalse(node)) {\n          return true;\n        }\n        node = node.parentNode;\n      }\n      return false;\n    };\n    var findTextNodeRelative = function (dom, isAfterNode, collapsed, left, startNode) {\n      var walker, lastInlineElement, parentBlockContainer;\n      var body = dom.getRoot();\n      var node;\n      var nonEmptyElementsMap = dom.schema.getNonEmptyElements();\n      parentBlockContainer = dom.getParent(startNode.parentNode, dom.isBlock) || body;\n      if (left && NodeType.isBr(startNode) && isAfterNode && dom.isEmpty(parentBlockContainer)) {\n        return Option.some(CaretPosition(startNode.parentNode, dom.nodeIndex(startNode)));\n      }\n      walker = new TreeWalker(startNode, parentBlockContainer);\n      while (node = walker[left ? 'prev' : 'next']()) {\n        if (dom.getContentEditableParent(node) === 'false' || isCeFalseCaretContainer(node, body)) {\n          return Option.none();\n        }\n        if (NodeType.isText(node) && node.nodeValue.length > 0) {\n          if (hasParentWithName(node, body, 'A') === false) {\n            return Option.some(CaretPosition(node, left ? node.nodeValue.length : 0));\n          }\n          return Option.none();\n        }\n        if (dom.isBlock(node) || nonEmptyElementsMap[node.nodeName.toLowerCase()]) {\n          return Option.none();\n        }\n        lastInlineElement = node;\n      }\n      if (collapsed && lastInlineElement) {\n        return Option.some(CaretPosition(lastInlineElement, 0));\n      }\n      return Option.none();\n    };\n    var normalizeEndPoint = function (dom, collapsed, start, rng) {\n      var container, offset, walker;\n      var body = dom.getRoot();\n      var node, nonEmptyElementsMap;\n      var directionLeft, isAfterNode, normalized = false;\n      container = rng[(start ? 'start' : 'end') + 'Container'];\n      offset = rng[(start ? 'start' : 'end') + 'Offset'];\n      isAfterNode = NodeType.isElement(container) && offset === container.childNodes.length;\n      nonEmptyElementsMap = dom.schema.getNonEmptyElements();\n      directionLeft = start;\n      if (isCaretContainer(container)) {\n        return Option.none();\n      }\n      if (NodeType.isElement(container) && offset > container.childNodes.length - 1) {\n        directionLeft = false;\n      }\n      if (NodeType.isDocument(container)) {\n        container = body;\n        offset = 0;\n      }\n      if (container === body) {\n        if (directionLeft) {\n          node = container.childNodes[offset > 0 ? offset - 1 : 0];\n          if (node) {\n            if (isCaretContainer(node)) {\n              return Option.none();\n            }\n            if (nonEmptyElementsMap[node.nodeName] || isTable$2(node)) {\n              return Option.none();\n            }\n          }\n        }\n        if (container.hasChildNodes()) {\n          offset = Math.min(!directionLeft && offset > 0 ? offset - 1 : offset, container.childNodes.length - 1);\n          container = container.childNodes[offset];\n          offset = NodeType.isText(container) && isAfterNode ? container.data.length : 0;\n          if (!collapsed && container === body.lastChild && isTable$2(container)) {\n            return Option.none();\n          }\n          if (hasContentEditableFalseParent(body, container) || isCaretContainer(container)) {\n            return Option.none();\n          }\n          if (container.hasChildNodes() && isTable$2(container) === false) {\n            node = container;\n            walker = new TreeWalker(container, body);\n            do {\n              if (NodeType.isContentEditableFalse(node) || isCaretContainer(node)) {\n                normalized = false;\n                break;\n              }\n              if (NodeType.isText(node) && node.nodeValue.length > 0) {\n                offset = directionLeft ? 0 : node.nodeValue.length;\n                container = node;\n                normalized = true;\n                break;\n              }\n              if (nonEmptyElementsMap[node.nodeName.toLowerCase()] && !isTableCell$3(node)) {\n                offset = dom.nodeIndex(node);\n                container = node.parentNode;\n                if (!directionLeft) {\n                  offset++;\n                }\n                normalized = true;\n                break;\n              }\n            } while (node = directionLeft ? walker.next() : walker.prev());\n          }\n        }\n      }\n      if (collapsed) {\n        if (NodeType.isText(container) && offset === 0) {\n          findTextNodeRelative(dom, isAfterNode, collapsed, true, container).each(function (pos) {\n            container = pos.container();\n            offset = pos.offset();\n            normalized = true;\n          });\n        }\n        if (NodeType.isElement(container)) {\n          node = container.childNodes[offset];\n          if (!node) {\n            node = container.childNodes[offset - 1];\n          }\n          if (node && NodeType.isBr(node) && !isPrevNode(node, 'A') && !hasBrBeforeAfter(dom, node, false) && !hasBrBeforeAfter(dom, node, true)) {\n            findTextNodeRelative(dom, isAfterNode, collapsed, true, node).each(function (pos) {\n              container = pos.container();\n              offset = pos.offset();\n              normalized = true;\n            });\n          }\n        }\n      }\n      if (directionLeft && !collapsed && NodeType.isText(container) && offset === container.nodeValue.length) {\n        findTextNodeRelative(dom, isAfterNode, collapsed, false, container).each(function (pos) {\n          container = pos.container();\n          offset = pos.offset();\n          normalized = true;\n        });\n      }\n      return normalized ? Option.some(CaretPosition(container, offset)) : Option.none();\n    };\n    var normalize$2 = function (dom, rng) {\n      var collapsed = rng.collapsed, normRng = rng.cloneRange();\n      var startPos = CaretPosition.fromRangeStart(rng);\n      normalizeEndPoint(dom, collapsed, true, normRng).each(function (pos) {\n        if (!collapsed || !CaretPosition.isAbove(startPos, pos)) {\n          normRng.setStart(pos.container(), pos.offset());\n        }\n      });\n      if (!collapsed) {\n        normalizeEndPoint(dom, collapsed, false, normRng).each(function (pos) {\n          normRng.setEnd(pos.container(), pos.offset());\n        });\n      }\n      if (collapsed) {\n        normRng.collapse(true);\n      }\n      return RangeCompare.isEq(rng, normRng) ? Option.none() : Option.some(normRng);\n    };\n    var NormalizeRange = { normalize: normalize$2 };\n\n    var hasRightSideContent = function (schema, container, parentBlock) {\n      var walker = new TreeWalker(container, parentBlock);\n      var node;\n      var nonEmptyElementsMap = schema.getNonEmptyElements();\n      while (node = walker.next()) {\n        if (nonEmptyElementsMap[node.nodeName.toLowerCase()] || node.length > 0) {\n          return true;\n        }\n      }\n    };\n    var scrollToBr = function (dom, selection, brElm) {\n      var marker = dom.create('span', {}, '&nbsp;');\n      brElm.parentNode.insertBefore(marker, brElm);\n      selection.scrollIntoView(marker);\n      dom.remove(marker);\n    };\n    var moveSelectionToBr = function (dom, selection, brElm, extraBr) {\n      var rng = dom.createRng();\n      if (!extraBr) {\n        rng.setStartAfter(brElm);\n        rng.setEndAfter(brElm);\n      } else {\n        rng.setStartBefore(brElm);\n        rng.setEndBefore(brElm);\n      }\n      selection.setRng(rng);\n    };\n    var insertBrAtCaret = function (editor, evt) {\n      var selection = editor.selection, dom = editor.dom;\n      var brElm, extraBr;\n      var rng = selection.getRng();\n      NormalizeRange.normalize(dom, rng).each(function (normRng) {\n        rng.setStart(normRng.startContainer, normRng.startOffset);\n        rng.setEnd(normRng.endContainer, normRng.endOffset);\n      });\n      var offset = rng.startOffset;\n      var container = rng.startContainer;\n      if (container.nodeType === 1 && container.hasChildNodes()) {\n        var isAfterLastNodeInContainer = offset > container.childNodes.length - 1;\n        container = container.childNodes[Math.min(offset, container.childNodes.length - 1)] || container;\n        if (isAfterLastNodeInContainer && container.nodeType === 3) {\n          offset = container.nodeValue.length;\n        } else {\n          offset = 0;\n        }\n      }\n      var parentBlock = dom.getParent(container, dom.isBlock);\n      var containerBlock = parentBlock ? dom.getParent(parentBlock.parentNode, dom.isBlock) : null;\n      var containerBlockName = containerBlock ? containerBlock.nodeName.toUpperCase() : '';\n      var isControlKey = evt && evt.ctrlKey;\n      if (containerBlockName === 'LI' && !isControlKey) {\n        parentBlock = containerBlock;\n      }\n      if (container && container.nodeType === 3 && offset >= container.nodeValue.length) {\n        if (!hasRightSideContent(editor.schema, container, parentBlock)) {\n          brElm = dom.create('br');\n          rng.insertNode(brElm);\n          rng.setStartAfter(brElm);\n          rng.setEndAfter(brElm);\n          extraBr = true;\n        }\n      }\n      brElm = dom.create('br');\n      rng.insertNode(brElm);\n      scrollToBr(dom, selection, brElm);\n      moveSelectionToBr(dom, selection, brElm, extraBr);\n      editor.undoManager.add();\n    };\n    var insertBrBefore = function (editor, inline) {\n      var br = Element$$1.fromTag('br');\n      before(Element$$1.fromDom(inline), br);\n      editor.undoManager.add();\n    };\n    var insertBrAfter = function (editor, inline) {\n      if (!hasBrAfter(editor.getBody(), inline)) {\n        after(Element$$1.fromDom(inline), Element$$1.fromTag('br'));\n      }\n      var br = Element$$1.fromTag('br');\n      after(Element$$1.fromDom(inline), br);\n      scrollToBr(editor.dom, editor.selection, br.dom());\n      moveSelectionToBr(editor.dom, editor.selection, br.dom(), false);\n      editor.undoManager.add();\n    };\n    var isBeforeBr$1 = function (pos) {\n      return NodeType.isBr(pos.getNode());\n    };\n    var hasBrAfter = function (rootNode, startNode) {\n      if (isBeforeBr$1(CaretPosition$1.after(startNode))) {\n        return true;\n      } else {\n        return CaretFinder.nextPosition(rootNode, CaretPosition$1.after(startNode)).map(function (pos) {\n          return NodeType.isBr(pos.getNode());\n        }).getOr(false);\n      }\n    };\n    var isAnchorLink = function (elm) {\n      return elm && elm.nodeName === 'A' && 'href' in elm;\n    };\n    var isInsideAnchor = function (location) {\n      return location.fold(constant(false), isAnchorLink, isAnchorLink, constant(false));\n    };\n    var readInlineAnchorLocation = function (editor) {\n      var isInlineTarget = curry(InlineUtils.isInlineTarget, editor);\n      var position = CaretPosition$1.fromRangeStart(editor.selection.getRng());\n      return BoundaryLocation.readLocation(isInlineTarget, editor.getBody(), position).filter(isInsideAnchor);\n    };\n    var insertBrOutsideAnchor = function (editor, location) {\n      location.fold(noop, curry(insertBrBefore, editor), curry(insertBrAfter, editor), noop);\n    };\n    var insert = function (editor, evt) {\n      var anchorLocation = readInlineAnchorLocation(editor);\n      if (anchorLocation.isSome()) {\n        anchorLocation.each(curry(insertBrOutsideAnchor, editor));\n      } else {\n        insertBrAtCaret(editor, evt);\n      }\n    };\n    var InsertBr = { insert: insert };\n\n    var adt = Adt.generate([\n      { 'before': ['element'] },\n      {\n        'on': [\n          'element',\n          'offset'\n        ]\n      },\n      { after: ['element'] }\n    ]);\n\n    var type$1 = Adt.generate([\n      { domRange: ['rng'] },\n      {\n        relative: [\n          'startSitu',\n          'finishSitu'\n        ]\n      },\n      {\n        exact: [\n          'start',\n          'soffset',\n          'finish',\n          'foffset'\n        ]\n      }\n    ]);\n    var range$1 = Immutable('start', 'soffset', 'finish', 'foffset');\n    var domRange = type$1.domRange;\n    var relative = type$1.relative;\n    var exact = type$1.exact;\n\n    var browser$3 = PlatformDetection$1.detect().browser;\n    var clamp = function (offset, element) {\n      var max = isText(element) ? get$6(element).length : children(element).length + 1;\n      if (offset > max) {\n        return max;\n      } else if (offset < 0) {\n        return 0;\n      }\n      return offset;\n    };\n    var normalizeRng = function (rng) {\n      return range$1(rng.start(), clamp(rng.soffset(), rng.start()), rng.finish(), clamp(rng.foffset(), rng.finish()));\n    };\n    var isOrContains = function (root, elm) {\n      return contains$3(root, elm) || eq(root, elm);\n    };\n    var isRngInRoot = function (root) {\n      return function (rng) {\n        return isOrContains(root, rng.start()) && isOrContains(root, rng.finish());\n      };\n    };\n    var shouldStore = function (editor) {\n      return editor.inline === true || browser$3.isIE();\n    };\n    var nativeRangeToSelectionRange = function (r) {\n      return range$1(Element$$1.fromDom(r.startContainer), r.startOffset, Element$$1.fromDom(r.endContainer), r.endOffset);\n    };\n    var readRange = function (win) {\n      var selection = win.getSelection();\n      var rng = !selection || selection.rangeCount === 0 ? Option.none() : Option.from(selection.getRangeAt(0));\n      return rng.map(nativeRangeToSelectionRange);\n    };\n    var getBookmark$2 = function (root) {\n      var win = defaultView(root);\n      return readRange(win.dom()).filter(isRngInRoot(root));\n    };\n    var validate = function (root, bookmark) {\n      return Option.from(bookmark).filter(isRngInRoot(root)).map(normalizeRng);\n    };\n    var bookmarkToNativeRng = function (bookmark) {\n      var rng = document.createRange();\n      try {\n        rng.setStart(bookmark.start().dom(), bookmark.soffset());\n        rng.setEnd(bookmark.finish().dom(), bookmark.foffset());\n        return Option.some(rng);\n      } catch (_) {\n        return Option.none();\n      }\n    };\n    var store = function (editor) {\n      var newBookmark = shouldStore(editor) ? getBookmark$2(Element$$1.fromDom(editor.getBody())) : Option.none();\n      editor.bookmark = newBookmark.isSome() ? newBookmark : editor.bookmark;\n    };\n    var storeNative = function (editor, rng) {\n      var root = Element$$1.fromDom(editor.getBody());\n      var range = shouldStore(editor) ? Option.from(rng) : Option.none();\n      var newBookmark = range.map(nativeRangeToSelectionRange).filter(isRngInRoot(root));\n      editor.bookmark = newBookmark.isSome() ? newBookmark : editor.bookmark;\n    };\n    var getRng = function (editor) {\n      var bookmark = editor.bookmark ? editor.bookmark : Option.none();\n      return bookmark.bind(curry(validate, Element$$1.fromDom(editor.getBody()))).bind(bookmarkToNativeRng);\n    };\n    var restore = function (editor) {\n      getRng(editor).each(function (rng) {\n        editor.selection.setRng(rng);\n      });\n    };\n    var SelectionBookmark = {\n      store: store,\n      storeNative: storeNative,\n      readRange: readRange,\n      restore: restore,\n      getRng: getRng,\n      getBookmark: getBookmark$2,\n      validate: validate\n    };\n\n    var indentElement = function (dom, command, useMargin, value, unit, element) {\n      if (dom.getContentEditable(element) === 'false') {\n        return;\n      }\n      var indentStyleName = useMargin ? 'margin' : 'padding';\n      indentStyleName = element.nodeName === 'TABLE' ? 'margin' : indentStyleName;\n      indentStyleName += dom.getStyle(element, 'direction', true) === 'rtl' ? 'Right' : 'Left';\n      if (command === 'outdent') {\n        var styleValue = Math.max(0, parseInt(element.style[indentStyleName] || 0, 10) - value);\n        dom.setStyle(element, indentStyleName, styleValue ? styleValue + unit : '');\n      } else {\n        var styleValue = parseInt(element.style[indentStyleName] || 0, 10) + value + unit;\n        dom.setStyle(element, indentStyleName, styleValue);\n      }\n    };\n    var isListComponent = function (el) {\n      return isList(el) || isListItem(el);\n    };\n    var parentIsListComponent = function (el) {\n      return parent(el).map(isListComponent).getOr(false);\n    };\n    var getBlocksToIndent = function (editor) {\n      return filter(map(editor.selection.getSelectedBlocks(), Element$$1.fromDom), function (el) {\n        return !isListComponent(el) && !parentIsListComponent(el);\n      });\n    };\n    var handle = function (editor, command) {\n      var settings = editor.settings, dom = editor.dom, selection = editor.selection, formatter = editor.formatter;\n      var indentUnit = /[a-z%]+$/i.exec(settings.indentation)[0];\n      var indentValue = parseInt(settings.indentation, 10);\n      var useMargin = editor.getParam('indent_use_margin', false);\n      if (!editor.queryCommandState('InsertUnorderedList') && !editor.queryCommandState('InsertOrderedList')) {\n        if (!settings.forced_root_block && !dom.getParent(selection.getNode(), dom.isBlock)) {\n          formatter.apply('div');\n        }\n      }\n      each(getBlocksToIndent(editor), function (block) {\n        indentElement(dom, command, useMargin, indentValue, indentUnit, block.dom());\n      });\n    };\n\n    var each$a = Tools.each, extend$2 = Tools.extend;\n    var map$3 = Tools.map, inArray$2 = Tools.inArray;\n    function EditorCommands (editor) {\n      var dom, selection, formatter;\n      var commands = {\n        state: {},\n        exec: {},\n        value: {}\n      };\n      var settings = editor.settings, bookmark;\n      editor.on('PreInit', function () {\n        dom = editor.dom;\n        selection = editor.selection;\n        settings = editor.settings;\n        formatter = editor.formatter;\n      });\n      var execCommand = function (command, ui, value, args) {\n        var func, customCommand, state = false;\n        if (editor.removed) {\n          return;\n        }\n        if (!/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint)$/.test(command) && (!args || !args.skip_focus)) {\n          editor.focus();\n        } else {\n          SelectionBookmark.restore(editor);\n        }\n        args = editor.fire('BeforeExecCommand', {\n          command: command,\n          ui: ui,\n          value: value\n        });\n        if (args.isDefaultPrevented()) {\n          return false;\n        }\n        customCommand = command.toLowerCase();\n        if (func = commands.exec[customCommand]) {\n          func(customCommand, ui, value);\n          editor.fire('ExecCommand', {\n            command: command,\n            ui: ui,\n            value: value\n          });\n          return true;\n        }\n        each$a(editor.plugins, function (p) {\n          if (p.execCommand && p.execCommand(command, ui, value)) {\n            editor.fire('ExecCommand', {\n              command: command,\n              ui: ui,\n              value: value\n            });\n            state = true;\n            return false;\n          }\n        });\n        if (state) {\n          return state;\n        }\n        if (editor.theme && editor.theme.execCommand && editor.theme.execCommand(command, ui, value)) {\n          editor.fire('ExecCommand', {\n            command: command,\n            ui: ui,\n            value: value\n          });\n          return true;\n        }\n        try {\n          state = editor.getDoc().execCommand(command, ui, value);\n        } catch (ex) {\n        }\n        if (state) {\n          editor.fire('ExecCommand', {\n            command: command,\n            ui: ui,\n            value: value\n          });\n          return true;\n        }\n        return false;\n      };\n      var queryCommandState = function (command) {\n        var func;\n        if (editor.quirks.isHidden() || editor.removed) {\n          return;\n        }\n        command = command.toLowerCase();\n        if (func = commands.state[command]) {\n          return func(command);\n        }\n        try {\n          return editor.getDoc().queryCommandState(command);\n        } catch (ex) {\n        }\n        return false;\n      };\n      var queryCommandValue = function (command) {\n        var func;\n        if (editor.quirks.isHidden() || editor.removed) {\n          return;\n        }\n        command = command.toLowerCase();\n        if (func = commands.value[command]) {\n          return func(command);\n        }\n        try {\n          return editor.getDoc().queryCommandValue(command);\n        } catch (ex) {\n        }\n      };\n      var addCommands = function (commandList, type) {\n        type = type || 'exec';\n        each$a(commandList, function (callback, command) {\n          each$a(command.toLowerCase().split(','), function (command) {\n            commands[type][command] = callback;\n          });\n        });\n      };\n      var addCommand = function (command, callback, scope) {\n        command = command.toLowerCase();\n        commands.exec[command] = function (command, ui, value, args) {\n          return callback.call(scope || editor, ui, value, args);\n        };\n      };\n      var queryCommandSupported = function (command) {\n        command = command.toLowerCase();\n        if (commands.exec[command]) {\n          return true;\n        }\n        try {\n          return editor.getDoc().queryCommandSupported(command);\n        } catch (ex) {\n        }\n        return false;\n      };\n      var addQueryStateHandler = function (command, callback, scope) {\n        command = command.toLowerCase();\n        commands.state[command] = function () {\n          return callback.call(scope || editor);\n        };\n      };\n      var addQueryValueHandler = function (command, callback, scope) {\n        command = command.toLowerCase();\n        commands.value[command] = function () {\n          return callback.call(scope || editor);\n        };\n      };\n      var hasCustomCommand = function (command) {\n        command = command.toLowerCase();\n        return !!commands.exec[command];\n      };\n      extend$2(this, {\n        execCommand: execCommand,\n        queryCommandState: queryCommandState,\n        queryCommandValue: queryCommandValue,\n        queryCommandSupported: queryCommandSupported,\n        addCommands: addCommands,\n        addCommand: addCommand,\n        addQueryStateHandler: addQueryStateHandler,\n        addQueryValueHandler: addQueryValueHandler,\n        hasCustomCommand: hasCustomCommand\n      });\n      var execNativeCommand = function (command, ui, value) {\n        if (ui === undefined) {\n          ui = false;\n        }\n        if (value === undefined) {\n          value = null;\n        }\n        return editor.getDoc().execCommand(command, ui, value);\n      };\n      var isFormatMatch = function (name) {\n        return formatter.match(name);\n      };\n      var toggleFormat = function (name, value) {\n        formatter.toggle(name, value ? { value: value } : undefined);\n        editor.nodeChanged();\n      };\n      var storeSelection = function (type) {\n        bookmark = selection.getBookmark(type);\n      };\n      var restoreSelection = function () {\n        selection.moveToBookmark(bookmark);\n      };\n      addCommands({\n        'mceResetDesignMode,mceBeginUndoLevel': function () {\n        },\n        'mceEndUndoLevel,mceAddUndoLevel': function () {\n          editor.undoManager.add();\n        },\n        'Cut,Copy,Paste': function (command) {\n          var doc = editor.getDoc();\n          var failed;\n          try {\n            execNativeCommand(command);\n          } catch (ex) {\n            failed = true;\n          }\n          if (command === 'paste' && !doc.queryCommandEnabled(command)) {\n            failed = true;\n          }\n          if (failed || !doc.queryCommandSupported(command)) {\n            var msg = editor.translate('Your browser doesn\\'t support direct access to the clipboard. ' + 'Please use the Ctrl+X/C/V keyboard shortcuts instead.');\n            if (Env.mac) {\n              msg = msg.replace(/Ctrl\\+/g, '\\u2318+');\n            }\n            editor.notificationManager.open({\n              text: msg,\n              type: 'error'\n            });\n          }\n        },\n        'unlink': function () {\n          if (selection.isCollapsed()) {\n            var elm = editor.dom.getParent(editor.selection.getStart(), 'a');\n            if (elm) {\n              editor.dom.remove(elm, true);\n            }\n            return;\n          }\n          formatter.remove('link');\n        },\n        'JustifyLeft,JustifyCenter,JustifyRight,JustifyFull,JustifyNone': function (command) {\n          var align = command.substring(7);\n          if (align === 'full') {\n            align = 'justify';\n          }\n          each$a('left,center,right,justify'.split(','), function (name) {\n            if (align !== name) {\n              formatter.remove('align' + name);\n            }\n          });\n          if (align !== 'none') {\n            toggleFormat('align' + align);\n          }\n        },\n        'InsertUnorderedList,InsertOrderedList': function (command) {\n          var listElm, listParent;\n          execNativeCommand(command);\n          listElm = dom.getParent(selection.getNode(), 'ol,ul');\n          if (listElm) {\n            listParent = listElm.parentNode;\n            if (/^(H[1-6]|P|ADDRESS|PRE)$/.test(listParent.nodeName)) {\n              storeSelection();\n              dom.split(listParent, listElm);\n              restoreSelection();\n            }\n          }\n        },\n        'Bold,Italic,Underline,Strikethrough,Superscript,Subscript': function (command) {\n          toggleFormat(command);\n        },\n        'ForeColor,HiliteColor': function (command, ui, value) {\n          toggleFormat(command, value);\n        },\n        'FontName': function (command, ui, value) {\n          fontNameAction(editor, value);\n        },\n        'FontSize': function (command, ui, value) {\n          fontSizeAction(editor, value);\n        },\n        'RemoveFormat': function (command) {\n          formatter.remove(command);\n        },\n        'mceBlockQuote': function () {\n          toggleFormat('blockquote');\n        },\n        'FormatBlock': function (command, ui, value) {\n          return toggleFormat(value || 'p');\n        },\n        'mceCleanup': function () {\n          var bookmark = selection.getBookmark();\n          editor.setContent(editor.getContent());\n          selection.moveToBookmark(bookmark);\n        },\n        'mceRemoveNode': function (command, ui, value) {\n          var node = value || selection.getNode();\n          if (node !== editor.getBody()) {\n            storeSelection();\n            editor.dom.remove(node, true);\n            restoreSelection();\n          }\n        },\n        'mceSelectNodeDepth': function (command, ui, value) {\n          var counter = 0;\n          dom.getParent(selection.getNode(), function (node) {\n            if (node.nodeType === 1 && counter++ === value) {\n              selection.select(node);\n              return false;\n            }\n          }, editor.getBody());\n        },\n        'mceSelectNode': function (command, ui, value) {\n          selection.select(value);\n        },\n        'mceInsertContent': function (command, ui, value) {\n          InsertContent.insertAtCaret(editor, value);\n        },\n        'mceInsertRawHTML': function (command, ui, value) {\n          selection.setContent('tiny_mce_marker');\n          var content = editor.getContent();\n          editor.setContent(content.replace(/tiny_mce_marker/g, function () {\n            return value;\n          }));\n        },\n        'mceToggleFormat': function (command, ui, value) {\n          toggleFormat(value);\n        },\n        'mceSetContent': function (command, ui, value) {\n          editor.setContent(value);\n        },\n        'Indent,Outdent': function (command) {\n          handle(editor, command);\n        },\n        'mceRepaint': function () {\n        },\n        'InsertHorizontalRule': function () {\n          editor.execCommand('mceInsertContent', false, '<hr />');\n        },\n        'mceToggleVisualAid': function () {\n          editor.hasVisual = !editor.hasVisual;\n          editor.addVisual();\n        },\n        'mceReplaceContent': function (command, ui, value) {\n          editor.execCommand('mceInsertContent', false, value.replace(/\\{\\$selection\\}/g, selection.getContent({ format: 'text' })));\n        },\n        'mceInsertLink': function (command, ui, value) {\n          var anchor;\n          if (typeof value === 'string') {\n            value = { href: value };\n          }\n          anchor = dom.getParent(selection.getNode(), 'a');\n          value.href = value.href.replace(' ', '%20');\n          if (!anchor || !value.href) {\n            formatter.remove('link');\n          }\n          if (value.href) {\n            formatter.apply('link', value, anchor);\n          }\n        },\n        'selectAll': function () {\n          var editingHost = dom.getParent(selection.getStart(), NodeType.isContentEditableTrue);\n          if (editingHost) {\n            var rng = dom.createRng();\n            rng.selectNodeContents(editingHost);\n            selection.setRng(rng);\n          }\n        },\n        'delete': function () {\n          DeleteCommands.deleteCommand(editor);\n        },\n        'forwardDelete': function () {\n          DeleteCommands.forwardDeleteCommand(editor);\n        },\n        'mceNewDocument': function () {\n          editor.setContent('');\n        },\n        'InsertLineBreak': function (command, ui, value) {\n          InsertBr.insert(editor, value);\n          return true;\n        }\n      });\n      var alignStates = function (name) {\n        return function () {\n          var nodes = selection.isCollapsed() ? [dom.getParent(selection.getNode(), dom.isBlock)] : selection.getSelectedBlocks();\n          var matches = map$3(nodes, function (node) {\n            return !!formatter.matchNode(node, name);\n          });\n          return inArray$2(matches, true) !== -1;\n        };\n      };\n      addCommands({\n        'JustifyLeft': alignStates('alignleft'),\n        'JustifyCenter': alignStates('aligncenter'),\n        'JustifyRight': alignStates('alignright'),\n        'JustifyFull': alignStates('alignjustify'),\n        'Bold,Italic,Underline,Strikethrough,Superscript,Subscript': function (command) {\n          return isFormatMatch(command);\n        },\n        'mceBlockQuote': function () {\n          return isFormatMatch('blockquote');\n        },\n        'Outdent': function () {\n          var node;\n          if (settings.inline_styles) {\n            if ((node = dom.getParent(selection.getStart(), dom.isBlock)) && parseInt(node.style.paddingLeft, 10) > 0) {\n              return true;\n            }\n            if ((node = dom.getParent(selection.getEnd(), dom.isBlock)) && parseInt(node.style.paddingLeft, 10) > 0) {\n              return true;\n            }\n          }\n          return queryCommandState('InsertUnorderedList') || queryCommandState('InsertOrderedList') || !settings.inline_styles && !!dom.getParent(selection.getNode(), 'BLOCKQUOTE');\n        },\n        'InsertUnorderedList,InsertOrderedList': function (command) {\n          var list = dom.getParent(selection.getNode(), 'ul,ol');\n          return list && (command === 'insertunorderedlist' && list.tagName === 'UL' || command === 'insertorderedlist' && list.tagName === 'OL');\n        }\n      }, 'state');\n      addCommands({\n        Undo: function () {\n          editor.undoManager.undo();\n        },\n        Redo: function () {\n          editor.undoManager.redo();\n        }\n      });\n      addQueryValueHandler('FontName', function () {\n        return fontNameQuery(editor);\n      }, this);\n      addQueryValueHandler('FontSize', function () {\n        return fontSizeQuery(editor);\n      }, this);\n    }\n\n    var nativeEvents = Tools.makeMap('focus blur focusin focusout click dblclick mousedown mouseup mousemove mouseover beforepaste paste cut copy selectionchange ' + 'mouseout mouseenter mouseleave wheel keydown keypress keyup input contextmenu dragstart dragend dragover ' + 'draggesture dragdrop drop drag submit ' + 'compositionstart compositionend compositionupdate touchstart touchmove touchend', ' ');\n    var Dispatcher = function (settings) {\n      var self = this;\n      var scope, bindings = {}, toggleEvent;\n      var returnFalse = function () {\n        return false;\n      };\n      var returnTrue = function () {\n        return true;\n      };\n      settings = settings || {};\n      scope = settings.scope || self;\n      toggleEvent = settings.toggleEvent || returnFalse;\n      var fire = function (name, args) {\n        var handlers, i, l, callback;\n        name = name.toLowerCase();\n        args = args || {};\n        args.type = name;\n        if (!args.target) {\n          args.target = scope;\n        }\n        if (!args.preventDefault) {\n          args.preventDefault = function () {\n            args.isDefaultPrevented = returnTrue;\n          };\n          args.stopPropagation = function () {\n            args.isPropagationStopped = returnTrue;\n          };\n          args.stopImmediatePropagation = function () {\n            args.isImmediatePropagationStopped = returnTrue;\n          };\n          args.isDefaultPrevented = returnFalse;\n          args.isPropagationStopped = returnFalse;\n          args.isImmediatePropagationStopped = returnFalse;\n        }\n        if (settings.beforeFire) {\n          settings.beforeFire(args);\n        }\n        handlers = bindings[name];\n        if (handlers) {\n          for (i = 0, l = handlers.length; i < l; i++) {\n            callback = handlers[i];\n            if (callback.once) {\n              off(name, callback.func);\n            }\n            if (args.isImmediatePropagationStopped()) {\n              args.stopPropagation();\n              return args;\n            }\n            if (callback.func.call(scope, args) === false) {\n              args.preventDefault();\n              return args;\n            }\n          }\n        }\n        return args;\n      };\n      var on = function (name, callback, prepend, extra) {\n        var handlers, names, i;\n        if (callback === false) {\n          callback = returnFalse;\n        }\n        if (callback) {\n          callback = { func: callback };\n          if (extra) {\n            Tools.extend(callback, extra);\n          }\n          names = name.toLowerCase().split(' ');\n          i = names.length;\n          while (i--) {\n            name = names[i];\n            handlers = bindings[name];\n            if (!handlers) {\n              handlers = bindings[name] = [];\n              toggleEvent(name, true);\n            }\n            if (prepend) {\n              handlers.unshift(callback);\n            } else {\n              handlers.push(callback);\n            }\n          }\n        }\n        return self;\n      };\n      var off = function (name, callback) {\n        var i, handlers, bindingName, names, hi;\n        if (name) {\n          names = name.toLowerCase().split(' ');\n          i = names.length;\n          while (i--) {\n            name = names[i];\n            handlers = bindings[name];\n            if (!name) {\n              for (bindingName in bindings) {\n                toggleEvent(bindingName, false);\n                delete bindings[bindingName];\n              }\n              return self;\n            }\n            if (handlers) {\n              if (!callback) {\n                handlers.length = 0;\n              } else {\n                hi = handlers.length;\n                while (hi--) {\n                  if (handlers[hi].func === callback) {\n                    handlers = handlers.slice(0, hi).concat(handlers.slice(hi + 1));\n                    bindings[name] = handlers;\n                  }\n                }\n              }\n              if (!handlers.length) {\n                toggleEvent(name, false);\n                delete bindings[name];\n              }\n            }\n          }\n        } else {\n          for (name in bindings) {\n            toggleEvent(name, false);\n          }\n          bindings = {};\n        }\n        return self;\n      };\n      var once = function (name, callback, prepend) {\n        return on(name, callback, prepend, { once: true });\n      };\n      var has = function (name) {\n        name = name.toLowerCase();\n        return !(!bindings[name] || bindings[name].length === 0);\n      };\n      self.fire = fire;\n      self.on = on;\n      self.off = off;\n      self.once = once;\n      self.has = has;\n    };\n    Dispatcher.isNative = function (name) {\n      return !!nativeEvents[name.toLowerCase()];\n    };\n\n    var getEventDispatcher = function (obj) {\n      if (!obj._eventDispatcher) {\n        obj._eventDispatcher = new Dispatcher({\n          scope: obj,\n          toggleEvent: function (name, state) {\n            if (Dispatcher.isNative(name) && obj.toggleNativeEvent) {\n              obj.toggleNativeEvent(name, state);\n            }\n          }\n        });\n      }\n      return obj._eventDispatcher;\n    };\n    var Observable = {\n      fire: function (name, args, bubble) {\n        var self = this;\n        if (self.removed && name !== 'remove') {\n          return args;\n        }\n        args = getEventDispatcher(self).fire(name, args, bubble);\n        if (bubble !== false && self.parent) {\n          var parent = self.parent();\n          while (parent && !args.isPropagationStopped()) {\n            parent.fire(name, args, false);\n            parent = parent.parent();\n          }\n        }\n        return args;\n      },\n      on: function (name, callback, prepend) {\n        return getEventDispatcher(this).on(name, callback, prepend);\n      },\n      off: function (name, callback) {\n        return getEventDispatcher(this).off(name, callback);\n      },\n      once: function (name, callback) {\n        return getEventDispatcher(this).once(name, callback);\n      },\n      hasEventListeners: function (name) {\n        return getEventDispatcher(this).has(name);\n      }\n    };\n\n    var firePreProcess = function (editor, args) {\n      return editor.fire('PreProcess', args);\n    };\n    var firePostProcess = function (editor, args) {\n      return editor.fire('PostProcess', args);\n    };\n    var fireRemove = function (editor) {\n      return editor.fire('remove');\n    };\n    var fireSwitchMode = function (editor, mode) {\n      return editor.fire('SwitchMode', { mode: mode });\n    };\n    var fireObjectResizeStart = function (editor, target, width, height) {\n      editor.fire('ObjectResizeStart', {\n        target: target,\n        width: width,\n        height: height\n      });\n    };\n    var fireObjectResized = function (editor, target, width, height) {\n      editor.fire('ObjectResized', {\n        target: target,\n        width: width,\n        height: height\n      });\n    };\n    var Events = {\n      firePreProcess: firePreProcess,\n      firePostProcess: firePostProcess,\n      fireRemove: fireRemove,\n      fireSwitchMode: fireSwitchMode,\n      fireObjectResizeStart: fireObjectResizeStart,\n      fireObjectResized: fireObjectResized\n    };\n\n    var setEditorCommandState = function (editor, cmd, state) {\n      try {\n        editor.getDoc().execCommand(cmd, false, state);\n      } catch (ex) {\n      }\n    };\n    var toggleClass = function (elm, cls, state) {\n      if (has$2(elm, cls) && state === false) {\n        remove$5(elm, cls);\n      } else if (state) {\n        add$2(elm, cls);\n      }\n    };\n    var toggleReadOnly = function (editor, state) {\n      toggleClass(Element$$1.fromDom(editor.getBody()), 'mce-content-readonly', state);\n      if (state) {\n        editor.selection.controlSelection.hideResizeRect();\n        editor.readonly = true;\n        editor.getBody().contentEditable = 'false';\n      } else {\n        editor.readonly = false;\n        editor.getBody().contentEditable = 'true';\n        setEditorCommandState(editor, 'StyleWithCSS', false);\n        setEditorCommandState(editor, 'enableInlineTableEditing', false);\n        setEditorCommandState(editor, 'enableObjectResizing', false);\n        editor.focus();\n        editor.nodeChanged();\n      }\n    };\n    var setMode = function (editor, mode) {\n      if (mode === getMode(editor)) {\n        return;\n      }\n      if (editor.initialized) {\n        toggleReadOnly(editor, mode === 'readonly');\n      } else {\n        editor.on('init', function () {\n          toggleReadOnly(editor, mode === 'readonly');\n        });\n      }\n      Events.fireSwitchMode(editor, mode);\n    };\n    var getMode = function (editor) {\n      return editor.readonly ? 'readonly' : 'design';\n    };\n    var isReadOnly = function (editor) {\n      return editor.readonly === true;\n    };\n\n    var DOM$1 = DOMUtils$1.DOM;\n    var customEventRootDelegates;\n    var getEventTarget = function (editor, eventName) {\n      if (eventName === 'selectionchange') {\n        return editor.getDoc();\n      }\n      if (!editor.inline && /^mouse|touch|click|contextmenu|drop|dragover|dragend/.test(eventName)) {\n        return editor.getDoc().documentElement;\n      }\n      if (editor.settings.event_root) {\n        if (!editor.eventRoot) {\n          editor.eventRoot = DOM$1.select(editor.settings.event_root)[0];\n        }\n        return editor.eventRoot;\n      }\n      return editor.getBody();\n    };\n    var isListening = function (editor) {\n      return !editor.hidden && !editor.readonly;\n    };\n    var fireEvent = function (editor, eventName, e) {\n      if (isListening(editor)) {\n        editor.fire(eventName, e);\n      } else if (isReadOnly(editor)) {\n        e.preventDefault();\n      }\n    };\n    var bindEventDelegate = function (editor, eventName) {\n      var eventRootElm, delegate;\n      if (!editor.delegates) {\n        editor.delegates = {};\n      }\n      if (editor.delegates[eventName] || editor.removed) {\n        return;\n      }\n      eventRootElm = getEventTarget(editor, eventName);\n      if (editor.settings.event_root) {\n        if (!customEventRootDelegates) {\n          customEventRootDelegates = {};\n          editor.editorManager.on('removeEditor', function () {\n            var name;\n            if (!editor.editorManager.activeEditor) {\n              if (customEventRootDelegates) {\n                for (name in customEventRootDelegates) {\n                  editor.dom.unbind(getEventTarget(editor, name));\n                }\n                customEventRootDelegates = null;\n              }\n            }\n          });\n        }\n        if (customEventRootDelegates[eventName]) {\n          return;\n        }\n        delegate = function (e) {\n          var target = e.target;\n          var editors = editor.editorManager.get();\n          var i = editors.length;\n          while (i--) {\n            var body = editors[i].getBody();\n            if (body === target || DOM$1.isChildOf(target, body)) {\n              fireEvent(editors[i], eventName, e);\n            }\n          }\n        };\n        customEventRootDelegates[eventName] = delegate;\n        DOM$1.bind(eventRootElm, eventName, delegate);\n      } else {\n        delegate = function (e) {\n          fireEvent(editor, eventName, e);\n        };\n        DOM$1.bind(eventRootElm, eventName, delegate);\n        editor.delegates[eventName] = delegate;\n      }\n    };\n    var EditorObservable = {\n      bindPendingEventDelegates: function () {\n        var self = this;\n        Tools.each(self._pendingNativeEvents, function (name) {\n          bindEventDelegate(self, name);\n        });\n      },\n      toggleNativeEvent: function (name, state) {\n        var self = this;\n        if (name === 'focus' || name === 'blur') {\n          return;\n        }\n        if (state) {\n          if (self.initialized) {\n            bindEventDelegate(self, name);\n          } else {\n            if (!self._pendingNativeEvents) {\n              self._pendingNativeEvents = [name];\n            } else {\n              self._pendingNativeEvents.push(name);\n            }\n          }\n        } else if (self.initialized) {\n          self.dom.unbind(getEventTarget(self, name), name, self.delegates[name]);\n          delete self.delegates[name];\n        }\n      },\n      unbindAllNativeEvents: function () {\n        var self = this;\n        var body = self.getBody();\n        var dom = self.dom;\n        var name;\n        if (self.delegates) {\n          for (name in self.delegates) {\n            self.dom.unbind(getEventTarget(self, name), name, self.delegates[name]);\n          }\n          delete self.delegates;\n        }\n        if (!self.inline && body && dom) {\n          body.onload = null;\n          dom.unbind(self.getWin());\n          dom.unbind(self.getDoc());\n        }\n        if (dom) {\n          dom.unbind(body);\n          dom.unbind(self.getContainer());\n        }\n      }\n    };\n    EditorObservable = Tools.extend({}, Observable, EditorObservable);\n    var EditorObservable$1 = EditorObservable;\n\n    var each$b = Tools.each, explode$2 = Tools.explode;\n    var keyCodeLookup = {\n      f9: 120,\n      f10: 121,\n      f11: 122\n    };\n    var modifierNames = Tools.makeMap('alt,ctrl,shift,meta,access');\n    function Shortcuts (editor) {\n      var self = this;\n      var shortcuts = {};\n      var pendingPatterns = [];\n      var parseShortcut = function (pattern) {\n        var id, key;\n        var shortcut = {};\n        each$b(explode$2(pattern, '+'), function (value) {\n          if (value in modifierNames) {\n            shortcut[value] = true;\n          } else {\n            if (/^[0-9]{2,}$/.test(value)) {\n              shortcut.keyCode = parseInt(value, 10);\n            } else {\n              shortcut.charCode = value.charCodeAt(0);\n              shortcut.keyCode = keyCodeLookup[value] || value.toUpperCase().charCodeAt(0);\n            }\n          }\n        });\n        id = [shortcut.keyCode];\n        for (key in modifierNames) {\n          if (shortcut[key]) {\n            id.push(key);\n          } else {\n            shortcut[key] = false;\n          }\n        }\n        shortcut.id = id.join(',');\n        if (shortcut.access) {\n          shortcut.alt = true;\n          if (Env.mac) {\n            shortcut.ctrl = true;\n          } else {\n            shortcut.shift = true;\n          }\n        }\n        if (shortcut.meta) {\n          if (Env.mac) {\n            shortcut.meta = true;\n          } else {\n            shortcut.ctrl = true;\n            shortcut.meta = false;\n          }\n        }\n        return shortcut;\n      };\n      var createShortcut = function (pattern, desc, cmdFunc, scope) {\n        var shortcuts;\n        shortcuts = Tools.map(explode$2(pattern, '>'), parseShortcut);\n        shortcuts[shortcuts.length - 1] = Tools.extend(shortcuts[shortcuts.length - 1], {\n          func: cmdFunc,\n          scope: scope || editor\n        });\n        return Tools.extend(shortcuts[0], {\n          desc: editor.translate(desc),\n          subpatterns: shortcuts.slice(1)\n        });\n      };\n      var hasModifier = function (e) {\n        return e.altKey || e.ctrlKey || e.metaKey;\n      };\n      var isFunctionKey = function (e) {\n        return e.type === 'keydown' && e.keyCode >= 112 && e.keyCode <= 123;\n      };\n      var matchShortcut = function (e, shortcut) {\n        if (!shortcut) {\n          return false;\n        }\n        if (shortcut.ctrl !== e.ctrlKey || shortcut.meta !== e.metaKey) {\n          return false;\n        }\n        if (shortcut.alt !== e.altKey || shortcut.shift !== e.shiftKey) {\n          return false;\n        }\n        if (e.keyCode === shortcut.keyCode || e.charCode && e.charCode === shortcut.charCode) {\n          e.preventDefault();\n          return true;\n        }\n        return false;\n      };\n      var executeShortcutAction = function (shortcut) {\n        return shortcut.func ? shortcut.func.call(shortcut.scope) : null;\n      };\n      editor.on('keyup keypress keydown', function (e) {\n        if ((hasModifier(e) || isFunctionKey(e)) && !e.isDefaultPrevented()) {\n          each$b(shortcuts, function (shortcut) {\n            if (matchShortcut(e, shortcut)) {\n              pendingPatterns = shortcut.subpatterns.slice(0);\n              if (e.type === 'keydown') {\n                executeShortcutAction(shortcut);\n              }\n              return true;\n            }\n          });\n          if (matchShortcut(e, pendingPatterns[0])) {\n            if (pendingPatterns.length === 1) {\n              if (e.type === 'keydown') {\n                executeShortcutAction(pendingPatterns[0]);\n              }\n            }\n            pendingPatterns.shift();\n          }\n        }\n      });\n      self.add = function (pattern, desc, cmdFunc, scope) {\n        var cmd;\n        cmd = cmdFunc;\n        if (typeof cmdFunc === 'string') {\n          cmdFunc = function () {\n            editor.execCommand(cmd, false, null);\n          };\n        } else if (Tools.isArray(cmd)) {\n          cmdFunc = function () {\n            editor.execCommand(cmd[0], cmd[1], cmd[2]);\n          };\n        }\n        each$b(explode$2(Tools.trim(pattern.toLowerCase())), function (pattern) {\n          var shortcut = createShortcut(pattern, desc, cmdFunc, scope);\n          shortcuts[shortcut.id] = shortcut;\n        });\n        return true;\n      };\n      self.remove = function (pattern) {\n        var shortcut = createShortcut(pattern);\n        if (shortcuts[shortcut.id]) {\n          delete shortcuts[shortcut.id];\n          return true;\n        }\n        return false;\n      };\n    }\n\n    var hasFocus = function (element) {\n      var doc = owner(element).dom();\n      return element.dom() === doc.activeElement;\n    };\n    var active = function (_doc) {\n      var doc = _doc !== undefined ? _doc.dom() : document;\n      return Option.from(doc.activeElement).map(Element$$1.fromDom);\n    };\n    var search = function (element) {\n      return active(owner(element)).filter(function (e) {\n        return element.dom().contains(e.dom());\n      });\n    };\n\n    var getContentEditableHost = function (editor, node) {\n      return editor.dom.getParent(node, function (node) {\n        return editor.dom.getContentEditable(node) === 'true';\n      });\n    };\n    var getCollapsedNode = function (rng) {\n      return rng.collapsed ? Option.from(getNode(rng.startContainer, rng.startOffset)).map(Element$$1.fromDom) : Option.none();\n    };\n    var getFocusInElement = function (root, rng) {\n      return getCollapsedNode(rng).bind(function (node) {\n        if (isTableSection(node)) {\n          return Option.some(node);\n        } else if (contains$3(root, node) === false) {\n          return Option.some(root);\n        } else {\n          return Option.none();\n        }\n      });\n    };\n    var normalizeSelection = function (editor, rng) {\n      getFocusInElement(Element$$1.fromDom(editor.getBody()), rng).bind(function (elm) {\n        return CaretFinder.firstPositionIn(elm.dom());\n      }).fold(function () {\n        editor.selection.normalize();\n        return;\n      }, function (caretPos) {\n        return editor.selection.setRng(caretPos.toRange());\n      });\n    };\n    var focusBody = function (body) {\n      if (body.setActive) {\n        try {\n          body.setActive();\n        } catch (ex) {\n          body.focus();\n        }\n      } else {\n        body.focus();\n      }\n    };\n    var hasElementFocus = function (elm) {\n      return hasFocus(elm) || search(elm).isSome();\n    };\n    var hasIframeFocus = function (editor) {\n      return editor.iframeElement && hasFocus(Element$$1.fromDom(editor.iframeElement));\n    };\n    var hasInlineFocus = function (editor) {\n      var rawBody = editor.getBody();\n      return rawBody && hasElementFocus(Element$$1.fromDom(rawBody));\n    };\n    var hasFocus$1 = function (editor) {\n      return editor.inline ? hasInlineFocus(editor) : hasIframeFocus(editor);\n    };\n    var focusEditor = function (editor) {\n      var selection = editor.selection, contentEditable = editor.settings.content_editable;\n      var body = editor.getBody();\n      var rng = selection.getRng();\n      editor.quirks.refreshContentEditable();\n      var contentEditableHost = getContentEditableHost(editor, selection.getNode());\n      if (editor.$.contains(body, contentEditableHost)) {\n        focusBody(contentEditableHost);\n        normalizeSelection(editor, rng);\n        activateEditor(editor);\n        return;\n      }\n      if (editor.bookmark !== undefined && hasFocus$1(editor) === false) {\n        SelectionBookmark.getRng(editor).each(function (bookmarkRng) {\n          editor.selection.setRng(bookmarkRng);\n          rng = bookmarkRng;\n        });\n      }\n      if (!contentEditable) {\n        if (!Env.opera) {\n          focusBody(body);\n        }\n        editor.getWin().focus();\n      }\n      if (Env.gecko || contentEditable) {\n        focusBody(body);\n        normalizeSelection(editor, rng);\n      }\n      activateEditor(editor);\n    };\n    var activateEditor = function (editor) {\n      return editor.editorManager.setActive(editor);\n    };\n    var focus$1 = function (editor, skipFocus) {\n      if (editor.removed) {\n        return;\n      }\n      skipFocus ? activateEditor(editor) : focusEditor(editor);\n    };\n    var EditorFocus = {\n      focus: focus$1,\n      hasFocus: hasFocus$1\n    };\n\n    var getProp = function (propName, elm) {\n      var rawElm = elm.dom();\n      return rawElm[propName];\n    };\n    var getComputedSizeProp = function (propName, elm) {\n      return parseInt(get$2(elm, propName), 10);\n    };\n    var getClientWidth = curry(getProp, 'clientWidth');\n    var getClientHeight = curry(getProp, 'clientHeight');\n    var getMarginTop = curry(getComputedSizeProp, 'margin-top');\n    var getMarginLeft = curry(getComputedSizeProp, 'margin-left');\n    var getBoundingClientRect$1 = function (elm) {\n      return elm.dom().getBoundingClientRect();\n    };\n    var isInsideElementContentArea = function (bodyElm, clientX, clientY) {\n      var clientWidth = getClientWidth(bodyElm);\n      var clientHeight = getClientHeight(bodyElm);\n      return clientX >= 0 && clientY >= 0 && clientX <= clientWidth && clientY <= clientHeight;\n    };\n    var transpose = function (inline, elm, clientX, clientY) {\n      var clientRect = getBoundingClientRect$1(elm);\n      var deltaX = inline ? clientRect.left + elm.dom().clientLeft + getMarginLeft(elm) : 0;\n      var deltaY = inline ? clientRect.top + elm.dom().clientTop + getMarginTop(elm) : 0;\n      var x = clientX - deltaX;\n      var y = clientY - deltaY;\n      return {\n        x: x,\n        y: y\n      };\n    };\n    var isXYInContentArea = function (editor, clientX, clientY) {\n      var bodyElm = Element$$1.fromDom(editor.getBody());\n      var targetElm = editor.inline ? bodyElm : documentElement(bodyElm);\n      var transposedPoint = transpose(editor.inline, targetElm, clientX, clientY);\n      return isInsideElementContentArea(targetElm, transposedPoint.x, transposedPoint.y);\n    };\n    var fromDomSafe = function (node) {\n      return Option.from(node).map(Element$$1.fromDom);\n    };\n    var isEditorAttachedToDom = function (editor) {\n      var rawContainer = editor.inline ? editor.getBody() : editor.getContentAreaContainer();\n      return fromDomSafe(rawContainer).map(function (container) {\n        return contains$3(owner(container), container);\n      }).getOr(false);\n    };\n    var EditorView = {\n      isXYInContentArea: isXYInContentArea,\n      isEditorAttachedToDom: isEditorAttachedToDom\n    };\n\n    function NotificationManagerImpl () {\n      var unimplemented = function () {\n        throw new Error('Theme did not provide a NotificationManager implementation.');\n      };\n      return {\n        open: unimplemented,\n        close: unimplemented,\n        reposition: unimplemented,\n        getArgs: unimplemented\n      };\n    }\n\n    function NotificationManager (editor) {\n      var notifications = [];\n      var getImplementation = function () {\n        var theme = editor.theme;\n        return theme && theme.getNotificationManagerImpl ? theme.getNotificationManagerImpl() : NotificationManagerImpl();\n      };\n      var getTopNotification = function () {\n        return Option.from(notifications[0]);\n      };\n      var isEqual = function (a, b) {\n        return a.type === b.type && a.text === b.text && !a.progressBar && !a.timeout && !b.progressBar && !b.timeout;\n      };\n      var reposition = function () {\n        if (notifications.length > 0) {\n          getImplementation().reposition(notifications);\n        }\n      };\n      var addNotification = function (notification) {\n        notifications.push(notification);\n      };\n      var closeNotification = function (notification) {\n        findIndex(notifications, function (otherNotification) {\n          return otherNotification === notification;\n        }).each(function (index) {\n          notifications.splice(index, 1);\n        });\n      };\n      var open = function (args) {\n        if (editor.removed || !EditorView.isEditorAttachedToDom(editor)) {\n          return;\n        }\n        return find(notifications, function (notification) {\n          return isEqual(getImplementation().getArgs(notification), args);\n        }).getOrThunk(function () {\n          editor.editorManager.setActive(editor);\n          var notification = getImplementation().open(args, function () {\n            closeNotification(notification);\n            reposition();\n          });\n          addNotification(notification);\n          reposition();\n          return notification;\n        });\n      };\n      var close = function () {\n        getTopNotification().each(function (notification) {\n          getImplementation().close(notification);\n          closeNotification(notification);\n          reposition();\n        });\n      };\n      var getNotifications = function () {\n        return notifications;\n      };\n      var registerEvents = function (editor) {\n        editor.on('SkinLoaded', function () {\n          var serviceMessage = editor.settings.service_message;\n          if (serviceMessage) {\n            open({\n              text: serviceMessage,\n              type: 'warning',\n              timeout: 0,\n              icon: ''\n            });\n          }\n        });\n        editor.on('ResizeEditor ResizeWindow', function () {\n          Delay.requestAnimationFrame(reposition);\n        });\n        editor.on('remove', function () {\n          each(notifications.slice(), function (notification) {\n            getImplementation().close(notification);\n          });\n        });\n      };\n      registerEvents(editor);\n      return {\n        open: open,\n        close: close,\n        getNotifications: getNotifications\n      };\n    }\n\n    function WindowManagerImpl () {\n      var unimplemented = function () {\n        throw new Error('Theme did not provide a WindowManager implementation.');\n      };\n      return {\n        open: unimplemented,\n        alert: unimplemented,\n        confirm: unimplemented,\n        close: unimplemented,\n        getParams: unimplemented,\n        setParams: unimplemented\n      };\n    }\n\n    function WindowManager (editor) {\n      var windows = [];\n      var getImplementation = function () {\n        var theme = editor.theme;\n        return theme && theme.getWindowManagerImpl ? theme.getWindowManagerImpl() : WindowManagerImpl();\n      };\n      var funcBind = function (scope, f) {\n        return function () {\n          return f ? f.apply(scope, arguments) : undefined;\n        };\n      };\n      var fireOpenEvent = function (win) {\n        editor.fire('OpenWindow', { win: win });\n      };\n      var fireCloseEvent = function (win) {\n        editor.fire('CloseWindow', { win: win });\n      };\n      var addWindow = function (win) {\n        windows.push(win);\n        fireOpenEvent(win);\n      };\n      var closeWindow = function (win) {\n        findIndex(windows, function (otherWindow) {\n          return otherWindow === win;\n        }).each(function (index) {\n          windows.splice(index, 1);\n          fireCloseEvent(win);\n          if (windows.length === 0) {\n            editor.focus();\n          }\n        });\n      };\n      var getTopWindow = function () {\n        return Option.from(windows[windows.length - 1]);\n      };\n      var open = function (args, params) {\n        editor.editorManager.setActive(editor);\n        SelectionBookmark.store(editor);\n        var win = getImplementation().open(args, params, closeWindow);\n        addWindow(win);\n        return win;\n      };\n      var alert = function (message, callback, scope) {\n        var win = getImplementation().alert(message, funcBind(scope ? scope : this, callback), closeWindow);\n        addWindow(win);\n      };\n      var confirm = function (message, callback, scope) {\n        var win = getImplementation().confirm(message, funcBind(scope ? scope : this, callback), closeWindow);\n        addWindow(win);\n      };\n      var close = function () {\n        getTopWindow().each(function (win) {\n          getImplementation().close(win);\n          closeWindow(win);\n        });\n      };\n      var getParams = function () {\n        return getTopWindow().map(getImplementation().getParams).getOr(null);\n      };\n      var setParams = function (params) {\n        getTopWindow().each(function (win) {\n          getImplementation().setParams(win, params);\n        });\n      };\n      var getWindows = function () {\n        return windows;\n      };\n      editor.on('remove', function () {\n        each(windows.slice(0), function (win) {\n          getImplementation().close(win);\n        });\n      });\n      return {\n        windows: windows,\n        open: open,\n        alert: alert,\n        confirm: confirm,\n        close: close,\n        getParams: getParams,\n        setParams: setParams,\n        getWindows: getWindows\n      };\n    }\n\n    var PluginManager = AddOnManager.PluginManager;\n    var resolvePluginName = function (targetUrl, suffix) {\n      for (var name$$1 in PluginManager.urls) {\n        var matchUrl = PluginManager.urls[name$$1] + '/plugin' + suffix + '.js';\n        if (matchUrl === targetUrl) {\n          return name$$1;\n        }\n      }\n      return null;\n    };\n    var pluginUrlToMessage = function (editor, url) {\n      var plugin = resolvePluginName(url, editor.suffix);\n      return plugin ? 'Failed to load plugin: ' + plugin + ' from url ' + url : 'Failed to load plugin url: ' + url;\n    };\n    var displayNotification = function (editor, message) {\n      editor.notificationManager.open({\n        type: 'error',\n        text: message\n      });\n    };\n    var displayError = function (editor, message) {\n      if (editor._skinLoaded) {\n        displayNotification(editor, message);\n      } else {\n        editor.on('SkinLoaded', function () {\n          displayNotification(editor, message);\n        });\n      }\n    };\n    var uploadError = function (editor, message) {\n      displayError(editor, 'Failed to upload image: ' + message);\n    };\n    var pluginLoadError = function (editor, url) {\n      displayError(editor, pluginUrlToMessage(editor, url));\n    };\n    var initError = function (message) {\n      var x = [];\n      for (var _i = 1; _i < arguments.length; _i++) {\n        x[_i - 1] = arguments[_i];\n      }\n      var console$$1 = window.console;\n      if (console$$1) {\n        if (console$$1.error) {\n          console$$1.error.apply(console$$1, arguments);\n        } else {\n          console$$1.log.apply(console$$1, arguments);\n        }\n      }\n    };\n    var ErrorReporter = {\n      pluginLoadError: pluginLoadError,\n      uploadError: uploadError,\n      displayError: displayError,\n      initError: initError\n    };\n\n    var PluginManager$1 = AddOnManager.PluginManager;\n\n    var ThemeManager = AddOnManager.ThemeManager;\n\n    function XMLHttpRequest () {\n      var f = Global$1.getOrDie('XMLHttpRequest');\n      return new f();\n    }\n\n    function Uploader (uploadStatus, settings) {\n      var pendingPromises = {};\n      var pathJoin = function (path1, path2) {\n        if (path1) {\n          return path1.replace(/\\/$/, '') + '/' + path2.replace(/^\\//, '');\n        }\n        return path2;\n      };\n      var defaultHandler = function (blobInfo, success, failure, progress) {\n        var xhr, formData;\n        xhr = XMLHttpRequest();\n        xhr.open('POST', settings.url);\n        xhr.withCredentials = settings.credentials;\n        xhr.upload.onprogress = function (e) {\n          progress(e.loaded / e.total * 100);\n        };\n        xhr.onerror = function () {\n          failure('Image upload failed due to a XHR Transport error. Code: ' + xhr.status);\n        };\n        xhr.onload = function () {\n          var json;\n          if (xhr.status < 200 || xhr.status >= 300) {\n            failure('HTTP Error: ' + xhr.status);\n            return;\n          }\n          json = JSON.parse(xhr.responseText);\n          if (!json || typeof json.location !== 'string') {\n            failure('Invalid JSON: ' + xhr.responseText);\n            return;\n          }\n          success(pathJoin(settings.basePath, json.location));\n        };\n        formData = new FormData();\n        formData.append('file', blobInfo.blob(), blobInfo.filename());\n        xhr.send(formData);\n      };\n      var noUpload = function () {\n        return new promiseObj(function (resolve) {\n          resolve([]);\n        });\n      };\n      var handlerSuccess = function (blobInfo, url) {\n        return {\n          url: url,\n          blobInfo: blobInfo,\n          status: true\n        };\n      };\n      var handlerFailure = function (blobInfo, error) {\n        return {\n          url: '',\n          blobInfo: blobInfo,\n          status: false,\n          error: error\n        };\n      };\n      var resolvePending = function (blobUri, result) {\n        Tools.each(pendingPromises[blobUri], function (resolve) {\n          resolve(result);\n        });\n        delete pendingPromises[blobUri];\n      };\n      var uploadBlobInfo = function (blobInfo, handler, openNotification) {\n        uploadStatus.markPending(blobInfo.blobUri());\n        return new promiseObj(function (resolve) {\n          var notification, progress;\n          var noop = function () {\n          };\n          try {\n            var closeNotification_1 = function () {\n              if (notification) {\n                notification.close();\n                progress = noop;\n              }\n            };\n            var success = function (url) {\n              closeNotification_1();\n              uploadStatus.markUploaded(blobInfo.blobUri(), url);\n              resolvePending(blobInfo.blobUri(), handlerSuccess(blobInfo, url));\n              resolve(handlerSuccess(blobInfo, url));\n            };\n            var failure = function (error) {\n              closeNotification_1();\n              uploadStatus.removeFailed(blobInfo.blobUri());\n              resolvePending(blobInfo.blobUri(), handlerFailure(blobInfo, error));\n              resolve(handlerFailure(blobInfo, error));\n            };\n            progress = function (percent) {\n              if (percent < 0 || percent > 100) {\n                return;\n              }\n              if (!notification) {\n                notification = openNotification();\n              }\n              notification.progressBar.value(percent);\n            };\n            handler(blobInfo, success, failure, progress);\n          } catch (ex) {\n            resolve(handlerFailure(blobInfo, ex.message));\n          }\n        });\n      };\n      var isDefaultHandler = function (handler) {\n        return handler === defaultHandler;\n      };\n      var pendingUploadBlobInfo = function (blobInfo) {\n        var blobUri = blobInfo.blobUri();\n        return new promiseObj(function (resolve) {\n          pendingPromises[blobUri] = pendingPromises[blobUri] || [];\n          pendingPromises[blobUri].push(resolve);\n        });\n      };\n      var uploadBlobs = function (blobInfos, openNotification) {\n        blobInfos = Tools.grep(blobInfos, function (blobInfo) {\n          return !uploadStatus.isUploaded(blobInfo.blobUri());\n        });\n        return promiseObj.all(Tools.map(blobInfos, function (blobInfo) {\n          return uploadStatus.isPending(blobInfo.blobUri()) ? pendingUploadBlobInfo(blobInfo) : uploadBlobInfo(blobInfo, settings.handler, openNotification);\n        }));\n      };\n      var upload = function (blobInfos, openNotification) {\n        return !settings.url && isDefaultHandler(settings.handler) ? noUpload() : uploadBlobs(blobInfos, openNotification);\n      };\n      if (isFunction(settings.handler) === false) {\n        settings.handler = defaultHandler;\n      }\n      return { upload: upload };\n    }\n\n    function FileReader () {\n      var f = Global$1.getOrDie('FileReader');\n      return new f();\n    }\n\n    function Uint8Array (arr) {\n      var f = Global$1.getOrDie('Uint8Array');\n      return new f(arr);\n    }\n\n    var requestAnimationFrame$1 = function (callback) {\n      var f = Global$1.getOrDie('requestAnimationFrame');\n      f(callback);\n    };\n    var atob = function (base64) {\n      var f = Global$1.getOrDie('atob');\n      return f(base64);\n    };\n    var Window = {\n      atob: atob,\n      requestAnimationFrame: requestAnimationFrame$1\n    };\n\n    var blobUriToBlob = function (url) {\n      return new promiseObj(function (resolve, reject) {\n        var rejectWithError = function () {\n          reject('Cannot convert ' + url + ' to Blob. Resource might not exist or is inaccessible.');\n        };\n        try {\n          var xhr = XMLHttpRequest();\n          xhr.open('GET', url, true);\n          xhr.responseType = 'blob';\n          xhr.onload = function () {\n            if (this.status === 200) {\n              resolve(this.response);\n            } else {\n              rejectWithError();\n            }\n          };\n          xhr.onerror = rejectWithError;\n          xhr.send();\n        } catch (ex) {\n          rejectWithError();\n        }\n      });\n    };\n    var parseDataUri = function (uri) {\n      var type, matches;\n      var uriParts = decodeURIComponent(uri).split(',');\n      matches = /data:([^;]+)/.exec(uriParts[0]);\n      if (matches) {\n        type = matches[1];\n      }\n      return {\n        type: type,\n        data: uriParts[1]\n      };\n    };\n    var dataUriToBlob = function (uri) {\n      return new promiseObj(function (resolve) {\n        var str, arr, i;\n        var uriParts = parseDataUri(uri);\n        try {\n          str = Window.atob(uriParts.data);\n        } catch (e) {\n          resolve(new Blob([]));\n          return;\n        }\n        arr = Uint8Array(str.length);\n        for (i = 0; i < arr.length; i++) {\n          arr[i] = str.charCodeAt(i);\n        }\n        resolve(new Blob([arr], { type: uriParts.type }));\n      });\n    };\n    var uriToBlob = function (url) {\n      if (url.indexOf('blob:') === 0) {\n        return blobUriToBlob(url);\n      }\n      if (url.indexOf('data:') === 0) {\n        return dataUriToBlob(url);\n      }\n      return null;\n    };\n    var blobToDataUri = function (blob) {\n      return new promiseObj(function (resolve) {\n        var reader = FileReader();\n        reader.onloadend = function () {\n          resolve(reader.result);\n        };\n        reader.readAsDataURL(blob);\n      });\n    };\n    var Conversions = {\n      uriToBlob: uriToBlob,\n      blobToDataUri: blobToDataUri,\n      parseDataUri: parseDataUri\n    };\n\n    var count = 0;\n    var uniqueId = function (prefix) {\n      return (prefix || 'blobid') + count++;\n    };\n    var imageToBlobInfo = function (blobCache, img, resolve, reject) {\n      var base64, blobInfo;\n      if (img.src.indexOf('blob:') === 0) {\n        blobInfo = blobCache.getByUri(img.src);\n        if (blobInfo) {\n          resolve({\n            image: img,\n            blobInfo: blobInfo\n          });\n        } else {\n          Conversions.uriToBlob(img.src).then(function (blob) {\n            Conversions.blobToDataUri(blob).then(function (dataUri) {\n              base64 = Conversions.parseDataUri(dataUri).data;\n              blobInfo = blobCache.create(uniqueId(), blob, base64);\n              blobCache.add(blobInfo);\n              resolve({\n                image: img,\n                blobInfo: blobInfo\n              });\n            });\n          }, function (err) {\n            reject(err);\n          });\n        }\n        return;\n      }\n      base64 = Conversions.parseDataUri(img.src).data;\n      blobInfo = blobCache.findFirst(function (cachedBlobInfo) {\n        return cachedBlobInfo.base64() === base64;\n      });\n      if (blobInfo) {\n        resolve({\n          image: img,\n          blobInfo: blobInfo\n        });\n      } else {\n        Conversions.uriToBlob(img.src).then(function (blob) {\n          blobInfo = blobCache.create(uniqueId(), blob, base64);\n          blobCache.add(blobInfo);\n          resolve({\n            image: img,\n            blobInfo: blobInfo\n          });\n        }, function (err) {\n          reject(err);\n        });\n      }\n    };\n    var getAllImages = function (elm) {\n      return elm ? from$1(elm.getElementsByTagName('img')) : [];\n    };\n    function ImageScanner (uploadStatus, blobCache) {\n      var cachedPromises = {};\n      var findAll = function (elm, predicate) {\n        var images;\n        if (!predicate) {\n          predicate = constant(true);\n        }\n        images = filter(getAllImages(elm), function (img) {\n          var src = img.src;\n          if (!Env.fileApi) {\n            return false;\n          }\n          if (img.hasAttribute('data-mce-bogus')) {\n            return false;\n          }\n          if (img.hasAttribute('data-mce-placeholder')) {\n            return false;\n          }\n          if (!src || src === Env.transparentSrc) {\n            return false;\n          }\n          if (src.indexOf('blob:') === 0) {\n            return !uploadStatus.isUploaded(src) && predicate(img);\n          }\n          if (src.indexOf('data:') === 0) {\n            return predicate(img);\n          }\n          return false;\n        });\n        var promises = map(images, function (img) {\n          if (cachedPromises[img.src]) {\n            return new promiseObj(function (resolve) {\n              cachedPromises[img.src].then(function (imageInfo) {\n                if (typeof imageInfo === 'string') {\n                  return imageInfo;\n                }\n                resolve({\n                  image: img,\n                  blobInfo: imageInfo.blobInfo\n                });\n              });\n            });\n          }\n          var newPromise = new promiseObj(function (resolve, reject) {\n            imageToBlobInfo(blobCache, img, resolve, reject);\n          }).then(function (result) {\n            delete cachedPromises[result.image.src];\n            return result;\n          }).catch(function (error) {\n            delete cachedPromises[img.src];\n            return error;\n          });\n          cachedPromises[img.src] = newPromise;\n          return newPromise;\n        });\n        return promiseObj.all(promises);\n      };\n      return { findAll: findAll };\n    }\n\n    var count$1 = 0;\n    var seed = function () {\n      var rnd = function () {\n        return Math.round(Math.random() * 4294967295).toString(36);\n      };\n      var now = new Date().getTime();\n      return 's' + now.toString(36) + rnd() + rnd() + rnd();\n    };\n    var uuid = function (prefix) {\n      return prefix + count$1++ + seed();\n    };\n    var Uuid = { uuid: uuid };\n\n    function BlobCache () {\n      var cache = [];\n      var mimeToExt = function (mime) {\n        var mimes = {\n          'image/jpeg': 'jpg',\n          'image/jpg': 'jpg',\n          'image/gif': 'gif',\n          'image/png': 'png'\n        };\n        return mimes[mime.toLowerCase()] || 'dat';\n      };\n      var create = function (o, blob, base64, filename) {\n        if (isString(o)) {\n          var id = o;\n          return toBlobInfo({\n            id: id,\n            name: filename,\n            blob: blob,\n            base64: base64\n          });\n        } else if (isObject(o)) {\n          return toBlobInfo(o);\n        } else {\n          throw new Error('Unknown input type');\n        }\n      };\n      var toBlobInfo = function (o) {\n        var id, name;\n        if (!o.blob || !o.base64) {\n          throw new Error('blob and base64 representations of the image are required for BlobInfo to be created');\n        }\n        id = o.id || Uuid.uuid('blobid');\n        name = o.name || id;\n        return {\n          id: constant(id),\n          name: constant(name),\n          filename: constant(name + '.' + mimeToExt(o.blob.type)),\n          blob: constant(o.blob),\n          base64: constant(o.base64),\n          blobUri: constant(o.blobUri || URL.createObjectURL(o.blob)),\n          uri: constant(o.uri)\n        };\n      };\n      var add = function (blobInfo) {\n        if (!get(blobInfo.id())) {\n          cache.push(blobInfo);\n        }\n      };\n      var get = function (id) {\n        return findFirst(function (cachedBlobInfo) {\n          return cachedBlobInfo.id() === id;\n        });\n      };\n      var findFirst = function (predicate) {\n        return filter(cache, predicate)[0];\n      };\n      var getByUri = function (blobUri) {\n        return findFirst(function (blobInfo) {\n          return blobInfo.blobUri() === blobUri;\n        });\n      };\n      var removeByUri = function (blobUri) {\n        cache = filter(cache, function (blobInfo) {\n          if (blobInfo.blobUri() === blobUri) {\n            URL.revokeObjectURL(blobInfo.blobUri());\n            return false;\n          }\n          return true;\n        });\n      };\n      var destroy = function () {\n        each(cache, function (cachedBlobInfo) {\n          URL.revokeObjectURL(cachedBlobInfo.blobUri());\n        });\n        cache = [];\n      };\n      return {\n        create: create,\n        add: add,\n        get: get,\n        getByUri: getByUri,\n        findFirst: findFirst,\n        removeByUri: removeByUri,\n        destroy: destroy\n      };\n    }\n\n    function UploadStatus () {\n      var PENDING = 1, UPLOADED = 2;\n      var blobUriStatuses = {};\n      var createStatus = function (status, resultUri) {\n        return {\n          status: status,\n          resultUri: resultUri\n        };\n      };\n      var hasBlobUri = function (blobUri) {\n        return blobUri in blobUriStatuses;\n      };\n      var getResultUri = function (blobUri) {\n        var result = blobUriStatuses[blobUri];\n        return result ? result.resultUri : null;\n      };\n      var isPending = function (blobUri) {\n        return hasBlobUri(blobUri) ? blobUriStatuses[blobUri].status === PENDING : false;\n      };\n      var isUploaded = function (blobUri) {\n        return hasBlobUri(blobUri) ? blobUriStatuses[blobUri].status === UPLOADED : false;\n      };\n      var markPending = function (blobUri) {\n        blobUriStatuses[blobUri] = createStatus(PENDING, null);\n      };\n      var markUploaded = function (blobUri, resultUri) {\n        blobUriStatuses[blobUri] = createStatus(UPLOADED, resultUri);\n      };\n      var removeFailed = function (blobUri) {\n        delete blobUriStatuses[blobUri];\n      };\n      var destroy = function () {\n        blobUriStatuses = {};\n      };\n      return {\n        hasBlobUri: hasBlobUri,\n        getResultUri: getResultUri,\n        isPending: isPending,\n        isUploaded: isUploaded,\n        markPending: markPending,\n        markUploaded: markUploaded,\n        removeFailed: removeFailed,\n        destroy: destroy\n      };\n    }\n\n    function EditorUpload (editor) {\n      var blobCache = BlobCache();\n      var uploader, imageScanner;\n      var uploadStatus = UploadStatus();\n      var urlFilters = [];\n      var aliveGuard = function (callback) {\n        return function (result) {\n          if (editor.selection) {\n            return callback(result);\n          }\n          return [];\n        };\n      };\n      var cacheInvalidator = function () {\n        return '?' + new Date().getTime();\n      };\n      var replaceString = function (content, search, replace) {\n        var index = 0;\n        do {\n          index = content.indexOf(search, index);\n          if (index !== -1) {\n            content = content.substring(0, index) + replace + content.substr(index + search.length);\n            index += replace.length - search.length + 1;\n          }\n        } while (index !== -1);\n        return content;\n      };\n      var replaceImageUrl = function (content, targetUrl, replacementUrl) {\n        content = replaceString(content, 'src=\"' + targetUrl + '\"', 'src=\"' + replacementUrl + '\"');\n        content = replaceString(content, 'data-mce-src=\"' + targetUrl + '\"', 'data-mce-src=\"' + replacementUrl + '\"');\n        return content;\n      };\n      var replaceUrlInUndoStack = function (targetUrl, replacementUrl) {\n        each(editor.undoManager.data, function (level) {\n          if (level.type === 'fragmented') {\n            level.fragments = map(level.fragments, function (fragment) {\n              return replaceImageUrl(fragment, targetUrl, replacementUrl);\n            });\n          } else {\n            level.content = replaceImageUrl(level.content, targetUrl, replacementUrl);\n          }\n        });\n      };\n      var openNotification = function () {\n        return editor.notificationManager.open({\n          text: editor.translate('Image uploading...'),\n          type: 'info',\n          timeout: -1,\n          progressBar: true\n        });\n      };\n      var replaceImageUri = function (image, resultUri) {\n        blobCache.removeByUri(image.src);\n        replaceUrlInUndoStack(image.src, resultUri);\n        editor.$(image).attr({\n          'src': Settings.shouldReuseFileName(editor) ? resultUri + cacheInvalidator() : resultUri,\n          'data-mce-src': editor.convertURL(resultUri, 'src')\n        });\n      };\n      var uploadImages = function (callback) {\n        if (!uploader) {\n          uploader = Uploader(uploadStatus, {\n            url: Settings.getImageUploadUrl(editor),\n            basePath: Settings.getImageUploadBasePath(editor),\n            credentials: Settings.getImagesUploadCredentials(editor),\n            handler: Settings.getImagesUploadHandler(editor)\n          });\n        }\n        return scanForImages().then(aliveGuard(function (imageInfos) {\n          var blobInfos;\n          blobInfos = map(imageInfos, function (imageInfo) {\n            return imageInfo.blobInfo;\n          });\n          return uploader.upload(blobInfos, openNotification).then(aliveGuard(function (result) {\n            var filteredResult = map(result, function (uploadInfo, index) {\n              var image = imageInfos[index].image;\n              if (uploadInfo.status && Settings.shouldReplaceBlobUris(editor)) {\n                replaceImageUri(image, uploadInfo.url);\n              } else if (uploadInfo.error) {\n                ErrorReporter.uploadError(editor, uploadInfo.error);\n              }\n              return {\n                element: image,\n                status: uploadInfo.status\n              };\n            });\n            if (callback) {\n              callback(filteredResult);\n            }\n            return filteredResult;\n          }));\n        }));\n      };\n      var uploadImagesAuto = function (callback) {\n        if (Settings.isAutomaticUploadsEnabled(editor)) {\n          return uploadImages(callback);\n        }\n      };\n      var isValidDataUriImage = function (imgElm) {\n        if (forall(urlFilters, function (filter$$1) {\n            return filter$$1(imgElm);\n          }) === false) {\n          return false;\n        }\n        if (imgElm.getAttribute('src').indexOf('data:') === 0) {\n          var dataImgFilter = Settings.getImagesDataImgFilter(editor);\n          return dataImgFilter(imgElm);\n        }\n        return true;\n      };\n      var addFilter = function (filter$$1) {\n        urlFilters.push(filter$$1);\n      };\n      var scanForImages = function () {\n        if (!imageScanner) {\n          imageScanner = ImageScanner(uploadStatus, blobCache);\n        }\n        return imageScanner.findAll(editor.getBody(), isValidDataUriImage).then(aliveGuard(function (result) {\n          result = filter(result, function (resultItem) {\n            if (typeof resultItem === 'string') {\n              ErrorReporter.displayError(editor, resultItem);\n              return false;\n            }\n            return true;\n          });\n          each(result, function (resultItem) {\n            replaceUrlInUndoStack(resultItem.image.src, resultItem.blobInfo.blobUri());\n            resultItem.image.src = resultItem.blobInfo.blobUri();\n            resultItem.image.removeAttribute('data-mce-src');\n          });\n          return result;\n        }));\n      };\n      var destroy = function () {\n        blobCache.destroy();\n        uploadStatus.destroy();\n        imageScanner = uploader = null;\n      };\n      var replaceBlobUris = function (content) {\n        return content.replace(/src=\"(blob:[^\"]+)\"/g, function (match, blobUri) {\n          var resultUri = uploadStatus.getResultUri(blobUri);\n          if (resultUri) {\n            return 'src=\"' + resultUri + '\"';\n          }\n          var blobInfo = blobCache.getByUri(blobUri);\n          if (!blobInfo) {\n            blobInfo = foldl(editor.editorManager.get(), function (result, editor) {\n              return result || editor.editorUpload && editor.editorUpload.blobCache.getByUri(blobUri);\n            }, null);\n          }\n          if (blobInfo) {\n            var blob = blobInfo.blob();\n            return 'src=\"data:' + blob.type + ';base64,' + blobInfo.base64() + '\"';\n          }\n          return match;\n        });\n      };\n      editor.on('setContent', function () {\n        if (Settings.isAutomaticUploadsEnabled(editor)) {\n          uploadImagesAuto();\n        } else {\n          scanForImages();\n        }\n      });\n      editor.on('RawSaveContent', function (e) {\n        e.content = replaceBlobUris(e.content);\n      });\n      editor.on('getContent', function (e) {\n        if (e.source_view || e.format === 'raw') {\n          return;\n        }\n        e.content = replaceBlobUris(e.content);\n      });\n      editor.on('PostRender', function () {\n        editor.parser.addNodeFilter('img', function (images) {\n          each(images, function (img) {\n            var src = img.attr('src');\n            if (blobCache.getByUri(src)) {\n              return;\n            }\n            var resultUri = uploadStatus.getResultUri(src);\n            if (resultUri) {\n              img.attr('src', resultUri);\n            }\n          });\n        });\n      });\n      return {\n        blobCache: blobCache,\n        addFilter: addFilter,\n        uploadImages: uploadImages,\n        uploadImagesAuto: uploadImagesAuto,\n        scanForImages: scanForImages,\n        destroy: destroy\n      };\n    }\n\n    var isBlockElement = function (blockElements, node) {\n      return blockElements.hasOwnProperty(node.nodeName);\n    };\n    var isValidTarget = function (blockElements, node) {\n      if (NodeType.isText(node)) {\n        return true;\n      } else if (NodeType.isElement(node)) {\n        return !isBlockElement(blockElements, node) && !Bookmarks.isBookmarkNode(node);\n      } else {\n        return false;\n      }\n    };\n    var hasBlockParent = function (blockElements, root, node) {\n      return exists(Parents.parents(Element$$1.fromDom(node), Element$$1.fromDom(root)), function (elm) {\n        return isBlockElement(blockElements, elm.dom());\n      });\n    };\n    var shouldRemoveTextNode = function (blockElements, node) {\n      if (NodeType.isText(node)) {\n        if (node.nodeValue.length === 0) {\n          return true;\n        } else if (/^\\s+$/.test(node.nodeValue) && (!node.nextSibling || isBlockElement(blockElements, node.nextSibling))) {\n          return true;\n        }\n      }\n      return false;\n    };\n    var addRootBlocks = function (editor) {\n      var settings = editor.settings, dom = editor.dom, selection = editor.selection;\n      var schema = editor.schema, blockElements = schema.getBlockElements();\n      var node = selection.getStart();\n      var rootNode = editor.getBody();\n      var rng;\n      var startContainer, startOffset, endContainer, endOffset, rootBlockNode;\n      var tempNode, wrapped, restoreSelection;\n      var rootNodeName, forcedRootBlock;\n      forcedRootBlock = settings.forced_root_block;\n      if (!node || !NodeType.isElement(node) || !forcedRootBlock) {\n        return;\n      }\n      rootNodeName = rootNode.nodeName.toLowerCase();\n      if (!schema.isValidChild(rootNodeName, forcedRootBlock.toLowerCase()) || hasBlockParent(blockElements, rootNode, node)) {\n        return;\n      }\n      rng = selection.getRng();\n      startContainer = rng.startContainer;\n      startOffset = rng.startOffset;\n      endContainer = rng.endContainer;\n      endOffset = rng.endOffset;\n      restoreSelection = EditorFocus.hasFocus(editor);\n      node = rootNode.firstChild;\n      while (node) {\n        if (isValidTarget(blockElements, node)) {\n          if (shouldRemoveTextNode(blockElements, node)) {\n            tempNode = node;\n            node = node.nextSibling;\n            dom.remove(tempNode);\n            continue;\n          }\n          if (!rootBlockNode) {\n            rootBlockNode = dom.create(forcedRootBlock, editor.settings.forced_root_block_attrs);\n            node.parentNode.insertBefore(rootBlockNode, node);\n            wrapped = true;\n          }\n          tempNode = node;\n          node = node.nextSibling;\n          rootBlockNode.appendChild(tempNode);\n        } else {\n          rootBlockNode = null;\n          node = node.nextSibling;\n        }\n      }\n      if (wrapped && restoreSelection) {\n        rng.setStart(startContainer, startOffset);\n        rng.setEnd(endContainer, endOffset);\n        selection.setRng(rng);\n        editor.nodeChanged();\n      }\n    };\n    var setup$2 = function (editor) {\n      if (editor.settings.forced_root_block) {\n        editor.on('NodeChange', curry(addRootBlocks, editor));\n      }\n    };\n    var ForceBlocks = { setup: setup$2 };\n\n    var getStartNode = function (rng) {\n      var sc = rng.startContainer, so = rng.startOffset;\n      if (NodeType.isText(sc)) {\n        return so === 0 ? Option.some(Element$$1.fromDom(sc)) : Option.none();\n      } else {\n        return Option.from(sc.childNodes[so]).map(Element$$1.fromDom);\n      }\n    };\n    var getEndNode = function (rng) {\n      var ec = rng.endContainer, eo = rng.endOffset;\n      if (NodeType.isText(ec)) {\n        return eo === ec.data.length ? Option.some(Element$$1.fromDom(ec)) : Option.none();\n      } else {\n        return Option.from(ec.childNodes[eo - 1]).map(Element$$1.fromDom);\n      }\n    };\n    var getFirstChildren = function (node) {\n      return firstChild(node).fold(constant([node]), function (child$$1) {\n        return [node].concat(getFirstChildren(child$$1));\n      });\n    };\n    var getLastChildren$1 = function (node) {\n      return lastChild(node).fold(constant([node]), function (child$$1) {\n        if (name(child$$1) === 'br') {\n          return prevSibling(child$$1).map(function (sibling) {\n            return [node].concat(getLastChildren$1(sibling));\n          }).getOr([]);\n        } else {\n          return [node].concat(getLastChildren$1(child$$1));\n        }\n      });\n    };\n    var hasAllContentsSelected = function (elm, rng) {\n      return liftN([\n        getStartNode(rng),\n        getEndNode(rng)\n      ], function (startNode, endNode) {\n        var start = find(getFirstChildren(elm), curry(eq, startNode));\n        var end = find(getLastChildren$1(elm), curry(eq, endNode));\n        return start.isSome() && end.isSome();\n      }).getOr(false);\n    };\n    var moveEndPoint$1 = function (dom, rng, node, start) {\n      var root = node, walker = new TreeWalker(node, root);\n      var nonEmptyElementsMap = dom.schema.getNonEmptyElements();\n      do {\n        if (node.nodeType === 3 && Tools.trim(node.nodeValue).length !== 0) {\n          if (start) {\n            rng.setStart(node, 0);\n          } else {\n            rng.setEnd(node, node.nodeValue.length);\n          }\n          return;\n        }\n        if (nonEmptyElementsMap[node.nodeName] && !/^(TD|TH)$/.test(node.nodeName)) {\n          if (start) {\n            rng.setStartBefore(node);\n          } else {\n            if (node.nodeName === 'BR') {\n              rng.setEndBefore(node);\n            } else {\n              rng.setEndAfter(node);\n            }\n          }\n          return;\n        }\n        if (Env.ie && Env.ie < 11 && dom.isBlock(node) && dom.isEmpty(node)) {\n          if (start) {\n            rng.setStart(node, 0);\n          } else {\n            rng.setEnd(node, 0);\n          }\n          return;\n        }\n      } while (node = start ? walker.next() : walker.prev());\n      if (root.nodeName === 'BODY') {\n        if (start) {\n          rng.setStart(root, 0);\n        } else {\n          rng.setEnd(root, root.childNodes.length);\n        }\n      }\n    };\n    var hasAnyRanges = function (editor) {\n      var sel = editor.selection.getSel();\n      return sel && sel.rangeCount > 0;\n    };\n\n    function NodeChange (editor) {\n      var lastRng, lastPath = [];\n      var isSameElementPath = function (startElm) {\n        var i, currentPath;\n        currentPath = editor.$(startElm).parentsUntil(editor.getBody()).add(startElm);\n        if (currentPath.length === lastPath.length) {\n          for (i = currentPath.length; i >= 0; i--) {\n            if (currentPath[i] !== lastPath[i]) {\n              break;\n            }\n          }\n          if (i === -1) {\n            lastPath = currentPath;\n            return true;\n          }\n        }\n        lastPath = currentPath;\n        return false;\n      };\n      if (!('onselectionchange' in editor.getDoc())) {\n        editor.on('NodeChange Click MouseUp KeyUp Focus', function (e) {\n          var nativeRng, fakeRng;\n          nativeRng = editor.selection.getRng();\n          fakeRng = {\n            startContainer: nativeRng.startContainer,\n            startOffset: nativeRng.startOffset,\n            endContainer: nativeRng.endContainer,\n            endOffset: nativeRng.endOffset\n          };\n          if (e.type === 'nodechange' || !RangeCompare.isEq(fakeRng, lastRng)) {\n            editor.fire('SelectionChange');\n          }\n          lastRng = fakeRng;\n        });\n      }\n      editor.on('contextmenu', function () {\n        editor.fire('SelectionChange');\n      });\n      editor.on('SelectionChange', function () {\n        var startElm = editor.selection.getStart(true);\n        if (!startElm || !Env.range && editor.selection.isCollapsed()) {\n          return;\n        }\n        if (hasAnyRanges(editor) && !isSameElementPath(startElm) && editor.dom.isChildOf(startElm, editor.getBody())) {\n          editor.nodeChanged({ selectionChange: true });\n        }\n      });\n      editor.on('MouseUp', function (e) {\n        if (!e.isDefaultPrevented() && hasAnyRanges(editor)) {\n          if (editor.selection.getNode().nodeName === 'IMG') {\n            Delay.setEditorTimeout(editor, function () {\n              editor.nodeChanged();\n            });\n          } else {\n            editor.nodeChanged();\n          }\n        }\n      });\n      this.nodeChanged = function (args) {\n        var selection = editor.selection;\n        var node, parents, root;\n        if (editor.initialized && selection && !editor.settings.disable_nodechange && !editor.readonly) {\n          root = editor.getBody();\n          node = selection.getStart(true) || root;\n          if (node.ownerDocument !== editor.getDoc() || !editor.dom.isChildOf(node, root)) {\n            node = root;\n          }\n          parents = [];\n          editor.dom.getParent(node, function (node) {\n            if (node === root) {\n              return true;\n            }\n            parents.push(node);\n          });\n          args = args || {};\n          args.element = node;\n          args.parents = parents;\n          editor.fire('NodeChange', args);\n        }\n      };\n    }\n\n    var getAbsolutePosition = function (elm) {\n      var doc, docElem, win, clientRect;\n      clientRect = elm.getBoundingClientRect();\n      doc = elm.ownerDocument;\n      docElem = doc.documentElement;\n      win = doc.defaultView;\n      return {\n        top: clientRect.top + win.pageYOffset - docElem.clientTop,\n        left: clientRect.left + win.pageXOffset - docElem.clientLeft\n      };\n    };\n    var getBodyPosition = function (editor) {\n      return editor.inline ? getAbsolutePosition(editor.getBody()) : {\n        left: 0,\n        top: 0\n      };\n    };\n    var getScrollPosition = function (editor) {\n      var body = editor.getBody();\n      return editor.inline ? {\n        left: body.scrollLeft,\n        top: body.scrollTop\n      } : {\n        left: 0,\n        top: 0\n      };\n    };\n    var getBodyScroll = function (editor) {\n      var body = editor.getBody(), docElm = editor.getDoc().documentElement;\n      var inlineScroll = {\n        left: body.scrollLeft,\n        top: body.scrollTop\n      };\n      var iframeScroll = {\n        left: body.scrollLeft || docElm.scrollLeft,\n        top: body.scrollTop || docElm.scrollTop\n      };\n      return editor.inline ? inlineScroll : iframeScroll;\n    };\n    var getMousePosition = function (editor, event) {\n      if (event.target.ownerDocument !== editor.getDoc()) {\n        var iframePosition = getAbsolutePosition(editor.getContentAreaContainer());\n        var scrollPosition = getBodyScroll(editor);\n        return {\n          left: event.pageX - iframePosition.left + scrollPosition.left,\n          top: event.pageY - iframePosition.top + scrollPosition.top\n        };\n      }\n      return {\n        left: event.pageX,\n        top: event.pageY\n      };\n    };\n    var calculatePosition = function (bodyPosition, scrollPosition, mousePosition) {\n      return {\n        pageX: mousePosition.left - bodyPosition.left + scrollPosition.left,\n        pageY: mousePosition.top - bodyPosition.top + scrollPosition.top\n      };\n    };\n    var calc = function (editor, event) {\n      return calculatePosition(getBodyPosition(editor), getScrollPosition(editor), getMousePosition(editor, event));\n    };\n    var MousePosition = { calc: calc };\n\n    var isContentEditableFalse$6 = NodeType.isContentEditableFalse, isContentEditableTrue$3 = NodeType.isContentEditableTrue;\n    var isDraggable = function (rootElm, elm) {\n      return isContentEditableFalse$6(elm) && elm !== rootElm;\n    };\n    var isValidDropTarget = function (editor, targetElement, dragElement) {\n      if (targetElement === dragElement || editor.dom.isChildOf(targetElement, dragElement)) {\n        return false;\n      }\n      if (isContentEditableFalse$6(targetElement)) {\n        return false;\n      }\n      return true;\n    };\n    var cloneElement = function (elm) {\n      var cloneElm = elm.cloneNode(true);\n      cloneElm.removeAttribute('data-mce-selected');\n      return cloneElm;\n    };\n    var createGhost = function (editor, elm, width, height) {\n      var clonedElm = elm.cloneNode(true);\n      editor.dom.setStyles(clonedElm, {\n        width: width,\n        height: height\n      });\n      editor.dom.setAttrib(clonedElm, 'data-mce-selected', null);\n      var ghostElm = editor.dom.create('div', {\n        'class': 'mce-drag-container',\n        'data-mce-bogus': 'all',\n        'unselectable': 'on',\n        'contenteditable': 'false'\n      });\n      editor.dom.setStyles(ghostElm, {\n        position: 'absolute',\n        opacity: 0.5,\n        overflow: 'hidden',\n        border: 0,\n        padding: 0,\n        margin: 0,\n        width: width,\n        height: height\n      });\n      editor.dom.setStyles(clonedElm, {\n        margin: 0,\n        boxSizing: 'border-box'\n      });\n      ghostElm.appendChild(clonedElm);\n      return ghostElm;\n    };\n    var appendGhostToBody = function (ghostElm, bodyElm) {\n      if (ghostElm.parentNode !== bodyElm) {\n        bodyElm.appendChild(ghostElm);\n      }\n    };\n    var moveGhost = function (ghostElm, position, width, height, maxX, maxY) {\n      var overflowX = 0, overflowY = 0;\n      ghostElm.style.left = position.pageX + 'px';\n      ghostElm.style.top = position.pageY + 'px';\n      if (position.pageX + width > maxX) {\n        overflowX = position.pageX + width - maxX;\n      }\n      if (position.pageY + height > maxY) {\n        overflowY = position.pageY + height - maxY;\n      }\n      ghostElm.style.width = width - overflowX + 'px';\n      ghostElm.style.height = height - overflowY + 'px';\n    };\n    var removeElement = function (elm) {\n      if (elm && elm.parentNode) {\n        elm.parentNode.removeChild(elm);\n      }\n    };\n    var isLeftMouseButtonPressed = function (e) {\n      return e.button === 0;\n    };\n    var hasDraggableElement = function (state) {\n      return state.element;\n    };\n    var applyRelPos = function (state, position) {\n      return {\n        pageX: position.pageX - state.relX,\n        pageY: position.pageY + 5\n      };\n    };\n    var start$1 = function (state, editor) {\n      return function (e) {\n        if (isLeftMouseButtonPressed(e)) {\n          var ceElm = find(editor.dom.getParents(e.target), Predicate.or(isContentEditableFalse$6, isContentEditableTrue$3)).getOr(null);\n          if (isDraggable(editor.getBody(), ceElm)) {\n            var elmPos = editor.dom.getPos(ceElm);\n            var bodyElm = editor.getBody();\n            var docElm = editor.getDoc().documentElement;\n            state.element = ceElm;\n            state.screenX = e.screenX;\n            state.screenY = e.screenY;\n            state.maxX = (editor.inline ? bodyElm.scrollWidth : docElm.offsetWidth) - 2;\n            state.maxY = (editor.inline ? bodyElm.scrollHeight : docElm.offsetHeight) - 2;\n            state.relX = e.pageX - elmPos.x;\n            state.relY = e.pageY - elmPos.y;\n            state.width = ceElm.offsetWidth;\n            state.height = ceElm.offsetHeight;\n            state.ghost = createGhost(editor, ceElm, state.width, state.height);\n          }\n        }\n      };\n    };\n    var move$1 = function (state, editor) {\n      var throttledPlaceCaretAt = Delay.throttle(function (clientX, clientY) {\n        editor._selectionOverrides.hideFakeCaret();\n        editor.selection.placeCaretAt(clientX, clientY);\n      }, 0);\n      return function (e) {\n        var movement = Math.max(Math.abs(e.screenX - state.screenX), Math.abs(e.screenY - state.screenY));\n        if (hasDraggableElement(state) && !state.dragging && movement > 10) {\n          var args = editor.fire('dragstart', { target: state.element });\n          if (args.isDefaultPrevented()) {\n            return;\n          }\n          state.dragging = true;\n          editor.focus();\n        }\n        if (state.dragging) {\n          var targetPos = applyRelPos(state, MousePosition.calc(editor, e));\n          appendGhostToBody(state.ghost, editor.getBody());\n          moveGhost(state.ghost, targetPos, state.width, state.height, state.maxX, state.maxY);\n          throttledPlaceCaretAt(e.clientX, e.clientY);\n        }\n      };\n    };\n    var getRawTarget = function (selection) {\n      var rng = selection.getSel().getRangeAt(0);\n      var startContainer = rng.startContainer;\n      return startContainer.nodeType === 3 ? startContainer.parentNode : startContainer;\n    };\n    var drop = function (state, editor) {\n      return function (e) {\n        if (state.dragging) {\n          if (isValidDropTarget(editor, getRawTarget(editor.selection), state.element)) {\n            var targetClone_1 = cloneElement(state.element);\n            var args = editor.fire('drop', {\n              targetClone: targetClone_1,\n              clientX: e.clientX,\n              clientY: e.clientY\n            });\n            if (!args.isDefaultPrevented()) {\n              targetClone_1 = args.targetClone;\n              editor.undoManager.transact(function () {\n                removeElement(state.element);\n                editor.insertContent(editor.dom.getOuterHTML(targetClone_1));\n                editor._selectionOverrides.hideFakeCaret();\n              });\n            }\n          }\n        }\n        removeDragState(state);\n      };\n    };\n    var stop$$1 = function (state, editor) {\n      return function () {\n        if (state.dragging) {\n          editor.fire('dragend');\n        }\n        removeDragState(state);\n      };\n    };\n    var removeDragState = function (state) {\n      state.dragging = false;\n      state.element = null;\n      removeElement(state.ghost);\n    };\n    var bindFakeDragEvents = function (editor) {\n      var state = {};\n      var pageDom, dragStartHandler, dragHandler, dropHandler, dragEndHandler, rootDocument;\n      pageDom = DOMUtils$1.DOM;\n      rootDocument = document;\n      dragStartHandler = start$1(state, editor);\n      dragHandler = move$1(state, editor);\n      dropHandler = drop(state, editor);\n      dragEndHandler = stop$$1(state, editor);\n      editor.on('mousedown', dragStartHandler);\n      editor.on('mousemove', dragHandler);\n      editor.on('mouseup', dropHandler);\n      pageDom.bind(rootDocument, 'mousemove', dragHandler);\n      pageDom.bind(rootDocument, 'mouseup', dragEndHandler);\n      editor.on('remove', function () {\n        pageDom.unbind(rootDocument, 'mousemove', dragHandler);\n        pageDom.unbind(rootDocument, 'mouseup', dragEndHandler);\n      });\n    };\n    var blockIeDrop = function (editor) {\n      editor.on('drop', function (e) {\n        var realTarget = typeof e.clientX !== 'undefined' ? editor.getDoc().elementFromPoint(e.clientX, e.clientY) : null;\n        if (isContentEditableFalse$6(realTarget) || isContentEditableFalse$6(editor.dom.getContentEditableParent(realTarget))) {\n          e.preventDefault();\n        }\n      });\n    };\n    var init = function (editor) {\n      bindFakeDragEvents(editor);\n      blockIeDrop(editor);\n    };\n    var DragDropOverrides = { init: init };\n\n    var getNodeClientRects = function (node) {\n      var toArrayWithNode = function (clientRects) {\n        return map(clientRects, function (clientRect) {\n          clientRect = clone$2(clientRect);\n          clientRect.node = node;\n          return clientRect;\n        });\n      };\n      if (NodeType.isElement(node)) {\n        return toArrayWithNode(node.getClientRects());\n      }\n      if (NodeType.isText(node)) {\n        var rng = node.ownerDocument.createRange();\n        rng.setStart(node, 0);\n        rng.setEnd(node, node.data.length);\n        return toArrayWithNode(rng.getClientRects());\n      }\n    };\n    var getClientRects = function (node) {\n      return foldl(node, function (result, node) {\n        return result.concat(getNodeClientRects(node));\n      }, []);\n    };\n\n    var VDirection;\n    (function (VDirection) {\n      VDirection[VDirection['Up'] = -1] = 'Up';\n      VDirection[VDirection['Down'] = 1] = 'Down';\n    }(VDirection || (VDirection = {})));\n    var findUntil = function (direction, root, predicateFn, node) {\n      while (node = findNode(node, direction, isEditableCaretCandidate, root)) {\n        if (predicateFn(node)) {\n          return;\n        }\n      }\n    };\n    var walkUntil = function (direction, isAboveFn, isBeflowFn, root, predicateFn, caretPosition) {\n      var line = 0, node;\n      var result = [];\n      var targetClientRect;\n      var add = function (node) {\n        var i, clientRect, clientRects;\n        clientRects = getClientRects([node]);\n        if (direction === -1) {\n          clientRects = clientRects.reverse();\n        }\n        for (i = 0; i < clientRects.length; i++) {\n          clientRect = clientRects[i];\n          if (isBeflowFn(clientRect, targetClientRect)) {\n            continue;\n          }\n          if (result.length > 0 && isAboveFn(clientRect, ArrUtils.last(result))) {\n            line++;\n          }\n          clientRect.line = line;\n          if (predicateFn(clientRect)) {\n            return true;\n          }\n          result.push(clientRect);\n        }\n      };\n      targetClientRect = ArrUtils.last(caretPosition.getClientRects());\n      if (!targetClientRect) {\n        return result;\n      }\n      node = caretPosition.getNode();\n      add(node);\n      findUntil(direction, root, add, node);\n      return result;\n    };\n    var aboveLineNumber = function (lineNumber, clientRect) {\n      return clientRect.line > lineNumber;\n    };\n    var isLineNumber = function (lineNumber, clientRect) {\n      return clientRect.line === lineNumber;\n    };\n    var upUntil = curry(walkUntil, VDirection.Up, isAbove, isBelow);\n    var downUntil = curry(walkUntil, VDirection.Down, isBelow, isAbove);\n    var positionsUntil = function (direction, root, predicateFn, node) {\n      var caretWalker = CaretWalker(root);\n      var walkFn, isBelowFn, isAboveFn, caretPosition;\n      var result = [];\n      var line = 0, clientRect, targetClientRect;\n      var getClientRect = function (caretPosition) {\n        if (direction === 1) {\n          return ArrUtils.last(caretPosition.getClientRects());\n        }\n        return ArrUtils.last(caretPosition.getClientRects());\n      };\n      if (direction === 1) {\n        walkFn = caretWalker.next;\n        isBelowFn = isBelow;\n        isAboveFn = isAbove;\n        caretPosition = CaretPosition$1.after(node);\n      } else {\n        walkFn = caretWalker.prev;\n        isBelowFn = isAbove;\n        isAboveFn = isBelow;\n        caretPosition = CaretPosition$1.before(node);\n      }\n      targetClientRect = getClientRect(caretPosition);\n      do {\n        if (!caretPosition.isVisible()) {\n          continue;\n        }\n        clientRect = getClientRect(caretPosition);\n        if (isAboveFn(clientRect, targetClientRect)) {\n          continue;\n        }\n        if (result.length > 0 && isBelowFn(clientRect, ArrUtils.last(result))) {\n          line++;\n        }\n        clientRect = clone$2(clientRect);\n        clientRect.position = caretPosition;\n        clientRect.line = line;\n        if (predicateFn(clientRect)) {\n          return result;\n        }\n        result.push(clientRect);\n      } while (caretPosition = walkFn(caretPosition));\n      return result;\n    };\n    var isAboveLine = function (lineNumber) {\n      return function (clientRect) {\n        return aboveLineNumber(lineNumber, clientRect);\n      };\n    };\n    var isLine = function (lineNumber) {\n      return function (clientRect) {\n        return isLineNumber(lineNumber, clientRect);\n      };\n    };\n\n    var isContentEditableFalse$7 = NodeType.isContentEditableFalse;\n    var findNode$1 = findNode;\n    var distanceToRectLeft = function (clientRect, clientX) {\n      return Math.abs(clientRect.left - clientX);\n    };\n    var distanceToRectRight = function (clientRect, clientX) {\n      return Math.abs(clientRect.right - clientX);\n    };\n    var isInside = function (clientX, clientRect) {\n      return clientX >= clientRect.left && clientX <= clientRect.right;\n    };\n    var findClosestClientRect = function (clientRects, clientX) {\n      return ArrUtils.reduce(clientRects, function (oldClientRect, clientRect) {\n        var oldDistance, newDistance;\n        oldDistance = Math.min(distanceToRectLeft(oldClientRect, clientX), distanceToRectRight(oldClientRect, clientX));\n        newDistance = Math.min(distanceToRectLeft(clientRect, clientX), distanceToRectRight(clientRect, clientX));\n        if (isInside(clientX, clientRect)) {\n          return clientRect;\n        }\n        if (isInside(clientX, oldClientRect)) {\n          return oldClientRect;\n        }\n        if (newDistance === oldDistance && isContentEditableFalse$7(clientRect.node)) {\n          return clientRect;\n        }\n        if (newDistance < oldDistance) {\n          return clientRect;\n        }\n        return oldClientRect;\n      });\n    };\n    var walkUntil$1 = function (direction, root, predicateFn, node) {\n      while (node = findNode$1(node, direction, isEditableCaretCandidate, root)) {\n        if (predicateFn(node)) {\n          return;\n        }\n      }\n    };\n    var findLineNodeRects = function (root, targetNodeRect) {\n      var clientRects = [];\n      var collect = function (checkPosFn, node) {\n        var lineRects;\n        lineRects = filter(getClientRects([node]), function (clientRect) {\n          return !checkPosFn(clientRect, targetNodeRect);\n        });\n        clientRects = clientRects.concat(lineRects);\n        return lineRects.length === 0;\n      };\n      clientRects.push(targetNodeRect);\n      walkUntil$1(VDirection.Up, root, curry(collect, isAbove), targetNodeRect.node);\n      walkUntil$1(VDirection.Down, root, curry(collect, isBelow), targetNodeRect.node);\n      return clientRects;\n    };\n    var getFakeCaretTargets = function (root) {\n      return filter(from$1(root.getElementsByTagName('*')), isFakeCaretTarget);\n    };\n    var caretInfo = function (clientRect, clientX) {\n      return {\n        node: clientRect.node,\n        before: distanceToRectLeft(clientRect, clientX) < distanceToRectRight(clientRect, clientX)\n      };\n    };\n    var closestCaret = function (root, clientX, clientY) {\n      var closestNodeRect;\n      var contentEditableFalseNodeRects = getClientRects(getFakeCaretTargets(root));\n      var targetNodeRects = filter(contentEditableFalseNodeRects, function (rect) {\n        return clientY >= rect.top && clientY <= rect.bottom;\n      });\n      closestNodeRect = findClosestClientRect(targetNodeRects, clientX);\n      if (closestNodeRect) {\n        closestNodeRect = findClosestClientRect(findLineNodeRects(root, closestNodeRect), clientX);\n        if (closestNodeRect && isFakeCaretTarget(closestNodeRect.node)) {\n          return caretInfo(closestNodeRect, clientX);\n        }\n      }\n      return null;\n    };\n\n    var isXYWithinRange = function (clientX, clientY, range$$1) {\n      if (range$$1.collapsed) {\n        return false;\n      }\n      return foldl(range$$1.getClientRects(), function (state, rect) {\n        return state || containsXY(rect, clientX, clientY);\n      }, false);\n    };\n    var RangePoint = { isXYWithinRange: isXYWithinRange };\n\n    var isContentEditableTrue$4 = NodeType.isContentEditableTrue;\n    var isContentEditableFalse$8 = NodeType.isContentEditableFalse;\n    var showCaret = function (direction, editor, node, before, scrollIntoView) {\n      return editor._selectionOverrides.showCaret(direction, node, before, scrollIntoView);\n    };\n    var getNodeRange = function (node) {\n      var rng = node.ownerDocument.createRange();\n      rng.selectNode(node);\n      return rng;\n    };\n    var selectNode = function (editor, node) {\n      var e = editor.fire('BeforeObjectSelected', { target: node });\n      if (e.isDefaultPrevented()) {\n        return null;\n      }\n      return getNodeRange(node);\n    };\n    var renderCaretAtRange = function (editor, range, scrollIntoView) {\n      var normalizedRange = normalizeRange(1, editor.getBody(), range);\n      var caretPosition = CaretPosition$1.fromRangeStart(normalizedRange);\n      var caretPositionNode = caretPosition.getNode();\n      if (isContentEditableFalse$8(caretPositionNode)) {\n        return showCaret(1, editor, caretPositionNode, !caretPosition.isAtEnd(), false);\n      }\n      var caretPositionBeforeNode = caretPosition.getNode(true);\n      if (isContentEditableFalse$8(caretPositionBeforeNode)) {\n        return showCaret(1, editor, caretPositionBeforeNode, false, false);\n      }\n      var ceRoot = editor.dom.getParent(caretPosition.getNode(), function (node) {\n        return isContentEditableFalse$8(node) || isContentEditableTrue$4(node);\n      });\n      if (isContentEditableFalse$8(ceRoot)) {\n        return showCaret(1, editor, ceRoot, false, scrollIntoView);\n      }\n      return null;\n    };\n    var renderRangeCaret = function (editor, range, scrollIntoView) {\n      if (!range || !range.collapsed) {\n        return range;\n      }\n      var caretRange = renderCaretAtRange(editor, range, scrollIntoView);\n      if (caretRange) {\n        return caretRange;\n      }\n      return range;\n    };\n\n    var setup$3 = function (editor) {\n      var renderFocusCaret = first$1(function () {\n        if (!editor.removed) {\n          var rng = editor.selection.getRng();\n          if (rng.collapsed) {\n            var caretRange = renderRangeCaret(editor, editor.selection.getRng(), false);\n            editor.selection.setRng(caretRange);\n          }\n        }\n      }, 0);\n      editor.on('focus', function () {\n        renderFocusCaret.throttle();\n      });\n      editor.on('blur', function () {\n        renderFocusCaret.cancel();\n      });\n    };\n    var CefFocus = { setup: setup$3 };\n\n    var VK = {\n      BACKSPACE: 8,\n      DELETE: 46,\n      DOWN: 40,\n      ENTER: 13,\n      LEFT: 37,\n      RIGHT: 39,\n      SPACEBAR: 32,\n      TAB: 9,\n      UP: 38,\n      modifierPressed: function (e) {\n        return e.shiftKey || e.ctrlKey || e.altKey || this.metaKeyPressed(e);\n      },\n      metaKeyPressed: function (e) {\n        return Env.mac ? e.metaKey : e.ctrlKey && !e.altKey;\n      }\n    };\n\n    var isContentEditableTrue$5 = NodeType.isContentEditableTrue;\n    var isContentEditableFalse$9 = NodeType.isContentEditableFalse;\n    var isAfterContentEditableFalse$1 = isAfterContentEditableFalse;\n    var isBeforeContentEditableFalse$1 = isBeforeContentEditableFalse;\n    var getContentEditableRoot$1 = function (editor, node) {\n      var root = editor.getBody();\n      while (node && node !== root) {\n        if (isContentEditableTrue$5(node) || isContentEditableFalse$9(node)) {\n          return node;\n        }\n        node = node.parentNode;\n      }\n      return null;\n    };\n    var SelectionOverrides = function (editor) {\n      var isBlock = function (node) {\n        return editor.dom.isBlock(node);\n      };\n      var rootNode = editor.getBody();\n      var fakeCaret = FakeCaret(editor.getBody(), isBlock, function () {\n        return EditorFocus.hasFocus(editor);\n      });\n      var realSelectionId = 'sel-' + editor.dom.uniqueId();\n      var selectedContentEditableNode;\n      var isFakeSelectionElement = function (elm) {\n        return editor.dom.hasClass(elm, 'mce-offscreen-selection');\n      };\n      var getRealSelectionElement = function () {\n        var container = editor.dom.get(realSelectionId);\n        return container ? container.getElementsByTagName('*')[0] : container;\n      };\n      var setRange = function (range$$1) {\n        if (range$$1) {\n          editor.selection.setRng(range$$1);\n        }\n      };\n      var getRange = function () {\n        return editor.selection.getRng();\n      };\n      var showCaret$$1 = function (direction, node, before, scrollIntoView) {\n        if (scrollIntoView === void 0) {\n          scrollIntoView = true;\n        }\n        var e;\n        e = editor.fire('ShowCaret', {\n          target: node,\n          direction: direction,\n          before: before\n        });\n        if (e.isDefaultPrevented()) {\n          return null;\n        }\n        if (scrollIntoView) {\n          editor.selection.scrollIntoView(node, direction === -1);\n        }\n        return fakeCaret.show(before, node);\n      };\n      var getNormalizedRangeEndPoint$$1 = function (direction, range$$1) {\n        range$$1 = normalizeRange(direction, rootNode, range$$1);\n        if (direction === -1) {\n          return CaretPosition$1.fromRangeStart(range$$1);\n        }\n        return CaretPosition$1.fromRangeEnd(range$$1);\n      };\n      var showBlockCaretContainer = function (blockCaretContainer) {\n        if (blockCaretContainer.hasAttribute('data-mce-caret')) {\n          showCaretContainerBlock(blockCaretContainer);\n          setRange(getRange());\n          editor.selection.scrollIntoView(blockCaretContainer[0]);\n        }\n      };\n      var registerEvents = function () {\n        editor.on('mouseup', function (e) {\n          var range$$1 = getRange();\n          if (range$$1.collapsed && EditorView.isXYInContentArea(editor, e.clientX, e.clientY)) {\n            setRange(renderCaretAtRange(editor, range$$1, false));\n          }\n        });\n        editor.on('click', function (e) {\n          var contentEditableRoot;\n          contentEditableRoot = getContentEditableRoot$1(editor, e.target);\n          if (contentEditableRoot) {\n            if (isContentEditableFalse$9(contentEditableRoot)) {\n              e.preventDefault();\n              editor.focus();\n            }\n            if (isContentEditableTrue$5(contentEditableRoot)) {\n              if (editor.dom.isChildOf(contentEditableRoot, editor.selection.getNode())) {\n                removeContentEditableSelection();\n              }\n            }\n          }\n        });\n        editor.on('blur NewBlock', function () {\n          removeContentEditableSelection();\n        });\n        editor.on('ResizeWindow FullscreenStateChanged', function () {\n          return fakeCaret.reposition();\n        });\n        var handleTouchSelect = function (editor) {\n          var moved = false;\n          editor.on('touchstart', function () {\n            moved = false;\n          });\n          editor.on('touchmove', function () {\n            moved = true;\n          });\n          editor.on('touchend', function (e) {\n            var contentEditableRoot = getContentEditableRoot$1(editor, e.target);\n            if (isContentEditableFalse$9(contentEditableRoot)) {\n              if (!moved) {\n                e.preventDefault();\n                setContentEditableSelection(selectNode(editor, contentEditableRoot));\n              }\n            }\n          });\n        };\n        var hasNormalCaretPosition = function (elm) {\n          var caretWalker = CaretWalker(elm);\n          if (!elm.firstChild) {\n            return false;\n          }\n          var startPos = CaretPosition$1.before(elm.firstChild);\n          var newPos = caretWalker.next(startPos);\n          return newPos && !isBeforeContentEditableFalse$1(newPos) && !isAfterContentEditableFalse$1(newPos);\n        };\n        var isInSameBlock$$1 = function (node1, node2) {\n          var block1 = editor.dom.getParent(node1, editor.dom.isBlock);\n          var block2 = editor.dom.getParent(node2, editor.dom.isBlock);\n          return block1 === block2;\n        };\n        var hasBetterMouseTarget = function (targetNode, caretNode) {\n          var targetBlock = editor.dom.getParent(targetNode, editor.dom.isBlock);\n          var caretBlock = editor.dom.getParent(caretNode, editor.dom.isBlock);\n          if (targetBlock && editor.dom.isChildOf(targetBlock, caretBlock) && isContentEditableFalse$9(getContentEditableRoot$1(editor, targetBlock)) === false) {\n            return true;\n          }\n          return targetBlock && !isInSameBlock$$1(targetBlock, caretBlock) && hasNormalCaretPosition(targetBlock);\n        };\n        handleTouchSelect(editor);\n        editor.on('mousedown', function (e) {\n          var contentEditableRoot;\n          var targetElm = e.target;\n          if (targetElm !== rootNode && targetElm.nodeName !== 'HTML' && !editor.dom.isChildOf(targetElm, rootNode)) {\n            return;\n          }\n          if (EditorView.isXYInContentArea(editor, e.clientX, e.clientY) === false) {\n            return;\n          }\n          contentEditableRoot = getContentEditableRoot$1(editor, targetElm);\n          if (contentEditableRoot) {\n            if (isContentEditableFalse$9(contentEditableRoot)) {\n              e.preventDefault();\n              setContentEditableSelection(selectNode(editor, contentEditableRoot));\n            } else {\n              removeContentEditableSelection();\n              if (!(isContentEditableTrue$5(contentEditableRoot) && e.shiftKey) && !RangePoint.isXYWithinRange(e.clientX, e.clientY, editor.selection.getRng())) {\n                hideFakeCaret();\n                editor.selection.placeCaretAt(e.clientX, e.clientY);\n              }\n            }\n          } else if (isFakeCaretTarget(targetElm) === false) {\n            removeContentEditableSelection();\n            hideFakeCaret();\n            var caretInfo = closestCaret(rootNode, e.clientX, e.clientY);\n            if (caretInfo) {\n              if (!hasBetterMouseTarget(e.target, caretInfo.node)) {\n                e.preventDefault();\n                var range$$1 = showCaret$$1(1, caretInfo.node, caretInfo.before, false);\n                editor.getBody().focus();\n                setRange(range$$1);\n              }\n            }\n          }\n        });\n        editor.on('keypress', function (e) {\n          if (VK.modifierPressed(e)) {\n            return;\n          }\n          switch (e.keyCode) {\n          default:\n            if (isContentEditableFalse$9(editor.selection.getNode())) {\n              e.preventDefault();\n            }\n            break;\n          }\n        });\n        editor.on('getSelectionRange', function (e) {\n          var rng = e.range;\n          if (selectedContentEditableNode) {\n            if (!selectedContentEditableNode.parentNode) {\n              selectedContentEditableNode = null;\n              return;\n            }\n            rng = rng.cloneRange();\n            rng.selectNode(selectedContentEditableNode);\n            e.range = rng;\n          }\n        });\n        editor.on('setSelectionRange', function (e) {\n          var rng;\n          rng = setContentEditableSelection(e.range, e.forward);\n          if (rng) {\n            e.range = rng;\n          }\n        });\n        var isPasteBin = function (node) {\n          return node.id === 'mcepastebin';\n        };\n        editor.on('AfterSetSelectionRange', function (e) {\n          var rng = e.range;\n          if (!isRangeInCaretContainer(rng) && !isPasteBin(rng.startContainer.parentNode)) {\n            hideFakeCaret();\n          }\n          if (!isFakeSelectionElement(rng.startContainer.parentNode)) {\n            removeContentEditableSelection();\n          }\n        });\n        editor.on('copy', function (e) {\n          var clipboardData = e.clipboardData;\n          if (!e.isDefaultPrevented() && e.clipboardData && !Env.ie) {\n            var realSelectionElement = getRealSelectionElement();\n            if (realSelectionElement) {\n              e.preventDefault();\n              clipboardData.clearData();\n              clipboardData.setData('text/html', realSelectionElement.outerHTML);\n              clipboardData.setData('text/plain', realSelectionElement.outerText);\n            }\n          }\n        });\n        DragDropOverrides.init(editor);\n        CefFocus.setup(editor);\n      };\n      var addCss = function () {\n        var styles = editor.contentStyles, rootClass = '.mce-content-body';\n        styles.push(fakeCaret.getCss());\n        styles.push(rootClass + ' .mce-offscreen-selection {' + 'position: absolute;' + 'left: -9999999999px;' + 'max-width: 1000000px;' + '}' + rootClass + ' *[contentEditable=false] {' + 'cursor: default;' + '}' + rootClass + ' *[contentEditable=true] {' + 'cursor: text;' + '}');\n      };\n      var isWithinCaretContainer = function (node) {\n        return isCaretContainer(node) || startsWithCaretContainer(node) || endsWithCaretContainer(node);\n      };\n      var isRangeInCaretContainer = function (rng) {\n        return isWithinCaretContainer(rng.startContainer) || isWithinCaretContainer(rng.endContainer);\n      };\n      var setContentEditableSelection = function (range$$1, forward) {\n        var node;\n        var $ = editor.$;\n        var dom = editor.dom;\n        var $realSelectionContainer, sel, startContainer, startOffset, endOffset, e, caretPosition, targetClone, origTargetClone;\n        if (!range$$1) {\n          return null;\n        }\n        if (range$$1.collapsed) {\n          if (!isRangeInCaretContainer(range$$1)) {\n            if (forward === false) {\n              caretPosition = getNormalizedRangeEndPoint$$1(-1, range$$1);\n              if (isFakeCaretTarget(caretPosition.getNode(true))) {\n                return showCaret$$1(-1, caretPosition.getNode(true), false, false);\n              }\n              if (isFakeCaretTarget(caretPosition.getNode())) {\n                return showCaret$$1(-1, caretPosition.getNode(), !caretPosition.isAtEnd(), false);\n              }\n            } else {\n              caretPosition = getNormalizedRangeEndPoint$$1(1, range$$1);\n              if (isFakeCaretTarget(caretPosition.getNode())) {\n                return showCaret$$1(1, caretPosition.getNode(), !caretPosition.isAtEnd(), false);\n              }\n              if (isFakeCaretTarget(caretPosition.getNode(true))) {\n                return showCaret$$1(1, caretPosition.getNode(true), false, false);\n              }\n            }\n          }\n          return null;\n        }\n        startContainer = range$$1.startContainer;\n        startOffset = range$$1.startOffset;\n        endOffset = range$$1.endOffset;\n        if (startContainer.nodeType === 3 && startOffset === 0 && isContentEditableFalse$9(startContainer.parentNode)) {\n          startContainer = startContainer.parentNode;\n          startOffset = dom.nodeIndex(startContainer);\n          startContainer = startContainer.parentNode;\n        }\n        if (startContainer.nodeType !== 1) {\n          return null;\n        }\n        if (endOffset === startOffset + 1) {\n          node = startContainer.childNodes[startOffset];\n        }\n        if (!isContentEditableFalse$9(node)) {\n          return null;\n        }\n        targetClone = origTargetClone = node.cloneNode(true);\n        e = editor.fire('ObjectSelected', {\n          target: node,\n          targetClone: targetClone\n        });\n        if (e.isDefaultPrevented()) {\n          return null;\n        }\n        $realSelectionContainer = descendant$1(Element$$1.fromDom(editor.getBody()), '#' + realSelectionId).fold(function () {\n          return $([]);\n        }, function (elm) {\n          return $([elm.dom()]);\n        });\n        targetClone = e.targetClone;\n        if ($realSelectionContainer.length === 0) {\n          $realSelectionContainer = $('<div data-mce-bogus=\"all\" class=\"mce-offscreen-selection\"></div>').attr('id', realSelectionId);\n          $realSelectionContainer.appendTo(editor.getBody());\n        }\n        range$$1 = editor.dom.createRng();\n        if (targetClone === origTargetClone && Env.ie) {\n          $realSelectionContainer.empty().append('<p style=\"font-size: 0\" data-mce-bogus=\"all\">\\xA0</p>').append(targetClone);\n          range$$1.setStartAfter($realSelectionContainer[0].firstChild.firstChild);\n          range$$1.setEndAfter(targetClone);\n        } else {\n          $realSelectionContainer.empty().append('\\xA0').append(targetClone).append('\\xA0');\n          range$$1.setStart($realSelectionContainer[0].firstChild, 1);\n          range$$1.setEnd($realSelectionContainer[0].lastChild, 0);\n        }\n        $realSelectionContainer.css({ top: dom.getPos(node, editor.getBody()).y });\n        $realSelectionContainer[0].focus();\n        sel = editor.selection.getSel();\n        sel.removeAllRanges();\n        sel.addRange(range$$1);\n        each(descendants$1(Element$$1.fromDom(editor.getBody()), '*[data-mce-selected]'), function (elm) {\n          remove(elm, 'data-mce-selected');\n        });\n        node.setAttribute('data-mce-selected', '1');\n        selectedContentEditableNode = node;\n        hideFakeCaret();\n        return range$$1;\n      };\n      var removeContentEditableSelection = function () {\n        if (selectedContentEditableNode) {\n          selectedContentEditableNode.removeAttribute('data-mce-selected');\n          descendant$1(Element$$1.fromDom(editor.getBody()), '#' + realSelectionId).each(remove$2);\n          selectedContentEditableNode = null;\n        }\n        descendant$1(Element$$1.fromDom(editor.getBody()), '#' + realSelectionId).each(remove$2);\n        selectedContentEditableNode = null;\n      };\n      var destroy = function () {\n        fakeCaret.destroy();\n        selectedContentEditableNode = null;\n      };\n      var hideFakeCaret = function () {\n        fakeCaret.hide();\n      };\n      if (Env.ceFalse) {\n        registerEvents();\n        addCss();\n      }\n      return {\n        showCaret: showCaret$$1,\n        showBlockCaretContainer: showBlockCaretContainer,\n        hideFakeCaret: hideFakeCaret,\n        destroy: destroy\n      };\n    };\n\n    var isValidPrefixAttrName = function (name) {\n      return name.indexOf('data-') === 0 || name.indexOf('aria-') === 0;\n    };\n    var trimComments = function (text) {\n      return text.replace(/<!--|-->/g, '');\n    };\n    var isInvalidUri = function (settings, uri) {\n      if (settings.allow_html_data_urls) {\n        return false;\n      } else if (/^data:image\\//i.test(uri)) {\n        return settings.allow_svg_data_urls === false && /^data:image\\/svg\\+xml/i.test(uri);\n      } else {\n        return /^data:/i.test(uri);\n      }\n    };\n    var findEndTagIndex = function (schema, html, startIndex) {\n      var count = 1, index, matches, tokenRegExp, shortEndedElements;\n      shortEndedElements = schema.getShortEndedElements();\n      tokenRegExp = /<([!?\\/])?([A-Za-z0-9\\-_\\:\\.]+)((?:\\s+[^\"\\'>]+(?:(?:\"[^\"]*\")|(?:\\'[^\\']*\\')|[^>]*))*|\\/|\\s+)>/g;\n      tokenRegExp.lastIndex = index = startIndex;\n      while (matches = tokenRegExp.exec(html)) {\n        index = tokenRegExp.lastIndex;\n        if (matches[1] === '/') {\n          count--;\n        } else if (!matches[1]) {\n          if (matches[2] in shortEndedElements) {\n            continue;\n          }\n          count++;\n        }\n        if (count === 0) {\n          break;\n        }\n      }\n      return index;\n    };\n    function SaxParser(settings, schema) {\n      if (schema === void 0) {\n        schema = Schema();\n      }\n      var noop = function () {\n      };\n      settings = settings || {};\n      if (settings.fix_self_closing !== false) {\n        settings.fix_self_closing = true;\n      }\n      var comment = settings.comment ? settings.comment : noop;\n      var cdata = settings.cdata ? settings.cdata : noop;\n      var text = settings.text ? settings.text : noop;\n      var start = settings.start ? settings.start : noop;\n      var end = settings.end ? settings.end : noop;\n      var pi = settings.pi ? settings.pi : noop;\n      var doctype = settings.doctype ? settings.doctype : noop;\n      var parse = function (html) {\n        var matches, index = 0, value, endRegExp;\n        var stack = [];\n        var attrList, i, textData, name;\n        var isInternalElement, removeInternalElements, shortEndedElements, fillAttrsMap, isShortEnded;\n        var validate, elementRule, isValidElement, attr, attribsValue, validAttributesMap, validAttributePatterns;\n        var attributesRequired, attributesDefault, attributesForced, processHtml;\n        var anyAttributesRequired, selfClosing, tokenRegExp, attrRegExp, specialElements, attrValue, idCount = 0;\n        var decode = Entities.decode;\n        var fixSelfClosing;\n        var filteredUrlAttrs = Tools.makeMap('src,href,data,background,formaction,poster,xlink:href');\n        var scriptUriRegExp = /((java|vb)script|mhtml):/i;\n        var processEndTag = function (name) {\n          var pos, i;\n          pos = stack.length;\n          while (pos--) {\n            if (stack[pos].name === name) {\n              break;\n            }\n          }\n          if (pos >= 0) {\n            for (i = stack.length - 1; i >= pos; i--) {\n              name = stack[i];\n              if (name.valid) {\n                end(name.name);\n              }\n            }\n            stack.length = pos;\n          }\n        };\n        var parseAttribute = function (match, name, value, val2, val3) {\n          var attrRule, i;\n          var trimRegExp = /[\\s\\u0000-\\u001F]+/g;\n          name = name.toLowerCase();\n          value = name in fillAttrsMap ? name : decode(value || val2 || val3 || '');\n          if (validate && !isInternalElement && isValidPrefixAttrName(name) === false) {\n            attrRule = validAttributesMap[name];\n            if (!attrRule && validAttributePatterns) {\n              i = validAttributePatterns.length;\n              while (i--) {\n                attrRule = validAttributePatterns[i];\n                if (attrRule.pattern.test(name)) {\n                  break;\n                }\n              }\n              if (i === -1) {\n                attrRule = null;\n              }\n            }\n            if (!attrRule) {\n              return;\n            }\n            if (attrRule.validValues && !(value in attrRule.validValues)) {\n              return;\n            }\n          }\n          if (filteredUrlAttrs[name] && !settings.allow_script_urls) {\n            var uri = value.replace(trimRegExp, '');\n            try {\n              uri = decodeURIComponent(uri);\n            } catch (ex) {\n              uri = unescape(uri);\n            }\n            if (scriptUriRegExp.test(uri)) {\n              return;\n            }\n            if (isInvalidUri(settings, uri)) {\n              return;\n            }\n          }\n          if (isInternalElement && (name in filteredUrlAttrs || name.indexOf('on') === 0)) {\n            return;\n          }\n          attrList.map[name] = value;\n          attrList.push({\n            name: name,\n            value: value\n          });\n        };\n        tokenRegExp = new RegExp('<(?:' + '(?:!--([\\\\w\\\\W]*?)-->)|' + '(?:!\\\\[CDATA\\\\[([\\\\w\\\\W]*?)\\\\]\\\\]>)|' + '(?:!DOCTYPE([\\\\w\\\\W]*?)>)|' + '(?:\\\\?([^\\\\s\\\\/<>]+) ?([\\\\w\\\\W]*?)[?/]>)|' + '(?:\\\\/([A-Za-z][A-Za-z0-9\\\\-_\\\\:\\\\.]*)>)|' + '(?:([A-Za-z][A-Za-z0-9\\\\-_\\\\:\\\\.]*)((?:\\\\s+[^\"\\'>]+(?:(?:\"[^\"]*\")|(?:\\'[^\\']*\\')|[^>]*))*|\\\\/|\\\\s+)>)' + ')', 'g');\n        attrRegExp = /([\\w:\\-]+)(?:\\s*=\\s*(?:(?:\\\"((?:[^\\\"])*)\\\")|(?:\\'((?:[^\\'])*)\\')|([^>\\s]+)))?/g;\n        shortEndedElements = schema.getShortEndedElements();\n        selfClosing = settings.self_closing_elements || schema.getSelfClosingElements();\n        fillAttrsMap = schema.getBoolAttrs();\n        validate = settings.validate;\n        removeInternalElements = settings.remove_internals;\n        fixSelfClosing = settings.fix_self_closing;\n        specialElements = schema.getSpecialElements();\n        processHtml = html + '>';\n        while (matches = tokenRegExp.exec(processHtml)) {\n          if (index < matches.index) {\n            text(decode(html.substr(index, matches.index - index)));\n          }\n          if (value = matches[6]) {\n            value = value.toLowerCase();\n            if (value.charAt(0) === ':') {\n              value = value.substr(1);\n            }\n            processEndTag(value);\n          } else if (value = matches[7]) {\n            if (matches.index + matches[0].length > html.length) {\n              text(decode(html.substr(matches.index)));\n              index = matches.index + matches[0].length;\n              continue;\n            }\n            value = value.toLowerCase();\n            if (value.charAt(0) === ':') {\n              value = value.substr(1);\n            }\n            isShortEnded = value in shortEndedElements;\n            if (fixSelfClosing && selfClosing[value] && stack.length > 0 && stack[stack.length - 1].name === value) {\n              processEndTag(value);\n            }\n            if (!validate || (elementRule = schema.getElementRule(value))) {\n              isValidElement = true;\n              if (validate) {\n                validAttributesMap = elementRule.attributes;\n                validAttributePatterns = elementRule.attributePatterns;\n              }\n              if (attribsValue = matches[8]) {\n                isInternalElement = attribsValue.indexOf('data-mce-type') !== -1;\n                if (isInternalElement && removeInternalElements) {\n                  isValidElement = false;\n                }\n                attrList = [];\n                attrList.map = {};\n                attribsValue.replace(attrRegExp, parseAttribute);\n              } else {\n                attrList = [];\n                attrList.map = {};\n              }\n              if (validate && !isInternalElement) {\n                attributesRequired = elementRule.attributesRequired;\n                attributesDefault = elementRule.attributesDefault;\n                attributesForced = elementRule.attributesForced;\n                anyAttributesRequired = elementRule.removeEmptyAttrs;\n                if (anyAttributesRequired && !attrList.length) {\n                  isValidElement = false;\n                }\n                if (attributesForced) {\n                  i = attributesForced.length;\n                  while (i--) {\n                    attr = attributesForced[i];\n                    name = attr.name;\n                    attrValue = attr.value;\n                    if (attrValue === '{$uid}') {\n                      attrValue = 'mce_' + idCount++;\n                    }\n                    attrList.map[name] = attrValue;\n                    attrList.push({\n                      name: name,\n                      value: attrValue\n                    });\n                  }\n                }\n                if (attributesDefault) {\n                  i = attributesDefault.length;\n                  while (i--) {\n                    attr = attributesDefault[i];\n                    name = attr.name;\n                    if (!(name in attrList.map)) {\n                      attrValue = attr.value;\n                      if (attrValue === '{$uid}') {\n                        attrValue = 'mce_' + idCount++;\n                      }\n                      attrList.map[name] = attrValue;\n                      attrList.push({\n                        name: name,\n                        value: attrValue\n                      });\n                    }\n                  }\n                }\n                if (attributesRequired) {\n                  i = attributesRequired.length;\n                  while (i--) {\n                    if (attributesRequired[i] in attrList.map) {\n                      break;\n                    }\n                  }\n                  if (i === -1) {\n                    isValidElement = false;\n                  }\n                }\n                if (attr = attrList.map['data-mce-bogus']) {\n                  if (attr === 'all') {\n                    index = findEndTagIndex(schema, html, tokenRegExp.lastIndex);\n                    tokenRegExp.lastIndex = index;\n                    continue;\n                  }\n                  isValidElement = false;\n                }\n              }\n              if (isValidElement) {\n                start(value, attrList, isShortEnded);\n              }\n            } else {\n              isValidElement = false;\n            }\n            if (endRegExp = specialElements[value]) {\n              endRegExp.lastIndex = index = matches.index + matches[0].length;\n              if (matches = endRegExp.exec(html)) {\n                if (isValidElement) {\n                  textData = html.substr(index, matches.index - index);\n                }\n                index = matches.index + matches[0].length;\n              } else {\n                textData = html.substr(index);\n                index = html.length;\n              }\n              if (isValidElement) {\n                if (textData.length > 0) {\n                  text(textData, true);\n                }\n                end(value);\n              }\n              tokenRegExp.lastIndex = index;\n              continue;\n            }\n            if (!isShortEnded) {\n              if (!attribsValue || attribsValue.indexOf('/') !== attribsValue.length - 1) {\n                stack.push({\n                  name: value,\n                  valid: isValidElement\n                });\n              } else if (isValidElement) {\n                end(value);\n              }\n            }\n          } else if (value = matches[1]) {\n            if (value.charAt(0) === '>') {\n              value = ' ' + value;\n            }\n            if (!settings.allow_conditional_comments && value.substr(0, 3).toLowerCase() === '[if') {\n              value = ' ' + value;\n            }\n            comment(value);\n          } else if (value = matches[2]) {\n            cdata(trimComments(value));\n          } else if (value = matches[3]) {\n            doctype(value);\n          } else if (value = matches[4]) {\n            pi(value, matches[5]);\n          }\n          index = matches.index + matches[0].length;\n        }\n        if (index < html.length) {\n          text(decode(html.substr(index)));\n        }\n        for (i = stack.length - 1; i >= 0; i--) {\n          value = stack[i];\n          if (value.valid) {\n            end(value.name);\n          }\n        }\n      };\n      return { parse: parse };\n    }\n    (function (SaxParser) {\n      SaxParser.findEndTag = findEndTagIndex;\n    }(SaxParser || (SaxParser = {})));\n    var SaxParser$1 = SaxParser;\n\n    var trimHtml = function (tempAttrs, html) {\n      var trimContentRegExp = new RegExp(['\\\\s?(' + tempAttrs.join('|') + ')=\"[^\"]+\"'].join('|'), 'gi');\n      return html.replace(trimContentRegExp, '');\n    };\n    var trimInternal = function (serializer, html) {\n      var content = html;\n      var bogusAllRegExp = /<(\\w+) [^>]*data-mce-bogus=\"all\"[^>]*>/g;\n      var endTagIndex, index, matchLength, matches, shortEndedElements;\n      var schema = serializer.schema;\n      content = trimHtml(serializer.getTempAttrs(), content);\n      shortEndedElements = schema.getShortEndedElements();\n      while (matches = bogusAllRegExp.exec(content)) {\n        index = bogusAllRegExp.lastIndex;\n        matchLength = matches[0].length;\n        if (shortEndedElements[matches[1]]) {\n          endTagIndex = index;\n        } else {\n          endTagIndex = SaxParser$1.findEndTag(schema, content, index);\n        }\n        content = content.substring(0, index - matchLength) + content.substring(endTagIndex);\n        bogusAllRegExp.lastIndex = index - matchLength;\n      }\n      return Zwsp.trim(content);\n    };\n    var trimExternal = trimInternal;\n    var TrimHtml = {\n      trimExternal: trimExternal,\n      trimInternal: trimInternal\n    };\n\n    var KEEP = 0, INSERT = 1, DELETE = 2;\n    var diff = function (left, right) {\n      var size = left.length + right.length + 2;\n      var vDown = new Array(size);\n      var vUp = new Array(size);\n      var snake = function (start, end, diag) {\n        return {\n          start: start,\n          end: end,\n          diag: diag\n        };\n      };\n      var buildScript = function (start1, end1, start2, end2, script) {\n        var middle = getMiddleSnake(start1, end1, start2, end2);\n        if (middle === null || middle.start === end1 && middle.diag === end1 - end2 || middle.end === start1 && middle.diag === start1 - start2) {\n          var i = start1;\n          var j = start2;\n          while (i < end1 || j < end2) {\n            if (i < end1 && j < end2 && left[i] === right[j]) {\n              script.push([\n                KEEP,\n                left[i]\n              ]);\n              ++i;\n              ++j;\n            } else {\n              if (end1 - start1 > end2 - start2) {\n                script.push([\n                  DELETE,\n                  left[i]\n                ]);\n                ++i;\n              } else {\n                script.push([\n                  INSERT,\n                  right[j]\n                ]);\n                ++j;\n              }\n            }\n          }\n        } else {\n          buildScript(start1, middle.start, start2, middle.start - middle.diag, script);\n          for (var i2 = middle.start; i2 < middle.end; ++i2) {\n            script.push([\n              KEEP,\n              left[i2]\n            ]);\n          }\n          buildScript(middle.end, end1, middle.end - middle.diag, end2, script);\n        }\n      };\n      var buildSnake = function (start, diag, end1, end2) {\n        var end = start;\n        while (end - diag < end2 && end < end1 && left[end] === right[end - diag]) {\n          ++end;\n        }\n        return snake(start, end, diag);\n      };\n      var getMiddleSnake = function (start1, end1, start2, end2) {\n        var m = end1 - start1;\n        var n = end2 - start2;\n        if (m === 0 || n === 0) {\n          return null;\n        }\n        var delta = m - n;\n        var sum = n + m;\n        var offset = (sum % 2 === 0 ? sum : sum + 1) / 2;\n        vDown[1 + offset] = start1;\n        vUp[1 + offset] = end1 + 1;\n        var d, k, i, x, y;\n        for (d = 0; d <= offset; ++d) {\n          for (k = -d; k <= d; k += 2) {\n            i = k + offset;\n            if (k === -d || k !== d && vDown[i - 1] < vDown[i + 1]) {\n              vDown[i] = vDown[i + 1];\n            } else {\n              vDown[i] = vDown[i - 1] + 1;\n            }\n            x = vDown[i];\n            y = x - start1 + start2 - k;\n            while (x < end1 && y < end2 && left[x] === right[y]) {\n              vDown[i] = ++x;\n              ++y;\n            }\n            if (delta % 2 !== 0 && delta - d <= k && k <= delta + d) {\n              if (vUp[i - delta] <= vDown[i]) {\n                return buildSnake(vUp[i - delta], k + start1 - start2, end1, end2);\n              }\n            }\n          }\n          for (k = delta - d; k <= delta + d; k += 2) {\n            i = k + offset - delta;\n            if (k === delta - d || k !== delta + d && vUp[i + 1] <= vUp[i - 1]) {\n              vUp[i] = vUp[i + 1] - 1;\n            } else {\n              vUp[i] = vUp[i - 1];\n            }\n            x = vUp[i] - 1;\n            y = x - start1 + start2 - k;\n            while (x >= start1 && y >= start2 && left[x] === right[y]) {\n              vUp[i] = x--;\n              y--;\n            }\n            if (delta % 2 === 0 && -d <= k && k <= d) {\n              if (vUp[i] <= vDown[i + delta]) {\n                return buildSnake(vUp[i], k + start1 - start2, end1, end2);\n              }\n            }\n          }\n        }\n      };\n      var script = [];\n      buildScript(0, left.length, 0, right.length, script);\n      return script;\n    };\n    var Diff = {\n      KEEP: KEEP,\n      DELETE: DELETE,\n      INSERT: INSERT,\n      diff: diff\n    };\n\n    var getOuterHtml = function (elm) {\n      if (NodeType.isElement(elm)) {\n        return elm.outerHTML;\n      } else if (NodeType.isText(elm)) {\n        return Entities.encodeRaw(elm.data, false);\n      } else if (NodeType.isComment(elm)) {\n        return '<!--' + elm.data + '-->';\n      }\n      return '';\n    };\n    var createFragment$1 = function (html) {\n      var frag, node, container;\n      container = document.createElement('div');\n      frag = document.createDocumentFragment();\n      if (html) {\n        container.innerHTML = html;\n      }\n      while (node = container.firstChild) {\n        frag.appendChild(node);\n      }\n      return frag;\n    };\n    var insertAt = function (elm, html, index) {\n      var fragment = createFragment$1(html);\n      if (elm.hasChildNodes() && index < elm.childNodes.length) {\n        var target = elm.childNodes[index];\n        target.parentNode.insertBefore(fragment, target);\n      } else {\n        elm.appendChild(fragment);\n      }\n    };\n    var removeAt = function (elm, index) {\n      if (elm.hasChildNodes() && index < elm.childNodes.length) {\n        var target = elm.childNodes[index];\n        target.parentNode.removeChild(target);\n      }\n    };\n    var applyDiff = function (diff, elm) {\n      var index = 0;\n      each(diff, function (action) {\n        if (action[0] === Diff.KEEP) {\n          index++;\n        } else if (action[0] === Diff.INSERT) {\n          insertAt(elm, action[1], index);\n          index++;\n        } else if (action[0] === Diff.DELETE) {\n          removeAt(elm, index);\n        }\n      });\n    };\n    var read$3 = function (elm) {\n      return filter(map(from$1(elm.childNodes), getOuterHtml), function (item) {\n        return item.length > 0;\n      });\n    };\n    var write = function (fragments, elm) {\n      var currentFragments = map(from$1(elm.childNodes), getOuterHtml);\n      applyDiff(Diff.diff(currentFragments, fragments), elm);\n      return elm;\n    };\n    var Fragments = {\n      read: read$3,\n      write: write\n    };\n\n    var undoLevelDocument = Cell(Option.none());\n    var lazyTempDocument = function () {\n      return undoLevelDocument.get().getOrThunk(function () {\n        var doc = document.implementation.createHTMLDocument('undo');\n        undoLevelDocument.set(Option.some(doc));\n        return doc;\n      });\n    };\n    var hasIframes = function (html) {\n      return html.indexOf('</iframe>') !== -1;\n    };\n    var createFragmentedLevel = function (fragments) {\n      return {\n        type: 'fragmented',\n        fragments: fragments,\n        content: '',\n        bookmark: null,\n        beforeBookmark: null\n      };\n    };\n    var createCompleteLevel = function (content) {\n      return {\n        type: 'complete',\n        fragments: null,\n        content: content,\n        bookmark: null,\n        beforeBookmark: null\n      };\n    };\n    var createFromEditor = function (editor) {\n      var fragments, content, trimmedFragments;\n      fragments = Fragments.read(editor.getBody());\n      trimmedFragments = bind(fragments, function (html) {\n        var trimmed = TrimHtml.trimInternal(editor.serializer, html);\n        return trimmed.length > 0 ? [trimmed] : [];\n      });\n      content = trimmedFragments.join('');\n      return hasIframes(content) ? createFragmentedLevel(trimmedFragments) : createCompleteLevel(content);\n    };\n    var applyToEditor = function (editor, level, before) {\n      if (level.type === 'fragmented') {\n        Fragments.write(level.fragments, editor.getBody());\n      } else {\n        editor.setContent(level.content, { format: 'raw' });\n      }\n      editor.selection.moveToBookmark(before ? level.beforeBookmark : level.bookmark);\n    };\n    var getLevelContent = function (level) {\n      return level.type === 'fragmented' ? level.fragments.join('') : level.content;\n    };\n    var getCleanLevelContent = function (level) {\n      var elm = Element$$1.fromTag('body', lazyTempDocument());\n      set$2(elm, getLevelContent(level));\n      each(descendants$1(elm, '*[data-mce-bogus]'), unwrap);\n      return get$5(elm);\n    };\n    var hasEqualContent = function (level1, level2) {\n      return getLevelContent(level1) === getLevelContent(level2);\n    };\n    var hasEqualCleanedContent = function (level1, level2) {\n      return getCleanLevelContent(level1) === getCleanLevelContent(level2);\n    };\n    var isEq$3 = function (level1, level2) {\n      if (!level1 || !level2) {\n        return false;\n      } else if (hasEqualContent(level1, level2)) {\n        return true;\n      } else {\n        return hasEqualCleanedContent(level1, level2);\n      }\n    };\n    var Levels = {\n      createFragmentedLevel: createFragmentedLevel,\n      createCompleteLevel: createCompleteLevel,\n      createFromEditor: createFromEditor,\n      applyToEditor: applyToEditor,\n      isEq: isEq$3\n    };\n\n    function UndoManager (editor) {\n      var self = this, index = 0, data = [], beforeBookmark, isFirstTypedCharacter, locks = 0;\n      var isUnlocked = function () {\n        return locks === 0;\n      };\n      var setTyping = function (typing) {\n        if (isUnlocked()) {\n          self.typing = typing;\n        }\n      };\n      var setDirty = function (state) {\n        editor.setDirty(state);\n      };\n      var addNonTypingUndoLevel = function (e) {\n        setTyping(false);\n        self.add({}, e);\n      };\n      var endTyping = function () {\n        if (self.typing) {\n          setTyping(false);\n          self.add();\n        }\n      };\n      editor.on('init', function () {\n        self.add();\n      });\n      editor.on('BeforeExecCommand', function (e) {\n        var cmd = e.command;\n        if (cmd !== 'Undo' && cmd !== 'Redo' && cmd !== 'mceRepaint') {\n          endTyping();\n          self.beforeChange();\n        }\n      });\n      editor.on('ExecCommand', function (e) {\n        var cmd = e.command;\n        if (cmd !== 'Undo' && cmd !== 'Redo' && cmd !== 'mceRepaint') {\n          addNonTypingUndoLevel(e);\n        }\n      });\n      editor.on('ObjectResizeStart Cut', function () {\n        self.beforeChange();\n      });\n      editor.on('SaveContent ObjectResized blur', addNonTypingUndoLevel);\n      editor.on('DragEnd', addNonTypingUndoLevel);\n      editor.on('KeyUp', function (e) {\n        var keyCode = e.keyCode;\n        if (e.isDefaultPrevented()) {\n          return;\n        }\n        if (keyCode >= 33 && keyCode <= 36 || keyCode >= 37 && keyCode <= 40 || keyCode === 45 || e.ctrlKey) {\n          addNonTypingUndoLevel();\n          editor.nodeChanged();\n        }\n        if (keyCode === 46 || keyCode === 8) {\n          editor.nodeChanged();\n        }\n        if (isFirstTypedCharacter && self.typing && Levels.isEq(Levels.createFromEditor(editor), data[0]) === false) {\n          if (editor.isDirty() === false) {\n            setDirty(true);\n            editor.fire('change', {\n              level: data[0],\n              lastLevel: null\n            });\n          }\n          editor.fire('TypingUndo');\n          isFirstTypedCharacter = false;\n          editor.nodeChanged();\n        }\n      });\n      editor.on('KeyDown', function (e) {\n        var keyCode = e.keyCode;\n        if (e.isDefaultPrevented()) {\n          return;\n        }\n        if (keyCode >= 33 && keyCode <= 36 || keyCode >= 37 && keyCode <= 40 || keyCode === 45) {\n          if (self.typing) {\n            addNonTypingUndoLevel(e);\n          }\n          return;\n        }\n        var modKey = e.ctrlKey && !e.altKey || e.metaKey;\n        if ((keyCode < 16 || keyCode > 20) && keyCode !== 224 && keyCode !== 91 && !self.typing && !modKey) {\n          self.beforeChange();\n          setTyping(true);\n          self.add({}, e);\n          isFirstTypedCharacter = true;\n        }\n      });\n      editor.on('MouseDown', function (e) {\n        if (self.typing) {\n          addNonTypingUndoLevel(e);\n        }\n      });\n      var isInsertReplacementText = function (event) {\n        return event.inputType === 'insertReplacementText';\n      };\n      var isInsertTextDataNull = function (event) {\n        return event.inputType === 'insertText' && event.data === null;\n      };\n      editor.on('input', function (e) {\n        if (e.inputType && (isInsertReplacementText(e) || isInsertTextDataNull(e))) {\n          addNonTypingUndoLevel(e);\n        }\n      });\n      editor.addShortcut('meta+z', '', 'Undo');\n      editor.addShortcut('meta+y,meta+shift+z', '', 'Redo');\n      editor.on('AddUndo Undo Redo ClearUndos', function (e) {\n        if (!e.isDefaultPrevented()) {\n          editor.nodeChanged();\n        }\n      });\n      self = {\n        data: data,\n        typing: false,\n        beforeChange: function () {\n          if (isUnlocked()) {\n            beforeBookmark = GetBookmark.getUndoBookmark(editor.selection);\n          }\n        },\n        add: function (level, event) {\n          var i;\n          var settings = editor.settings;\n          var lastLevel, currentLevel;\n          currentLevel = Levels.createFromEditor(editor);\n          level = level || {};\n          level = Tools.extend(level, currentLevel);\n          if (isUnlocked() === false || editor.removed) {\n            return null;\n          }\n          lastLevel = data[index];\n          if (editor.fire('BeforeAddUndo', {\n              level: level,\n              lastLevel: lastLevel,\n              originalEvent: event\n            }).isDefaultPrevented()) {\n            return null;\n          }\n          if (lastLevel && Levels.isEq(lastLevel, level)) {\n            return null;\n          }\n          if (data[index]) {\n            data[index].beforeBookmark = beforeBookmark;\n          }\n          if (settings.custom_undo_redo_levels) {\n            if (data.length > settings.custom_undo_redo_levels) {\n              for (i = 0; i < data.length - 1; i++) {\n                data[i] = data[i + 1];\n              }\n              data.length--;\n              index = data.length;\n            }\n          }\n          level.bookmark = GetBookmark.getUndoBookmark(editor.selection);\n          if (index < data.length - 1) {\n            data.length = index + 1;\n          }\n          data.push(level);\n          index = data.length - 1;\n          var args = {\n            level: level,\n            lastLevel: lastLevel,\n            originalEvent: event\n          };\n          editor.fire('AddUndo', args);\n          if (index > 0) {\n            setDirty(true);\n            editor.fire('change', args);\n          }\n          return level;\n        },\n        undo: function () {\n          var level;\n          if (self.typing) {\n            self.add();\n            self.typing = false;\n            setTyping(false);\n          }\n          if (index > 0) {\n            level = data[--index];\n            Levels.applyToEditor(editor, level, true);\n            setDirty(true);\n            editor.fire('undo', { level: level });\n          }\n          return level;\n        },\n        redo: function () {\n          var level;\n          if (index < data.length - 1) {\n            level = data[++index];\n            Levels.applyToEditor(editor, level, false);\n            setDirty(true);\n            editor.fire('redo', { level: level });\n          }\n          return level;\n        },\n        clear: function () {\n          data = [];\n          index = 0;\n          self.typing = false;\n          self.data = data;\n          editor.fire('ClearUndos');\n        },\n        hasUndo: function () {\n          return index > 0 || self.typing && data[0] && !Levels.isEq(Levels.createFromEditor(editor), data[0]);\n        },\n        hasRedo: function () {\n          return index < data.length - 1 && !self.typing;\n        },\n        transact: function (callback) {\n          endTyping();\n          self.beforeChange();\n          self.ignore(callback);\n          return self.add();\n        },\n        ignore: function (callback) {\n          try {\n            locks++;\n            callback();\n          } finally {\n            locks--;\n          }\n        },\n        extra: function (callback1, callback2) {\n          var lastLevel, bookmark;\n          if (self.transact(callback1)) {\n            bookmark = data[index].bookmark;\n            lastLevel = data[index - 1];\n            Levels.applyToEditor(editor, lastLevel, true);\n            if (self.transact(callback2)) {\n              data[index - 1].beforeBookmark = bookmark;\n            }\n          }\n        }\n      };\n      return self;\n    }\n\n    var isEq$4 = FormatUtils.isEq;\n    var matchesUnInheritedFormatSelector = function (ed, node, name) {\n      var formatList = ed.formatter.get(name);\n      if (formatList) {\n        for (var i = 0; i < formatList.length; i++) {\n          if (formatList[i].inherit === false && ed.dom.is(node, formatList[i].selector)) {\n            return true;\n          }\n        }\n      }\n      return false;\n    };\n    var matchParents = function (editor, node, name, vars) {\n      var root = editor.dom.getRoot();\n      if (node === root) {\n        return false;\n      }\n      node = editor.dom.getParent(node, function (node) {\n        if (matchesUnInheritedFormatSelector(editor, node, name)) {\n          return true;\n        }\n        return node.parentNode === root || !!matchNode(editor, node, name, vars, true);\n      });\n      return matchNode(editor, node, name, vars);\n    };\n    var matchName = function (dom, node, format) {\n      if (isEq$4(node, format.inline)) {\n        return true;\n      }\n      if (isEq$4(node, format.block)) {\n        return true;\n      }\n      if (format.selector) {\n        return node.nodeType === 1 && dom.is(node, format.selector);\n      }\n    };\n    var matchItems = function (dom, node, format, itemName, similar, vars) {\n      var key, value;\n      var items = format[itemName];\n      var i;\n      if (format.onmatch) {\n        return format.onmatch(node, format, itemName);\n      }\n      if (items) {\n        if (typeof items.length === 'undefined') {\n          for (key in items) {\n            if (items.hasOwnProperty(key)) {\n              if (itemName === 'attributes') {\n                value = dom.getAttrib(node, key);\n              } else {\n                value = FormatUtils.getStyle(dom, node, key);\n              }\n              if (similar && !value && !format.exact) {\n                return;\n              }\n              if ((!similar || format.exact) && !isEq$4(value, FormatUtils.normalizeStyleValue(dom, FormatUtils.replaceVars(items[key], vars), key))) {\n                return;\n              }\n            }\n          }\n        } else {\n          for (i = 0; i < items.length; i++) {\n            if (itemName === 'attributes' ? dom.getAttrib(node, items[i]) : FormatUtils.getStyle(dom, node, items[i])) {\n              return format;\n            }\n          }\n        }\n      }\n      return format;\n    };\n    var matchNode = function (ed, node, name, vars, similar) {\n      var formatList = ed.formatter.get(name);\n      var format, i, x, classes;\n      var dom = ed.dom;\n      if (formatList && node) {\n        for (i = 0; i < formatList.length; i++) {\n          format = formatList[i];\n          if (matchName(ed.dom, node, format) && matchItems(dom, node, format, 'attributes', similar, vars) && matchItems(dom, node, format, 'styles', similar, vars)) {\n            if (classes = format.classes) {\n              for (x = 0; x < classes.length; x++) {\n                if (!ed.dom.hasClass(node, classes[x])) {\n                  return;\n                }\n              }\n            }\n            return format;\n          }\n        }\n      }\n    };\n    var match = function (editor, name, vars, node) {\n      var startNode;\n      if (node) {\n        return matchParents(editor, node, name, vars);\n      }\n      node = editor.selection.getNode();\n      if (matchParents(editor, node, name, vars)) {\n        return true;\n      }\n      startNode = editor.selection.getStart();\n      if (startNode !== node) {\n        if (matchParents(editor, startNode, name, vars)) {\n          return true;\n        }\n      }\n      return false;\n    };\n    var matchAll = function (editor, names, vars) {\n      var startElement;\n      var matchedFormatNames = [];\n      var checkedMap = {};\n      startElement = editor.selection.getStart();\n      editor.dom.getParent(startElement, function (node) {\n        var i, name;\n        for (i = 0; i < names.length; i++) {\n          name = names[i];\n          if (!checkedMap[name] && matchNode(editor, node, name, vars)) {\n            checkedMap[name] = true;\n            matchedFormatNames.push(name);\n          }\n        }\n      }, editor.dom.getRoot());\n      return matchedFormatNames;\n    };\n    var canApply = function (editor, name) {\n      var formatList = editor.formatter.get(name);\n      var startNode, parents, i, x, selector;\n      var dom = editor.dom;\n      if (formatList) {\n        startNode = editor.selection.getStart();\n        parents = FormatUtils.getParents(dom, startNode);\n        for (x = formatList.length - 1; x >= 0; x--) {\n          selector = formatList[x].selector;\n          if (!selector || formatList[x].defaultBlock) {\n            return true;\n          }\n          for (i = parents.length - 1; i >= 0; i--) {\n            if (dom.is(parents[i], selector)) {\n              return true;\n            }\n          }\n        }\n      }\n      return false;\n    };\n    var MatchFormat = {\n      matchNode: matchNode,\n      matchName: matchName,\n      match: match,\n      matchAll: matchAll,\n      canApply: canApply,\n      matchesUnInheritedFormatSelector: matchesUnInheritedFormatSelector\n    };\n\n    var splitText = function (node, offset) {\n      return node.splitText(offset);\n    };\n    var split$1 = function (rng) {\n      var startContainer = rng.startContainer, startOffset = rng.startOffset, endContainer = rng.endContainer, endOffset = rng.endOffset;\n      if (startContainer === endContainer && NodeType.isText(startContainer)) {\n        if (startOffset > 0 && startOffset < startContainer.nodeValue.length) {\n          endContainer = splitText(startContainer, startOffset);\n          startContainer = endContainer.previousSibling;\n          if (endOffset > startOffset) {\n            endOffset = endOffset - startOffset;\n            startContainer = endContainer = splitText(endContainer, endOffset).previousSibling;\n            endOffset = endContainer.nodeValue.length;\n            startOffset = 0;\n          } else {\n            endOffset = 0;\n          }\n        }\n      } else {\n        if (NodeType.isText(startContainer) && startOffset > 0 && startOffset < startContainer.nodeValue.length) {\n          startContainer = splitText(startContainer, startOffset);\n          startOffset = 0;\n        }\n        if (NodeType.isText(endContainer) && endOffset > 0 && endOffset < endContainer.nodeValue.length) {\n          endContainer = splitText(endContainer, endOffset).previousSibling;\n          endOffset = endContainer.nodeValue.length;\n        }\n      }\n      return {\n        startContainer: startContainer,\n        startOffset: startOffset,\n        endContainer: endContainer,\n        endOffset: endOffset\n      };\n    };\n    var SplitRange = { split: split$1 };\n\n    var ZWSP$1 = Zwsp.ZWSP, CARET_ID$1 = '_mce_caret';\n    var importNode = function (ownerDocument, node) {\n      return ownerDocument.importNode(node, true);\n    };\n    var getEmptyCaretContainers = function (node) {\n      var nodes = [];\n      while (node) {\n        if (node.nodeType === 3 && node.nodeValue !== ZWSP$1 || node.childNodes.length > 1) {\n          return [];\n        }\n        if (node.nodeType === 1) {\n          nodes.push(node);\n        }\n        node = node.firstChild;\n      }\n      return nodes;\n    };\n    var isCaretContainerEmpty = function (node) {\n      return getEmptyCaretContainers(node).length > 0;\n    };\n    var findFirstTextNode = function (node) {\n      var walker;\n      if (node) {\n        walker = new TreeWalker(node, node);\n        for (node = walker.current(); node; node = walker.next()) {\n          if (node.nodeType === 3) {\n            return node;\n          }\n        }\n      }\n      return null;\n    };\n    var createCaretContainer = function (fill) {\n      var caretContainer = Element$$1.fromTag('span');\n      setAll(caretContainer, {\n        'id': CARET_ID$1,\n        'data-mce-bogus': '1',\n        'data-mce-type': 'format-caret'\n      });\n      if (fill) {\n        append(caretContainer, Element$$1.fromText(ZWSP$1));\n      }\n      return caretContainer;\n    };\n    var trimZwspFromCaretContainer = function (caretContainerNode) {\n      var textNode = findFirstTextNode(caretContainerNode);\n      if (textNode && textNode.nodeValue.charAt(0) === ZWSP$1) {\n        textNode.deleteData(0, 1);\n      }\n      return textNode;\n    };\n    var removeCaretContainerNode = function (editor, node, moveCaret) {\n      if (moveCaret === void 0) {\n        moveCaret = true;\n      }\n      var dom = editor.dom, selection = editor.selection;\n      if (isCaretContainerEmpty(node)) {\n        DeleteElement.deleteElement(editor, false, Element$$1.fromDom(node), moveCaret);\n      } else {\n        var rng = selection.getRng();\n        var block = dom.getParent(node, dom.isBlock);\n        var textNode = trimZwspFromCaretContainer(node);\n        if (rng.startContainer === textNode && rng.startOffset > 0) {\n          rng.setStart(textNode, rng.startOffset - 1);\n        }\n        if (rng.endContainer === textNode && rng.endOffset > 0) {\n          rng.setEnd(textNode, rng.endOffset - 1);\n        }\n        dom.remove(node, true);\n        if (block && dom.isEmpty(block)) {\n          PaddingBr.fillWithPaddingBr(Element$$1.fromDom(block));\n        }\n        selection.setRng(rng);\n      }\n    };\n    var removeCaretContainer = function (editor, node, moveCaret) {\n      if (moveCaret === void 0) {\n        moveCaret = true;\n      }\n      var dom = editor.dom, selection = editor.selection;\n      if (!node) {\n        node = getParentCaretContainer(editor.getBody(), selection.getStart());\n        if (!node) {\n          while (node = dom.get(CARET_ID$1)) {\n            removeCaretContainerNode(editor, node, false);\n          }\n        }\n      } else {\n        removeCaretContainerNode(editor, node, moveCaret);\n      }\n    };\n    var insertCaretContainerNode = function (editor, caretContainer, formatNode) {\n      var dom = editor.dom, block = dom.getParent(formatNode, curry(FormatUtils.isTextBlock, editor));\n      if (block && dom.isEmpty(block)) {\n        formatNode.parentNode.replaceChild(caretContainer, formatNode);\n      } else {\n        PaddingBr.removeTrailingBr(Element$$1.fromDom(formatNode));\n        if (dom.isEmpty(formatNode)) {\n          formatNode.parentNode.replaceChild(caretContainer, formatNode);\n        } else {\n          dom.insertAfter(caretContainer, formatNode);\n        }\n      }\n    };\n    var appendNode = function (parentNode, node) {\n      parentNode.appendChild(node);\n      return node;\n    };\n    var insertFormatNodesIntoCaretContainer = function (formatNodes, caretContainer) {\n      var innerMostFormatNode = foldr(formatNodes, function (parentNode, formatNode) {\n        return appendNode(parentNode, formatNode.cloneNode(false));\n      }, caretContainer);\n      return appendNode(innerMostFormatNode, innerMostFormatNode.ownerDocument.createTextNode(ZWSP$1));\n    };\n    var applyCaretFormat = function (editor, name$$1, vars) {\n      var rng, caretContainer, textNode, offset, bookmark, container, text;\n      var selection = editor.selection;\n      rng = selection.getRng(true);\n      offset = rng.startOffset;\n      container = rng.startContainer;\n      text = container.nodeValue;\n      caretContainer = getParentCaretContainer(editor.getBody(), selection.getStart());\n      if (caretContainer) {\n        textNode = findFirstTextNode(caretContainer);\n      }\n      var wordcharRegex = /[^\\s\\u00a0\\u00ad\\u200b\\ufeff]/;\n      if (text && offset > 0 && offset < text.length && wordcharRegex.test(text.charAt(offset)) && wordcharRegex.test(text.charAt(offset - 1))) {\n        bookmark = selection.getBookmark();\n        rng.collapse(true);\n        rng = ExpandRange.expandRng(editor, rng, editor.formatter.get(name$$1));\n        rng = SplitRange.split(rng);\n        editor.formatter.apply(name$$1, vars, rng);\n        selection.moveToBookmark(bookmark);\n      } else {\n        if (!caretContainer || textNode.nodeValue !== ZWSP$1) {\n          caretContainer = importNode(editor.getDoc(), createCaretContainer(true).dom());\n          textNode = caretContainer.firstChild;\n          rng.insertNode(caretContainer);\n          offset = 1;\n          editor.formatter.apply(name$$1, vars, caretContainer);\n        } else {\n          editor.formatter.apply(name$$1, vars, caretContainer);\n        }\n        selection.setCursorLocation(textNode, offset);\n      }\n    };\n    var removeCaretFormat = function (editor, name$$1, vars, similar) {\n      var dom = editor.dom, selection = editor.selection;\n      var container, offset, bookmark;\n      var hasContentAfter, node, formatNode;\n      var parents = [], rng = selection.getRng();\n      var caretContainer;\n      container = rng.startContainer;\n      offset = rng.startOffset;\n      node = container;\n      if (container.nodeType === 3) {\n        if (offset !== container.nodeValue.length) {\n          hasContentAfter = true;\n        }\n        node = node.parentNode;\n      }\n      while (node) {\n        if (MatchFormat.matchNode(editor, node, name$$1, vars, similar)) {\n          formatNode = node;\n          break;\n        }\n        if (node.nextSibling) {\n          hasContentAfter = true;\n        }\n        parents.push(node);\n        node = node.parentNode;\n      }\n      if (!formatNode) {\n        return;\n      }\n      if (hasContentAfter) {\n        bookmark = selection.getBookmark();\n        rng.collapse(true);\n        var expandedRng = ExpandRange.expandRng(editor, rng, editor.formatter.get(name$$1), true);\n        expandedRng = SplitRange.split(expandedRng);\n        editor.formatter.remove(name$$1, vars, expandedRng);\n        selection.moveToBookmark(bookmark);\n      } else {\n        caretContainer = getParentCaretContainer(editor.getBody(), formatNode);\n        var newCaretContainer = createCaretContainer(false).dom();\n        var caretNode = insertFormatNodesIntoCaretContainer(parents, newCaretContainer);\n        if (caretContainer) {\n          insertCaretContainerNode(editor, newCaretContainer, caretContainer);\n        } else {\n          insertCaretContainerNode(editor, newCaretContainer, formatNode);\n        }\n        removeCaretContainerNode(editor, caretContainer, false);\n        selection.setCursorLocation(caretNode, 1);\n        if (dom.isEmpty(formatNode)) {\n          dom.remove(formatNode);\n        }\n      }\n    };\n    var disableCaretContainer = function (editor, keyCode) {\n      var selection = editor.selection, body = editor.getBody();\n      removeCaretContainer(editor, null, false);\n      if ((keyCode === 8 || keyCode === 46) && selection.isCollapsed() && selection.getStart().innerHTML === ZWSP$1) {\n        removeCaretContainer(editor, getParentCaretContainer(body, selection.getStart()));\n      }\n      if (keyCode === 37 || keyCode === 39) {\n        removeCaretContainer(editor, getParentCaretContainer(body, selection.getStart()));\n      }\n    };\n    var setup$4 = function (editor) {\n      editor.on('mouseup keydown', function (e) {\n        disableCaretContainer(editor, e.keyCode);\n      });\n    };\n    var replaceWithCaretFormat = function (targetNode, formatNodes) {\n      var caretContainer = createCaretContainer(false);\n      var innerMost = insertFormatNodesIntoCaretContainer(formatNodes, caretContainer.dom());\n      before(Element$$1.fromDom(targetNode), caretContainer);\n      remove$2(Element$$1.fromDom(targetNode));\n      return CaretPosition$1(innerMost, 0);\n    };\n    var isFormatElement = function (editor, element) {\n      var inlineElements = editor.schema.getTextInlineElements();\n      return inlineElements.hasOwnProperty(name(element)) && !isCaretNode(element.dom()) && !NodeType.isBogus(element.dom());\n    };\n    var isEmptyCaretFormatElement = function (element) {\n      return isCaretNode(element.dom()) && isCaretContainerEmpty(element.dom());\n    };\n\n    var postProcessHooks = {}, filter$2 = ArrUtils.filter, each$c = ArrUtils.each;\n    var addPostProcessHook = function (name, hook) {\n      var hooks = postProcessHooks[name];\n      if (!hooks) {\n        postProcessHooks[name] = hooks = [];\n      }\n      postProcessHooks[name].push(hook);\n    };\n    var postProcess = function (name, editor) {\n      each$c(postProcessHooks[name], function (hook) {\n        hook(editor);\n      });\n    };\n    addPostProcessHook('pre', function (editor) {\n      var rng = editor.selection.getRng();\n      var isPre, blocks;\n      var hasPreSibling = function (pre) {\n        return isPre(pre.previousSibling) && ArrUtils.indexOf(blocks, pre.previousSibling) !== -1;\n      };\n      var joinPre = function (pre1, pre2) {\n        DomQuery(pre2).remove();\n        DomQuery(pre1).append('<br><br>').append(pre2.childNodes);\n      };\n      isPre = NodeType.matchNodeNames('pre');\n      if (!rng.collapsed) {\n        blocks = editor.selection.getSelectedBlocks();\n        each$c(filter$2(filter$2(blocks, isPre), hasPreSibling), function (pre) {\n          joinPre(pre.previousSibling, pre);\n        });\n      }\n    });\n    var Hooks = { postProcess: postProcess };\n\n    var MCE_ATTR_RE = /^(src|href|style)$/;\n    var each$d = Tools.each;\n    var isEq$5 = FormatUtils.isEq;\n    var isTableCell$4 = function (node) {\n      return /^(TH|TD)$/.test(node.nodeName);\n    };\n    var isChildOfInlineParent = function (dom, node, parent$$1) {\n      return dom.isChildOf(node, parent$$1) && node !== parent$$1 && !dom.isBlock(parent$$1);\n    };\n    var getContainer = function (ed, rng, start) {\n      var container, offset, lastIdx;\n      container = rng[start ? 'startContainer' : 'endContainer'];\n      offset = rng[start ? 'startOffset' : 'endOffset'];\n      if (NodeType.isElement(container)) {\n        lastIdx = container.childNodes.length - 1;\n        if (!start && offset) {\n          offset--;\n        }\n        container = container.childNodes[offset > lastIdx ? lastIdx : offset];\n      }\n      if (NodeType.isText(container) && start && offset >= container.nodeValue.length) {\n        container = new TreeWalker(container, ed.getBody()).next() || container;\n      }\n      if (NodeType.isText(container) && !start && offset === 0) {\n        container = new TreeWalker(container, ed.getBody()).prev() || container;\n      }\n      return container;\n    };\n    var wrap$2 = function (dom, node, name, attrs) {\n      var wrapper = dom.create(name, attrs);\n      node.parentNode.insertBefore(wrapper, node);\n      wrapper.appendChild(node);\n      return wrapper;\n    };\n    var wrapWithSiblings = function (dom, node, next, name, attrs) {\n      var start = Element$$1.fromDom(node);\n      var wrapper = Element$$1.fromDom(dom.create(name, attrs));\n      var siblings$$1 = next ? nextSiblings(start) : prevSiblings(start);\n      append$1(wrapper, siblings$$1);\n      if (next) {\n        before(start, wrapper);\n        prepend(wrapper, start);\n      } else {\n        after(start, wrapper);\n        append(wrapper, start);\n      }\n      return wrapper.dom();\n    };\n    var matchName$1 = function (dom, node, format) {\n      if (isEq$5(node, format.inline)) {\n        return true;\n      }\n      if (isEq$5(node, format.block)) {\n        return true;\n      }\n      if (format.selector) {\n        return NodeType.isElement(node) && dom.is(node, format.selector);\n      }\n    };\n    var isColorFormatAndAnchor = function (node, format) {\n      return format.links && node.tagName === 'A';\n    };\n    var find$4 = function (dom, node, next, inc) {\n      node = FormatUtils.getNonWhiteSpaceSibling(node, next, inc);\n      return !node || (node.nodeName === 'BR' || dom.isBlock(node));\n    };\n    var removeNode$1 = function (ed, node, format) {\n      var parentNode = node.parentNode;\n      var rootBlockElm;\n      var dom = ed.dom, forcedRootBlock = ed.settings.forced_root_block;\n      if (format.block) {\n        if (!forcedRootBlock) {\n          if (dom.isBlock(node) && !dom.isBlock(parentNode)) {\n            if (!find$4(dom, node, false) && !find$4(dom, node.firstChild, true, 1)) {\n              node.insertBefore(dom.create('br'), node.firstChild);\n            }\n            if (!find$4(dom, node, true) && !find$4(dom, node.lastChild, false, 1)) {\n              node.appendChild(dom.create('br'));\n            }\n          }\n        } else {\n          if (parentNode === dom.getRoot()) {\n            if (!format.list_block || !isEq$5(node, format.list_block)) {\n              each$d(Tools.grep(node.childNodes), function (node) {\n                if (FormatUtils.isValid(ed, forcedRootBlock, node.nodeName.toLowerCase())) {\n                  if (!rootBlockElm) {\n                    rootBlockElm = wrap$2(dom, node, forcedRootBlock);\n                    dom.setAttribs(rootBlockElm, ed.settings.forced_root_block_attrs);\n                  } else {\n                    rootBlockElm.appendChild(node);\n                  }\n                } else {\n                  rootBlockElm = 0;\n                }\n              });\n            }\n          }\n        }\n      }\n      if (format.selector && format.inline && !isEq$5(format.inline, node)) {\n        return;\n      }\n      dom.remove(node, 1);\n    };\n    var removeFormat = function (ed, format, vars, node, compareNode) {\n      var i, attrs, stylesModified;\n      var dom = ed.dom;\n      if (!matchName$1(dom, node, format) && !isColorFormatAndAnchor(node, format)) {\n        return false;\n      }\n      if (format.remove !== 'all') {\n        each$d(format.styles, function (value, name) {\n          value = FormatUtils.normalizeStyleValue(dom, FormatUtils.replaceVars(value, vars), name);\n          if (typeof name === 'number') {\n            name = value;\n            compareNode = 0;\n          }\n          if (format.remove_similar || (!compareNode || isEq$5(FormatUtils.getStyle(dom, compareNode, name), value))) {\n            dom.setStyle(node, name, '');\n          }\n          stylesModified = 1;\n        });\n        if (stylesModified && dom.getAttrib(node, 'style') === '') {\n          node.removeAttribute('style');\n          node.removeAttribute('data-mce-style');\n        }\n        each$d(format.attributes, function (value, name) {\n          var valueOut;\n          value = FormatUtils.replaceVars(value, vars);\n          if (typeof name === 'number') {\n            name = value;\n            compareNode = 0;\n          }\n          if (!compareNode || isEq$5(dom.getAttrib(compareNode, name), value)) {\n            if (name === 'class') {\n              value = dom.getAttrib(node, name);\n              if (value) {\n                valueOut = '';\n                each$d(value.split(/\\s+/), function (cls) {\n                  if (/mce\\-\\w+/.test(cls)) {\n                    valueOut += (valueOut ? ' ' : '') + cls;\n                  }\n                });\n                if (valueOut) {\n                  dom.setAttrib(node, name, valueOut);\n                  return;\n                }\n              }\n            }\n            if (name === 'class') {\n              node.removeAttribute('className');\n            }\n            if (MCE_ATTR_RE.test(name)) {\n              node.removeAttribute('data-mce-' + name);\n            }\n            node.removeAttribute(name);\n          }\n        });\n        each$d(format.classes, function (value) {\n          value = FormatUtils.replaceVars(value, vars);\n          if (!compareNode || dom.hasClass(compareNode, value)) {\n            dom.removeClass(node, value);\n          }\n        });\n        attrs = dom.getAttribs(node);\n        for (i = 0; i < attrs.length; i++) {\n          var attrName = attrs[i].nodeName;\n          if (attrName.indexOf('_') !== 0 && attrName.indexOf('data-') !== 0) {\n            return false;\n          }\n        }\n      }\n      if (format.remove !== 'none') {\n        removeNode$1(ed, node, format);\n        return true;\n      }\n    };\n    var findFormatRoot = function (editor, container, name, vars, similar) {\n      var formatRoot;\n      each$d(FormatUtils.getParents(editor.dom, container.parentNode).reverse(), function (parent$$1) {\n        var format;\n        if (!formatRoot && parent$$1.id !== '_start' && parent$$1.id !== '_end') {\n          format = MatchFormat.matchNode(editor, parent$$1, name, vars, similar);\n          if (format && format.split !== false) {\n            formatRoot = parent$$1;\n          }\n        }\n      });\n      return formatRoot;\n    };\n    var wrapAndSplit = function (editor, formatList, formatRoot, container, target, split, format, vars) {\n      var parent$$1, clone, lastClone, firstClone, i, formatRootParent;\n      var dom = editor.dom;\n      if (formatRoot) {\n        formatRootParent = formatRoot.parentNode;\n        for (parent$$1 = container.parentNode; parent$$1 && parent$$1 !== formatRootParent; parent$$1 = parent$$1.parentNode) {\n          clone = dom.clone(parent$$1, false);\n          for (i = 0; i < formatList.length; i++) {\n            if (removeFormat(editor, formatList[i], vars, clone, clone)) {\n              clone = 0;\n              break;\n            }\n          }\n          if (clone) {\n            if (lastClone) {\n              clone.appendChild(lastClone);\n            }\n            if (!firstClone) {\n              firstClone = clone;\n            }\n            lastClone = clone;\n          }\n        }\n        if (split && (!format.mixed || !dom.isBlock(formatRoot))) {\n          container = dom.split(formatRoot, container);\n        }\n        if (lastClone) {\n          target.parentNode.insertBefore(lastClone, target);\n          firstClone.appendChild(target);\n        }\n      }\n      return container;\n    };\n    var remove$8 = function (ed, name, vars, node, similar) {\n      var formatList = ed.formatter.get(name), format = formatList[0];\n      var bookmark, rng, contentEditable = true;\n      var dom = ed.dom;\n      var selection = ed.selection;\n      var splitToFormatRoot = function (container) {\n        var formatRoot = findFormatRoot(ed, container, name, vars, similar);\n        return wrapAndSplit(ed, formatList, formatRoot, container, container, true, format, vars);\n      };\n      var isRemoveBookmarkNode = function (node) {\n        return Bookmarks.isBookmarkNode(node) && NodeType.isElement(node) && (node.id === '_start' || node.id === '_end');\n      };\n      var process = function (node) {\n        var children$$1, i, l, lastContentEditable, hasContentEditableState;\n        if (NodeType.isElement(node) && dom.getContentEditable(node)) {\n          lastContentEditable = contentEditable;\n          contentEditable = dom.getContentEditable(node) === 'true';\n          hasContentEditableState = true;\n        }\n        children$$1 = Tools.grep(node.childNodes);\n        if (contentEditable && !hasContentEditableState) {\n          for (i = 0, l = formatList.length; i < l; i++) {\n            if (removeFormat(ed, formatList[i], vars, node, node)) {\n              break;\n            }\n          }\n        }\n        if (format.deep) {\n          if (children$$1.length) {\n            for (i = 0, l = children$$1.length; i < l; i++) {\n              process(children$$1[i]);\n            }\n            if (hasContentEditableState) {\n              contentEditable = lastContentEditable;\n            }\n          }\n        }\n      };\n      var unwrap = function (start) {\n        var node = dom.get(start ? '_start' : '_end');\n        var out = node[start ? 'firstChild' : 'lastChild'];\n        if (isRemoveBookmarkNode(out)) {\n          out = out[start ? 'firstChild' : 'lastChild'];\n        }\n        if (NodeType.isText(out) && out.data.length === 0) {\n          out = start ? node.previousSibling || node.nextSibling : node.nextSibling || node.previousSibling;\n        }\n        dom.remove(node, true);\n        return out;\n      };\n      var removeRngStyle = function (rng) {\n        var startContainer, endContainer;\n        var commonAncestorContainer = rng.commonAncestorContainer;\n        rng = ExpandRange.expandRng(ed, rng, formatList, true);\n        if (format.split) {\n          rng = SplitRange.split(rng);\n          startContainer = getContainer(ed, rng, true);\n          endContainer = getContainer(ed, rng);\n          if (startContainer !== endContainer) {\n            if (/^(TR|TH|TD)$/.test(startContainer.nodeName) && startContainer.firstChild) {\n              if (startContainer.nodeName === 'TR') {\n                startContainer = startContainer.firstChild.firstChild || startContainer;\n              } else {\n                startContainer = startContainer.firstChild || startContainer;\n              }\n            }\n            if (commonAncestorContainer && /^T(HEAD|BODY|FOOT|R)$/.test(commonAncestorContainer.nodeName) && isTableCell$4(endContainer) && endContainer.firstChild) {\n              endContainer = endContainer.firstChild || endContainer;\n            }\n            if (isChildOfInlineParent(dom, startContainer, endContainer)) {\n              var marker = Option.from(startContainer.firstChild).getOr(startContainer);\n              splitToFormatRoot(wrapWithSiblings(dom, marker, true, 'span', {\n                'id': '_start',\n                'data-mce-type': 'bookmark'\n              }));\n              unwrap(true);\n              return;\n            }\n            if (isChildOfInlineParent(dom, endContainer, startContainer)) {\n              var marker = Option.from(endContainer.lastChild).getOr(endContainer);\n              splitToFormatRoot(wrapWithSiblings(dom, marker, false, 'span', {\n                'id': '_end',\n                'data-mce-type': 'bookmark'\n              }));\n              unwrap(false);\n              return;\n            }\n            startContainer = wrap$2(dom, startContainer, 'span', {\n              'id': '_start',\n              'data-mce-type': 'bookmark'\n            });\n            endContainer = wrap$2(dom, endContainer, 'span', {\n              'id': '_end',\n              'data-mce-type': 'bookmark'\n            });\n            splitToFormatRoot(startContainer);\n            splitToFormatRoot(endContainer);\n            startContainer = unwrap(true);\n            endContainer = unwrap();\n          } else {\n            startContainer = endContainer = splitToFormatRoot(startContainer);\n          }\n          rng.startContainer = startContainer.parentNode ? startContainer.parentNode : startContainer;\n          rng.startOffset = dom.nodeIndex(startContainer);\n          rng.endContainer = endContainer.parentNode ? endContainer.parentNode : endContainer;\n          rng.endOffset = dom.nodeIndex(endContainer) + 1;\n        }\n        RangeWalk.walk(dom, rng, function (nodes) {\n          each$d(nodes, function (node) {\n            process(node);\n            if (NodeType.isElement(node) && ed.dom.getStyle(node, 'text-decoration') === 'underline' && node.parentNode && FormatUtils.getTextDecoration(dom, node.parentNode) === 'underline') {\n              removeFormat(ed, {\n                deep: false,\n                exact: true,\n                inline: 'span',\n                styles: { textDecoration: 'underline' }\n              }, null, node);\n            }\n          });\n        });\n      };\n      if (node) {\n        if (node.nodeType) {\n          rng = dom.createRng();\n          rng.setStartBefore(node);\n          rng.setEndAfter(node);\n          removeRngStyle(rng);\n        } else {\n          removeRngStyle(node);\n        }\n        return;\n      }\n      if (dom.getContentEditable(selection.getNode()) === 'false') {\n        node = selection.getNode();\n        for (var i = 0, l = formatList.length; i < l; i++) {\n          if (formatList[i].ceFalseOverride) {\n            if (removeFormat(ed, formatList[i], vars, node, node)) {\n              break;\n            }\n          }\n        }\n        return;\n      }\n      if (!selection.isCollapsed() || !format.inline || dom.select('td[data-mce-selected],th[data-mce-selected]').length) {\n        bookmark = GetBookmark.getPersistentBookmark(ed.selection, true);\n        removeRngStyle(selection.getRng());\n        selection.moveToBookmark(bookmark);\n        if (format.inline && MatchFormat.match(ed, name, vars, selection.getStart())) {\n          FormatUtils.moveStart(dom, selection, selection.getRng());\n        }\n        ed.nodeChanged();\n      } else {\n        removeCaretFormat(ed, name, vars, similar);\n      }\n    };\n    var RemoveFormat = {\n      removeFormat: removeFormat,\n      remove: remove$8\n    };\n\n    var each$e = Tools.each;\n    var isElementNode = function (node) {\n      return node && node.nodeType === 1 && !Bookmarks.isBookmarkNode(node) && !isCaretNode(node) && !NodeType.isBogus(node);\n    };\n    var findElementSibling = function (node, siblingName) {\n      var sibling;\n      for (sibling = node; sibling; sibling = sibling[siblingName]) {\n        if (sibling.nodeType === 3 && sibling.nodeValue.length !== 0) {\n          return node;\n        }\n        if (sibling.nodeType === 1 && !Bookmarks.isBookmarkNode(sibling)) {\n          return sibling;\n        }\n      }\n      return node;\n    };\n    var mergeSiblingsNodes = function (dom, prev, next) {\n      var sibling, tmpSibling;\n      var elementUtils = new ElementUtils(dom);\n      if (prev && next) {\n        prev = findElementSibling(prev, 'previousSibling');\n        next = findElementSibling(next, 'nextSibling');\n        if (elementUtils.compare(prev, next)) {\n          for (sibling = prev.nextSibling; sibling && sibling !== next;) {\n            tmpSibling = sibling;\n            sibling = sibling.nextSibling;\n            prev.appendChild(tmpSibling);\n          }\n          dom.remove(next);\n          Tools.each(Tools.grep(next.childNodes), function (node) {\n            prev.appendChild(node);\n          });\n          return prev;\n        }\n      }\n      return next;\n    };\n    var processChildElements = function (node, filter, process) {\n      each$e(node.childNodes, function (node) {\n        if (isElementNode(node)) {\n          if (filter(node)) {\n            process(node);\n          }\n          if (node.hasChildNodes()) {\n            processChildElements(node, filter, process);\n          }\n        }\n      });\n    };\n    var hasStyle = function (dom, name) {\n      return curry(function (name, node) {\n        return !!(node && FormatUtils.getStyle(dom, node, name));\n      }, name);\n    };\n    var applyStyle = function (dom, name, value) {\n      return curry(function (name, value, node) {\n        dom.setStyle(node, name, value);\n        if (node.getAttribute('style') === '') {\n          node.removeAttribute('style');\n        }\n        unwrapEmptySpan(dom, node);\n      }, name, value);\n    };\n    var unwrapEmptySpan = function (dom, node) {\n      if (node.nodeName === 'SPAN' && dom.getAttribs(node).length === 0) {\n        dom.remove(node, true);\n      }\n    };\n    var processUnderlineAndColor = function (dom, node) {\n      var textDecoration;\n      if (node.nodeType === 1 && node.parentNode && node.parentNode.nodeType === 1) {\n        textDecoration = FormatUtils.getTextDecoration(dom, node.parentNode);\n        if (dom.getStyle(node, 'color') && textDecoration) {\n          dom.setStyle(node, 'text-decoration', textDecoration);\n        } else if (dom.getStyle(node, 'text-decoration') === textDecoration) {\n          dom.setStyle(node, 'text-decoration', null);\n        }\n      }\n    };\n    var mergeUnderlineAndColor = function (dom, format, vars, node) {\n      if (format.styles.color || format.styles.textDecoration) {\n        Tools.walk(node, curry(processUnderlineAndColor, dom), 'childNodes');\n        processUnderlineAndColor(dom, node);\n      }\n    };\n    var mergeBackgroundColorAndFontSize = function (dom, format, vars, node) {\n      if (format.styles && format.styles.backgroundColor) {\n        processChildElements(node, hasStyle(dom, 'fontSize'), applyStyle(dom, 'backgroundColor', FormatUtils.replaceVars(format.styles.backgroundColor, vars)));\n      }\n    };\n    var mergeSubSup = function (dom, format, vars, node) {\n      if (format.inline === 'sub' || format.inline === 'sup') {\n        processChildElements(node, hasStyle(dom, 'fontSize'), applyStyle(dom, 'fontSize', ''));\n        dom.remove(dom.select(format.inline === 'sup' ? 'sub' : 'sup', node), true);\n      }\n    };\n    var mergeSiblings = function (dom, format, vars, node) {\n      if (node && format.merge_siblings !== false) {\n        node = mergeSiblingsNodes(dom, FormatUtils.getNonWhiteSpaceSibling(node), node);\n        node = mergeSiblingsNodes(dom, node, FormatUtils.getNonWhiteSpaceSibling(node, true));\n      }\n    };\n    var clearChildStyles = function (dom, format, node) {\n      if (format.clear_child_styles) {\n        var selector = format.links ? '*:not(a)' : '*';\n        each$e(dom.select(selector, node), function (node) {\n          if (isElementNode(node)) {\n            each$e(format.styles, function (value, name) {\n              dom.setStyle(node, name, '');\n            });\n          }\n        });\n      }\n    };\n    var mergeWithChildren = function (editor, formatList, vars, node) {\n      each$e(formatList, function (format) {\n        each$e(editor.dom.select(format.inline, node), function (child) {\n          if (!isElementNode(child)) {\n            return;\n          }\n          RemoveFormat.removeFormat(editor, format, vars, child, format.exact ? child : null);\n        });\n        clearChildStyles(editor.dom, format, node);\n      });\n    };\n    var mergeWithParents = function (editor, format, name, vars, node) {\n      if (MatchFormat.matchNode(editor, node.parentNode, name, vars)) {\n        if (RemoveFormat.removeFormat(editor, format, vars, node)) {\n          return;\n        }\n      }\n      if (format.merge_with_parents) {\n        editor.dom.getParent(node.parentNode, function (parent) {\n          if (MatchFormat.matchNode(editor, parent, name, vars)) {\n            RemoveFormat.removeFormat(editor, format, vars, node);\n            return true;\n          }\n        });\n      }\n    };\n    var MergeFormats = {\n      mergeWithChildren: mergeWithChildren,\n      mergeUnderlineAndColor: mergeUnderlineAndColor,\n      mergeBackgroundColorAndFontSize: mergeBackgroundColorAndFontSize,\n      mergeSubSup: mergeSubSup,\n      mergeSiblings: mergeSiblings,\n      mergeWithParents: mergeWithParents\n    };\n\n    var each$f = Tools.each;\n    var isElementNode$1 = function (node) {\n      return node && node.nodeType === 1 && !Bookmarks.isBookmarkNode(node) && !isCaretNode(node) && !NodeType.isBogus(node);\n    };\n    var applyFormat = function (ed, name, vars, node) {\n      var formatList = ed.formatter.get(name);\n      var format = formatList[0];\n      var bookmark, rng;\n      var isCollapsed = !node && ed.selection.isCollapsed();\n      var dom = ed.dom, selection = ed.selection;\n      var setElementFormat = function (elm, fmt) {\n        fmt = fmt || format;\n        if (elm) {\n          if (fmt.onformat) {\n            fmt.onformat(elm, fmt, vars, node);\n          }\n          each$f(fmt.styles, function (value, name) {\n            dom.setStyle(elm, name, FormatUtils.replaceVars(value, vars));\n          });\n          if (fmt.styles) {\n            var styleVal = dom.getAttrib(elm, 'style');\n            if (styleVal) {\n              elm.setAttribute('data-mce-style', styleVal);\n            }\n          }\n          each$f(fmt.attributes, function (value, name) {\n            dom.setAttrib(elm, name, FormatUtils.replaceVars(value, vars));\n          });\n          each$f(fmt.classes, function (value) {\n            value = FormatUtils.replaceVars(value, vars);\n            if (!dom.hasClass(elm, value)) {\n              dom.addClass(elm, value);\n            }\n          });\n        }\n      };\n      var applyNodeStyle = function (formatList, node) {\n        var found = false;\n        if (!format.selector) {\n          return false;\n        }\n        each$f(formatList, function (format) {\n          if ('collapsed' in format && format.collapsed !== isCollapsed) {\n            return;\n          }\n          if (dom.is(node, format.selector) && !isCaretNode(node)) {\n            setElementFormat(node, format);\n            found = true;\n            return false;\n          }\n        });\n        return found;\n      };\n      var applyRngStyle = function (dom, rng, bookmark, nodeSpecific) {\n        var newWrappers = [];\n        var wrapName, wrapElm, contentEditable = true;\n        wrapName = format.inline || format.block;\n        wrapElm = dom.create(wrapName);\n        setElementFormat(wrapElm);\n        RangeWalk.walk(dom, rng, function (nodes) {\n          var currentWrapElm;\n          var process = function (node) {\n            var nodeName, parentName, hasContentEditableState, lastContentEditable;\n            lastContentEditable = contentEditable;\n            nodeName = node.nodeName.toLowerCase();\n            parentName = node.parentNode.nodeName.toLowerCase();\n            if (node.nodeType === 1 && dom.getContentEditable(node)) {\n              lastContentEditable = contentEditable;\n              contentEditable = dom.getContentEditable(node) === 'true';\n              hasContentEditableState = true;\n            }\n            if (FormatUtils.isEq(nodeName, 'br')) {\n              currentWrapElm = 0;\n              if (format.block) {\n                dom.remove(node);\n              }\n              return;\n            }\n            if (format.wrapper && MatchFormat.matchNode(ed, node, name, vars)) {\n              currentWrapElm = 0;\n              return;\n            }\n            if (contentEditable && !hasContentEditableState && format.block && !format.wrapper && FormatUtils.isTextBlock(ed, nodeName) && FormatUtils.isValid(ed, parentName, wrapName)) {\n              node = dom.rename(node, wrapName);\n              setElementFormat(node);\n              newWrappers.push(node);\n              currentWrapElm = 0;\n              return;\n            }\n            if (format.selector) {\n              var found = applyNodeStyle(formatList, node);\n              if (!format.inline || found) {\n                currentWrapElm = 0;\n                return;\n              }\n            }\n            if (contentEditable && !hasContentEditableState && FormatUtils.isValid(ed, wrapName, nodeName) && FormatUtils.isValid(ed, parentName, wrapName) && !(!nodeSpecific && node.nodeType === 3 && node.nodeValue.length === 1 && node.nodeValue.charCodeAt(0) === 65279) && !isCaretNode(node) && (!format.inline || !dom.isBlock(node))) {\n              if (!currentWrapElm) {\n                currentWrapElm = dom.clone(wrapElm, false);\n                node.parentNode.insertBefore(currentWrapElm, node);\n                newWrappers.push(currentWrapElm);\n              }\n              currentWrapElm.appendChild(node);\n            } else {\n              currentWrapElm = 0;\n              each$f(Tools.grep(node.childNodes), process);\n              if (hasContentEditableState) {\n                contentEditable = lastContentEditable;\n              }\n              currentWrapElm = 0;\n            }\n          };\n          each$f(nodes, process);\n        });\n        if (format.links === true) {\n          each$f(newWrappers, function (node) {\n            var process = function (node) {\n              if (node.nodeName === 'A') {\n                setElementFormat(node, format);\n              }\n              each$f(Tools.grep(node.childNodes), process);\n            };\n            process(node);\n          });\n        }\n        each$f(newWrappers, function (node) {\n          var childCount;\n          var getChildCount = function (node) {\n            var count = 0;\n            each$f(node.childNodes, function (node) {\n              if (!FormatUtils.isWhiteSpaceNode(node) && !Bookmarks.isBookmarkNode(node)) {\n                count++;\n              }\n            });\n            return count;\n          };\n          var getChildElementNode = function (root) {\n            var child = false;\n            each$f(root.childNodes, function (node) {\n              if (isElementNode$1(node)) {\n                child = node;\n                return false;\n              }\n            });\n            return child;\n          };\n          var mergeStyles = function (node) {\n            var child, clone;\n            child = getChildElementNode(node);\n            if (child && !Bookmarks.isBookmarkNode(child) && MatchFormat.matchName(dom, child, format)) {\n              clone = dom.clone(child, false);\n              setElementFormat(clone);\n              dom.replace(clone, node, true);\n              dom.remove(child, 1);\n            }\n            return clone || node;\n          };\n          childCount = getChildCount(node);\n          if ((newWrappers.length > 1 || !dom.isBlock(node)) && childCount === 0) {\n            dom.remove(node, 1);\n            return;\n          }\n          if (format.inline || format.wrapper) {\n            if (!format.exact && childCount === 1) {\n              node = mergeStyles(node);\n            }\n            MergeFormats.mergeWithChildren(ed, formatList, vars, node);\n            MergeFormats.mergeWithParents(ed, format, name, vars, node);\n            MergeFormats.mergeBackgroundColorAndFontSize(dom, format, vars, node);\n            MergeFormats.mergeSubSup(dom, format, vars, node);\n            MergeFormats.mergeSiblings(dom, format, vars, node);\n          }\n        });\n      };\n      if (dom.getContentEditable(selection.getNode()) === 'false') {\n        node = selection.getNode();\n        for (var i = 0, l = formatList.length; i < l; i++) {\n          if (formatList[i].ceFalseOverride && dom.is(node, formatList[i].selector)) {\n            setElementFormat(node, formatList[i]);\n            return;\n          }\n        }\n        return;\n      }\n      if (format) {\n        if (node) {\n          if (node.nodeType) {\n            if (!applyNodeStyle(formatList, node)) {\n              rng = dom.createRng();\n              rng.setStartBefore(node);\n              rng.setEndAfter(node);\n              applyRngStyle(dom, ExpandRange.expandRng(ed, rng, formatList), null, true);\n            }\n          } else {\n            applyRngStyle(dom, node, null, true);\n          }\n        } else {\n          if (!isCollapsed || !format.inline || dom.select('td[data-mce-selected],th[data-mce-selected]').length) {\n            var curSelNode = ed.selection.getNode();\n            if (!ed.settings.forced_root_block && formatList[0].defaultBlock && !dom.getParent(curSelNode, dom.isBlock)) {\n              applyFormat(ed, formatList[0].defaultBlock);\n            }\n            ed.selection.setRng(RangeNormalizer.normalize(ed.selection.getRng()));\n            bookmark = GetBookmark.getPersistentBookmark(ed.selection, true);\n            applyRngStyle(dom, ExpandRange.expandRng(ed, selection.getRng(), formatList), bookmark);\n            if (format.styles) {\n              MergeFormats.mergeUnderlineAndColor(dom, format, vars, curSelNode);\n            }\n            selection.moveToBookmark(bookmark);\n            FormatUtils.moveStart(dom, selection, selection.getRng());\n            ed.nodeChanged();\n          } else {\n            applyCaretFormat(ed, name, vars);\n          }\n        }\n        Hooks.postProcess(name, ed);\n      }\n    };\n    var ApplyFormat = { applyFormat: applyFormat };\n\n    var each$g = Tools.each;\n    var setup$5 = function (formatChangeData, editor) {\n      var currentFormats = {};\n      formatChangeData.set({});\n      editor.on('NodeChange', function (e) {\n        var parents = FormatUtils.getParents(editor.dom, e.element);\n        var matchedFormats = {};\n        parents = Tools.grep(parents, function (node) {\n          return node.nodeType === 1 && !node.getAttribute('data-mce-bogus');\n        });\n        each$g(formatChangeData.get(), function (callbacks, format) {\n          each$g(parents, function (node) {\n            if (editor.formatter.matchNode(node, format, {}, callbacks.similar)) {\n              if (!currentFormats[format]) {\n                each$g(callbacks, function (callback) {\n                  callback(true, {\n                    node: node,\n                    format: format,\n                    parents: parents\n                  });\n                });\n                currentFormats[format] = callbacks;\n              }\n              matchedFormats[format] = callbacks;\n              return false;\n            }\n            if (MatchFormat.matchesUnInheritedFormatSelector(editor, node, format)) {\n              return false;\n            }\n          });\n        });\n        each$g(currentFormats, function (callbacks, format) {\n          if (!matchedFormats[format]) {\n            delete currentFormats[format];\n            each$g(callbacks, function (callback) {\n              callback(false, {\n                node: e.element,\n                format: format,\n                parents: parents\n              });\n            });\n          }\n        });\n      });\n    };\n    var addListeners = function (formatChangeData, formats, callback, similar) {\n      var formatChangeItems = formatChangeData.get();\n      each$g(formats.split(','), function (format) {\n        if (!formatChangeItems[format]) {\n          formatChangeItems[format] = [];\n          formatChangeItems[format].similar = similar;\n        }\n        formatChangeItems[format].push(callback);\n      });\n      formatChangeData.set(formatChangeItems);\n    };\n    var formatChanged = function (editor, formatChangeState, formats, callback, similar) {\n      if (formatChangeState.get() === null) {\n        setup$5(formatChangeState, editor);\n      }\n      addListeners(formatChangeState, formats, callback, similar);\n    };\n    var FormatChanged = { formatChanged: formatChanged };\n\n    var get$8 = function (dom) {\n      var formats = {\n        valigntop: [{\n            selector: 'td,th',\n            styles: { verticalAlign: 'top' }\n          }],\n        valignmiddle: [{\n            selector: 'td,th',\n            styles: { verticalAlign: 'middle' }\n          }],\n        valignbottom: [{\n            selector: 'td,th',\n            styles: { verticalAlign: 'bottom' }\n          }],\n        alignleft: [\n          {\n            selector: 'figure.image',\n            collapsed: false,\n            classes: 'align-left',\n            ceFalseOverride: true,\n            preview: 'font-family font-size'\n          },\n          {\n            selector: 'figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li',\n            styles: { textAlign: 'left' },\n            inherit: false,\n            preview: false,\n            defaultBlock: 'div'\n          },\n          {\n            selector: 'img,table',\n            collapsed: false,\n            styles: { float: 'left' },\n            preview: 'font-family font-size'\n          }\n        ],\n        aligncenter: [\n          {\n            selector: 'figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li',\n            styles: { textAlign: 'center' },\n            inherit: false,\n            preview: 'font-family font-size',\n            defaultBlock: 'div'\n          },\n          {\n            selector: 'figure.image',\n            collapsed: false,\n            classes: 'align-center',\n            ceFalseOverride: true,\n            preview: 'font-family font-size'\n          },\n          {\n            selector: 'img',\n            collapsed: false,\n            styles: {\n              display: 'block',\n              marginLeft: 'auto',\n              marginRight: 'auto'\n            },\n            preview: false\n          },\n          {\n            selector: 'table',\n            collapsed: false,\n            styles: {\n              marginLeft: 'auto',\n              marginRight: 'auto'\n            },\n            preview: 'font-family font-size'\n          }\n        ],\n        alignright: [\n          {\n            selector: 'figure.image',\n            collapsed: false,\n            classes: 'align-right',\n            ceFalseOverride: true,\n            preview: 'font-family font-size'\n          },\n          {\n            selector: 'figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li',\n            styles: { textAlign: 'right' },\n            inherit: false,\n            preview: 'font-family font-size',\n            defaultBlock: 'div'\n          },\n          {\n            selector: 'img,table',\n            collapsed: false,\n            styles: { float: 'right' },\n            preview: 'font-family font-size'\n          }\n        ],\n        alignjustify: [{\n            selector: 'figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li',\n            styles: { textAlign: 'justify' },\n            inherit: false,\n            defaultBlock: 'div',\n            preview: 'font-family font-size'\n          }],\n        bold: [\n          {\n            inline: 'strong',\n            remove: 'all'\n          },\n          {\n            inline: 'span',\n            styles: { fontWeight: 'bold' }\n          },\n          {\n            inline: 'b',\n            remove: 'all'\n          }\n        ],\n        italic: [\n          {\n            inline: 'em',\n            remove: 'all'\n          },\n          {\n            inline: 'span',\n            styles: { fontStyle: 'italic' }\n          },\n          {\n            inline: 'i',\n            remove: 'all'\n          }\n        ],\n        underline: [\n          {\n            inline: 'span',\n            styles: { textDecoration: 'underline' },\n            exact: true\n          },\n          {\n            inline: 'u',\n            remove: 'all'\n          }\n        ],\n        strikethrough: [\n          {\n            inline: 'span',\n            styles: { textDecoration: 'line-through' },\n            exact: true\n          },\n          {\n            inline: 'strike',\n            remove: 'all'\n          }\n        ],\n        forecolor: {\n          inline: 'span',\n          styles: { color: '%value' },\n          links: true,\n          remove_similar: true,\n          clear_child_styles: true\n        },\n        hilitecolor: {\n          inline: 'span',\n          styles: { backgroundColor: '%value' },\n          links: true,\n          remove_similar: true,\n          clear_child_styles: true\n        },\n        fontname: {\n          inline: 'span',\n          toggle: false,\n          styles: { fontFamily: '%value' },\n          clear_child_styles: true\n        },\n        fontsize: {\n          inline: 'span',\n          toggle: false,\n          styles: { fontSize: '%value' },\n          clear_child_styles: true\n        },\n        fontsize_class: {\n          inline: 'span',\n          attributes: { class: '%value' }\n        },\n        blockquote: {\n          block: 'blockquote',\n          wrapper: 1,\n          remove: 'all'\n        },\n        subscript: { inline: 'sub' },\n        superscript: { inline: 'sup' },\n        code: { inline: 'code' },\n        link: {\n          inline: 'a',\n          selector: 'a',\n          remove: 'all',\n          split: true,\n          deep: true,\n          onmatch: function () {\n            return true;\n          },\n          onformat: function (elm, fmt, vars) {\n            Tools.each(vars, function (value, key) {\n              dom.setAttrib(elm, key, value);\n            });\n          }\n        },\n        removeformat: [\n          {\n            selector: 'b,strong,em,i,font,u,strike,sub,sup,dfn,code,samp,kbd,var,cite,mark,q,del,ins',\n            remove: 'all',\n            split: true,\n            expand: false,\n            block_expand: true,\n            deep: true\n          },\n          {\n            selector: 'span',\n            attributes: [\n              'style',\n              'class'\n            ],\n            remove: 'empty',\n            split: true,\n            expand: false,\n            deep: true\n          },\n          {\n            selector: '*',\n            attributes: [\n              'style',\n              'class'\n            ],\n            split: false,\n            expand: false,\n            deep: true\n          }\n        ]\n      };\n      Tools.each('p h1 h2 h3 h4 h5 h6 div address pre div dt dd samp'.split(/\\s/), function (name) {\n        formats[name] = {\n          block: name,\n          remove: 'all'\n        };\n      });\n      return formats;\n    };\n    var DefaultFormats = { get: get$8 };\n\n    function FormatRegistry (editor) {\n      var formats = {};\n      var get = function (name) {\n        return name ? formats[name] : formats;\n      };\n      var register = function (name, format) {\n        if (name) {\n          if (typeof name !== 'string') {\n            Tools.each(name, function (format, name) {\n              register(name, format);\n            });\n          } else {\n            format = format.length ? format : [format];\n            Tools.each(format, function (format) {\n              if (typeof format.deep === 'undefined') {\n                format.deep = !format.selector;\n              }\n              if (typeof format.split === 'undefined') {\n                format.split = !format.selector || format.inline;\n              }\n              if (typeof format.remove === 'undefined' && format.selector && !format.inline) {\n                format.remove = 'none';\n              }\n              if (format.selector && format.inline) {\n                format.mixed = true;\n                format.block_expand = true;\n              }\n              if (typeof format.classes === 'string') {\n                format.classes = format.classes.split(/\\s+/);\n              }\n            });\n            formats[name] = format;\n          }\n        }\n      };\n      var unregister = function (name) {\n        if (name && formats[name]) {\n          delete formats[name];\n        }\n        return formats;\n      };\n      register(DefaultFormats.get(editor.dom));\n      register(editor.settings.formats);\n      return {\n        get: get,\n        register: register,\n        unregister: unregister\n      };\n    }\n\n    var each$h = Tools.each;\n    var dom = DOMUtils$1.DOM;\n    var parsedSelectorToHtml = function (ancestry, editor) {\n      var elm, item, fragment;\n      var schema = editor && editor.schema || Schema({});\n      var decorate = function (elm, item) {\n        if (item.classes.length) {\n          dom.addClass(elm, item.classes.join(' '));\n        }\n        dom.setAttribs(elm, item.attrs);\n      };\n      var createElement = function (sItem) {\n        var elm;\n        item = typeof sItem === 'string' ? {\n          name: sItem,\n          classes: [],\n          attrs: {}\n        } : sItem;\n        elm = dom.create(item.name);\n        decorate(elm, item);\n        return elm;\n      };\n      var getRequiredParent = function (elm, candidate) {\n        var name = typeof elm !== 'string' ? elm.nodeName.toLowerCase() : elm;\n        var elmRule = schema.getElementRule(name);\n        var parentsRequired = elmRule && elmRule.parentsRequired;\n        if (parentsRequired && parentsRequired.length) {\n          return candidate && Tools.inArray(parentsRequired, candidate) !== -1 ? candidate : parentsRequired[0];\n        } else {\n          return false;\n        }\n      };\n      var wrapInHtml = function (elm, ancestry, siblings) {\n        var parent, parentCandidate, parentRequired;\n        var ancestor = ancestry.length > 0 && ancestry[0];\n        var ancestorName = ancestor && ancestor.name;\n        parentRequired = getRequiredParent(elm, ancestorName);\n        if (parentRequired) {\n          if (ancestorName === parentRequired) {\n            parentCandidate = ancestry[0];\n            ancestry = ancestry.slice(1);\n          } else {\n            parentCandidate = parentRequired;\n          }\n        } else if (ancestor) {\n          parentCandidate = ancestry[0];\n          ancestry = ancestry.slice(1);\n        } else if (!siblings) {\n          return elm;\n        }\n        if (parentCandidate) {\n          parent = createElement(parentCandidate);\n          parent.appendChild(elm);\n        }\n        if (siblings) {\n          if (!parent) {\n            parent = dom.create('div');\n            parent.appendChild(elm);\n          }\n          Tools.each(siblings, function (sibling) {\n            var siblingElm = createElement(sibling);\n            parent.insertBefore(siblingElm, elm);\n          });\n        }\n        return wrapInHtml(parent, ancestry, parentCandidate && parentCandidate.siblings);\n      };\n      if (ancestry && ancestry.length) {\n        item = ancestry[0];\n        elm = createElement(item);\n        fragment = dom.create('div');\n        fragment.appendChild(wrapInHtml(elm, ancestry.slice(1), item.siblings));\n        return fragment;\n      } else {\n        return '';\n      }\n    };\n    var selectorToHtml = function (selector, editor) {\n      return parsedSelectorToHtml(parseSelector(selector), editor);\n    };\n    var parseSelectorItem = function (item) {\n      var tagName;\n      var obj = {\n        classes: [],\n        attrs: {}\n      };\n      item = obj.selector = Tools.trim(item);\n      if (item !== '*') {\n        tagName = item.replace(/(?:([#\\.]|::?)([\\w\\-]+)|(\\[)([^\\]]+)\\]?)/g, function ($0, $1, $2, $3, $4) {\n          switch ($1) {\n          case '#':\n            obj.attrs.id = $2;\n            break;\n          case '.':\n            obj.classes.push($2);\n            break;\n          case ':':\n            if (Tools.inArray('checked disabled enabled read-only required'.split(' '), $2) !== -1) {\n              obj.attrs[$2] = $2;\n            }\n            break;\n          }\n          if ($3 === '[') {\n            var m = $4.match(/([\\w\\-]+)(?:\\=\\\"([^\\\"]+))?/);\n            if (m) {\n              obj.attrs[m[1]] = m[2];\n            }\n          }\n          return '';\n        });\n      }\n      obj.name = tagName || 'div';\n      return obj;\n    };\n    var parseSelector = function (selector) {\n      if (!selector || typeof selector !== 'string') {\n        return [];\n      }\n      selector = selector.split(/\\s*,\\s*/)[0];\n      selector = selector.replace(/\\s*(~\\+|~|\\+|>)\\s*/g, '$1');\n      return Tools.map(selector.split(/(?:>|\\s+(?![^\\[\\]]+\\]))/), function (item) {\n        var siblings = Tools.map(item.split(/(?:~\\+|~|\\+)/), parseSelectorItem);\n        var obj = siblings.pop();\n        if (siblings.length) {\n          obj.siblings = siblings;\n        }\n        return obj;\n      }).reverse();\n    };\n    var getCssText = function (editor, format) {\n      var name, previewFrag, previewElm, items;\n      var previewCss = '', parentFontSize, previewStyles;\n      previewStyles = editor.settings.preview_styles;\n      if (previewStyles === false) {\n        return '';\n      }\n      if (typeof previewStyles !== 'string') {\n        previewStyles = 'font-family font-size font-weight font-style text-decoration ' + 'text-transform color background-color border border-radius outline text-shadow';\n      }\n      var removeVars = function (val) {\n        return val.replace(/%(\\w+)/g, '');\n      };\n      if (typeof format === 'string') {\n        format = editor.formatter.get(format);\n        if (!format) {\n          return;\n        }\n        format = format[0];\n      }\n      if ('preview' in format) {\n        previewStyles = format.preview;\n        if (previewStyles === false) {\n          return '';\n        }\n      }\n      name = format.block || format.inline || 'span';\n      items = parseSelector(format.selector);\n      if (items.length) {\n        if (!items[0].name) {\n          items[0].name = name;\n        }\n        name = format.selector;\n        previewFrag = parsedSelectorToHtml(items, editor);\n      } else {\n        previewFrag = parsedSelectorToHtml([name], editor);\n      }\n      previewElm = dom.select(name, previewFrag)[0] || previewFrag.firstChild;\n      each$h(format.styles, function (value, name) {\n        value = removeVars(value);\n        if (value) {\n          dom.setStyle(previewElm, name, value);\n        }\n      });\n      each$h(format.attributes, function (value, name) {\n        value = removeVars(value);\n        if (value) {\n          dom.setAttrib(previewElm, name, value);\n        }\n      });\n      each$h(format.classes, function (value) {\n        value = removeVars(value);\n        if (!dom.hasClass(previewElm, value)) {\n          dom.addClass(previewElm, value);\n        }\n      });\n      editor.fire('PreviewFormats');\n      dom.setStyles(previewFrag, {\n        position: 'absolute',\n        left: -65535\n      });\n      editor.getBody().appendChild(previewFrag);\n      parentFontSize = dom.getStyle(editor.getBody(), 'fontSize', true);\n      parentFontSize = /px$/.test(parentFontSize) ? parseInt(parentFontSize, 10) : 0;\n      each$h(previewStyles.split(' '), function (name) {\n        var value = dom.getStyle(previewElm, name, true);\n        if (name === 'background-color' && /transparent|rgba\\s*\\([^)]+,\\s*0\\)/.test(value)) {\n          value = dom.getStyle(editor.getBody(), name, true);\n          if (dom.toHex(value).toLowerCase() === '#ffffff') {\n            return;\n          }\n        }\n        if (name === 'color') {\n          if (dom.toHex(value).toLowerCase() === '#000000') {\n            return;\n          }\n        }\n        if (name === 'font-size') {\n          if (/em|%$/.test(value)) {\n            if (parentFontSize === 0) {\n              return;\n            }\n            var numValue = parseFloat(value) / (/%$/.test(value) ? 100 : 1);\n            value = numValue * parentFontSize + 'px';\n          }\n        }\n        if (name === 'border' && value) {\n          previewCss += 'padding:0 2px;';\n        }\n        previewCss += name + ':' + value + ';';\n      });\n      editor.fire('AfterPreviewFormats');\n      dom.remove(previewFrag);\n      return previewCss;\n    };\n    var Preview = {\n      getCssText: getCssText,\n      parseSelector: parseSelector,\n      selectorToHtml: selectorToHtml\n    };\n\n    var toggle$3 = function (editor, formats, name, vars, node) {\n      var fmt = formats.get(name);\n      if (MatchFormat.match(editor, name, vars, node) && (!('toggle' in fmt[0]) || fmt[0].toggle)) {\n        RemoveFormat.remove(editor, name, vars, node);\n      } else {\n        ApplyFormat.applyFormat(editor, name, vars, node);\n      }\n    };\n    var ToggleFormat = { toggle: toggle$3 };\n\n    var setup$6 = function (editor) {\n      editor.addShortcut('meta+b', '', 'Bold');\n      editor.addShortcut('meta+i', '', 'Italic');\n      editor.addShortcut('meta+u', '', 'Underline');\n      for (var i = 1; i <= 6; i++) {\n        editor.addShortcut('access+' + i, '', [\n          'FormatBlock',\n          false,\n          'h' + i\n        ]);\n      }\n      editor.addShortcut('access+7', '', [\n        'FormatBlock',\n        false,\n        'p'\n      ]);\n      editor.addShortcut('access+8', '', [\n        'FormatBlock',\n        false,\n        'div'\n      ]);\n      editor.addShortcut('access+9', '', [\n        'FormatBlock',\n        false,\n        'address'\n      ]);\n    };\n    var FormatShortcuts = { setup: setup$6 };\n\n    function Formatter (editor) {\n      var formats = FormatRegistry(editor);\n      var formatChangeState = Cell(null);\n      FormatShortcuts.setup(editor);\n      setup$4(editor);\n      return {\n        get: formats.get,\n        register: formats.register,\n        unregister: formats.unregister,\n        apply: curry(ApplyFormat.applyFormat, editor),\n        remove: curry(RemoveFormat.remove, editor),\n        toggle: curry(ToggleFormat.toggle, editor, formats),\n        match: curry(MatchFormat.match, editor),\n        matchAll: curry(MatchFormat.matchAll, editor),\n        matchNode: curry(MatchFormat.matchNode, editor),\n        canApply: curry(MatchFormat.canApply, editor),\n        formatChanged: curry(FormatChanged.formatChanged, editor, formatChangeState),\n        getCssText: curry(Preview.getCssText, editor)\n      };\n    }\n\n    var hasOwnProperty$2 = Object.prototype.hasOwnProperty;\n    var shallow$1 = function (old, nu) {\n      return nu;\n    };\n    var baseMerge = function (merger) {\n      return function () {\n        var objects = new Array(arguments.length);\n        for (var i = 0; i < objects.length; i++)\n          objects[i] = arguments[i];\n        if (objects.length === 0)\n          throw new Error('Can\\'t merge zero objects');\n        var ret = {};\n        for (var j = 0; j < objects.length; j++) {\n          var curObject = objects[j];\n          for (var key in curObject)\n            if (hasOwnProperty$2.call(curObject, key)) {\n              ret[key] = merger(ret[key], curObject[key]);\n            }\n        }\n        return ret;\n      };\n    };\n    var merge = baseMerge(shallow$1);\n\n    var register = function (htmlParser, settings, dom) {\n      htmlParser.addAttributeFilter('data-mce-tabindex', function (nodes, name) {\n        var i = nodes.length, node;\n        while (i--) {\n          node = nodes[i];\n          node.attr('tabindex', node.attributes.map['data-mce-tabindex']);\n          node.attr(name, null);\n        }\n      });\n      htmlParser.addAttributeFilter('src,href,style', function (nodes, name) {\n        var i = nodes.length, node, value;\n        var internalName = 'data-mce-' + name;\n        var urlConverter = settings.url_converter;\n        var urlConverterScope = settings.url_converter_scope;\n        while (i--) {\n          node = nodes[i];\n          value = node.attributes.map[internalName];\n          if (value !== undefined) {\n            node.attr(name, value.length > 0 ? value : null);\n            node.attr(internalName, null);\n          } else {\n            value = node.attributes.map[name];\n            if (name === 'style') {\n              value = dom.serializeStyle(dom.parseStyle(value), node.name);\n            } else if (urlConverter) {\n              value = urlConverter.call(urlConverterScope, value, name, node.name);\n            }\n            node.attr(name, value.length > 0 ? value : null);\n          }\n        }\n      });\n      htmlParser.addAttributeFilter('class', function (nodes) {\n        var i = nodes.length, node, value;\n        while (i--) {\n          node = nodes[i];\n          value = node.attr('class');\n          if (value) {\n            value = node.attr('class').replace(/(?:^|\\s)mce-item-\\w+(?!\\S)/g, '');\n            node.attr('class', value.length > 0 ? value : null);\n          }\n        }\n      });\n      htmlParser.addAttributeFilter('data-mce-type', function (nodes, name, args) {\n        var i = nodes.length, node;\n        while (i--) {\n          node = nodes[i];\n          if (node.attributes.map['data-mce-type'] === 'bookmark' && !args.cleanup) {\n            node.remove();\n          }\n        }\n      });\n      htmlParser.addNodeFilter('noscript', function (nodes) {\n        var i = nodes.length, node;\n        while (i--) {\n          node = nodes[i].firstChild;\n          if (node) {\n            node.value = Entities.decode(node.value);\n          }\n        }\n      });\n      htmlParser.addNodeFilter('script,style', function (nodes, name) {\n        var i = nodes.length, node, value, type;\n        var trim = function (value) {\n          return value.replace(/(<!--\\[CDATA\\[|\\]\\]-->)/g, '\\n').replace(/^[\\r\\n]*|[\\r\\n]*$/g, '').replace(/^\\s*((<!--)?(\\s*\\/\\/)?\\s*<!\\[CDATA\\[|(<!--\\s*)?\\/\\*\\s*<!\\[CDATA\\[\\s*\\*\\/|(\\/\\/)?\\s*<!--|\\/\\*\\s*<!--\\s*\\*\\/)\\s*[\\r\\n]*/gi, '').replace(/\\s*(\\/\\*\\s*\\]\\]>\\s*\\*\\/(-->)?|\\s*\\/\\/\\s*\\]\\]>(-->)?|\\/\\/\\s*(-->)?|\\]\\]>|\\/\\*\\s*-->\\s*\\*\\/|\\s*-->\\s*)\\s*$/g, '');\n        };\n        while (i--) {\n          node = nodes[i];\n          value = node.firstChild ? node.firstChild.value : '';\n          if (name === 'script') {\n            type = node.attr('type');\n            if (type) {\n              node.attr('type', type === 'mce-no/type' ? null : type.replace(/^mce\\-/, ''));\n            }\n            if (settings.element_format === 'xhtml' && value.length > 0) {\n              node.firstChild.value = '// <![CDATA[\\n' + trim(value) + '\\n// ]]>';\n            }\n          } else {\n            if (settings.element_format === 'xhtml' && value.length > 0) {\n              node.firstChild.value = '<!--\\n' + trim(value) + '\\n-->';\n            }\n          }\n        }\n      });\n      htmlParser.addNodeFilter('#comment', function (nodes) {\n        var i = nodes.length, node;\n        while (i--) {\n          node = nodes[i];\n          if (node.value.indexOf('[CDATA[') === 0) {\n            node.name = '#cdata';\n            node.type = 4;\n            node.value = node.value.replace(/^\\[CDATA\\[|\\]\\]$/g, '');\n          } else if (node.value.indexOf('mce:protected ') === 0) {\n            node.name = '#text';\n            node.type = 3;\n            node.raw = true;\n            node.value = unescape(node.value).substr(14);\n          }\n        }\n      });\n      htmlParser.addNodeFilter('xml:namespace,input', function (nodes, name) {\n        var i = nodes.length, node;\n        while (i--) {\n          node = nodes[i];\n          if (node.type === 7) {\n            node.remove();\n          } else if (node.type === 1) {\n            if (name === 'input' && !('type' in node.attributes.map)) {\n              node.attr('type', 'text');\n            }\n          }\n        }\n      });\n      htmlParser.addAttributeFilter('data-mce-type', function (nodes) {\n        each(nodes, function (node) {\n          if (node.attr('data-mce-type') === 'format-caret') {\n            if (node.isEmpty(htmlParser.schema.getNonEmptyElements())) {\n              node.remove();\n            } else {\n              node.unwrap();\n            }\n          }\n        });\n      });\n      htmlParser.addAttributeFilter('data-mce-src,data-mce-href,data-mce-style,' + 'data-mce-selected,data-mce-expando,' + 'data-mce-type,data-mce-resize', function (nodes, name) {\n        var i = nodes.length;\n        while (i--) {\n          nodes[i].attr(name, null);\n        }\n      });\n    };\n    var trimTrailingBr = function (rootNode) {\n      var brNode1, brNode2;\n      var isBr = function (node) {\n        return node && node.name === 'br';\n      };\n      brNode1 = rootNode.lastChild;\n      if (isBr(brNode1)) {\n        brNode2 = brNode1.prev;\n        if (isBr(brNode2)) {\n          brNode1.remove();\n          brNode2.remove();\n        }\n      }\n    };\n    var DomSerializerFilters = {\n      register: register,\n      trimTrailingBr: trimTrailingBr\n    };\n\n    var preProcess = function (editor, node, args) {\n      var impl, doc, oldDoc;\n      var dom = editor.dom;\n      node = node.cloneNode(true);\n      impl = document.implementation;\n      if (impl.createHTMLDocument) {\n        doc = impl.createHTMLDocument('');\n        Tools.each(node.nodeName === 'BODY' ? node.childNodes : [node], function (node) {\n          doc.body.appendChild(doc.importNode(node, true));\n        });\n        if (node.nodeName !== 'BODY') {\n          node = doc.body.firstChild;\n        } else {\n          node = doc.body;\n        }\n        oldDoc = dom.doc;\n        dom.doc = doc;\n      }\n      Events.firePreProcess(editor, merge(args, { node: node }));\n      if (oldDoc) {\n        dom.doc = oldDoc;\n      }\n      return node;\n    };\n    var shouldFireEvent = function (editor, args) {\n      return editor && editor.hasEventListeners('PreProcess') && !args.no_events;\n    };\n    var process = function (editor, node, args) {\n      return shouldFireEvent(editor, args) ? preProcess(editor, node, args) : node;\n    };\n    var DomSerializerPreProcess = { process: process };\n\n    var removeAttrs = function (node, names) {\n      each(names, function (name) {\n        node.attr(name, null);\n      });\n    };\n    var addFontToSpansFilter = function (domParser, styles, fontSizes) {\n      domParser.addNodeFilter('font', function (nodes) {\n        each(nodes, function (node) {\n          var props = styles.parse(node.attr('style'));\n          var color = node.attr('color');\n          var face = node.attr('face');\n          var size = node.attr('size');\n          if (color) {\n            props.color = color;\n          }\n          if (face) {\n            props['font-family'] = face;\n          }\n          if (size) {\n            props['font-size'] = fontSizes[parseInt(node.attr('size'), 10) - 1];\n          }\n          node.name = 'span';\n          node.attr('style', styles.serialize(props));\n          removeAttrs(node, [\n            'color',\n            'face',\n            'size'\n          ]);\n        });\n      });\n    };\n    var addStrikeToSpanFilter = function (domParser, styles) {\n      domParser.addNodeFilter('strike', function (nodes) {\n        each(nodes, function (node) {\n          var props = styles.parse(node.attr('style'));\n          props['text-decoration'] = 'line-through';\n          node.name = 'span';\n          node.attr('style', styles.serialize(props));\n        });\n      });\n    };\n    var addFilters = function (domParser, settings) {\n      var styles = Styles();\n      if (settings.convert_fonts_to_spans) {\n        addFontToSpansFilter(domParser, styles, Tools.explode(settings.font_size_legacy_values));\n      }\n      addStrikeToSpanFilter(domParser, styles);\n    };\n    var register$1 = function (domParser, settings) {\n      if (settings.inline_styles) {\n        addFilters(domParser, settings);\n      }\n    };\n    var LegacyFilter = { register: register$1 };\n\n    var whiteSpaceRegExp$3 = /^[ \\t\\r\\n]*$/;\n    var typeLookup = {\n      '#text': 3,\n      '#comment': 8,\n      '#cdata': 4,\n      '#pi': 7,\n      '#doctype': 10,\n      '#document-fragment': 11\n    };\n    var walk$2 = function (node, root, prev) {\n      var sibling;\n      var parent;\n      var startName = prev ? 'lastChild' : 'firstChild';\n      var siblingName = prev ? 'prev' : 'next';\n      if (node[startName]) {\n        return node[startName];\n      }\n      if (node !== root) {\n        sibling = node[siblingName];\n        if (sibling) {\n          return sibling;\n        }\n        for (parent = node.parent; parent && parent !== root; parent = parent.parent) {\n          sibling = parent[siblingName];\n          if (sibling) {\n            return sibling;\n          }\n        }\n      }\n    };\n    var Node$2 = function () {\n      function Node(name, type) {\n        this.name = name;\n        this.type = type;\n        if (type === 1) {\n          this.attributes = [];\n          this.attributes.map = {};\n        }\n      }\n      Node.create = function (name, attrs) {\n        var node, attrName;\n        node = new Node(name, typeLookup[name] || 1);\n        if (attrs) {\n          for (attrName in attrs) {\n            node.attr(attrName, attrs[attrName]);\n          }\n        }\n        return node;\n      };\n      Node.prototype.replace = function (node) {\n        var self = this;\n        if (node.parent) {\n          node.remove();\n        }\n        self.insert(node, self);\n        self.remove();\n        return self;\n      };\n      Node.prototype.attr = function (name, value) {\n        var self = this;\n        var attrs, i;\n        if (typeof name !== 'string') {\n          for (i in name) {\n            self.attr(i, name[i]);\n          }\n          return self;\n        }\n        if (attrs = self.attributes) {\n          if (value !== undefined) {\n            if (value === null) {\n              if (name in attrs.map) {\n                delete attrs.map[name];\n                i = attrs.length;\n                while (i--) {\n                  if (attrs[i].name === name) {\n                    attrs = attrs.splice(i, 1);\n                    return self;\n                  }\n                }\n              }\n              return self;\n            }\n            if (name in attrs.map) {\n              i = attrs.length;\n              while (i--) {\n                if (attrs[i].name === name) {\n                  attrs[i].value = value;\n                  break;\n                }\n              }\n            } else {\n              attrs.push({\n                name: name,\n                value: value\n              });\n            }\n            attrs.map[name] = value;\n            return self;\n          }\n          return attrs.map[name];\n        }\n      };\n      Node.prototype.clone = function () {\n        var self = this;\n        var clone = new Node(self.name, self.type);\n        var i, l, selfAttrs, selfAttr, cloneAttrs;\n        if (selfAttrs = self.attributes) {\n          cloneAttrs = [];\n          cloneAttrs.map = {};\n          for (i = 0, l = selfAttrs.length; i < l; i++) {\n            selfAttr = selfAttrs[i];\n            if (selfAttr.name !== 'id') {\n              cloneAttrs[cloneAttrs.length] = {\n                name: selfAttr.name,\n                value: selfAttr.value\n              };\n              cloneAttrs.map[selfAttr.name] = selfAttr.value;\n            }\n          }\n          clone.attributes = cloneAttrs;\n        }\n        clone.value = self.value;\n        clone.shortEnded = self.shortEnded;\n        return clone;\n      };\n      Node.prototype.wrap = function (wrapper) {\n        var self = this;\n        self.parent.insert(wrapper, self);\n        wrapper.append(self);\n        return self;\n      };\n      Node.prototype.unwrap = function () {\n        var self = this;\n        var node, next;\n        for (node = self.firstChild; node;) {\n          next = node.next;\n          self.insert(node, self, true);\n          node = next;\n        }\n        self.remove();\n      };\n      Node.prototype.remove = function () {\n        var self = this, parent = self.parent, next = self.next, prev = self.prev;\n        if (parent) {\n          if (parent.firstChild === self) {\n            parent.firstChild = next;\n            if (next) {\n              next.prev = null;\n            }\n          } else {\n            prev.next = next;\n          }\n          if (parent.lastChild === self) {\n            parent.lastChild = prev;\n            if (prev) {\n              prev.next = null;\n            }\n          } else {\n            next.prev = prev;\n          }\n          self.parent = self.next = self.prev = null;\n        }\n        return self;\n      };\n      Node.prototype.append = function (node) {\n        var self = this;\n        var last;\n        if (node.parent) {\n          node.remove();\n        }\n        last = self.lastChild;\n        if (last) {\n          last.next = node;\n          node.prev = last;\n          self.lastChild = node;\n        } else {\n          self.lastChild = self.firstChild = node;\n        }\n        node.parent = self;\n        return node;\n      };\n      Node.prototype.insert = function (node, refNode, before) {\n        var parent;\n        if (node.parent) {\n          node.remove();\n        }\n        parent = refNode.parent || this;\n        if (before) {\n          if (refNode === parent.firstChild) {\n            parent.firstChild = node;\n          } else {\n            refNode.prev.next = node;\n          }\n          node.prev = refNode.prev;\n          node.next = refNode;\n          refNode.prev = node;\n        } else {\n          if (refNode === parent.lastChild) {\n            parent.lastChild = node;\n          } else {\n            refNode.next.prev = node;\n          }\n          node.next = refNode.next;\n          node.prev = refNode;\n          refNode.next = node;\n        }\n        node.parent = parent;\n        return node;\n      };\n      Node.prototype.getAll = function (name) {\n        var self = this;\n        var node;\n        var collection = [];\n        for (node = self.firstChild; node; node = walk$2(node, self)) {\n          if (node.name === name) {\n            collection.push(node);\n          }\n        }\n        return collection;\n      };\n      Node.prototype.empty = function () {\n        var self = this;\n        var nodes, i, node;\n        if (self.firstChild) {\n          nodes = [];\n          for (node = self.firstChild; node; node = walk$2(node, self)) {\n            nodes.push(node);\n          }\n          i = nodes.length;\n          while (i--) {\n            node = nodes[i];\n            node.parent = node.firstChild = node.lastChild = node.next = node.prev = null;\n          }\n        }\n        self.firstChild = self.lastChild = null;\n        return self;\n      };\n      Node.prototype.isEmpty = function (elements, whitespace, predicate) {\n        var self = this;\n        var node = self.firstChild, i, name;\n        whitespace = whitespace || {};\n        if (node) {\n          do {\n            if (node.type === 1) {\n              if (node.attributes.map['data-mce-bogus']) {\n                continue;\n              }\n              if (elements[node.name]) {\n                return false;\n              }\n              i = node.attributes.length;\n              while (i--) {\n                name = node.attributes[i].name;\n                if (name === 'name' || name.indexOf('data-mce-bookmark') === 0) {\n                  return false;\n                }\n              }\n            }\n            if (node.type === 8) {\n              return false;\n            }\n            if (node.type === 3 && !whiteSpaceRegExp$3.test(node.value)) {\n              return false;\n            }\n            if (node.type === 3 && node.parent && whitespace[node.parent.name] && whiteSpaceRegExp$3.test(node.value)) {\n              return false;\n            }\n            if (predicate && predicate(node)) {\n              return false;\n            }\n          } while (node = walk$2(node, self));\n        }\n        return true;\n      };\n      Node.prototype.walk = function (prev) {\n        return walk$2(this, null, prev);\n      };\n      return Node;\n    }();\n\n    var paddEmptyNode = function (settings, args, blockElements, node) {\n      var brPreferred = settings.padd_empty_with_br || args.insert;\n      if (brPreferred && blockElements[node.name]) {\n        node.empty().append(new Node$2('br', 1)).shortEnded = true;\n      } else {\n        node.empty().append(new Node$2('#text', 3)).value = '\\xA0';\n      }\n    };\n    var isPaddedWithNbsp = function (node) {\n      return hasOnlyChild(node, '#text') && node.firstChild.value === '\\xA0';\n    };\n    var hasOnlyChild = function (node, name) {\n      return node && node.firstChild && node.firstChild === node.lastChild && node.firstChild.name === name;\n    };\n    var isPadded = function (schema, node) {\n      var rule = schema.getElementRule(node.name);\n      return rule && rule.paddEmpty;\n    };\n    var isEmpty$2 = function (schema, nonEmptyElements, whitespaceElements, node) {\n      return node.isEmpty(nonEmptyElements, whitespaceElements, function (node) {\n        return isPadded(schema, node);\n      });\n    };\n    var isLineBreakNode = function (node, blockElements) {\n      return node && (blockElements[node.name] || node.name === 'br');\n    };\n\n    var register$2 = function (parser, settings) {\n      var schema = parser.schema;\n      if (settings.remove_trailing_brs) {\n        parser.addNodeFilter('br', function (nodes, _, args) {\n          var i;\n          var l = nodes.length;\n          var node;\n          var blockElements = Tools.extend({}, schema.getBlockElements());\n          var nonEmptyElements = schema.getNonEmptyElements();\n          var parent, lastParent, prev, prevName;\n          var whiteSpaceElements = schema.getNonEmptyElements();\n          var elementRule, textNode;\n          blockElements.body = 1;\n          for (i = 0; i < l; i++) {\n            node = nodes[i];\n            parent = node.parent;\n            if (blockElements[node.parent.name] && node === parent.lastChild) {\n              prev = node.prev;\n              while (prev) {\n                prevName = prev.name;\n                if (prevName !== 'span' || prev.attr('data-mce-type') !== 'bookmark') {\n                  if (prevName !== 'br') {\n                    break;\n                  }\n                  if (prevName === 'br') {\n                    node = null;\n                    break;\n                  }\n                }\n                prev = prev.prev;\n              }\n              if (node) {\n                node.remove();\n                if (isEmpty$2(schema, nonEmptyElements, whiteSpaceElements, parent)) {\n                  elementRule = schema.getElementRule(parent.name);\n                  if (elementRule) {\n                    if (elementRule.removeEmpty) {\n                      parent.remove();\n                    } else if (elementRule.paddEmpty) {\n                      paddEmptyNode(settings, args, blockElements, parent);\n                    }\n                  }\n                }\n              }\n            } else {\n              lastParent = node;\n              while (parent && parent.firstChild === lastParent && parent.lastChild === lastParent) {\n                lastParent = parent;\n                if (blockElements[parent.name]) {\n                  break;\n                }\n                parent = parent.parent;\n              }\n              if (lastParent === parent && settings.padd_empty_with_br !== true) {\n                textNode = new Node$2('#text', 3);\n                textNode.value = '\\xA0';\n                node.replace(textNode);\n              }\n            }\n          }\n        });\n      }\n      parser.addAttributeFilter('href', function (nodes) {\n        var i = nodes.length, node;\n        var appendRel = function (rel) {\n          var parts = rel.split(' ').filter(function (p) {\n            return p.length > 0;\n          });\n          return parts.concat(['noopener']).sort().join(' ');\n        };\n        var addNoOpener = function (rel) {\n          var newRel = rel ? Tools.trim(rel) : '';\n          if (!/\\b(noopener)\\b/g.test(newRel)) {\n            return appendRel(newRel);\n          } else {\n            return newRel;\n          }\n        };\n        if (!settings.allow_unsafe_link_target) {\n          while (i--) {\n            node = nodes[i];\n            if (node.name === 'a' && node.attr('target') === '_blank') {\n              node.attr('rel', addNoOpener(node.attr('rel')));\n            }\n          }\n        }\n      });\n      if (!settings.allow_html_in_named_anchor) {\n        parser.addAttributeFilter('id,name', function (nodes) {\n          var i = nodes.length, sibling, prevSibling, parent, node;\n          while (i--) {\n            node = nodes[i];\n            if (node.name === 'a' && node.firstChild && !node.attr('href')) {\n              parent = node.parent;\n              sibling = node.lastChild;\n              do {\n                prevSibling = sibling.prev;\n                parent.insert(sibling, node);\n                sibling = prevSibling;\n              } while (sibling);\n            }\n          }\n        });\n      }\n      if (settings.fix_list_elements) {\n        parser.addNodeFilter('ul,ol', function (nodes) {\n          var i = nodes.length, node, parentNode;\n          while (i--) {\n            node = nodes[i];\n            parentNode = node.parent;\n            if (parentNode.name === 'ul' || parentNode.name === 'ol') {\n              if (node.prev && node.prev.name === 'li') {\n                node.prev.append(node);\n              } else {\n                var li = new Node$2('li', 1);\n                li.attr('style', 'list-style-type: none');\n                node.wrap(li);\n              }\n            }\n          }\n        });\n      }\n      if (settings.validate && schema.getValidClasses()) {\n        parser.addAttributeFilter('class', function (nodes) {\n          var i = nodes.length, node, classList, ci, className, classValue;\n          var validClasses = schema.getValidClasses();\n          var validClassesMap, valid;\n          while (i--) {\n            node = nodes[i];\n            classList = node.attr('class').split(' ');\n            classValue = '';\n            for (ci = 0; ci < classList.length; ci++) {\n              className = classList[ci];\n              valid = false;\n              validClassesMap = validClasses['*'];\n              if (validClassesMap && validClassesMap[className]) {\n                valid = true;\n              }\n              validClassesMap = validClasses[node.name];\n              if (!valid && validClassesMap && validClassesMap[className]) {\n                valid = true;\n              }\n              if (valid) {\n                if (classValue) {\n                  classValue += ' ';\n                }\n                classValue += className;\n              }\n            }\n            if (!classValue.length) {\n              classValue = null;\n            }\n            node.attr('class', classValue);\n          }\n        });\n      }\n    };\n\n    var makeMap$4 = Tools.makeMap, each$i = Tools.each, explode$3 = Tools.explode, extend$3 = Tools.extend;\n    function DomParser (settings, schema) {\n      if (schema === void 0) {\n        schema = Schema();\n      }\n      var nodeFilters = {};\n      var attributeFilters = [];\n      var matchedNodes = {};\n      var matchedAttributes = {};\n      settings = settings || {};\n      settings.validate = 'validate' in settings ? settings.validate : true;\n      settings.root_name = settings.root_name || 'body';\n      var fixInvalidChildren = function (nodes) {\n        var ni, node, parent, parents, newParent, currentNode, tempNode, childNode, i;\n        var nonEmptyElements, whitespaceElements, nonSplitableElements, textBlockElements, specialElements, sibling, nextNode;\n        nonSplitableElements = makeMap$4('tr,td,th,tbody,thead,tfoot,table');\n        nonEmptyElements = schema.getNonEmptyElements();\n        whitespaceElements = schema.getWhiteSpaceElements();\n        textBlockElements = schema.getTextBlockElements();\n        specialElements = schema.getSpecialElements();\n        for (ni = 0; ni < nodes.length; ni++) {\n          node = nodes[ni];\n          if (!node.parent || node.fixed) {\n            continue;\n          }\n          if (textBlockElements[node.name] && node.parent.name === 'li') {\n            sibling = node.next;\n            while (sibling) {\n              if (textBlockElements[sibling.name]) {\n                sibling.name = 'li';\n                sibling.fixed = true;\n                node.parent.insert(sibling, node.parent);\n              } else {\n                break;\n              }\n              sibling = sibling.next;\n            }\n            node.unwrap(node);\n            continue;\n          }\n          parents = [node];\n          for (parent = node.parent; parent && !schema.isValidChild(parent.name, node.name) && !nonSplitableElements[parent.name]; parent = parent.parent) {\n            parents.push(parent);\n          }\n          if (parent && parents.length > 1) {\n            parents.reverse();\n            newParent = currentNode = filterNode(parents[0].clone());\n            for (i = 0; i < parents.length - 1; i++) {\n              if (schema.isValidChild(currentNode.name, parents[i].name)) {\n                tempNode = filterNode(parents[i].clone());\n                currentNode.append(tempNode);\n              } else {\n                tempNode = currentNode;\n              }\n              for (childNode = parents[i].firstChild; childNode && childNode !== parents[i + 1];) {\n                nextNode = childNode.next;\n                tempNode.append(childNode);\n                childNode = nextNode;\n              }\n              currentNode = tempNode;\n            }\n            if (!isEmpty$2(schema, nonEmptyElements, whitespaceElements, newParent)) {\n              parent.insert(newParent, parents[0], true);\n              parent.insert(node, newParent);\n            } else {\n              parent.insert(node, parents[0], true);\n            }\n            parent = parents[0];\n            if (isEmpty$2(schema, nonEmptyElements, whitespaceElements, parent) || hasOnlyChild(parent, 'br')) {\n              parent.empty().remove();\n            }\n          } else if (node.parent) {\n            if (node.name === 'li') {\n              sibling = node.prev;\n              if (sibling && (sibling.name === 'ul' || sibling.name === 'ul')) {\n                sibling.append(node);\n                continue;\n              }\n              sibling = node.next;\n              if (sibling && (sibling.name === 'ul' || sibling.name === 'ul')) {\n                sibling.insert(node, sibling.firstChild, true);\n                continue;\n              }\n              node.wrap(filterNode(new Node$2('ul', 1)));\n              continue;\n            }\n            if (schema.isValidChild(node.parent.name, 'div') && schema.isValidChild('div', node.name)) {\n              node.wrap(filterNode(new Node$2('div', 1)));\n            } else {\n              if (specialElements[node.name]) {\n                node.empty().remove();\n              } else {\n                node.unwrap();\n              }\n            }\n          }\n        }\n      };\n      var filterNode = function (node) {\n        var i, name, list;\n        name = node.name;\n        if (name in nodeFilters) {\n          list = matchedNodes[name];\n          if (list) {\n            list.push(node);\n          } else {\n            matchedNodes[name] = [node];\n          }\n        }\n        i = attributeFilters.length;\n        while (i--) {\n          name = attributeFilters[i].name;\n          if (name in node.attributes.map) {\n            list = matchedAttributes[name];\n            if (list) {\n              list.push(node);\n            } else {\n              matchedAttributes[name] = [node];\n            }\n          }\n        }\n        return node;\n      };\n      var addNodeFilter = function (name, callback) {\n        each$i(explode$3(name), function (name) {\n          var list = nodeFilters[name];\n          if (!list) {\n            nodeFilters[name] = list = [];\n          }\n          list.push(callback);\n        });\n      };\n      var getNodeFilters = function () {\n        var out = [];\n        for (var name in nodeFilters) {\n          if (nodeFilters.hasOwnProperty(name)) {\n            out.push({\n              name: name,\n              callbacks: nodeFilters[name]\n            });\n          }\n        }\n        return out;\n      };\n      var addAttributeFilter = function (name, callback) {\n        each$i(explode$3(name), function (name) {\n          var i;\n          for (i = 0; i < attributeFilters.length; i++) {\n            if (attributeFilters[i].name === name) {\n              attributeFilters[i].callbacks.push(callback);\n              return;\n            }\n          }\n          attributeFilters.push({\n            name: name,\n            callbacks: [callback]\n          });\n        });\n      };\n      var getAttributeFilters = function () {\n        return [].concat(attributeFilters);\n      };\n      var parse = function (html, args) {\n        var parser, nodes, i, l, fi, fl, list, name;\n        var blockElements;\n        var invalidChildren = [];\n        var isInWhiteSpacePreservedElement;\n        var node;\n        args = args || {};\n        matchedNodes = {};\n        matchedAttributes = {};\n        blockElements = extend$3(makeMap$4('script,style,head,html,body,title,meta,param'), schema.getBlockElements());\n        var nonEmptyElements = schema.getNonEmptyElements();\n        var children = schema.children;\n        var validate = settings.validate;\n        var rootBlockName = 'forced_root_block' in args ? args.forced_root_block : settings.forced_root_block;\n        var whiteSpaceElements = schema.getWhiteSpaceElements();\n        var startWhiteSpaceRegExp = /^[ \\t\\r\\n]+/;\n        var endWhiteSpaceRegExp = /[ \\t\\r\\n]+$/;\n        var allWhiteSpaceRegExp = /[ \\t\\r\\n]+/g;\n        var isAllWhiteSpaceRegExp = /^[ \\t\\r\\n]+$/;\n        isInWhiteSpacePreservedElement = whiteSpaceElements.hasOwnProperty(args.context) || whiteSpaceElements.hasOwnProperty(settings.root_name);\n        var addRootBlocks = function () {\n          var node = rootNode.firstChild, next, rootBlockNode;\n          var trim = function (rootBlockNode) {\n            if (rootBlockNode) {\n              node = rootBlockNode.firstChild;\n              if (node && node.type === 3) {\n                node.value = node.value.replace(startWhiteSpaceRegExp, '');\n              }\n              node = rootBlockNode.lastChild;\n              if (node && node.type === 3) {\n                node.value = node.value.replace(endWhiteSpaceRegExp, '');\n              }\n            }\n          };\n          if (!schema.isValidChild(rootNode.name, rootBlockName.toLowerCase())) {\n            return;\n          }\n          while (node) {\n            next = node.next;\n            if (node.type === 3 || node.type === 1 && node.name !== 'p' && !blockElements[node.name] && !node.attr('data-mce-type')) {\n              if (!rootBlockNode) {\n                rootBlockNode = createNode(rootBlockName, 1);\n                rootBlockNode.attr(settings.forced_root_block_attrs);\n                rootNode.insert(rootBlockNode, node);\n                rootBlockNode.append(node);\n              } else {\n                rootBlockNode.append(node);\n              }\n            } else {\n              trim(rootBlockNode);\n              rootBlockNode = null;\n            }\n            node = next;\n          }\n          trim(rootBlockNode);\n        };\n        var createNode = function (name, type) {\n          var node = new Node$2(name, type);\n          var list;\n          if (name in nodeFilters) {\n            list = matchedNodes[name];\n            if (list) {\n              list.push(node);\n            } else {\n              matchedNodes[name] = [node];\n            }\n          }\n          return node;\n        };\n        var removeWhitespaceBefore = function (node) {\n          var textNode, textNodeNext, textVal, sibling;\n          var blockElements = schema.getBlockElements();\n          for (textNode = node.prev; textNode && textNode.type === 3;) {\n            textVal = textNode.value.replace(endWhiteSpaceRegExp, '');\n            if (textVal.length > 0) {\n              textNode.value = textVal;\n              return;\n            }\n            textNodeNext = textNode.next;\n            if (textNodeNext) {\n              if (textNodeNext.type === 3 && textNodeNext.value.length) {\n                textNode = textNode.prev;\n                continue;\n              }\n              if (!blockElements[textNodeNext.name] && textNodeNext.name !== 'script' && textNodeNext.name !== 'style') {\n                textNode = textNode.prev;\n                continue;\n              }\n            }\n            sibling = textNode.prev;\n            textNode.remove();\n            textNode = sibling;\n          }\n        };\n        var cloneAndExcludeBlocks = function (input) {\n          var name;\n          var output = {};\n          for (name in input) {\n            if (name !== 'li' && name !== 'p') {\n              output[name] = input[name];\n            }\n          }\n          return output;\n        };\n        parser = SaxParser$1({\n          validate: validate,\n          allow_script_urls: settings.allow_script_urls,\n          allow_conditional_comments: settings.allow_conditional_comments,\n          self_closing_elements: cloneAndExcludeBlocks(schema.getSelfClosingElements()),\n          cdata: function (text) {\n            node.append(createNode('#cdata', 4)).value = text;\n          },\n          text: function (text, raw) {\n            var textNode;\n            if (!isInWhiteSpacePreservedElement) {\n              text = text.replace(allWhiteSpaceRegExp, ' ');\n              if (isLineBreakNode(node.lastChild, blockElements)) {\n                text = text.replace(startWhiteSpaceRegExp, '');\n              }\n            }\n            if (text.length !== 0) {\n              textNode = createNode('#text', 3);\n              textNode.raw = !!raw;\n              node.append(textNode).value = text;\n            }\n          },\n          comment: function (text) {\n            node.append(createNode('#comment', 8)).value = text;\n          },\n          pi: function (name, text) {\n            node.append(createNode(name, 7)).value = text;\n            removeWhitespaceBefore(node);\n          },\n          doctype: function (text) {\n            var newNode;\n            newNode = node.append(createNode('#doctype', 10));\n            newNode.value = text;\n            removeWhitespaceBefore(node);\n          },\n          start: function (name, attrs, empty) {\n            var newNode, attrFiltersLen, elementRule, attrName, parent;\n            elementRule = validate ? schema.getElementRule(name) : {};\n            if (elementRule) {\n              newNode = createNode(elementRule.outputName || name, 1);\n              newNode.attributes = attrs;\n              newNode.shortEnded = empty;\n              node.append(newNode);\n              parent = children[node.name];\n              if (parent && children[newNode.name] && !parent[newNode.name]) {\n                invalidChildren.push(newNode);\n              }\n              attrFiltersLen = attributeFilters.length;\n              while (attrFiltersLen--) {\n                attrName = attributeFilters[attrFiltersLen].name;\n                if (attrName in attrs.map) {\n                  list = matchedAttributes[attrName];\n                  if (list) {\n                    list.push(newNode);\n                  } else {\n                    matchedAttributes[attrName] = [newNode];\n                  }\n                }\n              }\n              if (blockElements[name]) {\n                removeWhitespaceBefore(newNode);\n              }\n              if (!empty) {\n                node = newNode;\n              }\n              if (!isInWhiteSpacePreservedElement && whiteSpaceElements[name]) {\n                isInWhiteSpacePreservedElement = true;\n              }\n            }\n          },\n          end: function (name) {\n            var textNode, elementRule, text, sibling, tempNode;\n            elementRule = validate ? schema.getElementRule(name) : {};\n            if (elementRule) {\n              if (blockElements[name]) {\n                if (!isInWhiteSpacePreservedElement) {\n                  textNode = node.firstChild;\n                  if (textNode && textNode.type === 3) {\n                    text = textNode.value.replace(startWhiteSpaceRegExp, '');\n                    if (text.length > 0) {\n                      textNode.value = text;\n                      textNode = textNode.next;\n                    } else {\n                      sibling = textNode.next;\n                      textNode.remove();\n                      textNode = sibling;\n                      while (textNode && textNode.type === 3) {\n                        text = textNode.value;\n                        sibling = textNode.next;\n                        if (text.length === 0 || isAllWhiteSpaceRegExp.test(text)) {\n                          textNode.remove();\n                          textNode = sibling;\n                        }\n                        textNode = sibling;\n                      }\n                    }\n                  }\n                  textNode = node.lastChild;\n                  if (textNode && textNode.type === 3) {\n                    text = textNode.value.replace(endWhiteSpaceRegExp, '');\n                    if (text.length > 0) {\n                      textNode.value = text;\n                      textNode = textNode.prev;\n                    } else {\n                      sibling = textNode.prev;\n                      textNode.remove();\n                      textNode = sibling;\n                      while (textNode && textNode.type === 3) {\n                        text = textNode.value;\n                        sibling = textNode.prev;\n                        if (text.length === 0 || isAllWhiteSpaceRegExp.test(text)) {\n                          textNode.remove();\n                          textNode = sibling;\n                        }\n                        textNode = sibling;\n                      }\n                    }\n                  }\n                }\n              }\n              if (isInWhiteSpacePreservedElement && whiteSpaceElements[name]) {\n                isInWhiteSpacePreservedElement = false;\n              }\n              if (elementRule.removeEmpty && isEmpty$2(schema, nonEmptyElements, whiteSpaceElements, node)) {\n                if (!node.attributes.map.name && !node.attr('id')) {\n                  tempNode = node.parent;\n                  if (blockElements[node.name]) {\n                    node.empty().remove();\n                  } else {\n                    node.unwrap();\n                  }\n                  node = tempNode;\n                  return;\n                }\n              }\n              if (elementRule.paddEmpty && (isPaddedWithNbsp(node) || isEmpty$2(schema, nonEmptyElements, whiteSpaceElements, node))) {\n                paddEmptyNode(settings, args, blockElements, node);\n              }\n              node = node.parent;\n            }\n          }\n        }, schema);\n        var rootNode = node = new Node$2(args.context || settings.root_name, 11);\n        parser.parse(html);\n        if (validate && invalidChildren.length) {\n          if (!args.context) {\n            fixInvalidChildren(invalidChildren);\n          } else {\n            args.invalid = true;\n          }\n        }\n        if (rootBlockName && (rootNode.name === 'body' || args.isRootContent)) {\n          addRootBlocks();\n        }\n        if (!args.invalid) {\n          for (name in matchedNodes) {\n            list = nodeFilters[name];\n            nodes = matchedNodes[name];\n            fi = nodes.length;\n            while (fi--) {\n              if (!nodes[fi].parent) {\n                nodes.splice(fi, 1);\n              }\n            }\n            for (i = 0, l = list.length; i < l; i++) {\n              list[i](nodes, name, args);\n            }\n          }\n          for (i = 0, l = attributeFilters.length; i < l; i++) {\n            list = attributeFilters[i];\n            if (list.name in matchedAttributes) {\n              nodes = matchedAttributes[list.name];\n              fi = nodes.length;\n              while (fi--) {\n                if (!nodes[fi].parent) {\n                  nodes.splice(fi, 1);\n                }\n              }\n              for (fi = 0, fl = list.callbacks.length; fi < fl; fi++) {\n                list.callbacks[fi](nodes, list.name, args);\n              }\n            }\n          }\n        }\n        return rootNode;\n      };\n      var exports = {\n        schema: schema,\n        addAttributeFilter: addAttributeFilter,\n        getAttributeFilters: getAttributeFilters,\n        addNodeFilter: addNodeFilter,\n        getNodeFilters: getNodeFilters,\n        filterNode: filterNode,\n        parse: parse\n      };\n      register$2(exports, settings);\n      LegacyFilter.register(exports, settings);\n      return exports;\n    }\n\n    var addTempAttr = function (htmlParser, tempAttrs, name) {\n      if (Tools.inArray(tempAttrs, name) === -1) {\n        htmlParser.addAttributeFilter(name, function (nodes, name) {\n          var i = nodes.length;\n          while (i--) {\n            nodes[i].attr(name, null);\n          }\n        });\n        tempAttrs.push(name);\n      }\n    };\n    var postProcess$1 = function (editor, args, content) {\n      if (!args.no_events && editor) {\n        var outArgs = Events.firePostProcess(editor, merge(args, { content: content }));\n        return outArgs.content;\n      } else {\n        return content;\n      }\n    };\n    var getHtmlFromNode = function (dom, node, args) {\n      var html = Zwsp.trim(args.getInner ? node.innerHTML : dom.getOuterHTML(node));\n      return args.selection || isWsPreserveElement(Element$$1.fromDom(node)) ? html : Tools.trim(html);\n    };\n    var parseHtml = function (htmlParser, html, args) {\n      var parserArgs = args.selection ? merge({ forced_root_block: false }, args) : args;\n      var rootNode = htmlParser.parse(html, parserArgs);\n      DomSerializerFilters.trimTrailingBr(rootNode);\n      return rootNode;\n    };\n    var serializeNode = function (settings, schema, node) {\n      var htmlSerializer = Serializer(settings, schema);\n      return htmlSerializer.serialize(node);\n    };\n    var toHtml = function (editor, settings, schema, rootNode, args) {\n      var content = serializeNode(settings, schema, rootNode);\n      return postProcess$1(editor, args, content);\n    };\n    function DomSerializer (settings, editor) {\n      var dom, schema, htmlParser;\n      var tempAttrs = ['data-mce-selected'];\n      dom = editor && editor.dom ? editor.dom : DOMUtils$1.DOM;\n      schema = editor && editor.schema ? editor.schema : Schema(settings);\n      settings.entity_encoding = settings.entity_encoding || 'named';\n      settings.remove_trailing_brs = 'remove_trailing_brs' in settings ? settings.remove_trailing_brs : true;\n      htmlParser = DomParser(settings, schema);\n      DomSerializerFilters.register(htmlParser, settings, dom);\n      var serialize = function (node, parserArgs) {\n        var args = merge({ format: 'html' }, parserArgs ? parserArgs : {});\n        var targetNode = DomSerializerPreProcess.process(editor, node, args);\n        var html = getHtmlFromNode(dom, targetNode, args);\n        var rootNode = parseHtml(htmlParser, html, args);\n        return args.format === 'tree' ? rootNode : toHtml(editor, settings, schema, rootNode, args);\n      };\n      return {\n        schema: schema,\n        addNodeFilter: htmlParser.addNodeFilter,\n        addAttributeFilter: htmlParser.addAttributeFilter,\n        serialize: serialize,\n        addRules: function (rules) {\n          schema.addValidElements(rules);\n        },\n        setRules: function (rules) {\n          schema.setValidElements(rules);\n        },\n        addTempAttr: curry(addTempAttr, htmlParser, tempAttrs),\n        getTempAttrs: function () {\n          return tempAttrs;\n        }\n      };\n    }\n\n    function Serializer$1 (settings, editor) {\n      var domSerializer = DomSerializer(settings, editor);\n      return {\n        schema: domSerializer.schema,\n        addNodeFilter: domSerializer.addNodeFilter,\n        addAttributeFilter: domSerializer.addAttributeFilter,\n        serialize: domSerializer.serialize,\n        addRules: domSerializer.addRules,\n        setRules: domSerializer.setRules,\n        addTempAttr: domSerializer.addTempAttr,\n        getTempAttrs: domSerializer.getTempAttrs\n      };\n    }\n\n    function BookmarkManager(selection) {\n      return {\n        getBookmark: curry(Bookmarks.getBookmark, selection),\n        moveToBookmark: curry(Bookmarks.moveToBookmark, selection)\n      };\n    }\n    (function (BookmarkManager) {\n      BookmarkManager.isBookmarkNode = Bookmarks.isBookmarkNode;\n    }(BookmarkManager || (BookmarkManager = {})));\n    var BookmarkManager$1 = BookmarkManager;\n\n    var isContentEditableFalse$a = NodeType.isContentEditableFalse;\n    var isContentEditableTrue$6 = NodeType.isContentEditableTrue;\n    var getContentEditableRoot$2 = function (root, node) {\n      while (node && node !== root) {\n        if (isContentEditableTrue$6(node) || isContentEditableFalse$a(node)) {\n          return node;\n        }\n        node = node.parentNode;\n      }\n      return null;\n    };\n    var ControlSelection = function (selection, editor) {\n      var dom = editor.dom, each = Tools.each;\n      var selectedElm, selectedElmGhost, resizeHelper, resizeHandles, selectedHandle;\n      var startX, startY, selectedElmX, selectedElmY, startW, startH, ratio, resizeStarted;\n      var width, height;\n      var editableDoc = editor.getDoc(), rootDocument = document;\n      var abs = Math.abs, round = Math.round, rootElement = editor.getBody();\n      var startScrollWidth, startScrollHeight;\n      resizeHandles = {\n        nw: [\n          0,\n          0,\n          -1,\n          -1\n        ],\n        ne: [\n          1,\n          0,\n          1,\n          -1\n        ],\n        se: [\n          1,\n          1,\n          1,\n          1\n        ],\n        sw: [\n          0,\n          1,\n          -1,\n          1\n        ]\n      };\n      var rootClass = '.mce-content-body';\n      editor.contentStyles.push(rootClass + ' div.mce-resizehandle {' + 'position: absolute;' + 'border: 1px solid black;' + 'box-sizing: content-box;' + 'background: #FFF;' + 'width: 7px;' + 'height: 7px;' + 'z-index: 10000' + '}' + rootClass + ' .mce-resizehandle:hover {' + 'background: #000' + '}' + rootClass + ' img[data-mce-selected],' + rootClass + ' hr[data-mce-selected] {' + 'outline: 1px solid black;' + 'resize: none' + '}' + rootClass + ' .mce-clonedresizable {' + 'position: absolute;' + (Env.gecko ? '' : 'outline: 1px dashed black;') + 'opacity: .5;' + 'filter: alpha(opacity=50);' + 'z-index: 10000' + '}' + rootClass + ' .mce-resize-helper {' + 'background: #555;' + 'background: rgba(0,0,0,0.75);' + 'border-radius: 3px;' + 'border: 1px;' + 'color: white;' + 'display: none;' + 'font-family: sans-serif;' + 'font-size: 12px;' + 'white-space: nowrap;' + 'line-height: 14px;' + 'margin: 5px 10px;' + 'padding: 5px;' + 'position: absolute;' + 'z-index: 10001' + '}');\n      var isImage = function (elm) {\n        return elm && (elm.nodeName === 'IMG' || editor.dom.is(elm, 'figure.image'));\n      };\n      var isEventOnImageOutsideRange = function (evt, range) {\n        return isImage(evt.target) && !RangePoint.isXYWithinRange(evt.clientX, evt.clientY, range);\n      };\n      var contextMenuSelectImage = function (evt) {\n        var target = evt.target;\n        if (isEventOnImageOutsideRange(evt, editor.selection.getRng()) && !evt.isDefaultPrevented()) {\n          evt.preventDefault();\n          editor.selection.select(target);\n        }\n      };\n      var getResizeTarget = function (elm) {\n        return editor.dom.is(elm, 'figure.image') ? elm.querySelector('img') : elm;\n      };\n      var isResizable = function (elm) {\n        var selector = editor.settings.object_resizing;\n        if (selector === false || Env.iOS) {\n          return false;\n        }\n        if (typeof selector !== 'string') {\n          selector = 'table,img,figure.image,div';\n        }\n        if (elm.getAttribute('data-mce-resize') === 'false') {\n          return false;\n        }\n        if (elm === editor.getBody()) {\n          return false;\n        }\n        return is$1(Element$$1.fromDom(elm), selector);\n      };\n      var resizeGhostElement = function (e) {\n        var deltaX, deltaY, proportional;\n        var resizeHelperX, resizeHelperY;\n        deltaX = e.screenX - startX;\n        deltaY = e.screenY - startY;\n        width = deltaX * selectedHandle[2] + startW;\n        height = deltaY * selectedHandle[3] + startH;\n        width = width < 5 ? 5 : width;\n        height = height < 5 ? 5 : height;\n        if (isImage(selectedElm) && editor.settings.resize_img_proportional !== false) {\n          proportional = !VK.modifierPressed(e);\n        } else {\n          proportional = VK.modifierPressed(e) || isImage(selectedElm) && selectedHandle[2] * selectedHandle[3] !== 0;\n        }\n        if (proportional) {\n          if (abs(deltaX) > abs(deltaY)) {\n            height = round(width * ratio);\n            width = round(height / ratio);\n          } else {\n            width = round(height / ratio);\n            height = round(width * ratio);\n          }\n        }\n        dom.setStyles(getResizeTarget(selectedElmGhost), {\n          width: width,\n          height: height\n        });\n        resizeHelperX = selectedHandle.startPos.x + deltaX;\n        resizeHelperY = selectedHandle.startPos.y + deltaY;\n        resizeHelperX = resizeHelperX > 0 ? resizeHelperX : 0;\n        resizeHelperY = resizeHelperY > 0 ? resizeHelperY : 0;\n        dom.setStyles(resizeHelper, {\n          left: resizeHelperX,\n          top: resizeHelperY,\n          display: 'block'\n        });\n        resizeHelper.innerHTML = width + ' &times; ' + height;\n        if (selectedHandle[2] < 0 && selectedElmGhost.clientWidth <= width) {\n          dom.setStyle(selectedElmGhost, 'left', selectedElmX + (startW - width));\n        }\n        if (selectedHandle[3] < 0 && selectedElmGhost.clientHeight <= height) {\n          dom.setStyle(selectedElmGhost, 'top', selectedElmY + (startH - height));\n        }\n        deltaX = rootElement.scrollWidth - startScrollWidth;\n        deltaY = rootElement.scrollHeight - startScrollHeight;\n        if (deltaX + deltaY !== 0) {\n          dom.setStyles(resizeHelper, {\n            left: resizeHelperX - deltaX,\n            top: resizeHelperY - deltaY\n          });\n        }\n        if (!resizeStarted) {\n          Events.fireObjectResizeStart(editor, selectedElm, startW, startH);\n          resizeStarted = true;\n        }\n      };\n      var endGhostResize = function () {\n        resizeStarted = false;\n        var setSizeProp = function (name$$1, value) {\n          if (value) {\n            if (selectedElm.style[name$$1] || !editor.schema.isValid(selectedElm.nodeName.toLowerCase(), name$$1)) {\n              dom.setStyle(getResizeTarget(selectedElm), name$$1, value);\n            } else {\n              dom.setAttrib(getResizeTarget(selectedElm), name$$1, value);\n            }\n          }\n        };\n        setSizeProp('width', width);\n        setSizeProp('height', height);\n        dom.unbind(editableDoc, 'mousemove', resizeGhostElement);\n        dom.unbind(editableDoc, 'mouseup', endGhostResize);\n        if (rootDocument !== editableDoc) {\n          dom.unbind(rootDocument, 'mousemove', resizeGhostElement);\n          dom.unbind(rootDocument, 'mouseup', endGhostResize);\n        }\n        dom.remove(selectedElmGhost);\n        dom.remove(resizeHelper);\n        showResizeRect(selectedElm);\n        Events.fireObjectResized(editor, selectedElm, width, height);\n        dom.setAttrib(selectedElm, 'style', dom.getAttrib(selectedElm, 'style'));\n        editor.nodeChanged();\n      };\n      var showResizeRect = function (targetElm) {\n        var position, targetWidth, targetHeight, e, rect;\n        hideResizeRect();\n        unbindResizeHandleEvents();\n        position = dom.getPos(targetElm, rootElement);\n        selectedElmX = position.x;\n        selectedElmY = position.y;\n        rect = targetElm.getBoundingClientRect();\n        targetWidth = rect.width || rect.right - rect.left;\n        targetHeight = rect.height || rect.bottom - rect.top;\n        if (selectedElm !== targetElm) {\n          selectedElm = targetElm;\n          width = height = 0;\n        }\n        e = editor.fire('ObjectSelected', { target: targetElm });\n        if (isResizable(targetElm) && !e.isDefaultPrevented()) {\n          each(resizeHandles, function (handle, name$$1) {\n            var handleElm;\n            var startDrag = function (e) {\n              startX = e.screenX;\n              startY = e.screenY;\n              startW = getResizeTarget(selectedElm).clientWidth;\n              startH = getResizeTarget(selectedElm).clientHeight;\n              ratio = startH / startW;\n              selectedHandle = handle;\n              handle.startPos = {\n                x: targetWidth * handle[0] + selectedElmX,\n                y: targetHeight * handle[1] + selectedElmY\n              };\n              startScrollWidth = rootElement.scrollWidth;\n              startScrollHeight = rootElement.scrollHeight;\n              selectedElmGhost = selectedElm.cloneNode(true);\n              dom.addClass(selectedElmGhost, 'mce-clonedresizable');\n              dom.setAttrib(selectedElmGhost, 'data-mce-bogus', 'all');\n              selectedElmGhost.contentEditable = false;\n              selectedElmGhost.unSelectabe = true;\n              dom.setStyles(selectedElmGhost, {\n                left: selectedElmX,\n                top: selectedElmY,\n                margin: 0\n              });\n              selectedElmGhost.removeAttribute('data-mce-selected');\n              rootElement.appendChild(selectedElmGhost);\n              dom.bind(editableDoc, 'mousemove', resizeGhostElement);\n              dom.bind(editableDoc, 'mouseup', endGhostResize);\n              if (rootDocument !== editableDoc) {\n                dom.bind(rootDocument, 'mousemove', resizeGhostElement);\n                dom.bind(rootDocument, 'mouseup', endGhostResize);\n              }\n              resizeHelper = dom.add(rootElement, 'div', {\n                'class': 'mce-resize-helper',\n                'data-mce-bogus': 'all'\n              }, startW + ' &times; ' + startH);\n            };\n            handleElm = dom.get('mceResizeHandle' + name$$1);\n            if (handleElm) {\n              dom.remove(handleElm);\n            }\n            handleElm = dom.add(rootElement, 'div', {\n              'id': 'mceResizeHandle' + name$$1,\n              'data-mce-bogus': 'all',\n              'class': 'mce-resizehandle',\n              'unselectable': true,\n              'style': 'cursor:' + name$$1 + '-resize; margin:0; padding:0'\n            });\n            if (Env.ie === 11) {\n              handleElm.contentEditable = false;\n            }\n            dom.bind(handleElm, 'mousedown', function (e) {\n              e.stopImmediatePropagation();\n              e.preventDefault();\n              startDrag(e);\n            });\n            handle.elm = handleElm;\n            dom.setStyles(handleElm, {\n              left: targetWidth * handle[0] + selectedElmX - handleElm.offsetWidth / 2,\n              top: targetHeight * handle[1] + selectedElmY - handleElm.offsetHeight / 2\n            });\n          });\n        } else {\n          hideResizeRect();\n        }\n        selectedElm.setAttribute('data-mce-selected', '1');\n      };\n      var hideResizeRect = function () {\n        var name$$1, handleElm;\n        unbindResizeHandleEvents();\n        if (selectedElm) {\n          selectedElm.removeAttribute('data-mce-selected');\n        }\n        for (name$$1 in resizeHandles) {\n          handleElm = dom.get('mceResizeHandle' + name$$1);\n          if (handleElm) {\n            dom.unbind(handleElm);\n            dom.remove(handleElm);\n          }\n        }\n      };\n      var updateResizeRect = function (e) {\n        var startElm, controlElm;\n        var isChildOrEqual = function (node, parent$$1) {\n          if (node) {\n            do {\n              if (node === parent$$1) {\n                return true;\n              }\n            } while (node = node.parentNode);\n          }\n        };\n        if (resizeStarted || editor.removed) {\n          return;\n        }\n        each(dom.select('img[data-mce-selected],hr[data-mce-selected]'), function (img) {\n          img.removeAttribute('data-mce-selected');\n        });\n        controlElm = e.type === 'mousedown' ? e.target : selection.getNode();\n        controlElm = dom.$(controlElm).closest('table,img,figure.image,hr')[0];\n        if (isChildOrEqual(controlElm, rootElement)) {\n          disableGeckoResize();\n          startElm = selection.getStart(true);\n          if (isChildOrEqual(startElm, controlElm) && isChildOrEqual(selection.getEnd(true), controlElm)) {\n            showResizeRect(controlElm);\n            return;\n          }\n        }\n        hideResizeRect();\n      };\n      var isWithinContentEditableFalse = function (elm) {\n        return isContentEditableFalse$a(getContentEditableRoot$2(editor.getBody(), elm));\n      };\n      var unbindResizeHandleEvents = function () {\n        for (var name$$1 in resizeHandles) {\n          var handle = resizeHandles[name$$1];\n          if (handle.elm) {\n            dom.unbind(handle.elm);\n            delete handle.elm;\n          }\n        }\n      };\n      var disableGeckoResize = function () {\n        try {\n          editor.getDoc().execCommand('enableObjectResizing', false, false);\n        } catch (ex) {\n        }\n      };\n      editor.on('init', function () {\n        disableGeckoResize();\n        if (Env.ie && Env.ie >= 11) {\n          editor.on('mousedown click', function (e) {\n            var target = e.target, nodeName = target.nodeName;\n            if (!resizeStarted && /^(TABLE|IMG|HR)$/.test(nodeName) && !isWithinContentEditableFalse(target)) {\n              if (e.button !== 2) {\n                editor.selection.select(target, nodeName === 'TABLE');\n              }\n              if (e.type === 'mousedown') {\n                editor.nodeChanged();\n              }\n            }\n          });\n          editor.dom.bind(rootElement, 'mscontrolselect', function (e) {\n            var delayedSelect = function (node) {\n              Delay.setEditorTimeout(editor, function () {\n                editor.selection.select(node);\n              });\n            };\n            if (isWithinContentEditableFalse(e.target)) {\n              e.preventDefault();\n              delayedSelect(e.target);\n              return;\n            }\n            if (/^(TABLE|IMG|HR)$/.test(e.target.nodeName)) {\n              e.preventDefault();\n              if (e.target.tagName === 'IMG') {\n                delayedSelect(e.target);\n              }\n            }\n          });\n        }\n        var throttledUpdateResizeRect = Delay.throttle(function (e) {\n          if (!editor.composing) {\n            updateResizeRect(e);\n          }\n        });\n        editor.on('nodechange ResizeEditor ResizeWindow drop FullscreenStateChanged', throttledUpdateResizeRect);\n        editor.on('keyup compositionend', function (e) {\n          if (selectedElm && selectedElm.nodeName === 'TABLE') {\n            throttledUpdateResizeRect(e);\n          }\n        });\n        editor.on('hide blur', hideResizeRect);\n        editor.on('contextmenu', contextMenuSelectImage);\n      });\n      editor.on('remove', unbindResizeHandleEvents);\n      var destroy = function () {\n        selectedElm = selectedElmGhost = null;\n      };\n      return {\n        isResizable: isResizable,\n        showResizeRect: showResizeRect,\n        hideResizeRect: hideResizeRect,\n        updateResizeRect: updateResizeRect,\n        destroy: destroy\n      };\n    };\n\n    var getPos$1 = function (elm) {\n      var x = 0, y = 0;\n      var offsetParent = elm;\n      while (offsetParent && offsetParent.nodeType) {\n        x += offsetParent.offsetLeft || 0;\n        y += offsetParent.offsetTop || 0;\n        offsetParent = offsetParent.offsetParent;\n      }\n      return {\n        x: x,\n        y: y\n      };\n    };\n    var fireScrollIntoViewEvent = function (editor, elm, alignToTop) {\n      var scrollEvent = {\n        elm: elm,\n        alignToTop: alignToTop\n      };\n      editor.fire('scrollIntoView', scrollEvent);\n      return scrollEvent.isDefaultPrevented();\n    };\n    var scrollElementIntoView = function (editor, elm, alignToTop) {\n      var y, viewPort;\n      var dom = editor.dom;\n      var root = dom.getRoot();\n      var viewPortY, viewPortH, offsetY = 0;\n      if (fireScrollIntoViewEvent(editor, elm, alignToTop)) {\n        return;\n      }\n      if (!NodeType.isElement(elm)) {\n        return;\n      }\n      if (alignToTop === false) {\n        offsetY = elm.offsetHeight;\n      }\n      if (root.nodeName !== 'BODY') {\n        var scrollContainer = editor.selection.getScrollContainer();\n        if (scrollContainer) {\n          y = getPos$1(elm).y - getPos$1(scrollContainer).y + offsetY;\n          viewPortH = scrollContainer.clientHeight;\n          viewPortY = scrollContainer.scrollTop;\n          if (y < viewPortY || y + 25 > viewPortY + viewPortH) {\n            scrollContainer.scrollTop = y < viewPortY ? y : y - viewPortH + 25;\n          }\n          return;\n        }\n      }\n      viewPort = dom.getViewPort(editor.getWin());\n      y = dom.getPos(elm).y + offsetY;\n      viewPortY = viewPort.y;\n      viewPortH = viewPort.h;\n      if (y < viewPort.y || y + 25 > viewPortY + viewPortH) {\n        editor.getWin().scrollTo(0, y < viewPortY ? y : y - viewPortH + 25);\n      }\n    };\n    var getViewPortRect = function (editor) {\n      if (editor.inline) {\n        return editor.getBody().getBoundingClientRect();\n      } else {\n        var win = editor.getWin();\n        return {\n          left: 0,\n          right: win.innerWidth,\n          top: 0,\n          bottom: win.innerHeight,\n          width: win.innerWidth,\n          height: win.innerHeight\n        };\n      }\n    };\n    var scrollBy = function (editor, dx, dy) {\n      if (editor.inline) {\n        editor.getBody().scrollLeft += dx;\n        editor.getBody().scrollTop += dy;\n      } else {\n        editor.getWin().scrollBy(dx, dy);\n      }\n    };\n    var scrollRangeIntoView = function (editor, rng) {\n      head(CaretPosition.fromRangeStart(rng).getClientRects()).each(function (rngRect) {\n        var bodyRect = getViewPortRect(editor);\n        var overflow = getOverflow(bodyRect, rngRect);\n        var margin = 4;\n        var dx = overflow.x > 0 ? overflow.x + margin : overflow.x - margin;\n        var dy = overflow.y > 0 ? overflow.y + margin : overflow.y - margin;\n        scrollBy(editor, overflow.x !== 0 ? dx : 0, overflow.y !== 0 ? dy : 0);\n      });\n    };\n    var ScrollIntoView = {\n      scrollElementIntoView: scrollElementIntoView,\n      scrollRangeIntoView: scrollRangeIntoView\n    };\n\n    var hasCeProperty = function (node) {\n      return NodeType.isContentEditableTrue(node) || NodeType.isContentEditableFalse(node);\n    };\n    var findParent$1 = function (node, rootNode, predicate) {\n      while (node && node !== rootNode) {\n        if (predicate(node)) {\n          return node;\n        }\n        node = node.parentNode;\n      }\n      return null;\n    };\n    var findClosestIeRange = function (clientX, clientY, doc) {\n      var element, rng, rects;\n      element = doc.elementFromPoint(clientX, clientY);\n      rng = doc.body.createTextRange();\n      if (!element || element.tagName === 'HTML') {\n        element = doc.body;\n      }\n      rng.moveToElementText(element);\n      rects = Tools.toArray(rng.getClientRects());\n      rects = rects.sort(function (a, b) {\n        a = Math.abs(Math.max(a.top - clientY, a.bottom - clientY));\n        b = Math.abs(Math.max(b.top - clientY, b.bottom - clientY));\n        return a - b;\n      });\n      if (rects.length > 0) {\n        clientY = (rects[0].bottom + rects[0].top) / 2;\n        try {\n          rng.moveToPoint(clientX, clientY);\n          rng.collapse(true);\n          return rng;\n        } catch (ex) {\n        }\n      }\n      return null;\n    };\n    var moveOutOfContentEditableFalse = function (rng, rootNode) {\n      var parentElement = rng && rng.parentElement ? rng.parentElement() : null;\n      return NodeType.isContentEditableFalse(findParent$1(parentElement, rootNode, hasCeProperty)) ? null : rng;\n    };\n    var fromPoint$1 = function (clientX, clientY, doc) {\n      var rng, point;\n      var pointDoc = doc;\n      if (pointDoc.caretPositionFromPoint) {\n        point = pointDoc.caretPositionFromPoint(clientX, clientY);\n        if (point) {\n          rng = doc.createRange();\n          rng.setStart(point.offsetNode, point.offset);\n          rng.collapse(true);\n        }\n      } else if (doc.caretRangeFromPoint) {\n        rng = doc.caretRangeFromPoint(clientX, clientY);\n      } else if (pointDoc.body.createTextRange) {\n        rng = pointDoc.body.createTextRange();\n        try {\n          rng.moveToPoint(clientX, clientY);\n          rng.collapse(true);\n        } catch (ex) {\n          rng = findClosestIeRange(clientX, clientY, doc);\n        }\n        return moveOutOfContentEditableFalse(rng, doc.body);\n      }\n      return rng;\n    };\n    var CaretRangeFromPoint = { fromPoint: fromPoint$1 };\n\n    var processRanges = function (editor, ranges) {\n      return map(ranges, function (range$$1) {\n        var evt = editor.fire('GetSelectionRange', { range: range$$1 });\n        return evt.range !== range$$1 ? evt.range : range$$1;\n      });\n    };\n    var EventProcessRanges = { processRanges: processRanges };\n\n    var fromElements = function (elements, scope) {\n      var doc = scope || document;\n      var fragment = doc.createDocumentFragment();\n      each(elements, function (element) {\n        fragment.appendChild(element.dom());\n      });\n      return Element$$1.fromDom(fragment);\n    };\n\n    var tableModel = Immutable('element', 'width', 'rows');\n    var tableRow = Immutable('element', 'cells');\n    var cellPosition = Immutable('x', 'y');\n    var getSpan = function (td, key) {\n      var value = parseInt(get$1(td, key), 10);\n      return isNaN(value) ? 1 : value;\n    };\n    var fillout = function (table, x, y, tr, td) {\n      var rowspan = getSpan(td, 'rowspan');\n      var colspan = getSpan(td, 'colspan');\n      var rows = table.rows();\n      for (var y2 = y; y2 < y + rowspan; y2++) {\n        if (!rows[y2]) {\n          rows[y2] = tableRow(deep(tr), []);\n        }\n        for (var x2 = x; x2 < x + colspan; x2++) {\n          var cells = rows[y2].cells();\n          cells[x2] = y2 === y && x2 === x ? td : shallow(td);\n        }\n      }\n    };\n    var cellExists = function (table, x, y) {\n      var rows = table.rows();\n      var cells = rows[y] ? rows[y].cells() : [];\n      return !!cells[x];\n    };\n    var skipCellsX = function (table, x, y) {\n      while (cellExists(table, x, y)) {\n        x++;\n      }\n      return x;\n    };\n    var getWidth = function (rows) {\n      return foldl(rows, function (acc, row) {\n        return row.cells().length > acc ? row.cells().length : acc;\n      }, 0);\n    };\n    var findElementPos = function (table, element) {\n      var rows = table.rows();\n      for (var y = 0; y < rows.length; y++) {\n        var cells = rows[y].cells();\n        for (var x = 0; x < cells.length; x++) {\n          if (eq(cells[x], element)) {\n            return Option.some(cellPosition(x, y));\n          }\n        }\n      }\n      return Option.none();\n    };\n    var extractRows = function (table, sx, sy, ex, ey) {\n      var newRows = [];\n      var rows = table.rows();\n      for (var y = sy; y <= ey; y++) {\n        var cells = rows[y].cells();\n        var slice = sx < ex ? cells.slice(sx, ex + 1) : cells.slice(ex, sx + 1);\n        newRows.push(tableRow(rows[y].element(), slice));\n      }\n      return newRows;\n    };\n    var subTable = function (table, startPos, endPos) {\n      var sx = startPos.x(), sy = startPos.y();\n      var ex = endPos.x(), ey = endPos.y();\n      var newRows = sy < ey ? extractRows(table, sx, sy, ex, ey) : extractRows(table, sx, ey, ex, sy);\n      return tableModel(table.element(), getWidth(newRows), newRows);\n    };\n    var createDomTable = function (table, rows) {\n      var tableElement = shallow(table.element());\n      var tableBody = Element$$1.fromTag('tbody');\n      append$1(tableBody, rows);\n      append(tableElement, tableBody);\n      return tableElement;\n    };\n    var modelRowsToDomRows = function (table) {\n      return map(table.rows(), function (row) {\n        var cells = map(row.cells(), function (cell) {\n          var td = deep(cell);\n          remove(td, 'colspan');\n          remove(td, 'rowspan');\n          return td;\n        });\n        var tr = shallow(row.element());\n        append$1(tr, cells);\n        return tr;\n      });\n    };\n    var fromDom$2 = function (tableElm) {\n      var table = tableModel(shallow(tableElm), 0, []);\n      each(descendants$1(tableElm, 'tr'), function (tr, y) {\n        each(descendants$1(tr, 'td,th'), function (td, x) {\n          fillout(table, skipCellsX(table, x, y), y, tr, td);\n        });\n      });\n      return tableModel(table.element(), getWidth(table.rows()), table.rows());\n    };\n    var toDom = function (table) {\n      return createDomTable(table, modelRowsToDomRows(table));\n    };\n    var subsection = function (table, startElement, endElement) {\n      return findElementPos(table, startElement).bind(function (startPos) {\n        return findElementPos(table, endElement).map(function (endPos) {\n          return subTable(table, startPos, endPos);\n        });\n      });\n    };\n    var SimpleTableModel = {\n      fromDom: fromDom$2,\n      toDom: toDom,\n      subsection: subsection\n    };\n\n    var findParentListContainer = function (parents$$1) {\n      return find(parents$$1, function (elm) {\n        return name(elm) === 'ul' || name(elm) === 'ol';\n      });\n    };\n    var getFullySelectedListWrappers = function (parents$$1, rng) {\n      return find(parents$$1, function (elm) {\n        return name(elm) === 'li' && hasAllContentsSelected(elm, rng);\n      }).fold(constant([]), function (li) {\n        return findParentListContainer(parents$$1).map(function (listCont) {\n          return [\n            Element$$1.fromTag('li'),\n            Element$$1.fromTag(name(listCont))\n          ];\n        }).getOr([]);\n      });\n    };\n    var wrap$3 = function (innerElm, elms) {\n      var wrapped = foldl(elms, function (acc, elm) {\n        append(elm, acc);\n        return elm;\n      }, innerElm);\n      return elms.length > 0 ? fromElements([wrapped]) : wrapped;\n    };\n    var directListWrappers = function (commonAnchorContainer) {\n      if (isListItem(commonAnchorContainer)) {\n        return parent(commonAnchorContainer).filter(isList).fold(constant([]), function (listElm) {\n          return [\n            commonAnchorContainer,\n            listElm\n          ];\n        });\n      } else {\n        return isList(commonAnchorContainer) ? [commonAnchorContainer] : [];\n      }\n    };\n    var getWrapElements = function (rootNode, rng) {\n      var commonAnchorContainer = Element$$1.fromDom(rng.commonAncestorContainer);\n      var parents$$1 = Parents.parentsAndSelf(commonAnchorContainer, rootNode);\n      var wrapElements = filter(parents$$1, function (elm) {\n        return isInline(elm) || isHeading(elm);\n      });\n      var listWrappers = getFullySelectedListWrappers(parents$$1, rng);\n      var allWrappers = wrapElements.concat(listWrappers.length ? listWrappers : directListWrappers(commonAnchorContainer));\n      return map(allWrappers, shallow);\n    };\n    var emptyFragment = function () {\n      return fromElements([]);\n    };\n    var getFragmentFromRange = function (rootNode, rng) {\n      return wrap$3(Element$$1.fromDom(rng.cloneContents()), getWrapElements(rootNode, rng));\n    };\n    var getParentTable = function (rootElm, cell) {\n      return ancestor$1(cell, 'table', curry(eq, rootElm));\n    };\n    var getTableFragment = function (rootNode, selectedTableCells) {\n      return getParentTable(rootNode, selectedTableCells[0]).bind(function (tableElm) {\n        var firstCell = selectedTableCells[0];\n        var lastCell = selectedTableCells[selectedTableCells.length - 1];\n        var fullTableModel = SimpleTableModel.fromDom(tableElm);\n        return SimpleTableModel.subsection(fullTableModel, firstCell, lastCell).map(function (sectionedTableModel) {\n          return fromElements([SimpleTableModel.toDom(sectionedTableModel)]);\n        });\n      }).getOrThunk(emptyFragment);\n    };\n    var getSelectionFragment = function (rootNode, ranges) {\n      return ranges.length > 0 && ranges[0].collapsed ? emptyFragment() : getFragmentFromRange(rootNode, ranges[0]);\n    };\n    var read$4 = function (rootNode, ranges) {\n      var selectedCells = TableCellSelection.getCellsFromElementOrRanges(ranges, rootNode);\n      return selectedCells.length > 0 ? getTableFragment(rootNode, selectedCells) : getSelectionFragment(rootNode, ranges);\n    };\n    var FragmentReader = { read: read$4 };\n\n    var getTextContent = function (editor) {\n      return Option.from(editor.selection.getRng()).map(function (r) {\n        return Zwsp.trim(r.toString());\n      }).getOr('');\n    };\n    var getHtmlContent = function (editor, args) {\n      var rng = editor.selection.getRng(), tmpElm = editor.dom.create('body');\n      var sel = editor.selection.getSel();\n      var fragment;\n      var ranges = EventProcessRanges.processRanges(editor, MultiRange.getRanges(sel));\n      if (rng.cloneContents) {\n        fragment = args.contextual ? FragmentReader.read(Element$$1.fromDom(editor.getBody()), ranges).dom() : rng.cloneContents();\n        if (fragment) {\n          tmpElm.appendChild(fragment);\n        }\n      } else {\n        tmpElm.innerHTML = rng.toString();\n      }\n      return editor.selection.serializer.serialize(tmpElm, args);\n    };\n    var getContent = function (editor, args) {\n      if (args === void 0) {\n        args = {};\n      }\n      args.get = true;\n      args.format = args.format || 'html';\n      args.selection = true;\n      args = editor.fire('BeforeGetContent', args);\n      if (args.isDefaultPrevented()) {\n        editor.fire('GetContent', args);\n        return args.content;\n      }\n      if (args.format === 'text') {\n        return getTextContent(editor);\n      } else {\n        args.getInner = true;\n        var content = getHtmlContent(editor, args);\n        if (args.format === 'tree') {\n          return content;\n        } else {\n          args.content = editor.selection.isCollapsed() ? '' : content;\n          editor.fire('GetContent', args);\n          return args.content;\n        }\n      }\n    };\n    var GetSelectionContent = { getContent: getContent };\n\n    var setContent = function (editor, content, args) {\n      var rng = editor.selection.getRng(), caretNode;\n      var doc = editor.getDoc();\n      var frag, temp;\n      args = args || { format: 'html' };\n      args.set = true;\n      args.selection = true;\n      args.content = content;\n      if (!args.no_events) {\n        args = editor.fire('BeforeSetContent', args);\n        if (args.isDefaultPrevented()) {\n          editor.fire('SetContent', args);\n          return;\n        }\n      }\n      content = args.content;\n      if (rng.insertNode) {\n        content += '<span id=\"__caret\">_</span>';\n        if (rng.startContainer === doc && rng.endContainer === doc) {\n          doc.body.innerHTML = content;\n        } else {\n          rng.deleteContents();\n          if (doc.body.childNodes.length === 0) {\n            doc.body.innerHTML = content;\n          } else {\n            if (rng.createContextualFragment) {\n              rng.insertNode(rng.createContextualFragment(content));\n            } else {\n              frag = doc.createDocumentFragment();\n              temp = doc.createElement('div');\n              frag.appendChild(temp);\n              temp.outerHTML = content;\n              rng.insertNode(frag);\n            }\n          }\n        }\n        caretNode = editor.dom.get('__caret');\n        rng = doc.createRange();\n        rng.setStartBefore(caretNode);\n        rng.setEndBefore(caretNode);\n        editor.selection.setRng(rng);\n        editor.dom.remove('__caret');\n        try {\n          editor.selection.setRng(rng);\n        } catch (ex) {\n        }\n      } else {\n        if (rng.item) {\n          doc.execCommand('Delete', false, null);\n          rng = editor.getRng();\n        }\n        if (/^\\s+/.test(content)) {\n          rng.pasteHTML('<span id=\"__mce_tmp\">_</span>' + content);\n          editor.dom.remove('__mce_tmp');\n        } else {\n          rng.pasteHTML(content);\n        }\n      }\n      if (!args.no_events) {\n        editor.fire('SetContent', args);\n      }\n    };\n    var SetSelectionContent = { setContent: setContent };\n\n    var getEndpointElement = function (root, rng, start, real, resolve) {\n      var container = start ? rng.startContainer : rng.endContainer;\n      var offset = start ? rng.startOffset : rng.endOffset;\n      return Option.from(container).map(Element$$1.fromDom).map(function (elm) {\n        return !real || !rng.collapsed ? child(elm, resolve(elm, offset)).getOr(elm) : elm;\n      }).bind(function (elm) {\n        return isElement(elm) ? Option.some(elm) : parent(elm);\n      }).map(function (elm) {\n        return elm.dom();\n      }).getOr(root);\n    };\n    var getStart$2 = function (root, rng, real) {\n      return getEndpointElement(root, rng, true, real, function (elm, offset) {\n        return Math.min(childNodesCount(elm), offset);\n      });\n    };\n    var getEnd = function (root, rng, real) {\n      return getEndpointElement(root, rng, false, real, function (elm, offset) {\n        return offset > 0 ? offset - 1 : offset;\n      });\n    };\n    var skipEmptyTextNodes = function (node, forwards) {\n      var orig = node;\n      while (node && NodeType.isText(node) && node.length === 0) {\n        node = forwards ? node.nextSibling : node.previousSibling;\n      }\n      return node || orig;\n    };\n    var getNode$1 = function (root, rng) {\n      var elm, startContainer, endContainer, startOffset, endOffset;\n      if (!rng) {\n        return root;\n      }\n      startContainer = rng.startContainer;\n      endContainer = rng.endContainer;\n      startOffset = rng.startOffset;\n      endOffset = rng.endOffset;\n      elm = rng.commonAncestorContainer;\n      if (!rng.collapsed) {\n        if (startContainer === endContainer) {\n          if (endOffset - startOffset < 2) {\n            if (startContainer.hasChildNodes()) {\n              elm = startContainer.childNodes[startOffset];\n            }\n          }\n        }\n        if (startContainer.nodeType === 3 && endContainer.nodeType === 3) {\n          if (startContainer.length === startOffset) {\n            startContainer = skipEmptyTextNodes(startContainer.nextSibling, true);\n          } else {\n            startContainer = startContainer.parentNode;\n          }\n          if (endOffset === 0) {\n            endContainer = skipEmptyTextNodes(endContainer.previousSibling, false);\n          } else {\n            endContainer = endContainer.parentNode;\n          }\n          if (startContainer && startContainer === endContainer) {\n            return startContainer;\n          }\n        }\n      }\n      if (elm && elm.nodeType === 3) {\n        return elm.parentNode;\n      }\n      return elm;\n    };\n    var getSelectedBlocks = function (dom, rng, startElm, endElm) {\n      var node, root;\n      var selectedBlocks = [];\n      root = dom.getRoot();\n      startElm = dom.getParent(startElm || getStart$2(root, rng, rng.collapsed), dom.isBlock);\n      endElm = dom.getParent(endElm || getEnd(root, rng, rng.collapsed), dom.isBlock);\n      if (startElm && startElm !== root) {\n        selectedBlocks.push(startElm);\n      }\n      if (startElm && endElm && startElm !== endElm) {\n        node = startElm;\n        var walker = new TreeWalker(startElm, root);\n        while ((node = walker.next()) && node !== endElm) {\n          if (dom.isBlock(node)) {\n            selectedBlocks.push(node);\n          }\n        }\n      }\n      if (endElm && startElm !== endElm && endElm !== root) {\n        selectedBlocks.push(endElm);\n      }\n      return selectedBlocks;\n    };\n    var select$1 = function (dom, node, content) {\n      return Option.from(node).map(function (node) {\n        var idx = dom.nodeIndex(node);\n        var rng = dom.createRng();\n        rng.setStart(node.parentNode, idx);\n        rng.setEnd(node.parentNode, idx + 1);\n        if (content) {\n          moveEndPoint$1(dom, rng, node, true);\n          moveEndPoint$1(dom, rng, node, false);\n        }\n        return rng;\n      });\n    };\n\n    var each$j = Tools.each;\n    var isNativeIeSelection = function (rng) {\n      return !!rng.select;\n    };\n    var isAttachedToDom = function (node) {\n      return !!(node && node.ownerDocument) && contains$3(Element$$1.fromDom(node.ownerDocument), Element$$1.fromDom(node));\n    };\n    var isValidRange = function (rng) {\n      if (!rng) {\n        return false;\n      } else if (isNativeIeSelection(rng)) {\n        return true;\n      } else {\n        return isAttachedToDom(rng.startContainer) && isAttachedToDom(rng.endContainer);\n      }\n    };\n    var Selection = function (dom, win, serializer, editor) {\n      var bookmarkManager, controlSelection;\n      var selectedRange, explicitRange, selectorChangedData;\n      var setCursorLocation = function (node, offset) {\n        var rng = dom.createRng();\n        if (!node) {\n          moveEndPoint$1(dom, rng, editor.getBody(), true);\n          setRng(rng);\n        } else {\n          rng.setStart(node, offset);\n          rng.setEnd(node, offset);\n          setRng(rng);\n          collapse(false);\n        }\n      };\n      var getContent = function (args) {\n        return GetSelectionContent.getContent(editor, args);\n      };\n      var setContent = function (content, args) {\n        return SetSelectionContent.setContent(editor, content, args);\n      };\n      var getStart = function (real) {\n        return getStart$2(editor.getBody(), getRng(), real);\n      };\n      var getEnd$$1 = function (real) {\n        return getEnd(editor.getBody(), getRng(), real);\n      };\n      var getBookmark = function (type, normalized) {\n        return bookmarkManager.getBookmark(type, normalized);\n      };\n      var moveToBookmark = function (bookmark) {\n        return bookmarkManager.moveToBookmark(bookmark);\n      };\n      var select = function (node, content) {\n        select$1(dom, node, content).each(setRng);\n        return node;\n      };\n      var isCollapsed = function () {\n        var rng = getRng(), sel = getSel();\n        if (!rng || rng.item) {\n          return false;\n        }\n        if (rng.compareEndPoints) {\n          return rng.compareEndPoints('StartToEnd', rng) === 0;\n        }\n        return !sel || rng.collapsed;\n      };\n      var collapse = function (toStart) {\n        var rng = getRng();\n        rng.collapse(!!toStart);\n        setRng(rng);\n      };\n      var getSel = function () {\n        return win.getSelection ? win.getSelection() : win.document.selection;\n      };\n      var getRng = function () {\n        var selection, rng, elm, doc;\n        var tryCompareBoundaryPoints = function (how, sourceRange, destinationRange) {\n          try {\n            return sourceRange.compareBoundaryPoints(how, destinationRange);\n          } catch (ex) {\n            return -1;\n          }\n        };\n        if (!win) {\n          return null;\n        }\n        doc = win.document;\n        if (typeof doc === 'undefined' || doc === null) {\n          return null;\n        }\n        if (editor.bookmark !== undefined && EditorFocus.hasFocus(editor) === false) {\n          var bookmark = SelectionBookmark.getRng(editor);\n          if (bookmark.isSome()) {\n            return bookmark.map(function (r) {\n              return EventProcessRanges.processRanges(editor, [r])[0];\n            }).getOr(doc.createRange());\n          }\n        }\n        try {\n          if (selection = getSel()) {\n            if (selection.rangeCount > 0) {\n              rng = selection.getRangeAt(0);\n            } else {\n              rng = selection.createRange ? selection.createRange() : doc.createRange();\n            }\n          }\n        } catch (ex) {\n        }\n        rng = EventProcessRanges.processRanges(editor, [rng])[0];\n        if (!rng) {\n          rng = doc.createRange ? doc.createRange() : doc.body.createTextRange();\n        }\n        if (rng.setStart && rng.startContainer.nodeType === 9 && rng.collapsed) {\n          elm = dom.getRoot();\n          rng.setStart(elm, 0);\n          rng.setEnd(elm, 0);\n        }\n        if (selectedRange && explicitRange) {\n          if (tryCompareBoundaryPoints(rng.START_TO_START, rng, selectedRange) === 0 && tryCompareBoundaryPoints(rng.END_TO_END, rng, selectedRange) === 0) {\n            rng = explicitRange;\n          } else {\n            selectedRange = null;\n            explicitRange = null;\n          }\n        }\n        return rng;\n      };\n      var setRng = function (rng, forward) {\n        var sel, node, evt;\n        if (!isValidRange(rng)) {\n          return;\n        }\n        var ieRange = isNativeIeSelection(rng) ? rng : null;\n        if (ieRange) {\n          explicitRange = null;\n          try {\n            ieRange.select();\n          } catch (ex) {\n          }\n          return;\n        }\n        sel = getSel();\n        evt = editor.fire('SetSelectionRange', {\n          range: rng,\n          forward: forward\n        });\n        rng = evt.range;\n        if (sel) {\n          explicitRange = rng;\n          try {\n            sel.removeAllRanges();\n            sel.addRange(rng);\n          } catch (ex) {\n          }\n          if (forward === false && sel.extend) {\n            sel.collapse(rng.endContainer, rng.endOffset);\n            sel.extend(rng.startContainer, rng.startOffset);\n          }\n          selectedRange = sel.rangeCount > 0 ? sel.getRangeAt(0) : null;\n        }\n        if (!rng.collapsed && rng.startContainer === rng.endContainer && sel.setBaseAndExtent && !Env.ie) {\n          if (rng.endOffset - rng.startOffset < 2) {\n            if (rng.startContainer.hasChildNodes()) {\n              node = rng.startContainer.childNodes[rng.startOffset];\n              if (node && node.tagName === 'IMG') {\n                sel.setBaseAndExtent(rng.startContainer, rng.startOffset, rng.endContainer, rng.endOffset);\n                if (sel.anchorNode !== rng.startContainer || sel.focusNode !== rng.endContainer) {\n                  sel.setBaseAndExtent(node, 0, node, 1);\n                }\n              }\n            }\n          }\n        }\n        editor.fire('AfterSetSelectionRange', {\n          range: rng,\n          forward: forward\n        });\n      };\n      var setNode = function (elm) {\n        setContent(dom.getOuterHTML(elm));\n        return elm;\n      };\n      var getNode = function () {\n        return getNode$1(editor.getBody(), getRng());\n      };\n      var getSelectedBlocks$$1 = function (startElm, endElm) {\n        return getSelectedBlocks(dom, getRng(), startElm, endElm);\n      };\n      var isForward = function () {\n        var sel = getSel();\n        var anchorRange, focusRange;\n        if (!sel || !sel.anchorNode || !sel.focusNode) {\n          return true;\n        }\n        anchorRange = dom.createRng();\n        anchorRange.setStart(sel.anchorNode, sel.anchorOffset);\n        anchorRange.collapse(true);\n        focusRange = dom.createRng();\n        focusRange.setStart(sel.focusNode, sel.focusOffset);\n        focusRange.collapse(true);\n        return anchorRange.compareBoundaryPoints(anchorRange.START_TO_START, focusRange) <= 0;\n      };\n      var normalize = function () {\n        var rng = getRng();\n        var sel = getSel();\n        if (!MultiRange.hasMultipleRanges(sel) && hasAnyRanges(editor)) {\n          var normRng = NormalizeRange.normalize(dom, rng);\n          normRng.each(function (normRng) {\n            setRng(normRng, isForward());\n          });\n          return normRng.getOr(rng);\n        }\n        return rng;\n      };\n      var selectorChanged = function (selector, callback) {\n        var currentSelectors;\n        if (!selectorChangedData) {\n          selectorChangedData = {};\n          currentSelectors = {};\n          editor.on('NodeChange', function (e) {\n            var node = e.element, parents = dom.getParents(node, null, dom.getRoot()), matchedSelectors = {};\n            each$j(selectorChangedData, function (callbacks, selector) {\n              each$j(parents, function (node) {\n                if (dom.is(node, selector)) {\n                  if (!currentSelectors[selector]) {\n                    each$j(callbacks, function (callback) {\n                      callback(true, {\n                        node: node,\n                        selector: selector,\n                        parents: parents\n                      });\n                    });\n                    currentSelectors[selector] = callbacks;\n                  }\n                  matchedSelectors[selector] = callbacks;\n                  return false;\n                }\n              });\n            });\n            each$j(currentSelectors, function (callbacks, selector) {\n              if (!matchedSelectors[selector]) {\n                delete currentSelectors[selector];\n                each$j(callbacks, function (callback) {\n                  callback(false, {\n                    node: node,\n                    selector: selector,\n                    parents: parents\n                  });\n                });\n              }\n            });\n          });\n        }\n        if (!selectorChangedData[selector]) {\n          selectorChangedData[selector] = [];\n        }\n        selectorChangedData[selector].push(callback);\n        return exports;\n      };\n      var getScrollContainer = function () {\n        var scrollContainer;\n        var node = dom.getRoot();\n        while (node && node.nodeName !== 'BODY') {\n          if (node.scrollHeight > node.clientHeight) {\n            scrollContainer = node;\n            break;\n          }\n          node = node.parentNode;\n        }\n        return scrollContainer;\n      };\n      var scrollIntoView = function (elm, alignToTop) {\n        return ScrollIntoView.scrollElementIntoView(editor, elm, alignToTop);\n      };\n      var placeCaretAt = function (clientX, clientY) {\n        return setRng(CaretRangeFromPoint.fromPoint(clientX, clientY, editor.getDoc()));\n      };\n      var getBoundingClientRect = function () {\n        var rng = getRng();\n        return rng.collapsed ? CaretPosition$1.fromRangeStart(rng).getClientRects()[0] : rng.getBoundingClientRect();\n      };\n      var destroy = function () {\n        win = selectedRange = explicitRange = null;\n        controlSelection.destroy();\n      };\n      var exports = {\n        bookmarkManager: null,\n        controlSelection: null,\n        dom: dom,\n        win: win,\n        serializer: serializer,\n        editor: editor,\n        collapse: collapse,\n        setCursorLocation: setCursorLocation,\n        getContent: getContent,\n        setContent: setContent,\n        getBookmark: getBookmark,\n        moveToBookmark: moveToBookmark,\n        select: select,\n        isCollapsed: isCollapsed,\n        isForward: isForward,\n        setNode: setNode,\n        getNode: getNode,\n        getSel: getSel,\n        setRng: setRng,\n        getRng: getRng,\n        getStart: getStart,\n        getEnd: getEnd$$1,\n        getSelectedBlocks: getSelectedBlocks$$1,\n        normalize: normalize,\n        selectorChanged: selectorChanged,\n        getScrollContainer: getScrollContainer,\n        scrollIntoView: scrollIntoView,\n        placeCaretAt: placeCaretAt,\n        getBoundingClientRect: getBoundingClientRect,\n        destroy: destroy\n      };\n      bookmarkManager = BookmarkManager$1(exports);\n      controlSelection = ControlSelection(exports, editor);\n      exports.bookmarkManager = bookmarkManager;\n      exports.controlSelection = controlSelection;\n      return exports;\n    };\n\n    var isContentEditableFalse$b = NodeType.isContentEditableFalse;\n    var getSelectedNode$1 = getSelectedNode;\n    var isAfterContentEditableFalse$2 = isAfterContentEditableFalse;\n    var isBeforeContentEditableFalse$2 = isBeforeContentEditableFalse;\n    var getVisualCaretPosition = function (walkFn, caretPosition) {\n      while (caretPosition = walkFn(caretPosition)) {\n        if (caretPosition.isVisible()) {\n          return caretPosition;\n        }\n      }\n      return caretPosition;\n    };\n    var isMoveInsideSameBlock = function (from, to) {\n      var inSameBlock = isInSameBlock(from, to);\n      if (!inSameBlock && NodeType.isBr(from.getNode())) {\n        return true;\n      }\n      return inSameBlock;\n    };\n    var moveToCeFalseHorizontally = function (direction, editor, getNextPosFn, range$$1) {\n      var node, caretPosition, peekCaretPosition, rangeIsInContainerBlock;\n      var forwards = direction === HDirection.Forwards;\n      var isBeforeContentEditableFalseFn = forwards ? isBeforeContentEditableFalse$2 : isAfterContentEditableFalse$2;\n      if (!range$$1.collapsed) {\n        node = getSelectedNode$1(range$$1);\n        if (isContentEditableFalse$b(node)) {\n          return showCaret(direction, editor, node, direction === HDirection.Backwards, true);\n        }\n      }\n      rangeIsInContainerBlock = isRangeInCaretContainerBlock(range$$1);\n      caretPosition = getNormalizedRangeEndPoint(direction, editor.getBody(), range$$1);\n      if (isBeforeContentEditableFalseFn(caretPosition)) {\n        return selectNode(editor, caretPosition.getNode(!forwards));\n      }\n      caretPosition = getNextPosFn(caretPosition);\n      if (!caretPosition) {\n        if (rangeIsInContainerBlock) {\n          return range$$1;\n        }\n        return null;\n      }\n      if (isBeforeContentEditableFalseFn(caretPosition)) {\n        return showCaret(direction, editor, caretPosition.getNode(!forwards), forwards, true);\n      }\n      peekCaretPosition = getNextPosFn(caretPosition);\n      if (isBeforeContentEditableFalseFn(peekCaretPosition)) {\n        if (isMoveInsideSameBlock(caretPosition, peekCaretPosition)) {\n          return showCaret(direction, editor, peekCaretPosition.getNode(!forwards), forwards, true);\n        }\n      }\n      if (rangeIsInContainerBlock) {\n        return renderRangeCaret(editor, caretPosition.toRange(), true);\n      }\n      return null;\n    };\n    var moveToCeFalseVertically = function (direction, editor, walkerFn, range$$1) {\n      var caretPosition, linePositions, nextLinePositions;\n      var closestNextLineRect, caretClientRect, clientX;\n      var dist1, dist2, contentEditableFalseNode;\n      contentEditableFalseNode = getSelectedNode$1(range$$1);\n      caretPosition = getNormalizedRangeEndPoint(direction, editor.getBody(), range$$1);\n      linePositions = walkerFn(editor.getBody(), isAboveLine(1), caretPosition);\n      nextLinePositions = filter(linePositions, isLine(1));\n      caretClientRect = ArrUtils.last(caretPosition.getClientRects());\n      if (isBeforeContentEditableFalse$2(caretPosition) || isBeforeTable(caretPosition)) {\n        contentEditableFalseNode = caretPosition.getNode();\n      }\n      if (isAfterContentEditableFalse$2(caretPosition) || isAfterTable(caretPosition)) {\n        contentEditableFalseNode = caretPosition.getNode(true);\n      }\n      if (!caretClientRect) {\n        return null;\n      }\n      clientX = caretClientRect.left;\n      closestNextLineRect = findClosestClientRect(nextLinePositions, clientX);\n      if (closestNextLineRect) {\n        if (isContentEditableFalse$b(closestNextLineRect.node)) {\n          dist1 = Math.abs(clientX - closestNextLineRect.left);\n          dist2 = Math.abs(clientX - closestNextLineRect.right);\n          return showCaret(direction, editor, closestNextLineRect.node, dist1 < dist2, true);\n        }\n      }\n      if (contentEditableFalseNode) {\n        var caretPositions = positionsUntil(direction, editor.getBody(), isAboveLine(1), contentEditableFalseNode);\n        closestNextLineRect = findClosestClientRect(filter(caretPositions, isLine(1)), clientX);\n        if (closestNextLineRect) {\n          return renderRangeCaret(editor, closestNextLineRect.position.toRange(), true);\n        }\n        closestNextLineRect = ArrUtils.last(filter(caretPositions, isLine(0)));\n        if (closestNextLineRect) {\n          return renderRangeCaret(editor, closestNextLineRect.position.toRange(), true);\n        }\n      }\n    };\n    var createTextBlock = function (editor) {\n      var textBlock = editor.dom.create(editor.settings.forced_root_block);\n      if (!Env.ie || Env.ie >= 11) {\n        textBlock.innerHTML = '<br data-mce-bogus=\"1\">';\n      }\n      return textBlock;\n    };\n    var exitPreBlock = function (editor, direction, range$$1) {\n      var pre, caretPos, newBlock;\n      var caretWalker = CaretWalker(editor.getBody());\n      var getNextVisualCaretPosition = curry(getVisualCaretPosition, caretWalker.next);\n      var getPrevVisualCaretPosition = curry(getVisualCaretPosition, caretWalker.prev);\n      if (range$$1.collapsed && editor.settings.forced_root_block) {\n        pre = editor.dom.getParent(range$$1.startContainer, 'PRE');\n        if (!pre) {\n          return;\n        }\n        if (direction === 1) {\n          caretPos = getNextVisualCaretPosition(CaretPosition$1.fromRangeStart(range$$1));\n        } else {\n          caretPos = getPrevVisualCaretPosition(CaretPosition$1.fromRangeStart(range$$1));\n        }\n        if (!caretPos) {\n          newBlock = createTextBlock(editor);\n          if (direction === 1) {\n            editor.$(pre).after(newBlock);\n          } else {\n            editor.$(pre).before(newBlock);\n          }\n          editor.selection.select(newBlock, true);\n          editor.selection.collapse();\n        }\n      }\n    };\n    var getHorizontalRange = function (editor, forward) {\n      var caretWalker = CaretWalker(editor.getBody());\n      var getNextVisualCaretPosition = curry(getVisualCaretPosition, caretWalker.next);\n      var getPrevVisualCaretPosition = curry(getVisualCaretPosition, caretWalker.prev);\n      var newRange;\n      var direction = forward ? HDirection.Forwards : HDirection.Backwards;\n      var getNextPosFn = forward ? getNextVisualCaretPosition : getPrevVisualCaretPosition;\n      var range$$1 = editor.selection.getRng();\n      newRange = moveToCeFalseHorizontally(direction, editor, getNextPosFn, range$$1);\n      if (newRange) {\n        return newRange;\n      }\n      newRange = exitPreBlock(editor, direction, range$$1);\n      if (newRange) {\n        return newRange;\n      }\n      return null;\n    };\n    var getVerticalRange = function (editor, down) {\n      var newRange;\n      var direction = down ? 1 : -1;\n      var walkerFn = down ? downUntil : upUntil;\n      var range$$1 = editor.selection.getRng();\n      newRange = moveToCeFalseVertically(direction, editor, walkerFn, range$$1);\n      if (newRange) {\n        return newRange;\n      }\n      newRange = exitPreBlock(editor, direction, range$$1);\n      if (newRange) {\n        return newRange;\n      }\n      return null;\n    };\n    var moveH = function (editor, forward) {\n      return function () {\n        var newRng = getHorizontalRange(editor, forward);\n        if (newRng) {\n          editor.selection.setRng(newRng);\n          return true;\n        } else {\n          return false;\n        }\n      };\n    };\n    var moveV = function (editor, down) {\n      return function () {\n        var newRng = getVerticalRange(editor, down);\n        if (newRng) {\n          editor.selection.setRng(newRng);\n          return true;\n        } else {\n          return false;\n        }\n      };\n    };\n\n    var BreakType;\n    (function (BreakType) {\n      BreakType[BreakType['Br'] = 0] = 'Br';\n      BreakType[BreakType['Block'] = 1] = 'Block';\n      BreakType[BreakType['Wrap'] = 2] = 'Wrap';\n      BreakType[BreakType['Eol'] = 3] = 'Eol';\n    }(BreakType || (BreakType = {})));\n    var flip = function (direction, positions) {\n      return direction === HDirection.Backwards ? positions.reverse() : positions;\n    };\n    var walk$3 = function (direction, caretWalker, pos) {\n      return direction === HDirection.Forwards ? caretWalker.next(pos) : caretWalker.prev(pos);\n    };\n    var getBreakType = function (scope, direction, currentPos, nextPos) {\n      if (NodeType.isBr(nextPos.getNode(direction === HDirection.Forwards))) {\n        return BreakType.Br;\n      } else if (isInSameBlock(currentPos, nextPos) === false) {\n        return BreakType.Block;\n      } else {\n        return BreakType.Wrap;\n      }\n    };\n    var getPositionsUntil = function (predicate, direction, scope, start) {\n      var caretWalker = CaretWalker(scope);\n      var currentPos = start, nextPos;\n      var positions = [];\n      while (currentPos) {\n        nextPos = walk$3(direction, caretWalker, currentPos);\n        if (!nextPos) {\n          break;\n        }\n        if (NodeType.isBr(nextPos.getNode(false))) {\n          if (direction === HDirection.Forwards) {\n            return {\n              positions: flip(direction, positions).concat([nextPos]),\n              breakType: BreakType.Br,\n              breakAt: Option.some(nextPos)\n            };\n          } else {\n            return {\n              positions: flip(direction, positions),\n              breakType: BreakType.Br,\n              breakAt: Option.some(nextPos)\n            };\n          }\n        }\n        if (!nextPos.isVisible()) {\n          currentPos = nextPos;\n          continue;\n        }\n        if (predicate(currentPos, nextPos)) {\n          var breakType = getBreakType(scope, direction, currentPos, nextPos);\n          return {\n            positions: flip(direction, positions),\n            breakType: breakType,\n            breakAt: Option.some(nextPos)\n          };\n        }\n        positions.push(nextPos);\n        currentPos = nextPos;\n      }\n      return {\n        positions: flip(direction, positions),\n        breakType: BreakType.Eol,\n        breakAt: Option.none()\n      };\n    };\n    var getAdjacentLinePositions = function (direction, getPositionsUntilBreak, scope, start) {\n      return getPositionsUntilBreak(scope, start).breakAt.map(function (pos) {\n        var positions = getPositionsUntilBreak(scope, pos).positions;\n        return direction === HDirection.Backwards ? positions.concat(pos) : [pos].concat(positions);\n      }).getOr([]);\n    };\n    var findClosestHorizontalPositionFromPoint = function (positions, x) {\n      return foldl(positions, function (acc, newPos) {\n        return acc.fold(function () {\n          return Option.some(newPos);\n        }, function (lastPos) {\n          return liftN([\n            head(lastPos.getClientRects()),\n            head(newPos.getClientRects())\n          ], function (lastRect, newRect) {\n            var lastDist = Math.abs(x - lastRect.left);\n            var newDist = Math.abs(x - newRect.left);\n            return newDist <= lastDist ? newPos : lastPos;\n          }).or(acc);\n        });\n      }, Option.none());\n    };\n    var findClosestHorizontalPosition = function (positions, pos) {\n      return head(pos.getClientRects()).bind(function (targetRect) {\n        return findClosestHorizontalPositionFromPoint(positions, targetRect.left);\n      });\n    };\n    var getPositionsUntilPreviousLine = curry(getPositionsUntil, CaretPosition.isAbove, -1);\n    var getPositionsUntilNextLine = curry(getPositionsUntil, CaretPosition.isBelow, 1);\n    var isAtFirstLine = function (scope, pos) {\n      return getPositionsUntilPreviousLine(scope, pos).breakAt.isNone();\n    };\n    var isAtLastLine = function (scope, pos) {\n      return getPositionsUntilNextLine(scope, pos).breakAt.isNone();\n    };\n    var getPositionsAbove = curry(getAdjacentLinePositions, -1, getPositionsUntilPreviousLine);\n    var getPositionsBelow = curry(getAdjacentLinePositions, 1, getPositionsUntilNextLine);\n    var getFirstLinePositions = function (scope) {\n      return CaretFinder.firstPositionIn(scope).map(function (pos) {\n        return [pos].concat(getPositionsUntilNextLine(scope, pos).positions);\n      }).getOr([]);\n    };\n    var getLastLinePositions = function (scope) {\n      return CaretFinder.lastPositionIn(scope).map(function (pos) {\n        return getPositionsUntilPreviousLine(scope, pos).positions.concat(pos);\n      }).getOr([]);\n    };\n\n    var deflate = function (rect, delta) {\n      return {\n        left: rect.left - delta,\n        top: rect.top - delta,\n        right: rect.right + delta * 2,\n        bottom: rect.bottom + delta * 2,\n        width: rect.width + delta,\n        height: rect.height + delta\n      };\n    };\n    var getCorners = function (getYAxisValue, tds) {\n      return bind(tds, function (td) {\n        var rect = deflate(clone$2(td.getBoundingClientRect()), -1);\n        return [\n          {\n            x: rect.left,\n            y: getYAxisValue(rect),\n            cell: td\n          },\n          {\n            x: rect.right,\n            y: getYAxisValue(rect),\n            cell: td\n          }\n        ];\n      });\n    };\n    var findClosestCorner = function (corners, x, y) {\n      return foldl(corners, function (acc, newCorner) {\n        return acc.fold(function () {\n          return Option.some(newCorner);\n        }, function (oldCorner) {\n          var oldDist = Math.sqrt(Math.abs(oldCorner.x - x) + Math.abs(oldCorner.y - y));\n          var newDist = Math.sqrt(Math.abs(newCorner.x - x) + Math.abs(newCorner.y - y));\n          return Option.some(newDist < oldDist ? newCorner : oldCorner);\n        });\n      }, Option.none());\n    };\n    var getClosestCell$1 = function (getYAxisValue, isTargetCorner, table, x, y) {\n      var cells = descendants$1(Element$$1.fromDom(table), 'td,th,caption').map(function (e) {\n        return e.dom();\n      });\n      var corners = filter(getCorners(getYAxisValue, cells), function (corner) {\n        return isTargetCorner(corner, y);\n      });\n      return findClosestCorner(corners, x, y).map(function (corner) {\n        return corner.cell;\n      });\n    };\n    var getBottomValue = function (rect) {\n      return rect.bottom;\n    };\n    var getTopValue = function (rect) {\n      return rect.top;\n    };\n    var isAbove$1 = function (corner, y) {\n      return corner.y < y;\n    };\n    var isBelow$1 = function (corner, y) {\n      return corner.y > y;\n    };\n    var getClosestCellAbove = curry(getClosestCell$1, getBottomValue, isAbove$1);\n    var getClosestCellBelow = curry(getClosestCell$1, getTopValue, isBelow$1);\n    var findClosestPositionInAboveCell = function (table, pos) {\n      return head(pos.getClientRects()).bind(function (rect) {\n        return getClosestCellAbove(table, rect.left, rect.top);\n      }).bind(function (cell) {\n        return findClosestHorizontalPosition(getLastLinePositions(cell), pos);\n      });\n    };\n    var findClosestPositionInBelowCell = function (table, pos) {\n      return last(pos.getClientRects()).bind(function (rect) {\n        return getClosestCellBelow(table, rect.left, rect.top);\n      }).bind(function (cell) {\n        return findClosestHorizontalPosition(getFirstLinePositions(cell), pos);\n      });\n    };\n\n    var moveToRange = function (editor, rng) {\n      editor.selection.setRng(rng);\n      ScrollIntoView.scrollRangeIntoView(editor, rng);\n    };\n    var hasNextBreak = function (getPositionsUntil, scope, lineInfo) {\n      return lineInfo.breakAt.map(function (breakPos) {\n        return getPositionsUntil(scope, breakPos).breakAt.isSome();\n      }).getOr(false);\n    };\n    var startsWithWrapBreak = function (lineInfo) {\n      return lineInfo.breakType === BreakType.Wrap && lineInfo.positions.length === 0;\n    };\n    var startsWithBrBreak = function (lineInfo) {\n      return lineInfo.breakType === BreakType.Br && lineInfo.positions.length === 1;\n    };\n    var isAtTableCellLine = function (getPositionsUntil, scope, pos) {\n      var lineInfo = getPositionsUntil(scope, pos);\n      if (startsWithWrapBreak(lineInfo) || !NodeType.isBr(pos.getNode()) && startsWithBrBreak(lineInfo)) {\n        return !hasNextBreak(getPositionsUntil, scope, lineInfo);\n      } else {\n        return lineInfo.breakAt.isNone();\n      }\n    };\n    var isAtFirstTableCellLine = curry(isAtTableCellLine, getPositionsUntilPreviousLine);\n    var isAtLastTableCellLine = curry(isAtTableCellLine, getPositionsUntilNextLine);\n    var isCaretAtStartOrEndOfTable = function (forward, rng, table) {\n      var caretPos = CaretPosition$1.fromRangeStart(rng);\n      return CaretFinder.positionIn(!forward, table).map(function (pos) {\n        return pos.isEqual(caretPos);\n      }).getOr(false);\n    };\n    var navigateHorizontally = function (editor, forward, table, td) {\n      var rng = editor.selection.getRng();\n      var direction = forward ? 1 : -1;\n      if (isFakeCaretTableBrowser() && isCaretAtStartOrEndOfTable(forward, rng, table)) {\n        var newRng = showCaret(direction, editor, table, !forward, true);\n        moveToRange(editor, newRng);\n        return true;\n      }\n      return false;\n    };\n    var getClosestAbovePosition = function (root, table, start) {\n      return findClosestPositionInAboveCell(table, start).orThunk(function () {\n        return head(start.getClientRects()).bind(function (rect) {\n          return findClosestHorizontalPositionFromPoint(getPositionsAbove(root, CaretPosition$1.before(table)), rect.left);\n        });\n      }).getOr(CaretPosition$1.before(table));\n    };\n    var getClosestBelowPosition = function (root, table, start) {\n      return findClosestPositionInBelowCell(table, start).orThunk(function () {\n        return head(start.getClientRects()).bind(function (rect) {\n          return findClosestHorizontalPositionFromPoint(getPositionsBelow(root, CaretPosition$1.after(table)), rect.left);\n        });\n      }).getOr(CaretPosition$1.after(table));\n    };\n    var getTable = function (previous, pos) {\n      var node = pos.getNode(previous);\n      return NodeType.isElement(node) && node.nodeName === 'TABLE' ? Option.some(node) : Option.none();\n    };\n    var renderBlock = function (down, editor, table, pos) {\n      var forcedRootBlock = Settings.getForcedRootBlock(editor);\n      if (forcedRootBlock) {\n        editor.undoManager.transact(function () {\n          var element = Element$$1.fromTag(forcedRootBlock);\n          setAll(element, Settings.getForcedRootBlockAttrs(editor));\n          append(element, Element$$1.fromTag('br'));\n          if (down) {\n            after(Element$$1.fromDom(table), element);\n          } else {\n            before(Element$$1.fromDom(table), element);\n          }\n          var rng = editor.dom.createRng();\n          rng.setStart(element.dom(), 0);\n          rng.setEnd(element.dom(), 0);\n          moveToRange(editor, rng);\n        });\n      } else {\n        moveToRange(editor, pos.toRange());\n      }\n    };\n    var moveCaret = function (editor, down, pos) {\n      var table = down ? getTable(true, pos) : getTable(false, pos);\n      var last$$1 = down === false;\n      table.fold(function () {\n        return moveToRange(editor, pos.toRange());\n      }, function (table) {\n        return CaretFinder.positionIn(last$$1, editor.getBody()).filter(function (lastPos) {\n          return lastPos.isEqual(pos);\n        }).fold(function () {\n          return moveToRange(editor, pos.toRange());\n        }, function (_) {\n          return renderBlock(down, editor, table, pos);\n        });\n      });\n    };\n    var navigateVertically = function (editor, down, table, td) {\n      var rng = editor.selection.getRng();\n      var pos = CaretPosition$1.fromRangeStart(rng);\n      var root = editor.getBody();\n      if (!down && isAtFirstTableCellLine(td, pos)) {\n        var newPos = getClosestAbovePosition(root, table, pos);\n        moveCaret(editor, down, newPos);\n        return true;\n      } else if (down && isAtLastTableCellLine(td, pos)) {\n        var newPos = getClosestBelowPosition(root, table, pos);\n        moveCaret(editor, down, newPos);\n        return true;\n      } else {\n        return false;\n      }\n    };\n    var moveH$1 = function (editor, forward) {\n      return function () {\n        return Option.from(editor.dom.getParent(editor.selection.getNode(), 'td,th')).bind(function (td) {\n          return Option.from(editor.dom.getParent(td, 'table')).map(function (table) {\n            return navigateHorizontally(editor, forward, table, td);\n          });\n        }).getOr(false);\n      };\n    };\n    var moveV$1 = function (editor, forward) {\n      return function () {\n        return Option.from(editor.dom.getParent(editor.selection.getNode(), 'td,th')).bind(function (td) {\n          return Option.from(editor.dom.getParent(td, 'table')).map(function (table) {\n            return navigateVertically(editor, forward, table, td);\n          });\n        }).getOr(false);\n      };\n    };\n\n    var isTarget = function (node) {\n      return contains(['figcaption'], name(node));\n    };\n    var rangeBefore = function (target) {\n      var rng = document.createRange();\n      rng.setStartBefore(target.dom());\n      rng.setEndBefore(target.dom());\n      return rng;\n    };\n    var insertElement = function (root, elm, forward) {\n      if (forward) {\n        append(root, elm);\n      } else {\n        prepend(root, elm);\n      }\n    };\n    var insertBr = function (root, forward) {\n      var br = Element$$1.fromTag('br');\n      insertElement(root, br, forward);\n      return rangeBefore(br);\n    };\n    var insertBlock$1 = function (root, forward, blockName, attrs) {\n      var block = Element$$1.fromTag(blockName);\n      var br = Element$$1.fromTag('br');\n      setAll(block, attrs);\n      append(block, br);\n      insertElement(root, block, forward);\n      return rangeBefore(br);\n    };\n    var insertEmptyLine = function (root, rootBlockName, attrs, forward) {\n      if (rootBlockName === '') {\n        return insertBr(root, forward);\n      } else {\n        return insertBlock$1(root, forward, rootBlockName, attrs);\n      }\n    };\n    var getClosestTargetBlock = function (pos, root) {\n      var isRoot = curry(eq, root);\n      return closest(Element$$1.fromDom(pos.container()), isBlock, isRoot).filter(isTarget);\n    };\n    var isAtFirstOrLastLine = function (root, forward, pos) {\n      return forward ? isAtLastLine(root.dom(), pos) : isAtFirstLine(root.dom(), pos);\n    };\n    var moveCaretToNewEmptyLine = function (editor, forward) {\n      var root = Element$$1.fromDom(editor.getBody());\n      var pos = CaretPosition$1.fromRangeStart(editor.selection.getRng());\n      var rootBlock = Settings.getForcedRootBlock(editor);\n      var rootBlockAttrs = Settings.getForcedRootBlockAttrs(editor);\n      return getClosestTargetBlock(pos, root).exists(function () {\n        if (isAtFirstOrLastLine(root, forward, pos)) {\n          var rng = insertEmptyLine(root, rootBlock, rootBlockAttrs, forward);\n          editor.selection.setRng(rng);\n          return true;\n        } else {\n          return false;\n        }\n      });\n    };\n    var moveV$2 = function (editor, forward) {\n      return function () {\n        if (editor.selection.isCollapsed()) {\n          return moveCaretToNewEmptyLine(editor, forward);\n        } else {\n          return false;\n        }\n      };\n    };\n\n    var defaultPatterns = function (patterns) {\n      return map(patterns, function (pattern) {\n        return merge({\n          shiftKey: false,\n          altKey: false,\n          ctrlKey: false,\n          metaKey: false,\n          keyCode: 0,\n          action: noop\n        }, pattern);\n      });\n    };\n    var matchesEvent = function (pattern, evt) {\n      return evt.keyCode === pattern.keyCode && evt.shiftKey === pattern.shiftKey && evt.altKey === pattern.altKey && evt.ctrlKey === pattern.ctrlKey && evt.metaKey === pattern.metaKey;\n    };\n    var match$1 = function (patterns, evt) {\n      return bind(defaultPatterns(patterns), function (pattern) {\n        return matchesEvent(pattern, evt) ? [pattern] : [];\n      });\n    };\n    var action = function (f) {\n      var x = [];\n      for (var _i = 1; _i < arguments.length; _i++) {\n        x[_i - 1] = arguments[_i];\n      }\n      var args = Array.prototype.slice.call(arguments, 1);\n      return function () {\n        return f.apply(null, args);\n      };\n    };\n    var execute = function (patterns, evt) {\n      return find(match$1(patterns, evt), function (pattern) {\n        return pattern.action();\n      });\n    };\n    var MatchKeys = {\n      match: match$1,\n      action: action,\n      execute: execute\n    };\n\n    var executeKeydownOverride = function (editor, caret, evt) {\n      var os = PlatformDetection$1.detect().os;\n      MatchKeys.execute([\n        {\n          keyCode: VK.RIGHT,\n          action: moveH(editor, true)\n        },\n        {\n          keyCode: VK.LEFT,\n          action: moveH(editor, false)\n        },\n        {\n          keyCode: VK.UP,\n          action: moveV(editor, false)\n        },\n        {\n          keyCode: VK.DOWN,\n          action: moveV(editor, true)\n        },\n        {\n          keyCode: VK.RIGHT,\n          action: moveH$1(editor, true)\n        },\n        {\n          keyCode: VK.LEFT,\n          action: moveH$1(editor, false)\n        },\n        {\n          keyCode: VK.UP,\n          action: moveV$1(editor, false)\n        },\n        {\n          keyCode: VK.DOWN,\n          action: moveV$1(editor, true)\n        },\n        {\n          keyCode: VK.RIGHT,\n          action: BoundarySelection.move(editor, caret, true)\n        },\n        {\n          keyCode: VK.LEFT,\n          action: BoundarySelection.move(editor, caret, false)\n        },\n        {\n          keyCode: VK.RIGHT,\n          ctrlKey: !os.isOSX(),\n          altKey: os.isOSX(),\n          action: BoundarySelection.moveNextWord(editor, caret)\n        },\n        {\n          keyCode: VK.LEFT,\n          ctrlKey: !os.isOSX(),\n          altKey: os.isOSX(),\n          action: BoundarySelection.movePrevWord(editor, caret)\n        },\n        {\n          keyCode: VK.UP,\n          action: moveV$2(editor, false)\n        },\n        {\n          keyCode: VK.DOWN,\n          action: moveV$2(editor, true)\n        }\n      ], evt).each(function (_) {\n        evt.preventDefault();\n      });\n    };\n    var setup$7 = function (editor, caret) {\n      editor.on('keydown', function (evt) {\n        if (evt.isDefaultPrevented() === false) {\n          executeKeydownOverride(editor, caret, evt);\n        }\n      });\n    };\n    var ArrowKeys = { setup: setup$7 };\n\n    var getParentInlines = function (rootElm, startElm) {\n      var parents$$1 = Parents.parentsAndSelf(startElm, rootElm);\n      return findIndex(parents$$1, isBlock).fold(constant(parents$$1), function (index) {\n        return parents$$1.slice(0, index);\n      });\n    };\n    var hasOnlyOneChild$1 = function (elm) {\n      return children(elm).length === 1;\n    };\n    var deleteLastPosition = function (forward, editor, target, parentInlines) {\n      var isFormatElement$$1 = curry(isFormatElement, editor);\n      var formatNodes = map(filter(parentInlines, isFormatElement$$1), function (elm) {\n        return elm.dom();\n      });\n      if (formatNodes.length === 0) {\n        DeleteElement.deleteElement(editor, forward, target);\n      } else {\n        var pos = replaceWithCaretFormat(target.dom(), formatNodes);\n        editor.selection.setRng(pos.toRange());\n      }\n    };\n    var deleteCaret$1 = function (editor, forward) {\n      var rootElm = Element$$1.fromDom(editor.getBody());\n      var startElm = Element$$1.fromDom(editor.selection.getStart());\n      var parentInlines = filter(getParentInlines(rootElm, startElm), hasOnlyOneChild$1);\n      return last(parentInlines).map(function (target) {\n        var fromPos = CaretPosition$1.fromRangeStart(editor.selection.getRng());\n        if (DeleteUtils.willDeleteLastPositionInElement(forward, fromPos, target.dom()) && !isEmptyCaretFormatElement(target)) {\n          deleteLastPosition(forward, editor, target, parentInlines);\n          return true;\n        } else {\n          return false;\n        }\n      }).getOr(false);\n    };\n    var backspaceDelete$5 = function (editor, forward) {\n      return editor.selection.isCollapsed() ? deleteCaret$1(editor, forward) : false;\n    };\n    var InlineFormatDelete = { backspaceDelete: backspaceDelete$5 };\n\n    var executeKeydownOverride$1 = function (editor, caret, evt) {\n      MatchKeys.execute([\n        {\n          keyCode: VK.BACKSPACE,\n          action: MatchKeys.action(CefDelete.backspaceDelete, editor, false)\n        },\n        {\n          keyCode: VK.DELETE,\n          action: MatchKeys.action(CefDelete.backspaceDelete, editor, true)\n        },\n        {\n          keyCode: VK.BACKSPACE,\n          action: MatchKeys.action(InlineBoundaryDelete.backspaceDelete, editor, caret, false)\n        },\n        {\n          keyCode: VK.DELETE,\n          action: MatchKeys.action(InlineBoundaryDelete.backspaceDelete, editor, caret, true)\n        },\n        {\n          keyCode: VK.BACKSPACE,\n          action: MatchKeys.action(TableDelete.backspaceDelete, editor, false)\n        },\n        {\n          keyCode: VK.DELETE,\n          action: MatchKeys.action(TableDelete.backspaceDelete, editor, true)\n        },\n        {\n          keyCode: VK.BACKSPACE,\n          action: MatchKeys.action(BlockRangeDelete.backspaceDelete, editor, false)\n        },\n        {\n          keyCode: VK.DELETE,\n          action: MatchKeys.action(BlockRangeDelete.backspaceDelete, editor, true)\n        },\n        {\n          keyCode: VK.BACKSPACE,\n          action: MatchKeys.action(BlockBoundaryDelete.backspaceDelete, editor, false)\n        },\n        {\n          keyCode: VK.DELETE,\n          action: MatchKeys.action(BlockBoundaryDelete.backspaceDelete, editor, true)\n        },\n        {\n          keyCode: VK.BACKSPACE,\n          action: MatchKeys.action(InlineFormatDelete.backspaceDelete, editor, false)\n        },\n        {\n          keyCode: VK.DELETE,\n          action: MatchKeys.action(InlineFormatDelete.backspaceDelete, editor, true)\n        }\n      ], evt).each(function (_) {\n        evt.preventDefault();\n      });\n    };\n    var executeKeyupOverride = function (editor, evt) {\n      MatchKeys.execute([\n        {\n          keyCode: VK.BACKSPACE,\n          action: MatchKeys.action(CefDelete.paddEmptyElement, editor)\n        },\n        {\n          keyCode: VK.DELETE,\n          action: MatchKeys.action(CefDelete.paddEmptyElement, editor)\n        }\n      ], evt);\n    };\n    var setup$8 = function (editor, caret) {\n      editor.on('keydown', function (evt) {\n        if (evt.isDefaultPrevented() === false) {\n          executeKeydownOverride$1(editor, caret, evt);\n        }\n      });\n      editor.on('keyup', function (evt) {\n        if (evt.isDefaultPrevented() === false) {\n          executeKeyupOverride(editor, evt);\n        }\n      });\n    };\n    var DeleteBackspaceKeys = { setup: setup$8 };\n\n    var firstNonWhiteSpaceNodeSibling = function (node) {\n      while (node) {\n        if (node.nodeType === 1 || node.nodeType === 3 && node.data && /[\\r\\n\\s]/.test(node.data)) {\n          return node;\n        }\n        node = node.nextSibling;\n      }\n    };\n    var moveToCaretPosition = function (editor, root) {\n      var walker, node, rng, lastNode = root, tempElm;\n      var dom = editor.dom;\n      var moveCaretBeforeOnEnterElementsMap = editor.schema.getMoveCaretBeforeOnEnterElements();\n      if (!root) {\n        return;\n      }\n      if (/^(LI|DT|DD)$/.test(root.nodeName)) {\n        var firstChild = firstNonWhiteSpaceNodeSibling(root.firstChild);\n        if (firstChild && /^(UL|OL|DL)$/.test(firstChild.nodeName)) {\n          root.insertBefore(dom.doc.createTextNode('\\xA0'), root.firstChild);\n        }\n      }\n      rng = dom.createRng();\n      root.normalize();\n      if (root.hasChildNodes()) {\n        walker = new TreeWalker(root, root);\n        while (node = walker.current()) {\n          if (NodeType.isText(node)) {\n            rng.setStart(node, 0);\n            rng.setEnd(node, 0);\n            break;\n          }\n          if (moveCaretBeforeOnEnterElementsMap[node.nodeName.toLowerCase()]) {\n            rng.setStartBefore(node);\n            rng.setEndBefore(node);\n            break;\n          }\n          lastNode = node;\n          node = walker.next();\n        }\n        if (!node) {\n          rng.setStart(lastNode, 0);\n          rng.setEnd(lastNode, 0);\n        }\n      } else {\n        if (NodeType.isBr(root)) {\n          if (root.nextSibling && dom.isBlock(root.nextSibling)) {\n            rng.setStartBefore(root);\n            rng.setEndBefore(root);\n          } else {\n            rng.setStartAfter(root);\n            rng.setEndAfter(root);\n          }\n        } else {\n          rng.setStart(root, 0);\n          rng.setEnd(root, 0);\n        }\n      }\n      editor.selection.setRng(rng);\n      dom.remove(tempElm);\n      editor.selection.scrollIntoView(root);\n    };\n    var getEditableRoot = function (dom, node) {\n      var root = dom.getRoot();\n      var parent, editableRoot;\n      parent = node;\n      while (parent !== root && dom.getContentEditable(parent) !== 'false') {\n        if (dom.getContentEditable(parent) === 'true') {\n          editableRoot = parent;\n        }\n        parent = parent.parentNode;\n      }\n      return parent !== root ? editableRoot : root;\n    };\n    var getParentBlock$2 = function (editor) {\n      return Option.from(editor.dom.getParent(editor.selection.getStart(true), editor.dom.isBlock));\n    };\n    var getParentBlockName = function (editor) {\n      return getParentBlock$2(editor).fold(constant(''), function (parentBlock) {\n        return parentBlock.nodeName.toUpperCase();\n      });\n    };\n    var isListItemParentBlock = function (editor) {\n      return getParentBlock$2(editor).filter(function (elm) {\n        return isListItem(Element$$1.fromDom(elm));\n      }).isSome();\n    };\n    var NewLineUtils = {\n      moveToCaretPosition: moveToCaretPosition,\n      getEditableRoot: getEditableRoot,\n      getParentBlock: getParentBlock$2,\n      getParentBlockName: getParentBlockName,\n      isListItemParentBlock: isListItemParentBlock\n    };\n\n    var hasFirstChild = function (elm, name) {\n      return elm.firstChild && elm.firstChild.nodeName === name;\n    };\n    var hasParent$1 = function (elm, parentName) {\n      return elm && elm.parentNode && elm.parentNode.nodeName === parentName;\n    };\n    var isListBlock = function (elm) {\n      return elm && /^(OL|UL|LI)$/.test(elm.nodeName);\n    };\n    var isNestedList = function (elm) {\n      return isListBlock(elm) && isListBlock(elm.parentNode);\n    };\n    var getContainerBlock = function (containerBlock) {\n      var containerBlockParent = containerBlock.parentNode;\n      if (/^(LI|DT|DD)$/.test(containerBlockParent.nodeName)) {\n        return containerBlockParent;\n      }\n      return containerBlock;\n    };\n    var isFirstOrLastLi = function (containerBlock, parentBlock, first) {\n      var node = containerBlock[first ? 'firstChild' : 'lastChild'];\n      while (node) {\n        if (NodeType.isElement(node)) {\n          break;\n        }\n        node = node[first ? 'nextSibling' : 'previousSibling'];\n      }\n      return node === parentBlock;\n    };\n    var insert$1 = function (editor, createNewBlock, containerBlock, parentBlock, newBlockName) {\n      var dom = editor.dom;\n      var rng = editor.selection.getRng();\n      if (containerBlock === editor.getBody()) {\n        return;\n      }\n      if (isNestedList(containerBlock)) {\n        newBlockName = 'LI';\n      }\n      var newBlock = newBlockName ? createNewBlock(newBlockName) : dom.create('BR');\n      if (isFirstOrLastLi(containerBlock, parentBlock, true) && isFirstOrLastLi(containerBlock, parentBlock, false)) {\n        if (hasParent$1(containerBlock, 'LI')) {\n          dom.insertAfter(newBlock, getContainerBlock(containerBlock));\n        } else {\n          dom.replace(newBlock, containerBlock);\n        }\n      } else if (isFirstOrLastLi(containerBlock, parentBlock, true)) {\n        if (hasParent$1(containerBlock, 'LI')) {\n          dom.insertAfter(newBlock, getContainerBlock(containerBlock));\n          newBlock.appendChild(dom.doc.createTextNode(' '));\n          newBlock.appendChild(containerBlock);\n        } else {\n          containerBlock.parentNode.insertBefore(newBlock, containerBlock);\n        }\n      } else if (isFirstOrLastLi(containerBlock, parentBlock, false)) {\n        dom.insertAfter(newBlock, getContainerBlock(containerBlock));\n      } else {\n        containerBlock = getContainerBlock(containerBlock);\n        var tmpRng = rng.cloneRange();\n        tmpRng.setStartAfter(parentBlock);\n        tmpRng.setEndAfter(containerBlock);\n        var fragment = tmpRng.extractContents();\n        if (newBlockName === 'LI' && hasFirstChild(fragment, 'LI')) {\n          newBlock = fragment.firstChild;\n          dom.insertAfter(fragment, containerBlock);\n        } else {\n          dom.insertAfter(fragment, containerBlock);\n          dom.insertAfter(newBlock, containerBlock);\n        }\n      }\n      dom.remove(parentBlock);\n      NewLineUtils.moveToCaretPosition(editor, newBlock);\n    };\n    var InsertLi = { insert: insert$1 };\n\n    var trimZwsp = function (fragment) {\n      each(descendants(Element$$1.fromDom(fragment), isText), function (text) {\n        var rawNode = text.dom();\n        rawNode.nodeValue = Zwsp.trim(rawNode.nodeValue);\n      });\n    };\n    var isEmptyAnchor = function (dom, elm) {\n      return elm && elm.nodeName === 'A' && dom.isEmpty(elm);\n    };\n    var isTableCell$5 = function (node) {\n      return node && /^(TD|TH|CAPTION)$/.test(node.nodeName);\n    };\n    var emptyBlock = function (elm) {\n      elm.innerHTML = '<br data-mce-bogus=\"1\">';\n    };\n    var containerAndSiblingName = function (container, nodeName) {\n      return container.nodeName === nodeName || container.previousSibling && container.previousSibling.nodeName === nodeName;\n    };\n    var canSplitBlock = function (dom, node) {\n      return node && dom.isBlock(node) && !/^(TD|TH|CAPTION|FORM)$/.test(node.nodeName) && !/^(fixed|absolute)/i.test(node.style.position) && dom.getContentEditable(node) !== 'true';\n    };\n    var trimInlineElementsOnLeftSideOfBlock = function (dom, nonEmptyElementsMap, block) {\n      var node = block;\n      var firstChilds = [];\n      var i;\n      if (!node) {\n        return;\n      }\n      while (node = node.firstChild) {\n        if (dom.isBlock(node)) {\n          return;\n        }\n        if (NodeType.isElement(node) && !nonEmptyElementsMap[node.nodeName.toLowerCase()]) {\n          firstChilds.push(node);\n        }\n      }\n      i = firstChilds.length;\n      while (i--) {\n        node = firstChilds[i];\n        if (!node.hasChildNodes() || node.firstChild === node.lastChild && node.firstChild.nodeValue === '') {\n          dom.remove(node);\n        } else {\n          if (isEmptyAnchor(dom, node)) {\n            dom.remove(node);\n          }\n        }\n      }\n    };\n    var normalizeZwspOffset = function (start, container, offset) {\n      if (NodeType.isText(container) === false) {\n        return offset;\n      } else if (start) {\n        return offset === 1 && container.data.charAt(offset - 1) === Zwsp.ZWSP ? 0 : offset;\n      } else {\n        return offset === container.data.length - 1 && container.data.charAt(offset) === Zwsp.ZWSP ? container.data.length : offset;\n      }\n    };\n    var includeZwspInRange = function (rng) {\n      var newRng = rng.cloneRange();\n      newRng.setStart(rng.startContainer, normalizeZwspOffset(true, rng.startContainer, rng.startOffset));\n      newRng.setEnd(rng.endContainer, normalizeZwspOffset(false, rng.endContainer, rng.endOffset));\n      return newRng;\n    };\n    var trimLeadingLineBreaks = function (node) {\n      do {\n        if (NodeType.isText(node)) {\n          node.nodeValue = node.nodeValue.replace(/^[\\r\\n]+/, '');\n        }\n        node = node.firstChild;\n      } while (node);\n    };\n    var getEditableRoot$1 = function (dom, node) {\n      var root = dom.getRoot();\n      var parent, editableRoot;\n      parent = node;\n      while (parent !== root && dom.getContentEditable(parent) !== 'false') {\n        if (dom.getContentEditable(parent) === 'true') {\n          editableRoot = parent;\n        }\n        parent = parent.parentNode;\n      }\n      return parent !== root ? editableRoot : root;\n    };\n    var setForcedBlockAttrs = function (editor, node) {\n      var forcedRootBlockName = Settings.getForcedRootBlock(editor);\n      if (forcedRootBlockName && forcedRootBlockName.toLowerCase() === node.tagName.toLowerCase()) {\n        editor.dom.setAttribs(node, Settings.getForcedRootBlockAttrs(editor));\n      }\n    };\n    var wrapSelfAndSiblingsInDefaultBlock = function (editor, newBlockName, rng, container, offset) {\n      var newBlock, parentBlock, startNode, node, next, rootBlockName;\n      var blockName = newBlockName || 'P';\n      var dom = editor.dom, editableRoot = getEditableRoot$1(dom, container);\n      parentBlock = dom.getParent(container, dom.isBlock);\n      if (!parentBlock || !canSplitBlock(dom, parentBlock)) {\n        parentBlock = parentBlock || editableRoot;\n        if (parentBlock === editor.getBody() || isTableCell$5(parentBlock)) {\n          rootBlockName = parentBlock.nodeName.toLowerCase();\n        } else {\n          rootBlockName = parentBlock.parentNode.nodeName.toLowerCase();\n        }\n        if (!parentBlock.hasChildNodes()) {\n          newBlock = dom.create(blockName);\n          setForcedBlockAttrs(editor, newBlock);\n          parentBlock.appendChild(newBlock);\n          rng.setStart(newBlock, 0);\n          rng.setEnd(newBlock, 0);\n          return newBlock;\n        }\n        node = container;\n        while (node.parentNode !== parentBlock) {\n          node = node.parentNode;\n        }\n        while (node && !dom.isBlock(node)) {\n          startNode = node;\n          node = node.previousSibling;\n        }\n        if (startNode && editor.schema.isValidChild(rootBlockName, blockName.toLowerCase())) {\n          newBlock = dom.create(blockName);\n          setForcedBlockAttrs(editor, newBlock);\n          startNode.parentNode.insertBefore(newBlock, startNode);\n          node = startNode;\n          while (node && !dom.isBlock(node)) {\n            next = node.nextSibling;\n            newBlock.appendChild(node);\n            node = next;\n          }\n          rng.setStart(container, offset);\n          rng.setEnd(container, offset);\n        }\n      }\n      return container;\n    };\n    var addBrToBlockIfNeeded = function (dom, block) {\n      var lastChild;\n      block.normalize();\n      lastChild = block.lastChild;\n      if (!lastChild || /^(left|right)$/gi.test(dom.getStyle(lastChild, 'float', true))) {\n        dom.add(block, 'br');\n      }\n    };\n    var insert$2 = function (editor, evt) {\n      var tmpRng, editableRoot, container, offset, parentBlock, shiftKey;\n      var newBlock, fragment, containerBlock, parentBlockName, containerBlockName, newBlockName, isAfterLastNodeInContainer;\n      var dom = editor.dom;\n      var schema = editor.schema, nonEmptyElementsMap = schema.getNonEmptyElements();\n      var rng = editor.selection.getRng();\n      var createNewBlock = function (name$$1) {\n        var node = container, block, clonedNode, caretNode;\n        var textInlineElements = schema.getTextInlineElements();\n        if (name$$1 || parentBlockName === 'TABLE' || parentBlockName === 'HR') {\n          block = dom.create(name$$1 || newBlockName);\n          setForcedBlockAttrs(editor, block);\n        } else {\n          block = parentBlock.cloneNode(false);\n        }\n        caretNode = block;\n        if (Settings.shouldKeepStyles(editor) === false) {\n          dom.setAttrib(block, 'style', null);\n          dom.setAttrib(block, 'class', null);\n        } else {\n          do {\n            if (textInlineElements[node.nodeName]) {\n              if (isCaretNode(node)) {\n                continue;\n              }\n              clonedNode = node.cloneNode(false);\n              dom.setAttrib(clonedNode, 'id', '');\n              if (block.hasChildNodes()) {\n                clonedNode.appendChild(block.firstChild);\n                block.appendChild(clonedNode);\n              } else {\n                caretNode = clonedNode;\n                block.appendChild(clonedNode);\n              }\n            }\n          } while ((node = node.parentNode) && node !== editableRoot);\n        }\n        emptyBlock(caretNode);\n        return block;\n      };\n      var isCaretAtStartOrEndOfBlock = function (start) {\n        var walker, node, name$$1, normalizedOffset;\n        normalizedOffset = normalizeZwspOffset(start, container, offset);\n        if (NodeType.isText(container) && (start ? normalizedOffset > 0 : normalizedOffset < container.nodeValue.length)) {\n          return false;\n        }\n        if (container.parentNode === parentBlock && isAfterLastNodeInContainer && !start) {\n          return true;\n        }\n        if (start && NodeType.isElement(container) && container === parentBlock.firstChild) {\n          return true;\n        }\n        if (containerAndSiblingName(container, 'TABLE') || containerAndSiblingName(container, 'HR')) {\n          return isAfterLastNodeInContainer && !start || !isAfterLastNodeInContainer && start;\n        }\n        walker = new TreeWalker(container, parentBlock);\n        if (NodeType.isText(container)) {\n          if (start && normalizedOffset === 0) {\n            walker.prev();\n          } else if (!start && normalizedOffset === container.nodeValue.length) {\n            walker.next();\n          }\n        }\n        while (node = walker.current()) {\n          if (NodeType.isElement(node)) {\n            if (!node.getAttribute('data-mce-bogus')) {\n              name$$1 = node.nodeName.toLowerCase();\n              if (nonEmptyElementsMap[name$$1] && name$$1 !== 'br') {\n                return false;\n              }\n            }\n          } else if (NodeType.isText(node) && !/^[ \\t\\r\\n]*$/.test(node.nodeValue)) {\n            return false;\n          }\n          if (start) {\n            walker.prev();\n          } else {\n            walker.next();\n          }\n        }\n        return true;\n      };\n      var insertNewBlockAfter = function () {\n        if (/^(H[1-6]|PRE|FIGURE)$/.test(parentBlockName) && containerBlockName !== 'HGROUP') {\n          newBlock = createNewBlock(newBlockName);\n        } else {\n          newBlock = createNewBlock();\n        }\n        if (Settings.shouldEndContainerOnEmptyBlock(editor) && canSplitBlock(dom, containerBlock) && dom.isEmpty(parentBlock)) {\n          newBlock = dom.split(containerBlock, parentBlock);\n        } else {\n          dom.insertAfter(newBlock, parentBlock);\n        }\n        NewLineUtils.moveToCaretPosition(editor, newBlock);\n      };\n      NormalizeRange.normalize(dom, rng).each(function (normRng) {\n        rng.setStart(normRng.startContainer, normRng.startOffset);\n        rng.setEnd(normRng.endContainer, normRng.endOffset);\n      });\n      container = rng.startContainer;\n      offset = rng.startOffset;\n      newBlockName = Settings.getForcedRootBlock(editor);\n      shiftKey = evt.shiftKey;\n      if (NodeType.isElement(container) && container.hasChildNodes()) {\n        isAfterLastNodeInContainer = offset > container.childNodes.length - 1;\n        container = container.childNodes[Math.min(offset, container.childNodes.length - 1)] || container;\n        if (isAfterLastNodeInContainer && NodeType.isText(container)) {\n          offset = container.nodeValue.length;\n        } else {\n          offset = 0;\n        }\n      }\n      editableRoot = getEditableRoot$1(dom, container);\n      if (!editableRoot) {\n        return;\n      }\n      if (newBlockName && !shiftKey || !newBlockName && shiftKey) {\n        container = wrapSelfAndSiblingsInDefaultBlock(editor, newBlockName, rng, container, offset);\n      }\n      parentBlock = dom.getParent(container, dom.isBlock);\n      containerBlock = parentBlock ? dom.getParent(parentBlock.parentNode, dom.isBlock) : null;\n      parentBlockName = parentBlock ? parentBlock.nodeName.toUpperCase() : '';\n      containerBlockName = containerBlock ? containerBlock.nodeName.toUpperCase() : '';\n      if (containerBlockName === 'LI' && !evt.ctrlKey) {\n        parentBlock = containerBlock;\n        containerBlock = containerBlock.parentNode;\n        parentBlockName = containerBlockName;\n      }\n      if (/^(LI|DT|DD)$/.test(parentBlockName)) {\n        if (dom.isEmpty(parentBlock)) {\n          InsertLi.insert(editor, createNewBlock, containerBlock, parentBlock, newBlockName);\n          return;\n        }\n      }\n      if (newBlockName && parentBlock === editor.getBody()) {\n        return;\n      }\n      newBlockName = newBlockName || 'P';\n      if (isCaretContainerBlock(parentBlock)) {\n        newBlock = showCaretContainerBlock(parentBlock);\n        if (dom.isEmpty(parentBlock)) {\n          emptyBlock(parentBlock);\n        }\n        NewLineUtils.moveToCaretPosition(editor, newBlock);\n      } else if (isCaretAtStartOrEndOfBlock()) {\n        insertNewBlockAfter();\n      } else if (isCaretAtStartOrEndOfBlock(true)) {\n        newBlock = parentBlock.parentNode.insertBefore(createNewBlock(), parentBlock);\n        NewLineUtils.moveToCaretPosition(editor, containerAndSiblingName(parentBlock, 'HR') ? newBlock : parentBlock);\n      } else {\n        tmpRng = includeZwspInRange(rng).cloneRange();\n        tmpRng.setEndAfter(parentBlock);\n        fragment = tmpRng.extractContents();\n        trimZwsp(fragment);\n        trimLeadingLineBreaks(fragment);\n        newBlock = fragment.firstChild;\n        dom.insertAfter(fragment, parentBlock);\n        trimInlineElementsOnLeftSideOfBlock(dom, nonEmptyElementsMap, newBlock);\n        addBrToBlockIfNeeded(dom, parentBlock);\n        if (dom.isEmpty(parentBlock)) {\n          emptyBlock(parentBlock);\n        }\n        newBlock.normalize();\n        if (dom.isEmpty(newBlock)) {\n          dom.remove(newBlock);\n          insertNewBlockAfter();\n        } else {\n          NewLineUtils.moveToCaretPosition(editor, newBlock);\n        }\n      }\n      dom.setAttrib(newBlock, 'id', '');\n      editor.fire('NewBlock', { newBlock: newBlock });\n    };\n    var InsertBlock = { insert: insert$2 };\n\n    var matchesSelector = function (editor, selector) {\n      return NewLineUtils.getParentBlock(editor).filter(function (parentBlock) {\n        return selector.length > 0 && is$1(Element$$1.fromDom(parentBlock), selector);\n      }).isSome();\n    };\n    var shouldInsertBr = function (editor) {\n      return matchesSelector(editor, Settings.getBrNewLineSelector(editor));\n    };\n    var shouldBlockNewLine = function (editor) {\n      return matchesSelector(editor, Settings.getNoNewLineSelector(editor));\n    };\n    var ContextSelectors = {\n      shouldInsertBr: shouldInsertBr,\n      shouldBlockNewLine: shouldBlockNewLine\n    };\n\n    var newLineAction = Adt.generate([\n      { br: [] },\n      { block: [] },\n      { none: [] }\n    ]);\n    var shouldBlockNewLine$1 = function (editor, shiftKey) {\n      return ContextSelectors.shouldBlockNewLine(editor);\n    };\n    var isBrMode = function (requiredState) {\n      return function (editor, shiftKey) {\n        var brMode = Settings.getForcedRootBlock(editor) === '';\n        return brMode === requiredState;\n      };\n    };\n    var inListBlock = function (requiredState) {\n      return function (editor, shiftKey) {\n        return NewLineUtils.isListItemParentBlock(editor) === requiredState;\n      };\n    };\n    var inBlock = function (blockName, requiredState) {\n      return function (editor, shiftKey) {\n        var state = NewLineUtils.getParentBlockName(editor) === blockName.toUpperCase();\n        return state === requiredState;\n      };\n    };\n    var inPreBlock = function (requiredState) {\n      return inBlock('pre', requiredState);\n    };\n    var inSummaryBlock = function () {\n      return inBlock('summary', true);\n    };\n    var shouldPutBrInPre$1 = function (requiredState) {\n      return function (editor, shiftKey) {\n        return Settings.shouldPutBrInPre(editor) === requiredState;\n      };\n    };\n    var inBrContext = function (editor, shiftKey) {\n      return ContextSelectors.shouldInsertBr(editor);\n    };\n    var hasShiftKey = function (editor, shiftKey) {\n      return shiftKey;\n    };\n    var canInsertIntoEditableRoot = function (editor) {\n      var forcedRootBlock = Settings.getForcedRootBlock(editor);\n      var rootEditable = NewLineUtils.getEditableRoot(editor.dom, editor.selection.getStart());\n      return rootEditable && editor.schema.isValidChild(rootEditable.nodeName, forcedRootBlock ? forcedRootBlock : 'P');\n    };\n    var match$2 = function (predicates, action) {\n      return function (editor, shiftKey) {\n        var isMatch = foldl(predicates, function (res, p) {\n          return res && p(editor, shiftKey);\n        }, true);\n        return isMatch ? Option.some(action) : Option.none();\n      };\n    };\n    var getAction$1 = function (editor, evt) {\n      return LazyEvaluator.evaluateUntil([\n        match$2([shouldBlockNewLine$1], newLineAction.none()),\n        match$2([inSummaryBlock()], newLineAction.br()),\n        match$2([\n          inPreBlock(true),\n          shouldPutBrInPre$1(false),\n          hasShiftKey\n        ], newLineAction.br()),\n        match$2([\n          inPreBlock(true),\n          shouldPutBrInPre$1(false)\n        ], newLineAction.block()),\n        match$2([\n          inPreBlock(true),\n          shouldPutBrInPre$1(true),\n          hasShiftKey\n        ], newLineAction.block()),\n        match$2([\n          inPreBlock(true),\n          shouldPutBrInPre$1(true)\n        ], newLineAction.br()),\n        match$2([\n          inListBlock(true),\n          hasShiftKey\n        ], newLineAction.br()),\n        match$2([inListBlock(true)], newLineAction.block()),\n        match$2([\n          isBrMode(true),\n          hasShiftKey,\n          canInsertIntoEditableRoot\n        ], newLineAction.block()),\n        match$2([isBrMode(true)], newLineAction.br()),\n        match$2([inBrContext], newLineAction.br()),\n        match$2([\n          isBrMode(false),\n          hasShiftKey\n        ], newLineAction.br()),\n        match$2([canInsertIntoEditableRoot], newLineAction.block())\n      ], [\n        editor,\n        evt.shiftKey\n      ]).getOr(newLineAction.none());\n    };\n    var NewLineAction = { getAction: getAction$1 };\n\n    var insert$3 = function (editor, evt) {\n      NewLineAction.getAction(editor, evt).fold(function () {\n        InsertBr.insert(editor, evt);\n      }, function () {\n        InsertBlock.insert(editor, evt);\n      }, noop);\n    };\n    var InsertNewLine = { insert: insert$3 };\n\n    var endTypingLevel = function (undoManager) {\n      if (undoManager.typing) {\n        undoManager.typing = false;\n        undoManager.add();\n      }\n    };\n    var handleEnterKeyEvent = function (editor, event) {\n      if (event.isDefaultPrevented()) {\n        return;\n      }\n      event.preventDefault();\n      endTypingLevel(editor.undoManager);\n      editor.undoManager.transact(function () {\n        if (editor.selection.isCollapsed() === false) {\n          editor.execCommand('Delete');\n        }\n        InsertNewLine.insert(editor, event);\n      });\n    };\n    var setup$9 = function (editor) {\n      editor.on('keydown', function (event) {\n        if (event.keyCode === VK.ENTER) {\n          handleEnterKeyEvent(editor, event);\n        }\n      });\n    };\n    var EnterKey = { setup: setup$9 };\n\n    var insertTextAtPosition = function (text, pos) {\n      var container = pos.container();\n      var offset = pos.offset();\n      if (NodeType.isText(container)) {\n        container.insertData(offset, text);\n        return Option.some(CaretPosition(container, offset + text.length));\n      } else {\n        return getElementFromPosition(pos).map(function (elm) {\n          var textNode = Element$$1.fromText(text);\n          if (pos.isAtEnd()) {\n            after(elm, textNode);\n          } else {\n            before(elm, textNode);\n          }\n          return CaretPosition(textNode.dom(), text.length);\n        });\n      }\n    };\n    var insertNbspAtPosition = curry(insertTextAtPosition, '\\xA0');\n    var insertSpaceAtPosition = curry(insertTextAtPosition, ' ');\n\n    var isAtBlockBoundary = function (forward, root, pos) {\n      var parentBlocks = filter(Parents.parentsAndSelf(Element$$1.fromDom(pos.container()), root), isBlock);\n      return head(parentBlocks).fold(function () {\n        return CaretFinder.navigate(forward, root.dom(), pos).forall(function (newPos) {\n          return isInSameBlock(newPos, pos, root.dom()) === false;\n        });\n      }, function (parent) {\n        return CaretFinder.navigate(forward, parent.dom(), pos).isNone();\n      });\n    };\n    var isAtStartOfBlock = curry(isAtBlockBoundary, false);\n    var isAtEndOfBlock = curry(isAtBlockBoundary, true);\n\n    var nbsp = '\\xA0';\n    var isInMiddleOfText = function (pos) {\n      return CaretPosition.isTextPosition(pos) && !pos.isAtStart() && !pos.isAtEnd();\n    };\n    var getClosestBlock = function (root, pos) {\n      var parentBlocks = filter(Parents.parentsAndSelf(Element$$1.fromDom(pos.container()), root), isBlock);\n      return head(parentBlocks).getOr(root);\n    };\n    var hasSpaceBefore = function (root, pos) {\n      if (isInMiddleOfText(pos)) {\n        return isAfterSpace(pos);\n      } else {\n        return isAfterSpace(pos) || CaretFinder.prevPosition(getClosestBlock(root, pos).dom(), pos).exists(isAfterSpace);\n      }\n    };\n    var hasSpaceAfter = function (root, pos) {\n      if (isInMiddleOfText(pos)) {\n        return isBeforeSpace(pos);\n      } else {\n        return isBeforeSpace(pos) || CaretFinder.nextPosition(getClosestBlock(root, pos).dom(), pos).exists(isBeforeSpace);\n      }\n    };\n    var isPreValue = function (value$$1) {\n      return contains([\n        'pre',\n        'pre-line',\n        'pre-wrap'\n      ], value$$1);\n    };\n    var isInPre = function (pos) {\n      return getElementFromPosition(pos).bind(function (elm) {\n        return closest(elm, isElement);\n      }).exists(function (elm) {\n        return isPreValue(get$2(elm, 'white-space'));\n      });\n    };\n    var isAtBeginningOfBody = function (root, pos) {\n      return CaretFinder.prevPosition(root.dom(), pos).isNone();\n    };\n    var isAtEndOfBody = function (root, pos) {\n      return CaretFinder.nextPosition(root.dom(), pos).isNone();\n    };\n    var isAtLineBoundary = function (root, pos) {\n      return isAtBeginningOfBody(root, pos) || isAtEndOfBody(root, pos) || isAtStartOfBlock(root, pos) || isAtEndOfBlock(root, pos) || isAfterBr(root, pos) || isBeforeBr(root, pos);\n    };\n    var needsToHaveNbsp = function (root, pos) {\n      if (isInPre(pos)) {\n        return false;\n      } else {\n        return isAtLineBoundary(root, pos) || hasSpaceBefore(root, pos) || hasSpaceAfter(root, pos);\n      }\n    };\n    var needsToBeNbspLeft = function (root, pos) {\n      if (isInPre(pos)) {\n        return false;\n      } else {\n        return isAtStartOfBlock(root, pos) || isAfterBr(root, pos) || hasSpaceBefore(root, pos);\n      }\n    };\n    var needsToBeNbspRight = function (root, pos) {\n      if (isInPre(pos)) {\n        return false;\n      } else {\n        return isAtEndOfBlock(root, pos) || isBeforeBr(root, pos) || hasSpaceAfter(root, pos);\n      }\n    };\n    var isNbspAt = function (text, offset) {\n      return isNbsp(text.charAt(offset));\n    };\n    var hasNbsp = function (pos) {\n      var container = pos.container();\n      return NodeType.isText(container) && contains$2(container.data, nbsp);\n    };\n    var normalizeNbspAtStart = function (root, node, text) {\n      var firstPos = CaretPosition(node, 0);\n      if (isNbspAt(text, 0) && !needsToBeNbspLeft(root, firstPos)) {\n        return ' ' + text.slice(1);\n      } else {\n        return text;\n      }\n    };\n    var normalizeNbspMiddle = function (text) {\n      return map(text.split(''), function (chr, i, chars) {\n        if (isNbsp(chr) && i > 0 && i < chars.length - 1 && isContent(chars[i - 1]) && isContent(chars[i + 1])) {\n          return ' ';\n        } else {\n          return chr;\n        }\n      }).join('');\n    };\n    var normalizeNbspAtEnd = function (root, node, text) {\n      var lastPos = CaretPosition(node, text.length);\n      if (isNbspAt(text, text.length - 1) && !needsToBeNbspRight(root, lastPos)) {\n        return text.slice(0, -1) + ' ';\n      } else {\n        return text;\n      }\n    };\n    var normalizeNbsps = function (root, pos) {\n      return Option.some(pos).filter(hasNbsp).bind(function (pos) {\n        var container = pos.container();\n        var text = container.nodeValue;\n        var newText = normalizeNbspAtStart(root, container, normalizeNbspMiddle(normalizeNbspAtEnd(root, container, text)));\n        if (text !== newText) {\n          pos.container().nodeValue = newText;\n          return Option.some(pos);\n        } else {\n          return Option.none();\n        }\n      });\n    };\n    var normalizeNbspsInEditor = function (editor) {\n      var root = Element$$1.fromDom(editor.getBody());\n      if (editor.selection.isCollapsed()) {\n        normalizeNbsps(root, CaretPosition.fromRangeStart(editor.selection.getRng())).each(function (pos) {\n          editor.selection.setRng(pos.toRange());\n        });\n      }\n    };\n\n    var locationToCaretPosition = function (root) {\n      return function (location) {\n        return location.fold(function (element) {\n          return CaretFinder.prevPosition(root.dom(), CaretPosition$1.before(element));\n        }, function (element) {\n          return CaretFinder.firstPositionIn(element);\n        }, function (element) {\n          return CaretFinder.lastPositionIn(element);\n        }, function (element) {\n          return CaretFinder.nextPosition(root.dom(), CaretPosition$1.after(element));\n        });\n      };\n    };\n    var insertInlineBoundarySpaceOrNbsp = function (root, pos) {\n      return function (checkPos) {\n        return needsToHaveNbsp(root, checkPos) ? insertNbspAtPosition(pos) : insertSpaceAtPosition(pos);\n      };\n    };\n    var setSelection$1 = function (editor) {\n      return function (pos) {\n        editor.selection.setRng(pos.toRange());\n        editor.nodeChanged();\n        return true;\n      };\n    };\n    var insertSpaceOrNbspAtSelection = function (editor) {\n      var pos = CaretPosition$1.fromRangeStart(editor.selection.getRng());\n      var root = Element$$1.fromDom(editor.getBody());\n      if (editor.selection.isCollapsed()) {\n        var isInlineTarget = curry(InlineUtils.isInlineTarget, editor);\n        var caretPosition = CaretPosition$1.fromRangeStart(editor.selection.getRng());\n        return BoundaryLocation.readLocation(isInlineTarget, editor.getBody(), caretPosition).bind(locationToCaretPosition(root)).bind(insertInlineBoundarySpaceOrNbsp(root, pos)).exists(setSelection$1(editor));\n      } else {\n        return false;\n      }\n    };\n\n    var executeKeydownOverride$2 = function (editor, evt) {\n      MatchKeys.execute([{\n          keyCode: VK.SPACEBAR,\n          action: MatchKeys.action(insertSpaceOrNbspAtSelection, editor)\n        }], evt).each(function (_) {\n        evt.preventDefault();\n      });\n    };\n    var setup$a = function (editor) {\n      editor.on('keydown', function (evt) {\n        if (evt.isDefaultPrevented() === false) {\n          executeKeydownOverride$2(editor, evt);\n        }\n      });\n    };\n    var SpaceKey = { setup: setup$a };\n\n    var findBlockCaretContainer = function (editor) {\n      return descendant$1(Element$$1.fromDom(editor.getBody()), '*[data-mce-caret]').fold(constant(null), function (elm) {\n        return elm.dom();\n      });\n    };\n    var removeIeControlRect = function (editor) {\n      editor.selection.setRng(editor.selection.getRng());\n    };\n    var showBlockCaretContainer = function (editor, blockCaretContainer) {\n      if (blockCaretContainer.hasAttribute('data-mce-caret')) {\n        showCaretContainerBlock(blockCaretContainer);\n        removeIeControlRect(editor);\n        editor.selection.scrollIntoView(blockCaretContainer);\n      }\n    };\n    var handleBlockContainer = function (editor, e) {\n      var blockCaretContainer = findBlockCaretContainer(editor);\n      if (!blockCaretContainer) {\n        return;\n      }\n      if (e.type === 'compositionstart') {\n        e.preventDefault();\n        e.stopPropagation();\n        showBlockCaretContainer(editor, blockCaretContainer);\n        return;\n      }\n      if (hasContent(blockCaretContainer)) {\n        showBlockCaretContainer(editor, blockCaretContainer);\n        editor.undoManager.add();\n      }\n    };\n    var setup$b = function (editor) {\n      editor.on('keyup compositionstart', curry(handleBlockContainer, editor));\n    };\n    var CaretContainerInput = { setup: setup$b };\n\n    var browser$4 = PlatformDetection$1.detect().browser;\n    var setupIeInput = function (editor) {\n      var keypressThrotter = first$1(function () {\n        if (!editor.composing) {\n          normalizeNbspsInEditor(editor);\n        }\n      }, 0);\n      if (browser$4.isIE()) {\n        editor.on('keypress', function (e) {\n          keypressThrotter.throttle();\n        });\n        editor.on('remove', function (e) {\n          keypressThrotter.cancel();\n        });\n      }\n    };\n    var setup$c = function (editor) {\n      setupIeInput(editor);\n      editor.on('input', function (e) {\n        if (e.isComposing === false) {\n          normalizeNbspsInEditor(editor);\n        }\n      });\n    };\n\n    var setup$d = function (editor) {\n      var caret = BoundarySelection.setupSelectedState(editor);\n      CaretContainerInput.setup(editor);\n      ArrowKeys.setup(editor, caret);\n      DeleteBackspaceKeys.setup(editor, caret);\n      EnterKey.setup(editor);\n      SpaceKey.setup(editor);\n      setup$c(editor);\n    };\n    var KeyboardOverrides = { setup: setup$d };\n\n    function Quirks (editor) {\n      var each = Tools.each;\n      var BACKSPACE = VK.BACKSPACE, DELETE = VK.DELETE, dom = editor.dom, selection = editor.selection, settings = editor.settings, parser = editor.parser;\n      var isGecko = Env.gecko, isIE = Env.ie, isWebKit = Env.webkit;\n      var mceInternalUrlPrefix = 'data:text/mce-internal,';\n      var mceInternalDataType = isIE ? 'Text' : 'URL';\n      var setEditorCommandState = function (cmd, state) {\n        try {\n          editor.getDoc().execCommand(cmd, false, state);\n        } catch (ex) {\n        }\n      };\n      var isDefaultPrevented = function (e) {\n        return e.isDefaultPrevented();\n      };\n      var setMceInternalContent = function (e) {\n        var selectionHtml, internalContent;\n        if (e.dataTransfer) {\n          if (editor.selection.isCollapsed() && e.target.tagName === 'IMG') {\n            selection.select(e.target);\n          }\n          selectionHtml = editor.selection.getContent();\n          if (selectionHtml.length > 0) {\n            internalContent = mceInternalUrlPrefix + escape(editor.id) + ',' + escape(selectionHtml);\n            e.dataTransfer.setData(mceInternalDataType, internalContent);\n          }\n        }\n      };\n      var getMceInternalContent = function (e) {\n        var internalContent;\n        if (e.dataTransfer) {\n          internalContent = e.dataTransfer.getData(mceInternalDataType);\n          if (internalContent && internalContent.indexOf(mceInternalUrlPrefix) >= 0) {\n            internalContent = internalContent.substr(mceInternalUrlPrefix.length).split(',');\n            return {\n              id: unescape(internalContent[0]),\n              html: unescape(internalContent[1])\n            };\n          }\n        }\n        return null;\n      };\n      var insertClipboardContents = function (content, internal) {\n        if (editor.queryCommandSupported('mceInsertClipboardContent')) {\n          editor.execCommand('mceInsertClipboardContent', false, {\n            content: content,\n            internal: internal\n          });\n        } else {\n          editor.execCommand('mceInsertContent', false, content);\n        }\n      };\n      var emptyEditorWhenDeleting = function () {\n        var serializeRng = function (rng) {\n          var body = dom.create('body');\n          var contents = rng.cloneContents();\n          body.appendChild(contents);\n          return selection.serializer.serialize(body, { format: 'html' });\n        };\n        var allContentsSelected = function (rng) {\n          var selection = serializeRng(rng);\n          var allRng = dom.createRng();\n          allRng.selectNode(editor.getBody());\n          var allSelection = serializeRng(allRng);\n          return selection === allSelection;\n        };\n        editor.on('keydown', function (e) {\n          var keyCode = e.keyCode;\n          var isCollapsed, body;\n          if (!isDefaultPrevented(e) && (keyCode === DELETE || keyCode === BACKSPACE)) {\n            isCollapsed = editor.selection.isCollapsed();\n            body = editor.getBody();\n            if (isCollapsed && !dom.isEmpty(body)) {\n              return;\n            }\n            if (!isCollapsed && !allContentsSelected(editor.selection.getRng())) {\n              return;\n            }\n            e.preventDefault();\n            editor.setContent('');\n            if (body.firstChild && dom.isBlock(body.firstChild)) {\n              editor.selection.setCursorLocation(body.firstChild, 0);\n            } else {\n              editor.selection.setCursorLocation(body, 0);\n            }\n            editor.nodeChanged();\n          }\n        });\n      };\n      var selectAll = function () {\n        editor.shortcuts.add('meta+a', null, 'SelectAll');\n      };\n      var inputMethodFocus = function () {\n        if (!editor.settings.content_editable) {\n          dom.bind(editor.getDoc(), 'mousedown mouseup', function (e) {\n            var rng;\n            if (e.target === editor.getDoc().documentElement) {\n              rng = selection.getRng();\n              editor.getBody().focus();\n              if (e.type === 'mousedown') {\n                if (isCaretContainer(rng.startContainer)) {\n                  return;\n                }\n                selection.placeCaretAt(e.clientX, e.clientY);\n              } else {\n                selection.setRng(rng);\n              }\n            }\n          });\n        }\n      };\n      var removeHrOnBackspace = function () {\n        editor.on('keydown', function (e) {\n          if (!isDefaultPrevented(e) && e.keyCode === BACKSPACE) {\n            if (!editor.getBody().getElementsByTagName('hr').length) {\n              return;\n            }\n            if (selection.isCollapsed() && selection.getRng().startOffset === 0) {\n              var node = selection.getNode();\n              var previousSibling = node.previousSibling;\n              if (node.nodeName === 'HR') {\n                dom.remove(node);\n                e.preventDefault();\n                return;\n              }\n              if (previousSibling && previousSibling.nodeName && previousSibling.nodeName.toLowerCase() === 'hr') {\n                dom.remove(previousSibling);\n                e.preventDefault();\n              }\n            }\n          }\n        });\n      };\n      var focusBody = function () {\n        if (!Range.prototype.getClientRects) {\n          editor.on('mousedown', function (e) {\n            if (!isDefaultPrevented(e) && e.target.nodeName === 'HTML') {\n              var body_1 = editor.getBody();\n              body_1.blur();\n              Delay.setEditorTimeout(editor, function () {\n                body_1.focus();\n              });\n            }\n          });\n        }\n      };\n      var selectControlElements = function () {\n        editor.on('click', function (e) {\n          var target = e.target;\n          if (/^(IMG|HR)$/.test(target.nodeName) && dom.getContentEditableParent(target) !== 'false') {\n            e.preventDefault();\n            editor.selection.select(target);\n            editor.nodeChanged();\n          }\n          if (target.nodeName === 'A' && dom.hasClass(target, 'mce-item-anchor')) {\n            e.preventDefault();\n            selection.select(target);\n          }\n        });\n      };\n      var removeStylesWhenDeletingAcrossBlockElements = function () {\n        var getAttributeApplyFunction = function () {\n          var template = dom.getAttribs(selection.getStart().cloneNode(false));\n          return function () {\n            var target = selection.getStart();\n            if (target !== editor.getBody()) {\n              dom.setAttrib(target, 'style', null);\n              each(template, function (attr) {\n                target.setAttributeNode(attr.cloneNode(true));\n              });\n            }\n          };\n        };\n        var isSelectionAcrossElements = function () {\n          return !selection.isCollapsed() && dom.getParent(selection.getStart(), dom.isBlock) !== dom.getParent(selection.getEnd(), dom.isBlock);\n        };\n        editor.on('keypress', function (e) {\n          var applyAttributes;\n          if (!isDefaultPrevented(e) && (e.keyCode === 8 || e.keyCode === 46) && isSelectionAcrossElements()) {\n            applyAttributes = getAttributeApplyFunction();\n            editor.getDoc().execCommand('delete', false, null);\n            applyAttributes();\n            e.preventDefault();\n            return false;\n          }\n        });\n        dom.bind(editor.getDoc(), 'cut', function (e) {\n          var applyAttributes;\n          if (!isDefaultPrevented(e) && isSelectionAcrossElements()) {\n            applyAttributes = getAttributeApplyFunction();\n            Delay.setEditorTimeout(editor, function () {\n              applyAttributes();\n            });\n          }\n        });\n      };\n      var disableBackspaceIntoATable = function () {\n        editor.on('keydown', function (e) {\n          if (!isDefaultPrevented(e) && e.keyCode === BACKSPACE) {\n            if (selection.isCollapsed() && selection.getRng().startOffset === 0) {\n              var previousSibling = selection.getNode().previousSibling;\n              if (previousSibling && previousSibling.nodeName && previousSibling.nodeName.toLowerCase() === 'table') {\n                e.preventDefault();\n                return false;\n              }\n            }\n          }\n        });\n      };\n      var removeBlockQuoteOnBackSpace = function () {\n        editor.on('keydown', function (e) {\n          var rng, container, offset, root, parent$$1;\n          if (isDefaultPrevented(e) || e.keyCode !== VK.BACKSPACE) {\n            return;\n          }\n          rng = selection.getRng();\n          container = rng.startContainer;\n          offset = rng.startOffset;\n          root = dom.getRoot();\n          parent$$1 = container;\n          if (!rng.collapsed || offset !== 0) {\n            return;\n          }\n          while (parent$$1 && parent$$1.parentNode && parent$$1.parentNode.firstChild === parent$$1 && parent$$1.parentNode !== root) {\n            parent$$1 = parent$$1.parentNode;\n          }\n          if (parent$$1.tagName === 'BLOCKQUOTE') {\n            editor.formatter.toggle('blockquote', null, parent$$1);\n            rng = dom.createRng();\n            rng.setStart(container, 0);\n            rng.setEnd(container, 0);\n            selection.setRng(rng);\n          }\n        });\n      };\n      var setGeckoEditingOptions = function () {\n        var setOpts = function () {\n          setEditorCommandState('StyleWithCSS', false);\n          setEditorCommandState('enableInlineTableEditing', false);\n          if (!settings.object_resizing) {\n            setEditorCommandState('enableObjectResizing', false);\n          }\n        };\n        if (!settings.readonly) {\n          editor.on('BeforeExecCommand MouseDown', setOpts);\n        }\n      };\n      var addBrAfterLastLinks = function () {\n        var fixLinks = function () {\n          each(dom.select('a'), function (node) {\n            var parentNode = node.parentNode;\n            var root = dom.getRoot();\n            if (parentNode.lastChild === node) {\n              while (parentNode && !dom.isBlock(parentNode)) {\n                if (parentNode.parentNode.lastChild !== parentNode || parentNode === root) {\n                  return;\n                }\n                parentNode = parentNode.parentNode;\n              }\n              dom.add(parentNode, 'br', { 'data-mce-bogus': 1 });\n            }\n          });\n        };\n        editor.on('SetContent ExecCommand', function (e) {\n          if (e.type === 'setcontent' || e.command === 'mceInsertLink') {\n            fixLinks();\n          }\n        });\n      };\n      var setDefaultBlockType = function () {\n        if (settings.forced_root_block) {\n          editor.on('init', function () {\n            setEditorCommandState('DefaultParagraphSeparator', settings.forced_root_block);\n          });\n        }\n      };\n      var normalizeSelection = function () {\n        editor.on('keyup focusin mouseup', function (e) {\n          if (!VK.modifierPressed(e)) {\n            selection.normalize();\n          }\n        }, true);\n      };\n      var showBrokenImageIcon = function () {\n        editor.contentStyles.push('img:-moz-broken {' + '-moz-force-broken-image-icon:1;' + 'min-width:24px;' + 'min-height:24px' + '}');\n      };\n      var restoreFocusOnKeyDown = function () {\n        if (!editor.inline) {\n          editor.on('keydown', function () {\n            if (document.activeElement === document.body) {\n              editor.getWin().focus();\n            }\n          });\n        }\n      };\n      var bodyHeight = function () {\n        if (!editor.inline) {\n          editor.contentStyles.push('body {min-height: 150px}');\n          editor.on('click', function (e) {\n            var rng;\n            if (e.target.nodeName === 'HTML') {\n              if (Env.ie > 11) {\n                editor.getBody().focus();\n                return;\n              }\n              rng = editor.selection.getRng();\n              editor.getBody().focus();\n              editor.selection.setRng(rng);\n              editor.selection.normalize();\n              editor.nodeChanged();\n            }\n          });\n        }\n      };\n      var blockCmdArrowNavigation = function () {\n        if (Env.mac) {\n          editor.on('keydown', function (e) {\n            if (VK.metaKeyPressed(e) && !e.shiftKey && (e.keyCode === 37 || e.keyCode === 39)) {\n              e.preventDefault();\n              editor.selection.getSel().modify('move', e.keyCode === 37 ? 'backward' : 'forward', 'lineboundary');\n            }\n          });\n        }\n      };\n      var disableAutoUrlDetect = function () {\n        setEditorCommandState('AutoUrlDetect', false);\n      };\n      var tapLinksAndImages = function () {\n        editor.on('click', function (e) {\n          var elm = e.target;\n          do {\n            if (elm.tagName === 'A') {\n              e.preventDefault();\n              return;\n            }\n          } while (elm = elm.parentNode);\n        });\n        editor.contentStyles.push('.mce-content-body {-webkit-touch-callout: none}');\n      };\n      var blockFormSubmitInsideEditor = function () {\n        editor.on('init', function () {\n          editor.dom.bind(editor.getBody(), 'submit', function (e) {\n            e.preventDefault();\n          });\n        });\n      };\n      var removeAppleInterchangeBrs = function () {\n        parser.addNodeFilter('br', function (nodes) {\n          var i = nodes.length;\n          while (i--) {\n            if (nodes[i].attr('class') === 'Apple-interchange-newline') {\n              nodes[i].remove();\n            }\n          }\n        });\n      };\n      var ieInternalDragAndDrop = function () {\n        editor.on('dragstart', function (e) {\n          setMceInternalContent(e);\n        });\n        editor.on('drop', function (e) {\n          if (!isDefaultPrevented(e)) {\n            var internalContent = getMceInternalContent(e);\n            if (internalContent && internalContent.id !== editor.id) {\n              e.preventDefault();\n              var rng = CaretRangeFromPoint.fromPoint(e.x, e.y, editor.getDoc());\n              selection.setRng(rng);\n              insertClipboardContents(internalContent.html, true);\n            }\n          }\n        });\n      };\n      var refreshContentEditable = function () {\n      };\n      var isHidden = function () {\n        var sel;\n        if (!isGecko || editor.removed) {\n          return 0;\n        }\n        sel = editor.selection.getSel();\n        return !sel || !sel.rangeCount || sel.rangeCount === 0;\n      };\n      removeBlockQuoteOnBackSpace();\n      emptyEditorWhenDeleting();\n      if (!Env.windowsPhone) {\n        normalizeSelection();\n      }\n      if (isWebKit) {\n        inputMethodFocus();\n        selectControlElements();\n        setDefaultBlockType();\n        blockFormSubmitInsideEditor();\n        disableBackspaceIntoATable();\n        removeAppleInterchangeBrs();\n        if (Env.iOS) {\n          restoreFocusOnKeyDown();\n          bodyHeight();\n          tapLinksAndImages();\n        } else {\n          selectAll();\n        }\n      }\n      if (Env.ie >= 11) {\n        bodyHeight();\n        disableBackspaceIntoATable();\n      }\n      if (Env.ie) {\n        selectAll();\n        disableAutoUrlDetect();\n        ieInternalDragAndDrop();\n      }\n      if (isGecko) {\n        removeHrOnBackspace();\n        focusBody();\n        removeStylesWhenDeletingAcrossBlockElements();\n        setGeckoEditingOptions();\n        addBrAfterLastLinks();\n        showBrokenImageIcon();\n        blockCmdArrowNavigation();\n        disableBackspaceIntoATable();\n      }\n      return {\n        refreshContentEditable: refreshContentEditable,\n        isHidden: isHidden\n      };\n    }\n\n    var isTextBlockNode = function (node) {\n      return NodeType.isElement(node) && isTextBlock(Element$$1.fromDom(node));\n    };\n    var normalizeSelection$1 = function (editor) {\n      var rng = editor.selection.getRng();\n      var startPos = CaretPosition.fromRangeStart(rng);\n      var endPos = CaretPosition.fromRangeEnd(rng);\n      if (CaretPosition.isElementPosition(startPos)) {\n        var container = startPos.container();\n        if (isTextBlockNode(container)) {\n          CaretFinder.firstPositionIn(container).each(function (pos) {\n            return rng.setStart(pos.container(), pos.offset());\n          });\n        }\n      }\n      if (CaretPosition.isElementPosition(endPos)) {\n        var container = startPos.container();\n        if (isTextBlockNode(container)) {\n          CaretFinder.lastPositionIn(container).each(function (pos) {\n            return rng.setEnd(pos.container(), pos.offset());\n          });\n        }\n      }\n      editor.selection.setRng(RangeNormalizer.normalize(rng));\n    };\n    var setup$e = function (editor) {\n      editor.on('click', function (e) {\n        if (e.detail >= 3) {\n          normalizeSelection$1(editor);\n        }\n      });\n    };\n\n    var preventSummaryToggle = function (editor) {\n      editor.on('click', function (e) {\n        if (editor.dom.getParent(e.target, 'details')) {\n          e.preventDefault();\n        }\n      });\n    };\n    var filterDetails = function (editor) {\n      editor.parser.addNodeFilter('details', function (elms) {\n        each(elms, function (details) {\n          details.attr('data-mce-open', details.attr('open'));\n          details.attr('open', 'open');\n        });\n      });\n      editor.serializer.addNodeFilter('details', function (elms) {\n        each(elms, function (details) {\n          var open = details.attr('data-mce-open');\n          details.attr('open', isString(open) ? open : null);\n          details.attr('data-mce-open', null);\n        });\n      });\n    };\n    var setup$f = function (editor) {\n      preventSummaryToggle(editor);\n      filterDetails(editor);\n    };\n\n    var DOM$2 = DOMUtils$1.DOM;\n    var appendStyle = function (editor, text) {\n      var head = Element$$1.fromDom(editor.getDoc().head);\n      var tag = Element$$1.fromTag('style');\n      set(tag, 'type', 'text/css');\n      append(tag, Element$$1.fromText(text));\n      append(head, tag);\n    };\n    var createParser = function (editor) {\n      var parser = DomParser(editor.settings, editor.schema);\n      parser.addAttributeFilter('src,href,style,tabindex', function (nodes, name$$1) {\n        var i = nodes.length, node;\n        var dom = editor.dom;\n        var value, internalName;\n        while (i--) {\n          node = nodes[i];\n          value = node.attr(name$$1);\n          internalName = 'data-mce-' + name$$1;\n          if (!node.attributes.map[internalName]) {\n            if (value.indexOf('data:') === 0 || value.indexOf('blob:') === 0) {\n              continue;\n            }\n            if (name$$1 === 'style') {\n              value = dom.serializeStyle(dom.parseStyle(value), node.name);\n              if (!value.length) {\n                value = null;\n              }\n              node.attr(internalName, value);\n              node.attr(name$$1, value);\n            } else if (name$$1 === 'tabindex') {\n              node.attr(internalName, value);\n              node.attr(name$$1, null);\n            } else {\n              node.attr(internalName, editor.convertURL(value, name$$1, node.name));\n            }\n          }\n        }\n      });\n      parser.addNodeFilter('script', function (nodes) {\n        var i = nodes.length, node, type;\n        while (i--) {\n          node = nodes[i];\n          type = node.attr('type') || 'no/type';\n          if (type.indexOf('mce-') !== 0) {\n            node.attr('type', 'mce-' + type);\n          }\n        }\n      });\n      parser.addNodeFilter('#cdata', function (nodes) {\n        var i = nodes.length, node;\n        while (i--) {\n          node = nodes[i];\n          node.type = 8;\n          node.name = '#comment';\n          node.value = '[CDATA[' + node.value + ']]';\n        }\n      });\n      parser.addNodeFilter('p,h1,h2,h3,h4,h5,h6,div', function (nodes) {\n        var i = nodes.length, node;\n        var nonEmptyElements = editor.schema.getNonEmptyElements();\n        while (i--) {\n          node = nodes[i];\n          if (node.isEmpty(nonEmptyElements) && node.getAll('br').length === 0) {\n            node.append(new Node$2('br', 1)).shortEnded = true;\n          }\n        }\n      });\n      return parser;\n    };\n    var autoFocus = function (editor) {\n      if (editor.settings.auto_focus) {\n        Delay.setEditorTimeout(editor, function () {\n          var focusEditor;\n          if (editor.settings.auto_focus === true) {\n            focusEditor = editor;\n          } else {\n            focusEditor = editor.editorManager.get(editor.settings.auto_focus);\n          }\n          if (!focusEditor.destroyed) {\n            focusEditor.focus();\n          }\n        }, 100);\n      }\n    };\n    var initEditor = function (editor) {\n      editor.bindPendingEventDelegates();\n      editor.initialized = true;\n      editor.fire('init');\n      editor.focus(true);\n      editor.nodeChanged({ initial: true });\n      editor.execCallback('init_instance_callback', editor);\n      autoFocus(editor);\n    };\n    var getStyleSheetLoader = function (editor) {\n      return editor.inline ? DOM$2.styleSheetLoader : editor.dom.styleSheetLoader;\n    };\n    var initContentBody = function (editor, skipWrite) {\n      var settings = editor.settings;\n      var targetElm = editor.getElement();\n      var doc = editor.getDoc(), body, contentCssText;\n      if (!settings.inline) {\n        editor.getElement().style.visibility = editor.orgVisibility;\n      }\n      if (!skipWrite && !settings.content_editable) {\n        doc.open();\n        doc.write(editor.iframeHTML);\n        doc.close();\n      }\n      if (settings.content_editable) {\n        editor.on('remove', function () {\n          var bodyEl = this.getBody();\n          DOM$2.removeClass(bodyEl, 'mce-content-body');\n          DOM$2.removeClass(bodyEl, 'mce-edit-focus');\n          DOM$2.setAttrib(bodyEl, 'contentEditable', null);\n        });\n        DOM$2.addClass(targetElm, 'mce-content-body');\n        editor.contentDocument = doc = settings.content_document || document;\n        editor.contentWindow = settings.content_window || window;\n        editor.bodyElement = targetElm;\n        settings.content_document = settings.content_window = null;\n        settings.root_name = targetElm.nodeName.toLowerCase();\n      }\n      body = editor.getBody();\n      body.disabled = true;\n      editor.readonly = settings.readonly;\n      if (!editor.readonly) {\n        if (editor.inline && DOM$2.getStyle(body, 'position', true) === 'static') {\n          body.style.position = 'relative';\n        }\n        body.contentEditable = editor.getParam('content_editable_state', true);\n      }\n      body.disabled = false;\n      editor.editorUpload = EditorUpload(editor);\n      editor.schema = Schema(settings);\n      editor.dom = DOMUtils$1(doc, {\n        keep_values: true,\n        url_converter: editor.convertURL,\n        url_converter_scope: editor,\n        hex_colors: settings.force_hex_style_colors,\n        class_filter: settings.class_filter,\n        update_styles: true,\n        root_element: editor.inline ? editor.getBody() : null,\n        collect: settings.content_editable,\n        schema: editor.schema,\n        contentCssCors: Settings.shouldUseContentCssCors(editor),\n        onSetAttrib: function (e) {\n          editor.fire('SetAttrib', e);\n        }\n      });\n      editor.parser = createParser(editor);\n      editor.serializer = Serializer$1(settings, editor);\n      editor.selection = Selection(editor.dom, editor.getWin(), editor.serializer, editor);\n      editor.annotator = Annotator(editor);\n      editor.formatter = Formatter(editor);\n      editor.undoManager = UndoManager(editor);\n      editor._nodeChangeDispatcher = new NodeChange(editor);\n      editor._selectionOverrides = SelectionOverrides(editor);\n      setup$f(editor);\n      setup$e(editor);\n      KeyboardOverrides.setup(editor);\n      ForceBlocks.setup(editor);\n      editor.fire('PreInit');\n      if (!settings.browser_spellcheck && !settings.gecko_spellcheck) {\n        doc.body.spellcheck = false;\n        DOM$2.setAttrib(body, 'spellcheck', 'false');\n      }\n      editor.quirks = Quirks(editor);\n      editor.fire('PostRender');\n      if (settings.directionality) {\n        body.dir = settings.directionality;\n      }\n      if (settings.nowrap) {\n        body.style.whiteSpace = 'nowrap';\n      }\n      if (settings.protect) {\n        editor.on('BeforeSetContent', function (e) {\n          Tools.each(settings.protect, function (pattern) {\n            e.content = e.content.replace(pattern, function (str) {\n              return '<!--mce:protected ' + escape(str) + '-->';\n            });\n          });\n        });\n      }\n      editor.on('SetContent', function () {\n        editor.addVisual(editor.getBody());\n      });\n      editor.load({\n        initial: true,\n        format: 'html'\n      });\n      editor.startContent = editor.getContent({ format: 'raw' });\n      editor.on('compositionstart compositionend', function (e) {\n        editor.composing = e.type === 'compositionstart';\n      });\n      if (editor.contentStyles.length > 0) {\n        contentCssText = '';\n        Tools.each(editor.contentStyles, function (style) {\n          contentCssText += style + '\\r\\n';\n        });\n        editor.dom.addStyle(contentCssText);\n      }\n      getStyleSheetLoader(editor).loadAll(editor.contentCSS, function (_) {\n        initEditor(editor);\n      }, function (urls) {\n        initEditor(editor);\n      });\n      if (settings.content_style) {\n        appendStyle(editor, settings.content_style);\n      }\n    };\n    var InitContentBody = { initContentBody: initContentBody };\n\n    var DOM$3 = DOMUtils$1.DOM;\n    var relaxDomain = function (editor, ifr) {\n      if (document.domain !== window.location.hostname && Env.ie && Env.ie < 12) {\n        var bodyUuid = Uuid.uuid('mce');\n        editor[bodyUuid] = function () {\n          InitContentBody.initContentBody(editor);\n        };\n        var domainRelaxUrl = 'javascript:(function(){' + 'document.open();document.domain=\"' + document.domain + '\";' + 'var ed = window.parent.tinymce.get(\"' + editor.id + '\");document.write(ed.iframeHTML);' + 'document.close();ed.' + bodyUuid + '(true);})()';\n        DOM$3.setAttrib(ifr, 'src', domainRelaxUrl);\n        return true;\n      }\n      return false;\n    };\n    var normalizeHeight = function (height) {\n      var normalizedHeight = typeof height === 'number' ? height + 'px' : height;\n      return normalizedHeight ? normalizedHeight : '';\n    };\n    var createIframeElement = function (id, title, height, customAttrs) {\n      var iframe = Element$$1.fromTag('iframe');\n      setAll(iframe, customAttrs);\n      setAll(iframe, {\n        id: id + '_ifr',\n        frameBorder: '0',\n        allowTransparency: 'true',\n        title: title\n      });\n      setAll$1(iframe, {\n        width: '100%',\n        height: normalizeHeight(height),\n        display: 'block'\n      });\n      return iframe;\n    };\n    var getIframeHtml = function (editor) {\n      var bodyId, bodyClass, iframeHTML;\n      iframeHTML = Settings.getDocType(editor) + '<html><head>';\n      if (Settings.getDocumentBaseUrl(editor) !== editor.documentBaseUrl) {\n        iframeHTML += '<base href=\"' + editor.documentBaseURI.getURI() + '\" />';\n      }\n      iframeHTML += '<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />';\n      bodyId = Settings.getBodyId(editor);\n      bodyClass = Settings.getBodyClass(editor);\n      if (Settings.getContentSecurityPolicy(editor)) {\n        iframeHTML += '<meta http-equiv=\"Content-Security-Policy\" content=\"' + Settings.getContentSecurityPolicy(editor) + '\" />';\n      }\n      iframeHTML += '</head><body id=\"' + bodyId + '\" class=\"mce-content-body ' + bodyClass + '\" data-id=\"' + editor.id + '\"><br></body></html>';\n      return iframeHTML;\n    };\n    var createIframe = function (editor, o) {\n      var title = editor.editorManager.translate('Rich Text Area. Press ALT-F9 for menu. ' + 'Press ALT-F10 for toolbar. Press ALT-0 for help');\n      var ifr = createIframeElement(editor.id, title, o.height, Settings.getIframeAttrs(editor)).dom();\n      ifr.onload = function () {\n        ifr.onload = null;\n        editor.fire('load');\n      };\n      var isDomainRelaxed = relaxDomain(editor, ifr);\n      editor.contentAreaContainer = o.iframeContainer;\n      editor.iframeElement = ifr;\n      editor.iframeHTML = getIframeHtml(editor);\n      DOM$3.add(o.iframeContainer, ifr);\n      return isDomainRelaxed;\n    };\n    var init$1 = function (editor, boxInfo) {\n      var isDomainRelaxed = createIframe(editor, boxInfo);\n      if (boxInfo.editorContainer) {\n        DOM$3.get(boxInfo.editorContainer).style.display = editor.orgDisplay;\n        editor.hidden = DOM$3.isHidden(boxInfo.editorContainer);\n      }\n      editor.getElement().style.display = 'none';\n      DOM$3.setAttrib(editor.id, 'aria-hidden', 'true');\n      if (!isDomainRelaxed) {\n        InitContentBody.initContentBody(editor);\n      }\n    };\n    var InitIframe = { init: init$1 };\n\n    var DOM$4 = DOMUtils$1.DOM;\n    var initPlugin = function (editor, initializedPlugins, plugin) {\n      var Plugin = PluginManager$1.get(plugin);\n      var pluginUrl, pluginInstance;\n      pluginUrl = PluginManager$1.urls[plugin] || editor.documentBaseUrl.replace(/\\/$/, '');\n      plugin = Tools.trim(plugin);\n      if (Plugin && Tools.inArray(initializedPlugins, plugin) === -1) {\n        Tools.each(PluginManager$1.dependencies(plugin), function (dep) {\n          initPlugin(editor, initializedPlugins, dep);\n        });\n        if (editor.plugins[plugin]) {\n          return;\n        }\n        pluginInstance = new Plugin(editor, pluginUrl, editor.$);\n        editor.plugins[plugin] = pluginInstance;\n        if (pluginInstance.init) {\n          pluginInstance.init(editor, pluginUrl);\n          initializedPlugins.push(plugin);\n        }\n      }\n    };\n    var trimLegacyPrefix = function (name) {\n      return name.replace(/^\\-/, '');\n    };\n    var initPlugins = function (editor) {\n      var initializedPlugins = [];\n      Tools.each(editor.settings.plugins.split(/[ ,]/), function (name) {\n        initPlugin(editor, initializedPlugins, trimLegacyPrefix(name));\n      });\n    };\n    var initTheme = function (editor) {\n      var Theme;\n      var theme = editor.settings.theme;\n      if (isString(theme)) {\n        editor.settings.theme = trimLegacyPrefix(theme);\n        Theme = ThemeManager.get(theme);\n        editor.theme = new Theme(editor, ThemeManager.urls[theme]);\n        if (editor.theme.init) {\n          editor.theme.init(editor, ThemeManager.urls[theme] || editor.documentBaseUrl.replace(/\\/$/, ''), editor.$);\n        }\n      } else {\n        editor.theme = {};\n      }\n    };\n    var renderFromLoadedTheme = function (editor) {\n      var w, h, minHeight, re, info;\n      var settings = editor.settings;\n      var elm = editor.getElement();\n      w = settings.width || DOM$4.getStyle(elm, 'width') || '100%';\n      h = settings.height || DOM$4.getStyle(elm, 'height') || elm.offsetHeight;\n      minHeight = settings.min_height || 100;\n      re = /^[0-9\\.]+(|px)$/i;\n      if (re.test('' + w)) {\n        w = Math.max(parseInt(w, 10), 100);\n      }\n      if (re.test('' + h)) {\n        h = Math.max(parseInt(h, 10), minHeight);\n      }\n      info = editor.theme.renderUI({\n        targetNode: elm,\n        width: w,\n        height: h,\n        deltaWidth: settings.delta_width,\n        deltaHeight: settings.delta_height\n      });\n      if (!settings.content_editable) {\n        h = (info.iframeHeight || h) + (typeof h === 'number' ? info.deltaHeight || 0 : '');\n        if (h < minHeight) {\n          h = minHeight;\n        }\n      }\n      info.height = h;\n      return info;\n    };\n    var renderFromThemeFunc = function (editor) {\n      var info;\n      var elm = editor.getElement();\n      info = editor.settings.theme(editor, elm);\n      if (info.editorContainer.nodeType) {\n        info.editorContainer.id = info.editorContainer.id || editor.id + '_parent';\n      }\n      if (info.iframeContainer && info.iframeContainer.nodeType) {\n        info.iframeContainer.id = info.iframeContainer.id || editor.id + '_iframecontainer';\n      }\n      info.height = info.iframeHeight ? info.iframeHeight : elm.offsetHeight;\n      return info;\n    };\n    var createThemeFalseResult = function (element) {\n      return {\n        editorContainer: element,\n        iframeContainer: element\n      };\n    };\n    var renderThemeFalseIframe = function (targetElement) {\n      var iframeContainer = DOM$4.create('div');\n      DOM$4.insertAfter(iframeContainer, targetElement);\n      return createThemeFalseResult(iframeContainer);\n    };\n    var renderThemeFalse = function (editor) {\n      var targetElement = editor.getElement();\n      return editor.inline ? createThemeFalseResult(null) : renderThemeFalseIframe(targetElement);\n    };\n    var renderThemeUi = function (editor) {\n      var settings = editor.settings, elm = editor.getElement();\n      editor.orgDisplay = elm.style.display;\n      if (isString(settings.theme)) {\n        return renderFromLoadedTheme(editor);\n      } else if (isFunction(settings.theme)) {\n        return renderFromThemeFunc(editor);\n      } else {\n        return renderThemeFalse(editor);\n      }\n    };\n    var init$2 = function (editor) {\n      var settings = editor.settings;\n      var elm = editor.getElement();\n      var boxInfo;\n      editor.rtl = settings.rtl_ui || editor.editorManager.i18n.rtl;\n      editor.editorManager.i18n.setCode(settings.language);\n      settings.aria_label = settings.aria_label || DOM$4.getAttrib(elm, 'aria-label', editor.getLang('aria.rich_text_area'));\n      editor.fire('ScriptsLoaded');\n      initTheme(editor);\n      initPlugins(editor);\n      boxInfo = renderThemeUi(editor);\n      editor.editorContainer = boxInfo.editorContainer ? boxInfo.editorContainer : null;\n      if (settings.content_css) {\n        Tools.each(Tools.explode(settings.content_css), function (u) {\n          editor.contentCSS.push(editor.documentBaseURI.toAbsolute(u));\n        });\n      }\n      if (settings.content_editable) {\n        return InitContentBody.initContentBody(editor);\n      } else {\n        return InitIframe.init(editor, boxInfo);\n      }\n    };\n    var Init = { init: init$2 };\n\n    var DOM$5 = DOMUtils$1.DOM;\n    var hasSkipLoadPrefix = function (name$$1) {\n      return name$$1.charAt(0) === '-';\n    };\n    var loadLanguage = function (scriptLoader, editor) {\n      var settings = editor.settings;\n      if (settings.language && settings.language !== 'en' && !settings.language_url) {\n        settings.language_url = editor.editorManager.baseURL + '/langs/' + settings.language + '.js';\n      }\n      if (settings.language_url && !editor.editorManager.i18n.data[settings.language]) {\n        scriptLoader.add(settings.language_url);\n      }\n    };\n    var loadTheme = function (scriptLoader, editor, suffix, callback) {\n      var settings = editor.settings, theme = settings.theme;\n      if (isString(theme)) {\n        if (!hasSkipLoadPrefix(theme) && !ThemeManager.urls.hasOwnProperty(theme)) {\n          var themeUrl = settings.theme_url;\n          if (themeUrl) {\n            ThemeManager.load(theme, editor.documentBaseURI.toAbsolute(themeUrl));\n          } else {\n            ThemeManager.load(theme, 'themes/' + theme + '/theme' + suffix + '.js');\n          }\n        }\n        scriptLoader.loadQueue(function () {\n          ThemeManager.waitFor(theme, callback);\n        });\n      } else {\n        callback();\n      }\n    };\n    var loadPlugins = function (settings, suffix) {\n      if (Tools.isArray(settings.plugins)) {\n        settings.plugins = settings.plugins.join(' ');\n      }\n      Tools.each(settings.external_plugins, function (url, name$$1) {\n        PluginManager$1.load(name$$1, url);\n        settings.plugins += ' ' + name$$1;\n      });\n      Tools.each(settings.plugins.split(/[ ,]/), function (plugin) {\n        plugin = Tools.trim(plugin);\n        if (plugin && !PluginManager$1.urls[plugin]) {\n          if (hasSkipLoadPrefix(plugin)) {\n            plugin = plugin.substr(1, plugin.length);\n            var dependencies = PluginManager$1.dependencies(plugin);\n            Tools.each(dependencies, function (dep) {\n              var defaultSettings = {\n                prefix: 'plugins/',\n                resource: dep,\n                suffix: '/plugin' + suffix + '.js'\n              };\n              dep = PluginManager$1.createUrl(defaultSettings, dep);\n              PluginManager$1.load(dep.resource, dep);\n            });\n          } else {\n            PluginManager$1.load(plugin, {\n              prefix: 'plugins/',\n              resource: plugin,\n              suffix: '/plugin' + suffix + '.js'\n            });\n          }\n        }\n      });\n    };\n    var loadScripts = function (editor, suffix) {\n      var scriptLoader = ScriptLoader.ScriptLoader;\n      loadTheme(scriptLoader, editor, suffix, function () {\n        loadLanguage(scriptLoader, editor);\n        loadPlugins(editor.settings, suffix);\n        scriptLoader.loadQueue(function () {\n          if (!editor.removed) {\n            Init.init(editor);\n          }\n        }, editor, function (urls) {\n          ErrorReporter.pluginLoadError(editor, urls[0]);\n          if (!editor.removed) {\n            Init.init(editor);\n          }\n        });\n      });\n    };\n    var render = function (editor) {\n      var settings = editor.settings, id = editor.id;\n      var readyHandler = function () {\n        DOM$5.unbind(window, 'ready', readyHandler);\n        editor.render();\n      };\n      if (!EventUtils.Event.domLoaded) {\n        DOM$5.bind(window, 'ready', readyHandler);\n        return;\n      }\n      if (!editor.getElement()) {\n        return;\n      }\n      if (!Env.contentEditable) {\n        return;\n      }\n      if (!settings.inline) {\n        editor.orgVisibility = editor.getElement().style.visibility;\n        editor.getElement().style.visibility = 'hidden';\n      } else {\n        editor.inline = true;\n      }\n      var form = editor.getElement().form || DOM$5.getParent(id, 'form');\n      if (form) {\n        editor.formElement = form;\n        if (settings.hidden_input && !/TEXTAREA|INPUT/i.test(editor.getElement().nodeName)) {\n          DOM$5.insertAfter(DOM$5.create('input', {\n            type: 'hidden',\n            name: id\n          }), id);\n          editor.hasHiddenInput = true;\n        }\n        editor.formEventDelegate = function (e) {\n          editor.fire(e.type, e);\n        };\n        DOM$5.bind(form, 'submit reset', editor.formEventDelegate);\n        editor.on('reset', function () {\n          editor.setContent(editor.startContent, { format: 'raw' });\n        });\n        if (settings.submit_patch && !form.submit.nodeType && !form.submit.length && !form._mceOldSubmit) {\n          form._mceOldSubmit = form.submit;\n          form.submit = function () {\n            editor.editorManager.triggerSave();\n            editor.setDirty(false);\n            return form._mceOldSubmit(form);\n          };\n        }\n      }\n      editor.windowManager = WindowManager(editor);\n      editor.notificationManager = NotificationManager(editor);\n      if (settings.encoding === 'xml') {\n        editor.on('GetContent', function (e) {\n          if (e.save) {\n            e.content = DOM$5.encode(e.content);\n          }\n        });\n      }\n      if (settings.add_form_submit_trigger) {\n        editor.on('submit', function () {\n          if (editor.initialized) {\n            editor.save();\n          }\n        });\n      }\n      if (settings.add_unload_trigger) {\n        editor._beforeUnload = function () {\n          if (editor.initialized && !editor.destroyed && !editor.isHidden()) {\n            editor.save({\n              format: 'raw',\n              no_events: true,\n              set_dirty: false\n            });\n          }\n        };\n        editor.editorManager.on('BeforeUnload', editor._beforeUnload);\n      }\n      editor.editorManager.add(editor);\n      loadScripts(editor, editor.suffix);\n    };\n    var Render = { render: render };\n\n    var add$4 = function (editor, name, settings) {\n      var sidebars = editor.sidebars ? editor.sidebars : [];\n      sidebars.push({\n        name: name,\n        settings: settings\n      });\n      editor.sidebars = sidebars;\n    };\n    var Sidebar = { add: add$4 };\n\n    var each$k = Tools.each, trim$4 = Tools.trim;\n    var queryParts = 'source protocol authority userInfo user password host port relative path directory file query anchor'.split(' ');\n    var DEFAULT_PORTS = {\n      ftp: 21,\n      http: 80,\n      https: 443,\n      mailto: 25\n    };\n    var URI = function (url, settings) {\n      var self$$1 = this;\n      var baseUri, baseUrl;\n      url = trim$4(url);\n      settings = self$$1.settings = settings || {};\n      baseUri = settings.base_uri;\n      if (/^([\\w\\-]+):([^\\/]{2})/i.test(url) || /^\\s*#/.test(url)) {\n        self$$1.source = url;\n        return;\n      }\n      var isProtocolRelative = url.indexOf('//') === 0;\n      if (url.indexOf('/') === 0 && !isProtocolRelative) {\n        url = (baseUri ? baseUri.protocol || 'http' : 'http') + '://mce_host' + url;\n      }\n      if (!/^[\\w\\-]*:?\\/\\//.test(url)) {\n        baseUrl = settings.base_uri ? settings.base_uri.path : new URI(document.location.href).directory;\n        if (settings.base_uri.protocol == '') {\n          url = '//mce_host' + self$$1.toAbsPath(baseUrl, url);\n        } else {\n          url = /([^#?]*)([#?]?.*)/.exec(url);\n          url = (baseUri && baseUri.protocol || 'http') + '://mce_host' + self$$1.toAbsPath(baseUrl, url[1]) + url[2];\n        }\n      }\n      url = url.replace(/@@/g, '(mce_at)');\n      url = /^(?:(?![^:@]+:[^:@\\/]*@)([^:\\/?#.]+):)?(?:\\/\\/)?((?:(([^:@\\/]*):?([^:@\\/]*))?@)?([^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/.exec(url);\n      each$k(queryParts, function (v, i) {\n        var part = url[i];\n        if (part) {\n          part = part.replace(/\\(mce_at\\)/g, '@@');\n        }\n        self$$1[v] = part;\n      });\n      if (baseUri) {\n        if (!self$$1.protocol) {\n          self$$1.protocol = baseUri.protocol;\n        }\n        if (!self$$1.userInfo) {\n          self$$1.userInfo = baseUri.userInfo;\n        }\n        if (!self$$1.port && self$$1.host === 'mce_host') {\n          self$$1.port = baseUri.port;\n        }\n        if (!self$$1.host || self$$1.host === 'mce_host') {\n          self$$1.host = baseUri.host;\n        }\n        self$$1.source = '';\n      }\n      if (isProtocolRelative) {\n        self$$1.protocol = '';\n      }\n    };\n    URI.prototype = {\n      setPath: function (path) {\n        var self$$1 = this;\n        path = /^(.*?)\\/?(\\w+)?$/.exec(path);\n        self$$1.path = path[0];\n        self$$1.directory = path[1];\n        self$$1.file = path[2];\n        self$$1.source = '';\n        self$$1.getURI();\n      },\n      toRelative: function (uri) {\n        var self$$1 = this;\n        var output;\n        if (uri === './') {\n          return uri;\n        }\n        uri = new URI(uri, { base_uri: self$$1 });\n        if (uri.host !== 'mce_host' && self$$1.host !== uri.host && uri.host || self$$1.port !== uri.port || self$$1.protocol !== uri.protocol && uri.protocol !== '') {\n          return uri.getURI();\n        }\n        var tu = self$$1.getURI(), uu = uri.getURI();\n        if (tu === uu || tu.charAt(tu.length - 1) === '/' && tu.substr(0, tu.length - 1) === uu) {\n          return tu;\n        }\n        output = self$$1.toRelPath(self$$1.path, uri.path);\n        if (uri.query) {\n          output += '?' + uri.query;\n        }\n        if (uri.anchor) {\n          output += '#' + uri.anchor;\n        }\n        return output;\n      },\n      toAbsolute: function (uri, noHost) {\n        uri = new URI(uri, { base_uri: this });\n        return uri.getURI(noHost && this.isSameOrigin(uri));\n      },\n      isSameOrigin: function (uri) {\n        if (this.host == uri.host && this.protocol == uri.protocol) {\n          if (this.port == uri.port) {\n            return true;\n          }\n          var defaultPort = DEFAULT_PORTS[this.protocol];\n          if (defaultPort && (this.port || defaultPort) == (uri.port || defaultPort)) {\n            return true;\n          }\n        }\n        return false;\n      },\n      toRelPath: function (base, path) {\n        var items, breakPoint = 0, out = '', i, l;\n        base = base.substring(0, base.lastIndexOf('/'));\n        base = base.split('/');\n        items = path.split('/');\n        if (base.length >= items.length) {\n          for (i = 0, l = base.length; i < l; i++) {\n            if (i >= items.length || base[i] !== items[i]) {\n              breakPoint = i + 1;\n              break;\n            }\n          }\n        }\n        if (base.length < items.length) {\n          for (i = 0, l = items.length; i < l; i++) {\n            if (i >= base.length || base[i] !== items[i]) {\n              breakPoint = i + 1;\n              break;\n            }\n          }\n        }\n        if (breakPoint === 1) {\n          return path;\n        }\n        for (i = 0, l = base.length - (breakPoint - 1); i < l; i++) {\n          out += '../';\n        }\n        for (i = breakPoint - 1, l = items.length; i < l; i++) {\n          if (i !== breakPoint - 1) {\n            out += '/' + items[i];\n          } else {\n            out += items[i];\n          }\n        }\n        return out;\n      },\n      toAbsPath: function (base, path) {\n        var i, nb = 0, o = [], tr, outPath;\n        tr = /\\/$/.test(path) ? '/' : '';\n        base = base.split('/');\n        path = path.split('/');\n        each$k(base, function (k) {\n          if (k) {\n            o.push(k);\n          }\n        });\n        base = o;\n        for (i = path.length - 1, o = []; i >= 0; i--) {\n          if (path[i].length === 0 || path[i] === '.') {\n            continue;\n          }\n          if (path[i] === '..') {\n            nb++;\n            continue;\n          }\n          if (nb > 0) {\n            nb--;\n            continue;\n          }\n          o.push(path[i]);\n        }\n        i = base.length - nb;\n        if (i <= 0) {\n          outPath = o.reverse().join('/');\n        } else {\n          outPath = base.slice(0, i).join('/') + '/' + o.reverse().join('/');\n        }\n        if (outPath.indexOf('/') !== 0) {\n          outPath = '/' + outPath;\n        }\n        if (tr && outPath.lastIndexOf('/') !== outPath.length - 1) {\n          outPath += tr;\n        }\n        return outPath;\n      },\n      getURI: function (noProtoHost) {\n        var s;\n        var self$$1 = this;\n        if (!self$$1.source || noProtoHost) {\n          s = '';\n          if (!noProtoHost) {\n            if (self$$1.protocol) {\n              s += self$$1.protocol + '://';\n            } else {\n              s += '//';\n            }\n            if (self$$1.userInfo) {\n              s += self$$1.userInfo + '@';\n            }\n            if (self$$1.host) {\n              s += self$$1.host;\n            }\n            if (self$$1.port) {\n              s += ':' + self$$1.port;\n            }\n          }\n          if (self$$1.path) {\n            s += self$$1.path;\n          }\n          if (self$$1.query) {\n            s += '?' + self$$1.query;\n          }\n          if (self$$1.anchor) {\n            s += '#' + self$$1.anchor;\n          }\n          self$$1.source = s;\n        }\n        return self$$1.source;\n      }\n    };\n    URI.parseDataUri = function (uri) {\n      var type, matches;\n      uri = decodeURIComponent(uri).split(',');\n      matches = /data:([^;]+)/.exec(uri[0]);\n      if (matches) {\n        type = matches[1];\n      }\n      return {\n        type: type,\n        data: uri[1]\n      };\n    };\n    URI.getDocumentBaseUrl = function (loc) {\n      var baseUrl;\n      if (loc.protocol.indexOf('http') !== 0 && loc.protocol !== 'file:') {\n        baseUrl = loc.href;\n      } else {\n        baseUrl = loc.protocol + '//' + loc.host + loc.pathname;\n      }\n      if (/^[^:]+:\\/\\/\\/?[^\\/]+\\//.test(baseUrl)) {\n        baseUrl = baseUrl.replace(/[\\?#].*$/, '').replace(/[\\/\\\\][^\\/]+$/, '');\n        if (!/[\\/\\\\]$/.test(baseUrl)) {\n          baseUrl += '/';\n        }\n      }\n      return baseUrl;\n    };\n\n    var defaultFormat = 'html';\n    var trimEmptyContents = function (editor, html) {\n      var blockName = Settings.getForcedRootBlock(editor);\n      var emptyRegExp = new RegExp('^(<' + blockName + '[^>]*>(&nbsp;|&#160;|\\\\s|\\xA0|<br \\\\/>|)<\\\\/' + blockName + '>[\\r\\n]*|<br \\\\/>[\\r\\n]*)$');\n      return html.replace(emptyRegExp, '');\n    };\n    var getContentFromBody = function (editor, args, body) {\n      var content;\n      args.format = args.format ? args.format : defaultFormat;\n      args.get = true;\n      args.getInner = true;\n      if (!args.no_events) {\n        editor.fire('BeforeGetContent', args);\n      }\n      if (args.format === 'raw') {\n        content = Tools.trim(TrimHtml.trimExternal(editor.serializer, body.innerHTML));\n      } else if (args.format === 'text') {\n        content = Zwsp.trim(body.innerText || body.textContent);\n      } else if (args.format === 'tree') {\n        return editor.serializer.serialize(body, args);\n      } else {\n        content = trimEmptyContents(editor, editor.serializer.serialize(body, args));\n      }\n      if (args.format !== 'text' && !isWsPreserveElement(Element$$1.fromDom(body))) {\n        args.content = Tools.trim(content);\n      } else {\n        args.content = content;\n      }\n      if (!args.no_events) {\n        editor.fire('GetContent', args);\n      }\n      return args.content;\n    };\n    var getContent$1 = function (editor, args) {\n      if (args === void 0) {\n        args = {};\n      }\n      return Option.from(editor.getBody()).fold(constant(args.format === 'tree' ? new Node$2('body', 11) : ''), function (body) {\n        return getContentFromBody(editor, args, body);\n      });\n    };\n\n    var traverse = function (node, fn) {\n      fn(node);\n      if (node.firstChild) {\n        traverse(node.firstChild, fn);\n      }\n      if (node.next) {\n        traverse(node.next, fn);\n      }\n    };\n    var findMatchingNodes = function (nodeFilters, attributeFilters, node) {\n      var nodeMatches = {};\n      var attrMatches = {};\n      var matches = [];\n      if (node.firstChild) {\n        traverse(node.firstChild, function (node) {\n          each(nodeFilters, function (filter$$1) {\n            if (filter$$1.name === node.name) {\n              if (nodeMatches[filter$$1.name]) {\n                nodeMatches[filter$$1.name].nodes.push(node);\n              } else {\n                nodeMatches[filter$$1.name] = {\n                  filter: filter$$1,\n                  nodes: [node]\n                };\n              }\n            }\n          });\n          each(attributeFilters, function (filter$$1) {\n            if (typeof node.attr(filter$$1.name) === 'string') {\n              if (attrMatches[filter$$1.name]) {\n                attrMatches[filter$$1.name].nodes.push(node);\n              } else {\n                attrMatches[filter$$1.name] = {\n                  filter: filter$$1,\n                  nodes: [node]\n                };\n              }\n            }\n          });\n        });\n      }\n      for (var name in nodeMatches) {\n        if (nodeMatches.hasOwnProperty(name)) {\n          matches.push(nodeMatches[name]);\n        }\n      }\n      for (var name in attrMatches) {\n        if (attrMatches.hasOwnProperty(name)) {\n          matches.push(attrMatches[name]);\n        }\n      }\n      return matches;\n    };\n    var filter$3 = function (nodeFilters, attributeFilters, node) {\n      var matches = findMatchingNodes(nodeFilters, attributeFilters, node);\n      each(matches, function (match) {\n        each(match.filter.callbacks, function (callback) {\n          callback(match.nodes, match.filter.name, {});\n        });\n      });\n    };\n\n    var defaultFormat$1 = 'html';\n    var isTreeNode = function (content) {\n      return content instanceof Node$2;\n    };\n    var moveSelection = function (editor) {\n      if (EditorFocus.hasFocus(editor)) {\n        CaretFinder.firstPositionIn(editor.getBody()).each(function (pos) {\n          var node = pos.getNode();\n          var caretPos = NodeType.isTable(node) ? CaretFinder.firstPositionIn(node).getOr(pos) : pos;\n          editor.selection.setRng(caretPos.toRange());\n        });\n      }\n    };\n    var setEditorHtml = function (editor, html) {\n      editor.dom.setHTML(editor.getBody(), html);\n      moveSelection(editor);\n    };\n    var setContentString = function (editor, body, content, args) {\n      var forcedRootBlockName, padd;\n      if (content.length === 0 || /^\\s+$/.test(content)) {\n        padd = '<br data-mce-bogus=\"1\">';\n        if (body.nodeName === 'TABLE') {\n          content = '<tr><td>' + padd + '</td></tr>';\n        } else if (/^(UL|OL)$/.test(body.nodeName)) {\n          content = '<li>' + padd + '</li>';\n        }\n        forcedRootBlockName = Settings.getForcedRootBlock(editor);\n        if (forcedRootBlockName && editor.schema.isValidChild(body.nodeName.toLowerCase(), forcedRootBlockName.toLowerCase())) {\n          content = padd;\n          content = editor.dom.createHTML(forcedRootBlockName, editor.settings.forced_root_block_attrs, content);\n        } else if (!content) {\n          content = '<br data-mce-bogus=\"1\">';\n        }\n        setEditorHtml(editor, content);\n        editor.fire('SetContent', args);\n      } else {\n        if (args.format !== 'raw') {\n          content = Serializer({ validate: editor.validate }, editor.schema).serialize(editor.parser.parse(content, {\n            isRootContent: true,\n            insert: true\n          }));\n        }\n        args.content = isWsPreserveElement(Element$$1.fromDom(body)) ? content : Tools.trim(content);\n        setEditorHtml(editor, args.content);\n        if (!args.no_events) {\n          editor.fire('SetContent', args);\n        }\n      }\n      return args.content;\n    };\n    var setContentTree = function (editor, body, content, args) {\n      filter$3(editor.parser.getNodeFilters(), editor.parser.getAttributeFilters(), content);\n      var html = Serializer({ validate: editor.validate }, editor.schema).serialize(content);\n      args.content = isWsPreserveElement(Element$$1.fromDom(body)) ? html : Tools.trim(html);\n      setEditorHtml(editor, args.content);\n      if (!args.no_events) {\n        editor.fire('SetContent', args);\n      }\n      return content;\n    };\n    var setContent$1 = function (editor, content, args) {\n      if (args === void 0) {\n        args = {};\n      }\n      args.format = args.format ? args.format : defaultFormat$1;\n      args.set = true;\n      args.content = isTreeNode(content) ? '' : content;\n      if (!isTreeNode(content) && !args.no_events) {\n        editor.fire('BeforeSetContent', args);\n        content = args.content;\n      }\n      return Option.from(editor.getBody()).fold(constant(content), function (body) {\n        return isTreeNode(content) ? setContentTree(editor, body, content, args) : setContentString(editor, body, content, args);\n      });\n    };\n\n    var DOM$6 = DOMUtils$1.DOM;\n    var restoreOriginalStyles = function (editor) {\n      DOM$6.setStyle(editor.id, 'display', editor.orgDisplay);\n    };\n    var safeDestroy = function (x) {\n      return Option.from(x).each(function (x) {\n        return x.destroy();\n      });\n    };\n    var clearDomReferences = function (editor) {\n      editor.contentAreaContainer = editor.formElement = editor.container = editor.editorContainer = null;\n      editor.bodyElement = editor.contentDocument = editor.contentWindow = null;\n      editor.iframeElement = editor.targetElm = null;\n      if (editor.selection) {\n        editor.selection = editor.selection.win = editor.selection.dom = editor.selection.dom.doc = null;\n      }\n    };\n    var restoreForm = function (editor) {\n      var form = editor.formElement;\n      if (form) {\n        if (form._mceOldSubmit) {\n          form.submit = form._mceOldSubmit;\n          form._mceOldSubmit = null;\n        }\n        DOM$6.unbind(form, 'submit reset', editor.formEventDelegate);\n      }\n    };\n    var remove$9 = function (editor) {\n      if (!editor.removed) {\n        var _selectionOverrides = editor._selectionOverrides, editorUpload = editor.editorUpload;\n        var body = editor.getBody();\n        var element = editor.getElement();\n        if (body) {\n          editor.save({ is_removing: true });\n        }\n        editor.removed = true;\n        editor.unbindAllNativeEvents();\n        if (editor.hasHiddenInput && element) {\n          DOM$6.remove(element.nextSibling);\n        }\n        if (!editor.inline && body) {\n          restoreOriginalStyles(editor);\n        }\n        Events.fireRemove(editor);\n        editor.editorManager.remove(editor);\n        DOM$6.remove(editor.getContainer());\n        safeDestroy(_selectionOverrides);\n        safeDestroy(editorUpload);\n        editor.destroy();\n      }\n    };\n    var destroy = function (editor, automatic) {\n      var selection = editor.selection, dom = editor.dom;\n      if (editor.destroyed) {\n        return;\n      }\n      if (!automatic && !editor.removed) {\n        editor.remove();\n        return;\n      }\n      if (!automatic) {\n        editor.editorManager.off('beforeunload', editor._beforeUnload);\n        if (editor.theme && editor.theme.destroy) {\n          editor.theme.destroy();\n        }\n        safeDestroy(selection);\n        safeDestroy(dom);\n      }\n      restoreForm(editor);\n      clearDomReferences(editor);\n      editor.destroyed = true;\n    };\n\n    var DOM$7 = DOMUtils$1.DOM;\n    var extend$4 = Tools.extend, each$l = Tools.each;\n    var resolve$4 = Tools.resolve;\n    var ie$2 = Env.ie;\n    var Editor = function (id, settings, editorManager) {\n      var self = this;\n      var documentBaseUrl = self.documentBaseUrl = editorManager.documentBaseURL;\n      var baseUri = editorManager.baseURI;\n      settings = getEditorSettings(self, id, documentBaseUrl, editorManager.defaultSettings, settings);\n      self.settings = settings;\n      AddOnManager.language = settings.language || 'en';\n      AddOnManager.languageLoad = settings.language_load;\n      AddOnManager.baseURL = editorManager.baseURL;\n      self.id = id;\n      self.setDirty(false);\n      self.plugins = {};\n      self.documentBaseURI = new URI(settings.document_base_url, { base_uri: baseUri });\n      self.baseURI = baseUri;\n      self.contentCSS = [];\n      self.contentStyles = [];\n      self.shortcuts = new Shortcuts(self);\n      self.loadedCSS = {};\n      self.editorCommands = new EditorCommands(self);\n      self.suffix = editorManager.suffix;\n      self.editorManager = editorManager;\n      self.inline = settings.inline;\n      self.buttons = {};\n      self.menuItems = {};\n      if (settings.cache_suffix) {\n        Env.cacheSuffix = settings.cache_suffix.replace(/^[\\?\\&]+/, '');\n      }\n      if (settings.override_viewport === false) {\n        Env.overrideViewPort = false;\n      }\n      editorManager.fire('SetupEditor', { editor: self });\n      self.execCallback('setup', self);\n      self.$ = DomQuery.overrideDefaults(function () {\n        return {\n          context: self.inline ? self.getBody() : self.getDoc(),\n          element: self.getBody()\n        };\n      });\n    };\n    Editor.prototype = {\n      render: function () {\n        Render.render(this);\n      },\n      focus: function (skipFocus) {\n        EditorFocus.focus(this, skipFocus);\n      },\n      hasFocus: function () {\n        return EditorFocus.hasFocus(this);\n      },\n      execCallback: function (name) {\n        var x = [];\n        for (var _i = 1; _i < arguments.length; _i++) {\n          x[_i - 1] = arguments[_i];\n        }\n        var self = this;\n        var callback = self.settings[name], scope;\n        if (!callback) {\n          return;\n        }\n        if (self.callbackLookup && (scope = self.callbackLookup[name])) {\n          callback = scope.func;\n          scope = scope.scope;\n        }\n        if (typeof callback === 'string') {\n          scope = callback.replace(/\\.\\w+$/, '');\n          scope = scope ? resolve$4(scope) : 0;\n          callback = resolve$4(callback);\n          self.callbackLookup = self.callbackLookup || {};\n          self.callbackLookup[name] = {\n            func: callback,\n            scope: scope\n          };\n        }\n        return callback.apply(scope || self, Array.prototype.slice.call(arguments, 1));\n      },\n      translate: function (text) {\n        if (text && Tools.is(text, 'string')) {\n          var lang_1 = this.settings.language || 'en', i18n_1 = this.editorManager.i18n;\n          text = i18n_1.data[lang_1 + '.' + text] || text.replace(/\\{\\#([^\\}]+)\\}/g, function (a, b) {\n            return i18n_1.data[lang_1 + '.' + b] || '{#' + b + '}';\n          });\n        }\n        return this.editorManager.translate(text);\n      },\n      getLang: function (name, defaultVal) {\n        return this.editorManager.i18n.data[(this.settings.language || 'en') + '.' + name] || (defaultVal !== undefined ? defaultVal : '{#' + name + '}');\n      },\n      getParam: function (name, defaultVal, type) {\n        return getParam(this, name, defaultVal, type);\n      },\n      nodeChanged: function (args) {\n        this._nodeChangeDispatcher.nodeChanged(args);\n      },\n      addButton: function (name, settings) {\n        var self = this;\n        if (settings.cmd) {\n          settings.onclick = function () {\n            self.execCommand(settings.cmd);\n          };\n        }\n        if (settings.stateSelector && typeof settings.active === 'undefined') {\n          settings.active = false;\n        }\n        if (!settings.text && !settings.icon) {\n          settings.icon = name;\n        }\n        settings.tooltip = settings.tooltip || settings.title;\n        self.buttons[name] = settings;\n      },\n      addSidebar: function (name, settings) {\n        return Sidebar.add(this, name, settings);\n      },\n      addMenuItem: function (name, settings) {\n        var self = this;\n        if (settings.cmd) {\n          settings.onclick = function () {\n            self.execCommand(settings.cmd);\n          };\n        }\n        self.menuItems[name] = settings;\n      },\n      addContextToolbar: function (predicate, items) {\n        var self = this;\n        var selector;\n        self.contextToolbars = self.contextToolbars || [];\n        if (typeof predicate === 'string') {\n          selector = predicate;\n          predicate = function (elm) {\n            return self.dom.is(elm, selector);\n          };\n        }\n        self.contextToolbars.push({\n          id: Uuid.uuid('mcet'),\n          predicate: predicate,\n          items: items\n        });\n      },\n      addCommand: function (name, callback, scope) {\n        this.editorCommands.addCommand(name, callback, scope);\n      },\n      addQueryStateHandler: function (name, callback, scope) {\n        this.editorCommands.addQueryStateHandler(name, callback, scope);\n      },\n      addQueryValueHandler: function (name, callback, scope) {\n        this.editorCommands.addQueryValueHandler(name, callback, scope);\n      },\n      addShortcut: function (pattern, desc, cmdFunc, scope) {\n        this.shortcuts.add(pattern, desc, cmdFunc, scope);\n      },\n      execCommand: function (cmd, ui, value, args) {\n        return this.editorCommands.execCommand(cmd, ui, value, args);\n      },\n      queryCommandState: function (cmd) {\n        return this.editorCommands.queryCommandState(cmd);\n      },\n      queryCommandValue: function (cmd) {\n        return this.editorCommands.queryCommandValue(cmd);\n      },\n      queryCommandSupported: function (cmd) {\n        return this.editorCommands.queryCommandSupported(cmd);\n      },\n      show: function () {\n        var self = this;\n        if (self.hidden) {\n          self.hidden = false;\n          if (self.inline) {\n            self.getBody().contentEditable = true;\n          } else {\n            DOM$7.show(self.getContainer());\n            DOM$7.hide(self.id);\n          }\n          self.load();\n          self.fire('show');\n        }\n      },\n      hide: function () {\n        var self = this, doc = self.getDoc();\n        if (!self.hidden) {\n          if (ie$2 && doc && !self.inline) {\n            doc.execCommand('SelectAll');\n          }\n          self.save();\n          if (self.inline) {\n            self.getBody().contentEditable = false;\n            if (self === self.editorManager.focusedEditor) {\n              self.editorManager.focusedEditor = null;\n            }\n          } else {\n            DOM$7.hide(self.getContainer());\n            DOM$7.setStyle(self.id, 'display', self.orgDisplay);\n          }\n          self.hidden = true;\n          self.fire('hide');\n        }\n      },\n      isHidden: function () {\n        return !!this.hidden;\n      },\n      setProgressState: function (state, time) {\n        this.fire('ProgressState', {\n          state: state,\n          time: time\n        });\n      },\n      load: function (args) {\n        var self = this;\n        var elm = self.getElement(), html;\n        if (self.removed) {\n          return '';\n        }\n        if (elm) {\n          args = args || {};\n          args.load = true;\n          html = self.setContent(elm.value !== undefined ? elm.value : elm.innerHTML, args);\n          args.element = elm;\n          if (!args.no_events) {\n            self.fire('LoadContent', args);\n          }\n          args.element = elm = null;\n          return html;\n        }\n      },\n      save: function (args) {\n        var self = this;\n        var elm = self.getElement(), html, form;\n        if (!elm || !self.initialized || self.removed) {\n          return;\n        }\n        args = args || {};\n        args.save = true;\n        args.element = elm;\n        html = args.content = self.getContent(args);\n        if (!args.no_events) {\n          self.fire('SaveContent', args);\n        }\n        if (args.format === 'raw') {\n          self.fire('RawSaveContent', args);\n        }\n        html = args.content;\n        if (!/TEXTAREA|INPUT/i.test(elm.nodeName)) {\n          if (args.is_removing || !self.inline) {\n            elm.innerHTML = html;\n          }\n          if (form = DOM$7.getParent(self.id, 'form')) {\n            each$l(form.elements, function (elm) {\n              if (elm.name === self.id) {\n                elm.value = html;\n                return false;\n              }\n            });\n          }\n        } else {\n          elm.value = html;\n        }\n        args.element = elm = null;\n        if (args.set_dirty !== false) {\n          self.setDirty(false);\n        }\n        return html;\n      },\n      setContent: function (content, args) {\n        return setContent$1(this, content, args);\n      },\n      getContent: function (args) {\n        return getContent$1(this, args);\n      },\n      insertContent: function (content, args) {\n        if (args) {\n          content = extend$4({ content: content }, args);\n        }\n        this.execCommand('mceInsertContent', false, content);\n      },\n      isDirty: function () {\n        return !this.isNotDirty;\n      },\n      setDirty: function (state) {\n        var oldState = !this.isNotDirty;\n        this.isNotDirty = !state;\n        if (state && state !== oldState) {\n          this.fire('dirty');\n        }\n      },\n      setMode: function (mode) {\n        setMode(this, mode);\n      },\n      getContainer: function () {\n        var self = this;\n        if (!self.container) {\n          self.container = DOM$7.get(self.editorContainer || self.id + '_parent');\n        }\n        return self.container;\n      },\n      getContentAreaContainer: function () {\n        return this.contentAreaContainer;\n      },\n      getElement: function () {\n        if (!this.targetElm) {\n          this.targetElm = DOM$7.get(this.id);\n        }\n        return this.targetElm;\n      },\n      getWin: function () {\n        var self = this;\n        var elm;\n        if (!self.contentWindow) {\n          elm = self.iframeElement;\n          if (elm) {\n            self.contentWindow = elm.contentWindow;\n          }\n        }\n        return self.contentWindow;\n      },\n      getDoc: function () {\n        var self = this;\n        var win;\n        if (!self.contentDocument) {\n          win = self.getWin();\n          if (win) {\n            self.contentDocument = win.document;\n          }\n        }\n        return self.contentDocument;\n      },\n      getBody: function () {\n        var doc = this.getDoc();\n        return this.bodyElement || (doc ? doc.body : null);\n      },\n      convertURL: function (url, name, elm) {\n        var self = this, settings = self.settings;\n        if (settings.urlconverter_callback) {\n          return self.execCallback('urlconverter_callback', url, elm, true, name);\n        }\n        if (!settings.convert_urls || elm && elm.nodeName === 'LINK' || url.indexOf('file:') === 0 || url.length === 0) {\n          return url;\n        }\n        if (settings.relative_urls) {\n          return self.documentBaseURI.toRelative(url);\n        }\n        url = self.documentBaseURI.toAbsolute(url, settings.remove_script_host);\n        return url;\n      },\n      addVisual: function (elm) {\n        var self = this;\n        var settings = self.settings;\n        var dom = self.dom;\n        var cls;\n        elm = elm || self.getBody();\n        if (self.hasVisual === undefined) {\n          self.hasVisual = settings.visual;\n        }\n        each$l(dom.select('table,a', elm), function (elm) {\n          var value;\n          switch (elm.nodeName) {\n          case 'TABLE':\n            cls = settings.visual_table_class || 'mce-item-table';\n            value = dom.getAttrib(elm, 'border');\n            if ((!value || value === '0') && self.hasVisual) {\n              dom.addClass(elm, cls);\n            } else {\n              dom.removeClass(elm, cls);\n            }\n            return;\n          case 'A':\n            if (!dom.getAttrib(elm, 'href')) {\n              value = dom.getAttrib(elm, 'name') || elm.id;\n              cls = settings.visual_anchor_class || 'mce-item-anchor';\n              if (value && self.hasVisual) {\n                dom.addClass(elm, cls);\n              } else {\n                dom.removeClass(elm, cls);\n              }\n            }\n            return;\n          }\n        });\n        self.fire('VisualAid', {\n          element: elm,\n          hasVisual: self.hasVisual\n        });\n      },\n      remove: function () {\n        remove$9(this);\n      },\n      destroy: function (automatic) {\n        destroy(this, automatic);\n      },\n      uploadImages: function (callback) {\n        return this.editorUpload.uploadImages(callback);\n      },\n      _scanForImages: function () {\n        return this.editorUpload.scanForImages();\n      }\n    };\n    extend$4(Editor.prototype, EditorObservable$1);\n\n    var isEditorUIElement = function (elm) {\n      return elm.className.toString().indexOf('mce-') !== -1;\n    };\n    var FocusManager = { isEditorUIElement: isEditorUIElement };\n\n    var isManualNodeChange = function (e) {\n      return e.type === 'nodechange' && e.selectionChange;\n    };\n    var registerPageMouseUp = function (editor, throttledStore) {\n      var mouseUpPage = function () {\n        throttledStore.throttle();\n      };\n      DOMUtils$1.DOM.bind(document, 'mouseup', mouseUpPage);\n      editor.on('remove', function () {\n        DOMUtils$1.DOM.unbind(document, 'mouseup', mouseUpPage);\n      });\n    };\n    var registerFocusOut = function (editor) {\n      editor.on('focusout', function () {\n        SelectionBookmark.store(editor);\n      });\n    };\n    var registerMouseUp = function (editor, throttledStore) {\n      editor.on('mouseup touchend', function (e) {\n        throttledStore.throttle();\n      });\n    };\n    var registerEditorEvents = function (editor, throttledStore) {\n      var browser = PlatformDetection$1.detect().browser;\n      if (browser.isIE()) {\n        registerFocusOut(editor);\n      } else {\n        registerMouseUp(editor, throttledStore);\n      }\n      editor.on('keyup nodechange', function (e) {\n        if (!isManualNodeChange(e)) {\n          SelectionBookmark.store(editor);\n        }\n      });\n    };\n    var register$3 = function (editor) {\n      var throttledStore = first$1(function () {\n        SelectionBookmark.store(editor);\n      }, 0);\n      if (editor.inline) {\n        registerPageMouseUp(editor, throttledStore);\n      }\n      editor.on('init', function () {\n        registerEditorEvents(editor, throttledStore);\n      });\n      editor.on('remove', function () {\n        throttledStore.cancel();\n      });\n    };\n    var SelectionRestore = { register: register$3 };\n\n    var documentFocusInHandler;\n    var DOM$8 = DOMUtils$1.DOM;\n    var isEditorUIElement$1 = function (elm) {\n      return FocusManager.isEditorUIElement(elm);\n    };\n    var isUIElement = function (editor, elm) {\n      var customSelector = editor ? editor.settings.custom_ui_selector : '';\n      var parent$$1 = DOM$8.getParent(elm, function (elm) {\n        return isEditorUIElement$1(elm) || (customSelector ? editor.dom.is(elm, customSelector) : false);\n      });\n      return parent$$1 !== null;\n    };\n    var getActiveElement = function () {\n      try {\n        return document.activeElement;\n      } catch (ex) {\n        return document.body;\n      }\n    };\n    var registerEvents = function (editorManager, e) {\n      var editor = e.editor;\n      SelectionRestore.register(editor);\n      editor.on('focusin', function () {\n        var self$$1 = this;\n        var focusedEditor = editorManager.focusedEditor;\n        if (focusedEditor !== self$$1) {\n          if (focusedEditor) {\n            focusedEditor.fire('blur', { focusedEditor: self$$1 });\n          }\n          editorManager.setActive(self$$1);\n          editorManager.focusedEditor = self$$1;\n          self$$1.fire('focus', { blurredEditor: focusedEditor });\n          self$$1.focus(true);\n        }\n      });\n      editor.on('focusout', function () {\n        var self$$1 = this;\n        Delay.setEditorTimeout(self$$1, function () {\n          var focusedEditor = editorManager.focusedEditor;\n          if (!isUIElement(self$$1, getActiveElement()) && focusedEditor === self$$1) {\n            self$$1.fire('blur', { focusedEditor: null });\n            editorManager.focusedEditor = null;\n          }\n        });\n      });\n      if (!documentFocusInHandler) {\n        documentFocusInHandler = function (e) {\n          var activeEditor = editorManager.activeEditor;\n          var target;\n          target = e.target;\n          if (activeEditor && target.ownerDocument === document) {\n            if (target !== document.body && !isUIElement(activeEditor, target) && editorManager.focusedEditor === activeEditor) {\n              activeEditor.fire('blur', { focusedEditor: null });\n              editorManager.focusedEditor = null;\n            }\n          }\n        };\n        DOM$8.bind(document, 'focusin', documentFocusInHandler);\n      }\n    };\n    var unregisterDocumentEvents = function (editorManager, e) {\n      if (editorManager.focusedEditor === e.editor) {\n        editorManager.focusedEditor = null;\n      }\n      if (!editorManager.activeEditor) {\n        DOM$8.unbind(document, 'focusin', documentFocusInHandler);\n        documentFocusInHandler = null;\n      }\n    };\n    var setup$g = function (editorManager) {\n      editorManager.on('AddEditor', curry(registerEvents, editorManager));\n      editorManager.on('RemoveEditor', curry(unregisterDocumentEvents, editorManager));\n    };\n    var FocusController = {\n      setup: setup$g,\n      isEditorUIElement: isEditorUIElement$1,\n      isUIElement: isUIElement\n    };\n\n    var data = {};\n    var code = 'en';\n    var I18n = {\n      setCode: function (newCode) {\n        if (newCode) {\n          code = newCode;\n          this.rtl = this.data[newCode] ? this.data[newCode]._dir === 'rtl' : false;\n        }\n      },\n      getCode: function () {\n        return code;\n      },\n      rtl: false,\n      add: function (code, items) {\n        var langData = data[code];\n        if (!langData) {\n          data[code] = langData = {};\n        }\n        for (var name in items) {\n          langData[name] = items[name];\n        }\n        this.setCode(code);\n      },\n      translate: function (text) {\n        var langData = data[code] || {};\n        var toString = function (obj) {\n          if (Tools.is(obj, 'function')) {\n            return Object.prototype.toString.call(obj);\n          }\n          return !isEmpty(obj) ? '' + obj : '';\n        };\n        var isEmpty = function (text) {\n          return text === '' || text === null || Tools.is(text, 'undefined');\n        };\n        var getLangData = function (text) {\n          text = toString(text);\n          return Tools.hasOwn(langData, text) ? toString(langData[text]) : text;\n        };\n        if (isEmpty(text)) {\n          return '';\n        }\n        if (Tools.is(text, 'object') && Tools.hasOwn(text, 'raw')) {\n          return toString(text.raw);\n        }\n        if (Tools.is(text, 'array')) {\n          var values_1 = text.slice(1);\n          text = getLangData(text[0]).replace(/\\{([0-9]+)\\}/g, function ($1, $2) {\n            return Tools.hasOwn(values_1, $2) ? toString(values_1[$2]) : $1;\n          });\n        }\n        return getLangData(text).replace(/{context:\\w+}$/, '');\n      },\n      data: data\n    };\n\n    var DOM$9 = DOMUtils$1.DOM;\n    var explode$4 = Tools.explode, each$m = Tools.each, extend$5 = Tools.extend;\n    var instanceCounter = 0, beforeUnloadDelegate, EditorManager, boundGlobalEvents = false;\n    var legacyEditors = [];\n    var editors = [];\n    var isValidLegacyKey = function (id) {\n      return id !== 'length';\n    };\n    var globalEventDelegate = function (e) {\n      each$m(EditorManager.get(), function (editor) {\n        if (e.type === 'scroll') {\n          editor.fire('ScrollWindow', e);\n        } else {\n          editor.fire('ResizeWindow', e);\n        }\n      });\n    };\n    var toggleGlobalEvents = function (state) {\n      if (state !== boundGlobalEvents) {\n        if (state) {\n          DomQuery(window).on('resize scroll', globalEventDelegate);\n        } else {\n          DomQuery(window).off('resize scroll', globalEventDelegate);\n        }\n        boundGlobalEvents = state;\n      }\n    };\n    var removeEditorFromList = function (targetEditor) {\n      var oldEditors = editors;\n      delete legacyEditors[targetEditor.id];\n      for (var i = 0; i < legacyEditors.length; i++) {\n        if (legacyEditors[i] === targetEditor) {\n          legacyEditors.splice(i, 1);\n          break;\n        }\n      }\n      editors = filter(editors, function (editor) {\n        return targetEditor !== editor;\n      });\n      if (EditorManager.activeEditor === targetEditor) {\n        EditorManager.activeEditor = editors.length > 0 ? editors[0] : null;\n      }\n      if (EditorManager.focusedEditor === targetEditor) {\n        EditorManager.focusedEditor = null;\n      }\n      return oldEditors.length !== editors.length;\n    };\n    var purgeDestroyedEditor = function (editor) {\n      if (editor && editor.initialized && !(editor.getContainer() || editor.getBody()).parentNode) {\n        removeEditorFromList(editor);\n        editor.unbindAllNativeEvents();\n        editor.destroy(true);\n        editor.removed = true;\n        editor = null;\n      }\n      return editor;\n    };\n    EditorManager = {\n      defaultSettings: {},\n      $: DomQuery,\n      majorVersion: '4',\n      minorVersion: '9.2',\n      releaseDate: '2018-12-17',\n      editors: legacyEditors,\n      i18n: I18n,\n      activeEditor: null,\n      settings: {},\n      setup: function () {\n        var self$$1 = this;\n        var baseURL, documentBaseURL, suffix = '', preInit, src;\n        documentBaseURL = URI.getDocumentBaseUrl(document.location);\n        if (/^[^:]+:\\/\\/\\/?[^\\/]+\\//.test(documentBaseURL)) {\n          documentBaseURL = documentBaseURL.replace(/[\\?#].*$/, '').replace(/[\\/\\\\][^\\/]+$/, '');\n          if (!/[\\/\\\\]$/.test(documentBaseURL)) {\n            documentBaseURL += '/';\n          }\n        }\n        preInit = window.tinymce || window.tinyMCEPreInit;\n        if (preInit) {\n          baseURL = preInit.base || preInit.baseURL;\n          suffix = preInit.suffix;\n        } else {\n          var scripts = document.getElementsByTagName('script');\n          for (var i = 0; i < scripts.length; i++) {\n            src = scripts[i].src;\n            var srcScript = src.substring(src.lastIndexOf('/'));\n            if (/tinymce(\\.full|\\.jquery|)(\\.min|\\.dev|)\\.js/.test(src)) {\n              if (srcScript.indexOf('.min') !== -1) {\n                suffix = '.min';\n              }\n              baseURL = src.substring(0, src.lastIndexOf('/'));\n              break;\n            }\n          }\n          if (!baseURL && document.currentScript) {\n            src = document.currentScript.src;\n            if (src.indexOf('.min') !== -1) {\n              suffix = '.min';\n            }\n            baseURL = src.substring(0, src.lastIndexOf('/'));\n          }\n        }\n        self$$1.baseURL = new URI(documentBaseURL).toAbsolute(baseURL);\n        self$$1.documentBaseURL = documentBaseURL;\n        self$$1.baseURI = new URI(self$$1.baseURL);\n        self$$1.suffix = suffix;\n        FocusController.setup(self$$1);\n      },\n      overrideDefaults: function (defaultSettings) {\n        var baseUrl, suffix;\n        baseUrl = defaultSettings.base_url;\n        if (baseUrl) {\n          this.baseURL = new URI(this.documentBaseURL).toAbsolute(baseUrl.replace(/\\/+$/, ''));\n          this.baseURI = new URI(this.baseURL);\n        }\n        suffix = defaultSettings.suffix;\n        if (defaultSettings.suffix) {\n          this.suffix = suffix;\n        }\n        this.defaultSettings = defaultSettings;\n        var pluginBaseUrls = defaultSettings.plugin_base_urls;\n        for (var name$$1 in pluginBaseUrls) {\n          AddOnManager.PluginManager.urls[name$$1] = pluginBaseUrls[name$$1];\n        }\n      },\n      init: function (settings) {\n        var self$$1 = this;\n        var result, invalidInlineTargets;\n        invalidInlineTargets = Tools.makeMap('area base basefont br col frame hr img input isindex link meta param embed source wbr track ' + 'colgroup option tbody tfoot thead tr script noscript style textarea video audio iframe object menu', ' ');\n        var isInvalidInlineTarget = function (settings, elm) {\n          return settings.inline && elm.tagName.toLowerCase() in invalidInlineTargets;\n        };\n        var createId = function (elm) {\n          var id = elm.id;\n          if (!id) {\n            id = elm.name;\n            if (id && !DOM$9.get(id)) {\n              id = elm.name;\n            } else {\n              id = DOM$9.uniqueId();\n            }\n            elm.setAttribute('id', id);\n          }\n          return id;\n        };\n        var execCallback = function (name$$1) {\n          var callback = settings[name$$1];\n          if (!callback) {\n            return;\n          }\n          return callback.apply(self$$1, Array.prototype.slice.call(arguments, 2));\n        };\n        var hasClass = function (elm, className) {\n          return className.constructor === RegExp ? className.test(elm.className) : DOM$9.hasClass(elm, className);\n        };\n        var findTargets = function (settings) {\n          var l, targets = [];\n          if (Env.ie && Env.ie < 11) {\n            ErrorReporter.initError('TinyMCE does not support the browser you are using. For a list of supported' + ' browsers please see: https://www.tinymce.com/docs/get-started/system-requirements/');\n            return [];\n          }\n          if (settings.types) {\n            each$m(settings.types, function (type) {\n              targets = targets.concat(DOM$9.select(type.selector));\n            });\n            return targets;\n          } else if (settings.selector) {\n            return DOM$9.select(settings.selector);\n          } else if (settings.target) {\n            return [settings.target];\n          }\n          switch (settings.mode) {\n          case 'exact':\n            l = settings.elements || '';\n            if (l.length > 0) {\n              each$m(explode$4(l), function (id) {\n                var elm;\n                if (elm = DOM$9.get(id)) {\n                  targets.push(elm);\n                } else {\n                  each$m(document.forms, function (f) {\n                    each$m(f.elements, function (e) {\n                      if (e.name === id) {\n                        id = 'mce_editor_' + instanceCounter++;\n                        DOM$9.setAttrib(e, 'id', id);\n                        targets.push(e);\n                      }\n                    });\n                  });\n                }\n              });\n            }\n            break;\n          case 'textareas':\n          case 'specific_textareas':\n            each$m(DOM$9.select('textarea'), function (elm) {\n              if (settings.editor_deselector && hasClass(elm, settings.editor_deselector)) {\n                return;\n              }\n              if (!settings.editor_selector || hasClass(elm, settings.editor_selector)) {\n                targets.push(elm);\n              }\n            });\n            break;\n          }\n          return targets;\n        };\n        var provideResults = function (editors) {\n          result = editors;\n        };\n        var initEditors = function () {\n          var initCount = 0;\n          var editors = [];\n          var targets;\n          var createEditor = function (id, settings, targetElm) {\n            var editor = new Editor(id, settings, self$$1);\n            editors.push(editor);\n            editor.on('init', function () {\n              if (++initCount === targets.length) {\n                provideResults(editors);\n              }\n            });\n            editor.targetElm = editor.targetElm || targetElm;\n            editor.render();\n          };\n          DOM$9.unbind(window, 'ready', initEditors);\n          execCallback('onpageload');\n          targets = DomQuery.unique(findTargets(settings));\n          if (settings.types) {\n            each$m(settings.types, function (type) {\n              Tools.each(targets, function (elm) {\n                if (DOM$9.is(elm, type.selector)) {\n                  createEditor(createId(elm), extend$5({}, settings, type), elm);\n                  return false;\n                }\n                return true;\n              });\n            });\n            return;\n          }\n          Tools.each(targets, function (elm) {\n            purgeDestroyedEditor(self$$1.get(elm.id));\n          });\n          targets = Tools.grep(targets, function (elm) {\n            return !self$$1.get(elm.id);\n          });\n          if (targets.length === 0) {\n            provideResults([]);\n          } else {\n            each$m(targets, function (elm) {\n              if (isInvalidInlineTarget(settings, elm)) {\n                ErrorReporter.initError('Could not initialize inline editor on invalid inline target element', elm);\n              } else {\n                createEditor(createId(elm), settings, elm);\n              }\n            });\n          }\n        };\n        self$$1.settings = settings;\n        DOM$9.bind(window, 'ready', initEditors);\n        return new promiseObj(function (resolve) {\n          if (result) {\n            resolve(result);\n          } else {\n            provideResults = function (editors) {\n              resolve(editors);\n            };\n          }\n        });\n      },\n      get: function (id) {\n        if (arguments.length === 0) {\n          return editors.slice(0);\n        } else if (isString(id)) {\n          return find(editors, function (editor) {\n            return editor.id === id;\n          }).getOr(null);\n        } else if (isNumber(id)) {\n          return editors[id] ? editors[id] : null;\n        } else {\n          return null;\n        }\n      },\n      add: function (editor) {\n        var self$$1 = this;\n        var existingEditor;\n        existingEditor = legacyEditors[editor.id];\n        if (existingEditor === editor) {\n          return editor;\n        }\n        if (self$$1.get(editor.id) === null) {\n          if (isValidLegacyKey(editor.id)) {\n            legacyEditors[editor.id] = editor;\n          }\n          legacyEditors.push(editor);\n          editors.push(editor);\n        }\n        toggleGlobalEvents(true);\n        self$$1.activeEditor = editor;\n        self$$1.fire('AddEditor', { editor: editor });\n        if (!beforeUnloadDelegate) {\n          beforeUnloadDelegate = function () {\n            self$$1.fire('BeforeUnload');\n          };\n          DOM$9.bind(window, 'beforeunload', beforeUnloadDelegate);\n        }\n        return editor;\n      },\n      createEditor: function (id, settings) {\n        return this.add(new Editor(id, settings, this));\n      },\n      remove: function (selector) {\n        var self$$1 = this;\n        var i, editor;\n        if (!selector) {\n          for (i = editors.length - 1; i >= 0; i--) {\n            self$$1.remove(editors[i]);\n          }\n          return;\n        }\n        if (isString(selector)) {\n          each$m(DOM$9.select(selector), function (elm) {\n            editor = self$$1.get(elm.id);\n            if (editor) {\n              self$$1.remove(editor);\n            }\n          });\n          return;\n        }\n        editor = selector;\n        if (isNull(self$$1.get(editor.id))) {\n          return null;\n        }\n        if (removeEditorFromList(editor)) {\n          self$$1.fire('RemoveEditor', { editor: editor });\n        }\n        if (editors.length === 0) {\n          DOM$9.unbind(window, 'beforeunload', beforeUnloadDelegate);\n        }\n        editor.remove();\n        toggleGlobalEvents(editors.length > 0);\n        return editor;\n      },\n      execCommand: function (cmd, ui, value) {\n        var self$$1 = this, editor = self$$1.get(value);\n        switch (cmd) {\n        case 'mceAddEditor':\n          if (!self$$1.get(value)) {\n            new Editor(value, self$$1.settings, self$$1).render();\n          }\n          return true;\n        case 'mceRemoveEditor':\n          if (editor) {\n            editor.remove();\n          }\n          return true;\n        case 'mceToggleEditor':\n          if (!editor) {\n            self$$1.execCommand('mceAddEditor', 0, value);\n            return true;\n          }\n          if (editor.isHidden()) {\n            editor.show();\n          } else {\n            editor.hide();\n          }\n          return true;\n        }\n        if (self$$1.activeEditor) {\n          return self$$1.activeEditor.execCommand(cmd, ui, value);\n        }\n        return false;\n      },\n      triggerSave: function () {\n        each$m(editors, function (editor) {\n          editor.save();\n        });\n      },\n      addI18n: function (code, items) {\n        I18n.add(code, items);\n      },\n      translate: function (text) {\n        return I18n.translate(text);\n      },\n      setActive: function (editor) {\n        var activeEditor = this.activeEditor;\n        if (this.activeEditor !== editor) {\n          if (activeEditor) {\n            activeEditor.fire('deactivate', { relatedTarget: editor });\n          }\n          editor.fire('activate', { relatedTarget: activeEditor });\n        }\n        this.activeEditor = editor;\n      }\n    };\n    extend$5(EditorManager, Observable);\n    EditorManager.setup();\n    var EditorManager$1 = EditorManager;\n\n    function RangeUtils(dom) {\n      var walk = function (rng, callback) {\n        return RangeWalk.walk(dom, rng, callback);\n      };\n      var split = SplitRange.split;\n      var normalize = function (rng) {\n        return NormalizeRange.normalize(dom, rng).fold(constant(false), function (normalizedRng) {\n          rng.setStart(normalizedRng.startContainer, normalizedRng.startOffset);\n          rng.setEnd(normalizedRng.endContainer, normalizedRng.endOffset);\n          return true;\n        });\n      };\n      return {\n        walk: walk,\n        split: split,\n        normalize: normalize\n      };\n    }\n    (function (RangeUtils) {\n      RangeUtils.compareRanges = RangeCompare.isEq;\n      RangeUtils.getCaretRangeFromPoint = CaretRangeFromPoint.fromPoint;\n      RangeUtils.getSelectedNode = getSelectedNode;\n      RangeUtils.getNode = getNode;\n    }(RangeUtils || (RangeUtils = {})));\n    var RangeUtils$1 = RangeUtils;\n\n    var min = Math.min, max = Math.max, round$2 = Math.round;\n    var relativePosition = function (rect, targetRect, rel) {\n      var x, y, w, h, targetW, targetH;\n      x = targetRect.x;\n      y = targetRect.y;\n      w = rect.w;\n      h = rect.h;\n      targetW = targetRect.w;\n      targetH = targetRect.h;\n      rel = (rel || '').split('');\n      if (rel[0] === 'b') {\n        y += targetH;\n      }\n      if (rel[1] === 'r') {\n        x += targetW;\n      }\n      if (rel[0] === 'c') {\n        y += round$2(targetH / 2);\n      }\n      if (rel[1] === 'c') {\n        x += round$2(targetW / 2);\n      }\n      if (rel[3] === 'b') {\n        y -= h;\n      }\n      if (rel[4] === 'r') {\n        x -= w;\n      }\n      if (rel[3] === 'c') {\n        y -= round$2(h / 2);\n      }\n      if (rel[4] === 'c') {\n        x -= round$2(w / 2);\n      }\n      return create$3(x, y, w, h);\n    };\n    var findBestRelativePosition = function (rect, targetRect, constrainRect, rels) {\n      var pos, i;\n      for (i = 0; i < rels.length; i++) {\n        pos = relativePosition(rect, targetRect, rels[i]);\n        if (pos.x >= constrainRect.x && pos.x + pos.w <= constrainRect.w + constrainRect.x && pos.y >= constrainRect.y && pos.y + pos.h <= constrainRect.h + constrainRect.y) {\n          return rels[i];\n        }\n      }\n      return null;\n    };\n    var inflate = function (rect, w, h) {\n      return create$3(rect.x - w, rect.y - h, rect.w + w * 2, rect.h + h * 2);\n    };\n    var intersect = function (rect, cropRect) {\n      var x1, y1, x2, y2;\n      x1 = max(rect.x, cropRect.x);\n      y1 = max(rect.y, cropRect.y);\n      x2 = min(rect.x + rect.w, cropRect.x + cropRect.w);\n      y2 = min(rect.y + rect.h, cropRect.y + cropRect.h);\n      if (x2 - x1 < 0 || y2 - y1 < 0) {\n        return null;\n      }\n      return create$3(x1, y1, x2 - x1, y2 - y1);\n    };\n    var clamp$1 = function (rect, clampRect, fixedSize) {\n      var underflowX1, underflowY1, overflowX2, overflowY2, x1, y1, x2, y2, cx2, cy2;\n      x1 = rect.x;\n      y1 = rect.y;\n      x2 = rect.x + rect.w;\n      y2 = rect.y + rect.h;\n      cx2 = clampRect.x + clampRect.w;\n      cy2 = clampRect.y + clampRect.h;\n      underflowX1 = max(0, clampRect.x - x1);\n      underflowY1 = max(0, clampRect.y - y1);\n      overflowX2 = max(0, x2 - cx2);\n      overflowY2 = max(0, y2 - cy2);\n      x1 += underflowX1;\n      y1 += underflowY1;\n      if (fixedSize) {\n        x2 += underflowX1;\n        y2 += underflowY1;\n        x1 -= overflowX2;\n        y1 -= overflowY2;\n      }\n      x2 -= overflowX2;\n      y2 -= overflowY2;\n      return create$3(x1, y1, x2 - x1, y2 - y1);\n    };\n    var create$3 = function (x, y, w, h) {\n      return {\n        x: x,\n        y: y,\n        w: w,\n        h: h\n      };\n    };\n    var fromClientRect = function (clientRect) {\n      return create$3(clientRect.left, clientRect.top, clientRect.width, clientRect.height);\n    };\n    var Rect = {\n      inflate: inflate,\n      relativePosition: relativePosition,\n      findBestRelativePosition: findBestRelativePosition,\n      intersect: intersect,\n      clamp: clamp$1,\n      create: create$3,\n      fromClientRect: fromClientRect\n    };\n\n    var types = {};\n    var Factory = {\n      add: function (type, typeClass) {\n        types[type.toLowerCase()] = typeClass;\n      },\n      has: function (type) {\n        return !!types[type.toLowerCase()];\n      },\n      get: function (type) {\n        var lctype = type.toLowerCase();\n        var controlType = types.hasOwnProperty(lctype) ? types[lctype] : null;\n        if (controlType === null) {\n          throw new Error('Could not find module for type: ' + type);\n        }\n        return controlType;\n      },\n      create: function (type, settings) {\n        var ControlType;\n        if (typeof type === 'string') {\n          settings = settings || {};\n          settings.type = type;\n        } else {\n          settings = type;\n          type = settings.type;\n        }\n        type = type.toLowerCase();\n        ControlType = types[type];\n        if (!ControlType) {\n          throw new Error('Could not find control by type: ' + type);\n        }\n        ControlType = new ControlType(settings);\n        ControlType.type = type;\n        return ControlType;\n      }\n    };\n\n    var each$n = Tools.each, extend$6 = Tools.extend;\n    var extendClass, initializing;\n    var Class = function () {\n    };\n    Class.extend = extendClass = function (prop) {\n      var self = this;\n      var _super = self.prototype;\n      var prototype, name, member;\n      var Class = function () {\n        var i, mixins, mixin;\n        var self = this;\n        if (!initializing) {\n          if (self.init) {\n            self.init.apply(self, arguments);\n          }\n          mixins = self.Mixins;\n          if (mixins) {\n            i = mixins.length;\n            while (i--) {\n              mixin = mixins[i];\n              if (mixin.init) {\n                mixin.init.apply(self, arguments);\n              }\n            }\n          }\n        }\n      };\n      var dummy = function () {\n        return this;\n      };\n      var createMethod = function (name, fn) {\n        return function () {\n          var self = this;\n          var tmp = self._super;\n          var ret;\n          self._super = _super[name];\n          ret = fn.apply(self, arguments);\n          self._super = tmp;\n          return ret;\n        };\n      };\n      initializing = true;\n      prototype = new self();\n      initializing = false;\n      if (prop.Mixins) {\n        each$n(prop.Mixins, function (mixin) {\n          for (var name_1 in mixin) {\n            if (name_1 !== 'init') {\n              prop[name_1] = mixin[name_1];\n            }\n          }\n        });\n        if (_super.Mixins) {\n          prop.Mixins = _super.Mixins.concat(prop.Mixins);\n        }\n      }\n      if (prop.Methods) {\n        each$n(prop.Methods.split(','), function (name) {\n          prop[name] = dummy;\n        });\n      }\n      if (prop.Properties) {\n        each$n(prop.Properties.split(','), function (name) {\n          var fieldName = '_' + name;\n          prop[name] = function (value) {\n            var self = this;\n            if (value !== undefined) {\n              self[fieldName] = value;\n              return self;\n            }\n            return self[fieldName];\n          };\n        });\n      }\n      if (prop.Statics) {\n        each$n(prop.Statics, function (func, name) {\n          Class[name] = func;\n        });\n      }\n      if (prop.Defaults && _super.Defaults) {\n        prop.Defaults = extend$6({}, _super.Defaults, prop.Defaults);\n      }\n      for (name in prop) {\n        member = prop[name];\n        if (typeof member === 'function' && _super[name]) {\n          prototype[name] = createMethod(name, member);\n        } else {\n          prototype[name] = member;\n        }\n      }\n      Class.prototype = prototype;\n      Class.constructor = Class;\n      Class.extend = extendClass;\n      return Class;\n    };\n\n    var min$1 = Math.min, max$1 = Math.max, round$3 = Math.round;\n    var Color = function (value) {\n      var self = {};\n      var r = 0, g = 0, b = 0;\n      var rgb2hsv = function (r, g, b) {\n        var h, s, v, d, minRGB, maxRGB;\n        h = 0;\n        s = 0;\n        v = 0;\n        r = r / 255;\n        g = g / 255;\n        b = b / 255;\n        minRGB = min$1(r, min$1(g, b));\n        maxRGB = max$1(r, max$1(g, b));\n        if (minRGB === maxRGB) {\n          v = minRGB;\n          return {\n            h: 0,\n            s: 0,\n            v: v * 100\n          };\n        }\n        d = r === minRGB ? g - b : b === minRGB ? r - g : b - r;\n        h = r === minRGB ? 3 : b === minRGB ? 1 : 5;\n        h = 60 * (h - d / (maxRGB - minRGB));\n        s = (maxRGB - minRGB) / maxRGB;\n        v = maxRGB;\n        return {\n          h: round$3(h),\n          s: round$3(s * 100),\n          v: round$3(v * 100)\n        };\n      };\n      var hsvToRgb = function (hue, saturation, brightness) {\n        var side, chroma, x, match;\n        hue = (parseInt(hue, 10) || 0) % 360;\n        saturation = parseInt(saturation, 10) / 100;\n        brightness = parseInt(brightness, 10) / 100;\n        saturation = max$1(0, min$1(saturation, 1));\n        brightness = max$1(0, min$1(brightness, 1));\n        if (saturation === 0) {\n          r = g = b = round$3(255 * brightness);\n          return;\n        }\n        side = hue / 60;\n        chroma = brightness * saturation;\n        x = chroma * (1 - Math.abs(side % 2 - 1));\n        match = brightness - chroma;\n        switch (Math.floor(side)) {\n        case 0:\n          r = chroma;\n          g = x;\n          b = 0;\n          break;\n        case 1:\n          r = x;\n          g = chroma;\n          b = 0;\n          break;\n        case 2:\n          r = 0;\n          g = chroma;\n          b = x;\n          break;\n        case 3:\n          r = 0;\n          g = x;\n          b = chroma;\n          break;\n        case 4:\n          r = x;\n          g = 0;\n          b = chroma;\n          break;\n        case 5:\n          r = chroma;\n          g = 0;\n          b = x;\n          break;\n        default:\n          r = g = b = 0;\n        }\n        r = round$3(255 * (r + match));\n        g = round$3(255 * (g + match));\n        b = round$3(255 * (b + match));\n      };\n      var toHex = function () {\n        var hex = function (val) {\n          val = parseInt(val, 10).toString(16);\n          return val.length > 1 ? val : '0' + val;\n        };\n        return '#' + hex(r) + hex(g) + hex(b);\n      };\n      var toRgb = function () {\n        return {\n          r: r,\n          g: g,\n          b: b\n        };\n      };\n      var toHsv = function () {\n        return rgb2hsv(r, g, b);\n      };\n      var parse = function (value) {\n        var matches;\n        if (typeof value === 'object') {\n          if ('r' in value) {\n            r = value.r;\n            g = value.g;\n            b = value.b;\n          } else if ('v' in value) {\n            hsvToRgb(value.h, value.s, value.v);\n          }\n        } else {\n          if (matches = /rgb\\s*\\(\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*,\\s*([0-9]+)[^\\)]*\\)/gi.exec(value)) {\n            r = parseInt(matches[1], 10);\n            g = parseInt(matches[2], 10);\n            b = parseInt(matches[3], 10);\n          } else if (matches = /#([0-F]{2})([0-F]{2})([0-F]{2})/gi.exec(value)) {\n            r = parseInt(matches[1], 16);\n            g = parseInt(matches[2], 16);\n            b = parseInt(matches[3], 16);\n          } else if (matches = /#([0-F])([0-F])([0-F])/gi.exec(value)) {\n            r = parseInt(matches[1] + matches[1], 16);\n            g = parseInt(matches[2] + matches[2], 16);\n            b = parseInt(matches[3] + matches[3], 16);\n          }\n        }\n        r = r < 0 ? 0 : r > 255 ? 255 : r;\n        g = g < 0 ? 0 : g > 255 ? 255 : g;\n        b = b < 0 ? 0 : b > 255 ? 255 : b;\n        return self;\n      };\n      if (value) {\n        parse(value);\n      }\n      self.toRgb = toRgb;\n      self.toHsv = toHsv;\n      self.toHex = toHex;\n      self.parse = parse;\n      return self;\n    };\n\n    var serialize = function (o, quote) {\n      var i, v, t, name;\n      quote = quote || '\"';\n      if (o === null) {\n        return 'null';\n      }\n      t = typeof o;\n      if (t === 'string') {\n        v = '\\bb\\tt\\nn\\ff\\rr\"\"\\'\\'\\\\\\\\';\n        return quote + o.replace(/([\\u0080-\\uFFFF\\x00-\\x1f\\\"\\'\\\\])/g, function (a, b) {\n          if (quote === '\"' && a === '\\'') {\n            return a;\n          }\n          i = v.indexOf(b);\n          if (i + 1) {\n            return '\\\\' + v.charAt(i + 1);\n          }\n          a = b.charCodeAt().toString(16);\n          return '\\\\u' + '0000'.substring(a.length) + a;\n        }) + quote;\n      }\n      if (t === 'object') {\n        if (o.hasOwnProperty && Object.prototype.toString.call(o) === '[object Array]') {\n          for (i = 0, v = '['; i < o.length; i++) {\n            v += (i > 0 ? ',' : '') + serialize(o[i], quote);\n          }\n          return v + ']';\n        }\n        v = '{';\n        for (name in o) {\n          if (o.hasOwnProperty(name)) {\n            v += typeof o[name] !== 'function' ? (v.length > 1 ? ',' + quote : quote) + name + quote + ':' + serialize(o[name], quote) : '';\n          }\n        }\n        return v + '}';\n      }\n      return '' + o;\n    };\n    var JSON$1 = {\n      serialize: serialize,\n      parse: function (text) {\n        try {\n          return JSON.parse(text);\n        } catch (ex) {\n        }\n      }\n    };\n\n    var JSONP = {\n      callbacks: {},\n      count: 0,\n      send: function (settings) {\n        var self = this, dom = DOMUtils$1.DOM, count = settings.count !== undefined ? settings.count : self.count;\n        var id = 'tinymce_jsonp_' + count;\n        self.callbacks[count] = function (json) {\n          dom.remove(id);\n          delete self.callbacks[count];\n          settings.callback(json);\n        };\n        dom.add(dom.doc.body, 'script', {\n          id: id,\n          src: settings.url,\n          type: 'text/javascript'\n        });\n        self.count++;\n      }\n    };\n\n    var XHR = {\n      send: function (settings) {\n        var xhr, count = 0;\n        var ready = function () {\n          if (!settings.async || xhr.readyState === 4 || count++ > 10000) {\n            if (settings.success && count < 10000 && xhr.status === 200) {\n              settings.success.call(settings.success_scope, '' + xhr.responseText, xhr, settings);\n            } else if (settings.error) {\n              settings.error.call(settings.error_scope, count > 10000 ? 'TIMED_OUT' : 'GENERAL', xhr, settings);\n            }\n            xhr = null;\n          } else {\n            setTimeout(ready, 10);\n          }\n        };\n        settings.scope = settings.scope || this;\n        settings.success_scope = settings.success_scope || settings.scope;\n        settings.error_scope = settings.error_scope || settings.scope;\n        settings.async = settings.async === false ? false : true;\n        settings.data = settings.data || '';\n        XHR.fire('beforeInitialize', { settings: settings });\n        xhr = XMLHttpRequest();\n        if (xhr) {\n          if (xhr.overrideMimeType) {\n            xhr.overrideMimeType(settings.content_type);\n          }\n          xhr.open(settings.type || (settings.data ? 'POST' : 'GET'), settings.url, settings.async);\n          if (settings.crossDomain) {\n            xhr.withCredentials = true;\n          }\n          if (settings.content_type) {\n            xhr.setRequestHeader('Content-Type', settings.content_type);\n          }\n          if (settings.requestheaders) {\n            Tools.each(settings.requestheaders, function (header) {\n              xhr.setRequestHeader(header.key, header.value);\n            });\n          }\n          xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n          xhr = XHR.fire('beforeSend', {\n            xhr: xhr,\n            settings: settings\n          }).xhr;\n          xhr.send(settings.data);\n          if (!settings.async) {\n            return ready();\n          }\n          setTimeout(ready, 10);\n        }\n      }\n    };\n    Tools.extend(XHR, Observable);\n\n    var extend$7 = Tools.extend;\n    var JSONRequest = function (settings) {\n      this.settings = extend$7({}, settings);\n      this.count = 0;\n    };\n    JSONRequest.sendRPC = function (o) {\n      return new JSONRequest().send(o);\n    };\n    JSONRequest.prototype = {\n      send: function (args) {\n        var ecb = args.error, scb = args.success;\n        args = extend$7(this.settings, args);\n        args.success = function (c, x) {\n          c = JSON$1.parse(c);\n          if (typeof c === 'undefined') {\n            c = { error: 'JSON Parse error.' };\n          }\n          if (c.error) {\n            ecb.call(args.error_scope || args.scope, c.error, x);\n          } else {\n            scb.call(args.success_scope || args.scope, c.result);\n          }\n        };\n        args.error = function (ty, x) {\n          if (ecb) {\n            ecb.call(args.error_scope || args.scope, ty, x);\n          }\n        };\n        args.data = JSON$1.serialize({\n          id: args.id || 'c' + this.count++,\n          method: args.method,\n          params: args.params\n        });\n        args.content_type = 'application/json';\n        XHR.send(args);\n      }\n    };\n\n    var create$4 = function () {\n      return function () {\n        var data = {};\n        var keys = [];\n        var storage = {\n          getItem: function (key) {\n            var item = data[key];\n            return item ? item : null;\n          },\n          setItem: function (key, value) {\n            keys.push(key);\n            data[key] = String(value);\n          },\n          key: function (index) {\n            return keys[index];\n          },\n          removeItem: function (key) {\n            keys = keys.filter(function (k) {\n              return k === key;\n            });\n            delete data[key];\n          },\n          clear: function () {\n            keys = [];\n            data = {};\n          },\n          length: 0\n        };\n        Object.defineProperty(storage, 'length', {\n          get: function () {\n            return keys.length;\n          },\n          configurable: false,\n          enumerable: false\n        });\n        return storage;\n      }();\n    };\n\n    var localStorage$$1;\n    try {\n      localStorage$$1 = window.localStorage;\n    } catch (e) {\n      localStorage$$1 = create$4();\n    }\n    var LocalStorage = localStorage$$1;\n\n    var tinymce = EditorManager$1;\n    var publicApi = {\n      geom: { Rect: Rect },\n      util: {\n        Promise: promiseObj,\n        Delay: Delay,\n        Tools: Tools,\n        VK: VK,\n        URI: URI,\n        Class: Class,\n        EventDispatcher: Dispatcher,\n        Observable: Observable,\n        I18n: I18n,\n        XHR: XHR,\n        JSON: JSON$1,\n        JSONRequest: JSONRequest,\n        JSONP: JSONP,\n        LocalStorage: LocalStorage,\n        Color: Color\n      },\n      dom: {\n        EventUtils: EventUtils,\n        Sizzle: Sizzle,\n        DomQuery: DomQuery,\n        TreeWalker: TreeWalker,\n        DOMUtils: DOMUtils$1,\n        ScriptLoader: ScriptLoader,\n        RangeUtils: RangeUtils$1,\n        Serializer: Serializer$1,\n        ControlSelection: ControlSelection,\n        BookmarkManager: BookmarkManager$1,\n        Selection: Selection,\n        Event: EventUtils.Event\n      },\n      html: {\n        Styles: Styles,\n        Entities: Entities,\n        Node: Node$2,\n        Schema: Schema,\n        SaxParser: SaxParser$1,\n        DomParser: DomParser,\n        Writer: Writer,\n        Serializer: Serializer\n      },\n      ui: { Factory: Factory },\n      Env: Env,\n      AddOnManager: AddOnManager,\n      Annotator: Annotator,\n      Formatter: Formatter,\n      UndoManager: UndoManager,\n      EditorCommands: EditorCommands,\n      WindowManager: WindowManager,\n      NotificationManager: NotificationManager,\n      EditorObservable: EditorObservable$1,\n      Shortcuts: Shortcuts,\n      Editor: Editor,\n      FocusManager: FocusManager,\n      EditorManager: EditorManager$1,\n      DOM: DOMUtils$1.DOM,\n      ScriptLoader: ScriptLoader.ScriptLoader,\n      PluginManager: AddOnManager.PluginManager,\n      ThemeManager: AddOnManager.ThemeManager,\n      trim: Tools.trim,\n      isArray: Tools.isArray,\n      is: Tools.is,\n      toArray: Tools.toArray,\n      makeMap: Tools.makeMap,\n      each: Tools.each,\n      map: Tools.map,\n      grep: Tools.grep,\n      inArray: Tools.inArray,\n      extend: Tools.extend,\n      create: Tools.create,\n      walk: Tools.walk,\n      createNS: Tools.createNS,\n      resolve: Tools.resolve,\n      explode: Tools.explode,\n      _addCacheSuffix: Tools._addCacheSuffix,\n      isOpera: Env.opera,\n      isWebKit: Env.webkit,\n      isIE: Env.ie,\n      isGecko: Env.gecko,\n      isMac: Env.mac\n    };\n    tinymce = Tools.extend(tinymce, publicApi);\n    var Tinymce = tinymce;\n\n    var exportToModuleLoaders = function (tinymce) {\n      if (typeof module === 'object') {\n        try {\n          module.exports = tinymce;\n        } catch (_) {\n        }\n      }\n    };\n    var exportToWindowGlobal = function (tinymce) {\n      window.tinymce = tinymce;\n      window.tinyMCE = tinymce;\n    };\n    exportToWindowGlobal(Tinymce);\n    exportToModuleLoaders(Tinymce);\n\n}());\n})();\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = window.tinymce;\n}.call(window));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/tinymce/tinymce.js\n// module id = 5eDbSpdmmb\n// module chunks = 2 3 28 35 44 54 73 85 102","#\n# Copyright (C) 2013 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  'i18n!assignments'\n  'Backbone'\n  'jquery'\n  'jsx/shared/conditional_release/CyoeHelper'\n  'jsx/move_item'\n  '../../models/Assignment'\n  '../PublishIconView'\n  '../LockIconView'\n  './DateDueColumnView'\n  './DateAvailableColumnView'\n  './CreateAssignmentView'\n  '../SisButtonView'\n  '../../fn/preventDefault'\n  'jst/assignments/AssignmentListItem'\n  'jst/assignments/_assignmentListItemScore'\n  '../../util/round'\n  './AssignmentKeyBindingsMixin'\n  'jqueryui/tooltip'\n  '../../behaviors/tooltip'\n  '../../jquery.rails_flash_notifications'\n], (I18n, Backbone, $, CyoeHelper, MoveItem, Assignment, PublishIconView, LockIconView, DateDueColumnView, DateAvailableColumnView, CreateAssignmentView, SisButtonView, preventDefault, template, scoreTemplate, round, AssignmentKeyBindingsMixin) ->\n\n  class AssignmentListItemView extends Backbone.View\n    @mixin AssignmentKeyBindingsMixin\n    @optionProperty 'userIsAdmin'\n\n    tagName: \"li\"\n    className: ->\n      \"assignment#{if @canMove() then '' else ' sort-disabled'}\"\n    template: template\n\n    @child 'publishIconView',         '[data-view=publish-icon]'\n    @child 'lockIconView',            '[data-view=lock-icon]'\n    @child 'dateDueColumnView',       '[data-view=date-due]'\n    @child 'dateAvailableColumnView', '[data-view=date-available]'\n    @child 'editAssignmentView',      '[data-view=edit-assignment]'\n    @child 'sisButtonView',           '[data-view=sis-button]'\n\n    els:\n      '.edit_assignment': '$editAssignmentButton'\n      '.move_assignment': '$moveAssignmentButton'\n\n    events:\n      'click .delete_assignment': 'onDelete'\n      'click .duplicate_assignment': 'onDuplicate'\n      'click .tooltip_link': preventDefault ->\n      'keydown': 'handleKeys'\n      'mousedown': 'stopMoveIfProtected'\n      'click .icon-lock': 'onUnlockAssignment'\n      'click .icon-unlock': 'onLockAssignment'\n      'click .move_assignment': 'onMove'\n      'click .duplicate-failed-retry': 'onDuplicateFailedRetry'\n      'click .duplicate-failed-cancel': 'onDuplicateOrImportFailedCancel'\n      'click .import-failed-cancel': 'onDuplicateOrImportFailedCancel'\n\n    messages:\n      confirm: I18n.t('Are you sure you want to delete this assignment?')\n      ag_move_label: I18n.beforeLabel I18n.t('Assignment Group')\n\n    initialize: ->\n      super\n      @initializeChildViews()\n\n      # we need the following line in order to access this view later\n      @model.assignmentView = @\n\n      @model.on('change:hidden', @toggleHidden)\n      @model.set('disabledForModeration', !@canEdit())\n\n      if @canManage()\n        @model.on('change:published', @updatePublishState)\n\n        # re-render for attributes we are showing\n        attrs = [\"name\", \"points_possible\", \"due_at\", \"lock_at\", \"unlock_at\", \"modules\", \"published\", \"workflow_state\"]\n        observe = attrs.map((attr) -> \"change:#{attr}\").join(\" \")\n        @model.on(observe, @render)\n      @model.on 'change:submission', @updateScore\n\n      @model.pollUntilFinishedLoading()\n\n    initializeChildViews: ->\n      @publishIconView = false\n      @lockIconView = false\n      @sisButtonView = false\n      @editAssignmentView = false\n      @dateAvailableColumnView = false\n\n      if @canManage()\n        @publishIconView = new PublishIconView({\n          model: @model,\n          title: @model.get('name')\n        })\n        @lockIconView = new LockIconView({\n          model: @model,\n          unlockedText: I18n.t(\"%{name} is unlocked. Click to lock.\", name: @model.get('name')),\n          lockedText: I18n.t(\"%{name} is locked. Click to unlock\", name: @model.get('name')),\n          course_id: @model.get('course_id'),\n          content_id: @model.get('id'),\n          content_type: 'assignment'\n        })\n        @editAssignmentView = new CreateAssignmentView(model: @model)\n\n        if @isGraded() && @model.postToSISEnabled() && @model.published()\n          @sisButtonView = new SisButtonView\n            model: @model\n            sisName: @model.postToSISName()\n            dueDateRequired: @model.dueDateRequiredForAccount()\n            maxNameLengthRequired: @model.maxNameLengthRequiredForAccount()\n\n      @dateDueColumnView       = new DateDueColumnView(model: @model)\n      @dateAvailableColumnView = new DateAvailableColumnView(model: @model)\n\n    # Public: Called when move menu item is selected\n    #\n    # Returns nothing.\n    onMove: () =>\n      @moveTrayProps =\n        title: I18n.t('Move Assignment')\n        items: [\n          id: @model.get('id')\n          title: @model.get('name')\n        ]\n        moveOptions:\n          groupsLabel:  @messages.ag_move_label\n          groups: MoveItem.backbone.collectionToGroups(@model.collection.view?.parentCollection, (col) => col.get('assignments'))\n        onMoveSuccess: (res) =>\n          keys =\n            model: 'assignments'\n            parent: 'assignment_group_id'\n          MoveItem.backbone.reorderAcrossCollections(res.data.order, res.groupId, @model, keys)\n        focusOnExit: =>\n          document.querySelector(\"#assignment_#{@model.id} a[id*=manage_link]\")\n        formatSaveUrl: ({ groupId }) ->\n          \"#{ENV.URLS.assignment_sort_base_url}/#{groupId}/reorder\"\n\n      MoveItem.renderTray(@moveTrayProps, document.getElementById('not_right_side'))\n\n    updatePublishState: =>\n      @$('.ig-row').toggleClass('ig-published', @model.get('published'))\n\n    # call remove on children so that they can clean up old dialogs.\n    render: ->\n      @toggleHidden(@model, @model.get('hidden'))\n      @publishIconView.remove()         if @publishIconView\n      @lockIconView.remove()            if @lockIconView\n      @sisButtonView.remove()           if @sisButtonView\n      @editAssignmentView.remove()      if @editAssignmentView\n      @dateDueColumnView.remove()       if @dateDueColumnView\n      @dateAvailableColumnView.remove() if @dateAvailableColumnView\n\n      super\n      # reset the model's view property; it got overwritten by child views\n      @model.view = this if @model\n\n    afterRender: ->\n      @createModuleToolTip()\n\n      if @editAssignmentView\n        @editAssignmentView.hide()\n        @editAssignmentView.setTrigger @$editAssignmentButton if @canEdit()\n\n      @updateScore() if @canReadGrades()\n\n    toggleHidden: (model, hidden) =>\n      @$el.toggleClass('hidden', hidden)\n      @$el.toggleClass('search_show', !hidden)\n\n    stopMoveIfProtected: (e) ->\n      e.stopPropagation() unless @canMove()\n\n    createModuleToolTip: =>\n      link = @$el.find('.tooltip_link')\n      if link.length > 0\n        link.tooltip\n          position:\n            my: 'center bottom'\n            at: 'center top-10'\n            collision: 'fit fit'\n          tooltipClass: 'center bottom vertical'\n          content: ->\n            $(link.data('tooltipSelector')).html()\n\n    toJSON: ->\n      data = @model.toView()\n      data.canManage = @canManage()\n      data = @_setJSONForGrade(data) unless data.canManage\n\n      data.canEdit = @canEdit()\n      data.canMove = @canMove()\n      data.canDelete = @canDelete()\n      data.canDuplicate = @canDuplicate()\n      data.is_locked =  @model.isRestrictedByMasterCourse()\n      data.showAvailability = @model.multipleDueDates() or not @model.defaultDates().available()\n      data.showDueDate = @model.multipleDueDates() or @model.singleSectionDueDate()\n\n      data.cyoe = CyoeHelper.getItemData(data.id, @isGraded() && (!@model.isQuiz() || data.is_quiz_assignment))\n      data.return_to = encodeURIComponent window.location.pathname\n\n      if data.canManage\n        data.spanWidth      = 'span3'\n        data.alignTextClass = ''\n      else\n        data.spanWidth      = 'span4'\n        data.alignTextClass = 'align-right'\n\n      if @model.isQuiz()\n        data.menu_tools = ENV.quiz_menu_tools || []\n        data.menu_tools.forEach (tool) =>\n          tool.url = tool.base_url + \"&quizzes[]=#{@model.get(\"quiz_id\")}\"\n      else if @model.isDiscussionTopic()\n        data.menu_tools = ENV.discussion_topic_menu_tools || []\n        data.menu_tools.forEach (tool) =>\n          tool.url = tool.base_url + \"&discussion_topics[]=#{@model.get(\"discussion_topic\")?.id}\"\n      else\n        data.menu_tools = ENV.assignment_menu_tools || []\n        data.menu_tools.forEach (tool) =>\n          tool.url = tool.base_url + \"&assignments[]=#{@model.get(\"id\")}\"\n\n      if modules = @model.get('modules')\n        moduleName = modules[0]\n        has_modules = modules.length > 0\n        joinedNames = modules.join(\",\")\n        Object.assign data, {\n          modules: modules\n          module_count: modules.length\n          module_name: moduleName\n          has_modules: has_modules\n          joined_names: joinedNames\n        }\n      else\n        data\n\n    addAssignmentToList: (response) =>\n      return unless response\n      assignment = new Assignment(response)\n      # Force the positions to match what is in the db.\n      @model.collection.forEach((a) =>\n        a.set('position', response.new_positions[a.get('id')])\n      )\n      if @hasIndividualPermissions()\n        ENV.PERMISSIONS.by_assignment_id[assignment.id] = ENV.PERMISSIONS.by_assignment_id[assignment.originalAssignmentID()]\n      @model.collection.add(assignment)\n      @focusOnAssignment(response)\n\n    onDuplicate: (e) =>\n      return unless @canDuplicate()\n      e.preventDefault()\n      @model.duplicate(@addAssignmentToList)\n\n    onDuplicateFailedRetry: (e) =>\n      e.preventDefault()\n      $button = $(e.target)\n      $button.prop('disabled', true)\n      @model.duplicate_failed((response) =>\n        @addAssignmentToList(response)\n        @delete(silent: true)\n      ).always -> $button.prop('disabled', false)\n\n    onDuplicateOrImportFailedCancel: (e) =>\n      e.preventDefault()\n      @delete(silent: true)\n\n    onDelete: (e) =>\n      e.preventDefault()\n      return unless @canDelete()\n      return @$el.find('a[id*=manage_link]').focus() unless confirm(@messages.confirm)\n      if @previousAssignmentInGroup()?\n        @focusOnAssignment(@previousAssignmentInGroup())\n        @delete()\n      else\n        id = @model.attributes.assignment_group_id\n        @delete()\n        @focusOnGroupByID(id)\n\n    onUnlockAssignment: (e) =>\n      e.preventDefault()\n\n    onLockAssignment: (e) =>\n      e.preventDefault()\n\n    delete: (opts = { silent: false }) ->\n      callbacks = {}\n      unless opts.silent\n        callbacks.success = -> $.screenReaderFlashMessage(I18n.t('Assignment was deleted'))\n      @model.destroy(callbacks)\n      @$el.remove()\n\n    hasIndividualPermissions: ->\n      ENV.PERMISSIONS.by_assignment_id?\n\n    canDelete: ->\n      result = (@userIsAdmin or @model.canDelete()) && !@model.isRestrictedByMasterCourse()\n      if @hasIndividualPermissions() then result && @canEdit() else result\n\n    canDuplicate: ->\n      (@userIsAdmin || @canManage()) && @model.canDuplicate()\n\n    canMove: ->\n      @userIsAdmin or (@canManage() and @model.canMove())\n\n    canEdit: ->\n      if !@hasIndividualPermissions()\n        return @userIsAdmin or @canManage()\n\n      @userIsAdmin or (@canManage() && !!(ENV.PERMISSIONS.by_assignment_id[@model.id] && ENV.PERMISSIONS.by_assignment_id[@model.id].update))\n\n    canManage: ->\n      ENV.PERMISSIONS.manage\n\n    isGraded: ->\n      submission_types = @model.get('submission_types')\n      submission_types && !submission_types.includes('not_graded') && !submission_types.includes('wiki_page')\n\n    gradeStrings: (grade) ->\n      pass_fail_map =\n        incomplete:\n          I18n.t 'incomplete', 'Incomplete'\n        complete:\n          I18n.t 'complete', 'Complete'\n\n      grade = pass_fail_map[grade] or grade\n\n      'percent':\n        nonscreenreader: I18n.t 'grade_percent', '%{grade}%', grade: grade\n        screenreader: I18n.t 'grade_percent_screenreader', 'Grade: %{grade}%', grade: grade\n      'pass_fail':\n        nonscreenreader: \"#{grade}\"\n        screenreader: I18n.t 'grade_pass_fail_screenreader', 'Grade: %{grade}', grade: grade\n      'letter_grade':\n        nonscreenreader: \"#{grade}\"\n        screenreader: I18n.t 'grade_letter_grade_screenreader', 'Grade: %{grade}', grade: grade\n      'gpa_scale':\n        nonscreenreader: \"#{grade}\"\n        screenreader: I18n.t 'grade_gpa_scale_screenreader', 'Grade: %{grade}', grade: grade\n\n\n    _setJSONForGrade: (json) ->\n      if submission = @model.get('submission')\n        submissionJSON = if submission.present then submission.present() else submission.toJSON()\n        score = submission.get('score')\n        if typeof score is 'number' && !isNaN(score)\n          submissionJSON.score = round score, round.DEFAULT\n        json.submission = submissionJSON\n        grade = submission.get('grade')\n        gradeString = @gradeStrings(grade)[json.gradingType]\n        json.submission.gradeDisplay = gradeString?.nonscreenreader\n        json.submission.gradeDisplayForScreenreader = gradeString?.screenreader\n\n      pointsPossible = json.pointsPossible\n\n      if typeof pointsPossible is 'number' && !isNaN(pointsPossible)\n        json.pointsPossible = round pointsPossible, round.DEFAULT\n        json.submission.pointsPossible = json.pointsPossible if json.submission?\n\n      json.submission.gradingType = json.gradingType if json.submission?\n\n      if json.gradingType is 'not_graded'\n        json.hideGrade = true\n      json\n\n    updateScore: =>\n      json = @model.toView()\n      json = @_setJSONForGrade(json) unless @canManage()\n      @$('.js-score').html scoreTemplate(json)\n\n    canReadGrades: ->\n      ENV.PERMISSIONS.read_grades\n\n    goToNextItem: =>\n      if @nextAssignmentInGroup()?\n        @focusOnAssignment(@nextAssignmentInGroup())\n      else if @nextVisibleGroup()?\n        @focusOnGroup(@nextVisibleGroup())\n      else\n        @focusOnFirstGroup()\n\n    goToPrevItem: =>\n      if @previousAssignmentInGroup()?\n        @focusOnAssignment(@previousAssignmentInGroup())\n      else\n        @focusOnGroupByID(@model.attributes.assignment_group_id)\n\n    editItem: =>\n      @$(\"#assignment_#{@model.id}_settings_edit_item\").click()\n\n    deleteItem: =>\n      @$(\"#assignment_#{@model.id}_settings_delete_item\").click()\n\n    addItem: =>\n      group_id = @model.attributes.assignment_group_id\n      $(\".add_assignment\", \"#assignment_group_#{group_id}\").click()\n\n    showAssignment: =>\n      $(\".ig-title\", \"#assignment_#{@model.id}\")[0].click()\n\n    assignmentGroupView: =>\n      @model.collection.view\n\n    visibleAssignments: =>\n      @assignmentGroupView().visibleAssignments()\n\n    nextVisibleGroup: =>\n      @assignmentGroupView().nextGroup()\n\n    nextAssignmentInGroup: =>\n      current_assignment_index = @visibleAssignments().indexOf(@model)\n      @visibleAssignments()[current_assignment_index + 1]\n\n    previousAssignmentInGroup: =>\n      current_assignment_index = @visibleAssignments().indexOf(@model)\n      @visibleAssignments()[current_assignment_index - 1]\n\n    focusOnAssignment: (assignment) =>\n      $(\"#assignment_#{assignment.id}\").attr(\"tabindex\",-1).focus()\n\n    focusOnGroup: (group) =>\n      $(\"#assignment_group_#{group.attributes.id}\").attr(\"tabindex\",-1).focus()\n\n    focusOnGroupByID: (group_id) =>\n      $(\"#assignment_group_#{group_id}\").attr(\"tabindex\",-1).focus()\n\n    focusOnFirstGroup: =>\n      $(\".assignment_group\").filter(\":visible\").first().attr(\"tabindex\",-1).focus()\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/views/assignments/AssignmentListItemView.coffee","/*\n * Copyright (C) 2015 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport React from 'react'\nimport $ from 'jquery'\nimport _ from 'underscore'\nimport preventDefault from 'compiled/fn/preventDefault'\nimport ReactModal from 'react-modal'\nimport ModalContent from './modal-content'\nimport ModalButtons from './modal-buttons'\n\nconst modalOverrides = {\n  overlay: {\n    backgroundColor: 'rgba(0,0,0,0.5)'\n  },\n  content: {\n    position: 'static',\n    top: '0',\n    left: '0',\n    right: 'auto',\n    bottom: 'auto',\n    borderRadius: '0',\n    border: 'none',\n    padding: '0'\n  }\n}\n\nexport default class Modal extends React.Component {\n  static defaultProps = {\n    className: 'ReactModal__Content--canvas', // Override with \"ReactModal__Content--canvas ReactModal__Content--mini-modal\" for a mini modal\n    style: {}\n  }\n\n  state = {\n    modalIsOpen: this.props.isOpen\n  }\n\n  componentWillReceiveProps(props) {\n    let callback\n    if (this.props.isOpen && !props.isOpen) callback = this.cleanupAfterClose\n    this.setState({modalIsOpen: props.isOpen}, callback)\n  }\n\n  openModal = () => {\n    this.setState({modalIsOpen: true})\n  }\n\n  cleanupAfterClose = () => {\n    if (this.props.onRequestClose) this.props.onRequestClose()\n    $(this.getAppElement()).removeAttr('aria-hidden')\n  }\n\n  closeModal = () => {\n    this.setState({modalIsOpen: false}, this.cleanupAfterClose)\n  }\n\n  closeWithX = () => {\n    if (_.isFunction(this.props.closeWithX)) this.props.closeWithX()\n    this.closeModal()\n  }\n\n  onSubmit = () => {\n    const promise = this.props.onSubmit()\n    $(this.modal).disableWhileLoading(promise)\n  }\n\n  onAfterOpen = () => {\n    this.closeBtn.focus()\n    if (this.props.onAfterOpen) {\n      this.props.onAfterOpen()\n    }\n  }\n\n  getAppElement = () =>\n    // Need to wait for the dom to load before we can get the default #application dom element\n     this.props.appElement || document.getElementById('application')\n\n\n  processMultipleChildren = props => {\n    let content = null\n    let buttons = null\n\n    React.Children.forEach(props.children, (child) => {\n      if (child.type === ModalContent) {\n        content = child\n      } else if (child.type === ModalButtons) {\n        buttons = child\n      } else {\n        // Warning if you don't include a component of the right type\n        console.warn('Modal chilren must be wrapped in either a modal-content or modal-buttons component.')\n      }\n    })\n\n    if (this.props.onSubmit) {\n      return (\n        <form className=\"ModalForm\" onSubmit={preventDefault(this.onSubmit)}>\n          {[content, buttons]}\n        </form>\n      )\n    } else {\n      return [content, buttons] // This order needs to be maintained\n    }\n  }\n\n  render() {\n    return (\n      <div className=\"canvasModal\">\n        <ReactModal\n          ariaHideApp={!!this.state.modalIsOpen}\n          isOpen={!!this.state.modalIsOpen}\n          onRequestClose={this.closeModal}\n          className={this.props.className}\n          style={modalOverrides}\n          onAfterOpen={this.onAfterOpen}\n          overlayClassName={this.props.overlayClassName}\n          contentLabel={this.props.contentLabel}\n          appElement={this.getAppElement()}\n        >\n          <div\n            ref={c => {\n              this.modal = c\n            }}\n            className=\"ReactModal__Layout\"\n            style={this.props.style}\n          >\n            <div className=\"ReactModal__Header\">\n              <div className=\"ReactModal__Header-Title\">\n                <h4>{this.props.title}</h4>\n              </div>\n              <div className=\"ReactModal__Header-Actions\">\n                <button\n                  ref={c => {\n                    this.closeBtn = c\n                  }}\n                  className=\"Button Button--icon-action\"\n                  type=\"button\"\n                  onClick={this.closeWithX}\n                >\n                  <i className=\"icon-x\" />\n                  <span className=\"screenreader-only\">Close</span>\n                </button>\n              </div>\n            </div>\n            {this.processMultipleChildren(this.props)}\n          </div>\n        </ReactModal>\n      </div>\n    )\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/jsx/shared/modal.js","//\n// Copyright (C) 2016 - present Instructure, Inc.\n//\n// This file is part of Canvas.\n//\n// Canvas is free software: you can redistribute it and/or modify it under\n// the terms of the GNU Affero General Public License as published by the Free\n// Software Foundation, version 3 of the License.\n//\n// Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n// A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n// details.\n//\n// You should have received a copy of the GNU Affero General Public License along\n// with this program. If not, see <http://www.gnu.org/licenses/>.\n\nimport $ from 'jquery'\nimport _ from 'underscore'\nimport axios from 'axios'\nimport 'jquery.instructure_misc_helpers'\n\nconst batchUpdateUrl = id => $.replaceTags(ENV.GRADING_PERIODS_UPDATE_URL, 'set_id', id)\n\nconst serializePeriods = periods => {\n  const serialized = _.map(periods, period => ({\n    id: period.id,\n    title: period.title,\n    start_date: period.startDate,\n    end_date: period.endDate,\n    close_date: period.closeDate,\n    weight: period.weight\n  }))\n  return {grading_periods: serialized}\n}\n\nexport default {\n  deserializePeriods(periods) {\n    return _.map(periods, period => ({\n      id: period.id,\n      title: period.title,\n      startDate: new Date(period.start_date),\n      endDate: new Date(period.end_date),\n      closeDate: new Date(period.close_date),\n      isLast: period.is_last,\n      isClosed: period.is_closed,\n      weight: period.weight\n    }))\n  },\n\n  batchUpdate(setId, periods) {\n    return new Promise((resolve, reject) =>\n      axios\n        .patch(batchUpdateUrl(setId), serializePeriods(periods))\n        .then(response => resolve(this.deserializePeriods(response.data.grading_periods)))\n        .catch(error => reject(error))\n    )\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/api/gradingPeriodsApi.js","/*\n * Copyright (C) 2017 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n/**\n* Flash alerts, especially for ajax error messages\n* Typical usage:\n* import {showFlashError} from './FlashAlert'\n* ...\n* axios.put(url, data).then((response) => {\n*     // do something with response\n*   }).catch(showFlashError(your_error_message))\n*\n* showFlashError() with no argument shows a generic message\n*\n* On error, will display an inst-ui Alert at the top of the page\n* with an error message and \"Details\" button. When the user clicks\n* the button, it shows error details extracted from the axios Error\n*\n* You could also import the lower level showFlashAlert function or\n* the FlashAlert component if you need more control\n*\n* showFlashAlert({ err, message, type }, onCloseCallback)\n*  err: error object\n*  message: user-facing message\n*  type: one of ['info', 'success', 'warning', 'error']\n*        default is 'info' unless an error object is passed in, else is 'error'\n*/\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport ReactDOM from 'react-dom'\nimport I18n from 'i18n!ajaxflashalert'\nimport Alert from '@instructure/ui-alerts/lib/components/Alert'\nimport Button from '@instructure/ui-buttons/lib/components/Button'\nimport Text from '@instructure/ui-elements/lib/components/Text'\nimport PresentationContent from '@instructure/ui-a11y/lib/components/PresentationContent'\nimport ScreenReaderContent from '@instructure/ui-a11y/lib/components/ScreenReaderContent'\nimport Transition from '@instructure/ui-motion/lib/components/Transition'\n\nconst messageHolderId = 'flashalert_message_holder' // specs fail if I reuse jquery's elements\nconst screenreaderMessageHolderId = 'flash_screenreader_holder'\nconst timeout = 10000\n\n// An Alert with a message and \"Details\" button which surfaces\n// more info about the error when pressed.\n// Is displayed at the top of the document, and will close itself after a while\nexport default class FlashAlert extends React.Component {\n  static propTypes = {\n    onClose: PropTypes.func.isRequired,\n    message: PropTypes.string.isRequired,\n    error: PropTypes.instanceOf(Error),\n    variant: PropTypes.oneOf(['info', 'success', 'warning', 'error']),\n    timeout: PropTypes.number,\n    screenReaderOnly: PropTypes.bool,\n  }\n\n  static defaultProps = {\n    error: null,\n    variant: 'info',\n    timeout,\n    screenReaderOnly: false\n  }\n\n  constructor (props) {\n    super(props)\n\n    this.state = {\n      showDetails: false,\n      isOpen: true,\n    }\n    this.timerId = 0;\n  }\n\n  getLiveRegion () {\n    // return element where flash screenreader messages go.\n    // create if necessary\n    let liveRegion = document.getElementById(screenreaderMessageHolderId)\n    if (!liveRegion) {\n      liveRegion = document.createElement('div')\n      liveRegion.id = screenreaderMessageHolderId\n      liveRegion.setAttribute('role', 'alert')\n      document.body.appendChild(liveRegion)\n    }\n    return liveRegion\n  }\n\n  showDetails = () => {\n    this.setState({ showDetails: true })\n    clearTimeout(this.timerId)\n    this.timerId = setTimeout(() => this.closeAlert(), this.props.timeout)\n  }\n\n  closeAlert = () => {\n    this.setState({ isOpen: false }, () => {\n      setTimeout(() => {\n        clearTimeout(this.timerId)\n        this.props.onClose()\n      }, 500)\n    })\n  }\n\n  findDetailMessage () {\n    const err = this.props.error\n    let a = err.message\n    let b\n    if (err.response) {\n      if (err.response.data) {\n        try {\n          if (Array.isArray(err.response.data.errors)) {\n            // probably a canvas api\n            a = err.response.data.errors[0].message\n            b = err.message\n          } else if (err.response.data.message) {\n            // probably a canvas api too\n            a = err.response.data.message\n            b = err.message\n          }\n        } catch (ignore) {\n          a = err.message\n        }\n      }\n    }\n    return {a, b}\n  }\n\n  renderDetailMessage () {\n    const {a, b} = this.findDetailMessage()\n    return (\n      <Text as=\"p\" fontStyle=\"italic\">\n        <Text>{a}</Text>\n        {b ? <br /> : null}\n        {b ? <Text>{b}</Text> : null}\n      </Text>\n    )\n  }\n\n  render () {\n    let details = null\n    if (this.props.error) {\n      if (this.state.showDetails) {\n        details = this.renderDetailMessage()\n      } else {\n        details = (\n          <span>\n            <PresentationContent>\n              <Button variant=\"link\" onClick={this.showDetails}>{I18n.t('Details')}</Button>\n            </PresentationContent>\n            <ScreenReaderContent>{this.renderDetailMessage()}</ScreenReaderContent>\n          </span>\n        )\n      }\n    }\n\n    return (\n      <Transition transitionOnMount in={this.state.isOpen} type='fade'>\n        <Alert\n          variant={this.props.variant}\n          closeButtonLabel={I18n.t('Close')}\n          onDismiss={this.closeAlert}\n          margin=\"small auto\"\n          timeout={this.props.timeout}\n          liveRegion={this.getLiveRegion}\n          transition=\"fade\"\n          screenReaderOnly={this.props.screenReaderOnly}\n        >\n          <div>\n            <p style={{margin: '0 -5px'}}>\n              {this.props.message}\n            </p>\n            {details}\n          </div>\n        </Alert>\n      </Transition>\n    );\n  }\n}\n\nexport function showFlashAlert ({ message, err, type = err ? 'error' : 'info', srOnly=false }) {\n  function closeAlert (atNode) {\n    ReactDOM.unmountComponentAtNode(atNode)\n    atNode.remove()\n  }\n\n  function getAlertContainer () {\n    let alertContainer = document.getElementById(messageHolderId)\n    if (!alertContainer) {\n      alertContainer = document.createElement('div')\n      alertContainer.classList.add('clickthrough-container')\n      alertContainer.id = messageHolderId\n      alertContainer.setAttribute('style', 'position: fixed; top: 0; left: 0; width: 100%; z-index: 100000;')\n      document.body.appendChild(alertContainer)\n    }\n    return alertContainer\n  }\n\n  function renderAlert (parent) {\n    ReactDOM.render(\n      <FlashAlert\n        message={message}\n        timeout={isNaN(ENV.flashAlertTimeout) ? timeout : ENV.flashAlertTimeout}\n        error={err}\n        variant={type}\n        onClose={closeAlert.bind(null, parent)} // eslint-disable-line react/jsx-no-bind\n        screenReaderOnly={srOnly}\n      />, parent\n    )\n  }\n\n  const div = document.createElement('div')\n  // div.setAttribute('class', styles.flashMessage)\n  div.setAttribute('style', 'max-width:50em;margin:1rem auto;')\n  div.setAttribute('class', 'flashalert-message')\n  getAlertContainer().appendChild(div)\n  renderAlert(div)\n}\n\nexport function destroyContainer () {\n  const container = document.getElementById(messageHolderId)\n  const liveRegion = document.getElementById(screenreaderMessageHolderId)\n  if (container) container.remove()\n  if (liveRegion) liveRegion.remove()\n}\n\nexport function showFlashError (message = I18n.t('An error occurred making a network request')) {\n  return err => showFlashAlert({ message, err, type: 'error' })\n}\n\nexport function showFlashSuccess (message) {\n  return () => showFlashAlert({ message, type: 'success' })\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/jsx/shared/FlashAlert.js","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"assignments\":{\"delete_group\":{\"cancel\":\"إلغاء\",\"delete\":\"حذف المجموعة\",\"deleting\":\"جارٍ الحذف...\",\"labels\":{\"delete_assignments_in_group\":\"حذف مهامها\",\"move_assignments_to\":\"نقل مهامها إلى\"},\"options\":{\"select_group\":\"تحديد مجموعة\"},\"tooltips\":{\"target_group\":\"تحديد مجموعة لنقل هذه المهمة إليها\"},\"warnings\":{\"delete_assignment_group\":\"أنت على وشك حذف *%{name}*، التي تحتوي على **%{assignment_count}** من المهام.\"},\"would_you_like\":\"هل ترغب في:\"}}},\"cy\":{\"assignments\":{\"delete_group\":{\"cancel\":\"Canslo\",\"delete\":\"Dileu Grŵp\",\"deleting\":\"Wrthi’n dileu...\",\"labels\":{\"delete_assignments_in_group\":\"Dileu’r aseiniadau\",\"move_assignments_to\":\"Symud yr aseiniadau i\"},\"options\":{\"select_group\":\"Dewis Grŵp\"},\"tooltips\":{\"target_group\":\"Dewiswch grŵp i symud yr aseiniad hwn iddo\"},\"warnings\":{\"delete_assignment_group\":\"Rydych chi ar fin dileu *%{name}*, sy’n cynnwys **%{assignment_count}** aseiniad.\"},\"would_you_like\":\"Fyddech chi’n hoffi:\"}}},\"da\":{\"assignments\":{\"delete_group\":{\"cancel\":\"Annuller\",\"delete\":\"Slet gruppe\",\"deleting\":\"sletter ...\",\"labels\":{\"delete_assignments_in_group\":\"Slet dets opgaver\",\"move_assignments_to\":\"Flyt dets opgaver til\"},\"options\":{\"select_group\":\"Vælg en gruppe\"},\"tooltips\":{\"target_group\":\"Vælg en gruppe, som denne opgave skal flyttes til\"},\"warnings\":{\"delete_assignment_group\":\"Du er ved at slette *%{name}*, som indeholder **%{assignment_count}** opgaver.\"},\"would_you_like\":\"Vil du gerne:\"}}},\"da-x-k12\":{\"assignments\":{\"delete_group\":{\"cancel\":\"Annuller\",\"delete\":\"Slet gruppe\",\"deleting\":\"sletter ...\",\"labels\":{\"delete_assignments_in_group\":\"Slet dets opgaver\",\"move_assignments_to\":\"Flyt dets opgaver til\"},\"options\":{\"select_group\":\"Vælg en gruppe\"},\"tooltips\":{\"target_group\":\"Vælg en gruppe, som denne opgave skal flyttes til\"},\"warnings\":{\"delete_assignment_group\":\"Du er ved at slette *%{name}*, som indeholder **%{assignment_count}** opgaver.\"},\"would_you_like\":\"Vil du gerne:\"}}},\"de\":{\"assignments\":{\"delete_group\":{\"cancel\":\"Abbrechen\",\"delete\":\"Gruppe löschen\",\"deleting\":\"Wird gelöscht ...\",\"labels\":{\"delete_assignments_in_group\":\"Aufgabenliste löschen\",\"move_assignments_to\":\"Aufgabenliste verschieben nach\"},\"options\":{\"select_group\":\"Eine Gruppe auswählen\"},\"tooltips\":{\"target_group\":\"Wählen Sie eine Gruppe aus, und verschieben Sie diese Aufgabe in die Gruppe.\"},\"warnings\":{\"delete_assignment_group\":\"Sie sind im Begriff, *%{name}* zu löschen. Sie hat aber noch **%{assignment_count}** Aufgaben.\"},\"would_you_like\":\"Möchten Sie:\"}}},\"el\":{\"assignments\":{\"delete_group\":{\"cancel\":\"Ακύρωση\",\"delete\":\"Διαγραφή Ομάδας\",\"deleting\":\"Διαγραφή...\",\"labels\":{\"delete_assignments_in_group\":\"Διαγραφή των εργασιών του\",\"move_assignments_to\":\"Μετακίνηση των εργασιών του σε\"},\"options\":{\"select_group\":\"Επιλογή Ομάδας\"},\"tooltips\":{\"target_group\":\"Επιλέξτε μια ομάδα για να μετακινήσετε εκεί αυτή την εργασία\"},\"warnings\":{\"delete_assignment_group\":\"Πρόκειται να διαγράψετε τον/την *%{name}*, που περιέχει **%{assignment_count}** εργασίες.\"},\"would_you_like\":\"Θα θέλατε να:\"}}},\"en-AU\":{\"assignments\":{\"delete_group\":{\"cancel\":\"Cancel\",\"delete\":\"Delete Group\",\"deleting\":\"Deleting...\",\"labels\":{\"delete_assignments_in_group\":\"Delete its assignments\",\"move_assignments_to\":\"Move its assignments to\"},\"options\":{\"select_group\":\"Select a Group\"},\"tooltips\":{\"target_group\":\"Select a group to move this assignment to\"},\"warnings\":{\"delete_assignment_group\":\"You are about to delete *%{name}*, which has **%{assignment_count}** assignments in it.\"},\"would_you_like\":\"Would you like to:\"}}},\"en-CA\":{\"assignments\":{\"delete_group\":{\"cancel\":\"Cancel\",\"delete\":\"Delete Group\",\"deleting\":\"Deleting...\",\"labels\":{\"delete_assignments_in_group\":\"Delete its assignments\",\"move_assignments_to\":\"Move its assignments to\"},\"options\":{\"select_group\":\"Select a Group\"},\"tooltips\":{\"target_group\":\"Select a group to move this assignment to\"},\"warnings\":{\"delete_assignment_group\":\"You are about to delete *%{name}*, which has **%{assignment_count}** assignments in it.\"},\"would_you_like\":\"Would you like to:\"}}},\"en-GB\":{\"assignments\":{\"delete_group\":{\"cancel\":\"Cancel\",\"delete\":\"Delete group\",\"deleting\":\"Deleting...\",\"labels\":{\"delete_assignments_in_group\":\"Delete its assignments\",\"move_assignments_to\":\"Move its assignments to\"},\"options\":{\"select_group\":\"Select a group\"},\"tooltips\":{\"target_group\":\"Select a group to move this assignment to\"},\"warnings\":{\"delete_assignment_group\":\"You are about to delete *%{name}*, which has **%{assignment_count}** assignments in it.\"},\"would_you_like\":\"Would you like to:\"}}},\"en-GB-x-lbs\":{\"assignments\":{\"delete_group\":{\"cancel\":\"Cancel\",\"delete\":\"Delete group\",\"deleting\":\"Deleting...\",\"labels\":{\"delete_assignments_in_group\":\"Delete its tasks\",\"move_assignments_to\":\"Move its tasks to\"},\"options\":{\"select_group\":\"Select a group\"},\"tooltips\":{\"target_group\":\"Select a group to move this task to\"},\"warnings\":{\"delete_assignment_group\":\"You are about to delete *%{name}*, which has **%{assignment_count}** tasks in it.\"},\"would_you_like\":\"Would you like to:\"}}},\"en-GB-x-ukhe\":{\"assignments\":{\"delete_group\":{\"cancel\":\"Cancel\",\"delete\":\"Delete group\",\"deleting\":\"Deleting...\",\"labels\":{\"delete_assignments_in_group\":\"Delete its assignments\",\"move_assignments_to\":\"Move its assignments to\"},\"options\":{\"select_group\":\"Select a group\"},\"tooltips\":{\"target_group\":\"Select a group to move this assignment to\"},\"warnings\":{\"delete_assignment_group\":\"You are about to delete *%{name}*, which has **%{assignment_count}** assignments in it.\"},\"would_you_like\":\"Would you like to:\"}}},\"es\":{\"assignments\":{\"delete_group\":{\"cancel\":\"Cancelar\",\"delete\":\"Eliminar grupo\",\"deleting\":\"Eliminando...\",\"labels\":{\"delete_assignments_in_group\":\"Eliminar las tareas\",\"move_assignments_to\":\"Mover las tareas a\"},\"options\":{\"select_group\":\"Seleccionar un grupo\"},\"tooltips\":{\"target_group\":\"Seleccione el grupo al que desea mover esta tarea\"},\"warnings\":{\"delete_assignment_group\":\"Está a punto de eliminar *%{name}*, que contiene **%{assignment_count}** tareas.\"},\"would_you_like\":\"¿Desea...?:\"}}},\"fa\":{\"assignments\":{\"delete_group\":{\"cancel\":\"لغو\",\"delete\":\"حذف گروه\",\"deleting\":\"در حال حذف...\",\"labels\":{\"delete_assignments_in_group\":\"حذف تکلیف های آن\",\"move_assignments_to\":\"انتقال تکلیف های آن به\"},\"options\":{\"select_group\":\"انتخاب یک گروه\"},\"tooltips\":{\"target_group\":\"انتخاب یک گروه برای انتقال این تکلیف به\"},\"warnings\":{\"delete_assignment_group\":\"شما در حال حذف *%{name}* هستید, که شامل **%{assignment_count}** تکلیف است\"},\"would_you_like\":\"تمایل دارید که:\"}}},\"fr\":{\"assignments\":{\"delete_group\":{\"cancel\":\"Annuler\",\"delete\":\"Supprimer le groupe\",\"deleting\":\"Suppression...\",\"labels\":{\"delete_assignments_in_group\":\"Supprimer les tâches\",\"move_assignments_to\":\"Déplacer les tâches vers\"},\"options\":{\"select_group\":\"Sélectionner un groupe\"},\"tooltips\":{\"target_group\":\"Sélectionner un groupe vers lequel déplacer ce travail\"},\"warnings\":{\"delete_assignment_group\":\"Vous êtes sur le point de supprimer *%{name}*, qui contient **%{assignment_count}** tâches.\"},\"would_you_like\":\"Souhaitez-vous :\"}}},\"fr-CA\":{\"assignments\":{\"delete_group\":{\"cancel\":\"Annuler\",\"delete\":\"Supprimer le groupe\",\"deleting\":\"Suppression...\",\"labels\":{\"delete_assignments_in_group\":\"Supprimer les tâches\",\"move_assignments_to\":\"Déplacer les tâches vers\"},\"options\":{\"select_group\":\"Sélectionner un groupe\"},\"tooltips\":{\"target_group\":\"Sélectionner un groupe vers lequel déplacer cette tâche\"},\"warnings\":{\"delete_assignment_group\":\"Vous êtes sur le point de supprimer *%{name}*, qui contient **%{assignment_count}** tâches.\"},\"would_you_like\":\"Souhaitez-vous :\"}}},\"he\":{\"assignments\":{\"delete_group\":{\"cancel\":\"ביטול\",\"delete\":\"בטל קבוצה\",\"deleting\":\"מבטל...\",\"labels\":{\"delete_assignments_in_group\":\"ביטול המשימות\",\"move_assignments_to\":\"העברת המשימות אל\"},\"options\":{\"select_group\":\"בחירת קבוצה\"},\"tooltips\":{\"target_group\":\"בחירת הקבוצה אליה תועבר משימה זו\"},\"warnings\":{\"delete_assignment_group\":\"את/ה עומד/ת לבטל את *%{name}*, הכולל **%{assignment_count}**  משימות\"},\"would_you_like\":\"האם תרצו ל:\"}}},\"ht\":{\"assignments\":{\"delete_group\":{\"cancel\":\"Anile\",\"delete\":\"Efase Gwoup\",\"deleting\":\"Efase...\",\"labels\":{\"delete_assignments_in_group\":\"Efase sesyon li\",\"move_assignments_to\":\"Deplase sesyon li\"},\"options\":{\"select_group\":\"Chwazi yon Gwoup\"},\"tooltips\":{\"target_group\":\"Chwazi yon gwoup pou deplase sesyon sa a\"},\"warnings\":{\"delete_assignment_group\":\"Ou pral efase *%{name}*, ki genyen**%{assignment_count}** sesyon ladan li.\"},\"would_you_like\":\"Èske w ta renmen:\"}}},\"hu\":{\"assignments\":{\"delete_group\":{\"cancel\":\"Mégse\",\"delete\":\"Csoport törlése\",\"deleting\":\"Törlés...\",\"labels\":{\"delete_assignments_in_group\":\"A feladatainak törlése\",\"move_assignments_to\":\"A feladatainak mozgatása a következő helyre\"},\"options\":{\"select_group\":\"Csoport kiválasztása\"},\"tooltips\":{\"target_group\":\"Válasszon csoportot, ahová át szeretné mozgatni ezt a feladatot\"},\"warnings\":{\"delete_assignment_group\":\"*%{name}* törlésére készül, ami **%{assignment_count}** feladatot tartalmaz.\"},\"would_you_like\":\"Szeretné:\"}}},\"hy\":{\"assignments\":{\"delete_group\":{\"cancel\":\"Չեղյալ համարել\",\"delete\":\"Ջնջել խումբը\",\"deleting\":\"Ջնջվում է...\",\"labels\":{\"delete_assignments_in_group\":\"Ջնջել դրա հանձնարարությունները\",\"move_assignments_to\":\"Նրա հանձնարարությունները տեղափոխել դեպի\"},\"options\":{\"select_group\":\"Ընտրել խումբը\"},\"tooltips\":{\"target_group\":\"Ընտրել խումբ՝ այս հանձնարարության տեղափոխման համար\"},\"warnings\":{\"delete_assignment_group\":\"Դուք պատրաստվում եք ջնջել *%{name}*, որն իր մեջ ունի **%{assignment_count}** հանձնարարությունները: \"},\"would_you_like\":\"Կցանկանայի՞ք\"}}},\"is\":{\"assignments\":{\"delete_group\":{\"cancel\":\"Hætta við\",\"delete\":\"Eyða hópi\",\"deleting\":\"Eyði...\",\"labels\":{\"delete_assignments_in_group\":\"Eyða verkefnum\",\"move_assignments_to\":\"Færa verkefni til\"},\"options\":{\"select_group\":\"Velja hóp\"},\"tooltips\":{\"target_group\":\"Velja hóp til að færa þessi verkefni til\"},\"warnings\":{\"delete_assignment_group\":\"Þú ert í þann veginn að eyða *%{name}*, sem hefur **%{assignment_count}** verkefni.\"},\"would_you_like\":\"Viltu:\"}}},\"it\":{\"assignments\":{\"delete_group\":{\"cancel\":\"Annulla\",\"delete\":\"Elimina gruppo\",\"deleting\":\"Eliminazione in corso...\",\"labels\":{\"delete_assignments_in_group\":\"Elimina i suoi compiti\",\"move_assignments_to\":\"Sposta i suoi compiti in\"},\"options\":{\"select_group\":\"Seleziona un gruppo\"},\"tooltips\":{\"target_group\":\"Seleziona un gruppo in cui spostare questo compito\"},\"warnings\":{\"delete_assignment_group\":\"Stai per eliminare *%{name}*, che contiene **%{assignment_count}** compiti.\"},\"would_you_like\":\"Specifica l'operazione da effettuare:\"}}},\"ja\":{\"assignments\":{\"delete_group\":{\"cancel\":\"キャンセル\",\"delete\":\"グループの削除\",\"deleting\":\"削除しています...\",\"labels\":{\"delete_assignments_in_group\":\"課題の削除\",\"move_assignments_to\":\"課題を移動\"},\"options\":{\"select_group\":\"グループの選択\"},\"tooltips\":{\"target_group\":\"この課題の移動先となるグループを選択してください\"},\"warnings\":{\"delete_assignment_group\":\"**%{assignment_count}** 件の課題がある *%{name}* を削除しようとしています。\"},\"would_you_like\":\"行う操作:\"}}},\"ko\":{\"assignments\":{\"delete_group\":{\"cancel\":\"취소\",\"delete\":\"그룹 삭제\",\"deleting\":\"삭제 중...\",\"labels\":{\"delete_assignments_in_group\":\"과제 삭제\",\"move_assignments_to\":\"다음으로 과제 이동\"},\"options\":{\"select_group\":\"그룹 선택\"},\"tooltips\":{\"target_group\":\"이 과제를 이동할 그룹 선택\"},\"warnings\":{\"delete_assignment_group\":\"**%{assignment_count}**개의 과제를 포함한 *%{name}*를 삭제하려고 합니다.\"},\"would_you_like\":\"원하는 작업:\"}}},\"mi\":{\"assignments\":{\"delete_group\":{\"cancel\":\"Whakakore\",\"delete\":\"Mukua Rōpū\",\"deleting\":\"Muku ana ...\",\"labels\":{\"delete_assignments_in_group\":\"Mukua ōna whakataunga\",\"move_assignments_to\":\"Nuku ōna whakataunga ki\"},\"options\":{\"select_group\":\"Tīpakohia te Rōpū\"},\"tooltips\":{\"target_group\":\"Tīpakohia te rōpū ki te neke i tēnei whakataunga ki\"},\"warnings\":{\"delete_assignment_group\":\"Kua tata te muku *%{name}*, nei **%{assignment_count}** whakataunga i roto i te reira e koe.\"},\"would_you_like\":\"E hiahia ana koe ki te:\"}}},\"nb\":{\"assignments\":{\"delete_group\":{\"cancel\":\"Avbryt\",\"delete\":\"Slett gruppe\",\"deleting\":\"Sletter…\",\"labels\":{\"delete_assignments_in_group\":\"Slett disse oppgavene\",\"move_assignments_to\":\"Flytt disse oppgavene til\"},\"options\":{\"select_group\":\"Velg en gruppe\"},\"tooltips\":{\"target_group\":\"Velg en gruppe å flytte denne oppgaven til\"},\"warnings\":{\"delete_assignment_group\":\"Du er i ferd med å slette *%{name}*, som har **%{assignment_count}** oppgaver i seg.\"},\"would_you_like\":\"Ønsker du å:\"}}},\"nb-x-k12\":{\"assignments\":{\"delete_group\":{\"cancel\":\"Avbryt\",\"delete\":\"Slett gruppe\",\"deleting\":\"Sletter…\",\"labels\":{\"delete_assignments_in_group\":\"Slett disse oppgavene\",\"move_assignments_to\":\"Flytt disse oppgavene til\"},\"options\":{\"select_group\":\"Velg en gruppe\"},\"tooltips\":{\"target_group\":\"Velg en gruppe å flytte denne oppgaven til\"},\"warnings\":{\"delete_assignment_group\":\"Du er i ferd med å slette *%{name}*, som har **%{assignment_count}** oppgaver i seg.\"},\"would_you_like\":\"Ønsker du å:\"}}},\"nl\":{\"assignments\":{\"delete_group\":{\"cancel\":\"Annuleren\",\"delete\":\"Groep verwijderen\",\"deleting\":\"Bezig met verwijderen...\",\"labels\":{\"delete_assignments_in_group\":\"Bijbehorende opdrachten verwijderen\",\"move_assignments_to\":\"Bijbehorende opdrachten verplaatsen naar\"},\"options\":{\"select_group\":\"Een groep selecteren\"},\"tooltips\":{\"target_group\":\"Een groep selecteren om deze opdracht te verplaatsen naar\"},\"warnings\":{\"delete_assignment_group\":\"Je staat op het punt om *%{name}* te verwijderen, welke **%{assignment_count}** opdrachten bevat.\"},\"would_you_like\":\"Wil je:\"}}},\"nn\":{\"assignments\":{\"delete_group\":{\"cancel\":\"Avbryt\",\"delete\":\"Slett gruppe\",\"deleting\":\"Slettar...\",\"labels\":{\"delete_assignments_in_group\":\"Slett desse oppgåvene\",\"move_assignments_to\":\"Flytt desse oppgåvene til\"},\"options\":{\"select_group\":\"Vel ei gruppe\"},\"tooltips\":{\"target_group\":\"Vel ei gruppe å flytte oppgåva til\"},\"warnings\":{\"delete_assignment_group\":\"Du er i ferd med å slette *%{name}*, som inneheld **%{assignment_count}** oppgåver.\"},\"would_you_like\":\"Vil du:\"}}},\"pl\":{\"assignments\":{\"delete_group\":{\"cancel\":\"Anuluj\",\"delete\":\"Usuń grupę\",\"deleting\":\"Trwa usuwanie...\",\"labels\":{\"delete_assignments_in_group\":\"Usuń zadania\",\"move_assignments_to\":\"Przenieś zadania do\"},\"options\":{\"select_group\":\"Wybierz grupę\"},\"tooltips\":{\"target_group\":\"Wybierz grupę, do której należy przenieść zadanie\"},\"warnings\":{\"delete_assignment_group\":\"Usuniesz element o nazwie *%{name}*, który obejmuje następującą liczbę zadań: **%{assignment_count}**.\"},\"would_you_like\":\"Czy chcesz:\"}}},\"pt\":{\"assignments\":{\"delete_group\":{\"cancel\":\"Cancelar\",\"delete\":\"Eliminar grupo\",\"deleting\":\"A eliminar...\",\"labels\":{\"delete_assignments_in_group\":\"Eliminar as tarefas respetivas\",\"move_assignments_to\":\"Mover as tarefas respetivas para\"},\"options\":{\"select_group\":\"Selecionar um grupo\"},\"tooltips\":{\"target_group\":\"Selecionar um grupo para mover esta tarefa\"},\"warnings\":{\"delete_assignment_group\":\"Está prestes a eliminar *%{name}*, que tem **%{assignment_count}** tarefas incluídas.\"},\"would_you_like\":\"Pretende:\"}}},\"pt-BR\":{\"assignments\":{\"delete_group\":{\"cancel\":\"Cancelar\",\"delete\":\"Excluir grupo\",\"deleting\":\"Excluindo...\",\"labels\":{\"delete_assignments_in_group\":\"Excluir suas tarefas\",\"move_assignments_to\":\"Mover suas tarefas para\"},\"options\":{\"select_group\":\"Selecionar um grupo\"},\"tooltips\":{\"target_group\":\"Selecionar um grupo para mover esta tarefa\"},\"warnings\":{\"delete_assignment_group\":\"Você está prestes a excluir *%{name}*, que contém **%{assignment_count}** tarefas.\"},\"would_you_like\":\"Você gostaria de:\"}}},\"ru\":{\"assignments\":{\"delete_group\":{\"cancel\":\"Отменить\",\"delete\":\"Удалить группу\",\"deleting\":\"Удаление…\",\"labels\":{\"delete_assignments_in_group\":\"Удалить его задания\",\"move_assignments_to\":\"Переместить его задания в\"},\"options\":{\"select_group\":\"Выбрать группу\"},\"tooltips\":{\"target_group\":\"Выберите группу для перемещения этого задания\"},\"warnings\":{\"delete_assignment_group\":\"Вы собираетесь удалить *%{name}*, которая содержит **%{assignment_count}** заданий.\"},\"would_you_like\":\"Хотели бы вы:\"}}},\"sl\":{\"assignments\":{\"delete_group\":{\"cancel\":\"Prekliči\",\"delete\":\"Izbriši skupino\",\"deleting\":\"Brisanje ...\",\"labels\":{\"delete_assignments_in_group\":\"Izbriši njene naloge\",\"move_assignments_to\":\"Premakni njene naloge v\"},\"options\":{\"select_group\":\"Izberi skupino\"},\"tooltips\":{\"target_group\":\"Izberi skupino za premik te naloge v\"},\"warnings\":{\"delete_assignment_group\":\"Izbrisali boste *%{name}*,ki vsebuje **%{assignment_count}** nalog.\"},\"would_you_like\":\"Ali bi želeli:\"}}},\"sv\":{\"assignments\":{\"delete_group\":{\"cancel\":\"Avbryt\",\"delete\":\"Radera grupp\",\"deleting\":\"Raderar...\",\"labels\":{\"delete_assignments_in_group\":\"Radera den här uppgiften\",\"move_assignments_to\":\"Flytta uppgiften till\"},\"options\":{\"select_group\":\"Välj en grupp\"},\"tooltips\":{\"target_group\":\"Välj en grupp att skicka uppgiften till\"},\"warnings\":{\"delete_assignment_group\":\"Du är på väg att radera *%{name}*, som har **%{assignment_count}** uppgifter i sig.\"},\"would_you_like\":\"Skulle du vilja:\"}}},\"sv-x-k12\":{\"assignments\":{\"delete_group\":{\"cancel\":\"Avbryt\",\"delete\":\"Radera grupp\",\"deleting\":\"Raderar...\",\"labels\":{\"delete_assignments_in_group\":\"Radera den här uppgiften\",\"move_assignments_to\":\"Flytta uppgiften till\"},\"options\":{\"select_group\":\"Välj en grupp\"},\"tooltips\":{\"target_group\":\"Välj en grupp att skicka uppgiften till\"},\"warnings\":{\"delete_assignment_group\":\"Du är på väg att radera *%{name}*, som har **%{assignment_count}** uppgifter i sig.\"},\"would_you_like\":\"Skulle du vilja:\"}}},\"tr\":{\"assignments\":{\"delete_group\":{\"cancel\":\"İptal\",\"delete\":\"Grubu Sil\",\"deleting\":\"Siliniyor...\",\"labels\":{\"delete_assignments_in_group\":\"Ödevleri Sil\",\"move_assignments_to\":\"Ödevleri şuraya taşı\"},\"options\":{\"select_group\":\"Grup Seçiniz\"},\"tooltips\":{\"target_group\":\"Bu ödevi taşımak için bir grup seçin\"},\"warnings\":{\"delete_assignment_group\":\"İçinde **%{assignment_count}** ödev olan *%{name}*i silmek üzeresiniz.\"},\"would_you_like\":\"Yapmak isterim : \"}}},\"uk\":{\"assignments\":{\"delete_group\":{\"cancel\":\"Скасувати\",\"delete\":\"Видалити групу\",\"deleting\":\"Видалення...\",\"labels\":{\"delete_assignments_in_group\":\"Видалити його завдання\",\"move_assignments_to\":\"Перемістити його завдання до\"},\"options\":{\"select_group\":\"Виберіть групу\"},\"tooltips\":{\"target_group\":\"Виберіть групу для переміщення цього завдання\"},\"warnings\":{\"delete_assignment_group\":\"Ви збираєтесь видалити *%{name}*, який містить **%{assignment_count}** завдань.\"},\"would_you_like\":\"Чи хотіли б Ви:\"}}},\"zh-Hans\":{\"assignments\":{\"delete_group\":{\"cancel\":\"取消\",\"delete\":\"删除小组\",\"deleting\":\"正在删除...\",\"labels\":{\"delete_assignments_in_group\":\"删除其作业\",\"move_assignments_to\":\"将其作业移至\"},\"options\":{\"select_group\":\"选择小组\"},\"tooltips\":{\"target_group\":\"选择此作业要移入的小组\"},\"warnings\":{\"delete_assignment_group\":\"您即将删除 *%{name}*，其中包含 **%{assignment_count}** 项作业。\"},\"would_you_like\":\"您是否要：\"}}},\"zh-Hant\":{\"assignments\":{\"delete_group\":{\"cancel\":\"取消\",\"delete\":\"刪除群組\",\"deleting\":\"正在刪除...\",\"labels\":{\"delete_assignments_in_group\":\"刪除其任務\",\"move_assignments_to\":\"將其任務移至\"},\"options\":{\"select_group\":\"選擇群組\"},\"tooltips\":{\"target_group\":\"選擇群組以將此任務移至\"},\"warnings\":{\"delete_assignment_group\":\"您將要刪除 *%{name}*，其中有 **%{assignment_count}** 個任務。\"},\"would_you_like\":\"您是否想要：\"}}}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/assignments.delete_group.js\n// module id = 72DP6Qwsvk\n// module chunks = 54","\n    define(['i18nObj', 'translations/assignments.assignment_list_item_score', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('assignments.assignment_list_item_score')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?assignments.assignment_list_item_score!./public/javascripts/dummyI18nResource.js\n// module id = 7T//Rs561d\n// module chunks = 54","\n    define(['i18nObj', 'translations/assignments.assignment_list_item', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('assignments.assignment_list_item')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?assignments.assignment_list_item!./public/javascripts/dummyI18nResource.js\n// module id = 7ZaauC86Di\n// module chunks = 54","#\n# Copyright (C) 2013 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  'i18n!assignments'\n  'jquery'\n  'jsx/move_item'\n  '../../class/cache'\n  '../../util/hasLocalStorage'\n  '../DraggableCollectionView'\n  './AssignmentListItemView'\n  './CreateAssignmentView'\n  './CreateGroupView'\n  './DeleteGroupView'\n  '../../fn/preventDefault'\n  'jst/assignments/AssignmentGroupListItem'\n  './AssignmentKeyBindingsMixin'\n], (\n  I18n, $, MoveItem, Cache, hasLocalStorage, DraggableCollectionView, AssignmentListItemView, CreateAssignmentView,\n  CreateGroupView, DeleteGroupView, preventDefault, template, AssignmentKeyBindingsMixin\n) ->\n\n  class AssignmentGroupListItemView extends DraggableCollectionView\n    @mixin AssignmentKeyBindingsMixin\n    @optionProperty 'course'\n    @optionProperty 'userIsAdmin'\n\n    tagName: \"li\"\n    className: \"item-group-condensed\"\n    itemView: AssignmentListItemView\n    template: template\n\n    @child 'createAssignmentView', '[data-view=createAssignment]'\n    @child 'editGroupView', '[data-view=editAssignmentGroup]'\n    @child 'deleteGroupView', '[data-view=deleteAssignmentGroup]'\n\n    els: Object.assign({}, @::els, {\n      '.add_assignment': '$addAssignmentButton'\n      '.delete_group': '$deleteGroupButton'\n      '.edit_group': '$editGroupButton'\n      '.move_group': '$moveGroupButton'\n    })\n\n    events:\n      'click .element_toggler': 'toggleArrow'\n      'keyclick .element_toggler': 'toggleArrowWithKeyboard'\n      'click .tooltip_link': preventDefault ->\n      'keydown .assignment_group': 'handleKeys'\n      'click .move_contents':  'onMoveContents'\n      'click .move_group':  'onMoveGroup'\n\n    messages:\n      toggleMessage: I18n.t('toggle_message', \"toggle assignment visibility\")\n\n    # call remove on children so that they can clean up old dialogs.\n    # this should eventually happen at a higher level (eg for all views), but\n    # we need to make sure that all children view are also children dom\n    # elements first.\n    render: =>\n      @createAssignmentView.remove() if @createAssignmentView\n      @editGroupView.remove() if @editGroupView\n      @deleteGroupView.remove() if @deleteGroupView\n      super(@canManage())\n\n      # reset the model's view property; it got overwritten by child views\n      @model.view = this if @model\n\n    afterRender: ->\n      # need to hide child views and set trigger manually\n      if @createAssignmentView\n        @createAssignmentView.hide()\n        @createAssignmentView.setTrigger @$addAssignmentButton\n\n      if @editGroupView\n        @editGroupView.hide()\n        @editGroupView.setTrigger @$editGroupButton\n\n      if @deleteGroupView\n        @deleteGroupView.hide()\n        @deleteGroupView.setTrigger @$deleteGroupButton\n\n      if @model.hasRules()\n        @createRulesToolTip()\n\n    createItemView: (model) ->\n      options =\n        userIsAdmin: @userIsAdmin\n      new @itemView $.extend {}, {model}, options\n\n    createRulesToolTip: =>\n      link = @$el.find('.tooltip_link')\n      link.tooltip\n        position:\n          my: 'center top'\n          at: 'center bottom+10'\n          collision: 'fit fit'\n        tooltipClass: 'center top vertical'\n        content: ->\n          $(link.data('tooltipSelector')).html()\n\n    initialize: ->\n      @initializeCollection()\n      super\n      @initializeChildViews()\n\n      # we need the following line in order to access this view later\n      @model.groupView = @\n      @initCache()\n\n    initializeCollection: ->\n      @model.get('assignments').each (assign) ->\n        assign.doNotParse() if assign.multipleDueDates()\n\n      @collection = @model.get('assignments')\n      @collection.on 'add',  => @expand(false)\n\n    initializeChildViews: ->\n      @editGroupView = false\n      @createAssignmentView = false\n      @deleteGroupView = false\n\n      if @canManage()\n        @editGroupView = new CreateGroupView\n          assignmentGroup: @model\n          userIsAdmin: @userIsAdmin\n        @createAssignmentView = new CreateAssignmentView\n          assignmentGroup: @model\n        if @canDelete()\n          @deleteGroupView = new DeleteGroupView\n            model: @model\n\n    initCache: ->\n      $.extend true, @, Cache\n      @cache.use('localStorage') if hasLocalStorage\n      key = @cacheKey()\n      if !@cache.get(key)?\n        @cache.set(key, true)\n\n    initSort: ->\n      super\n      @$list.on('sortactivate', @startSort)\n        .on('sortdeactivate', @endSort)\n\n    startSort: (e, ui) =>\n      # When there is 1 assignment in this group and you drag an assignment\n      # from another group, don't insert the noItemView\n      if @collection.length == 1 && $(ui.placeholder).data(\"group\") == @model.id\n        @insertNoItemView()\n\n    endSort: (e, ui) =>\n      if @collection.length == 0 && @$list.children().length < 1\n        @insertNoItemView()\n      else if @$list.children().length > 1\n        @removeNoItemView()\n\n    toJSON: ->\n      data = @model.toJSON()\n      showWeight = @course?.get('apply_assignment_group_weights') and data.group_weight?\n      canMove = @model.collection.length > 1\n\n      attributes = Object.assign(data, {\n        course_home: ENV.COURSE_HOME\n        canMove: canMove\n        canDelete: @canDelete()\n        showRules: @model.hasRules()\n        rulesText: I18n.t('rules_text', \"Rule\", { count: @model.countRules() })\n        displayableRules: @displayableRules()\n        showWeight: showWeight\n        groupWeight: data.group_weight\n        toggleMessage: @messages.toggleMessage\n        hasFrozenAssignments: @model.hasFrozenAssignments? and @model.hasFrozenAssignments()\n        hasIntegrationData: @model.hasIntegrationData? and @model.hasIntegrationData()\n        postToSISName: ENV.SIS_NAME\n        ENV: ENV\n      })\n\n    displayableRules: ->\n      rules = @model.rules() or {}\n      results = []\n\n      if rules.drop_lowest? and rules.drop_lowest > 0\n        results.push(I18n.t('drop_lowest_rule', {\n          'one': 'Drop the lowest score',\n          'other': 'Drop the lowest %{count} scores'\n        }, {\n          'count': rules.drop_lowest\n        }))\n\n      if rules.drop_highest? and rules.drop_highest > 0\n        results.push(I18n.t('drop_highest_rule', {\n          'one': 'Drop the highest score',\n          'other': 'Drop the highest %{count} scores'\n        }, {\n          'count': rules.drop_highest\n        }))\n\n      if rules.never_drop? and rules.never_drop.length > 0\n        rules.never_drop.forEach (never_drop_assignment_id) =>\n          assign = @model.get('assignments').findWhere(id: never_drop_assignment_id)\n\n          # TODO: students won't see never drop rules for unpublished\n          # assignments because we don't know if the assignment is missing\n          # because it is unpublished or because it has been moved or deleted.\n          # Once those cases are handled better, we can add a default here.\n          if name = assign?.get('name')\n            results.push(I18n.t('never_drop_rule', 'Never drop %{assignment_name}', {\n              'assignment_name': name\n            }))\n\n      results\n\n    search: (regex, gradingPeriod) ->\n      @resetBorders()\n      assignmentCount = @collection.reduce( (count, as) =>\n        count++ if as.search(regex, gradingPeriod)\n        count\n      , 0)\n\n      atleastone = assignmentCount > 0\n      if atleastone\n        @show()\n        @expand(false)\n        @borderFix()\n      else\n        @hide()\n      assignmentCount\n\n    endSearch: ->\n      @resetBorders()\n\n      @show()\n      @collapseIfNeeded()\n      @resetNoToggleCache()\n      @collection.each (as) =>\n        as.endSearch()\n\n    resetBorders: ->\n      @$('.first_visible').removeClass('first_visible')\n      @$('.last_visible').removeClass('last_visible')\n\n    borderFix: ->\n      @$('.search_show').first().addClass(\"first_visible\")\n      @$('.search_show').last().addClass(\"last_visible\")\n\n    shouldBeExpanded: ->\n      @cache.get(@cacheKey())\n\n    collapseIfNeeded: ->\n      @collapse(false) unless @shouldBeExpanded()\n\n    expand: (toggleCache=true) =>\n      @_setNoToggleCache() unless toggleCache\n      @toggleCollapse() unless @currentlyExpanded()\n\n    collapse: (toggleCache=true) =>\n      @_setNoToggleCache() unless toggleCache\n      @toggleCollapse() if @currentlyExpanded()\n\n    toggleCollapse: (toggleCache=true) ->\n      @_setNoToggleCache() unless toggleCache\n      @$el.find('.element_toggler').click()\n\n    _setNoToggleCache: ->\n      @$el.find('.element_toggler').data(\"noToggleCache\", true)\n\n    currentlyExpanded: ->\n      # the 2 states of the element toggler are true and \"false\"\n      if @$el.find('.element_toggler').attr(\"aria-expanded\") == \"false\"\n        false\n      else\n        true\n\n    cacheKey: ->\n      [\"course\", @course.get('id'), \"user\", @currentUserId(), \"ag\", @model.get('id'), \"expanded\"]\n\n    toggleArrow: (ev) =>\n      arrow = $(ev.currentTarget).children('i')\n      arrow.toggleClass('icon-mini-arrow-down').toggleClass('icon-mini-arrow-right')\n      @toggleCache() unless $(ev.currentTarget).data(\"noToggleCache\")\n      #reset noToggleCache because it is a one-time-use-only flag\n      @resetNoToggleCache(ev.currentTarget)\n\n    toggleArrowWithKeyboard: (ev) =>\n      $(ev.target).click()\n      false\n\n    resetNoToggleCache: (selector=null) ->\n      if selector?\n        obj = $(selector)\n      else\n        obj = @$el.find('.element_toggler')\n      obj.data(\"noToggleCache\", false)\n\n    toggleCache: ->\n      key = @cacheKey()\n      expanded = !@cache.get(key)\n      @cache.set(key, expanded)\n\n    onMoveGroup: () =>\n      @moveTrayProps =\n        title: I18n.t('Move Group')\n        items: [\n          id: @model.get('id')\n          title: @model.get('name')\n        ]\n        moveOptions:\n          siblings: MoveItem.backbone.collectionToItems(@model.collection)\n        onMoveSuccess: (res) =>\n          MoveItem.backbone.reorderInCollection(res.data.order, @model)\n        focusOnExit: =>\n          document.querySelector(\"#assignment_group_#{@model.id} a[id*=manage_link]\")\n        formatSaveUrl: => ENV.URLS.sort_url\n\n      MoveItem.renderTray(@moveTrayProps, document.getElementById('not_right_side'))\n\n    onMoveContents: () =>\n      groupItems = MoveItem.backbone.collectionToItems(@model, (col) => col.get('assignments'))\n      groupItems[0].groupId = @model.get('id')\n      @moveTrayProps =\n        title: I18n.t('Move Contents Into')\n        items: groupItems\n        moveOptions:\n          groupsLabel: I18n.t('Assignment Group')\n          groups: MoveItem.backbone.collectionToGroups(@model.collection, (col) => col.get('assignments'))\n          excludeCurrent: true\n        onMoveSuccess: (res) =>\n          keys =\n            model: 'assignments'\n            parent: 'assignment_group_id'\n          MoveItem.backbone.reorderAllItemsIntoNewCollection(res.data.order, res.groupId, @model, keys)\n        focusOnExit: =>\n          document.querySelector(\"#assignment_group_#{@model.id} a[id*=manage_link]\")\n        formatSaveUrl: ({ groupId }) ->\n          \"#{ENV.URLS.assignment_sort_base_url}/#{groupId}/reorder\"\n\n      MoveItem.renderTray(@moveTrayProps, document.getElementById('not_right_side'))\n\n    hasMasterCourseRestrictedAssignments: ->\n      @model.get('assignments').any (m) ->\n        m.isRestrictedByMasterCourse()\n\n    canDelete: ->\n      (@userIsAdmin or @model.canDelete()) && !@hasMasterCourseRestrictedAssignments()\n\n    canManage: ->\n      ENV.PERMISSIONS.manage\n\n    currentUserId: ->\n      ENV.current_user_id\n\n    isVisible: =>\n      $(\"#assignment_group_#{@model.id}\").is(\":visible\")\n\n    goToNextItem: =>\n      if @hasVisibleAssignments()\n        @focusOnAssignment(@firstAssignment())\n      else if @nextGroup()?\n        @focusOnGroup(@nextGroup())\n      else\n        @focusOnFirstGroup()\n\n    goToPrevItem: =>\n      if @previousGroup()?\n        if @previousGroup().view.hasVisibleAssignments()\n          @focusOnAssignment(@previousGroup().view.lastAssignment())\n        else\n          @focusOnGroup(@previousGroup())\n      else\n        if @lastVisibleGroup().view.hasVisibleAssignments()\n          @focusOnAssignment(@lastVisibleGroup().view.lastAssignment())\n        else\n          @focusOnGroup(@lastVisibleGroup())\n\n    addItem: =>\n      $(\".add_assignment\", \"#assignment_group_#{@model.id}\").click()\n\n    editItem: =>\n      $(\".edit_group[data-focus-returns-to='ag_#{@model.id}_manage_link']\").click()\n\n    deleteItem: =>\n      $(\".delete_group[data-focus-returns-to='ag_#{@model.id}_manage_link']\").click()\n\n    visibleAssignments: =>\n      @collection.filter (assign) ->\n        assign.attributes.hidden != true\n\n    hasVisibleAssignments: =>\n      @currentlyExpanded() and @visibleAssignments().length\n\n    firstAssignment: =>\n      @visibleAssignments()[0]\n\n    lastAssignment: =>\n      @visibleAssignments()[@visibleAssignments().length - 1]\n\n    visibleGroupsInCollection: =>\n      @model.collection.filter (group) ->\n        group.view.isVisible()\n\n    nextGroup: =>\n      place_in_groups_collection = @visibleGroupsInCollection().indexOf(@model)\n      @visibleGroupsInCollection()[place_in_groups_collection + 1]\n\n    previousGroup: =>\n      place_in_groups_collection = @visibleGroupsInCollection().indexOf(@model)\n      @visibleGroupsInCollection()[place_in_groups_collection - 1]\n\n    focusOnGroup: (group) =>\n      $(\"#assignment_group_#{group.attributes.id}\").attr(\"tabindex\",-1).focus()\n\n    focusOnAssignment: (assignment) =>\n      $(\"#assignment_#{assignment.id}\").attr(\"tabindex\",-1).focus()\n\n    focusOnFirstGroup: =>\n      $(\".assignment_group\").filter(\":visible\").first().attr(\"tabindex\",-1).focus()\n\n    lastVisibleGroup: =>\n      last_group_index = @visibleGroupsInCollection().length - 1\n      @visibleGroupsInCollection()[last_group_index]\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/views/assignments/AssignmentGroupListItemView.coffee","//\n// Copyright (C) 2012 - present Instructure, Inc.\n//\n// This file is part of Canvas.\n//\n// Canvas is free software: you can redistribute it and/or modify it under\n// the terms of the GNU Affero General Public License as published by the Free\n// Software Foundation, version 3 of the License.\n//\n// Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n// A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n// details.\n//\n// You should have received a copy of the GNU Affero General Public License along\n// with this program. If not, see <http://www.gnu.org/licenses/>.\n\nimport $ from 'jquery'\nimport {send} from 'jsx/shared/rce/RceCommandShim'\n\nconst rselectTextarea = /^(?:select|textarea)/i\nconst rCRLF = /\\r?\\n/g\nconst rinput = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week|file)$/i\n// radio / checkbox are not included, since they are handled by the @checked check\n\nfunction elements () {\n  if (this.elements) {\n    return $.makeArray(this.elements)\n  } else {\n    const els = $(this).find(':input')\n    if (els.length) {\n      return els\n    } else {\n      return this\n    }\n  }\n}\n\nfunction isSerializable () {\n  return this.name && !this.disabled && (this.checked || rselectTextarea.test(this.nodeName) || rinput.test(this.type))\n}\n\nfunction resultFor (name, value) {\n  if (typeof value === 'string') value = value.replace(rCRLF, '\\r\\n')\n  return {name, value}\n}\n\nfunction getValue () {\n  const $input = $(this)\n  const value = (() => {\n    if (this.type === 'file') {\n      if ($input.val()) return this\n    } else if ($input.hasClass('datetime_field_enabled')) {\n      // datepicker doesn't clear the data date attribute when a date is deleted\n      if ($input.val() === '') {\n        return null\n      } else {\n        return $input.data('date') || null\n      }\n    } else if ($input.data('rich_text')) {\n      return send($input, 'get_code', false)\n    } else {\n      return $input.val()\n    }\n  })()\n\n  if ($.isArray(value)) {\n    return value.map(val => resultFor(this.name, val))\n  } else {\n    return resultFor(this.name, value)\n  }\n}\n\n// #\n// identical to $.fn.serializeArray, except:\n// 1. it works on non-forms (see elements)\n// 2. it handles file, date picker and tinymce inputs (see getValue)\nexport default $.fn.serializeForm = function () {\n  return this\n    .map(elements)\n    .filter(isSerializable)\n    .map(getValue)\n    .get()\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/jquery/serializeForm.js","\n    define(['i18nObj', 'translations/assignments.create_group', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('assignments.create_group')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?assignments.create_group!./public/javascripts/dummyI18nResource.js\n// module id = 80S9vCLbLD\n// module chunks = 54","\n    define('jst/assignments/_assignmentListItemScore', [\"handlebars/runtime\",\"i18n!assignments.assignment_list_item_score\",\"coffeescripts/handlebars_helpers.coffee\"], function(Handlebars){\n      Handlebars = Handlebars.default\n      var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};\n      var name = 'assignments/-assignmentListItemScore';\n      templates[name] = template(function (Handlebars,depth0,helpers,partials,data) {\n  this.compilerInfo = [4,'>= 1.0.0'];\nhelpers = this.merge(helpers, Handlebars.helpers); data = data || {};\n  var buffer = \"\", stack1, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, functionType=\"function\", self=this;\n\nfunction program1(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n    \";\n  stack1 = (helper = helpers.ifAll || (depth0 && depth0.ifAll),options={hash:{},inverse:self.program(4, program4, data),fn:self.program(2, program2, data),data:data},helper ? helper.call(depth0, (depth0 && depth0.submission), ((stack1 = (depth0 && depth0.submission)),stack1 == null || stack1 === false ? stack1 : stack1.excused), options) : helperMissing.call(depth0, \"ifAll\", (depth0 && depth0.submission), ((stack1 = (depth0 && depth0.submission)),stack1 == null || stack1 === false ? stack1 : stack1.excused), options));\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n  \";\n  return buffer;\n  }\nfunction program2(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n      \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"excused_cf8792eb\", \"Excused\", options) : helperMissing.call(depth0, \"t\", \"excused_cf8792eb\", \"Excused\", options)))\n    + \"\\n    \";\n  return buffer;\n  }\n\nfunction program4(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n      \";\n  stack1 = (helper = helpers.ifAll || (depth0 && depth0.ifAll),options={hash:{},inverse:self.program(14, program14, data),fn:self.program(5, program5, data),data:data},helper ? helper.call(depth0, (depth0 && depth0.submission), ((stack1 = (depth0 && depth0.submission)),stack1 == null || stack1 === false ? stack1 : stack1.submitted_or_graded), options) : helperMissing.call(depth0, \"ifAll\", (depth0 && depth0.submission), ((stack1 = (depth0 && depth0.submission)),stack1 == null || stack1 === false ? stack1 : stack1.submitted_or_graded), options));\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n    \";\n  return buffer;\n  }\nfunction program5(depth0,data) {\n  \n  var buffer = \"\", stack1;\n  buffer += \"\\n\\n        \";\n  stack1 = helpers['with'].call(depth0, (depth0 && depth0.submission), {hash:{},inverse:self.noop,fn:self.program(6, program6, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n\\n      \";\n  return buffer;\n  }\nfunction program6(depth0,data) {\n  \n  var buffer = \"\", stack1;\n  buffer += \"\\n          \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.notYetGraded), {hash:{},inverse:self.program(9, program9, data),fn:self.program(7, program7, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n        \";\n  return buffer;\n  }\nfunction program7(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n\\n            <span class=\\\"score-display\\\">\\n            \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'pointsPossible': ((depth0 && depth0.pointsPossible)),\n    'scope': (\"assignments.assignment_list_item_score\")\n  },data:data},helper ? helper.call(depth0, \"empty_points_possible\", \"-/%{pointsPossible} pts\", options) : helperMissing.call(depth0, \"t\", \"empty_points_possible\", \"-/%{pointsPossible} pts\", options)))\n    + \"\\n            </span>\\n            &nbsp;&#124;&nbsp;\\n            <span class=\\\"grade-display\\\">\\n            \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"not_yet_graded_40475341\", \"Not Yet Graded\", options) : helperMissing.call(depth0, \"t\", \"not_yet_graded_40475341\", \"Not Yet Graded\", options)))\n    + \"\\n            </span>\\n\\n          \";\n  return buffer;\n  }\n\nfunction program9(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n            <span class=\\\"score-display\\\">\\n                \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'score': ((depth0 && depth0.score)),\n    'pointsPossible': ((depth0 && depth0.pointsPossible)),\n    'w0': (\"<b>$1</b>\"),\n    'scope': (\"assignments.assignment_list_item_score\")\n  },data:data},helper ? helper.call(depth0, \"score_with_points_possible\", \"*%{score}*/%{pointsPossible} pts\", options) : helperMissing.call(depth0, \"t\", \"score_with_points_possible\", \"*%{score}*/%{pointsPossible} pts\", options)))\n    + \"\\n            </span>\\n            \";\n  stack1 = (helper = helpers.ifAll || (depth0 && depth0.ifAll),options={hash:{},inverse:self.noop,fn:self.program(10, program10, data),data:data},helper ? helper.call(depth0, (depth0 && depth0.gradeDisplay), (depth0 && depth0.pointsPossible), options) : helperMissing.call(depth0, \"ifAll\", (depth0 && depth0.gradeDisplay), (depth0 && depth0.pointsPossible), options));\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n            \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.gradeDisplay), {hash:{},inverse:self.noop,fn:self.program(12, program12, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n\\n          \";\n  return buffer;\n  }\nfunction program10(depth0,data) {\n  \n  \n  return \"\\n              &nbsp;&#124;&nbsp;\\n            \";\n  }\n\nfunction program12(depth0,data) {\n  \n  var buffer = \"\", stack1, helper;\n  buffer += \"\\n              <span class=\\\"grade-display\\\">\\n                <strong>\\n                  \";\n  if (helper = helpers.gradeDisplay) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.gradeDisplay); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\n                </strong>\\n              </span>\\n            \";\n  return buffer;\n  }\n\nfunction program14(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n\\n        <span data-tooltip=\\\"\\\" class=\\\"score-display\\\" title='\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.assignment_list_item_score\")\n  },data:data},helper ? helper.call(depth0, \"no_submission\", \"No Submission\", options) : helperMissing.call(depth0, \"t\", \"no_submission\", \"No Submission\", options)))\n    + \"'>\\n          \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'pointsPossible': ((depth0 && depth0.pointsPossible)),\n    'scope': (\"assignments.assignment_list_item_score\")\n  },data:data},helper ? helper.call(depth0, \"empty_points_possible\", \"-/%{pointsPossible} pts\", options) : helperMissing.call(depth0, \"t\", \"empty_points_possible\", \"-/%{pointsPossible} pts\", options)))\n    + \"\\n        </span>\\n\\n      \";\n  return buffer;\n  }\n\nfunction program16(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n    \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.assignment_list_item_score\")\n  },data:data},helper ? helper.call(depth0, \"assignment_grading_type_is_not_graded\", \"This assignment will not be assigned a grade.\", options) : helperMissing.call(depth0, \"t\", \"assignment_grading_type_is_not_graded\", \"This assignment will not be assigned a grade.\", options)))\n    + \"\\n  \";\n  return buffer;\n  }\n\nfunction program18(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n    \";\n  stack1 = (helper = helpers.ifAll || (depth0 && depth0.ifAll),options={hash:{},inverse:self.program(21, program21, data),fn:self.program(19, program19, data),data:data},helper ? helper.call(depth0, (depth0 && depth0.submission), ((stack1 = (depth0 && depth0.submission)),stack1 == null || stack1 === false ? stack1 : stack1.excused), options) : helperMissing.call(depth0, \"ifAll\", (depth0 && depth0.submission), ((stack1 = (depth0 && depth0.submission)),stack1 == null || stack1 === false ? stack1 : stack1.excused), options));\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n  \";\n  return buffer;\n  }\nfunction program19(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n      \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"this_assignment_has_been_excused_87f1dc13\", \"This assignment has been excused.\", options) : helperMissing.call(depth0, \"t\", \"this_assignment_has_been_excused_87f1dc13\", \"This assignment has been excused.\", options)))\n    + \"\\n    \";\n  return buffer;\n  }\n\nfunction program21(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n      \";\n  stack1 = (helper = helpers.ifAll || (depth0 && depth0.ifAll),options={hash:{},inverse:self.program(28, program28, data),fn:self.program(22, program22, data),data:data},helper ? helper.call(depth0, (depth0 && depth0.submission), ((stack1 = (depth0 && depth0.submission)),stack1 == null || stack1 === false ? stack1 : stack1.submitted_or_graded), options) : helperMissing.call(depth0, \"ifAll\", (depth0 && depth0.submission), ((stack1 = (depth0 && depth0.submission)),stack1 == null || stack1 === false ? stack1 : stack1.submitted_or_graded), options));\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n\\n    \";\n  return buffer;\n  }\nfunction program22(depth0,data) {\n  \n  var buffer = \"\", stack1;\n  buffer += \"\\n\\n        \";\n  stack1 = helpers['with'].call(depth0, (depth0 && depth0.submission), {hash:{},inverse:self.noop,fn:self.program(23, program23, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n\\n      \";\n  return buffer;\n  }\nfunction program23(depth0,data) {\n  \n  var buffer = \"\", stack1;\n  buffer += \"\\n          \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.notYetGraded), {hash:{},inverse:self.program(26, program26, data),fn:self.program(24, program24, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n\\n        \";\n  return buffer;\n  }\nfunction program24(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n\\n            \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'pointsPossible': ((depth0 && depth0.pointsPossible)),\n    'scope': (\"assignments.assignment_list_item_score\")\n  },data:data},helper ? helper.call(depth0, \"assignment_not_yet_graded_screenreader\", \"Assignment not yet graded. %{pointsPossible} points possible.\", options) : helperMissing.call(depth0, \"t\", \"assignment_not_yet_graded_screenreader\", \"Assignment not yet graded. %{pointsPossible} points possible.\", options)))\n    + \"\\n\\n          \";\n  return buffer;\n  }\n\nfunction program26(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n\\n            \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'score': ((depth0 && depth0.score)),\n    'pointsPossible': ((depth0 && depth0.pointsPossible)),\n    'scope': (\"assignments.assignment_list_item_score\")\n  },data:data},helper ? helper.call(depth0, \"score_with_points_possible_screenreader\", \"Score: %{score} out of %{pointsPossible} points.\", options) : helperMissing.call(depth0, \"t\", \"score_with_points_possible_screenreader\", \"Score: %{score} out of %{pointsPossible} points.\", options)))\n    + \"\\n            \";\n  if (helper = helpers.gradeDisplayForScreenreader) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.gradeDisplayForScreenreader); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\n\\n          \";\n  return buffer;\n  }\n\nfunction program28(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n\\n        \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'pointsPossible': ((depth0 && depth0.pointsPossible)),\n    'scope': (\"assignments.assignment_list_item_score\")\n  },data:data},helper ? helper.call(depth0, \"no_submission_for_assignment_screenreader\", \"No submission for this assignment. %{pointsPossible} points possible.\", options) : helperMissing.call(depth0, \"t\", \"no_submission_for_assignment_screenreader\", \"No submission for this assignment. %{pointsPossible} points possible.\", options)))\n    + \"\\n\\n      \";\n  return buffer;\n  }\n\n  buffer += \"<span class=\\\"non-screenreader\\\" aria-hidden=\\\"true\\\">\\n  \";\n  stack1 = helpers.unless.call(depth0, (depth0 && depth0.hideGrade), {hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n</span>\\n\\n<span class=\\\"screenreader-only\\\">\\n  \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.hideGrade), {hash:{},inverse:self.program(18, program18, data),fn:self.program(16, program16, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n\\n</span>\\n\";\n  return buffer;\n  });\n      \n      Handlebars.registerPartial('assignments/assignmentListItemScore', templates['assignments/-assignmentListItemScore']);\n    ;\n      ;\n      return templates[name];\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./app/views/jst/assignments/_assignmentListItemScore.handlebars\n// module id = 8UDvMkDhIF\n// module chunks = 54","/*\n * Copyright (C) 2017 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport { string, shape, arrayOf, oneOfType, bool } from 'prop-types'\n\nexport const itemShape = shape({\n  id: string.isRequired,\n  title: string.isRequired,\n  groupId: string,\n})\n\nexport const groupShape = shape({\n  id: string.isRequired,\n  title: string.isRequired,\n  items: arrayOf(itemShape),\n})\n\nexport const moveOptionsType = oneOfType([\n  shape({\n    siblings: arrayOf(itemShape).isRequired,\n  }),\n  shape({\n    groupsLabel: string.isRequired,\n    groups: arrayOf(groupShape).isRequired,\n    excludeCurrent: bool\n  }),\n])\n\n\n\n// WEBPACK FOOTER //\n// ./app/jsx/move_item/propTypes.js","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"close_move_tray_8609e988\":\"إغلاق نقل العلبة\",\"move_item_failed_8e4c1db6\":\"فشل نقل العنصر\",\"move_to_25d7ef11\":\"نقل إلى\"},\"cy\":{\"close_move_tray_8609e988\":\"cau’r ardal symud\",\"move_item_failed_8e4c1db6\":\"Wedi methu Symud Eitem\",\"move_to_25d7ef11\":\"Symud I\"},\"da\":{\"close_move_tray_8609e988\":\"luk flytte-bakken\",\"move_item_failed_8e4c1db6\":\"Flytning af element ikke udført\",\"move_to_25d7ef11\":\"Flyt til\"},\"da-x-k12\":{\"close_move_tray_8609e988\":\"luk flytte-bakken\",\"move_item_failed_8e4c1db6\":\"Flytning af element ikke udført\",\"move_to_25d7ef11\":\"Flyt til\"},\"de\":{\"close_move_tray_8609e988\":\"Fach schließen/verschieben\",\"move_item_failed_8e4c1db6\":\"Objekt verschieben fehlgeschlagen\",\"move_to_25d7ef11\":\"Verschieben nach\"},\"en-AU\":{\"close_move_tray_8609e988\":\"close move tray\",\"move_item_failed_8e4c1db6\":\"Move Item Failed\",\"move_to_25d7ef11\":\"Move To\"},\"en-CA\":{\"close_move_tray_8609e988\":\"close move tray\",\"move_item_failed_8e4c1db6\":\"Move Item Failed\",\"move_to_25d7ef11\":\"Move To\"},\"en-GB\":{\"close_move_tray_8609e988\":\"close move tray\",\"move_item_failed_8e4c1db6\":\"Move item failed\",\"move_to_25d7ef11\":\"Move to\"},\"en-GB-x-lbs\":{\"close_move_tray_8609e988\":\"close move tray\",\"move_item_failed_8e4c1db6\":\"Move item failed\",\"move_to_25d7ef11\":\"Move to\"},\"en-GB-x-ukhe\":{\"close_move_tray_8609e988\":\"close move tray\",\"move_item_failed_8e4c1db6\":\"Move item failed\",\"move_to_25d7ef11\":\"Move to\"},\"es\":{\"close_move_tray_8609e988\":\"cerrar la bandeja de movimiento\",\"move_item_failed_8e4c1db6\":\"Ha fallado Mover elemento\",\"move_to_25d7ef11\":\"Mover a\"},\"fa\":{\"close_move_tray_8609e988\":\"بستن سینی انتقال\",\"move_item_failed_8e4c1db6\":\"انتقال مورد ناموفق بود.\",\"move_to_25d7ef11\":\"انتقال به \"},\"fr\":{\"close_move_tray_8609e988\":\"fermer le bac des déplacements\",\"move_item_failed_8e4c1db6\":\"Échec du déplacement de l’élément\",\"move_to_25d7ef11\":\"Déplacer vers\"},\"fr-CA\":{\"close_move_tray_8609e988\":\"fermer le plateau de déplacement\",\"move_item_failed_8e4c1db6\":\"Déplacement d’élément en échec\",\"move_to_25d7ef11\":\"Déplacer vers\"},\"he\":{\"close_move_tray_8609e988\":\"סגירת העברת תיבה\",\"move_item_failed_8e4c1db6\":\"העברת פריט נכשלה\",\"move_to_25d7ef11\":\"העבר ל\"},\"ht\":{\"close_move_tray_8609e988\":\"Fèmen plato deplasman\",\"move_item_failed_8e4c1db6\":\"Echèk Deplasman Eleman\",\"move_to_25d7ef11\":\"Ale nan\"},\"hu\":{\"move_item_failed_8e4c1db6\":\"Elem áthelyezése sikertelen\",\"move_to_25d7ef11\":\"Áthelyezés ide\"},\"is\":{\"close_move_tray_8609e988\":\"loka færslubakka\",\"move_item_failed_8e4c1db6\":\"Ekki tókst að færa atriði\",\"move_to_25d7ef11\":\"Færa til\"},\"it\":{\"close_move_tray_8609e988\":\"chiudi/sposta riquadro\",\"move_item_failed_8e4c1db6\":\"Spostamento elemento non riuscito\",\"move_to_25d7ef11\":\"Passa a\"},\"ja\":{\"close_move_tray_8609e988\":\"移動トレイを閉じる\",\"move_item_failed_8e4c1db6\":\"アイテム移動に失敗\",\"move_to_25d7ef11\":\"移動先\"},\"mi\":{\"close_move_tray_8609e988\":\"katia neke pereki\",\"move_item_failed_8e4c1db6\":\"Neke Tūemi i Rahua\",\"move_to_25d7ef11\":\"Nuku ki\"},\"nb\":{\"close_move_tray_8609e988\":\"nær flytt brett\",\"move_item_failed_8e4c1db6\":\"Flytting av element feilet\",\"move_to_25d7ef11\":\"Flytt til\"},\"nb-x-k12\":{\"close_move_tray_8609e988\":\"nær flytt brett\",\"move_item_failed_8e4c1db6\":\"Flytting av element feilet\",\"move_to_25d7ef11\":\"Flytt til\"},\"nl\":{\"close_move_tray_8609e988\":\"menu verplaatsen sluiten\",\"move_item_failed_8e4c1db6\":\"Item verplaatsen mislukt\",\"move_to_25d7ef11\":\"Verplaatsen naar\"},\"nn\":{\"close_move_tray_8609e988\":\"lukk flyttmeny\",\"move_item_failed_8e4c1db6\":\"Flytting av element mislukkast\",\"move_to_25d7ef11\":\"Flytt til\"},\"pl\":{\"close_move_tray_8609e988\":\"zamknij panel\",\"move_item_failed_8e4c1db6\":\"Nie przeniesiono elementu\",\"move_to_25d7ef11\":\"Przenieś do\"},\"pt\":{\"close_move_tray_8609e988\":\"bandeja de movimento fechado\",\"move_item_failed_8e4c1db6\":\"Mover item falhou\",\"move_to_25d7ef11\":\"Mover para\"},\"pt-BR\":{\"close_move_tray_8609e988\":\"fechar mover bandeja\",\"move_item_failed_8e4c1db6\":\"Mover item com falha\",\"move_to_25d7ef11\":\"Mover para\"},\"ru\":{\"close_move_tray_8609e988\":\"закрыть лоток отправки\",\"move_item_failed_8e4c1db6\":\"Не удалось переместить элемент\",\"move_to_25d7ef11\":\"Переместить в\"},\"sl\":{\"close_move_tray_8609e988\":\"Zapri trak za premikanje\",\"move_item_failed_8e4c1db6\":\"Premikanje predmeta ni uspelo\",\"move_to_25d7ef11\":\"Premakni v\"},\"sv\":{\"close_move_tray_8609e988\":\"Stäng utragsbara facket\",\"move_item_failed_8e4c1db6\":\"Flytta föremål misslyckades\",\"move_to_25d7ef11\":\"Flytta till\"},\"sv-x-k12\":{\"close_move_tray_8609e988\":\"Stäng utragsbara facket\",\"move_item_failed_8e4c1db6\":\"Flytta objekt misslyckades\",\"move_to_25d7ef11\":\"Flytta till\"},\"tr\":{\"close_move_tray_8609e988\":\"taşı yan menüsünü kapat\"},\"uk\":{\"close_move_tray_8609e988\":\"закрити панель переміщення\",\"move_item_failed_8e4c1db6\":\"Невдале переміщення елементу \",\"move_to_25d7ef11\":\"Перемістити до\"},\"zh-Hans\":{\"close_move_tray_8609e988\":\"关闭移动托盘\",\"move_item_failed_8e4c1db6\":\"移动项目失败\",\"move_to_25d7ef11\":\"移动到\"},\"zh-Hant\":{\"close_move_tray_8609e988\":\"關閉移動收集箱\",\"move_item_failed_8e4c1db6\":\"移動項目失敗\",\"move_to_25d7ef11\":\"移至\"}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/move_item_tray.js\n// module id = 9vfPIwdOO1\n// module chunks = 32 36 51 54 58 59 67","#\n# Copyright (C) 2013 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  'underscore'\n  'i18n!assignments'\n], ( _, I18n) ->\n\n  keyBindings:\n    [\n      keyCode: 74\n      handler: 'goToNextItem'\n      key: I18n.t 'keycodes.next', 'j'\n      desc: I18n.t 'keyboard_next_item', 'Focus on the next assignment or group'\n    ,\n      keyCode: 75\n      handler: 'goToPrevItem'\n      key: I18n.t 'keycodes.previous', 'k'\n      desc: I18n.t 'keyboard_prev_item', 'Focus on the previous assignment or group'\n    ,\n      keyCode: 69\n      handler: 'editItem'\n      key: I18n.t 'keycodes.edit_item', 'e'\n      desc: I18n.t 'keyboard_edit_item', 'Edit the current assignment or group'\n    ,\n      keyCode: 68\n      handler: 'deleteItem'\n      key: I18n.t 'keycodes.del_item', 'd'\n      desc: I18n.t 'keyboard_del_item', 'Delete the current assignment or group'\n    ,\n      keyCode: 65\n      handler: 'addItem'\n      key: I18n.t 'keycodes.add_item', 'a'\n      desc: I18n.t 'keyboard_add_item', 'Add an assignment to selected group'\n    ,\n      keyCode: 70\n      handler: 'showAssignment'\n      key: I18n.t 'keycodes.show_assign', 'f'\n      desc: I18n.t 'keyboard_show_assign', 'Show full preview of the selected assignment'\n    ,\n      keyCode: null\n      key: I18n.t 'keycodes.close_menu', 'esc'\n      desc: I18n.t 'keyboard_close_menu', 'Close the active dialog'\n    ]\n\n  handleKeys: (e) ->\n    modifiers = ['shiftKey', 'altKey', 'ctrlKey']\n    return if _.any(e[mod] for mod in modifiers)\n    b = _.find(@keyBindings, (binding) ->\n      binding.keyCode == e.keyCode\n    )\n    if b?.handler\n      @[b.handler]?(e)\n      e.stopPropagation()\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/views/assignments/AssignmentKeyBindingsMixin.coffee","/*** IMPORTS FROM imports-loader ***/\n(function() {\n\n(function () {\nvar directionality = (function () {\n    'use strict';\n\n    var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    var setDir = function (editor, dir) {\n      var dom = editor.dom;\n      var curDir;\n      var blocks = editor.selection.getSelectedBlocks();\n      if (blocks.length) {\n        curDir = dom.getAttrib(blocks[0], 'dir');\n        global$1.each(blocks, function (block) {\n          if (!dom.getParent(block.parentNode, '*[dir=\"' + dir + '\"]', dom.getRoot())) {\n            dom.setAttrib(block, 'dir', curDir !== dir ? dir : null);\n          }\n        });\n        editor.nodeChanged();\n      }\n    };\n    var Direction = { setDir: setDir };\n\n    var register = function (editor) {\n      editor.addCommand('mceDirectionLTR', function () {\n        Direction.setDir(editor, 'ltr');\n      });\n      editor.addCommand('mceDirectionRTL', function () {\n        Direction.setDir(editor, 'rtl');\n      });\n    };\n    var Commands = { register: register };\n\n    var generateSelector = function (dir) {\n      var selector = [];\n      global$1.each('h1 h2 h3 h4 h5 h6 div p'.split(' '), function (name) {\n        selector.push(name + '[dir=' + dir + ']');\n      });\n      return selector.join(',');\n    };\n    var register$1 = function (editor) {\n      editor.addButton('ltr', {\n        title: 'Left to right',\n        cmd: 'mceDirectionLTR',\n        stateSelector: generateSelector('ltr')\n      });\n      editor.addButton('rtl', {\n        title: 'Right to left',\n        cmd: 'mceDirectionRTL',\n        stateSelector: generateSelector('rtl')\n      });\n    };\n    var Buttons = { register: register$1 };\n\n    global.add('directionality', function (editor) {\n      Commands.register(editor);\n      Buttons.register(editor);\n    });\n    function Plugin () {\n    }\n\n    return Plugin;\n\n}());\n})();\n\n}.call(window));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/tinymce/plugins/directionality/plugin.js\n// module id = A7evAMxGaJ\n// module chunks = 2 3 28 35 44 54 73 85 102","#\n# Copyright (C) 2013 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  'Backbone'\n  'underscore'\n  'i18n!assignments'\n  'jst/assignments/NeverDrop'\n], (Backbone, _, I18n, neverDropTemplate) ->\n\n  class NeverDrop extends Backbone.View\n    className: 'never_drop_rule'\n    template: neverDropTemplate\n\n    @optionProperty 'canChangeDropRules'\n\n    events:\n      'change select': 'setChosen'\n      'click .remove_never_drop': 'removeNeverDrop'\n\n    # change the `chosen_id` on a model\n    # and mark it for focusing when we re-render\n    # the collection\n    setChosen: (e) ->\n      if @canChangeDropRules\n        $target = @$(e.currentTarget)\n        @model.set\n          'chosen_id': $target.val()\n          'focus': true\n\n    removeNeverDrop: (e) ->\n      e.preventDefault()\n      if @canChangeDropRules\n        @model.collection.remove @model\n\n    #after render we want to check and see if we should focus\n    #this select\n    afterRender: ->\n      if @model.has('focus')\n        _.defer(=>\n          @$('select').focus()\n          @model.unset 'focus'\n        )\n\n    toJSON: =>\n      json = super\n      json.canChangeDropRules = @canChangeDropRules\n      json.buttonTitle = I18n.t('remove_unsaved_never_drop_rule', \"Remove unsaved never drop rule\")\n      if @model.has('chosen_id')\n        json.assignments = @model.collection.toAssignments(@model.get('chosen_id'))\n      if json.chosen\n        json.buttonTitle = I18n.t('remove_never_drop_rule', \"Remove never drop rule\") + \" #{json.chosen}\"\n      json\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/views/assignments/NeverDropView.coffee","/*\n * Copyright (C) 2016 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport _ from 'underscore'\n\nfunction validateDate(date, nullAllowed = false) {\n  let valid = _.isDate(date)\n  if (nullAllowed && !valid) {\n    valid = date === null\n  }\n\n  if (!valid) throw new Error(`\\`${date}\\` must be a Date or null`)\n}\n\nfunction validateGradingPeriodDates(gradingPeriods) {\n  if (gradingPeriods == null) throw new Error(`\\'${gradingPeriods}\\' must be an array or object`)\n\n  const dates = ['startDate', 'endDate', 'closeDate']\n  const periods = _.isArray(gradingPeriods) ? gradingPeriods : [gradingPeriods]\n  _.each(periods, period => {\n    _.each(dates, date => validateDate(period[date]))\n  })\n\n  return periods\n}\n\nfunction validatePeriodID(id) {\n  const valid = _.isString(id)\n  if (!valid) throw new Error(`Grading period id \\`${id}\\` must be a String`)\n}\n\nclass GradingPeriodsHelper {\n  constructor(gradingPeriods) {\n    this.gradingPeriods = validateGradingPeriodDates(gradingPeriods)\n  }\n\n  static isAllGradingPeriods(periodID) {\n    validatePeriodID(periodID)\n\n    return periodID === '0'\n  }\n\n  get earliestValidDueDate() {\n    const orderedPeriods = _.sortBy(this.gradingPeriods, 'startDate')\n    const earliestOpenPeriod = _.find(orderedPeriods, {isClosed: false})\n    if (earliestOpenPeriod) {\n      return earliestOpenPeriod.startDate\n    } else {\n      return null\n    }\n  }\n\n  gradingPeriodForDueAt(dueAt) {\n    validateDate(dueAt, true)\n\n    return (\n      _.find(this.gradingPeriods, period => this.isDateInGradingPeriod(dueAt, period.id, false)) ||\n      null\n    )\n  }\n\n  isDateInGradingPeriod(date, gradingPeriodID, runValidations = true) {\n    if (runValidations) {\n      validateDate(date, true)\n      validatePeriodID(gradingPeriodID)\n    }\n\n    const gradingPeriod = _.find(this.gradingPeriods, {id: gradingPeriodID})\n    if (!gradingPeriod) throw new Error(`No grading period has id \\`${gradingPeriodID}\\``)\n\n    if (date === null) {\n      return gradingPeriod.isLast\n    } else {\n      return gradingPeriod.startDate < date && date <= gradingPeriod.endDate\n    }\n  }\n\n  isDateInClosedGradingPeriod(date) {\n    const period = this.gradingPeriodForDueAt(date)\n    return !!period && period.isClosed\n  }\n}\n\nexport default GradingPeriodsHelper\n\n\n\n// WEBPACK FOOTER //\n// ./app/jsx/grading/helpers/GradingPeriodsHelper.js","\n    define('jst/assignments/DateDueColumnView', [\"handlebars/runtime\",\"i18n!assignments.date_due_column_view\",\"coffeescripts/handlebars_helpers.coffee\"], function(Handlebars){\n      Handlebars = Handlebars.default\n      var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};\n      var name = 'assignments/DateDueColumnView';\n      templates[name] = template(function (Handlebars,depth0,helpers,partials,data) {\n  this.compilerInfo = [4,'>= 1.0.0'];\nhelpers = this.merge(helpers, Handlebars.helpers); data = data || {};\n  var buffer = \"\", stack1, functionType=\"function\", escapeExpression=this.escapeExpression, helperMissing=helpers.helperMissing, self=this;\n\nfunction program1(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n  <strong>\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.date_due_column_view\")\n  },data:data},helper ? helper.call(depth0, \"due\", \"Due\", options) : helperMissing.call(depth0, \"t\", \"due\", \"Due\", options)))\n    + \"</strong>\\n\\n  \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.allDates), {hash:{},inverse:self.program(10, program10, data),fn:self.program(2, program2, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n\";\n  return buffer;\n  }\nfunction program2(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n  <a title=\\\"tooltip\\\"\\n     class=\\\"vdd_tooltip_link\\\"\\n     aria-describedby=\\\"vdd_tooltip_\";\n  if (helper = helpers.selector) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.selector); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\"\\n     data-tooltip-selector=\\\"#vdd_tooltip_\";\n  if (helper = helpers.selector) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.selector); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\"\\n     \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.linkHref), {hash:{},inverse:self.noop,fn:self.program(3, program3, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n     >\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.date_due_column_view\")\n  },data:data},helper ? helper.call(depth0, \"multiple_dates\", \"Multiple Dates\", options) : helperMissing.call(depth0, \"t\", \"multiple_dates\", \"Multiple Dates\", options)))\n    + \"</a>\\n\\n  <div id=\\\"vdd_tooltip_\";\n  if (helper = helpers.selector) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.selector); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\" style=\\\"display:none;\\\">\\n    <dl class=\\\"vdd_tooltip_content dl-horizontal\\\">\\n      \";\n  stack1 = helpers.each.call(depth0, (depth0 && depth0.allDates), {hash:{},inverse:self.noop,fn:self.program(5, program5, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n    </dl>\\n  </div>\\n  \";\n  return buffer;\n  }\nfunction program3(depth0,data) {\n  \n  var buffer = \"\", stack1, helper;\n  buffer += \"href=\\\"\";\n  if (helper = helpers.linkHref) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.linkHref); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\"\";\n  return buffer;\n  }\n\nfunction program5(depth0,data) {\n  \n  var buffer = \"\", stack1, helper;\n  buffer += \"\\n        <div class=\\\"clearfix\\\">\\n          <dt>\";\n  if (helper = helpers.dueFor) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.dueFor); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"</dt>\\n          <dd>\\n            \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.dueAt), {hash:{},inverse:self.program(8, program8, data),fn:self.program(6, program6, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n          </dd>\\n        </div>\\n      \";\n  return buffer;\n  }\nfunction program6(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n              <span \"\n    + escapeExpression((helper = helpers.contextSensitiveDatetimeTitle || (depth0 && depth0.contextSensitiveDatetimeTitle),options={hash:{},data:data},helper ? helper.call(depth0, (depth0 && depth0.dueAt), options) : helperMissing.call(depth0, \"contextSensitiveDatetimeTitle\", (depth0 && depth0.dueAt), options)))\n    + \">\\n                \"\n    + escapeExpression((helper = helpers.tDateToString || (depth0 && depth0.tDateToString),options={hash:{},data:data},helper ? helper.call(depth0, (depth0 && depth0.dueAt), \"short\", options) : helperMissing.call(depth0, \"tDateToString\", (depth0 && depth0.dueAt), \"short\", options)))\n    + \"\\n              </span>\\n            \";\n  return buffer;\n  }\n\nfunction program8(depth0,data) {\n  \n  \n  return \"\\n               -\\n            \";\n  }\n\nfunction program10(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n    \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.date_due_column_view\")\n  },data:data},helper ? helper.call(depth0, \"multiple_dates\", \"Multiple Dates\", options) : helperMissing.call(depth0, \"t\", \"multiple_dates\", \"Multiple Dates\", options)))\n    + \"\\n  \";\n  return buffer;\n  }\n\nfunction program12(depth0,data) {\n  \n  var buffer = \"\", stack1;\n  buffer += \"\\n  \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.singleSectionDueDate), {hash:{},inverse:self.program(15, program15, data),fn:self.program(13, program13, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n\";\n  return buffer;\n  }\nfunction program13(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n    <strong>\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.date_due_column_view\")\n  },data:data},helper ? helper.call(depth0, \"due_date\", \"Due\", options) : helperMissing.call(depth0, \"t\", \"due_date\", \"Due\", options)))\n    + \"</strong>\\n    <span \"\n    + escapeExpression((helper = helpers.contextSensitiveDatetimeTitle || (depth0 && depth0.contextSensitiveDatetimeTitle),options={hash:{},data:data},helper ? helper.call(depth0, (depth0 && depth0.singleSectionDueDate), options) : helperMissing.call(depth0, \"contextSensitiveDatetimeTitle\", (depth0 && depth0.singleSectionDueDate), options)))\n    + \" aria-hidden=\\\"true\\\">\\n      \"\n    + escapeExpression((helper = helpers.datetimeFormatted || (depth0 && depth0.datetimeFormatted),options={hash:{},data:data},helper ? helper.call(depth0, (depth0 && depth0.singleSectionDueDate), options) : helperMissing.call(depth0, \"datetimeFormatted\", (depth0 && depth0.singleSectionDueDate), options)))\n    + \"\\n    </span>\\n    <span class=\\\"screenreader-only\\\">\"\n    + escapeExpression((helper = helpers.contextSensitiveDatetimeTitle || (depth0 && depth0.contextSensitiveDatetimeTitle),options={hash:{\n    'justText': (true)\n  },data:data},helper ? helper.call(depth0, (depth0 && depth0.singleSectionDueDate), options) : helperMissing.call(depth0, \"contextSensitiveDatetimeTitle\", (depth0 && depth0.singleSectionDueDate), options)))\n    + \"</span>\\n  \";\n  return buffer;\n  }\n\nfunction program15(depth0,data) {\n  \n  var buffer = \"\", stack1;\n  buffer += \"\\n      \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.todo_date), {hash:{},inverse:self.noop,fn:self.program(16, program16, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n  \";\n  return buffer;\n  }\nfunction program16(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n      <strong>\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.date_due_column_view\")\n  },data:data},helper ? helper.call(depth0, \"todo_date\", \"To do\", options) : helperMissing.call(depth0, \"t\", \"todo_date\", \"To do\", options)))\n    + \"</strong>\\n      <span \"\n    + escapeExpression((helper = helpers.contextSensitiveDatetimeTitle || (depth0 && depth0.contextSensitiveDatetimeTitle),options={hash:{},data:data},helper ? helper.call(depth0, (depth0 && depth0.todo_date), options) : helperMissing.call(depth0, \"contextSensitiveDatetimeTitle\", (depth0 && depth0.todo_date), options)))\n    + \" aria-hidden=\\\"true\\\">\\n        \"\n    + escapeExpression((helper = helpers.datetimeFormatted || (depth0 && depth0.datetimeFormatted),options={hash:{},data:data},helper ? helper.call(depth0, (depth0 && depth0.todo_date), options) : helperMissing.call(depth0, \"datetimeFormatted\", (depth0 && depth0.todo_date), options)))\n    + \"\\n      </span>\\n      <span class=\\\"screenreader-only\\\">\"\n    + escapeExpression((helper = helpers.contextSensitiveDatetimeTitle || (depth0 && depth0.contextSensitiveDatetimeTitle),options={hash:{\n    'justText': (true)\n  },data:data},helper ? helper.call(depth0, (depth0 && depth0.todo_date), options) : helperMissing.call(depth0, \"contextSensitiveDatetimeTitle\", (depth0 && depth0.todo_date), options)))\n    + \"</span>\\n    \";\n  return buffer;\n  }\n\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.multipleDueDates), {hash:{},inverse:self.program(12, program12, data),fn:self.program(1, program1, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n\";\n  return buffer;\n  });\n      ;\n      ;\n      return templates[name];\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./app/views/jst/assignments/DateDueColumnView.handlebars\n// module id = AsqwPENmwe\n// module chunks = 54 73","/*** IMPORTS FROM imports-loader ***/\n(function() {\n\n(function () {\nvar table = (function () {\n    'use strict';\n\n    var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var noop = function () {\n      var args = [];\n      for (var _i = 0; _i < arguments.length; _i++) {\n        args[_i] = arguments[_i];\n      }\n    };\n    var compose = function (fa, fb) {\n      return function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        return fa(fb.apply(null, args));\n      };\n    };\n    var constant = function (value) {\n      return function () {\n        return value;\n      };\n    };\n    var identity = function (x) {\n      return x;\n    };\n    function curry(fn) {\n      var initialArgs = [];\n      for (var _i = 1; _i < arguments.length; _i++) {\n        initialArgs[_i - 1] = arguments[_i];\n      }\n      return function () {\n        var restArgs = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          restArgs[_i] = arguments[_i];\n        }\n        var all = initialArgs.concat(restArgs);\n        return fn.apply(null, all);\n      };\n    }\n    var not = function (f) {\n      return function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        return !f.apply(null, args);\n      };\n    };\n    var die = function (msg) {\n      return function () {\n        throw new Error(msg);\n      };\n    };\n    var apply = function (f) {\n      return f();\n    };\n    var never = constant(false);\n    var always = constant(true);\n\n    var never$1 = never;\n    var always$1 = always;\n    var none = function () {\n      return NONE;\n    };\n    var NONE = function () {\n      var eq = function (o) {\n        return o.isNone();\n      };\n      var call$$1 = function (thunk) {\n        return thunk();\n      };\n      var id = function (n) {\n        return n;\n      };\n      var noop$$1 = function () {\n      };\n      var nul = function () {\n        return null;\n      };\n      var undef = function () {\n        return undefined;\n      };\n      var me = {\n        fold: function (n, s) {\n          return n();\n        },\n        is: never$1,\n        isSome: never$1,\n        isNone: always$1,\n        getOr: id,\n        getOrThunk: call$$1,\n        getOrDie: function (msg) {\n          throw new Error(msg || 'error: getOrDie called on none.');\n        },\n        getOrNull: nul,\n        getOrUndefined: undef,\n        or: id,\n        orThunk: call$$1,\n        map: none,\n        ap: none,\n        each: noop$$1,\n        bind: none,\n        flatten: none,\n        exists: never$1,\n        forall: always$1,\n        filter: none,\n        equals: eq,\n        equals_: eq,\n        toArray: function () {\n          return [];\n        },\n        toString: constant('none()')\n      };\n      if (Object.freeze)\n        Object.freeze(me);\n      return me;\n    }();\n    var some = function (a) {\n      var constant_a = function () {\n        return a;\n      };\n      var self = function () {\n        return me;\n      };\n      var map = function (f) {\n        return some(f(a));\n      };\n      var bind = function (f) {\n        return f(a);\n      };\n      var me = {\n        fold: function (n, s) {\n          return s(a);\n        },\n        is: function (v) {\n          return a === v;\n        },\n        isSome: always$1,\n        isNone: never$1,\n        getOr: constant_a,\n        getOrThunk: constant_a,\n        getOrDie: constant_a,\n        getOrNull: constant_a,\n        getOrUndefined: constant_a,\n        or: self,\n        orThunk: self,\n        map: map,\n        ap: function (optfab) {\n          return optfab.fold(none, function (fab) {\n            return some(fab(a));\n          });\n        },\n        each: function (f) {\n          f(a);\n        },\n        bind: bind,\n        flatten: constant_a,\n        exists: bind,\n        forall: bind,\n        filter: function (f) {\n          return f(a) ? me : NONE;\n        },\n        equals: function (o) {\n          return o.is(a);\n        },\n        equals_: function (o, elementEq) {\n          return o.fold(never$1, function (b) {\n            return elementEq(a, b);\n          });\n        },\n        toArray: function () {\n          return [a];\n        },\n        toString: function () {\n          return 'some(' + a + ')';\n        }\n      };\n      return me;\n    };\n    var from = function (value) {\n      return value === null || value === undefined ? NONE : some(value);\n    };\n    var Option = {\n      some: some,\n      none: none,\n      from: from\n    };\n\n    var typeOf = function (x) {\n      if (x === null)\n        return 'null';\n      var t = typeof x;\n      if (t === 'object' && Array.prototype.isPrototypeOf(x))\n        return 'array';\n      if (t === 'object' && String.prototype.isPrototypeOf(x))\n        return 'string';\n      return t;\n    };\n    var isType = function (type) {\n      return function (value) {\n        return typeOf(value) === type;\n      };\n    };\n    var isString = isType('string');\n    var isArray = isType('array');\n    var isBoolean = isType('boolean');\n    var isFunction = isType('function');\n    var isNumber = isType('number');\n\n    var rawIndexOf = function () {\n      var pIndexOf = Array.prototype.indexOf;\n      var fastIndex = function (xs, x) {\n        return pIndexOf.call(xs, x);\n      };\n      var slowIndex = function (xs, x) {\n        return slowIndexOf(xs, x);\n      };\n      return pIndexOf === undefined ? slowIndex : fastIndex;\n    }();\n    var contains = function (xs, x) {\n      return rawIndexOf(xs, x) > -1;\n    };\n    var exists = function (xs, pred) {\n      return findIndex(xs, pred).isSome();\n    };\n    var map = function (xs, f) {\n      var len = xs.length;\n      var r = new Array(len);\n      for (var i = 0; i < len; i++) {\n        var x = xs[i];\n        r[i] = f(x, i, xs);\n      }\n      return r;\n    };\n    var each = function (xs, f) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        f(x, i, xs);\n      }\n    };\n    var eachr = function (xs, f) {\n      for (var i = xs.length - 1; i >= 0; i--) {\n        var x = xs[i];\n        f(x, i, xs);\n      }\n    };\n    var filter = function (xs, pred) {\n      var r = [];\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        if (pred(x, i, xs)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    var foldr = function (xs, f, acc) {\n      eachr(xs, function (x) {\n        acc = f(acc, x);\n      });\n      return acc;\n    };\n    var foldl = function (xs, f, acc) {\n      each(xs, function (x) {\n        acc = f(acc, x);\n      });\n      return acc;\n    };\n    var find = function (xs, pred) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        if (pred(x, i, xs)) {\n          return Option.some(x);\n        }\n      }\n      return Option.none();\n    };\n    var findIndex = function (xs, pred) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        if (pred(x, i, xs)) {\n          return Option.some(i);\n        }\n      }\n      return Option.none();\n    };\n    var slowIndexOf = function (xs, x) {\n      for (var i = 0, len = xs.length; i < len; ++i) {\n        if (xs[i] === x) {\n          return i;\n        }\n      }\n      return -1;\n    };\n    var push = Array.prototype.push;\n    var flatten = function (xs) {\n      var r = [];\n      for (var i = 0, len = xs.length; i < len; ++i) {\n        if (!Array.prototype.isPrototypeOf(xs[i]))\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        push.apply(r, xs[i]);\n      }\n      return r;\n    };\n    var bind = function (xs, f) {\n      var output = map(xs, f);\n      return flatten(output);\n    };\n    var forall = function (xs, pred) {\n      for (var i = 0, len = xs.length; i < len; ++i) {\n        var x = xs[i];\n        if (pred(x, i, xs) !== true) {\n          return false;\n        }\n      }\n      return true;\n    };\n    var slice = Array.prototype.slice;\n    var reverse = function (xs) {\n      var r = slice.call(xs, 0);\n      r.reverse();\n      return r;\n    };\n    var last = function (xs) {\n      return xs.length === 0 ? Option.none() : Option.some(xs[xs.length - 1]);\n    };\n    var from$1 = isFunction(Array.from) ? Array.from : function (x) {\n      return slice.call(x);\n    };\n\n    var keys = Object.keys;\n    var each$1 = function (obj, f) {\n      var props = keys(obj);\n      for (var k = 0, len = props.length; k < len; k++) {\n        var i = props[k];\n        var x = obj[i];\n        f(x, i, obj);\n      }\n    };\n    var map$1 = function (obj, f) {\n      return tupleMap(obj, function (x, i, obj) {\n        return {\n          k: i,\n          v: f(x, i, obj)\n        };\n      });\n    };\n    var tupleMap = function (obj, f) {\n      var r = {};\n      each$1(obj, function (x, i) {\n        var tuple = f(x, i, obj);\n        r[tuple.k] = tuple.v;\n      });\n      return r;\n    };\n\n    var Immutable = function () {\n      var fields = [];\n      for (var _i = 0; _i < arguments.length; _i++) {\n        fields[_i] = arguments[_i];\n      }\n      return function () {\n        var values = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          values[_i] = arguments[_i];\n        }\n        if (fields.length !== values.length) {\n          throw new Error('Wrong number of arguments to struct. Expected \"[' + fields.length + ']\", got ' + values.length + ' arguments');\n        }\n        var struct = {};\n        each(fields, function (name, i) {\n          struct[name] = constant(values[i]);\n        });\n        return struct;\n      };\n    };\n\n    var sort$1 = function (arr) {\n      return arr.slice(0).sort();\n    };\n    var reqMessage = function (required, keys) {\n      throw new Error('All required keys (' + sort$1(required).join(', ') + ') were not specified. Specified keys were: ' + sort$1(keys).join(', ') + '.');\n    };\n    var unsuppMessage = function (unsupported) {\n      throw new Error('Unsupported keys for object: ' + sort$1(unsupported).join(', '));\n    };\n    var validateStrArr = function (label, array) {\n      if (!isArray(array))\n        throw new Error('The ' + label + ' fields must be an array. Was: ' + array + '.');\n      each(array, function (a) {\n        if (!isString(a))\n          throw new Error('The value ' + a + ' in the ' + label + ' fields was not a string.');\n      });\n    };\n    var invalidTypeMessage = function (incorrect, type) {\n      throw new Error('All values need to be of type: ' + type + '. Keys (' + sort$1(incorrect).join(', ') + ') were not.');\n    };\n    var checkDupes = function (everything) {\n      var sorted = sort$1(everything);\n      var dupe = find(sorted, function (s, i) {\n        return i < sorted.length - 1 && s === sorted[i + 1];\n      });\n      dupe.each(function (d) {\n        throw new Error('The field: ' + d + ' occurs more than once in the combined fields: [' + sorted.join(', ') + '].');\n      });\n    };\n\n    var MixedBag = function (required, optional) {\n      var everything = required.concat(optional);\n      if (everything.length === 0)\n        throw new Error('You must specify at least one required or optional field.');\n      validateStrArr('required', required);\n      validateStrArr('optional', optional);\n      checkDupes(everything);\n      return function (obj) {\n        var keys$$1 = keys(obj);\n        var allReqd = forall(required, function (req) {\n          return contains(keys$$1, req);\n        });\n        if (!allReqd)\n          reqMessage(required, keys$$1);\n        var unsupported = filter(keys$$1, function (key) {\n          return !contains(everything, key);\n        });\n        if (unsupported.length > 0)\n          unsuppMessage(unsupported);\n        var r = {};\n        each(required, function (req) {\n          r[req] = constant(obj[req]);\n        });\n        each(optional, function (opt) {\n          r[opt] = constant(Object.prototype.hasOwnProperty.call(obj, opt) ? Option.some(obj[opt]) : Option.none());\n        });\n        return r;\n      };\n    };\n\n    var dimensions = Immutable('width', 'height');\n    var grid = Immutable('rows', 'columns');\n    var address = Immutable('row', 'column');\n    var coords = Immutable('x', 'y');\n    var detail = Immutable('element', 'rowspan', 'colspan');\n    var detailnew = Immutable('element', 'rowspan', 'colspan', 'isNew');\n    var extended = Immutable('element', 'rowspan', 'colspan', 'row', 'column');\n    var rowdata = Immutable('element', 'cells', 'section');\n    var elementnew = Immutable('element', 'isNew');\n    var rowdatanew = Immutable('element', 'cells', 'section', 'isNew');\n    var rowcells = Immutable('cells', 'section');\n    var rowdetails = Immutable('details', 'section');\n    var bounds = Immutable('startRow', 'startCol', 'finishRow', 'finishCol');\n    var Structs = {\n      dimensions: dimensions,\n      grid: grid,\n      address: address,\n      coords: coords,\n      extended: extended,\n      detail: detail,\n      detailnew: detailnew,\n      rowdata: rowdata,\n      elementnew: elementnew,\n      rowdatanew: rowdatanew,\n      rowcells: rowcells,\n      rowdetails: rowdetails,\n      bounds: bounds\n    };\n\n    var fromHtml = function (html, scope) {\n      var doc = scope || document;\n      var div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        console.error('HTML does not have a single root node', html);\n        throw 'HTML must have a single root node';\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    var fromTag = function (tag, scope) {\n      var doc = scope || document;\n      var node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    var fromText = function (text, scope) {\n      var doc = scope || document;\n      var node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    var fromDom = function (node) {\n      if (node === null || node === undefined)\n        throw new Error('Node cannot be null or undefined');\n      return { dom: constant(node) };\n    };\n    var fromPoint = function (docElm, x, y) {\n      var doc = docElm.dom();\n      return Option.from(doc.elementFromPoint(x, y)).map(fromDom);\n    };\n    var Element$$1 = {\n      fromHtml: fromHtml,\n      fromTag: fromTag,\n      fromText: fromText,\n      fromDom: fromDom,\n      fromPoint: fromPoint\n    };\n\n    var ATTRIBUTE = Node.ATTRIBUTE_NODE;\n    var CDATA_SECTION = Node.CDATA_SECTION_NODE;\n    var COMMENT = Node.COMMENT_NODE;\n    var DOCUMENT = Node.DOCUMENT_NODE;\n    var DOCUMENT_TYPE = Node.DOCUMENT_TYPE_NODE;\n    var DOCUMENT_FRAGMENT = Node.DOCUMENT_FRAGMENT_NODE;\n    var ELEMENT = Node.ELEMENT_NODE;\n    var TEXT = Node.TEXT_NODE;\n    var PROCESSING_INSTRUCTION = Node.PROCESSING_INSTRUCTION_NODE;\n    var ENTITY_REFERENCE = Node.ENTITY_REFERENCE_NODE;\n    var ENTITY = Node.ENTITY_NODE;\n    var NOTATION = Node.NOTATION_NODE;\n\n    var ELEMENT$1 = ELEMENT;\n    var DOCUMENT$1 = DOCUMENT;\n    var is = function (element, selector) {\n      var elem = element.dom();\n      if (elem.nodeType !== ELEMENT$1)\n        return false;\n      else if (elem.matches !== undefined)\n        return elem.matches(selector);\n      else if (elem.msMatchesSelector !== undefined)\n        return elem.msMatchesSelector(selector);\n      else if (elem.webkitMatchesSelector !== undefined)\n        return elem.webkitMatchesSelector(selector);\n      else if (elem.mozMatchesSelector !== undefined)\n        return elem.mozMatchesSelector(selector);\n      else\n        throw new Error('Browser lacks native selectors');\n    };\n    var bypassSelector = function (dom) {\n      return dom.nodeType !== ELEMENT$1 && dom.nodeType !== DOCUMENT$1 || dom.childElementCount === 0;\n    };\n    var all = function (selector, scope) {\n      var base = scope === undefined ? document : scope.dom();\n      return bypassSelector(base) ? [] : map(base.querySelectorAll(selector), Element$$1.fromDom);\n    };\n    var one = function (selector, scope) {\n      var base = scope === undefined ? document : scope.dom();\n      return bypassSelector(base) ? Option.none() : Option.from(base.querySelector(selector)).map(Element$$1.fromDom);\n    };\n\n    var Global = typeof window !== 'undefined' ? window : Function('return this;')();\n\n    var path = function (parts, scope) {\n      var o = scope !== undefined && scope !== null ? scope : Global;\n      for (var i = 0; i < parts.length && o !== undefined && o !== null; ++i)\n        o = o[parts[i]];\n      return o;\n    };\n    var resolve = function (p, scope) {\n      var parts = p.split('.');\n      return path(parts, scope);\n    };\n\n    var unsafe = function (name, scope) {\n      return resolve(name, scope);\n    };\n    var getOrDie = function (name, scope) {\n      var actual = unsafe(name, scope);\n      if (actual === undefined || actual === null)\n        throw name + ' not available on this browser';\n      return actual;\n    };\n    var Global$1 = { getOrDie: getOrDie };\n\n    var node = function () {\n      var f = Global$1.getOrDie('Node');\n      return f;\n    };\n    var compareDocumentPosition = function (a, b, match) {\n      return (a.compareDocumentPosition(b) & match) !== 0;\n    };\n    var documentPositionPreceding = function (a, b) {\n      return compareDocumentPosition(a, b, node().DOCUMENT_POSITION_PRECEDING);\n    };\n    var documentPositionContainedBy = function (a, b) {\n      return compareDocumentPosition(a, b, node().DOCUMENT_POSITION_CONTAINED_BY);\n    };\n    var Node$1 = {\n      documentPositionPreceding: documentPositionPreceding,\n      documentPositionContainedBy: documentPositionContainedBy\n    };\n\n    var cached = function (f) {\n      var called = false;\n      var r;\n      return function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        if (!called) {\n          called = true;\n          r = f.apply(null, args);\n        }\n        return r;\n      };\n    };\n\n    var firstMatch = function (regexes, s) {\n      for (var i = 0; i < regexes.length; i++) {\n        var x = regexes[i];\n        if (x.test(s))\n          return x;\n      }\n      return undefined;\n    };\n    var find$2 = function (regexes, agent) {\n      var r = firstMatch(regexes, agent);\n      if (!r)\n        return {\n          major: 0,\n          minor: 0\n        };\n      var group = function (i) {\n        return Number(agent.replace(r, '$' + i));\n      };\n      return nu(group(1), group(2));\n    };\n    var detect = function (versionRegexes, agent) {\n      var cleanedAgent = String(agent).toLowerCase();\n      if (versionRegexes.length === 0)\n        return unknown();\n      return find$2(versionRegexes, cleanedAgent);\n    };\n    var unknown = function () {\n      return nu(0, 0);\n    };\n    var nu = function (major, minor) {\n      return {\n        major: major,\n        minor: minor\n      };\n    };\n    var Version = {\n      nu: nu,\n      detect: detect,\n      unknown: unknown\n    };\n\n    var edge = 'Edge';\n    var chrome = 'Chrome';\n    var ie = 'IE';\n    var opera = 'Opera';\n    var firefox = 'Firefox';\n    var safari = 'Safari';\n    var isBrowser = function (name, current) {\n      return function () {\n        return current === name;\n      };\n    };\n    var unknown$1 = function () {\n      return nu$1({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    var nu$1 = function (info) {\n      var current = info.current;\n      var version = info.version;\n      return {\n        current: current,\n        version: version,\n        isEdge: isBrowser(edge, current),\n        isChrome: isBrowser(chrome, current),\n        isIE: isBrowser(ie, current),\n        isOpera: isBrowser(opera, current),\n        isFirefox: isBrowser(firefox, current),\n        isSafari: isBrowser(safari, current)\n      };\n    };\n    var Browser = {\n      unknown: unknown$1,\n      nu: nu$1,\n      edge: constant(edge),\n      chrome: constant(chrome),\n      ie: constant(ie),\n      opera: constant(opera),\n      firefox: constant(firefox),\n      safari: constant(safari)\n    };\n\n    var windows = 'Windows';\n    var ios = 'iOS';\n    var android = 'Android';\n    var linux = 'Linux';\n    var osx = 'OSX';\n    var solaris = 'Solaris';\n    var freebsd = 'FreeBSD';\n    var isOS = function (name, current) {\n      return function () {\n        return current === name;\n      };\n    };\n    var unknown$2 = function () {\n      return nu$2({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    var nu$2 = function (info) {\n      var current = info.current;\n      var version = info.version;\n      return {\n        current: current,\n        version: version,\n        isWindows: isOS(windows, current),\n        isiOS: isOS(ios, current),\n        isAndroid: isOS(android, current),\n        isOSX: isOS(osx, current),\n        isLinux: isOS(linux, current),\n        isSolaris: isOS(solaris, current),\n        isFreeBSD: isOS(freebsd, current)\n      };\n    };\n    var OperatingSystem = {\n      unknown: unknown$2,\n      nu: nu$2,\n      windows: constant(windows),\n      ios: constant(ios),\n      android: constant(android),\n      linux: constant(linux),\n      osx: constant(osx),\n      solaris: constant(solaris),\n      freebsd: constant(freebsd)\n    };\n\n    var DeviceType = function (os, browser, userAgent) {\n      var isiPad = os.isiOS() && /ipad/i.test(userAgent) === true;\n      var isiPhone = os.isiOS() && !isiPad;\n      var isAndroid3 = os.isAndroid() && os.version.major === 3;\n      var isAndroid4 = os.isAndroid() && os.version.major === 4;\n      var isTablet = isiPad || isAndroid3 || isAndroid4 && /mobile/i.test(userAgent) === true;\n      var isTouch = os.isiOS() || os.isAndroid();\n      var isPhone = isTouch && !isTablet;\n      var iOSwebview = browser.isSafari() && os.isiOS() && /safari/i.test(userAgent) === false;\n      return {\n        isiPad: constant(isiPad),\n        isiPhone: constant(isiPhone),\n        isTablet: constant(isTablet),\n        isPhone: constant(isPhone),\n        isTouch: constant(isTouch),\n        isAndroid: os.isAndroid,\n        isiOS: os.isiOS,\n        isWebView: constant(iOSwebview)\n      };\n    };\n\n    var detect$1 = function (candidates, userAgent) {\n      var agent = String(userAgent).toLowerCase();\n      return find(candidates, function (candidate) {\n        return candidate.search(agent);\n      });\n    };\n    var detectBrowser = function (browsers, userAgent) {\n      return detect$1(browsers, userAgent).map(function (browser) {\n        var version = Version.detect(browser.versionRegexes, userAgent);\n        return {\n          current: browser.name,\n          version: version\n        };\n      });\n    };\n    var detectOs = function (oses, userAgent) {\n      return detect$1(oses, userAgent).map(function (os) {\n        var version = Version.detect(os.versionRegexes, userAgent);\n        return {\n          current: os.name,\n          version: version\n        };\n      });\n    };\n    var UaString = {\n      detectBrowser: detectBrowser,\n      detectOs: detectOs\n    };\n\n    var checkRange = function (str, substr, start) {\n      if (substr === '')\n        return true;\n      if (str.length < substr.length)\n        return false;\n      var x = str.substr(start, start + substr.length);\n      return x === substr;\n    };\n    var contains$1 = function (str, substr) {\n      return str.indexOf(substr) !== -1;\n    };\n    var endsWith = function (str, suffix) {\n      return checkRange(str, suffix, str.length - suffix.length);\n    };\n    var trim = function (str) {\n      return str.replace(/^\\s+|\\s+$/g, '');\n    };\n\n    var normalVersionRegex = /.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/;\n    var checkContains = function (target) {\n      return function (uastring) {\n        return contains$1(uastring, target);\n      };\n    };\n    var browsers = [\n      {\n        name: 'Edge',\n        versionRegexes: [/.*?edge\\/ ?([0-9]+)\\.([0-9]+)$/],\n        search: function (uastring) {\n          var monstrosity = contains$1(uastring, 'edge/') && contains$1(uastring, 'chrome') && contains$1(uastring, 'safari') && contains$1(uastring, 'applewebkit');\n          return monstrosity;\n        }\n      },\n      {\n        name: 'Chrome',\n        versionRegexes: [\n          /.*?chrome\\/([0-9]+)\\.([0-9]+).*/,\n          normalVersionRegex\n        ],\n        search: function (uastring) {\n          return contains$1(uastring, 'chrome') && !contains$1(uastring, 'chromeframe');\n        }\n      },\n      {\n        name: 'IE',\n        versionRegexes: [\n          /.*?msie\\ ?([0-9]+)\\.([0-9]+).*/,\n          /.*?rv:([0-9]+)\\.([0-9]+).*/\n        ],\n        search: function (uastring) {\n          return contains$1(uastring, 'msie') || contains$1(uastring, 'trident');\n        }\n      },\n      {\n        name: 'Opera',\n        versionRegexes: [\n          normalVersionRegex,\n          /.*?opera\\/([0-9]+)\\.([0-9]+).*/\n        ],\n        search: checkContains('opera')\n      },\n      {\n        name: 'Firefox',\n        versionRegexes: [/.*?firefox\\/\\ ?([0-9]+)\\.([0-9]+).*/],\n        search: checkContains('firefox')\n      },\n      {\n        name: 'Safari',\n        versionRegexes: [\n          normalVersionRegex,\n          /.*?cpu os ([0-9]+)_([0-9]+).*/\n        ],\n        search: function (uastring) {\n          return (contains$1(uastring, 'safari') || contains$1(uastring, 'mobile/')) && contains$1(uastring, 'applewebkit');\n        }\n      }\n    ];\n    var oses = [\n      {\n        name: 'Windows',\n        search: checkContains('win'),\n        versionRegexes: [/.*?windows\\ nt\\ ?([0-9]+)\\.([0-9]+).*/]\n      },\n      {\n        name: 'iOS',\n        search: function (uastring) {\n          return contains$1(uastring, 'iphone') || contains$1(uastring, 'ipad');\n        },\n        versionRegexes: [\n          /.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/,\n          /.*cpu os ([0-9]+)_([0-9]+).*/,\n          /.*cpu iphone os ([0-9]+)_([0-9]+).*/\n        ]\n      },\n      {\n        name: 'Android',\n        search: checkContains('android'),\n        versionRegexes: [/.*?android\\ ?([0-9]+)\\.([0-9]+).*/]\n      },\n      {\n        name: 'OSX',\n        search: checkContains('os x'),\n        versionRegexes: [/.*?os\\ x\\ ?([0-9]+)_([0-9]+).*/]\n      },\n      {\n        name: 'Linux',\n        search: checkContains('linux'),\n        versionRegexes: []\n      },\n      {\n        name: 'Solaris',\n        search: checkContains('sunos'),\n        versionRegexes: []\n      },\n      {\n        name: 'FreeBSD',\n        search: checkContains('freebsd'),\n        versionRegexes: []\n      }\n    ];\n    var PlatformInfo = {\n      browsers: constant(browsers),\n      oses: constant(oses)\n    };\n\n    var detect$2 = function (userAgent) {\n      var browsers = PlatformInfo.browsers();\n      var oses = PlatformInfo.oses();\n      var browser = UaString.detectBrowser(browsers, userAgent).fold(Browser.unknown, Browser.nu);\n      var os = UaString.detectOs(oses, userAgent).fold(OperatingSystem.unknown, OperatingSystem.nu);\n      var deviceType = DeviceType(os, browser, userAgent);\n      return {\n        browser: browser,\n        os: os,\n        deviceType: deviceType\n      };\n    };\n    var PlatformDetection = { detect: detect$2 };\n\n    var detect$3 = cached(function () {\n      var userAgent = navigator.userAgent;\n      return PlatformDetection.detect(userAgent);\n    });\n    var PlatformDetection$1 = { detect: detect$3 };\n\n    var eq = function (e1, e2) {\n      return e1.dom() === e2.dom();\n    };\n    var regularContains = function (e1, e2) {\n      var d1 = e1.dom(), d2 = e2.dom();\n      return d1 === d2 ? false : d1.contains(d2);\n    };\n    var ieContains = function (e1, e2) {\n      return Node$1.documentPositionContainedBy(e1.dom(), e2.dom());\n    };\n    var browser = PlatformDetection$1.detect().browser;\n    var contains$2 = browser.isIE() ? ieContains : regularContains;\n    var is$1 = is;\n\n    var owner = function (element) {\n      return Element$$1.fromDom(element.dom().ownerDocument);\n    };\n    var defaultView = function (element) {\n      var el = element.dom();\n      var defaultView = el.ownerDocument.defaultView;\n      return Element$$1.fromDom(defaultView);\n    };\n    var parent = function (element) {\n      var dom = element.dom();\n      return Option.from(dom.parentNode).map(Element$$1.fromDom);\n    };\n    var parents = function (element, isRoot) {\n      var stop = isFunction(isRoot) ? isRoot : constant(false);\n      var dom = element.dom();\n      var ret = [];\n      while (dom.parentNode !== null && dom.parentNode !== undefined) {\n        var rawParent = dom.parentNode;\n        var parent = Element$$1.fromDom(rawParent);\n        ret.push(parent);\n        if (stop(parent) === true)\n          break;\n        else\n          dom = rawParent;\n      }\n      return ret;\n    };\n    var prevSibling = function (element) {\n      var dom = element.dom();\n      return Option.from(dom.previousSibling).map(Element$$1.fromDom);\n    };\n    var nextSibling = function (element) {\n      var dom = element.dom();\n      return Option.from(dom.nextSibling).map(Element$$1.fromDom);\n    };\n    var children = function (element) {\n      var dom = element.dom();\n      return map(dom.childNodes, Element$$1.fromDom);\n    };\n    var child = function (element, index) {\n      var children = element.dom().childNodes;\n      return Option.from(children[index]).map(Element$$1.fromDom);\n    };\n    var firstChild = function (element) {\n      return child(element, 0);\n    };\n    var spot = Immutable('element', 'offset');\n\n    var firstLayer = function (scope, selector) {\n      return filterFirstLayer(scope, selector, constant(true));\n    };\n    var filterFirstLayer = function (scope, selector, predicate) {\n      return bind(children(scope), function (x) {\n        return is(x, selector) ? predicate(x) ? [x] : [] : filterFirstLayer(x, selector, predicate);\n      });\n    };\n    var LayerSelector = {\n      firstLayer: firstLayer,\n      filterFirstLayer: filterFirstLayer\n    };\n\n    var name = function (element) {\n      var r = element.dom().nodeName;\n      return r.toLowerCase();\n    };\n    var type = function (element) {\n      return element.dom().nodeType;\n    };\n    var isType$1 = function (t) {\n      return function (element) {\n        return type(element) === t;\n      };\n    };\n    var isComment = function (element) {\n      return type(element) === COMMENT || name(element) === '#comment';\n    };\n    var isElement = isType$1(ELEMENT);\n    var isText = isType$1(TEXT);\n    var isDocument = isType$1(DOCUMENT);\n\n    var rawSet = function (dom, key, value$$1) {\n      if (isString(value$$1) || isBoolean(value$$1) || isNumber(value$$1)) {\n        dom.setAttribute(key, value$$1 + '');\n      } else {\n        console.error('Invalid call to Attr.set. Key ', key, ':: Value ', value$$1, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    var set = function (element, key, value$$1) {\n      rawSet(element.dom(), key, value$$1);\n    };\n    var setAll = function (element, attrs) {\n      var dom = element.dom();\n      each$1(attrs, function (v, k) {\n        rawSet(dom, k, v);\n      });\n    };\n    var get$1 = function (element, key) {\n      var v = element.dom().getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    var has$1 = function (element, key) {\n      var dom = element.dom();\n      return dom && dom.hasAttribute ? dom.hasAttribute(key) : false;\n    };\n    var remove = function (element, key) {\n      element.dom().removeAttribute(key);\n    };\n    var clone = function (element) {\n      return foldl(element.dom().attributes, function (acc, attr) {\n        acc[attr.name] = attr.value;\n        return acc;\n      }, {});\n    };\n\n    var inBody = function (element) {\n      var dom = isText(element) ? element.dom().parentNode : element.dom();\n      return dom !== undefined && dom !== null && dom.ownerDocument.body.contains(dom);\n    };\n    var body = cached(function () {\n      return getBody(Element$$1.fromDom(document));\n    });\n    var getBody = function (doc) {\n      var body = doc.dom().body;\n      if (body === null || body === undefined)\n        throw 'Body is not available yet';\n      return Element$$1.fromDom(body);\n    };\n\n    var ancestors = function (scope, predicate, isRoot) {\n      return filter(parents(scope, isRoot), predicate);\n    };\n    var children$1 = function (scope, predicate) {\n      return filter(children(scope), predicate);\n    };\n    var descendants = function (scope, predicate) {\n      var result = [];\n      each(children(scope), function (x) {\n        if (predicate(x)) {\n          result = result.concat([x]);\n        }\n        result = result.concat(descendants(x, predicate));\n      });\n      return result;\n    };\n\n    var ancestors$1 = function (scope, selector, isRoot) {\n      return ancestors(scope, function (e) {\n        return is(e, selector);\n      }, isRoot);\n    };\n    var children$2 = function (scope, selector) {\n      return children$1(scope, function (e) {\n        return is(e, selector);\n      });\n    };\n    var descendants$1 = function (scope, selector) {\n      return all(selector, scope);\n    };\n\n    function ClosestOrAncestor (is, ancestor, scope, a, isRoot) {\n      return is(scope, a) ? Option.some(scope) : isFunction(isRoot) && isRoot(scope) ? Option.none() : ancestor(scope, a, isRoot);\n    }\n\n    var ancestor = function (scope, predicate, isRoot) {\n      var element = scope.dom();\n      var stop = isFunction(isRoot) ? isRoot : constant(false);\n      while (element.parentNode) {\n        element = element.parentNode;\n        var el = Element$$1.fromDom(element);\n        if (predicate(el))\n          return Option.some(el);\n        else if (stop(el))\n          break;\n      }\n      return Option.none();\n    };\n    var closest = function (scope, predicate, isRoot) {\n      var is = function (scope) {\n        return predicate(scope);\n      };\n      return ClosestOrAncestor(is, ancestor, scope, predicate, isRoot);\n    };\n    var child$1 = function (scope, predicate) {\n      var result = find(scope.dom().childNodes, compose(predicate, Element$$1.fromDom));\n      return result.map(Element$$1.fromDom);\n    };\n    var descendant = function (scope, predicate) {\n      var descend = function (node) {\n        for (var i = 0; i < node.childNodes.length; i++) {\n          if (predicate(Element$$1.fromDom(node.childNodes[i])))\n            return Option.some(Element$$1.fromDom(node.childNodes[i]));\n          var res = descend(node.childNodes[i]);\n          if (res.isSome())\n            return res;\n        }\n        return Option.none();\n      };\n      return descend(scope.dom());\n    };\n\n    var ancestor$1 = function (scope, selector, isRoot) {\n      return ancestor(scope, function (e) {\n        return is(e, selector);\n      }, isRoot);\n    };\n    var child$2 = function (scope, selector) {\n      return child$1(scope, function (e) {\n        return is(e, selector);\n      });\n    };\n    var descendant$1 = function (scope, selector) {\n      return one(selector, scope);\n    };\n    var closest$1 = function (scope, selector, isRoot) {\n      return ClosestOrAncestor(is, ancestor$1, scope, selector, isRoot);\n    };\n\n    var lookup = function (tags, element, _isRoot) {\n      var isRoot = _isRoot !== undefined ? _isRoot : constant(false);\n      if (isRoot(element))\n        return Option.none();\n      if (contains(tags, name(element)))\n        return Option.some(element);\n      var isRootOrUpperTable = function (element) {\n        return is(element, 'table') || isRoot(element);\n      };\n      return ancestor$1(element, tags.join(','), isRootOrUpperTable);\n    };\n    var cell = function (element, isRoot) {\n      return lookup([\n        'td',\n        'th'\n      ], element, isRoot);\n    };\n    var cells = function (ancestor) {\n      return LayerSelector.firstLayer(ancestor, 'th,td');\n    };\n    var notCell = function (element, isRoot) {\n      return lookup([\n        'caption',\n        'tr',\n        'tbody',\n        'tfoot',\n        'thead'\n      ], element, isRoot);\n    };\n    var neighbours = function (selector, element) {\n      return parent(element).map(function (parent$$1) {\n        return children$2(parent$$1, selector);\n      });\n    };\n    var neighbourCells = curry(neighbours, 'th,td');\n    var neighbourRows = curry(neighbours, 'tr');\n    var firstCell = function (ancestor) {\n      return descendant$1(ancestor, 'th,td');\n    };\n    var table = function (element, isRoot) {\n      return closest$1(element, 'table', isRoot);\n    };\n    var row = function (element, isRoot) {\n      return lookup(['tr'], element, isRoot);\n    };\n    var rows = function (ancestor) {\n      return LayerSelector.firstLayer(ancestor, 'tr');\n    };\n    var attr = function (element, property) {\n      return parseInt(get$1(element, property), 10);\n    };\n    var grid$1 = function (element, rowProp, colProp) {\n      var rows = attr(element, rowProp);\n      var cols = attr(element, colProp);\n      return Structs.grid(rows, cols);\n    };\n    var TableLookup = {\n      cell: cell,\n      firstCell: firstCell,\n      cells: cells,\n      neighbourCells: neighbourCells,\n      table: table,\n      row: row,\n      rows: rows,\n      notCell: notCell,\n      neighbourRows: neighbourRows,\n      attr: attr,\n      grid: grid$1\n    };\n\n    var fromTable = function (table) {\n      var rows = TableLookup.rows(table);\n      return map(rows, function (row) {\n        var element = row;\n        var parent$$1 = parent(element);\n        var parentSection = parent$$1.map(function (parent$$1) {\n          var parentName = name(parent$$1);\n          return parentName === 'tfoot' || parentName === 'thead' || parentName === 'tbody' ? parentName : 'tbody';\n        }).getOr('tbody');\n        var cells = map(TableLookup.cells(row), function (cell) {\n          var rowspan = has$1(cell, 'rowspan') ? parseInt(get$1(cell, 'rowspan'), 10) : 1;\n          var colspan = has$1(cell, 'colspan') ? parseInt(get$1(cell, 'colspan'), 10) : 1;\n          return Structs.detail(cell, rowspan, colspan);\n        });\n        return Structs.rowdata(element, cells, parentSection);\n      });\n    };\n    var fromPastedRows = function (rows, example) {\n      return map(rows, function (row) {\n        var cells = map(TableLookup.cells(row), function (cell) {\n          var rowspan = has$1(cell, 'rowspan') ? parseInt(get$1(cell, 'rowspan'), 10) : 1;\n          var colspan = has$1(cell, 'colspan') ? parseInt(get$1(cell, 'colspan'), 10) : 1;\n          return Structs.detail(cell, rowspan, colspan);\n        });\n        return Structs.rowdata(row, cells, example.section());\n      });\n    };\n    var DetailsList = {\n      fromTable: fromTable,\n      fromPastedRows: fromPastedRows\n    };\n\n    var key = function (row, column) {\n      return row + ',' + column;\n    };\n    var getAt = function (warehouse, row, column) {\n      var raw = warehouse.access()[key(row, column)];\n      return raw !== undefined ? Option.some(raw) : Option.none();\n    };\n    var findItem = function (warehouse, item, comparator) {\n      var filtered = filterItems(warehouse, function (detail) {\n        return comparator(item, detail.element());\n      });\n      return filtered.length > 0 ? Option.some(filtered[0]) : Option.none();\n    };\n    var filterItems = function (warehouse, predicate) {\n      var all = bind(warehouse.all(), function (r) {\n        return r.cells();\n      });\n      return filter(all, predicate);\n    };\n    var generate = function (list) {\n      var access = {};\n      var cells = [];\n      var maxRows = list.length;\n      var maxColumns = 0;\n      each(list, function (details, r) {\n        var currentRow = [];\n        each(details.cells(), function (detail, c) {\n          var start = 0;\n          while (access[key(r, start)] !== undefined) {\n            start++;\n          }\n          var current = Structs.extended(detail.element(), detail.rowspan(), detail.colspan(), r, start);\n          for (var i = 0; i < detail.colspan(); i++) {\n            for (var j = 0; j < detail.rowspan(); j++) {\n              var cr = r + j;\n              var cc = start + i;\n              var newpos = key(cr, cc);\n              access[newpos] = current;\n              maxColumns = Math.max(maxColumns, cc + 1);\n            }\n          }\n          currentRow.push(current);\n        });\n        cells.push(Structs.rowdata(details.element(), currentRow, details.section()));\n      });\n      var grid = Structs.grid(maxRows, maxColumns);\n      return {\n        grid: constant(grid),\n        access: constant(access),\n        all: constant(cells)\n      };\n    };\n    var justCells = function (warehouse) {\n      var rows = map(warehouse.all(), function (w) {\n        return w.cells();\n      });\n      return flatten(rows);\n    };\n    var Warehouse = {\n      generate: generate,\n      getAt: getAt,\n      findItem: findItem,\n      filterItems: filterItems,\n      justCells: justCells\n    };\n\n    var isSupported = function (dom) {\n      return dom.style !== undefined;\n    };\n\n    var internalSet = function (dom, property, value$$1) {\n      if (!isString(value$$1)) {\n        console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value$$1, ':: Element ', dom);\n        throw new Error('CSS value must be a string: ' + value$$1);\n      }\n      if (isSupported(dom))\n        dom.style.setProperty(property, value$$1);\n    };\n    var internalRemove = function (dom, property) {\n      if (isSupported(dom))\n        dom.style.removeProperty(property);\n    };\n    var set$1 = function (element, property, value$$1) {\n      var dom = element.dom();\n      internalSet(dom, property, value$$1);\n    };\n    var setAll$1 = function (element, css) {\n      var dom = element.dom();\n      each$1(css, function (v, k) {\n        internalSet(dom, k, v);\n      });\n    };\n    var get$2 = function (element, property) {\n      var dom = element.dom();\n      var styles = window.getComputedStyle(dom);\n      var r = styles.getPropertyValue(property);\n      var v = r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r;\n      return v === null ? undefined : v;\n    };\n    var getUnsafeProperty = function (dom, property) {\n      return isSupported(dom) ? dom.style.getPropertyValue(property) : '';\n    };\n    var getRaw = function (element, property) {\n      var dom = element.dom();\n      var raw = getUnsafeProperty(dom, property);\n      return Option.from(raw).filter(function (r) {\n        return r.length > 0;\n      });\n    };\n    var remove$1 = function (element, property) {\n      var dom = element.dom();\n      internalRemove(dom, property);\n      if (has$1(element, 'style') && trim(get$1(element, 'style')) === '') {\n        remove(element, 'style');\n      }\n    };\n    var copy = function (source, target) {\n      var sourceDom = source.dom();\n      var targetDom = target.dom();\n      if (isSupported(sourceDom) && isSupported(targetDom)) {\n        targetDom.style.cssText = sourceDom.style.cssText;\n      }\n    };\n\n    var before = function (marker, element) {\n      var parent$$1 = parent(marker);\n      parent$$1.each(function (v) {\n        v.dom().insertBefore(element.dom(), marker.dom());\n      });\n    };\n    var after = function (marker, element) {\n      var sibling = nextSibling(marker);\n      sibling.fold(function () {\n        var parent$$1 = parent(marker);\n        parent$$1.each(function (v) {\n          append(v, element);\n        });\n      }, function (v) {\n        before(v, element);\n      });\n    };\n    var prepend = function (parent$$1, element) {\n      var firstChild$$1 = firstChild(parent$$1);\n      firstChild$$1.fold(function () {\n        append(parent$$1, element);\n      }, function (v) {\n        parent$$1.dom().insertBefore(element.dom(), v.dom());\n      });\n    };\n    var append = function (parent$$1, element) {\n      parent$$1.dom().appendChild(element.dom());\n    };\n    var wrap = function (element, wrapper) {\n      before(element, wrapper);\n      append(wrapper, element);\n    };\n\n    var before$1 = function (marker, elements) {\n      each(elements, function (x) {\n        before(marker, x);\n      });\n    };\n    var after$1 = function (marker, elements) {\n      each(elements, function (x, i) {\n        var e = i === 0 ? marker : elements[i - 1];\n        after(e, x);\n      });\n    };\n    var append$1 = function (parent, elements) {\n      each(elements, function (x) {\n        append(parent, x);\n      });\n    };\n\n    var empty = function (element) {\n      element.dom().textContent = '';\n      each(children(element), function (rogue) {\n        remove$2(rogue);\n      });\n    };\n    var remove$2 = function (element) {\n      var dom = element.dom();\n      if (dom.parentNode !== null)\n        dom.parentNode.removeChild(dom);\n    };\n    var unwrap = function (wrapper) {\n      var children$$1 = children(wrapper);\n      if (children$$1.length > 0)\n        before$1(wrapper, children$$1);\n      remove$2(wrapper);\n    };\n\n    var stats = Immutable('minRow', 'minCol', 'maxRow', 'maxCol');\n    var findSelectedStats = function (house, isSelected) {\n      var totalColumns = house.grid().columns();\n      var totalRows = house.grid().rows();\n      var minRow = totalRows;\n      var minCol = totalColumns;\n      var maxRow = 0;\n      var maxCol = 0;\n      each$1(house.access(), function (detail) {\n        if (isSelected(detail)) {\n          var startRow = detail.row();\n          var endRow = startRow + detail.rowspan() - 1;\n          var startCol = detail.column();\n          var endCol = startCol + detail.colspan() - 1;\n          if (startRow < minRow)\n            minRow = startRow;\n          else if (endRow > maxRow)\n            maxRow = endRow;\n          if (startCol < minCol)\n            minCol = startCol;\n          else if (endCol > maxCol)\n            maxCol = endCol;\n        }\n      });\n      return stats(minRow, minCol, maxRow, maxCol);\n    };\n    var makeCell = function (list, seenSelected, rowIndex) {\n      var row = list[rowIndex].element();\n      var td = Element$$1.fromTag('td');\n      append(td, Element$$1.fromTag('br'));\n      var f = seenSelected ? append : prepend;\n      f(row, td);\n    };\n    var fillInGaps = function (list, house, stats, isSelected) {\n      var totalColumns = house.grid().columns();\n      var totalRows = house.grid().rows();\n      for (var i = 0; i < totalRows; i++) {\n        var seenSelected = false;\n        for (var j = 0; j < totalColumns; j++) {\n          if (!(i < stats.minRow() || i > stats.maxRow() || j < stats.minCol() || j > stats.maxCol())) {\n            var needCell = Warehouse.getAt(house, i, j).filter(isSelected).isNone();\n            if (needCell)\n              makeCell(list, seenSelected, i);\n            else\n              seenSelected = true;\n          }\n        }\n      }\n    };\n    var clean = function (table, stats) {\n      var emptyRows = filter(LayerSelector.firstLayer(table, 'tr'), function (row) {\n        return row.dom().childElementCount === 0;\n      });\n      each(emptyRows, remove$2);\n      if (stats.minCol() === stats.maxCol() || stats.minRow() === stats.maxRow()) {\n        each(LayerSelector.firstLayer(table, 'th,td'), function (cell) {\n          remove(cell, 'rowspan');\n          remove(cell, 'colspan');\n        });\n      }\n      remove(table, 'width');\n      remove(table, 'height');\n      remove$1(table, 'width');\n      remove$1(table, 'height');\n    };\n    var extract = function (table, selectedSelector) {\n      var isSelected = function (detail) {\n        return is(detail.element(), selectedSelector);\n      };\n      var list = DetailsList.fromTable(table);\n      var house = Warehouse.generate(list);\n      var stats = findSelectedStats(house, isSelected);\n      var selector = 'th:not(' + selectedSelector + ')' + ',td:not(' + selectedSelector + ')';\n      var unselectedCells = LayerSelector.filterFirstLayer(table, 'th,td', function (cell) {\n        return is(cell, selector);\n      });\n      each(unselectedCells, remove$2);\n      fillInGaps(list, house, stats, isSelected);\n      clean(table, stats);\n      return table;\n    };\n    var CopySelected = { extract: extract };\n\n    var clone$1 = function (original, deep) {\n      return Element$$1.fromDom(original.dom().cloneNode(deep));\n    };\n    var shallow = function (original) {\n      return clone$1(original, false);\n    };\n    var deep = function (original) {\n      return clone$1(original, true);\n    };\n    var shallowAs = function (original, tag) {\n      var nu = Element$$1.fromTag(tag);\n      var attributes = clone(original);\n      setAll(nu, attributes);\n      return nu;\n    };\n    var copy$1 = function (original, tag) {\n      var nu = shallowAs(original, tag);\n      var cloneChildren = children(deep(original));\n      append$1(nu, cloneChildren);\n      return nu;\n    };\n\n    function NodeValue (is, name) {\n      var get = function (element) {\n        if (!is(element))\n          throw new Error('Can only get ' + name + ' value of a ' + name + ' node');\n        return getOption(element).getOr('');\n      };\n      var getOptionIE10 = function (element) {\n        try {\n          return getOptionSafe(element);\n        } catch (e) {\n          return Option.none();\n        }\n      };\n      var getOptionSafe = function (element) {\n        return is(element) ? Option.from(element.dom().nodeValue) : Option.none();\n      };\n      var browser = PlatformDetection$1.detect().browser;\n      var getOption = browser.isIE() && browser.version.major === 10 ? getOptionIE10 : getOptionSafe;\n      var set = function (element, value) {\n        if (!is(element))\n          throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node');\n        element.dom().nodeValue = value;\n      };\n      return {\n        get: get,\n        getOption: getOption,\n        set: set\n      };\n    }\n\n    var api = NodeValue(isText, 'text');\n    var get$3 = function (element) {\n      return api.get(element);\n    };\n    var getOption = function (element) {\n      return api.getOption(element);\n    };\n    var set$2 = function (element, value$$1) {\n      api.set(element, value$$1);\n    };\n\n    var getEnd = function (element) {\n      return name(element) === 'img' ? 1 : getOption(element).fold(function () {\n        return children(element).length;\n      }, function (v) {\n        return v.length;\n      });\n    };\n    var NBSP = '\\xA0';\n    var isTextNodeWithCursorPosition = function (el) {\n      return getOption(el).filter(function (text) {\n        return text.trim().length !== 0 || text.indexOf(NBSP) > -1;\n      }).isSome();\n    };\n    var elementsWithCursorPosition = [\n      'img',\n      'br'\n    ];\n    var isCursorPosition = function (elem) {\n      var hasCursorPosition = isTextNodeWithCursorPosition(elem);\n      return hasCursorPosition || contains(elementsWithCursorPosition, name(elem));\n    };\n\n    var first$3 = function (element) {\n      return descendant(element, isCursorPosition);\n    };\n    var last$2 = function (element) {\n      return descendantRtl(element, isCursorPosition);\n    };\n    var descendantRtl = function (scope, predicate) {\n      var descend = function (element) {\n        var children$$1 = children(element);\n        for (var i = children$$1.length - 1; i >= 0; i--) {\n          var child$$1 = children$$1[i];\n          if (predicate(child$$1))\n            return Option.some(child$$1);\n          var res = descend(child$$1);\n          if (res.isSome())\n            return res;\n        }\n        return Option.none();\n      };\n      return descend(scope);\n    };\n\n    var cell$1 = function () {\n      var td = Element$$1.fromTag('td');\n      append(td, Element$$1.fromTag('br'));\n      return td;\n    };\n    var replace = function (cell, tag, attrs) {\n      var replica = copy$1(cell, tag);\n      each$1(attrs, function (v, k) {\n        if (v === null)\n          remove(replica, k);\n        else\n          set(replica, k, v);\n      });\n      return replica;\n    };\n    var pasteReplace = function (cellContent) {\n      return cellContent;\n    };\n    var newRow = function (doc) {\n      return function () {\n        return Element$$1.fromTag('tr', doc.dom());\n      };\n    };\n    var cloneFormats = function (oldCell, newCell, formats) {\n      var first = first$3(oldCell);\n      return first.map(function (firstText) {\n        var formatSelector = formats.join(',');\n        var parents$$1 = ancestors$1(firstText, formatSelector, function (element) {\n          return eq(element, oldCell);\n        });\n        return foldr(parents$$1, function (last$$1, parent$$1) {\n          var clonedFormat = shallow(parent$$1);\n          remove(clonedFormat, 'contenteditable');\n          append(last$$1, clonedFormat);\n          return clonedFormat;\n        }, newCell);\n      }).getOr(newCell);\n    };\n    var cellOperations = function (mutate$$1, doc, formatsToClone) {\n      var newCell = function (prev) {\n        var doc = owner(prev.element());\n        var td = Element$$1.fromTag(name(prev.element()), doc.dom());\n        var formats = formatsToClone.getOr([\n          'strong',\n          'em',\n          'b',\n          'i',\n          'span',\n          'font',\n          'h1',\n          'h2',\n          'h3',\n          'h4',\n          'h5',\n          'h6',\n          'p',\n          'div'\n        ]);\n        var lastNode = formats.length > 0 ? cloneFormats(prev.element(), td, formats) : td;\n        append(lastNode, Element$$1.fromTag('br'));\n        copy(prev.element(), td);\n        remove$1(td, 'height');\n        if (prev.colspan() !== 1)\n          remove$1(prev.element(), 'width');\n        mutate$$1(prev.element(), td);\n        return td;\n      };\n      return {\n        row: newRow(doc),\n        cell: newCell,\n        replace: replace,\n        gap: cell$1\n      };\n    };\n    var paste = function (doc) {\n      return {\n        row: newRow(doc),\n        cell: cell$1,\n        replace: pasteReplace,\n        gap: cell$1\n      };\n    };\n    var TableFill = {\n      cellOperations: cellOperations,\n      paste: paste\n    };\n\n    var fromHtml$1 = function (html, scope) {\n      var doc = scope || document;\n      var div = doc.createElement('div');\n      div.innerHTML = html;\n      return children(Element$$1.fromDom(div));\n    };\n\n    var TagBoundaries = [\n      'body',\n      'p',\n      'div',\n      'article',\n      'aside',\n      'figcaption',\n      'figure',\n      'footer',\n      'header',\n      'nav',\n      'section',\n      'ol',\n      'ul',\n      'li',\n      'table',\n      'thead',\n      'tbody',\n      'tfoot',\n      'caption',\n      'tr',\n      'td',\n      'th',\n      'h1',\n      'h2',\n      'h3',\n      'h4',\n      'h5',\n      'h6',\n      'blockquote',\n      'pre',\n      'address'\n    ];\n\n    function DomUniverse () {\n      var clone$$1 = function (element) {\n        return Element$$1.fromDom(element.dom().cloneNode(false));\n      };\n      var isBoundary = function (element) {\n        if (!isElement(element))\n          return false;\n        if (name(element) === 'body')\n          return true;\n        return contains(TagBoundaries, name(element));\n      };\n      var isEmptyTag = function (element) {\n        if (!isElement(element))\n          return false;\n        return contains([\n          'br',\n          'img',\n          'hr',\n          'input'\n        ], name(element));\n      };\n      var comparePosition = function (element, other) {\n        return element.dom().compareDocumentPosition(other.dom());\n      };\n      var copyAttributesTo = function (source, destination) {\n        var as = clone(source);\n        setAll(destination, as);\n      };\n      return {\n        up: constant({\n          selector: ancestor$1,\n          closest: closest$1,\n          predicate: ancestor,\n          all: parents\n        }),\n        down: constant({\n          selector: descendants$1,\n          predicate: descendants\n        }),\n        styles: constant({\n          get: get$2,\n          getRaw: getRaw,\n          set: set$1,\n          remove: remove$1\n        }),\n        attrs: constant({\n          get: get$1,\n          set: set,\n          remove: remove,\n          copyTo: copyAttributesTo\n        }),\n        insert: constant({\n          before: before,\n          after: after,\n          afterAll: after$1,\n          append: append,\n          appendAll: append$1,\n          prepend: prepend,\n          wrap: wrap\n        }),\n        remove: constant({\n          unwrap: unwrap,\n          remove: remove$2\n        }),\n        create: constant({\n          nu: Element$$1.fromTag,\n          clone: clone$$1,\n          text: Element$$1.fromText\n        }),\n        query: constant({\n          comparePosition: comparePosition,\n          prevSibling: prevSibling,\n          nextSibling: nextSibling\n        }),\n        property: constant({\n          children: children,\n          name: name,\n          parent: parent,\n          isText: isText,\n          isComment: isComment,\n          isElement: isElement,\n          getText: get$3,\n          setText: set$2,\n          isBoundary: isBoundary,\n          isEmptyTag: isEmptyTag\n        }),\n        eq: eq,\n        is: is$1\n      };\n    }\n\n    var leftRight = Immutable('left', 'right');\n    var bisect = function (universe, parent, child) {\n      var children = universe.property().children(parent);\n      var index = findIndex(children, curry(universe.eq, child));\n      return index.map(function (ind) {\n        return {\n          before: constant(children.slice(0, ind)),\n          after: constant(children.slice(ind + 1))\n        };\n      });\n    };\n    var breakToRight = function (universe, parent, child) {\n      return bisect(universe, parent, child).map(function (parts) {\n        var second = universe.create().clone(parent);\n        universe.insert().appendAll(second, parts.after());\n        universe.insert().after(parent, second);\n        return leftRight(parent, second);\n      });\n    };\n    var breakToLeft = function (universe, parent, child) {\n      return bisect(universe, parent, child).map(function (parts) {\n        var prior = universe.create().clone(parent);\n        universe.insert().appendAll(prior, parts.before().concat([child]));\n        universe.insert().appendAll(parent, parts.after());\n        universe.insert().before(parent, prior);\n        return leftRight(prior, parent);\n      });\n    };\n    var breakPath = function (universe, item, isTop, breaker) {\n      var result = Immutable('first', 'second', 'splits');\n      var next = function (child, group, splits) {\n        var fallback = result(child, Option.none(), splits);\n        if (isTop(child))\n          return result(child, group, splits);\n        else {\n          return universe.property().parent(child).bind(function (parent) {\n            return breaker(universe, parent, child).map(function (breakage) {\n              var extra = [{\n                  first: breakage.left,\n                  second: breakage.right\n                }];\n              var nextChild = isTop(parent) ? parent : breakage.left();\n              return next(nextChild, Option.some(breakage.right()), splits.concat(extra));\n            }).getOr(fallback);\n          });\n        }\n      };\n      return next(item, Option.none(), []);\n    };\n    var Breaker = {\n      breakToLeft: breakToLeft,\n      breakToRight: breakToRight,\n      breakPath: breakPath\n    };\n\n    var all$3 = function (universe, look, elements, f) {\n      var head$$1 = elements[0];\n      var tail = elements.slice(1);\n      return f(universe, look, head$$1, tail);\n    };\n    var oneAll = function (universe, look, elements) {\n      return elements.length > 0 ? all$3(universe, look, elements, unsafeOne) : Option.none();\n    };\n    var unsafeOne = function (universe, look, head$$1, tail) {\n      var start = look(universe, head$$1);\n      return foldr(tail, function (b, a) {\n        var current = look(universe, a);\n        return commonElement(universe, b, current);\n      }, start);\n    };\n    var commonElement = function (universe, start, end) {\n      return start.bind(function (s) {\n        return end.filter(curry(universe.eq, s));\n      });\n    };\n    var Shared = { oneAll: oneAll };\n\n    var eq$1 = function (universe, item) {\n      return curry(universe.eq, item);\n    };\n    var unsafeSubset = function (universe, common, ps1, ps2) {\n      var children = universe.property().children(common);\n      if (universe.eq(common, ps1[0]))\n        return Option.some([ps1[0]]);\n      if (universe.eq(common, ps2[0]))\n        return Option.some([ps2[0]]);\n      var finder = function (ps) {\n        var topDown = reverse(ps);\n        var index = findIndex(topDown, eq$1(universe, common)).getOr(-1);\n        var item = index < topDown.length - 1 ? topDown[index + 1] : topDown[index];\n        return findIndex(children, eq$1(universe, item));\n      };\n      var startIndex = finder(ps1);\n      var endIndex = finder(ps2);\n      return startIndex.bind(function (sIndex) {\n        return endIndex.map(function (eIndex) {\n          var first = Math.min(sIndex, eIndex);\n          var last$$1 = Math.max(sIndex, eIndex);\n          return children.slice(first, last$$1 + 1);\n        });\n      });\n    };\n    var ancestors$2 = function (universe, start, end, _isRoot) {\n      var isRoot = _isRoot !== undefined ? _isRoot : constant(false);\n      var ps1 = [start].concat(universe.up().all(start));\n      var ps2 = [end].concat(universe.up().all(end));\n      var prune = function (path) {\n        var index = findIndex(path, isRoot);\n        return index.fold(function () {\n          return path;\n        }, function (ind) {\n          return path.slice(0, ind + 1);\n        });\n      };\n      var pruned1 = prune(ps1);\n      var pruned2 = prune(ps2);\n      var shared = find(pruned1, function (x) {\n        return exists(pruned2, eq$1(universe, x));\n      });\n      return {\n        firstpath: constant(pruned1),\n        secondpath: constant(pruned2),\n        shared: constant(shared)\n      };\n    };\n    var subset = function (universe, start, end) {\n      var ancs = ancestors$2(universe, start, end);\n      return ancs.shared().bind(function (shared) {\n        return unsafeSubset(universe, shared, ancs.firstpath(), ancs.secondpath());\n      });\n    };\n    var Subset = {\n      subset: subset,\n      ancestors: ancestors$2\n    };\n\n    var sharedOne = function (universe, look, elements) {\n      return Shared.oneAll(universe, look, elements);\n    };\n    var subset$1 = function (universe, start, finish) {\n      return Subset.subset(universe, start, finish);\n    };\n    var ancestors$3 = function (universe, start, finish, _isRoot) {\n      return Subset.ancestors(universe, start, finish, _isRoot);\n    };\n    var breakToLeft$1 = function (universe, parent, child) {\n      return Breaker.breakToLeft(universe, parent, child);\n    };\n    var breakToRight$1 = function (universe, parent, child) {\n      return Breaker.breakToRight(universe, parent, child);\n    };\n    var breakPath$1 = function (universe, child, isTop, breaker) {\n      return Breaker.breakPath(universe, child, isTop, breaker);\n    };\n    var Parent = {\n      sharedOne: sharedOne,\n      subset: subset$1,\n      ancestors: ancestors$3,\n      breakToLeft: breakToLeft$1,\n      breakToRight: breakToRight$1,\n      breakPath: breakPath$1\n    };\n\n    var universe = DomUniverse();\n    var sharedOne$1 = function (look, elements) {\n      return Parent.sharedOne(universe, function (universe, element) {\n        return look(element);\n      }, elements);\n    };\n    var subset$2 = function (start, finish) {\n      return Parent.subset(universe, start, finish);\n    };\n    var ancestors$4 = function (start, finish, _isRoot) {\n      return Parent.ancestors(universe, start, finish, _isRoot);\n    };\n    var breakToLeft$2 = function (parent, child) {\n      return Parent.breakToLeft(universe, parent, child);\n    };\n    var breakToRight$2 = function (parent, child) {\n      return Parent.breakToRight(universe, parent, child);\n    };\n    var breakPath$2 = function (child, isTop, breaker) {\n      return Parent.breakPath(universe, child, isTop, function (u, p, c) {\n        return breaker(p, c);\n      });\n    };\n    var DomParent = {\n      sharedOne: sharedOne$1,\n      subset: subset$2,\n      ancestors: ancestors$4,\n      breakToLeft: breakToLeft$2,\n      breakToRight: breakToRight$2,\n      breakPath: breakPath$2\n    };\n\n    var inSelection = function (bounds, detail) {\n      var leftEdge = detail.column();\n      var rightEdge = detail.column() + detail.colspan() - 1;\n      var topEdge = detail.row();\n      var bottomEdge = detail.row() + detail.rowspan() - 1;\n      return leftEdge <= bounds.finishCol() && rightEdge >= bounds.startCol() && (topEdge <= bounds.finishRow() && bottomEdge >= bounds.startRow());\n    };\n    var isWithin = function (bounds, detail) {\n      return detail.column() >= bounds.startCol() && detail.column() + detail.colspan() - 1 <= bounds.finishCol() && detail.row() >= bounds.startRow() && detail.row() + detail.rowspan() - 1 <= bounds.finishRow();\n    };\n    var isRectangular = function (warehouse, bounds) {\n      var isRect = true;\n      var detailIsWithin = curry(isWithin, bounds);\n      for (var i = bounds.startRow(); i <= bounds.finishRow(); i++) {\n        for (var j = bounds.startCol(); j <= bounds.finishCol(); j++) {\n          isRect = isRect && Warehouse.getAt(warehouse, i, j).exists(detailIsWithin);\n        }\n      }\n      return isRect ? Option.some(bounds) : Option.none();\n    };\n    var CellBounds = {\n      inSelection: inSelection,\n      isWithin: isWithin,\n      isRectangular: isRectangular\n    };\n\n    var getBounds = function (detailA, detailB) {\n      return Structs.bounds(Math.min(detailA.row(), detailB.row()), Math.min(detailA.column(), detailB.column()), Math.max(detailA.row() + detailA.rowspan() - 1, detailB.row() + detailB.rowspan() - 1), Math.max(detailA.column() + detailA.colspan() - 1, detailB.column() + detailB.colspan() - 1));\n    };\n    var getAnyBox = function (warehouse, startCell, finishCell) {\n      var startCoords = Warehouse.findItem(warehouse, startCell, eq);\n      var finishCoords = Warehouse.findItem(warehouse, finishCell, eq);\n      return startCoords.bind(function (sc) {\n        return finishCoords.map(function (fc) {\n          return getBounds(sc, fc);\n        });\n      });\n    };\n    var getBox = function (warehouse, startCell, finishCell) {\n      return getAnyBox(warehouse, startCell, finishCell).bind(function (bounds) {\n        return CellBounds.isRectangular(warehouse, bounds);\n      });\n    };\n    var CellGroup = {\n      getAnyBox: getAnyBox,\n      getBox: getBox\n    };\n\n    var moveBy = function (warehouse, cell, row, column) {\n      return Warehouse.findItem(warehouse, cell, eq).bind(function (detail) {\n        var startRow = row > 0 ? detail.row() + detail.rowspan() - 1 : detail.row();\n        var startCol = column > 0 ? detail.column() + detail.colspan() - 1 : detail.column();\n        var dest = Warehouse.getAt(warehouse, startRow + row, startCol + column);\n        return dest.map(function (d) {\n          return d.element();\n        });\n      });\n    };\n    var intercepts = function (warehouse, start, finish) {\n      return CellGroup.getAnyBox(warehouse, start, finish).map(function (bounds) {\n        var inside = Warehouse.filterItems(warehouse, curry(CellBounds.inSelection, bounds));\n        return map(inside, function (detail) {\n          return detail.element();\n        });\n      });\n    };\n    var parentCell = function (warehouse, innerCell) {\n      var isContainedBy = function (c1, c2) {\n        return contains$2(c2, c1);\n      };\n      return Warehouse.findItem(warehouse, innerCell, isContainedBy).bind(function (detail) {\n        return detail.element();\n      });\n    };\n    var CellFinder = {\n      moveBy: moveBy,\n      intercepts: intercepts,\n      parentCell: parentCell\n    };\n\n    var moveBy$1 = function (cell, deltaRow, deltaColumn) {\n      return TableLookup.table(cell).bind(function (table) {\n        var warehouse = getWarehouse(table);\n        return CellFinder.moveBy(warehouse, cell, deltaRow, deltaColumn);\n      });\n    };\n    var intercepts$1 = function (table, first, last) {\n      var warehouse = getWarehouse(table);\n      return CellFinder.intercepts(warehouse, first, last);\n    };\n    var nestedIntercepts = function (table, first, firstTable, last, lastTable) {\n      var warehouse = getWarehouse(table);\n      var startCell = eq(table, firstTable) ? first : CellFinder.parentCell(warehouse, first);\n      var lastCell = eq(table, lastTable) ? last : CellFinder.parentCell(warehouse, last);\n      return CellFinder.intercepts(warehouse, startCell, lastCell);\n    };\n    var getBox$1 = function (table, first, last) {\n      var warehouse = getWarehouse(table);\n      return CellGroup.getBox(warehouse, first, last);\n    };\n    var getWarehouse = function (table) {\n      var list = DetailsList.fromTable(table);\n      return Warehouse.generate(list);\n    };\n    var TablePositions = {\n      moveBy: moveBy$1,\n      intercepts: intercepts$1,\n      nestedIntercepts: nestedIntercepts,\n      getBox: getBox$1\n    };\n\n    var lookupTable = function (container, isRoot) {\n      return ancestor$1(container, 'table');\n    };\n    var identified = MixedBag([\n      'boxes',\n      'start',\n      'finish'\n    ], []);\n    var identify = function (start, finish, isRoot) {\n      var getIsRoot = function (rootTable) {\n        return function (element) {\n          return isRoot(element) || eq(element, rootTable);\n        };\n      };\n      if (eq(start, finish)) {\n        return Option.some(identified({\n          boxes: Option.some([start]),\n          start: start,\n          finish: finish\n        }));\n      } else {\n        return lookupTable(start, isRoot).bind(function (startTable) {\n          return lookupTable(finish, isRoot).bind(function (finishTable) {\n            if (eq(startTable, finishTable)) {\n              return Option.some(identified({\n                boxes: TablePositions.intercepts(startTable, start, finish),\n                start: start,\n                finish: finish\n              }));\n            } else if (contains$2(startTable, finishTable)) {\n              var ancestorCells = ancestors$1(finish, 'td,th', getIsRoot(startTable));\n              var finishCell = ancestorCells.length > 0 ? ancestorCells[ancestorCells.length - 1] : finish;\n              return Option.some(identified({\n                boxes: TablePositions.nestedIntercepts(startTable, start, startTable, finish, finishTable),\n                start: start,\n                finish: finishCell\n              }));\n            } else if (contains$2(finishTable, startTable)) {\n              var ancestorCells = ancestors$1(start, 'td,th', getIsRoot(finishTable));\n              var startCell = ancestorCells.length > 0 ? ancestorCells[ancestorCells.length - 1] : start;\n              return Option.some(identified({\n                boxes: TablePositions.nestedIntercepts(finishTable, start, startTable, finish, finishTable),\n                start: start,\n                finish: startCell\n              }));\n            } else {\n              return DomParent.ancestors(start, finish).shared().bind(function (lca) {\n                return closest$1(lca, 'table', isRoot).bind(function (lcaTable) {\n                  var finishAncestorCells = ancestors$1(finish, 'td,th', getIsRoot(lcaTable));\n                  var finishCell = finishAncestorCells.length > 0 ? finishAncestorCells[finishAncestorCells.length - 1] : finish;\n                  var startAncestorCells = ancestors$1(start, 'td,th', getIsRoot(lcaTable));\n                  var startCell = startAncestorCells.length > 0 ? startAncestorCells[startAncestorCells.length - 1] : start;\n                  return Option.some(identified({\n                    boxes: TablePositions.nestedIntercepts(lcaTable, start, startTable, finish, finishTable),\n                    start: startCell,\n                    finish: finishCell\n                  }));\n                });\n              });\n            }\n          });\n        });\n      }\n    };\n    var retrieve = function (container, selector) {\n      var sels = descendants$1(container, selector);\n      return sels.length > 0 ? Option.some(sels) : Option.none();\n    };\n    var getLast = function (boxes, lastSelectedSelector) {\n      return find(boxes, function (box) {\n        return is(box, lastSelectedSelector);\n      });\n    };\n    var getEdges = function (container, firstSelectedSelector, lastSelectedSelector) {\n      return descendant$1(container, firstSelectedSelector).bind(function (first) {\n        return descendant$1(container, lastSelectedSelector).bind(function (last$$1) {\n          return DomParent.sharedOne(lookupTable, [\n            first,\n            last$$1\n          ]).map(function (tbl) {\n            return {\n              first: constant(first),\n              last: constant(last$$1),\n              table: constant(tbl)\n            };\n          });\n        });\n      });\n    };\n    var expandTo = function (finish, firstSelectedSelector) {\n      return ancestor$1(finish, 'table').bind(function (table) {\n        return descendant$1(table, firstSelectedSelector).bind(function (start) {\n          return identify(start, finish).bind(function (identified) {\n            return identified.boxes().map(function (boxes) {\n              return {\n                boxes: constant(boxes),\n                start: constant(identified.start()),\n                finish: constant(identified.finish())\n              };\n            });\n          });\n        });\n      });\n    };\n    var shiftSelection = function (boxes, deltaRow, deltaColumn, firstSelectedSelector, lastSelectedSelector) {\n      return getLast(boxes, lastSelectedSelector).bind(function (last$$1) {\n        return TablePositions.moveBy(last$$1, deltaRow, deltaColumn).bind(function (finish) {\n          return expandTo(finish, firstSelectedSelector);\n        });\n      });\n    };\n    var CellSelection = {\n      identify: identify,\n      retrieve: retrieve,\n      shiftSelection: shiftSelection,\n      getEdges: getEdges\n    };\n\n    var retrieve$1 = function (container, selector) {\n      return CellSelection.retrieve(container, selector);\n    };\n    var retrieveBox = function (container, firstSelectedSelector, lastSelectedSelector) {\n      return CellSelection.getEdges(container, firstSelectedSelector, lastSelectedSelector).bind(function (edges) {\n        var isRoot = function (ancestor) {\n          return eq(container, ancestor);\n        };\n        var firstAncestor = ancestor$1(edges.first(), 'thead,tfoot,tbody,table', isRoot);\n        var lastAncestor = ancestor$1(edges.last(), 'thead,tfoot,tbody,table', isRoot);\n        return firstAncestor.bind(function (fA) {\n          return lastAncestor.bind(function (lA) {\n            return eq(fA, lA) ? TablePositions.getBox(edges.table(), edges.first(), edges.last()) : Option.none();\n          });\n        });\n      });\n    };\n    var TableSelection = {\n      retrieve: retrieve$1,\n      retrieveBox: retrieveBox\n    };\n\n    var selected = 'data-mce-selected';\n    var selectedSelector = 'td[' + selected + '],th[' + selected + ']';\n    var attributeSelector = '[' + selected + ']';\n    var firstSelected = 'data-mce-first-selected';\n    var firstSelectedSelector = 'td[' + firstSelected + '],th[' + firstSelected + ']';\n    var lastSelected = 'data-mce-last-selected';\n    var lastSelectedSelector = 'td[' + lastSelected + '],th[' + lastSelected + ']';\n    var Ephemera = {\n      selected: constant(selected),\n      selectedSelector: constant(selectedSelector),\n      attributeSelector: constant(attributeSelector),\n      firstSelected: constant(firstSelected),\n      firstSelectedSelector: constant(firstSelectedSelector),\n      lastSelected: constant(lastSelected),\n      lastSelectedSelector: constant(lastSelectedSelector)\n    };\n\n    var generate$1 = function (cases) {\n      if (!isArray(cases)) {\n        throw new Error('cases must be an array');\n      }\n      if (cases.length === 0) {\n        throw new Error('there must be at least one case');\n      }\n      var constructors = [];\n      var adt = {};\n      each(cases, function (acase, count) {\n        var keys$$1 = keys(acase);\n        if (keys$$1.length !== 1) {\n          throw new Error('one and only one name per case');\n        }\n        var key = keys$$1[0];\n        var value = acase[key];\n        if (adt[key] !== undefined) {\n          throw new Error('duplicate key detected:' + key);\n        } else if (key === 'cata') {\n          throw new Error('cannot have a case named cata (sorry)');\n        } else if (!isArray(value)) {\n          throw new Error('case arguments must be an array');\n        }\n        constructors.push(key);\n        adt[key] = function () {\n          var argLength = arguments.length;\n          if (argLength !== value.length) {\n            throw new Error('Wrong number of arguments to case ' + key + '. Expected ' + value.length + ' (' + value + '), got ' + argLength);\n          }\n          var args = new Array(argLength);\n          for (var i = 0; i < args.length; i++)\n            args[i] = arguments[i];\n          var match = function (branches) {\n            var branchKeys = keys(branches);\n            if (constructors.length !== branchKeys.length) {\n              throw new Error('Wrong number of arguments to match. Expected: ' + constructors.join(',') + '\\nActual: ' + branchKeys.join(','));\n            }\n            var allReqd = forall(constructors, function (reqKey) {\n              return contains(branchKeys, reqKey);\n            });\n            if (!allReqd)\n              throw new Error('Not all branches were specified when using match. Specified: ' + branchKeys.join(', ') + '\\nRequired: ' + constructors.join(', '));\n            return branches[key].apply(null, args);\n          };\n          return {\n            fold: function () {\n              if (arguments.length !== cases.length) {\n                throw new Error('Wrong number of arguments to fold. Expected ' + cases.length + ', got ' + arguments.length);\n              }\n              var target = arguments[count];\n              return target.apply(null, args);\n            },\n            match: match,\n            log: function (label) {\n              console.log(label, {\n                constructors: constructors,\n                constructor: key,\n                params: args\n              });\n            }\n          };\n        };\n      });\n      return adt;\n    };\n    var Adt = { generate: generate$1 };\n\n    var type$1 = Adt.generate([\n      { none: [] },\n      { multiple: ['elements'] },\n      { single: ['selection'] }\n    ]);\n    var cata = function (subject, onNone, onMultiple, onSingle) {\n      return subject.fold(onNone, onMultiple, onSingle);\n    };\n    var SelectionTypes = {\n      cata: cata,\n      none: type$1.none,\n      multiple: type$1.multiple,\n      single: type$1.single\n    };\n\n    var selection = function (cell, selections) {\n      return SelectionTypes.cata(selections.get(), constant([]), identity, constant([cell]));\n    };\n    var unmergable = function (cell, selections) {\n      var hasSpan = function (elem) {\n        return has$1(elem, 'rowspan') && parseInt(get$1(elem, 'rowspan'), 10) > 1 || has$1(elem, 'colspan') && parseInt(get$1(elem, 'colspan'), 10) > 1;\n      };\n      var candidates = selection(cell, selections);\n      return candidates.length > 0 && forall(candidates, hasSpan) ? Option.some(candidates) : Option.none();\n    };\n    var mergable = function (table, selections) {\n      return SelectionTypes.cata(selections.get(), Option.none, function (cells, _env) {\n        if (cells.length === 0) {\n          return Option.none();\n        }\n        return TableSelection.retrieveBox(table, Ephemera.firstSelectedSelector(), Ephemera.lastSelectedSelector()).bind(function (bounds) {\n          return cells.length > 1 ? Option.some({\n            bounds: constant(bounds),\n            cells: constant(cells)\n          }) : Option.none();\n        });\n      }, Option.none);\n    };\n    var CellOperations = {\n      mergable: mergable,\n      unmergable: unmergable,\n      selection: selection\n    };\n\n    var noMenu = function (cell) {\n      return {\n        element: constant(cell),\n        mergable: Option.none,\n        unmergable: Option.none,\n        selection: constant([cell])\n      };\n    };\n    var forMenu = function (selections, table, cell) {\n      return {\n        element: constant(cell),\n        mergable: constant(CellOperations.mergable(table, selections)),\n        unmergable: constant(CellOperations.unmergable(cell, selections)),\n        selection: constant(CellOperations.selection(cell, selections))\n      };\n    };\n    var notCell$1 = function (element) {\n      return noMenu(element);\n    };\n    var paste$1 = Immutable('element', 'clipboard', 'generators');\n    var pasteRows = function (selections, table, cell, clipboard, generators) {\n      return {\n        element: constant(cell),\n        mergable: Option.none,\n        unmergable: Option.none,\n        selection: constant(CellOperations.selection(cell, selections)),\n        clipboard: constant(clipboard),\n        generators: constant(generators)\n      };\n    };\n    var TableTargets = {\n      noMenu: noMenu,\n      forMenu: forMenu,\n      notCell: notCell$1,\n      paste: paste$1,\n      pasteRows: pasteRows\n    };\n\n    var extractSelected = function (cells) {\n      return TableLookup.table(cells[0]).map(deep).map(function (replica) {\n        return [CopySelected.extract(replica, Ephemera.attributeSelector())];\n      });\n    };\n    var serializeElements = function (editor, elements) {\n      return map(elements, function (elm) {\n        return editor.selection.serializer.serialize(elm.dom(), {});\n      }).join('');\n    };\n    var getTextContent = function (elements) {\n      return map(elements, function (element) {\n        return element.dom().innerText;\n      }).join('');\n    };\n    var registerEvents = function (editor, selections, actions, cellSelection) {\n      editor.on('BeforeGetContent', function (e) {\n        var multiCellContext = function (cells) {\n          e.preventDefault();\n          extractSelected(cells).each(function (elements) {\n            e.content = e.format === 'text' ? getTextContent(elements) : serializeElements(editor, elements);\n          });\n        };\n        if (e.selection === true) {\n          SelectionTypes.cata(selections.get(), noop, multiCellContext, noop);\n        }\n      });\n      editor.on('BeforeSetContent', function (e) {\n        if (e.selection === true && e.paste === true) {\n          var cellOpt = Option.from(editor.dom.getParent(editor.selection.getStart(), 'th,td'));\n          cellOpt.each(function (domCell) {\n            var cell = Element$$1.fromDom(domCell);\n            var table = TableLookup.table(cell);\n            table.bind(function (table) {\n              var elements = filter(fromHtml$1(e.content), function (content) {\n                return name(content) !== 'meta';\n              });\n              if (elements.length === 1 && name(elements[0]) === 'table') {\n                e.preventDefault();\n                var doc = Element$$1.fromDom(editor.getDoc());\n                var generators = TableFill.paste(doc);\n                var targets = TableTargets.paste(cell, elements[0], generators);\n                actions.pasteCells(table, targets).each(function (rng) {\n                  editor.selection.setRng(rng);\n                  editor.focus();\n                  cellSelection.clear(table);\n                });\n              }\n            });\n          });\n        }\n      });\n    };\n    var Clipboard = { registerEvents: registerEvents };\n\n    function Dimension (name, getOffset) {\n      var set = function (element, h) {\n        if (!isNumber(h) && !h.match(/^[0-9]+$/))\n          throw name + '.set accepts only positive integer values. Value was ' + h;\n        var dom = element.dom();\n        if (isSupported(dom))\n          dom.style[name] = h + 'px';\n      };\n      var get = function (element) {\n        var r = getOffset(element);\n        if (r <= 0 || r === null) {\n          var css = get$2(element, name);\n          return parseFloat(css) || 0;\n        }\n        return r;\n      };\n      var getOuter = get;\n      var aggregate = function (element, properties) {\n        return foldl(properties, function (acc, property) {\n          var val = get$2(element, property);\n          var value = val === undefined ? 0 : parseInt(val, 10);\n          return isNaN(value) ? acc : acc + value;\n        }, 0);\n      };\n      var max = function (element, value, properties) {\n        var cumulativeInclusions = aggregate(element, properties);\n        var absoluteMax = value > cumulativeInclusions ? value - cumulativeInclusions : 0;\n        return absoluteMax;\n      };\n      return {\n        set: set,\n        get: get,\n        getOuter: getOuter,\n        aggregate: aggregate,\n        max: max\n      };\n    }\n\n    var api$1 = Dimension('height', function (element) {\n      var dom = element.dom();\n      return inBody(element) ? dom.getBoundingClientRect().height : dom.offsetHeight;\n    });\n    var get$4 = function (element) {\n      return api$1.get(element);\n    };\n    var getOuter = function (element) {\n      return api$1.getOuter(element);\n    };\n\n    var api$2 = Dimension('width', function (element) {\n      return element.dom().offsetWidth;\n    });\n    var get$5 = function (element) {\n      return api$2.get(element);\n    };\n    var getOuter$1 = function (element) {\n      return api$2.getOuter(element);\n    };\n\n    var platform = PlatformDetection$1.detect();\n    var needManualCalc = function () {\n      return platform.browser.isIE() || platform.browser.isEdge();\n    };\n    var toNumber = function (px, fallback) {\n      var num = parseFloat(px);\n      return isNaN(num) ? fallback : num;\n    };\n    var getProp = function (elm, name, fallback) {\n      return toNumber(get$2(elm, name), fallback);\n    };\n    var getCalculatedHeight = function (cell) {\n      var paddingTop = getProp(cell, 'padding-top', 0);\n      var paddingBottom = getProp(cell, 'padding-bottom', 0);\n      var borderTop = getProp(cell, 'border-top-width', 0);\n      var borderBottom = getProp(cell, 'border-bottom-width', 0);\n      var height = cell.dom().getBoundingClientRect().height;\n      var boxSizing = get$2(cell, 'box-sizing');\n      var borders = borderTop + borderBottom;\n      return boxSizing === 'border-box' ? height : height - paddingTop - paddingBottom - borders;\n    };\n    var getWidth = function (cell) {\n      return getProp(cell, 'width', get$5(cell));\n    };\n    var getHeight = function (cell) {\n      return needManualCalc() ? getCalculatedHeight(cell) : getProp(cell, 'height', get$4(cell));\n    };\n    var RuntimeSize = {\n      getWidth: getWidth,\n      getHeight: getHeight\n    };\n\n    var genericSizeRegex = /(\\d+(\\.\\d+)?)(\\w|%)*/;\n    var percentageBasedSizeRegex = /(\\d+(\\.\\d+)?)%/;\n    var pixelBasedSizeRegex = /(\\d+(\\.\\d+)?)px|em/;\n    var setPixelWidth = function (cell, amount) {\n      set$1(cell, 'width', amount + 'px');\n    };\n    var setPercentageWidth = function (cell, amount) {\n      set$1(cell, 'width', amount + '%');\n    };\n    var setHeight = function (cell, amount) {\n      set$1(cell, 'height', amount + 'px');\n    };\n    var getHeightValue = function (cell) {\n      return getRaw(cell, 'height').getOrThunk(function () {\n        return RuntimeSize.getHeight(cell) + 'px';\n      });\n    };\n    var convert = function (cell, number, getter, setter) {\n      var newSize = TableLookup.table(cell).map(function (table) {\n        var total = getter(table);\n        return Math.floor(number / 100 * total);\n      }).getOr(number);\n      setter(cell, newSize);\n      return newSize;\n    };\n    var normalizePixelSize = function (value$$1, cell, getter, setter) {\n      var number = parseInt(value$$1, 10);\n      return endsWith(value$$1, '%') && name(cell) !== 'table' ? convert(cell, number, getter, setter) : number;\n    };\n    var getTotalHeight = function (cell) {\n      var value$$1 = getHeightValue(cell);\n      if (!value$$1)\n        return get$4(cell);\n      return normalizePixelSize(value$$1, cell, get$4, setHeight);\n    };\n    var get$6 = function (cell, type$$1, f) {\n      var v = f(cell);\n      var span = getSpan(cell, type$$1);\n      return v / span;\n    };\n    var getSpan = function (cell, type$$1) {\n      return has$1(cell, type$$1) ? parseInt(get$1(cell, type$$1), 10) : 1;\n    };\n    var getRawWidth = function (element) {\n      var cssWidth = getRaw(element, 'width');\n      return cssWidth.fold(function () {\n        return Option.from(get$1(element, 'width'));\n      }, function (width) {\n        return Option.some(width);\n      });\n    };\n    var normalizePercentageWidth = function (cellWidth, tableSize) {\n      return cellWidth / tableSize.pixelWidth() * 100;\n    };\n    var choosePercentageSize = function (element, width, tableSize) {\n      if (percentageBasedSizeRegex.test(width)) {\n        var percentMatch = percentageBasedSizeRegex.exec(width);\n        return parseFloat(percentMatch[1]);\n      } else {\n        var intWidth = get$5(element);\n        return normalizePercentageWidth(intWidth, tableSize);\n      }\n    };\n    var getPercentageWidth = function (cell, tableSize) {\n      var width = getRawWidth(cell);\n      return width.fold(function () {\n        var intWidth = get$5(cell);\n        return normalizePercentageWidth(intWidth, tableSize);\n      }, function (width) {\n        return choosePercentageSize(cell, width, tableSize);\n      });\n    };\n    var normalizePixelWidth = function (cellWidth, tableSize) {\n      return cellWidth / 100 * tableSize.pixelWidth();\n    };\n    var choosePixelSize = function (element, width, tableSize) {\n      if (pixelBasedSizeRegex.test(width)) {\n        var pixelMatch = pixelBasedSizeRegex.exec(width);\n        return parseInt(pixelMatch[1], 10);\n      } else if (percentageBasedSizeRegex.test(width)) {\n        var percentMatch = percentageBasedSizeRegex.exec(width);\n        var floatWidth = parseFloat(percentMatch[1]);\n        return normalizePixelWidth(floatWidth, tableSize);\n      } else {\n        return get$5(element);\n      }\n    };\n    var getPixelWidth = function (cell, tableSize) {\n      var width = getRawWidth(cell);\n      return width.fold(function () {\n        return get$5(cell);\n      }, function (width) {\n        return choosePixelSize(cell, width, tableSize);\n      });\n    };\n    var getHeight$1 = function (cell) {\n      return get$6(cell, 'rowspan', getTotalHeight);\n    };\n    var getGenericWidth = function (cell) {\n      var width = getRawWidth(cell);\n      return width.bind(function (width) {\n        if (genericSizeRegex.test(width)) {\n          var match = genericSizeRegex.exec(width);\n          return Option.some({\n            width: constant(match[1]),\n            unit: constant(match[3])\n          });\n        } else {\n          return Option.none();\n        }\n      });\n    };\n    var setGenericWidth = function (cell, amount, unit) {\n      set$1(cell, 'width', amount + unit);\n    };\n    var Sizes = {\n      percentageBasedSizeRegex: constant(percentageBasedSizeRegex),\n      pixelBasedSizeRegex: constant(pixelBasedSizeRegex),\n      setPixelWidth: setPixelWidth,\n      setPercentageWidth: setPercentageWidth,\n      setHeight: setHeight,\n      getPixelWidth: getPixelWidth,\n      getPercentageWidth: getPercentageWidth,\n      getGenericWidth: getGenericWidth,\n      setGenericWidth: setGenericWidth,\n      getHeight: getHeight$1,\n      getRawWidth: getRawWidth\n    };\n\n    var halve = function (main, other) {\n      var width = Sizes.getGenericWidth(main);\n      width.each(function (width) {\n        var newWidth = width.width() / 2;\n        Sizes.setGenericWidth(main, newWidth, width.unit());\n        Sizes.setGenericWidth(other, newWidth, width.unit());\n      });\n    };\n    var CellMutations = { halve: halve };\n\n    var attached = function (element, scope) {\n      var doc = scope || Element$$1.fromDom(document.documentElement);\n      return ancestor(element, curry(eq, doc)).isSome();\n    };\n    var windowOf = function (element) {\n      var dom = element.dom();\n      if (dom === dom.window && element instanceof Window)\n        return element;\n      return isDocument(element) ? dom.defaultView || dom.parentWindow : null;\n    };\n\n    var r = function (left, top) {\n      var translate = function (x, y) {\n        return r(left + x, top + y);\n      };\n      return {\n        left: constant(left),\n        top: constant(top),\n        translate: translate\n      };\n    };\n    var Position = r;\n\n    var boxPosition = function (dom) {\n      var box = dom.getBoundingClientRect();\n      return Position(box.left, box.top);\n    };\n    var firstDefinedOrZero = function (a, b) {\n      return a !== undefined ? a : b !== undefined ? b : 0;\n    };\n    var absolute = function (element) {\n      var doc = element.dom().ownerDocument;\n      var body = doc.body;\n      var win = windowOf(Element$$1.fromDom(doc));\n      var html = doc.documentElement;\n      var scrollTop = firstDefinedOrZero(win.pageYOffset, html.scrollTop);\n      var scrollLeft = firstDefinedOrZero(win.pageXOffset, html.scrollLeft);\n      var clientTop = firstDefinedOrZero(html.clientTop, body.clientTop);\n      var clientLeft = firstDefinedOrZero(html.clientLeft, body.clientLeft);\n      return viewport(element).translate(scrollLeft - clientLeft, scrollTop - clientTop);\n    };\n    var viewport = function (element) {\n      var dom = element.dom();\n      var doc = dom.ownerDocument;\n      var body = doc.body;\n      var html = Element$$1.fromDom(doc.documentElement);\n      if (body === dom)\n        return Position(body.offsetLeft, body.offsetTop);\n      if (!attached(element, html))\n        return Position(0, 0);\n      return boxPosition(dom);\n    };\n\n    var rowInfo = Immutable('row', 'y');\n    var colInfo = Immutable('col', 'x');\n    var rtlEdge = function (cell) {\n      var pos = absolute(cell);\n      return pos.left() + getOuter$1(cell);\n    };\n    var ltrEdge = function (cell) {\n      return absolute(cell).left();\n    };\n    var getLeftEdge = function (index, cell) {\n      return colInfo(index, ltrEdge(cell));\n    };\n    var getRightEdge = function (index, cell) {\n      return colInfo(index, rtlEdge(cell));\n    };\n    var getTop = function (cell) {\n      return absolute(cell).top();\n    };\n    var getTopEdge = function (index, cell) {\n      return rowInfo(index, getTop(cell));\n    };\n    var getBottomEdge = function (index, cell) {\n      return rowInfo(index, getTop(cell) + getOuter(cell));\n    };\n    var findPositions = function (getInnerEdge, getOuterEdge, array) {\n      if (array.length === 0)\n        return [];\n      var lines = map(array.slice(1), function (cellOption, index) {\n        return cellOption.map(function (cell) {\n          return getInnerEdge(index, cell);\n        });\n      });\n      var lastLine = array[array.length - 1].map(function (cell) {\n        return getOuterEdge(array.length - 1, cell);\n      });\n      return lines.concat([lastLine]);\n    };\n    var negate = function (step, _table) {\n      return -step;\n    };\n    var height = {\n      delta: identity,\n      positions: curry(findPositions, getTopEdge, getBottomEdge),\n      edge: getTop\n    };\n    var ltr = {\n      delta: identity,\n      edge: ltrEdge,\n      positions: curry(findPositions, getLeftEdge, getRightEdge)\n    };\n    var rtl = {\n      delta: negate,\n      edge: rtlEdge,\n      positions: curry(findPositions, getRightEdge, getLeftEdge)\n    };\n    var BarPositions = {\n      height: height,\n      rtl: rtl,\n      ltr: ltr\n    };\n\n    var ResizeDirection = {\n      ltr: BarPositions.ltr,\n      rtl: BarPositions.rtl\n    };\n\n    function TableDirection (directionAt) {\n      var auto = function (table) {\n        return directionAt(table).isRtl() ? ResizeDirection.rtl : ResizeDirection.ltr;\n      };\n      var delta = function (amount, table) {\n        return auto(table).delta(amount, table);\n      };\n      var positions = function (cols, table) {\n        return auto(table).positions(cols, table);\n      };\n      var edge = function (cell) {\n        return auto(cell).edge(cell);\n      };\n      return {\n        delta: delta,\n        edge: edge,\n        positions: positions\n      };\n    }\n\n    var getGridSize = function (table) {\n      var input = DetailsList.fromTable(table);\n      var warehouse = Warehouse.generate(input);\n      return warehouse.grid();\n    };\n    var TableGridSize = { getGridSize: getGridSize };\n\n    var Cell = function (initial) {\n      var value = initial;\n      var get = function () {\n        return value;\n      };\n      var set = function (v) {\n        value = v;\n      };\n      var clone = function () {\n        return Cell(get());\n      };\n      return {\n        get: get,\n        set: set,\n        clone: clone\n      };\n    };\n\n    var base = function (handleUnsupported, required) {\n      return baseWith(handleUnsupported, required, {\n        validate: isFunction,\n        label: 'function'\n      });\n    };\n    var baseWith = function (handleUnsupported, required, pred) {\n      if (required.length === 0)\n        throw new Error('You must specify at least one required field.');\n      validateStrArr('required', required);\n      checkDupes(required);\n      return function (obj) {\n        var keys$$1 = keys(obj);\n        var allReqd = forall(required, function (req) {\n          return contains(keys$$1, req);\n        });\n        if (!allReqd)\n          reqMessage(required, keys$$1);\n        handleUnsupported(required, keys$$1);\n        var invalidKeys = filter(required, function (key) {\n          return !pred.validate(obj[key], key);\n        });\n        if (invalidKeys.length > 0)\n          invalidTypeMessage(invalidKeys, pred.label);\n        return obj;\n      };\n    };\n    var handleExact = function (required, keys$$1) {\n      var unsupported = filter(keys$$1, function (key) {\n        return !contains(required, key);\n      });\n      if (unsupported.length > 0)\n        unsuppMessage(unsupported);\n    };\n    var exactly = function (required) {\n      return base(handleExact, required);\n    };\n\n    var elementToData = function (element) {\n      var colspan = has$1(element, 'colspan') ? parseInt(get$1(element, 'colspan'), 10) : 1;\n      var rowspan = has$1(element, 'rowspan') ? parseInt(get$1(element, 'rowspan'), 10) : 1;\n      return {\n        element: constant(element),\n        colspan: constant(colspan),\n        rowspan: constant(rowspan)\n      };\n    };\n    var modification = function (generators, _toData) {\n      contract(generators);\n      var position = Cell(Option.none());\n      var toData = _toData !== undefined ? _toData : elementToData;\n      var nu = function (data) {\n        return generators.cell(data);\n      };\n      var nuFrom = function (element) {\n        var data = toData(element);\n        return nu(data);\n      };\n      var add = function (element) {\n        var replacement = nuFrom(element);\n        if (position.get().isNone())\n          position.set(Option.some(replacement));\n        recent = Option.some({\n          item: element,\n          replacement: replacement\n        });\n        return replacement;\n      };\n      var recent = Option.none();\n      var getOrInit = function (element, comparator) {\n        return recent.fold(function () {\n          return add(element);\n        }, function (p) {\n          return comparator(element, p.item) ? p.replacement : add(element);\n        });\n      };\n      return {\n        getOrInit: getOrInit,\n        cursor: position.get\n      };\n    };\n    var transform = function (scope, tag) {\n      return function (generators) {\n        var position = Cell(Option.none());\n        contract(generators);\n        var list = [];\n        var find$$1 = function (element, comparator) {\n          return find(list, function (x) {\n            return comparator(x.item, element);\n          });\n        };\n        var makeNew = function (element) {\n          var cell = generators.replace(element, tag, { scope: scope });\n          list.push({\n            item: element,\n            sub: cell\n          });\n          if (position.get().isNone())\n            position.set(Option.some(cell));\n          return cell;\n        };\n        var replaceOrInit = function (element, comparator) {\n          return find$$1(element, comparator).fold(function () {\n            return makeNew(element);\n          }, function (p) {\n            return comparator(element, p.item) ? p.sub : makeNew(element);\n          });\n        };\n        return {\n          replaceOrInit: replaceOrInit,\n          cursor: position.get\n        };\n      };\n    };\n    var merging = function (generators) {\n      contract(generators);\n      var position = Cell(Option.none());\n      var combine = function (cell) {\n        if (position.get().isNone())\n          position.set(Option.some(cell));\n        return function () {\n          var raw = generators.cell({\n            element: constant(cell),\n            colspan: constant(1),\n            rowspan: constant(1)\n          });\n          remove$1(raw, 'width');\n          remove$1(cell, 'width');\n          return raw;\n        };\n      };\n      return {\n        combine: combine,\n        cursor: position.get\n      };\n    };\n    var contract = exactly([\n      'cell',\n      'row',\n      'replace',\n      'gap'\n    ]);\n    var Generators = {\n      modification: modification,\n      transform: transform,\n      merging: merging\n    };\n\n    var blockList = [\n      'body',\n      'p',\n      'div',\n      'article',\n      'aside',\n      'figcaption',\n      'figure',\n      'footer',\n      'header',\n      'nav',\n      'section',\n      'ol',\n      'ul',\n      'table',\n      'thead',\n      'tfoot',\n      'tbody',\n      'caption',\n      'tr',\n      'td',\n      'th',\n      'h1',\n      'h2',\n      'h3',\n      'h4',\n      'h5',\n      'h6',\n      'blockquote',\n      'pre',\n      'address'\n    ];\n    var isList = function (universe, item) {\n      var tagName = universe.property().name(item);\n      return contains([\n        'ol',\n        'ul'\n      ], tagName);\n    };\n    var isBlock = function (universe, item) {\n      var tagName = universe.property().name(item);\n      return contains(blockList, tagName);\n    };\n    var isFormatting = function (universe, item) {\n      var tagName = universe.property().name(item);\n      return contains([\n        'address',\n        'pre',\n        'p',\n        'h1',\n        'h2',\n        'h3',\n        'h4',\n        'h5',\n        'h6'\n      ], tagName);\n    };\n    var isHeading = function (universe, item) {\n      var tagName = universe.property().name(item);\n      return contains([\n        'h1',\n        'h2',\n        'h3',\n        'h4',\n        'h5',\n        'h6'\n      ], tagName);\n    };\n    var isContainer = function (universe, item) {\n      return contains([\n        'div',\n        'li',\n        'td',\n        'th',\n        'blockquote',\n        'body',\n        'caption'\n      ], universe.property().name(item));\n    };\n    var isEmptyTag = function (universe, item) {\n      return contains([\n        'br',\n        'img',\n        'hr',\n        'input'\n      ], universe.property().name(item));\n    };\n    var isFrame = function (universe, item) {\n      return universe.property().name(item) === 'iframe';\n    };\n    var isInline = function (universe, item) {\n      return !(isBlock(universe, item) || isEmptyTag(universe, item)) && universe.property().name(item) !== 'li';\n    };\n    var Structure = {\n      isBlock: isBlock,\n      isList: isList,\n      isFormatting: isFormatting,\n      isHeading: isHeading,\n      isContainer: isContainer,\n      isEmptyTag: isEmptyTag,\n      isFrame: isFrame,\n      isInline: isInline\n    };\n\n    var universe$1 = DomUniverse();\n    var isBlock$1 = function (element) {\n      return Structure.isBlock(universe$1, element);\n    };\n    var isList$1 = function (element) {\n      return Structure.isList(universe$1, element);\n    };\n    var isFormatting$1 = function (element) {\n      return Structure.isFormatting(universe$1, element);\n    };\n    var isHeading$1 = function (element) {\n      return Structure.isHeading(universe$1, element);\n    };\n    var isContainer$1 = function (element) {\n      return Structure.isContainer(universe$1, element);\n    };\n    var isEmptyTag$1 = function (element) {\n      return Structure.isEmptyTag(universe$1, element);\n    };\n    var isFrame$1 = function (element) {\n      return Structure.isFrame(universe$1, element);\n    };\n    var isInline$1 = function (element) {\n      return Structure.isInline(universe$1, element);\n    };\n    var DomStructure = {\n      isBlock: isBlock$1,\n      isList: isList$1,\n      isFormatting: isFormatting$1,\n      isHeading: isHeading$1,\n      isContainer: isContainer$1,\n      isEmptyTag: isEmptyTag$1,\n      isFrame: isFrame$1,\n      isInline: isInline$1\n    };\n\n    var merge = function (cells) {\n      var isBr = function (el) {\n        return name(el) === 'br';\n      };\n      var advancedBr = function (children$$1) {\n        return forall(children$$1, function (c) {\n          return isBr(c) || isText(c) && get$3(c).trim().length === 0;\n        });\n      };\n      var isListItem = function (el) {\n        return name(el) === 'li' || ancestor(el, DomStructure.isList).isSome();\n      };\n      var siblingIsBlock = function (el) {\n        return nextSibling(el).map(function (rightSibling) {\n          if (DomStructure.isBlock(rightSibling))\n            return true;\n          if (DomStructure.isEmptyTag(rightSibling)) {\n            return name(rightSibling) === 'img' ? false : true;\n          }\n        }).getOr(false);\n      };\n      var markCell = function (cell) {\n        return last$2(cell).bind(function (rightEdge) {\n          var rightSiblingIsBlock = siblingIsBlock(rightEdge);\n          return parent(rightEdge).map(function (parent$$1) {\n            return rightSiblingIsBlock === true || isListItem(parent$$1) || isBr(rightEdge) || DomStructure.isBlock(parent$$1) && !eq(cell, parent$$1) ? [] : [Element$$1.fromTag('br')];\n          });\n        }).getOr([]);\n      };\n      var markContent = function () {\n        var content = bind(cells, function (cell) {\n          var children$$1 = children(cell);\n          return advancedBr(children$$1) ? [] : children$$1.concat(markCell(cell));\n        });\n        return content.length === 0 ? [Element$$1.fromTag('br')] : content;\n      };\n      var contents = markContent();\n      empty(cells[0]);\n      append$1(cells[0], contents);\n    };\n    var TableContent = { merge: merge };\n\n    var hasOwnProperty$1 = Object.prototype.hasOwnProperty;\n    var shallow$1 = function (old, nu) {\n      return nu;\n    };\n    var baseMerge = function (merger) {\n      return function () {\n        var objects = new Array(arguments.length);\n        for (var i = 0; i < objects.length; i++)\n          objects[i] = arguments[i];\n        if (objects.length === 0)\n          throw new Error('Can\\'t merge zero objects');\n        var ret = {};\n        for (var j = 0; j < objects.length; j++) {\n          var curObject = objects[j];\n          for (var key in curObject)\n            if (hasOwnProperty$1.call(curObject, key)) {\n              ret[key] = merger(ret[key], curObject[key]);\n            }\n        }\n        return ret;\n      };\n    };\n    var merge$1 = baseMerge(shallow$1);\n\n    var cat = function (arr) {\n      var r = [];\n      var push = function (x) {\n        r.push(x);\n      };\n      for (var i = 0; i < arr.length; i++) {\n        arr[i].each(push);\n      }\n      return r;\n    };\n    var findMap = function (arr, f) {\n      for (var i = 0; i < arr.length; i++) {\n        var r = f(arr[i], i);\n        if (r.isSome()) {\n          return r;\n        }\n      }\n      return Option.none();\n    };\n\n    var addCell = function (gridRow, index, cell) {\n      var cells = gridRow.cells();\n      var before = cells.slice(0, index);\n      var after = cells.slice(index);\n      var newCells = before.concat([cell]).concat(after);\n      return setCells(gridRow, newCells);\n    };\n    var mutateCell = function (gridRow, index, cell) {\n      var cells = gridRow.cells();\n      cells[index] = cell;\n    };\n    var setCells = function (gridRow, cells) {\n      return Structs.rowcells(cells, gridRow.section());\n    };\n    var mapCells = function (gridRow, f) {\n      var cells = gridRow.cells();\n      var r = map(cells, f);\n      return Structs.rowcells(r, gridRow.section());\n    };\n    var getCell = function (gridRow, index) {\n      return gridRow.cells()[index];\n    };\n    var getCellElement = function (gridRow, index) {\n      return getCell(gridRow, index).element();\n    };\n    var cellLength = function (gridRow) {\n      return gridRow.cells().length;\n    };\n    var GridRow = {\n      addCell: addCell,\n      setCells: setCells,\n      mutateCell: mutateCell,\n      getCell: getCell,\n      getCellElement: getCellElement,\n      mapCells: mapCells,\n      cellLength: cellLength\n    };\n\n    var getColumn = function (grid, index) {\n      return map(grid, function (row) {\n        return GridRow.getCell(row, index);\n      });\n    };\n    var getRow = function (grid, index) {\n      return grid[index];\n    };\n    var findDiff = function (xs, comp) {\n      if (xs.length === 0)\n        return 0;\n      var first = xs[0];\n      var index = findIndex(xs, function (x) {\n        return !comp(first.element(), x.element());\n      });\n      return index.fold(function () {\n        return xs.length;\n      }, function (ind) {\n        return ind;\n      });\n    };\n    var subgrid = function (grid, row, column, comparator) {\n      var restOfRow = getRow(grid, row).cells().slice(column);\n      var endColIndex = findDiff(restOfRow, comparator);\n      var restOfColumn = getColumn(grid, column).slice(row);\n      var endRowIndex = findDiff(restOfColumn, comparator);\n      return {\n        colspan: constant(endColIndex),\n        rowspan: constant(endRowIndex)\n      };\n    };\n    var TableGrid = { subgrid: subgrid };\n\n    var toDetails = function (grid, comparator) {\n      var seen = map(grid, function (row, ri) {\n        return map(row.cells(), function (col, ci) {\n          return false;\n        });\n      });\n      var updateSeen = function (ri, ci, rowspan, colspan) {\n        for (var r = ri; r < ri + rowspan; r++) {\n          for (var c = ci; c < ci + colspan; c++) {\n            seen[r][c] = true;\n          }\n        }\n      };\n      return map(grid, function (row, ri) {\n        var details = bind(row.cells(), function (cell, ci) {\n          if (seen[ri][ci] === false) {\n            var result = TableGrid.subgrid(grid, ri, ci, comparator);\n            updateSeen(ri, ci, result.rowspan(), result.colspan());\n            return [Structs.detailnew(cell.element(), result.rowspan(), result.colspan(), cell.isNew())];\n          } else {\n            return [];\n          }\n        });\n        return Structs.rowdetails(details, row.section());\n      });\n    };\n    var toGrid = function (warehouse, generators, isNew) {\n      var grid = [];\n      for (var i = 0; i < warehouse.grid().rows(); i++) {\n        var rowCells = [];\n        for (var j = 0; j < warehouse.grid().columns(); j++) {\n          var element = Warehouse.getAt(warehouse, i, j).map(function (item) {\n            return Structs.elementnew(item.element(), isNew);\n          }).getOrThunk(function () {\n            return Structs.elementnew(generators.gap(), true);\n          });\n          rowCells.push(element);\n        }\n        var row = Structs.rowcells(rowCells, warehouse.all()[i].section());\n        grid.push(row);\n      }\n      return grid;\n    };\n    var Transitions = {\n      toDetails: toDetails,\n      toGrid: toGrid\n    };\n\n    var setIfNot = function (element, property, value, ignore) {\n      if (value === ignore)\n        remove(element, property);\n      else\n        set(element, property, value);\n    };\n    var render = function (table, grid) {\n      var newRows = [];\n      var newCells = [];\n      var renderSection = function (gridSection, sectionName) {\n        var section = child$2(table, sectionName).getOrThunk(function () {\n          var tb = Element$$1.fromTag(sectionName, owner(table).dom());\n          append(table, tb);\n          return tb;\n        });\n        empty(section);\n        var rows = map(gridSection, function (row) {\n          if (row.isNew()) {\n            newRows.push(row.element());\n          }\n          var tr = row.element();\n          empty(tr);\n          each(row.cells(), function (cell) {\n            if (cell.isNew()) {\n              newCells.push(cell.element());\n            }\n            setIfNot(cell.element(), 'colspan', cell.colspan(), 1);\n            setIfNot(cell.element(), 'rowspan', cell.rowspan(), 1);\n            append(tr, cell.element());\n          });\n          return tr;\n        });\n        append$1(section, rows);\n      };\n      var removeSection = function (sectionName) {\n        child$2(table, sectionName).each(remove$2);\n      };\n      var renderOrRemoveSection = function (gridSection, sectionName) {\n        if (gridSection.length > 0) {\n          renderSection(gridSection, sectionName);\n        } else {\n          removeSection(sectionName);\n        }\n      };\n      var headSection = [];\n      var bodySection = [];\n      var footSection = [];\n      each(grid, function (row) {\n        switch (row.section()) {\n        case 'thead':\n          headSection.push(row);\n          break;\n        case 'tbody':\n          bodySection.push(row);\n          break;\n        case 'tfoot':\n          footSection.push(row);\n          break;\n        }\n      });\n      renderOrRemoveSection(headSection, 'thead');\n      renderOrRemoveSection(bodySection, 'tbody');\n      renderOrRemoveSection(footSection, 'tfoot');\n      return {\n        newRows: constant(newRows),\n        newCells: constant(newCells)\n      };\n    };\n    var copy$2 = function (grid) {\n      var rows = map(grid, function (row) {\n        var tr = shallow(row.element());\n        each(row.cells(), function (cell) {\n          var clonedCell = deep(cell.element());\n          setIfNot(clonedCell, 'colspan', cell.colspan(), 1);\n          setIfNot(clonedCell, 'rowspan', cell.rowspan(), 1);\n          append(tr, clonedCell);\n        });\n        return tr;\n      });\n      return rows;\n    };\n    var Redraw = {\n      render: render,\n      copy: copy$2\n    };\n\n    var repeat = function (repititions, f) {\n      var r = [];\n      for (var i = 0; i < repititions; i++) {\n        r.push(f(i));\n      }\n      return r;\n    };\n    var range$1 = function (start, end) {\n      var r = [];\n      for (var i = start; i < end; i++) {\n        r.push(i);\n      }\n      return r;\n    };\n    var unique = function (xs, comparator) {\n      var result = [];\n      each(xs, function (x, i) {\n        if (i < xs.length - 1 && !comparator(x, xs[i + 1])) {\n          result.push(x);\n        } else if (i === xs.length - 1) {\n          result.push(x);\n        }\n      });\n      return result;\n    };\n    var deduce = function (xs, index) {\n      if (index < 0 || index >= xs.length - 1)\n        return Option.none();\n      var current = xs[index].fold(function () {\n        var rest = reverse(xs.slice(0, index));\n        return findMap(rest, function (a, i) {\n          return a.map(function (aa) {\n            return {\n              value: aa,\n              delta: i + 1\n            };\n          });\n        });\n      }, function (c) {\n        return Option.some({\n          value: c,\n          delta: 0\n        });\n      });\n      var next = xs[index + 1].fold(function () {\n        var rest = xs.slice(index + 1);\n        return findMap(rest, function (a, i) {\n          return a.map(function (aa) {\n            return {\n              value: aa,\n              delta: i + 1\n            };\n          });\n        });\n      }, function (n) {\n        return Option.some({\n          value: n,\n          delta: 1\n        });\n      });\n      return current.bind(function (c) {\n        return next.map(function (n) {\n          var extras = n.delta + c.delta;\n          return Math.abs(n.value - c.value) / extras;\n        });\n      });\n    };\n    var Util = {\n      repeat: repeat,\n      range: range$1,\n      unique: unique,\n      deduce: deduce\n    };\n\n    var columns = function (warehouse) {\n      var grid = warehouse.grid();\n      var cols = Util.range(0, grid.columns());\n      var rows = Util.range(0, grid.rows());\n      return map(cols, function (col) {\n        var getBlock = function () {\n          return bind(rows, function (r) {\n            return Warehouse.getAt(warehouse, r, col).filter(function (detail) {\n              return detail.column() === col;\n            }).fold(constant([]), function (detail) {\n              return [detail];\n            });\n          });\n        };\n        var isSingle = function (detail) {\n          return detail.colspan() === 1;\n        };\n        var getFallback = function () {\n          return Warehouse.getAt(warehouse, 0, col);\n        };\n        return decide(getBlock, isSingle, getFallback);\n      });\n    };\n    var decide = function (getBlock, isSingle, getFallback) {\n      var inBlock = getBlock();\n      var singleInBlock = find(inBlock, isSingle);\n      var detailOption = singleInBlock.orThunk(function () {\n        return Option.from(inBlock[0]).orThunk(getFallback);\n      });\n      return detailOption.map(function (detail) {\n        return detail.element();\n      });\n    };\n    var rows$1 = function (warehouse) {\n      var grid = warehouse.grid();\n      var rows = Util.range(0, grid.rows());\n      var cols = Util.range(0, grid.columns());\n      return map(rows, function (row) {\n        var getBlock = function () {\n          return bind(cols, function (c) {\n            return Warehouse.getAt(warehouse, row, c).filter(function (detail) {\n              return detail.row() === row;\n            }).fold(constant([]), function (detail) {\n              return [detail];\n            });\n          });\n        };\n        var isSingle = function (detail) {\n          return detail.rowspan() === 1;\n        };\n        var getFallback = function () {\n          return Warehouse.getAt(warehouse, row, 0);\n        };\n        return decide(getBlock, isSingle, getFallback);\n      });\n    };\n    var Blocks = {\n      columns: columns,\n      rows: rows$1\n    };\n\n    var col = function (column, x, y, w, h) {\n      var blocker = Element$$1.fromTag('div');\n      setAll$1(blocker, {\n        position: 'absolute',\n        left: x - w / 2 + 'px',\n        top: y + 'px',\n        height: h + 'px',\n        width: w + 'px'\n      });\n      setAll(blocker, {\n        'data-column': column,\n        'role': 'presentation'\n      });\n      return blocker;\n    };\n    var row$1 = function (row, x, y, w, h) {\n      var blocker = Element$$1.fromTag('div');\n      setAll$1(blocker, {\n        position: 'absolute',\n        left: x + 'px',\n        top: y - h / 2 + 'px',\n        height: h + 'px',\n        width: w + 'px'\n      });\n      setAll(blocker, {\n        'data-row': row,\n        'role': 'presentation'\n      });\n      return blocker;\n    };\n    var Bar = {\n      col: col,\n      row: row$1\n    };\n\n    var css = function (namespace) {\n      var dashNamespace = namespace.replace(/\\./g, '-');\n      var resolve = function (str) {\n        return dashNamespace + '-' + str;\n      };\n      return { resolve: resolve };\n    };\n\n    var styles = css('ephox-snooker');\n    var Styles = { resolve: styles.resolve };\n\n    var read = function (element, attr) {\n      var value = get$1(element, attr);\n      return value === undefined || value === '' ? [] : value.split(' ');\n    };\n    var add = function (element, attr, id) {\n      var old = read(element, attr);\n      var nu = old.concat([id]);\n      set(element, attr, nu.join(' '));\n      return true;\n    };\n    var remove$3 = function (element, attr, id) {\n      var nu = filter(read(element, attr), function (v) {\n        return v !== id;\n      });\n      if (nu.length > 0)\n        set(element, attr, nu.join(' '));\n      else\n        remove(element, attr);\n      return false;\n    };\n\n    var supports = function (element) {\n      return element.dom().classList !== undefined;\n    };\n    var get$7 = function (element) {\n      return read(element, 'class');\n    };\n    var add$1 = function (element, clazz) {\n      return add(element, 'class', clazz);\n    };\n    var remove$4 = function (element, clazz) {\n      return remove$3(element, 'class', clazz);\n    };\n\n    var add$2 = function (element, clazz) {\n      if (supports(element))\n        element.dom().classList.add(clazz);\n      else\n        add$1(element, clazz);\n    };\n    var cleanClass = function (element) {\n      var classList = supports(element) ? element.dom().classList : get$7(element);\n      if (classList.length === 0) {\n        remove(element, 'class');\n      }\n    };\n    var remove$5 = function (element, clazz) {\n      if (supports(element)) {\n        var classList = element.dom().classList;\n        classList.remove(clazz);\n      } else\n        remove$4(element, clazz);\n      cleanClass(element);\n    };\n    var has$2 = function (element, clazz) {\n      return supports(element) && element.dom().classList.contains(clazz);\n    };\n\n    var resizeBar = Styles.resolve('resizer-bar');\n    var resizeRowBar = Styles.resolve('resizer-rows');\n    var resizeColBar = Styles.resolve('resizer-cols');\n    var BAR_THICKNESS = 7;\n    var clear = function (wire) {\n      var previous = descendants$1(wire.parent(), '.' + resizeBar);\n      each(previous, remove$2);\n    };\n    var drawBar = function (wire, positions, create) {\n      var origin = wire.origin();\n      each(positions, function (cpOption, i) {\n        cpOption.each(function (cp) {\n          var bar = create(origin, cp);\n          add$2(bar, resizeBar);\n          append(wire.parent(), bar);\n        });\n      });\n    };\n    var refreshCol = function (wire, colPositions, position, tableHeight) {\n      drawBar(wire, colPositions, function (origin, cp) {\n        var colBar = Bar.col(cp.col(), cp.x() - origin.left(), position.top() - origin.top(), BAR_THICKNESS, tableHeight);\n        add$2(colBar, resizeColBar);\n        return colBar;\n      });\n    };\n    var refreshRow = function (wire, rowPositions, position, tableWidth) {\n      drawBar(wire, rowPositions, function (origin, cp) {\n        var rowBar = Bar.row(cp.row(), position.left() - origin.left(), cp.y() - origin.top(), tableWidth, BAR_THICKNESS);\n        add$2(rowBar, resizeRowBar);\n        return rowBar;\n      });\n    };\n    var refreshGrid = function (wire, table, rows, cols, hdirection, vdirection) {\n      var position = absolute(table);\n      var rowPositions = rows.length > 0 ? hdirection.positions(rows, table) : [];\n      refreshRow(wire, rowPositions, position, getOuter$1(table));\n      var colPositions = cols.length > 0 ? vdirection.positions(cols, table) : [];\n      refreshCol(wire, colPositions, position, getOuter(table));\n    };\n    var refresh = function (wire, table, hdirection, vdirection) {\n      clear(wire);\n      var list = DetailsList.fromTable(table);\n      var warehouse = Warehouse.generate(list);\n      var rows = Blocks.rows(warehouse);\n      var cols = Blocks.columns(warehouse);\n      refreshGrid(wire, table, rows, cols, hdirection, vdirection);\n    };\n    var each$2 = function (wire, f) {\n      var bars = descendants$1(wire.parent(), '.' + resizeBar);\n      each(bars, f);\n    };\n    var hide = function (wire) {\n      each$2(wire, function (bar) {\n        set$1(bar, 'display', 'none');\n      });\n    };\n    var show = function (wire) {\n      each$2(wire, function (bar) {\n        set$1(bar, 'display', 'block');\n      });\n    };\n    var isRowBar = function (element) {\n      return has$2(element, resizeRowBar);\n    };\n    var isColBar = function (element) {\n      return has$2(element, resizeColBar);\n    };\n    var Bars = {\n      refresh: refresh,\n      hide: hide,\n      show: show,\n      destroy: clear,\n      isRowBar: isRowBar,\n      isColBar: isColBar\n    };\n\n    var fromWarehouse = function (warehouse, generators) {\n      return Transitions.toGrid(warehouse, generators, false);\n    };\n    var deriveRows = function (rendered, generators) {\n      var findRow = function (details) {\n        var rowOfCells = findMap(details, function (detail) {\n          return parent(detail.element()).map(function (row) {\n            var isNew = parent(row).isNone();\n            return Structs.elementnew(row, isNew);\n          });\n        });\n        return rowOfCells.getOrThunk(function () {\n          return Structs.elementnew(generators.row(), true);\n        });\n      };\n      return map(rendered, function (details) {\n        var row = findRow(details.details());\n        return Structs.rowdatanew(row.element(), details.details(), details.section(), row.isNew());\n      });\n    };\n    var toDetailList = function (grid, generators) {\n      var rendered = Transitions.toDetails(grid, eq);\n      return deriveRows(rendered, generators);\n    };\n    var findInWarehouse = function (warehouse, element) {\n      var all = flatten(map(warehouse.all(), function (r) {\n        return r.cells();\n      }));\n      return find(all, function (e) {\n        return eq(element, e.element());\n      });\n    };\n    var run = function (operation, extract, adjustment, postAction, genWrappers) {\n      return function (wire, table, target, generators, direction) {\n        var input = DetailsList.fromTable(table);\n        var warehouse = Warehouse.generate(input);\n        var output = extract(warehouse, target).map(function (info) {\n          var model = fromWarehouse(warehouse, generators);\n          var result = operation(model, info, eq, genWrappers(generators));\n          var grid = toDetailList(result.grid(), generators);\n          return {\n            grid: constant(grid),\n            cursor: result.cursor\n          };\n        });\n        return output.fold(function () {\n          return Option.none();\n        }, function (out) {\n          var newElements = Redraw.render(table, out.grid());\n          adjustment(table, out.grid(), direction);\n          postAction(table);\n          Bars.refresh(wire, table, BarPositions.height, direction);\n          return Option.some({\n            cursor: out.cursor,\n            newRows: newElements.newRows,\n            newCells: newElements.newCells\n          });\n        });\n      };\n    };\n    var onCell = function (warehouse, target) {\n      return TableLookup.cell(target.element()).bind(function (cell) {\n        return findInWarehouse(warehouse, cell);\n      });\n    };\n    var onPaste = function (warehouse, target) {\n      return TableLookup.cell(target.element()).bind(function (cell) {\n        return findInWarehouse(warehouse, cell).map(function (details) {\n          return merge$1(details, {\n            generators: target.generators,\n            clipboard: target.clipboard\n          });\n        });\n      });\n    };\n    var onPasteRows = function (warehouse, target) {\n      var details = map(target.selection(), function (cell) {\n        return TableLookup.cell(cell).bind(function (lc) {\n          return findInWarehouse(warehouse, lc);\n        });\n      });\n      var cells = cat(details);\n      return cells.length > 0 ? Option.some(merge$1({ cells: cells }, {\n        generators: target.generators,\n        clipboard: target.clipboard\n      })) : Option.none();\n    };\n    var onMergable = function (warehouse, target) {\n      return target.mergable();\n    };\n    var onUnmergable = function (warehouse, target) {\n      return target.unmergable();\n    };\n    var onCells = function (warehouse, target) {\n      var details = map(target.selection(), function (cell) {\n        return TableLookup.cell(cell).bind(function (lc) {\n          return findInWarehouse(warehouse, lc);\n        });\n      });\n      var cells = cat(details);\n      return cells.length > 0 ? Option.some(cells) : Option.none();\n    };\n    var RunOperation = {\n      run: run,\n      toDetailList: toDetailList,\n      onCell: onCell,\n      onCells: onCells,\n      onPaste: onPaste,\n      onPasteRows: onPasteRows,\n      onMergable: onMergable,\n      onUnmergable: onUnmergable\n    };\n\n    var value$1 = function (o) {\n      var is = function (v) {\n        return o === v;\n      };\n      var or = function (opt) {\n        return value$1(o);\n      };\n      var orThunk = function (f) {\n        return value$1(o);\n      };\n      var map = function (f) {\n        return value$1(f(o));\n      };\n      var mapError = function (f) {\n        return value$1(o);\n      };\n      var each = function (f) {\n        f(o);\n      };\n      var bind = function (f) {\n        return f(o);\n      };\n      var fold = function (_, onValue) {\n        return onValue(o);\n      };\n      var exists = function (f) {\n        return f(o);\n      };\n      var forall = function (f) {\n        return f(o);\n      };\n      var toOption = function () {\n        return Option.some(o);\n      };\n      return {\n        is: is,\n        isValue: always,\n        isError: never,\n        getOr: constant(o),\n        getOrThunk: constant(o),\n        getOrDie: constant(o),\n        or: or,\n        orThunk: orThunk,\n        fold: fold,\n        map: map,\n        mapError: mapError,\n        each: each,\n        bind: bind,\n        exists: exists,\n        forall: forall,\n        toOption: toOption\n      };\n    };\n    var error = function (message) {\n      var getOrThunk = function (f) {\n        return f();\n      };\n      var getOrDie = function () {\n        return die(String(message))();\n      };\n      var or = function (opt) {\n        return opt;\n      };\n      var orThunk = function (f) {\n        return f();\n      };\n      var map = function (f) {\n        return error(message);\n      };\n      var mapError = function (f) {\n        return error(f(message));\n      };\n      var bind = function (f) {\n        return error(message);\n      };\n      var fold = function (onError, _) {\n        return onError(message);\n      };\n      return {\n        is: never,\n        isValue: never,\n        isError: always,\n        getOr: identity,\n        getOrThunk: getOrThunk,\n        getOrDie: getOrDie,\n        or: or,\n        orThunk: orThunk,\n        fold: fold,\n        map: map,\n        mapError: mapError,\n        each: noop,\n        bind: bind,\n        exists: never,\n        forall: always,\n        toOption: Option.none\n      };\n    };\n    var Result = {\n      value: value$1,\n      error: error\n    };\n\n    var measure = function (startAddress, gridA, gridB) {\n      if (startAddress.row() >= gridA.length || startAddress.column() > GridRow.cellLength(gridA[0]))\n        return Result.error('invalid start address out of table bounds, row: ' + startAddress.row() + ', column: ' + startAddress.column());\n      var rowRemainder = gridA.slice(startAddress.row());\n      var colRemainder = rowRemainder[0].cells().slice(startAddress.column());\n      var colRequired = GridRow.cellLength(gridB[0]);\n      var rowRequired = gridB.length;\n      return Result.value({\n        rowDelta: constant(rowRemainder.length - rowRequired),\n        colDelta: constant(colRemainder.length - colRequired)\n      });\n    };\n    var measureWidth = function (gridA, gridB) {\n      var colLengthA = GridRow.cellLength(gridA[0]);\n      var colLengthB = GridRow.cellLength(gridB[0]);\n      return {\n        rowDelta: constant(0),\n        colDelta: constant(colLengthA - colLengthB)\n      };\n    };\n    var fill = function (cells, generator) {\n      return map(cells, function () {\n        return Structs.elementnew(generator.cell(), true);\n      });\n    };\n    var rowFill = function (grid, amount, generator) {\n      return grid.concat(Util.repeat(amount, function (_row) {\n        return GridRow.setCells(grid[grid.length - 1], fill(grid[grid.length - 1].cells(), generator));\n      }));\n    };\n    var colFill = function (grid, amount, generator) {\n      return map(grid, function (row) {\n        return GridRow.setCells(row, row.cells().concat(fill(Util.range(0, amount), generator)));\n      });\n    };\n    var tailor = function (gridA, delta, generator) {\n      var fillCols = delta.colDelta() < 0 ? colFill : identity;\n      var fillRows = delta.rowDelta() < 0 ? rowFill : identity;\n      var modifiedCols = fillCols(gridA, Math.abs(delta.colDelta()), generator);\n      var tailoredGrid = fillRows(modifiedCols, Math.abs(delta.rowDelta()), generator);\n      return tailoredGrid;\n    };\n    var Fitment = {\n      measure: measure,\n      measureWidth: measureWidth,\n      tailor: tailor\n    };\n\n    var merge$2 = function (grid, bounds, comparator, substitution) {\n      if (grid.length === 0)\n        return grid;\n      for (var i = bounds.startRow(); i <= bounds.finishRow(); i++) {\n        for (var j = bounds.startCol(); j <= bounds.finishCol(); j++) {\n          GridRow.mutateCell(grid[i], j, Structs.elementnew(substitution(), false));\n        }\n      }\n      return grid;\n    };\n    var unmerge = function (grid, target, comparator, substitution) {\n      var first = true;\n      for (var i = 0; i < grid.length; i++) {\n        for (var j = 0; j < GridRow.cellLength(grid[0]); j++) {\n          var current = GridRow.getCellElement(grid[i], j);\n          var isToReplace = comparator(current, target);\n          if (isToReplace === true && first === false) {\n            GridRow.mutateCell(grid[i], j, Structs.elementnew(substitution(), true));\n          } else if (isToReplace === true) {\n            first = false;\n          }\n        }\n      }\n      return grid;\n    };\n    var uniqueCells = function (row, comparator) {\n      return foldl(row, function (rest, cell) {\n        return exists(rest, function (currentCell) {\n          return comparator(currentCell.element(), cell.element());\n        }) ? rest : rest.concat([cell]);\n      }, []);\n    };\n    var splitRows = function (grid, index, comparator, substitution) {\n      if (index > 0 && index < grid.length) {\n        var rowPrevCells = grid[index - 1].cells();\n        var cells = uniqueCells(rowPrevCells, comparator);\n        each(cells, function (cell) {\n          var replacement = Option.none();\n          for (var i = index; i < grid.length; i++) {\n            for (var j = 0; j < GridRow.cellLength(grid[0]); j++) {\n              var current = grid[i].cells()[j];\n              var isToReplace = comparator(current.element(), cell.element());\n              if (isToReplace) {\n                if (replacement.isNone()) {\n                  replacement = Option.some(substitution());\n                }\n                replacement.each(function (sub) {\n                  GridRow.mutateCell(grid[i], j, Structs.elementnew(sub, true));\n                });\n              }\n            }\n          }\n        });\n      }\n      return grid;\n    };\n    var MergingOperations = {\n      merge: merge$2,\n      unmerge: unmerge,\n      splitRows: splitRows\n    };\n\n    var isSpanning = function (grid, row, col, comparator) {\n      var candidate = GridRow.getCell(grid[row], col);\n      var matching = curry(comparator, candidate.element());\n      var currentRow = grid[row];\n      return grid.length > 1 && GridRow.cellLength(currentRow) > 1 && (col > 0 && matching(GridRow.getCellElement(currentRow, col - 1)) || col < currentRow.length - 1 && matching(GridRow.getCellElement(currentRow, col + 1)) || row > 0 && matching(GridRow.getCellElement(grid[row - 1], col)) || row < grid.length - 1 && matching(GridRow.getCellElement(grid[row + 1], col)));\n    };\n    var mergeTables = function (startAddress, gridA, gridB, generator, comparator) {\n      var startRow = startAddress.row();\n      var startCol = startAddress.column();\n      var mergeHeight = gridB.length;\n      var mergeWidth = GridRow.cellLength(gridB[0]);\n      var endRow = startRow + mergeHeight;\n      var endCol = startCol + mergeWidth;\n      for (var r = startRow; r < endRow; r++) {\n        for (var c = startCol; c < endCol; c++) {\n          if (isSpanning(gridA, r, c, comparator)) {\n            MergingOperations.unmerge(gridA, GridRow.getCellElement(gridA[r], c), comparator, generator.cell);\n          }\n          var newCell = GridRow.getCellElement(gridB[r - startRow], c - startCol);\n          var replacement = generator.replace(newCell);\n          GridRow.mutateCell(gridA[r], c, Structs.elementnew(replacement, true));\n        }\n      }\n      return gridA;\n    };\n    var merge$3 = function (startAddress, gridA, gridB, generator, comparator) {\n      var result = Fitment.measure(startAddress, gridA, gridB);\n      return result.map(function (delta) {\n        var fittedGrid = Fitment.tailor(gridA, delta, generator);\n        return mergeTables(startAddress, fittedGrid, gridB, generator, comparator);\n      });\n    };\n    var insert = function (index, gridA, gridB, generator, comparator) {\n      MergingOperations.splitRows(gridA, index, comparator, generator.cell);\n      var delta = Fitment.measureWidth(gridB, gridA);\n      var fittedNewGrid = Fitment.tailor(gridB, delta, generator);\n      var secondDelta = Fitment.measureWidth(gridA, fittedNewGrid);\n      var fittedOldGrid = Fitment.tailor(gridA, secondDelta, generator);\n      return fittedOldGrid.slice(0, index).concat(fittedNewGrid).concat(fittedOldGrid.slice(index, fittedOldGrid.length));\n    };\n    var TableMerge = {\n      merge: merge$3,\n      insert: insert\n    };\n\n    var insertRowAt = function (grid, index, example, comparator, substitution) {\n      var before = grid.slice(0, index);\n      var after = grid.slice(index);\n      var between = GridRow.mapCells(grid[example], function (ex, c) {\n        var withinSpan = index > 0 && index < grid.length && comparator(GridRow.getCellElement(grid[index - 1], c), GridRow.getCellElement(grid[index], c));\n        var ret = withinSpan ? GridRow.getCell(grid[index], c) : Structs.elementnew(substitution(ex.element(), comparator), true);\n        return ret;\n      });\n      return before.concat([between]).concat(after);\n    };\n    var insertColumnAt = function (grid, index, example, comparator, substitution) {\n      return map(grid, function (row) {\n        var withinSpan = index > 0 && index < GridRow.cellLength(row) && comparator(GridRow.getCellElement(row, index - 1), GridRow.getCellElement(row, index));\n        var sub = withinSpan ? GridRow.getCell(row, index) : Structs.elementnew(substitution(GridRow.getCellElement(row, example), comparator), true);\n        return GridRow.addCell(row, index, sub);\n      });\n    };\n    var splitCellIntoColumns = function (grid, exampleRow, exampleCol, comparator, substitution) {\n      var index = exampleCol + 1;\n      return map(grid, function (row, i) {\n        var isTargetCell = i === exampleRow;\n        var sub = isTargetCell ? Structs.elementnew(substitution(GridRow.getCellElement(row, exampleCol), comparator), true) : GridRow.getCell(row, exampleCol);\n        return GridRow.addCell(row, index, sub);\n      });\n    };\n    var splitCellIntoRows = function (grid, exampleRow, exampleCol, comparator, substitution) {\n      var index = exampleRow + 1;\n      var before = grid.slice(0, index);\n      var after = grid.slice(index);\n      var between = GridRow.mapCells(grid[exampleRow], function (ex, i) {\n        var isTargetCell = i === exampleCol;\n        return isTargetCell ? Structs.elementnew(substitution(ex.element(), comparator), true) : ex;\n      });\n      return before.concat([between]).concat(after);\n    };\n    var deleteColumnsAt = function (grid, start, finish) {\n      var rows = map(grid, function (row) {\n        var cells = row.cells().slice(0, start).concat(row.cells().slice(finish + 1));\n        return Structs.rowcells(cells, row.section());\n      });\n      return filter(rows, function (row) {\n        return row.cells().length > 0;\n      });\n    };\n    var deleteRowsAt = function (grid, start, finish) {\n      return grid.slice(0, start).concat(grid.slice(finish + 1));\n    };\n    var ModificationOperations = {\n      insertRowAt: insertRowAt,\n      insertColumnAt: insertColumnAt,\n      splitCellIntoColumns: splitCellIntoColumns,\n      splitCellIntoRows: splitCellIntoRows,\n      deleteRowsAt: deleteRowsAt,\n      deleteColumnsAt: deleteColumnsAt\n    };\n\n    var replaceIn = function (grid, targets, comparator, substitution) {\n      var isTarget = function (cell) {\n        return exists(targets, function (target) {\n          return comparator(cell.element(), target.element());\n        });\n      };\n      return map(grid, function (row) {\n        return GridRow.mapCells(row, function (cell) {\n          return isTarget(cell) ? Structs.elementnew(substitution(cell.element(), comparator), true) : cell;\n        });\n      });\n    };\n    var notStartRow = function (grid, rowIndex, colIndex, comparator) {\n      return GridRow.getCellElement(grid[rowIndex], colIndex) !== undefined && (rowIndex > 0 && comparator(GridRow.getCellElement(grid[rowIndex - 1], colIndex), GridRow.getCellElement(grid[rowIndex], colIndex)));\n    };\n    var notStartColumn = function (row, index, comparator) {\n      return index > 0 && comparator(GridRow.getCellElement(row, index - 1), GridRow.getCellElement(row, index));\n    };\n    var replaceColumn = function (grid, index, comparator, substitution) {\n      var targets = bind(grid, function (row, i) {\n        var alreadyAdded = notStartRow(grid, i, index, comparator) || notStartColumn(row, index, comparator);\n        return alreadyAdded ? [] : [GridRow.getCell(row, index)];\n      });\n      return replaceIn(grid, targets, comparator, substitution);\n    };\n    var replaceRow = function (grid, index, comparator, substitution) {\n      var targetRow = grid[index];\n      var targets = bind(targetRow.cells(), function (item, i) {\n        var alreadyAdded = notStartRow(grid, index, i, comparator) || notStartColumn(targetRow, i, comparator);\n        return alreadyAdded ? [] : [item];\n      });\n      return replaceIn(grid, targets, comparator, substitution);\n    };\n    var TransformOperations = {\n      replaceColumn: replaceColumn,\n      replaceRow: replaceRow\n    };\n\n    var none$1 = function () {\n      return folder(function (n, o, l, m, r) {\n        return n();\n      });\n    };\n    var only = function (index) {\n      return folder(function (n, o, l, m, r) {\n        return o(index);\n      });\n    };\n    var left = function (index, next) {\n      return folder(function (n, o, l, m, r) {\n        return l(index, next);\n      });\n    };\n    var middle = function (prev, index, next) {\n      return folder(function (n, o, l, m, r) {\n        return m(prev, index, next);\n      });\n    };\n    var right = function (prev, index) {\n      return folder(function (n, o, l, m, r) {\n        return r(prev, index);\n      });\n    };\n    var folder = function (fold) {\n      return { fold: fold };\n    };\n    var ColumnContext = {\n      none: none$1,\n      only: only,\n      left: left,\n      middle: middle,\n      right: right\n    };\n\n    var neighbours$1 = function (input, index) {\n      if (input.length === 0)\n        return ColumnContext.none();\n      if (input.length === 1)\n        return ColumnContext.only(0);\n      if (index === 0)\n        return ColumnContext.left(0, 1);\n      if (index === input.length - 1)\n        return ColumnContext.right(index - 1, index);\n      if (index > 0 && index < input.length - 1)\n        return ColumnContext.middle(index - 1, index, index + 1);\n      return ColumnContext.none();\n    };\n    var determine = function (input, column, step, tableSize) {\n      var result = input.slice(0);\n      var context = neighbours$1(input, column);\n      var zero = function (array) {\n        return map(array, constant(0));\n      };\n      var onNone = constant(zero(result));\n      var onOnly = function (index) {\n        return tableSize.singleColumnWidth(result[index], step);\n      };\n      var onChange = function (index, next) {\n        if (step >= 0) {\n          var newNext = Math.max(tableSize.minCellWidth(), result[next] - step);\n          return zero(result.slice(0, index)).concat([\n            step,\n            newNext - result[next]\n          ]).concat(zero(result.slice(next + 1)));\n        } else {\n          var newThis = Math.max(tableSize.minCellWidth(), result[index] + step);\n          var diffx = result[index] - newThis;\n          return zero(result.slice(0, index)).concat([\n            newThis - result[index],\n            diffx\n          ]).concat(zero(result.slice(next + 1)));\n        }\n      };\n      var onLeft = onChange;\n      var onMiddle = function (prev, index, next) {\n        return onChange(index, next);\n      };\n      var onRight = function (prev, index) {\n        if (step >= 0) {\n          return zero(result.slice(0, index)).concat([step]);\n        } else {\n          var size = Math.max(tableSize.minCellWidth(), result[index] + step);\n          return zero(result.slice(0, index)).concat([size - result[index]]);\n        }\n      };\n      return context.fold(onNone, onOnly, onLeft, onMiddle, onRight);\n    };\n    var Deltas = { determine: determine };\n\n    var getSpan$1 = function (cell, type) {\n      return has$1(cell, type) && parseInt(get$1(cell, type), 10) > 1;\n    };\n    var hasColspan = function (cell) {\n      return getSpan$1(cell, 'colspan');\n    };\n    var hasRowspan = function (cell) {\n      return getSpan$1(cell, 'rowspan');\n    };\n    var getInt = function (element, property) {\n      return parseInt(get$2(element, property), 10);\n    };\n    var CellUtils = {\n      hasColspan: hasColspan,\n      hasRowspan: hasRowspan,\n      minWidth: constant(10),\n      minHeight: constant(10),\n      getInt: getInt\n    };\n\n    var getRaw$1 = function (cell, property, getter) {\n      return getRaw(cell, property).fold(function () {\n        return getter(cell) + 'px';\n      }, function (raw) {\n        return raw;\n      });\n    };\n    var getRawW = function (cell) {\n      return getRaw$1(cell, 'width', Sizes.getPixelWidth);\n    };\n    var getRawH = function (cell) {\n      return getRaw$1(cell, 'height', Sizes.getHeight);\n    };\n    var getWidthFrom = function (warehouse, direction, getWidth, fallback, tableSize) {\n      var columns = Blocks.columns(warehouse);\n      var backups = map(columns, function (cellOption) {\n        return cellOption.map(direction.edge);\n      });\n      return map(columns, function (cellOption, c) {\n        var columnCell = cellOption.filter(not(CellUtils.hasColspan));\n        return columnCell.fold(function () {\n          var deduced = Util.deduce(backups, c);\n          return fallback(deduced);\n        }, function (cell) {\n          return getWidth(cell, tableSize);\n        });\n      });\n    };\n    var getDeduced = function (deduced) {\n      return deduced.map(function (d) {\n        return d + 'px';\n      }).getOr('');\n    };\n    var getRawWidths = function (warehouse, direction) {\n      return getWidthFrom(warehouse, direction, getRawW, getDeduced);\n    };\n    var getPercentageWidths = function (warehouse, direction, tableSize) {\n      return getWidthFrom(warehouse, direction, Sizes.getPercentageWidth, function (deduced) {\n        return deduced.fold(function () {\n          return tableSize.minCellWidth();\n        }, function (cellWidth) {\n          return cellWidth / tableSize.pixelWidth() * 100;\n        });\n      }, tableSize);\n    };\n    var getPixelWidths = function (warehouse, direction, tableSize) {\n      return getWidthFrom(warehouse, direction, Sizes.getPixelWidth, function (deduced) {\n        return deduced.getOrThunk(tableSize.minCellWidth);\n      }, tableSize);\n    };\n    var getHeightFrom = function (warehouse, direction, getHeight, fallback) {\n      var rows = Blocks.rows(warehouse);\n      var backups = map(rows, function (cellOption) {\n        return cellOption.map(direction.edge);\n      });\n      return map(rows, function (cellOption, c) {\n        var rowCell = cellOption.filter(not(CellUtils.hasRowspan));\n        return rowCell.fold(function () {\n          var deduced = Util.deduce(backups, c);\n          return fallback(deduced);\n        }, function (cell) {\n          return getHeight(cell);\n        });\n      });\n    };\n    var getPixelHeights = function (warehouse, direction) {\n      return getHeightFrom(warehouse, direction, Sizes.getHeight, function (deduced) {\n        return deduced.getOrThunk(CellUtils.minHeight);\n      });\n    };\n    var getRawHeights = function (warehouse, direction) {\n      return getHeightFrom(warehouse, direction, getRawH, getDeduced);\n    };\n    var ColumnSizes = {\n      getRawWidths: getRawWidths,\n      getPixelWidths: getPixelWidths,\n      getPercentageWidths: getPercentageWidths,\n      getPixelHeights: getPixelHeights,\n      getRawHeights: getRawHeights\n    };\n\n    var total = function (start, end, measures) {\n      var r = 0;\n      for (var i = start; i < end; i++) {\n        r += measures[i] !== undefined ? measures[i] : 0;\n      }\n      return r;\n    };\n    var recalculateWidth = function (warehouse, widths) {\n      var all = Warehouse.justCells(warehouse);\n      return map(all, function (cell) {\n        var width = total(cell.column(), cell.column() + cell.colspan(), widths);\n        return {\n          element: cell.element,\n          width: constant(width),\n          colspan: cell.colspan\n        };\n      });\n    };\n    var recalculateHeight = function (warehouse, heights) {\n      var all = Warehouse.justCells(warehouse);\n      return map(all, function (cell) {\n        var height = total(cell.row(), cell.row() + cell.rowspan(), heights);\n        return {\n          element: cell.element,\n          height: constant(height),\n          rowspan: cell.rowspan\n        };\n      });\n    };\n    var matchRowHeight = function (warehouse, heights) {\n      return map(warehouse.all(), function (row, i) {\n        return {\n          element: row.element,\n          height: constant(heights[i])\n        };\n      });\n    };\n    var Recalculations = {\n      recalculateWidth: recalculateWidth,\n      recalculateHeight: recalculateHeight,\n      matchRowHeight: matchRowHeight\n    };\n\n    var percentageSize = function (width, element) {\n      var floatWidth = parseFloat(width);\n      var pixelWidth = get$5(element);\n      var getCellDelta = function (delta) {\n        return delta / pixelWidth * 100;\n      };\n      var singleColumnWidth = function (width, _delta) {\n        return [100 - width];\n      };\n      var minCellWidth = function () {\n        return CellUtils.minWidth() / pixelWidth * 100;\n      };\n      var setTableWidth = function (table, _newWidths, delta) {\n        var total = floatWidth + delta;\n        Sizes.setPercentageWidth(table, total);\n      };\n      return {\n        width: constant(floatWidth),\n        pixelWidth: constant(pixelWidth),\n        getWidths: ColumnSizes.getPercentageWidths,\n        getCellDelta: getCellDelta,\n        singleColumnWidth: singleColumnWidth,\n        minCellWidth: minCellWidth,\n        setElementWidth: Sizes.setPercentageWidth,\n        setTableWidth: setTableWidth\n      };\n    };\n    var pixelSize = function (width) {\n      var intWidth = parseInt(width, 10);\n      var getCellDelta = identity;\n      var singleColumnWidth = function (width, delta) {\n        var newNext = Math.max(CellUtils.minWidth(), width + delta);\n        return [newNext - width];\n      };\n      var setTableWidth = function (table, newWidths, _delta) {\n        var total = foldr(newWidths, function (b, a) {\n          return b + a;\n        }, 0);\n        Sizes.setPixelWidth(table, total);\n      };\n      return {\n        width: constant(intWidth),\n        pixelWidth: constant(intWidth),\n        getWidths: ColumnSizes.getPixelWidths,\n        getCellDelta: getCellDelta,\n        singleColumnWidth: singleColumnWidth,\n        minCellWidth: CellUtils.minWidth,\n        setElementWidth: Sizes.setPixelWidth,\n        setTableWidth: setTableWidth\n      };\n    };\n    var chooseSize = function (element, width) {\n      if (Sizes.percentageBasedSizeRegex().test(width)) {\n        var percentMatch = Sizes.percentageBasedSizeRegex().exec(width);\n        return percentageSize(percentMatch[1], element);\n      } else if (Sizes.pixelBasedSizeRegex().test(width)) {\n        var pixelMatch = Sizes.pixelBasedSizeRegex().exec(width);\n        return pixelSize(pixelMatch[1]);\n      } else {\n        var fallbackWidth = get$5(element);\n        return pixelSize(fallbackWidth);\n      }\n    };\n    var getTableSize = function (element) {\n      var width = Sizes.getRawWidth(element);\n      return width.fold(function () {\n        var fallbackWidth = get$5(element);\n        return pixelSize(fallbackWidth);\n      }, function (width) {\n        return chooseSize(element, width);\n      });\n    };\n    var TableSize = { getTableSize: getTableSize };\n\n    var getWarehouse$1 = function (list) {\n      return Warehouse.generate(list);\n    };\n    var sumUp = function (newSize) {\n      return foldr(newSize, function (b, a) {\n        return b + a;\n      }, 0);\n    };\n    var getTableWarehouse = function (table) {\n      var list = DetailsList.fromTable(table);\n      return getWarehouse$1(list);\n    };\n    var adjustWidth = function (table, delta, index, direction) {\n      var tableSize = TableSize.getTableSize(table);\n      var step = tableSize.getCellDelta(delta);\n      var warehouse = getTableWarehouse(table);\n      var widths = tableSize.getWidths(warehouse, direction, tableSize);\n      var deltas = Deltas.determine(widths, index, step, tableSize);\n      var newWidths = map(deltas, function (dx, i) {\n        return dx + widths[i];\n      });\n      var newSizes = Recalculations.recalculateWidth(warehouse, newWidths);\n      each(newSizes, function (cell) {\n        tableSize.setElementWidth(cell.element(), cell.width());\n      });\n      if (index === warehouse.grid().columns() - 1) {\n        tableSize.setTableWidth(table, newWidths, step);\n      }\n    };\n    var adjustHeight = function (table, delta, index, direction) {\n      var warehouse = getTableWarehouse(table);\n      var heights = ColumnSizes.getPixelHeights(warehouse, direction);\n      var newHeights = map(heights, function (dy, i) {\n        return index === i ? Math.max(delta + dy, CellUtils.minHeight()) : dy;\n      });\n      var newCellSizes = Recalculations.recalculateHeight(warehouse, newHeights);\n      var newRowSizes = Recalculations.matchRowHeight(warehouse, newHeights);\n      each(newRowSizes, function (row) {\n        Sizes.setHeight(row.element(), row.height());\n      });\n      each(newCellSizes, function (cell) {\n        Sizes.setHeight(cell.element(), cell.height());\n      });\n      var total = sumUp(newHeights);\n      Sizes.setHeight(table, total);\n    };\n    var adjustWidthTo = function (table, list, direction) {\n      var tableSize = TableSize.getTableSize(table);\n      var warehouse = getWarehouse$1(list);\n      var widths = tableSize.getWidths(warehouse, direction, tableSize);\n      var newSizes = Recalculations.recalculateWidth(warehouse, widths);\n      each(newSizes, function (cell) {\n        tableSize.setElementWidth(cell.element(), cell.width());\n      });\n      var total = foldr(widths, function (b, a) {\n        return a + b;\n      }, 0);\n      if (newSizes.length > 0) {\n        tableSize.setElementWidth(table, total);\n      }\n    };\n    var Adjustments = {\n      adjustWidth: adjustWidth,\n      adjustHeight: adjustHeight,\n      adjustWidthTo: adjustWidthTo\n    };\n\n    var prune = function (table) {\n      var cells = TableLookup.cells(table);\n      if (cells.length === 0)\n        remove$2(table);\n    };\n    var outcome = Immutable('grid', 'cursor');\n    var elementFromGrid = function (grid, row, column) {\n      return findIn(grid, row, column).orThunk(function () {\n        return findIn(grid, 0, 0);\n      });\n    };\n    var findIn = function (grid, row, column) {\n      return Option.from(grid[row]).bind(function (r) {\n        return Option.from(r.cells()[column]).bind(function (c) {\n          return Option.from(c.element());\n        });\n      });\n    };\n    var bundle = function (grid, row, column) {\n      return outcome(grid, findIn(grid, row, column));\n    };\n    var uniqueRows = function (details) {\n      return foldl(details, function (rest, detail) {\n        return exists(rest, function (currentDetail) {\n          return currentDetail.row() === detail.row();\n        }) ? rest : rest.concat([detail]);\n      }, []).sort(function (detailA, detailB) {\n        return detailA.row() - detailB.row();\n      });\n    };\n    var uniqueColumns = function (details) {\n      return foldl(details, function (rest, detail) {\n        return exists(rest, function (currentDetail) {\n          return currentDetail.column() === detail.column();\n        }) ? rest : rest.concat([detail]);\n      }, []).sort(function (detailA, detailB) {\n        return detailA.column() - detailB.column();\n      });\n    };\n    var insertRowBefore = function (grid, detail, comparator, genWrappers) {\n      var example = detail.row();\n      var targetIndex = detail.row();\n      var newGrid = ModificationOperations.insertRowAt(grid, targetIndex, example, comparator, genWrappers.getOrInit);\n      return bundle(newGrid, targetIndex, detail.column());\n    };\n    var insertRowsBefore = function (grid, details, comparator, genWrappers) {\n      var example = details[0].row();\n      var targetIndex = details[0].row();\n      var rows = uniqueRows(details);\n      var newGrid = foldl(rows, function (newGrid, _row) {\n        return ModificationOperations.insertRowAt(newGrid, targetIndex, example, comparator, genWrappers.getOrInit);\n      }, grid);\n      return bundle(newGrid, targetIndex, details[0].column());\n    };\n    var insertRowAfter = function (grid, detail, comparator, genWrappers) {\n      var example = detail.row();\n      var targetIndex = detail.row() + detail.rowspan();\n      var newGrid = ModificationOperations.insertRowAt(grid, targetIndex, example, comparator, genWrappers.getOrInit);\n      return bundle(newGrid, targetIndex, detail.column());\n    };\n    var insertRowsAfter = function (grid, details, comparator, genWrappers) {\n      var rows = uniqueRows(details);\n      var example = rows[rows.length - 1].row();\n      var targetIndex = rows[rows.length - 1].row() + rows[rows.length - 1].rowspan();\n      var newGrid = foldl(rows, function (newGrid, _row) {\n        return ModificationOperations.insertRowAt(newGrid, targetIndex, example, comparator, genWrappers.getOrInit);\n      }, grid);\n      return bundle(newGrid, targetIndex, details[0].column());\n    };\n    var insertColumnBefore = function (grid, detail, comparator, genWrappers) {\n      var example = detail.column();\n      var targetIndex = detail.column();\n      var newGrid = ModificationOperations.insertColumnAt(grid, targetIndex, example, comparator, genWrappers.getOrInit);\n      return bundle(newGrid, detail.row(), targetIndex);\n    };\n    var insertColumnsBefore = function (grid, details, comparator, genWrappers) {\n      var columns = uniqueColumns(details);\n      var example = columns[0].column();\n      var targetIndex = columns[0].column();\n      var newGrid = foldl(columns, function (newGrid, _row) {\n        return ModificationOperations.insertColumnAt(newGrid, targetIndex, example, comparator, genWrappers.getOrInit);\n      }, grid);\n      return bundle(newGrid, details[0].row(), targetIndex);\n    };\n    var insertColumnAfter = function (grid, detail, comparator, genWrappers) {\n      var example = detail.column();\n      var targetIndex = detail.column() + detail.colspan();\n      var newGrid = ModificationOperations.insertColumnAt(grid, targetIndex, example, comparator, genWrappers.getOrInit);\n      return bundle(newGrid, detail.row(), targetIndex);\n    };\n    var insertColumnsAfter = function (grid, details, comparator, genWrappers) {\n      var example = details[details.length - 1].column();\n      var targetIndex = details[details.length - 1].column() + details[details.length - 1].colspan();\n      var columns = uniqueColumns(details);\n      var newGrid = foldl(columns, function (newGrid, _row) {\n        return ModificationOperations.insertColumnAt(newGrid, targetIndex, example, comparator, genWrappers.getOrInit);\n      }, grid);\n      return bundle(newGrid, details[0].row(), targetIndex);\n    };\n    var makeRowHeader = function (grid, detail, comparator, genWrappers) {\n      var newGrid = TransformOperations.replaceRow(grid, detail.row(), comparator, genWrappers.replaceOrInit);\n      return bundle(newGrid, detail.row(), detail.column());\n    };\n    var makeColumnHeader = function (grid, detail, comparator, genWrappers) {\n      var newGrid = TransformOperations.replaceColumn(grid, detail.column(), comparator, genWrappers.replaceOrInit);\n      return bundle(newGrid, detail.row(), detail.column());\n    };\n    var unmakeRowHeader = function (grid, detail, comparator, genWrappers) {\n      var newGrid = TransformOperations.replaceRow(grid, detail.row(), comparator, genWrappers.replaceOrInit);\n      return bundle(newGrid, detail.row(), detail.column());\n    };\n    var unmakeColumnHeader = function (grid, detail, comparator, genWrappers) {\n      var newGrid = TransformOperations.replaceColumn(grid, detail.column(), comparator, genWrappers.replaceOrInit);\n      return bundle(newGrid, detail.row(), detail.column());\n    };\n    var splitCellIntoColumns$1 = function (grid, detail, comparator, genWrappers) {\n      var newGrid = ModificationOperations.splitCellIntoColumns(grid, detail.row(), detail.column(), comparator, genWrappers.getOrInit);\n      return bundle(newGrid, detail.row(), detail.column());\n    };\n    var splitCellIntoRows$1 = function (grid, detail, comparator, genWrappers) {\n      var newGrid = ModificationOperations.splitCellIntoRows(grid, detail.row(), detail.column(), comparator, genWrappers.getOrInit);\n      return bundle(newGrid, detail.row(), detail.column());\n    };\n    var eraseColumns = function (grid, details, comparator, _genWrappers) {\n      var columns = uniqueColumns(details);\n      var newGrid = ModificationOperations.deleteColumnsAt(grid, columns[0].column(), columns[columns.length - 1].column());\n      var cursor = elementFromGrid(newGrid, details[0].row(), details[0].column());\n      return outcome(newGrid, cursor);\n    };\n    var eraseRows = function (grid, details, comparator, _genWrappers) {\n      var rows = uniqueRows(details);\n      var newGrid = ModificationOperations.deleteRowsAt(grid, rows[0].row(), rows[rows.length - 1].row());\n      var cursor = elementFromGrid(newGrid, details[0].row(), details[0].column());\n      return outcome(newGrid, cursor);\n    };\n    var mergeCells = function (grid, mergable, comparator, _genWrappers) {\n      var cells = mergable.cells();\n      TableContent.merge(cells);\n      var newGrid = MergingOperations.merge(grid, mergable.bounds(), comparator, constant(cells[0]));\n      return outcome(newGrid, Option.from(cells[0]));\n    };\n    var unmergeCells = function (grid, unmergable, comparator, genWrappers) {\n      var newGrid = foldr(unmergable, function (b, cell) {\n        return MergingOperations.unmerge(b, cell, comparator, genWrappers.combine(cell));\n      }, grid);\n      return outcome(newGrid, Option.from(unmergable[0]));\n    };\n    var pasteCells = function (grid, pasteDetails, comparator, genWrappers) {\n      var gridify = function (table, generators) {\n        var list = DetailsList.fromTable(table);\n        var wh = Warehouse.generate(list);\n        return Transitions.toGrid(wh, generators, true);\n      };\n      var gridB = gridify(pasteDetails.clipboard(), pasteDetails.generators());\n      var startAddress = Structs.address(pasteDetails.row(), pasteDetails.column());\n      var mergedGrid = TableMerge.merge(startAddress, grid, gridB, pasteDetails.generators(), comparator);\n      return mergedGrid.fold(function () {\n        return outcome(grid, Option.some(pasteDetails.element()));\n      }, function (nuGrid) {\n        var cursor = elementFromGrid(nuGrid, pasteDetails.row(), pasteDetails.column());\n        return outcome(nuGrid, cursor);\n      });\n    };\n    var gridifyRows = function (rows, generators, example) {\n      var pasteDetails = DetailsList.fromPastedRows(rows, example);\n      var wh = Warehouse.generate(pasteDetails);\n      return Transitions.toGrid(wh, generators, true);\n    };\n    var pasteRowsBefore = function (grid, pasteDetails, comparator, genWrappers) {\n      var example = grid[pasteDetails.cells[0].row()];\n      var index = pasteDetails.cells[0].row();\n      var gridB = gridifyRows(pasteDetails.clipboard(), pasteDetails.generators(), example);\n      var mergedGrid = TableMerge.insert(index, grid, gridB, pasteDetails.generators(), comparator);\n      var cursor = elementFromGrid(mergedGrid, pasteDetails.cells[0].row(), pasteDetails.cells[0].column());\n      return outcome(mergedGrid, cursor);\n    };\n    var pasteRowsAfter = function (grid, pasteDetails, comparator, genWrappers) {\n      var example = grid[pasteDetails.cells[0].row()];\n      var index = pasteDetails.cells[pasteDetails.cells.length - 1].row() + pasteDetails.cells[pasteDetails.cells.length - 1].rowspan();\n      var gridB = gridifyRows(pasteDetails.clipboard(), pasteDetails.generators(), example);\n      var mergedGrid = TableMerge.insert(index, grid, gridB, pasteDetails.generators(), comparator);\n      var cursor = elementFromGrid(mergedGrid, pasteDetails.cells[0].row(), pasteDetails.cells[0].column());\n      return outcome(mergedGrid, cursor);\n    };\n    var resize = Adjustments.adjustWidthTo;\n    var TableOperations = {\n      insertRowBefore: RunOperation.run(insertRowBefore, RunOperation.onCell, noop, noop, Generators.modification),\n      insertRowsBefore: RunOperation.run(insertRowsBefore, RunOperation.onCells, noop, noop, Generators.modification),\n      insertRowAfter: RunOperation.run(insertRowAfter, RunOperation.onCell, noop, noop, Generators.modification),\n      insertRowsAfter: RunOperation.run(insertRowsAfter, RunOperation.onCells, noop, noop, Generators.modification),\n      insertColumnBefore: RunOperation.run(insertColumnBefore, RunOperation.onCell, resize, noop, Generators.modification),\n      insertColumnsBefore: RunOperation.run(insertColumnsBefore, RunOperation.onCells, resize, noop, Generators.modification),\n      insertColumnAfter: RunOperation.run(insertColumnAfter, RunOperation.onCell, resize, noop, Generators.modification),\n      insertColumnsAfter: RunOperation.run(insertColumnsAfter, RunOperation.onCells, resize, noop, Generators.modification),\n      splitCellIntoColumns: RunOperation.run(splitCellIntoColumns$1, RunOperation.onCell, noop, noop, Generators.modification),\n      splitCellIntoRows: RunOperation.run(splitCellIntoRows$1, RunOperation.onCell, noop, noop, Generators.modification),\n      eraseColumns: RunOperation.run(eraseColumns, RunOperation.onCells, resize, prune, Generators.modification),\n      eraseRows: RunOperation.run(eraseRows, RunOperation.onCells, noop, prune, Generators.modification),\n      makeColumnHeader: RunOperation.run(makeColumnHeader, RunOperation.onCell, noop, noop, Generators.transform('row', 'th')),\n      unmakeColumnHeader: RunOperation.run(unmakeColumnHeader, RunOperation.onCell, noop, noop, Generators.transform(null, 'td')),\n      makeRowHeader: RunOperation.run(makeRowHeader, RunOperation.onCell, noop, noop, Generators.transform('col', 'th')),\n      unmakeRowHeader: RunOperation.run(unmakeRowHeader, RunOperation.onCell, noop, noop, Generators.transform(null, 'td')),\n      mergeCells: RunOperation.run(mergeCells, RunOperation.onMergable, noop, noop, Generators.merging),\n      unmergeCells: RunOperation.run(unmergeCells, RunOperation.onUnmergable, noop, noop, Generators.merging),\n      pasteCells: RunOperation.run(pasteCells, RunOperation.onPaste, resize, noop, Generators.modification),\n      pasteRowsBefore: RunOperation.run(pasteRowsBefore, RunOperation.onPasteRows, noop, noop, Generators.modification),\n      pasteRowsAfter: RunOperation.run(pasteRowsAfter, RunOperation.onPasteRows, noop, noop, Generators.modification)\n    };\n\n    var getBody$1 = function (editor) {\n      return Element$$1.fromDom(editor.getBody());\n    };\n    var getPixelWidth$1 = function (elm) {\n      return elm.getBoundingClientRect().width;\n    };\n    var getPixelHeight = function (elm) {\n      return elm.getBoundingClientRect().height;\n    };\n    var getIsRoot = function (editor) {\n      return function (element) {\n        return eq(element, getBody$1(editor));\n      };\n    };\n    var removePxSuffix = function (size) {\n      return size ? size.replace(/px$/, '') : '';\n    };\n    var addSizeSuffix = function (size) {\n      if (/^[0-9]+$/.test(size)) {\n        size += 'px';\n      }\n      return size;\n    };\n    var removeDataStyle = function (table) {\n      var dataStyleCells = descendants$1(table, 'td[data-mce-style],th[data-mce-style]');\n      remove(table, 'data-mce-style');\n      each(dataStyleCells, function (cell) {\n        remove(cell, 'data-mce-style');\n      });\n    };\n\n    var getDirection = function (element) {\n      return get$2(element, 'direction') === 'rtl' ? 'rtl' : 'ltr';\n    };\n\n    var ltr$1 = { isRtl: constant(false) };\n    var rtl$1 = { isRtl: constant(true) };\n    var directionAt = function (element) {\n      var dir = getDirection(element);\n      return dir === 'rtl' ? rtl$1 : ltr$1;\n    };\n    var Direction = { directionAt: directionAt };\n\n    var defaultTableToolbar = [\n      'tableprops',\n      'tabledelete',\n      '|',\n      'tableinsertrowbefore',\n      'tableinsertrowafter',\n      'tabledeleterow',\n      '|',\n      'tableinsertcolbefore',\n      'tableinsertcolafter',\n      'tabledeletecol'\n    ];\n    var defaultStyles = {\n      'border-collapse': 'collapse',\n      'width': '100%'\n    };\n    var defaultAttributes = { border: '1' };\n    var getDefaultAttributes = function (editor) {\n      return editor.getParam('table_default_attributes', defaultAttributes, 'object');\n    };\n    var getDefaultStyles = function (editor) {\n      return editor.getParam('table_default_styles', defaultStyles, 'object');\n    };\n    var hasTableResizeBars = function (editor) {\n      return editor.getParam('table_resize_bars', true, 'boolean');\n    };\n    var hasTabNavigation = function (editor) {\n      return editor.getParam('table_tab_navigation', true, 'boolean');\n    };\n    var hasAdvancedCellTab = function (editor) {\n      return editor.getParam('table_cell_advtab', true, 'boolean');\n    };\n    var hasAdvancedRowTab = function (editor) {\n      return editor.getParam('table_row_advtab', true, 'boolean');\n    };\n    var hasAdvancedTableTab = function (editor) {\n      return editor.getParam('table_advtab', true, 'boolean');\n    };\n    var hasAppearanceOptions = function (editor) {\n      return editor.getParam('table_appearance_options', true, 'boolean');\n    };\n    var hasTableGrid = function (editor) {\n      return editor.getParam('table_grid', true, 'boolean');\n    };\n    var shouldStyleWithCss = function (editor) {\n      return editor.getParam('table_style_by_css', false, 'boolean');\n    };\n    var getCellClassList = function (editor) {\n      return editor.getParam('table_cell_class_list', [], 'array');\n    };\n    var getRowClassList = function (editor) {\n      return editor.getParam('table_row_class_list', [], 'array');\n    };\n    var getTableClassList = function (editor) {\n      return editor.getParam('table_class_list', [], 'array');\n    };\n    var getColorPickerCallback = function (editor) {\n      return editor.getParam('color_picker_callback');\n    };\n    var isPixelsForced = function (editor) {\n      return editor.getParam('table_responsive_width') === false;\n    };\n    var getCloneElements = function (editor) {\n      var cloneElements = editor.getParam('table_clone_elements');\n      if (isString(cloneElements)) {\n        return Option.some(cloneElements.split(/[ ,]/));\n      } else if (Array.isArray(cloneElements)) {\n        return Option.some(cloneElements);\n      } else {\n        return Option.none();\n      }\n    };\n    var hasObjectResizing = function (editor) {\n      var objectResizing = editor.getParam('object_resizing', true);\n      return objectResizing === 'table' || objectResizing;\n    };\n    var getToolbar = function (editor) {\n      var toolbar = editor.getParam('table_toolbar', defaultTableToolbar);\n      if (toolbar === '' || toolbar === false) {\n        return [];\n      } else if (isString(toolbar)) {\n        return toolbar.split(/[ ,]/);\n      } else if (isArray(toolbar)) {\n        return toolbar;\n      } else {\n        return [];\n      }\n    };\n\n    var fireNewRow = function (editor, row) {\n      return editor.fire('newrow', { node: row });\n    };\n    var fireNewCell = function (editor, cell) {\n      return editor.fire('newcell', { node: cell });\n    };\n    var fireObjectResizeStart = function (editor, target, width, height) {\n      editor.fire('ObjectResizeStart', {\n        target: target,\n        width: width,\n        height: height\n      });\n    };\n    var fireObjectResized = function (editor, target, width, height) {\n      editor.fire('ObjectResized', {\n        target: target,\n        width: width,\n        height: height\n      });\n    };\n\n    var TableActions = function (editor, lazyWire) {\n      var isTableBody = function (editor) {\n        return name(getBody$1(editor)) === 'table';\n      };\n      var lastRowGuard = function (table) {\n        var size = TableGridSize.getGridSize(table);\n        return isTableBody(editor) === false || size.rows() > 1;\n      };\n      var lastColumnGuard = function (table) {\n        var size = TableGridSize.getGridSize(table);\n        return isTableBody(editor) === false || size.columns() > 1;\n      };\n      var cloneFormats = getCloneElements(editor);\n      var execute = function (operation, guard, mutate, lazyWire) {\n        return function (table, target) {\n          removeDataStyle(table);\n          var wire = lazyWire();\n          var doc = Element$$1.fromDom(editor.getDoc());\n          var direction = TableDirection(Direction.directionAt);\n          var generators = TableFill.cellOperations(mutate, doc, cloneFormats);\n          return guard(table) ? operation(wire, table, target, generators, direction).bind(function (result) {\n            each(result.newRows(), function (row) {\n              fireNewRow(editor, row.dom());\n            });\n            each(result.newCells(), function (cell) {\n              fireNewCell(editor, cell.dom());\n            });\n            return result.cursor().map(function (cell) {\n              var rng = editor.dom.createRng();\n              rng.setStart(cell.dom(), 0);\n              rng.setEnd(cell.dom(), 0);\n              return rng;\n            });\n          }) : Option.none();\n        };\n      };\n      var deleteRow = execute(TableOperations.eraseRows, lastRowGuard, noop, lazyWire);\n      var deleteColumn = execute(TableOperations.eraseColumns, lastColumnGuard, noop, lazyWire);\n      var insertRowsBefore = execute(TableOperations.insertRowsBefore, always, noop, lazyWire);\n      var insertRowsAfter = execute(TableOperations.insertRowsAfter, always, noop, lazyWire);\n      var insertColumnsBefore = execute(TableOperations.insertColumnsBefore, always, CellMutations.halve, lazyWire);\n      var insertColumnsAfter = execute(TableOperations.insertColumnsAfter, always, CellMutations.halve, lazyWire);\n      var mergeCells = execute(TableOperations.mergeCells, always, noop, lazyWire);\n      var unmergeCells = execute(TableOperations.unmergeCells, always, noop, lazyWire);\n      var pasteRowsBefore = execute(TableOperations.pasteRowsBefore, always, noop, lazyWire);\n      var pasteRowsAfter = execute(TableOperations.pasteRowsAfter, always, noop, lazyWire);\n      var pasteCells = execute(TableOperations.pasteCells, always, noop, lazyWire);\n      return {\n        deleteRow: deleteRow,\n        deleteColumn: deleteColumn,\n        insertRowsBefore: insertRowsBefore,\n        insertRowsAfter: insertRowsAfter,\n        insertColumnsBefore: insertColumnsBefore,\n        insertColumnsAfter: insertColumnsAfter,\n        mergeCells: mergeCells,\n        unmergeCells: unmergeCells,\n        pasteRowsBefore: pasteRowsBefore,\n        pasteRowsAfter: pasteRowsAfter,\n        pasteCells: pasteCells\n      };\n    };\n\n    var copyRows = function (table, target, generators) {\n      var list = DetailsList.fromTable(table);\n      var house = Warehouse.generate(list);\n      var details = RunOperation.onCells(house, target);\n      return details.map(function (selectedCells) {\n        var grid = Transitions.toGrid(house, generators, false);\n        var slicedGrid = grid.slice(selectedCells[0].row(), selectedCells[selectedCells.length - 1].row() + selectedCells[selectedCells.length - 1].rowspan());\n        var slicedDetails = RunOperation.toDetailList(slicedGrid, generators);\n        return Redraw.copy(slicedDetails);\n      });\n    };\n    var CopyRows = { copyRows: copyRows };\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    var getTDTHOverallStyle = function (dom, elm, name) {\n      var cells = dom.select('td,th', elm);\n      var firstChildStyle;\n      var checkChildren = function (firstChildStyle, elms) {\n        for (var i = 0; i < elms.length; i++) {\n          var currentStyle = dom.getStyle(elms[i], name);\n          if (typeof firstChildStyle === 'undefined') {\n            firstChildStyle = currentStyle;\n          }\n          if (firstChildStyle !== currentStyle) {\n            return '';\n          }\n        }\n        return firstChildStyle;\n      };\n      firstChildStyle = checkChildren(firstChildStyle, cells);\n      return firstChildStyle;\n    };\n    var applyAlign = function (editor, elm, name) {\n      if (name) {\n        editor.formatter.apply('align' + name, {}, elm);\n      }\n    };\n    var applyVAlign = function (editor, elm, name) {\n      if (name) {\n        editor.formatter.apply('valign' + name, {}, elm);\n      }\n    };\n    var unApplyAlign = function (editor, elm) {\n      global$1.each('left center right'.split(' '), function (name) {\n        editor.formatter.remove('align' + name, {}, elm);\n      });\n    };\n    var unApplyVAlign = function (editor, elm) {\n      global$1.each('top middle bottom'.split(' '), function (name) {\n        editor.formatter.remove('valign' + name, {}, elm);\n      });\n    };\n    var Styles$1 = {\n      applyAlign: applyAlign,\n      applyVAlign: applyVAlign,\n      unApplyAlign: unApplyAlign,\n      unApplyVAlign: unApplyVAlign,\n      getTDTHOverallStyle: getTDTHOverallStyle\n    };\n\n    var buildListItems = function (inputList, itemCallback, startItems) {\n      var appendItems = function (values, output) {\n        output = output || [];\n        global$1.each(values, function (item) {\n          var menuItem = { text: item.text || item.title };\n          if (item.menu) {\n            menuItem.menu = appendItems(item.menu);\n          } else {\n            menuItem.value = item.value;\n            if (itemCallback) {\n              itemCallback(menuItem);\n            }\n          }\n          output.push(menuItem);\n        });\n        return output;\n      };\n      return appendItems(inputList, startItems || []);\n    };\n    function styleFieldHasFocus(e) {\n      return e.control.rootControl.find('#style')[0].getEl().isEqualNode(document.activeElement);\n    }\n    var syncAdvancedStyleFields = function (editor, evt) {\n      if (styleFieldHasFocus(evt)) {\n        updateAdvancedFields(editor, evt);\n      } else {\n        updateStyleField(editor, evt);\n      }\n    };\n    var updateStyleField = function (editor, evt) {\n      var dom = editor.dom;\n      var rootControl = evt.control.rootControl;\n      var data = rootControl.toJSON();\n      var css = dom.parseStyle(data.style);\n      css['border-style'] = data.borderStyle;\n      css['border-color'] = data.borderColor;\n      css['background-color'] = data.backgroundColor;\n      css.width = data.width ? addSizeSuffix(data.width) : '';\n      css.height = data.height ? addSizeSuffix(data.height) : '';\n      rootControl.find('#style').value(dom.serializeStyle(dom.parseStyle(dom.serializeStyle(css))));\n    };\n    var updateAdvancedFields = function (editor, evt) {\n      var dom = editor.dom;\n      var rootControl = evt.control.rootControl;\n      var data = rootControl.toJSON();\n      var css = dom.parseStyle(data.style);\n      rootControl.find('#borderStyle').value(css['border-style'] || '');\n      rootControl.find('#borderColor').value(css['border-color'] || '');\n      rootControl.find('#backgroundColor').value(css['background-color'] || '');\n      rootControl.find('#width').value(css.width || '');\n      rootControl.find('#height').value(css.height || '');\n    };\n    var extractAdvancedStyles = function (dom, elm) {\n      var css = dom.parseStyle(dom.getAttrib(elm, 'style'));\n      var data = {};\n      if (css['border-style']) {\n        data.borderStyle = css['border-style'];\n      }\n      if (css['border-color']) {\n        data.borderColor = css['border-color'];\n      }\n      if (css['background-color']) {\n        data.backgroundColor = css['background-color'];\n      }\n      data.style = dom.serializeStyle(css);\n      return data;\n    };\n    var createStyleForm = function (editor) {\n      var createColorPickAction = function () {\n        var colorPickerCallback = getColorPickerCallback(editor);\n        if (colorPickerCallback) {\n          return function (evt) {\n            return colorPickerCallback.call(editor, function (value) {\n              evt.control.value(value).fire('change');\n            }, evt.control.value());\n          };\n        }\n      };\n      return {\n        title: 'Advanced',\n        type: 'form',\n        defaults: { onchange: curry(updateStyleField, editor) },\n        items: [\n          {\n            label: 'Style',\n            name: 'style',\n            type: 'textbox',\n            onchange: curry(updateAdvancedFields, editor)\n          },\n          {\n            type: 'form',\n            padding: 0,\n            formItemDefaults: {\n              layout: 'grid',\n              alignH: [\n                'start',\n                'right'\n              ]\n            },\n            defaults: { size: 7 },\n            items: [\n              {\n                label: 'Border style',\n                type: 'listbox',\n                name: 'borderStyle',\n                width: 90,\n                onselect: curry(updateStyleField, editor),\n                values: [\n                  {\n                    text: 'Select...',\n                    value: ''\n                  },\n                  {\n                    text: 'Solid',\n                    value: 'solid'\n                  },\n                  {\n                    text: 'Dotted',\n                    value: 'dotted'\n                  },\n                  {\n                    text: 'Dashed',\n                    value: 'dashed'\n                  },\n                  {\n                    text: 'Double',\n                    value: 'double'\n                  },\n                  {\n                    text: 'Groove',\n                    value: 'groove'\n                  },\n                  {\n                    text: 'Ridge',\n                    value: 'ridge'\n                  },\n                  {\n                    text: 'Inset',\n                    value: 'inset'\n                  },\n                  {\n                    text: 'Outset',\n                    value: 'outset'\n                  },\n                  {\n                    text: 'None',\n                    value: 'none'\n                  },\n                  {\n                    text: 'Hidden',\n                    value: 'hidden'\n                  }\n                ]\n              },\n              {\n                label: 'Border color',\n                type: 'colorbox',\n                name: 'borderColor',\n                onaction: createColorPickAction()\n              },\n              {\n                label: 'Background color',\n                type: 'colorbox',\n                name: 'backgroundColor',\n                onaction: createColorPickAction()\n              }\n            ]\n          }\n        ]\n      };\n    };\n    var Helpers = {\n      createStyleForm: createStyleForm,\n      buildListItems: buildListItems,\n      updateStyleField: updateStyleField,\n      extractAdvancedStyles: extractAdvancedStyles,\n      updateAdvancedFields: updateAdvancedFields,\n      syncAdvancedStyleFields: syncAdvancedStyleFields\n    };\n\n    var updateStyles = function (elm, cssText) {\n      delete elm.dataset.mceStyle;\n      elm.style.cssText += ';' + cssText;\n    };\n    var extractDataFromElement = function (editor, elm) {\n      var dom = editor.dom;\n      var data = {\n        width: dom.getStyle(elm, 'width') || dom.getAttrib(elm, 'width'),\n        height: dom.getStyle(elm, 'height') || dom.getAttrib(elm, 'height'),\n        scope: dom.getAttrib(elm, 'scope'),\n        class: dom.getAttrib(elm, 'class'),\n        type: elm.nodeName.toLowerCase(),\n        style: '',\n        align: '',\n        valign: ''\n      };\n      global$1.each('left center right'.split(' '), function (name) {\n        if (editor.formatter.matchNode(elm, 'align' + name)) {\n          data.align = name;\n        }\n      });\n      global$1.each('top middle bottom'.split(' '), function (name) {\n        if (editor.formatter.matchNode(elm, 'valign' + name)) {\n          data.valign = name;\n        }\n      });\n      if (hasAdvancedCellTab(editor)) {\n        global$1.extend(data, Helpers.extractAdvancedStyles(dom, elm));\n      }\n      return data;\n    };\n    var onSubmitCellForm = function (editor, cells, evt) {\n      var dom = editor.dom;\n      var data;\n      function setAttrib(elm, name, value) {\n        if (cells.length === 1 || value) {\n          dom.setAttrib(elm, name, value);\n        }\n      }\n      function setStyle(elm, name, value) {\n        if (cells.length === 1 || value) {\n          dom.setStyle(elm, name, value);\n        }\n      }\n      if (hasAdvancedCellTab(editor)) {\n        Helpers.syncAdvancedStyleFields(editor, evt);\n      }\n      data = evt.control.rootControl.toJSON();\n      editor.undoManager.transact(function () {\n        global$1.each(cells, function (cellElm) {\n          setAttrib(cellElm, 'scope', data.scope);\n          if (cells.length === 1) {\n            setAttrib(cellElm, 'style', data.style);\n          } else {\n            updateStyles(cellElm, data.style);\n          }\n          setAttrib(cellElm, 'class', data.class);\n          setStyle(cellElm, 'width', addSizeSuffix(data.width));\n          setStyle(cellElm, 'height', addSizeSuffix(data.height));\n          if (data.type && cellElm.nodeName.toLowerCase() !== data.type) {\n            cellElm = dom.rename(cellElm, data.type);\n          }\n          if (cells.length === 1) {\n            Styles$1.unApplyAlign(editor, cellElm);\n            Styles$1.unApplyVAlign(editor, cellElm);\n          }\n          if (data.align) {\n            Styles$1.applyAlign(editor, cellElm, data.align);\n          }\n          if (data.valign) {\n            Styles$1.applyVAlign(editor, cellElm, data.valign);\n          }\n        });\n        editor.focus();\n      });\n    };\n    var open = function (editor) {\n      var cellElm, data, classListCtrl, cells = [];\n      cells = editor.dom.select('td[data-mce-selected],th[data-mce-selected]');\n      cellElm = editor.dom.getParent(editor.selection.getStart(), 'td,th');\n      if (!cells.length && cellElm) {\n        cells.push(cellElm);\n      }\n      cellElm = cellElm || cells[0];\n      if (!cellElm) {\n        return;\n      }\n      if (cells.length > 1) {\n        data = {\n          width: '',\n          height: '',\n          scope: '',\n          class: '',\n          align: '',\n          valign: '',\n          style: '',\n          type: cellElm.nodeName.toLowerCase()\n        };\n      } else {\n        data = extractDataFromElement(editor, cellElm);\n      }\n      if (getCellClassList(editor).length > 0) {\n        classListCtrl = {\n          name: 'class',\n          type: 'listbox',\n          label: 'Class',\n          values: Helpers.buildListItems(getCellClassList(editor), function (item) {\n            if (item.value) {\n              item.textStyle = function () {\n                return editor.formatter.getCssText({\n                  block: 'td',\n                  classes: [item.value]\n                });\n              };\n            }\n          })\n        };\n      }\n      var generalCellForm = {\n        type: 'form',\n        layout: 'flex',\n        direction: 'column',\n        labelGapCalc: 'children',\n        padding: 0,\n        items: [\n          {\n            type: 'form',\n            layout: 'grid',\n            columns: 2,\n            labelGapCalc: false,\n            padding: 0,\n            defaults: {\n              type: 'textbox',\n              maxWidth: 50\n            },\n            items: [\n              {\n                label: 'Width',\n                name: 'width',\n                onchange: curry(Helpers.updateStyleField, editor)\n              },\n              {\n                label: 'Height',\n                name: 'height',\n                onchange: curry(Helpers.updateStyleField, editor)\n              },\n              {\n                label: 'Cell type',\n                name: 'type',\n                type: 'listbox',\n                text: 'None',\n                minWidth: 90,\n                maxWidth: null,\n                values: [\n                  {\n                    text: 'Cell',\n                    value: 'td'\n                  },\n                  {\n                    text: 'Header cell',\n                    value: 'th'\n                  }\n                ]\n              },\n              {\n                label: 'Scope',\n                name: 'scope',\n                type: 'listbox',\n                text: 'None',\n                minWidth: 90,\n                maxWidth: null,\n                values: [\n                  {\n                    text: 'None',\n                    value: ''\n                  },\n                  {\n                    text: 'Row',\n                    value: 'row'\n                  },\n                  {\n                    text: 'Column',\n                    value: 'col'\n                  },\n                  {\n                    text: 'Row group',\n                    value: 'rowgroup'\n                  },\n                  {\n                    text: 'Column group',\n                    value: 'colgroup'\n                  }\n                ]\n              },\n              {\n                label: 'H Align',\n                name: 'align',\n                type: 'listbox',\n                text: 'None',\n                minWidth: 90,\n                maxWidth: null,\n                values: [\n                  {\n                    text: 'None',\n                    value: ''\n                  },\n                  {\n                    text: 'Left',\n                    value: 'left'\n                  },\n                  {\n                    text: 'Center',\n                    value: 'center'\n                  },\n                  {\n                    text: 'Right',\n                    value: 'right'\n                  }\n                ]\n              },\n              {\n                label: 'V Align',\n                name: 'valign',\n                type: 'listbox',\n                text: 'None',\n                minWidth: 90,\n                maxWidth: null,\n                values: [\n                  {\n                    text: 'None',\n                    value: ''\n                  },\n                  {\n                    text: 'Top',\n                    value: 'top'\n                  },\n                  {\n                    text: 'Middle',\n                    value: 'middle'\n                  },\n                  {\n                    text: 'Bottom',\n                    value: 'bottom'\n                  }\n                ]\n              }\n            ]\n          },\n          classListCtrl\n        ]\n      };\n      if (hasAdvancedCellTab(editor)) {\n        editor.windowManager.open({\n          title: 'Cell properties',\n          bodyType: 'tabpanel',\n          data: data,\n          body: [\n            {\n              title: 'General',\n              type: 'form',\n              items: generalCellForm\n            },\n            Helpers.createStyleForm(editor)\n          ],\n          onsubmit: curry(onSubmitCellForm, editor, cells)\n        });\n      } else {\n        editor.windowManager.open({\n          title: 'Cell properties',\n          data: data,\n          body: generalCellForm,\n          onsubmit: curry(onSubmitCellForm, editor, cells)\n        });\n      }\n    };\n    var CellDialog = { open: open };\n\n    var extractDataFromElement$1 = function (editor, elm) {\n      var dom = editor.dom;\n      var data = {\n        height: dom.getStyle(elm, 'height') || dom.getAttrib(elm, 'height'),\n        scope: dom.getAttrib(elm, 'scope'),\n        class: dom.getAttrib(elm, 'class'),\n        align: '',\n        style: '',\n        type: elm.parentNode.nodeName.toLowerCase()\n      };\n      global$1.each('left center right'.split(' '), function (name) {\n        if (editor.formatter.matchNode(elm, 'align' + name)) {\n          data.align = name;\n        }\n      });\n      if (hasAdvancedRowTab(editor)) {\n        global$1.extend(data, Helpers.extractAdvancedStyles(dom, elm));\n      }\n      return data;\n    };\n    var switchRowType = function (dom, rowElm, toType) {\n      var tableElm = dom.getParent(rowElm, 'table');\n      var oldParentElm = rowElm.parentNode;\n      var parentElm = dom.select(toType, tableElm)[0];\n      if (!parentElm) {\n        parentElm = dom.create(toType);\n        if (tableElm.firstChild) {\n          if (tableElm.firstChild.nodeName === 'CAPTION') {\n            dom.insertAfter(parentElm, tableElm.firstChild);\n          } else {\n            tableElm.insertBefore(parentElm, tableElm.firstChild);\n          }\n        } else {\n          tableElm.appendChild(parentElm);\n        }\n      }\n      parentElm.appendChild(rowElm);\n      if (!oldParentElm.hasChildNodes()) {\n        dom.remove(oldParentElm);\n      }\n    };\n    function onSubmitRowForm(editor, rows, oldData, evt) {\n      var dom = editor.dom;\n      function setAttrib(elm, name, value) {\n        if (rows.length === 1 || value) {\n          dom.setAttrib(elm, name, value);\n        }\n      }\n      function setStyle(elm, name, value) {\n        if (rows.length === 1 || value) {\n          dom.setStyle(elm, name, value);\n        }\n      }\n      if (hasAdvancedRowTab(editor)) {\n        Helpers.syncAdvancedStyleFields(editor, evt);\n      }\n      var data = evt.control.rootControl.toJSON();\n      editor.undoManager.transact(function () {\n        global$1.each(rows, function (rowElm) {\n          setAttrib(rowElm, 'scope', data.scope);\n          setAttrib(rowElm, 'style', data.style);\n          setAttrib(rowElm, 'class', data.class);\n          setStyle(rowElm, 'height', addSizeSuffix(data.height));\n          if (data.type !== rowElm.parentNode.nodeName.toLowerCase()) {\n            switchRowType(editor.dom, rowElm, data.type);\n          }\n          if (data.align !== oldData.align) {\n            Styles$1.unApplyAlign(editor, rowElm);\n            Styles$1.applyAlign(editor, rowElm, data.align);\n          }\n        });\n        editor.focus();\n      });\n    }\n    var open$1 = function (editor) {\n      var dom = editor.dom;\n      var tableElm, cellElm, rowElm, classListCtrl, data;\n      var rows = [];\n      var generalRowForm;\n      tableElm = dom.getParent(editor.selection.getStart(), 'table');\n      cellElm = dom.getParent(editor.selection.getStart(), 'td,th');\n      global$1.each(tableElm.rows, function (row) {\n        global$1.each(row.cells, function (cell) {\n          if (dom.getAttrib(cell, 'data-mce-selected') || cell === cellElm) {\n            rows.push(row);\n            return false;\n          }\n        });\n      });\n      rowElm = rows[0];\n      if (!rowElm) {\n        return;\n      }\n      if (rows.length > 1) {\n        data = {\n          height: '',\n          scope: '',\n          style: '',\n          class: '',\n          align: '',\n          type: rowElm.parentNode.nodeName.toLowerCase()\n        };\n      } else {\n        data = extractDataFromElement$1(editor, rowElm);\n      }\n      if (getRowClassList(editor).length > 0) {\n        classListCtrl = {\n          name: 'class',\n          type: 'listbox',\n          label: 'Class',\n          values: Helpers.buildListItems(getRowClassList(editor), function (item) {\n            if (item.value) {\n              item.textStyle = function () {\n                return editor.formatter.getCssText({\n                  block: 'tr',\n                  classes: [item.value]\n                });\n              };\n            }\n          })\n        };\n      }\n      generalRowForm = {\n        type: 'form',\n        columns: 2,\n        padding: 0,\n        defaults: { type: 'textbox' },\n        items: [\n          {\n            type: 'listbox',\n            name: 'type',\n            label: 'Row type',\n            text: 'Header',\n            maxWidth: null,\n            values: [\n              {\n                text: 'Header',\n                value: 'thead'\n              },\n              {\n                text: 'Body',\n                value: 'tbody'\n              },\n              {\n                text: 'Footer',\n                value: 'tfoot'\n              }\n            ]\n          },\n          {\n            type: 'listbox',\n            name: 'align',\n            label: 'Alignment',\n            text: 'None',\n            maxWidth: null,\n            values: [\n              {\n                text: 'None',\n                value: ''\n              },\n              {\n                text: 'Left',\n                value: 'left'\n              },\n              {\n                text: 'Center',\n                value: 'center'\n              },\n              {\n                text: 'Right',\n                value: 'right'\n              }\n            ]\n          },\n          {\n            label: 'Height',\n            name: 'height'\n          },\n          classListCtrl\n        ]\n      };\n      if (hasAdvancedRowTab(editor)) {\n        editor.windowManager.open({\n          title: 'Row properties',\n          data: data,\n          bodyType: 'tabpanel',\n          body: [\n            {\n              title: 'General',\n              type: 'form',\n              items: generalRowForm\n            },\n            Helpers.createStyleForm(editor)\n          ],\n          onsubmit: curry(onSubmitRowForm, editor, rows, data)\n        });\n      } else {\n        editor.windowManager.open({\n          title: 'Row properties',\n          data: data,\n          body: generalRowForm,\n          onsubmit: curry(onSubmitRowForm, editor, rows, data)\n        });\n      }\n    };\n    var RowDialog = { open: open$1 };\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.Env');\n\n    var DefaultRenderOptions = {\n      styles: {\n        'border-collapse': 'collapse',\n        width: '100%'\n      },\n      attributes: { border: '1' },\n      percentages: true\n    };\n    var makeTable = function () {\n      return Element$$1.fromTag('table');\n    };\n    var tableBody = function () {\n      return Element$$1.fromTag('tbody');\n    };\n    var tableRow = function () {\n      return Element$$1.fromTag('tr');\n    };\n    var tableHeaderCell = function () {\n      return Element$$1.fromTag('th');\n    };\n    var tableCell = function () {\n      return Element$$1.fromTag('td');\n    };\n    var render$1 = function (rows, columns, rowHeaders, columnHeaders, renderOpts) {\n      if (renderOpts === void 0) {\n        renderOpts = DefaultRenderOptions;\n      }\n      var table = makeTable();\n      setAll$1(table, renderOpts.styles);\n      setAll(table, renderOpts.attributes);\n      var tbody = tableBody();\n      append(table, tbody);\n      var trs = [];\n      for (var i = 0; i < rows; i++) {\n        var tr = tableRow();\n        for (var j = 0; j < columns; j++) {\n          var td = i < rowHeaders || j < columnHeaders ? tableHeaderCell() : tableCell();\n          if (j < columnHeaders) {\n            set(td, 'scope', 'row');\n          }\n          if (i < rowHeaders) {\n            set(td, 'scope', 'col');\n          }\n          append(td, Element$$1.fromTag('br'));\n          if (renderOpts.percentages) {\n            set$1(td, 'width', 100 / columns + '%');\n          }\n          append(tr, td);\n        }\n        trs.push(tr);\n      }\n      append$1(tbody, trs);\n      return table;\n    };\n\n    var get$8 = function (element) {\n      return element.dom().innerHTML;\n    };\n    var getOuter$2 = function (element) {\n      var container = Element$$1.fromTag('div');\n      var clone = Element$$1.fromDom(element.dom().cloneNode(true));\n      append(container, clone);\n      return get$8(container);\n    };\n\n    var placeCaretInCell = function (editor, cell) {\n      editor.selection.select(cell.dom(), true);\n      editor.selection.collapse(true);\n    };\n    var selectFirstCellInTable = function (editor, tableElm) {\n      descendant$1(tableElm, 'td,th').each(curry(placeCaretInCell, editor));\n    };\n    var fireEvents = function (editor, table) {\n      each(descendants$1(table, 'tr'), function (row) {\n        fireNewRow(editor, row.dom());\n        each(descendants$1(row, 'th,td'), function (cell) {\n          fireNewCell(editor, cell.dom());\n        });\n      });\n    };\n    var isPercentage = function (width) {\n      return isString(width) && width.indexOf('%') !== -1;\n    };\n    var insert$1 = function (editor, columns, rows) {\n      var defaultStyles = getDefaultStyles(editor);\n      var options = {\n        styles: defaultStyles,\n        attributes: getDefaultAttributes(editor),\n        percentages: isPercentage(defaultStyles.width) && !isPixelsForced(editor)\n      };\n      var table = render$1(rows, columns, 0, 0, options);\n      set(table, 'data-mce-id', '__mce');\n      var html = getOuter$2(table);\n      editor.insertContent(html);\n      return descendant$1(getBody$1(editor), 'table[data-mce-id=\"__mce\"]').map(function (table) {\n        if (isPixelsForced(editor)) {\n          set$1(table, 'width', get$2(table, 'width'));\n        }\n        remove(table, 'data-mce-id');\n        fireEvents(editor, table);\n        selectFirstCellInTable(editor, table);\n        return table.dom();\n      }).getOr(null);\n    };\n    var InsertTable = { insert: insert$1 };\n\n    function styleTDTH(dom, elm, name, value) {\n      if (elm.tagName === 'TD' || elm.tagName === 'TH') {\n        dom.setStyle(elm, name, value);\n      } else {\n        if (elm.children) {\n          for (var i = 0; i < elm.children.length; i++) {\n            styleTDTH(dom, elm.children[i], name, value);\n          }\n        }\n      }\n    }\n    var extractDataFromElement$2 = function (editor, tableElm) {\n      var dom = editor.dom;\n      var data = {\n        width: dom.getStyle(tableElm, 'width') || dom.getAttrib(tableElm, 'width'),\n        height: dom.getStyle(tableElm, 'height') || dom.getAttrib(tableElm, 'height'),\n        cellspacing: dom.getStyle(tableElm, 'border-spacing') || dom.getAttrib(tableElm, 'cellspacing'),\n        cellpadding: dom.getAttrib(tableElm, 'data-mce-cell-padding') || dom.getAttrib(tableElm, 'cellpadding') || Styles$1.getTDTHOverallStyle(editor.dom, tableElm, 'padding'),\n        border: dom.getAttrib(tableElm, 'data-mce-border') || dom.getAttrib(tableElm, 'border') || Styles$1.getTDTHOverallStyle(editor.dom, tableElm, 'border'),\n        borderColor: dom.getAttrib(tableElm, 'data-mce-border-color'),\n        caption: !!dom.select('caption', tableElm)[0],\n        class: dom.getAttrib(tableElm, 'class')\n      };\n      global$1.each('left center right'.split(' '), function (name) {\n        if (editor.formatter.matchNode(tableElm, 'align' + name)) {\n          data.align = name;\n        }\n      });\n      if (hasAdvancedTableTab(editor)) {\n        global$1.extend(data, Helpers.extractAdvancedStyles(dom, tableElm));\n      }\n      return data;\n    };\n    var applyDataToElement = function (editor, tableElm, data) {\n      var dom = editor.dom;\n      var attrs = {};\n      var styles = {};\n      attrs.class = data.class;\n      styles.height = addSizeSuffix(data.height);\n      if (dom.getAttrib(tableElm, 'width') && !shouldStyleWithCss(editor)) {\n        attrs.width = removePxSuffix(data.width);\n      } else {\n        styles.width = addSizeSuffix(data.width);\n      }\n      if (shouldStyleWithCss(editor)) {\n        styles['border-width'] = addSizeSuffix(data.border);\n        styles['border-spacing'] = addSizeSuffix(data.cellspacing);\n        global$1.extend(attrs, {\n          'data-mce-border-color': data.borderColor,\n          'data-mce-cell-padding': data.cellpadding,\n          'data-mce-border': data.border\n        });\n      } else {\n        global$1.extend(attrs, {\n          border: data.border,\n          cellpadding: data.cellpadding,\n          cellspacing: data.cellspacing\n        });\n      }\n      if (shouldStyleWithCss(editor)) {\n        if (tableElm.children) {\n          for (var i = 0; i < tableElm.children.length; i++) {\n            styleTDTH(dom, tableElm.children[i], {\n              'border-width': addSizeSuffix(data.border),\n              'border-color': data.borderColor,\n              'padding': addSizeSuffix(data.cellpadding)\n            });\n          }\n        }\n      }\n      if (data.style) {\n        global$1.extend(styles, dom.parseStyle(data.style));\n      } else {\n        styles = global$1.extend({}, dom.parseStyle(dom.getAttrib(tableElm, 'style')), styles);\n      }\n      attrs.style = dom.serializeStyle(styles);\n      dom.setAttribs(tableElm, attrs);\n    };\n    var onSubmitTableForm = function (editor, tableElm, evt) {\n      var dom = editor.dom;\n      var captionElm;\n      var data;\n      if (hasAdvancedTableTab(editor)) {\n        Helpers.syncAdvancedStyleFields(editor, evt);\n      }\n      data = evt.control.rootControl.toJSON();\n      if (data.class === false) {\n        delete data.class;\n      }\n      editor.undoManager.transact(function () {\n        if (!tableElm) {\n          tableElm = InsertTable.insert(editor, data.cols || 1, data.rows || 1);\n        }\n        applyDataToElement(editor, tableElm, data);\n        captionElm = dom.select('caption', tableElm)[0];\n        if (captionElm && !data.caption) {\n          dom.remove(captionElm);\n        }\n        if (!captionElm && data.caption) {\n          captionElm = dom.create('caption');\n          captionElm.innerHTML = !global$2.ie ? '<br data-mce-bogus=\"1\"/>' : '\\xA0';\n          tableElm.insertBefore(captionElm, tableElm.firstChild);\n        }\n        Styles$1.unApplyAlign(editor, tableElm);\n        if (data.align) {\n          Styles$1.applyAlign(editor, tableElm, data.align);\n        }\n        editor.focus();\n        editor.addVisual();\n      });\n    };\n    var open$2 = function (editor, isProps) {\n      var dom = editor.dom;\n      var tableElm, colsCtrl, rowsCtrl, classListCtrl, data = {}, generalTableForm;\n      if (isProps === true) {\n        tableElm = dom.getParent(editor.selection.getStart(), 'table');\n        if (tableElm) {\n          data = extractDataFromElement$2(editor, tableElm);\n        }\n      } else {\n        colsCtrl = {\n          label: 'Cols',\n          name: 'cols'\n        };\n        rowsCtrl = {\n          label: 'Rows',\n          name: 'rows'\n        };\n      }\n      if (getTableClassList(editor).length > 0) {\n        if (data.class) {\n          data.class = data.class.replace(/\\s*mce\\-item\\-table\\s*/g, '');\n        }\n        classListCtrl = {\n          name: 'class',\n          type: 'listbox',\n          label: 'Class',\n          values: Helpers.buildListItems(getTableClassList(editor), function (item) {\n            if (item.value) {\n              item.textStyle = function () {\n                return editor.formatter.getCssText({\n                  block: 'table',\n                  classes: [item.value]\n                });\n              };\n            }\n          })\n        };\n      }\n      generalTableForm = {\n        type: 'form',\n        layout: 'flex',\n        direction: 'column',\n        labelGapCalc: 'children',\n        padding: 0,\n        items: [\n          {\n            type: 'form',\n            labelGapCalc: false,\n            padding: 0,\n            layout: 'grid',\n            columns: 2,\n            defaults: {\n              type: 'textbox',\n              maxWidth: 50\n            },\n            items: hasAppearanceOptions(editor) ? [\n              colsCtrl,\n              rowsCtrl,\n              {\n                label: 'Width',\n                name: 'width',\n                onchange: curry(Helpers.updateStyleField, editor)\n              },\n              {\n                label: 'Height',\n                name: 'height',\n                onchange: curry(Helpers.updateStyleField, editor)\n              },\n              {\n                label: 'Cell spacing',\n                name: 'cellspacing'\n              },\n              {\n                label: 'Cell padding',\n                name: 'cellpadding'\n              },\n              {\n                label: 'Border',\n                name: 'border'\n              },\n              {\n                label: 'Caption',\n                name: 'caption',\n                type: 'checkbox'\n              }\n            ] : [\n              colsCtrl,\n              rowsCtrl,\n              {\n                label: 'Width',\n                name: 'width',\n                onchange: curry(Helpers.updateStyleField, editor)\n              },\n              {\n                label: 'Height',\n                name: 'height',\n                onchange: curry(Helpers.updateStyleField, editor)\n              }\n            ]\n          },\n          {\n            label: 'Alignment',\n            name: 'align',\n            type: 'listbox',\n            text: 'None',\n            values: [\n              {\n                text: 'None',\n                value: ''\n              },\n              {\n                text: 'Left',\n                value: 'left'\n              },\n              {\n                text: 'Center',\n                value: 'center'\n              },\n              {\n                text: 'Right',\n                value: 'right'\n              }\n            ]\n          },\n          classListCtrl\n        ]\n      };\n      if (hasAdvancedTableTab(editor)) {\n        editor.windowManager.open({\n          title: 'Table properties',\n          data: data,\n          bodyType: 'tabpanel',\n          body: [\n            {\n              title: 'General',\n              type: 'form',\n              items: generalTableForm\n            },\n            Helpers.createStyleForm(editor)\n          ],\n          onsubmit: curry(onSubmitTableForm, editor, tableElm)\n        });\n      } else {\n        editor.windowManager.open({\n          title: 'Table properties',\n          data: data,\n          body: generalTableForm,\n          onsubmit: curry(onSubmitTableForm, editor, tableElm)\n        });\n      }\n    };\n    var TableDialog = { open: open$2 };\n\n    var each$3 = global$1.each;\n    var registerCommands = function (editor, actions, cellSelection, selections, clipboardRows) {\n      var isRoot = getIsRoot(editor);\n      var eraseTable = function () {\n        var cell = Element$$1.fromDom(editor.dom.getParent(editor.selection.getStart(), 'th,td'));\n        var table = TableLookup.table(cell, isRoot);\n        table.filter(not(isRoot)).each(function (table) {\n          var cursor = Element$$1.fromText('');\n          after(table, cursor);\n          remove$2(table);\n          var rng = editor.dom.createRng();\n          rng.setStart(cursor.dom(), 0);\n          rng.setEnd(cursor.dom(), 0);\n          editor.selection.setRng(rng);\n        });\n      };\n      var getSelectionStartCell = function () {\n        return Element$$1.fromDom(editor.dom.getParent(editor.selection.getStart(), 'th,td'));\n      };\n      var getTableFromCell = function (cell) {\n        return TableLookup.table(cell, isRoot);\n      };\n      var getSize = function (table) {\n        return {\n          width: getPixelWidth$1(table.dom()),\n          height: getPixelWidth$1(table.dom())\n        };\n      };\n      var resizeChange = function (editor, oldSize, table) {\n        var newSize = getSize(table);\n        if (oldSize.width !== newSize.width || oldSize.height !== newSize.height) {\n          fireObjectResizeStart(editor, table.dom(), oldSize.width, oldSize.height);\n          fireObjectResized(editor, table.dom(), newSize.width, newSize.height);\n        }\n      };\n      var actOnSelection = function (execute) {\n        var cell = getSelectionStartCell();\n        var table = getTableFromCell(cell);\n        table.each(function (table) {\n          var targets = TableTargets.forMenu(selections, table, cell);\n          var beforeSize = getSize(table);\n          execute(table, targets).each(function (rng) {\n            resizeChange(editor, beforeSize, table);\n            editor.selection.setRng(rng);\n            editor.focus();\n            cellSelection.clear(table);\n            removeDataStyle(table);\n          });\n        });\n      };\n      var copyRowSelection = function (execute) {\n        var cell = getSelectionStartCell();\n        var table = getTableFromCell(cell);\n        return table.bind(function (table) {\n          var doc = Element$$1.fromDom(editor.getDoc());\n          var targets = TableTargets.forMenu(selections, table, cell);\n          var generators = TableFill.cellOperations(noop, doc, Option.none());\n          return CopyRows.copyRows(table, targets, generators);\n        });\n      };\n      var pasteOnSelection = function (execute) {\n        clipboardRows.get().each(function (rows) {\n          var clonedRows = map(rows, function (row) {\n            return deep(row);\n          });\n          var cell = getSelectionStartCell();\n          var table = getTableFromCell(cell);\n          table.bind(function (table) {\n            var doc = Element$$1.fromDom(editor.getDoc());\n            var generators = TableFill.paste(doc);\n            var targets = TableTargets.pasteRows(selections, table, cell, clonedRows, generators);\n            execute(table, targets).each(function (rng) {\n              editor.selection.setRng(rng);\n              editor.focus();\n              cellSelection.clear(table);\n            });\n          });\n        });\n      };\n      each$3({\n        mceTableSplitCells: function () {\n          actOnSelection(actions.unmergeCells);\n        },\n        mceTableMergeCells: function () {\n          actOnSelection(actions.mergeCells);\n        },\n        mceTableInsertRowBefore: function () {\n          actOnSelection(actions.insertRowsBefore);\n        },\n        mceTableInsertRowAfter: function () {\n          actOnSelection(actions.insertRowsAfter);\n        },\n        mceTableInsertColBefore: function () {\n          actOnSelection(actions.insertColumnsBefore);\n        },\n        mceTableInsertColAfter: function () {\n          actOnSelection(actions.insertColumnsAfter);\n        },\n        mceTableDeleteCol: function () {\n          actOnSelection(actions.deleteColumn);\n        },\n        mceTableDeleteRow: function () {\n          actOnSelection(actions.deleteRow);\n        },\n        mceTableCutRow: function (grid) {\n          clipboardRows.set(copyRowSelection());\n          actOnSelection(actions.deleteRow);\n        },\n        mceTableCopyRow: function (grid) {\n          clipboardRows.set(copyRowSelection());\n        },\n        mceTablePasteRowBefore: function (grid) {\n          pasteOnSelection(actions.pasteRowsBefore);\n        },\n        mceTablePasteRowAfter: function (grid) {\n          pasteOnSelection(actions.pasteRowsAfter);\n        },\n        mceTableDelete: eraseTable\n      }, function (func, name) {\n        editor.addCommand(name, func);\n      });\n      each$3({\n        mceInsertTable: curry(TableDialog.open, editor),\n        mceTableProps: curry(TableDialog.open, editor, true),\n        mceTableRowProps: curry(RowDialog.open, editor),\n        mceTableCellProps: curry(CellDialog.open, editor)\n      }, function (func, name) {\n        editor.addCommand(name, function (ui, val) {\n          func(val);\n        });\n      });\n    };\n    var Commands = { registerCommands: registerCommands };\n\n    var only$1 = function (element) {\n      var parent = Option.from(element.dom().documentElement).map(Element$$1.fromDom).getOr(element);\n      return {\n        parent: constant(parent),\n        view: constant(element),\n        origin: constant(Position(0, 0))\n      };\n    };\n    var detached = function (editable, chrome) {\n      var origin = curry(absolute, chrome);\n      return {\n        parent: constant(chrome),\n        view: constant(editable),\n        origin: origin\n      };\n    };\n    var body$1 = function (editable, chrome) {\n      return {\n        parent: constant(chrome),\n        view: constant(editable),\n        origin: constant(Position(0, 0))\n      };\n    };\n    var ResizeWire = {\n      only: only$1,\n      detached: detached,\n      body: body$1\n    };\n\n    function Event (fields) {\n      var struct = Immutable.apply(null, fields);\n      var handlers = [];\n      var bind$$1 = function (handler) {\n        if (handler === undefined) {\n          throw 'Event bind error: undefined handler';\n        }\n        handlers.push(handler);\n      };\n      var unbind = function (handler) {\n        handlers = filter(handlers, function (h) {\n          return h !== handler;\n        });\n      };\n      var trigger = function () {\n        var event = struct.apply(null, arguments);\n        each(handlers, function (handler) {\n          handler(event);\n        });\n      };\n      return {\n        bind: bind$$1,\n        unbind: unbind,\n        trigger: trigger\n      };\n    }\n\n    var create = function (typeDefs) {\n      var registry = map$1(typeDefs, function (event) {\n        return {\n          bind: event.bind,\n          unbind: event.unbind\n        };\n      });\n      var trigger = map$1(typeDefs, function (event) {\n        return event.trigger;\n      });\n      return {\n        registry: registry,\n        trigger: trigger\n      };\n    };\n    var Events = { create: create };\n\n    var mode = exactly([\n      'compare',\n      'extract',\n      'mutate',\n      'sink'\n    ]);\n    var sink = exactly([\n      'element',\n      'start',\n      'stop',\n      'destroy'\n    ]);\n    var api$3 = exactly([\n      'forceDrop',\n      'drop',\n      'move',\n      'delayDrop'\n    ]);\n    var DragApis = {\n      mode: mode,\n      sink: sink,\n      api: api$3\n    };\n\n    var styles$1 = css('ephox-dragster');\n    var Styles$2 = { resolve: styles$1.resolve };\n\n    function Blocker (options) {\n      var settings = merge$1({ 'layerClass': Styles$2.resolve('blocker') }, options);\n      var div = Element$$1.fromTag('div');\n      set(div, 'role', 'presentation');\n      setAll$1(div, {\n        position: 'fixed',\n        left: '0px',\n        top: '0px',\n        width: '100%',\n        height: '100%'\n      });\n      add$2(div, Styles$2.resolve('blocker'));\n      add$2(div, settings.layerClass);\n      var element = function () {\n        return div;\n      };\n      var destroy = function () {\n        remove$2(div);\n      };\n      return {\n        element: element,\n        destroy: destroy\n      };\n    }\n\n    var mkEvent = function (target, x, y, stop, prevent, kill, raw) {\n      return {\n        'target': constant(target),\n        'x': constant(x),\n        'y': constant(y),\n        'stop': stop,\n        'prevent': prevent,\n        'kill': kill,\n        'raw': constant(raw)\n      };\n    };\n    var handle = function (filter, handler) {\n      return function (rawEvent) {\n        if (!filter(rawEvent))\n          return;\n        var target = Element$$1.fromDom(rawEvent.target);\n        var stop = function () {\n          rawEvent.stopPropagation();\n        };\n        var prevent = function () {\n          rawEvent.preventDefault();\n        };\n        var kill = compose(prevent, stop);\n        var evt = mkEvent(target, rawEvent.clientX, rawEvent.clientY, stop, prevent, kill, rawEvent);\n        handler(evt);\n      };\n    };\n    var binder = function (element, event, filter, handler, useCapture) {\n      var wrapped = handle(filter, handler);\n      element.dom().addEventListener(event, wrapped, useCapture);\n      return { unbind: curry(unbind, element, event, wrapped, useCapture) };\n    };\n    var bind$1 = function (element, event, filter, handler) {\n      return binder(element, event, filter, handler, false);\n    };\n    var unbind = function (element, event, handler, useCapture) {\n      element.dom().removeEventListener(event, handler, useCapture);\n    };\n\n    var filter$1 = constant(true);\n    var bind$2 = function (element, event, handler) {\n      return bind$1(element, event, filter$1, handler);\n    };\n\n    var compare = function (old, nu) {\n      return Position(nu.left() - old.left(), nu.top() - old.top());\n    };\n    var extract$1 = function (event) {\n      return Option.some(Position(event.x(), event.y()));\n    };\n    var mutate$1 = function (mutation, info) {\n      mutation.mutate(info.left(), info.top());\n    };\n    var sink$1 = function (dragApi, settings) {\n      var blocker = Blocker(settings);\n      var mdown = bind$2(blocker.element(), 'mousedown', dragApi.forceDrop);\n      var mup = bind$2(blocker.element(), 'mouseup', dragApi.drop);\n      var mmove = bind$2(blocker.element(), 'mousemove', dragApi.move);\n      var mout = bind$2(blocker.element(), 'mouseout', dragApi.delayDrop);\n      var destroy = function () {\n        blocker.destroy();\n        mup.unbind();\n        mmove.unbind();\n        mout.unbind();\n        mdown.unbind();\n      };\n      var start = function (parent) {\n        append(parent, blocker.element());\n      };\n      var stop = function () {\n        remove$2(blocker.element());\n      };\n      return DragApis.sink({\n        element: blocker.element,\n        start: start,\n        stop: stop,\n        destroy: destroy\n      });\n    };\n    var MouseDrag = DragApis.mode({\n      compare: compare,\n      extract: extract$1,\n      sink: sink$1,\n      mutate: mutate$1\n    });\n\n    function InDrag () {\n      var previous = Option.none();\n      var reset = function () {\n        previous = Option.none();\n      };\n      var update = function (mode, nu) {\n        var result = previous.map(function (old) {\n          return mode.compare(old, nu);\n        });\n        previous = Option.some(nu);\n        return result;\n      };\n      var onEvent = function (event, mode) {\n        var dataOption = mode.extract(event);\n        dataOption.each(function (data) {\n          var offset = update(mode, data);\n          offset.each(function (d) {\n            events.trigger.move(d);\n          });\n        });\n      };\n      var events = Events.create({ move: Event(['info']) });\n      return {\n        onEvent: onEvent,\n        reset: reset,\n        events: events.registry\n      };\n    }\n\n    function NoDrag (anchor) {\n      var onEvent = function (event, mode) {\n      };\n      return {\n        onEvent: onEvent,\n        reset: noop\n      };\n    }\n\n    function Movement () {\n      var noDragState = NoDrag();\n      var inDragState = InDrag();\n      var dragState = noDragState;\n      var on = function () {\n        dragState.reset();\n        dragState = inDragState;\n      };\n      var off = function () {\n        dragState.reset();\n        dragState = noDragState;\n      };\n      var onEvent = function (event, mode) {\n        dragState.onEvent(event, mode);\n      };\n      var isOn = function () {\n        return dragState === inDragState;\n      };\n      return {\n        on: on,\n        off: off,\n        isOn: isOn,\n        onEvent: onEvent,\n        events: inDragState.events\n      };\n    }\n\n    var last$3 = function (fn, rate) {\n      var timer = null;\n      var cancel = function () {\n        if (timer !== null) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      var throttle = function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        if (timer !== null)\n          clearTimeout(timer);\n        timer = setTimeout(function () {\n          fn.apply(null, args);\n          timer = null;\n        }, rate);\n      };\n      return {\n        cancel: cancel,\n        throttle: throttle\n      };\n    };\n\n    var setup = function (mutation, mode, settings) {\n      var active = false;\n      var events = Events.create({\n        start: Event([]),\n        stop: Event([])\n      });\n      var movement = Movement();\n      var drop = function () {\n        sink.stop();\n        if (movement.isOn()) {\n          movement.off();\n          events.trigger.stop();\n        }\n      };\n      var throttledDrop = last$3(drop, 200);\n      var go = function (parent) {\n        sink.start(parent);\n        movement.on();\n        events.trigger.start();\n      };\n      var mousemove = function (event, ui) {\n        throttledDrop.cancel();\n        movement.onEvent(event, mode);\n      };\n      movement.events.move.bind(function (event) {\n        mode.mutate(mutation, event.info());\n      });\n      var on = function () {\n        active = true;\n      };\n      var off = function () {\n        active = false;\n      };\n      var runIfActive = function (f) {\n        return function () {\n          var args = Array.prototype.slice.call(arguments, 0);\n          if (active) {\n            return f.apply(null, args);\n          }\n        };\n      };\n      var sink = mode.sink(DragApis.api({\n        forceDrop: drop,\n        drop: runIfActive(drop),\n        move: runIfActive(mousemove),\n        delayDrop: runIfActive(throttledDrop.throttle)\n      }), settings);\n      var destroy = function () {\n        sink.destroy();\n      };\n      return {\n        element: sink.element,\n        go: go,\n        on: on,\n        off: off,\n        destroy: destroy,\n        events: events.registry\n      };\n    };\n    var Dragging = { setup: setup };\n\n    var transform$1 = function (mutation, options) {\n      var settings = options !== undefined ? options : {};\n      var mode = settings.mode !== undefined ? settings.mode : MouseDrag;\n      return Dragging.setup(mutation, mode, options);\n    };\n    var Dragger = { transform: transform$1 };\n\n    function Mutation () {\n      var events = Events.create({\n        'drag': Event([\n          'xDelta',\n          'yDelta'\n        ])\n      });\n      var mutate = function (x, y) {\n        events.trigger.drag(x, y);\n      };\n      return {\n        mutate: mutate,\n        events: events.registry\n      };\n    }\n\n    function BarMutation () {\n      var events = Events.create({\n        drag: Event([\n          'xDelta',\n          'yDelta',\n          'target'\n        ])\n      });\n      var target = Option.none();\n      var delegate = Mutation();\n      delegate.events.drag.bind(function (event) {\n        target.each(function (t) {\n          events.trigger.drag(event.xDelta(), event.yDelta(), t);\n        });\n      });\n      var assign = function (t) {\n        target = Option.some(t);\n      };\n      var get = function () {\n        return target;\n      };\n      return {\n        assign: assign,\n        get: get,\n        mutate: delegate.mutate,\n        events: events.registry\n      };\n    }\n\n    var closest$2 = function (scope, selector, isRoot) {\n      return closest$1(scope, selector, isRoot).isSome();\n    };\n\n    var resizeBarDragging = Styles.resolve('resizer-bar-dragging');\n    function BarManager (wire, direction, hdirection) {\n      var mutation = BarMutation();\n      var resizing = Dragger.transform(mutation, {});\n      var hoverTable = Option.none();\n      var getResizer = function (element, type$$1) {\n        return Option.from(get$1(element, type$$1));\n      };\n      mutation.events.drag.bind(function (event) {\n        getResizer(event.target(), 'data-row').each(function (_dataRow) {\n          var currentRow = CellUtils.getInt(event.target(), 'top');\n          set$1(event.target(), 'top', currentRow + event.yDelta() + 'px');\n        });\n        getResizer(event.target(), 'data-column').each(function (_dataCol) {\n          var currentCol = CellUtils.getInt(event.target(), 'left');\n          set$1(event.target(), 'left', currentCol + event.xDelta() + 'px');\n        });\n      });\n      var getDelta = function (target, direction) {\n        var newX = CellUtils.getInt(target, direction);\n        var oldX = parseInt(get$1(target, 'data-initial-' + direction), 10);\n        return newX - oldX;\n      };\n      resizing.events.stop.bind(function () {\n        mutation.get().each(function (target) {\n          hoverTable.each(function (table) {\n            getResizer(target, 'data-row').each(function (row) {\n              var delta = getDelta(target, 'top');\n              remove(target, 'data-initial-top');\n              events.trigger.adjustHeight(table, delta, parseInt(row, 10));\n            });\n            getResizer(target, 'data-column').each(function (column) {\n              var delta = getDelta(target, 'left');\n              remove(target, 'data-initial-left');\n              events.trigger.adjustWidth(table, delta, parseInt(column, 10));\n            });\n            Bars.refresh(wire, table, hdirection, direction);\n          });\n        });\n      });\n      var handler = function (target, direction) {\n        events.trigger.startAdjust();\n        mutation.assign(target);\n        set(target, 'data-initial-' + direction, parseInt(get$2(target, direction), 10));\n        add$2(target, resizeBarDragging);\n        set$1(target, 'opacity', '0.2');\n        resizing.go(wire.parent());\n      };\n      var mousedown = bind$2(wire.parent(), 'mousedown', function (event) {\n        if (Bars.isRowBar(event.target()))\n          handler(event.target(), 'top');\n        if (Bars.isColBar(event.target()))\n          handler(event.target(), 'left');\n      });\n      var isRoot = function (e) {\n        return eq(e, wire.view());\n      };\n      var mouseover = bind$2(wire.view(), 'mouseover', function (event) {\n        if (name(event.target()) === 'table' || closest$2(event.target(), 'table', isRoot)) {\n          hoverTable = name(event.target()) === 'table' ? Option.some(event.target()) : ancestor$1(event.target(), 'table', isRoot);\n          hoverTable.each(function (ht) {\n            Bars.refresh(wire, ht, hdirection, direction);\n          });\n        } else if (inBody(event.target())) {\n          Bars.destroy(wire);\n        }\n      });\n      var destroy = function () {\n        mousedown.unbind();\n        mouseover.unbind();\n        resizing.destroy();\n        Bars.destroy(wire);\n      };\n      var refresh = function (tbl) {\n        Bars.refresh(wire, tbl, hdirection, direction);\n      };\n      var events = Events.create({\n        adjustHeight: Event([\n          'table',\n          'delta',\n          'row'\n        ]),\n        adjustWidth: Event([\n          'table',\n          'delta',\n          'column'\n        ]),\n        startAdjust: Event([])\n      });\n      return {\n        destroy: destroy,\n        refresh: refresh,\n        on: resizing.on,\n        off: resizing.off,\n        hideBars: curry(Bars.hide, wire),\n        showBars: curry(Bars.show, wire),\n        events: events.registry\n      };\n    }\n\n    function TableResize (wire, vdirection) {\n      var hdirection = BarPositions.height;\n      var manager = BarManager(wire, vdirection, hdirection);\n      var events = Events.create({\n        beforeResize: Event(['table']),\n        afterResize: Event(['table']),\n        startDrag: Event([])\n      });\n      manager.events.adjustHeight.bind(function (event) {\n        events.trigger.beforeResize(event.table());\n        var delta = hdirection.delta(event.delta(), event.table());\n        Adjustments.adjustHeight(event.table(), delta, event.row(), hdirection);\n        events.trigger.afterResize(event.table());\n      });\n      manager.events.startAdjust.bind(function (event) {\n        events.trigger.startDrag();\n      });\n      manager.events.adjustWidth.bind(function (event) {\n        events.trigger.beforeResize(event.table());\n        var delta = vdirection.delta(event.delta(), event.table());\n        Adjustments.adjustWidth(event.table(), delta, event.column(), vdirection);\n        events.trigger.afterResize(event.table());\n      });\n      return {\n        on: manager.on,\n        off: manager.off,\n        hideBars: manager.hideBars,\n        showBars: manager.showBars,\n        destroy: manager.destroy,\n        events: events.registry\n      };\n    }\n\n    var createContainer = function () {\n      var container = Element$$1.fromTag('div');\n      setAll$1(container, {\n        position: 'static',\n        height: '0',\n        width: '0',\n        padding: '0',\n        margin: '0',\n        border: '0'\n      });\n      append(body(), container);\n      return container;\n    };\n    var get$9 = function (editor, container) {\n      return editor.inline ? ResizeWire.body(getBody$1(editor), createContainer()) : ResizeWire.only(Element$$1.fromDom(editor.getDoc()));\n    };\n    var remove$6 = function (editor, wire) {\n      if (editor.inline) {\n        remove$2(wire.parent());\n      }\n    };\n    var TableWire = {\n      get: get$9,\n      remove: remove$6\n    };\n\n    var ResizeHandler = function (editor) {\n      var selectionRng = Option.none();\n      var resize = Option.none();\n      var wire = Option.none();\n      var percentageBasedSizeRegex = /(\\d+(\\.\\d+)?)%/;\n      var startW, startRawW;\n      var isTable = function (elm) {\n        return elm.nodeName === 'TABLE';\n      };\n      var getRawWidth = function (elm) {\n        return editor.dom.getStyle(elm, 'width') || editor.dom.getAttrib(elm, 'width');\n      };\n      var lazyResize = function () {\n        return resize;\n      };\n      var lazyWire = function () {\n        return wire.getOr(ResizeWire.only(Element$$1.fromDom(editor.getBody())));\n      };\n      var destroy = function () {\n        resize.each(function (sz) {\n          sz.destroy();\n        });\n        wire.each(function (w) {\n          TableWire.remove(editor, w);\n        });\n      };\n      editor.on('init', function () {\n        var direction = TableDirection(Direction.directionAt);\n        var rawWire = TableWire.get(editor);\n        wire = Option.some(rawWire);\n        if (hasObjectResizing(editor) && hasTableResizeBars(editor)) {\n          var sz = TableResize(rawWire, direction);\n          sz.on();\n          sz.events.startDrag.bind(function (event) {\n            selectionRng = Option.some(editor.selection.getRng());\n          });\n          sz.events.beforeResize.bind(function (event) {\n            var rawTable = event.table().dom();\n            fireObjectResizeStart(editor, rawTable, getPixelWidth$1(rawTable), getPixelHeight(rawTable));\n          });\n          sz.events.afterResize.bind(function (event) {\n            var table = event.table();\n            var rawTable = table.dom();\n            removeDataStyle(table);\n            selectionRng.each(function (rng) {\n              editor.selection.setRng(rng);\n              editor.focus();\n            });\n            fireObjectResized(editor, rawTable, getPixelWidth$1(rawTable), getPixelHeight(rawTable));\n            editor.undoManager.add();\n          });\n          resize = Option.some(sz);\n        }\n      });\n      editor.on('ObjectResizeStart', function (e) {\n        var targetElm = e.target;\n        if (isTable(targetElm)) {\n          startW = e.width;\n          startRawW = getRawWidth(targetElm);\n        }\n      });\n      editor.on('ObjectResized', function (e) {\n        var targetElm = e.target;\n        if (isTable(targetElm)) {\n          var table = targetElm;\n          if (percentageBasedSizeRegex.test(startRawW)) {\n            var percentW = parseFloat(percentageBasedSizeRegex.exec(startRawW)[1]);\n            var targetPercentW = e.width * percentW / startW;\n            editor.dom.setStyle(table, 'width', targetPercentW + '%');\n          } else {\n            var newCellSizes_1 = [];\n            global$1.each(table.rows, function (row) {\n              global$1.each(row.cells, function (cell) {\n                var width = editor.dom.getStyle(cell, 'width', true);\n                newCellSizes_1.push({\n                  cell: cell,\n                  width: width\n                });\n              });\n            });\n            global$1.each(newCellSizes_1, function (newCellSize) {\n              editor.dom.setStyle(newCellSize.cell, 'width', newCellSize.width);\n              editor.dom.setAttrib(newCellSize.cell, 'width', null);\n            });\n          }\n        }\n      });\n      return {\n        lazyResize: lazyResize,\n        lazyWire: lazyWire,\n        destroy: destroy\n      };\n    };\n\n    var none$2 = function (current) {\n      return folder$1(function (n, f, m, l) {\n        return n(current);\n      });\n    };\n    var first$5 = function (current) {\n      return folder$1(function (n, f, m, l) {\n        return f(current);\n      });\n    };\n    var middle$1 = function (current, target) {\n      return folder$1(function (n, f, m, l) {\n        return m(current, target);\n      });\n    };\n    var last$4 = function (current) {\n      return folder$1(function (n, f, m, l) {\n        return l(current);\n      });\n    };\n    var folder$1 = function (fold) {\n      return { fold: fold };\n    };\n    var CellLocation = {\n      none: none$2,\n      first: first$5,\n      middle: middle$1,\n      last: last$4\n    };\n\n    var detect$4 = function (current, isRoot) {\n      return TableLookup.table(current, isRoot).bind(function (table) {\n        var all = TableLookup.cells(table);\n        var index = findIndex(all, function (x) {\n          return eq(current, x);\n        });\n        return index.map(function (ind) {\n          return {\n            index: constant(ind),\n            all: constant(all)\n          };\n        });\n      });\n    };\n    var next = function (current, isRoot) {\n      var detection = detect$4(current, isRoot);\n      return detection.fold(function () {\n        return CellLocation.none(current);\n      }, function (info) {\n        return info.index() + 1 < info.all().length ? CellLocation.middle(current, info.all()[info.index() + 1]) : CellLocation.last(current);\n      });\n    };\n    var prev = function (current, isRoot) {\n      var detection = detect$4(current, isRoot);\n      return detection.fold(function () {\n        return CellLocation.none();\n      }, function (info) {\n        return info.index() - 1 >= 0 ? CellLocation.middle(current, info.all()[info.index() - 1]) : CellLocation.first(current);\n      });\n    };\n    var CellNavigation = {\n      next: next,\n      prev: prev\n    };\n\n    var adt = Adt.generate([\n      { 'before': ['element'] },\n      {\n        'on': [\n          'element',\n          'offset'\n        ]\n      },\n      { after: ['element'] }\n    ]);\n    var cata$1 = function (subject, onBefore, onOn, onAfter) {\n      return subject.fold(onBefore, onOn, onAfter);\n    };\n    var getStart = function (situ) {\n      return situ.fold(identity, identity, identity);\n    };\n    var before$2 = adt.before;\n    var on = adt.on;\n    var after$2 = adt.after;\n    var Situ = {\n      before: before$2,\n      on: on,\n      after: after$2,\n      cata: cata$1,\n      getStart: getStart\n    };\n\n    var type$2 = Adt.generate([\n      { domRange: ['rng'] },\n      {\n        relative: [\n          'startSitu',\n          'finishSitu'\n        ]\n      },\n      {\n        exact: [\n          'start',\n          'soffset',\n          'finish',\n          'foffset'\n        ]\n      }\n    ]);\n    var range$2 = Immutable('start', 'soffset', 'finish', 'foffset');\n    var getStart$1 = function (selection) {\n      return selection.match({\n        domRange: function (rng) {\n          return Element$$1.fromDom(rng.startContainer);\n        },\n        relative: function (startSitu, finishSitu) {\n          return Situ.getStart(startSitu);\n        },\n        exact: function (start, soffset, finish, foffset) {\n          return start;\n        }\n      });\n    };\n    var getWin = function (selection) {\n      var start = getStart$1(selection);\n      return defaultView(start);\n    };\n    var domRange = type$2.domRange;\n    var relative$1 = type$2.relative;\n    var exact = type$2.exact;\n\n    var makeRange = function (start, soffset, finish, foffset) {\n      var doc = owner(start);\n      var rng = doc.dom().createRange();\n      rng.setStart(start.dom(), soffset);\n      rng.setEnd(finish.dom(), foffset);\n      return rng;\n    };\n    var after$3 = function (start, soffset, finish, foffset) {\n      var r = makeRange(start, soffset, finish, foffset);\n      var same = eq(start, finish) && soffset === foffset;\n      return r.collapsed && !same;\n    };\n\n    var selectNodeContents = function (win, element) {\n      var rng = win.document.createRange();\n      selectNodeContentsUsing(rng, element);\n      return rng;\n    };\n    var selectNodeContentsUsing = function (rng, element) {\n      rng.selectNodeContents(element.dom());\n    };\n    var setStart = function (rng, situ) {\n      situ.fold(function (e) {\n        rng.setStartBefore(e.dom());\n      }, function (e, o) {\n        rng.setStart(e.dom(), o);\n      }, function (e) {\n        rng.setStartAfter(e.dom());\n      });\n    };\n    var setFinish = function (rng, situ) {\n      situ.fold(function (e) {\n        rng.setEndBefore(e.dom());\n      }, function (e, o) {\n        rng.setEnd(e.dom(), o);\n      }, function (e) {\n        rng.setEndAfter(e.dom());\n      });\n    };\n    var relativeToNative = function (win, startSitu, finishSitu) {\n      var range = win.document.createRange();\n      setStart(range, startSitu);\n      setFinish(range, finishSitu);\n      return range;\n    };\n    var exactToNative = function (win, start, soffset, finish, foffset) {\n      var rng = win.document.createRange();\n      rng.setStart(start.dom(), soffset);\n      rng.setEnd(finish.dom(), foffset);\n      return rng;\n    };\n    var toRect = function (rect) {\n      return {\n        left: constant(rect.left),\n        top: constant(rect.top),\n        right: constant(rect.right),\n        bottom: constant(rect.bottom),\n        width: constant(rect.width),\n        height: constant(rect.height)\n      };\n    };\n    var getFirstRect = function (rng) {\n      var rects = rng.getClientRects();\n      var rect = rects.length > 0 ? rects[0] : rng.getBoundingClientRect();\n      return rect.width > 0 || rect.height > 0 ? Option.some(rect).map(toRect) : Option.none();\n    };\n\n    var adt$1 = Adt.generate([\n      {\n        ltr: [\n          'start',\n          'soffset',\n          'finish',\n          'foffset'\n        ]\n      },\n      {\n        rtl: [\n          'start',\n          'soffset',\n          'finish',\n          'foffset'\n        ]\n      }\n    ]);\n    var fromRange = function (win, type, range) {\n      return type(Element$$1.fromDom(range.startContainer), range.startOffset, Element$$1.fromDom(range.endContainer), range.endOffset);\n    };\n    var getRanges = function (win, selection) {\n      return selection.match({\n        domRange: function (rng) {\n          return {\n            ltr: constant(rng),\n            rtl: Option.none\n          };\n        },\n        relative: function (startSitu, finishSitu) {\n          return {\n            ltr: cached(function () {\n              return relativeToNative(win, startSitu, finishSitu);\n            }),\n            rtl: cached(function () {\n              return Option.some(relativeToNative(win, finishSitu, startSitu));\n            })\n          };\n        },\n        exact: function (start, soffset, finish, foffset) {\n          return {\n            ltr: cached(function () {\n              return exactToNative(win, start, soffset, finish, foffset);\n            }),\n            rtl: cached(function () {\n              return Option.some(exactToNative(win, finish, foffset, start, soffset));\n            })\n          };\n        }\n      });\n    };\n    var doDiagnose = function (win, ranges) {\n      var rng = ranges.ltr();\n      if (rng.collapsed) {\n        var reversed = ranges.rtl().filter(function (rev) {\n          return rev.collapsed === false;\n        });\n        return reversed.map(function (rev) {\n          return adt$1.rtl(Element$$1.fromDom(rev.endContainer), rev.endOffset, Element$$1.fromDom(rev.startContainer), rev.startOffset);\n        }).getOrThunk(function () {\n          return fromRange(win, adt$1.ltr, rng);\n        });\n      } else {\n        return fromRange(win, adt$1.ltr, rng);\n      }\n    };\n    var diagnose = function (win, selection) {\n      var ranges = getRanges(win, selection);\n      return doDiagnose(win, ranges);\n    };\n    var asLtrRange = function (win, selection) {\n      var diagnosis = diagnose(win, selection);\n      return diagnosis.match({\n        ltr: function (start, soffset, finish, foffset) {\n          var rng = win.document.createRange();\n          rng.setStart(start.dom(), soffset);\n          rng.setEnd(finish.dom(), foffset);\n          return rng;\n        },\n        rtl: function (start, soffset, finish, foffset) {\n          var rng = win.document.createRange();\n          rng.setStart(finish.dom(), foffset);\n          rng.setEnd(start.dom(), soffset);\n          return rng;\n        }\n      });\n    };\n    var ltr$2 = adt$1.ltr;\n    var rtl$2 = adt$1.rtl;\n\n    var searchForPoint = function (rectForOffset, x, y, maxX, length) {\n      if (length === 0)\n        return 0;\n      else if (x === maxX)\n        return length - 1;\n      var xDelta = maxX;\n      for (var i = 1; i < length; i++) {\n        var rect = rectForOffset(i);\n        var curDeltaX = Math.abs(x - rect.left);\n        if (y <= rect.bottom) {\n          if (y < rect.top || curDeltaX > xDelta) {\n            return i - 1;\n          } else {\n            xDelta = curDeltaX;\n          }\n        }\n      }\n      return 0;\n    };\n    var inRect = function (rect, x, y) {\n      return x >= rect.left && x <= rect.right && y >= rect.top && y <= rect.bottom;\n    };\n\n    var locateOffset = function (doc, textnode, x, y, rect) {\n      var rangeForOffset = function (offset) {\n        var r = doc.dom().createRange();\n        r.setStart(textnode.dom(), offset);\n        r.collapse(true);\n        return r;\n      };\n      var rectForOffset = function (offset) {\n        var r = rangeForOffset(offset);\n        return r.getBoundingClientRect();\n      };\n      var length = get$3(textnode).length;\n      var offset = searchForPoint(rectForOffset, x, y, rect.right, length);\n      return rangeForOffset(offset);\n    };\n    var locate = function (doc, node, x, y) {\n      var r = doc.dom().createRange();\n      r.selectNode(node.dom());\n      var rects = r.getClientRects();\n      var foundRect = findMap(rects, function (rect) {\n        return inRect(rect, x, y) ? Option.some(rect) : Option.none();\n      });\n      return foundRect.map(function (rect) {\n        return locateOffset(doc, node, x, y, rect);\n      });\n    };\n\n    var searchInChildren = function (doc, node, x, y) {\n      var r = doc.dom().createRange();\n      var nodes = children(node);\n      return findMap(nodes, function (n) {\n        r.selectNode(n.dom());\n        return inRect(r.getBoundingClientRect(), x, y) ? locateNode(doc, n, x, y) : Option.none();\n      });\n    };\n    var locateNode = function (doc, node, x, y) {\n      var locator = isText(node) ? locate : searchInChildren;\n      return locator(doc, node, x, y);\n    };\n    var locate$1 = function (doc, node, x, y) {\n      var r = doc.dom().createRange();\n      r.selectNode(node.dom());\n      var rect = r.getBoundingClientRect();\n      var boundedX = Math.max(rect.left, Math.min(rect.right, x));\n      var boundedY = Math.max(rect.top, Math.min(rect.bottom, y));\n      return locateNode(doc, node, boundedX, boundedY);\n    };\n\n    var COLLAPSE_TO_LEFT = true;\n    var COLLAPSE_TO_RIGHT = false;\n    var getCollapseDirection = function (rect, x) {\n      return x - rect.left < rect.right - x ? COLLAPSE_TO_LEFT : COLLAPSE_TO_RIGHT;\n    };\n    var createCollapsedNode = function (doc, target, collapseDirection) {\n      var r = doc.dom().createRange();\n      r.selectNode(target.dom());\n      r.collapse(collapseDirection);\n      return r;\n    };\n    var locateInElement = function (doc, node, x) {\n      var cursorRange = doc.dom().createRange();\n      cursorRange.selectNode(node.dom());\n      var rect = cursorRange.getBoundingClientRect();\n      var collapseDirection = getCollapseDirection(rect, x);\n      var f = collapseDirection === COLLAPSE_TO_LEFT ? first$3 : last$2;\n      return f(node).map(function (target) {\n        return createCollapsedNode(doc, target, collapseDirection);\n      });\n    };\n    var locateInEmpty = function (doc, node, x) {\n      var rect = node.dom().getBoundingClientRect();\n      var collapseDirection = getCollapseDirection(rect, x);\n      return Option.some(createCollapsedNode(doc, node, collapseDirection));\n    };\n    var search = function (doc, node, x) {\n      var f = children(node).length === 0 ? locateInEmpty : locateInElement;\n      return f(doc, node, x);\n    };\n\n    var caretPositionFromPoint = function (doc, x, y) {\n      return Option.from(doc.dom().caretPositionFromPoint(x, y)).bind(function (pos) {\n        if (pos.offsetNode === null)\n          return Option.none();\n        var r = doc.dom().createRange();\n        r.setStart(pos.offsetNode, pos.offset);\n        r.collapse();\n        return Option.some(r);\n      });\n    };\n    var caretRangeFromPoint = function (doc, x, y) {\n      return Option.from(doc.dom().caretRangeFromPoint(x, y));\n    };\n    var searchTextNodes = function (doc, node, x, y) {\n      var r = doc.dom().createRange();\n      r.selectNode(node.dom());\n      var rect = r.getBoundingClientRect();\n      var boundedX = Math.max(rect.left, Math.min(rect.right, x));\n      var boundedY = Math.max(rect.top, Math.min(rect.bottom, y));\n      return locate$1(doc, node, boundedX, boundedY);\n    };\n    var searchFromPoint = function (doc, x, y) {\n      return Element$$1.fromPoint(doc, x, y).bind(function (elem) {\n        var fallback = function () {\n          return search(doc, elem, x);\n        };\n        return children(elem).length === 0 ? fallback() : searchTextNodes(doc, elem, x, y).orThunk(fallback);\n      });\n    };\n    var availableSearch = document.caretPositionFromPoint ? caretPositionFromPoint : document.caretRangeFromPoint ? caretRangeFromPoint : searchFromPoint;\n    var fromPoint$1 = function (win, x, y) {\n      var doc = Element$$1.fromDom(win.document);\n      return availableSearch(doc, x, y).map(function (rng) {\n        return range$2(Element$$1.fromDom(rng.startContainer), rng.startOffset, Element$$1.fromDom(rng.endContainer), rng.endOffset);\n      });\n    };\n\n    var beforeSpecial = function (element, offset) {\n      var name$$1 = name(element);\n      if ('input' === name$$1)\n        return Situ.after(element);\n      else if (!contains([\n          'br',\n          'img'\n        ], name$$1))\n        return Situ.on(element, offset);\n      else\n        return offset === 0 ? Situ.before(element) : Situ.after(element);\n    };\n    var preprocessRelative = function (startSitu, finishSitu) {\n      var start = startSitu.fold(Situ.before, beforeSpecial, Situ.after);\n      var finish = finishSitu.fold(Situ.before, beforeSpecial, Situ.after);\n      return relative$1(start, finish);\n    };\n    var preprocessExact = function (start, soffset, finish, foffset) {\n      var startSitu = beforeSpecial(start, soffset);\n      var finishSitu = beforeSpecial(finish, foffset);\n      return relative$1(startSitu, finishSitu);\n    };\n    var preprocess = function (selection) {\n      return selection.match({\n        domRange: function (rng) {\n          var start = Element$$1.fromDom(rng.startContainer);\n          var finish = Element$$1.fromDom(rng.endContainer);\n          return preprocessExact(start, rng.startOffset, finish, rng.endOffset);\n        },\n        relative: preprocessRelative,\n        exact: preprocessExact\n      });\n    };\n\n    var doSetNativeRange = function (win, rng) {\n      Option.from(win.getSelection()).each(function (selection) {\n        selection.removeAllRanges();\n        selection.addRange(rng);\n      });\n    };\n    var doSetRange = function (win, start, soffset, finish, foffset) {\n      var rng = exactToNative(win, start, soffset, finish, foffset);\n      doSetNativeRange(win, rng);\n    };\n    var setLegacyRtlRange = function (win, selection, start, soffset, finish, foffset) {\n      selection.collapse(start.dom(), soffset);\n      selection.extend(finish.dom(), foffset);\n    };\n    var setRangeFromRelative = function (win, relative) {\n      return diagnose(win, relative).match({\n        ltr: function (start, soffset, finish, foffset) {\n          doSetRange(win, start, soffset, finish, foffset);\n        },\n        rtl: function (start, soffset, finish, foffset) {\n          var selection = win.getSelection();\n          if (selection.setBaseAndExtent) {\n            selection.setBaseAndExtent(start.dom(), soffset, finish.dom(), foffset);\n          } else if (selection.extend) {\n            try {\n              setLegacyRtlRange(win, selection, start, soffset, finish, foffset);\n            } catch (e) {\n              doSetRange(win, finish, foffset, start, soffset);\n            }\n          } else {\n            doSetRange(win, finish, foffset, start, soffset);\n          }\n        }\n      });\n    };\n    var setExact = function (win, start, soffset, finish, foffset) {\n      var relative = preprocessExact(start, soffset, finish, foffset);\n      setRangeFromRelative(win, relative);\n    };\n    var setRelative = function (win, startSitu, finishSitu) {\n      var relative = preprocessRelative(startSitu, finishSitu);\n      setRangeFromRelative(win, relative);\n    };\n    var toNative = function (selection) {\n      var win = getWin(selection).dom();\n      var getDomRange = function (start, soffset, finish, foffset) {\n        return exactToNative(win, start, soffset, finish, foffset);\n      };\n      var filtered = preprocess(selection);\n      return diagnose(win, filtered).match({\n        ltr: getDomRange,\n        rtl: getDomRange\n      });\n    };\n    var readRange = function (selection) {\n      if (selection.rangeCount > 0) {\n        var firstRng = selection.getRangeAt(0);\n        var lastRng = selection.getRangeAt(selection.rangeCount - 1);\n        return Option.some(range$2(Element$$1.fromDom(firstRng.startContainer), firstRng.startOffset, Element$$1.fromDom(lastRng.endContainer), lastRng.endOffset));\n      } else {\n        return Option.none();\n      }\n    };\n    var doGetExact = function (selection) {\n      var anchorNode = Element$$1.fromDom(selection.anchorNode);\n      var focusNode = Element$$1.fromDom(selection.focusNode);\n      return after$3(anchorNode, selection.anchorOffset, focusNode, selection.focusOffset) ? Option.some(range$2(Element$$1.fromDom(selection.anchorNode), selection.anchorOffset, Element$$1.fromDom(selection.focusNode), selection.focusOffset)) : readRange(selection);\n    };\n    var setToElement = function (win, element) {\n      var rng = selectNodeContents(win, element);\n      doSetNativeRange(win, rng);\n    };\n    var getExact = function (win) {\n      return Option.from(win.getSelection()).filter(function (sel) {\n        return sel.rangeCount > 0;\n      }).bind(doGetExact);\n    };\n    var get$a = function (win) {\n      return getExact(win).map(function (range) {\n        return exact(range.start(), range.soffset(), range.finish(), range.foffset());\n      });\n    };\n    var getFirstRect$1 = function (win, selection) {\n      var rng = asLtrRange(win, selection);\n      return getFirstRect(rng);\n    };\n    var getAtPoint = function (win, x, y) {\n      return fromPoint$1(win, x, y);\n    };\n    var clear$1 = function (win) {\n      var selection = win.getSelection();\n      selection.removeAllRanges();\n    };\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.util.VK');\n\n    var forward = function (editor, isRoot, cell, lazyWire) {\n      return go(editor, isRoot, CellNavigation.next(cell), lazyWire);\n    };\n    var backward = function (editor, isRoot, cell, lazyWire) {\n      return go(editor, isRoot, CellNavigation.prev(cell), lazyWire);\n    };\n    var getCellFirstCursorPosition = function (editor, cell) {\n      var selection = exact(cell, 0, cell, 0);\n      return toNative(selection);\n    };\n    var getNewRowCursorPosition = function (editor, table) {\n      var rows = descendants$1(table, 'tr');\n      return last(rows).bind(function (last$$1) {\n        return descendant$1(last$$1, 'td,th').map(function (first) {\n          return getCellFirstCursorPosition(editor, first);\n        });\n      });\n    };\n    var go = function (editor, isRoot, cell, actions, lazyWire) {\n      return cell.fold(Option.none, Option.none, function (current, next) {\n        return first$3(next).map(function (cell) {\n          return getCellFirstCursorPosition(editor, cell);\n        });\n      }, function (current) {\n        return TableLookup.table(current, isRoot).bind(function (table) {\n          var targets = TableTargets.noMenu(current);\n          editor.undoManager.transact(function () {\n            actions.insertRowsAfter(table, targets);\n          });\n          return getNewRowCursorPosition(editor, table);\n        });\n      });\n    };\n    var rootElements = [\n      'table',\n      'li',\n      'dl'\n    ];\n    var handle$1 = function (event, editor, actions, lazyWire) {\n      if (event.keyCode === global$3.TAB) {\n        var body_1 = getBody$1(editor);\n        var isRoot_1 = function (element) {\n          var name$$1 = name(element);\n          return eq(element, body_1) || contains(rootElements, name$$1);\n        };\n        var rng = editor.selection.getRng();\n        if (rng.collapsed) {\n          var start = Element$$1.fromDom(rng.startContainer);\n          TableLookup.cell(start, isRoot_1).each(function (cell) {\n            event.preventDefault();\n            var navigation = event.shiftKey ? backward : forward;\n            var rng = navigation(editor, isRoot_1, cell, actions, lazyWire);\n            rng.each(function (range$$1) {\n              editor.selection.setRng(range$$1);\n            });\n          });\n        }\n      }\n    };\n    var TabContext = { handle: handle$1 };\n\n    var response = Immutable('selection', 'kill');\n    var Responses = { response: response };\n\n    var isKey = function (key) {\n      return function (keycode) {\n        return keycode === key;\n      };\n    };\n    var isUp = isKey(38);\n    var isDown = isKey(40);\n    var isNavigation = function (keycode) {\n      return keycode >= 37 && keycode <= 40;\n    };\n    var SelectionKeys = {\n      ltr: {\n        isBackward: isKey(37),\n        isForward: isKey(39)\n      },\n      rtl: {\n        isBackward: isKey(39),\n        isForward: isKey(37)\n      },\n      isUp: isUp,\n      isDown: isDown,\n      isNavigation: isNavigation\n    };\n\n    var convertToRange = function (win, selection) {\n      var rng = asLtrRange(win, selection);\n      return {\n        start: constant(Element$$1.fromDom(rng.startContainer)),\n        soffset: constant(rng.startOffset),\n        finish: constant(Element$$1.fromDom(rng.endContainer)),\n        foffset: constant(rng.endOffset)\n      };\n    };\n    var makeSitus = function (start, soffset, finish, foffset) {\n      return {\n        start: constant(Situ.on(start, soffset)),\n        finish: constant(Situ.on(finish, foffset))\n      };\n    };\n    var Util$1 = {\n      convertToRange: convertToRange,\n      makeSitus: makeSitus\n    };\n\n    var isSafari = PlatformDetection$1.detect().browser.isSafari();\n    var get$b = function (_doc) {\n      var doc = _doc !== undefined ? _doc.dom() : document;\n      var x = doc.body.scrollLeft || doc.documentElement.scrollLeft;\n      var y = doc.body.scrollTop || doc.documentElement.scrollTop;\n      return Position(x, y);\n    };\n    var by = function (x, y, _doc) {\n      var doc = _doc !== undefined ? _doc.dom() : document;\n      var win = doc.defaultView;\n      win.scrollBy(x, y);\n    };\n\n    function WindowBridge (win) {\n      var elementFromPoint = function (x, y) {\n        return Element$$1.fromPoint(Element$$1.fromDom(win.document), x, y);\n      };\n      var getRect = function (element) {\n        return element.dom().getBoundingClientRect();\n      };\n      var getRangedRect = function (start, soffset, finish, foffset) {\n        var sel = exact(start, soffset, finish, foffset);\n        return getFirstRect$1(win, sel).map(function (structRect) {\n          return map$1(structRect, apply);\n        });\n      };\n      var getSelection = function () {\n        return get$a(win).map(function (exactAdt) {\n          return Util$1.convertToRange(win, exactAdt);\n        });\n      };\n      var fromSitus = function (situs) {\n        var relative = relative$1(situs.start(), situs.finish());\n        return Util$1.convertToRange(win, relative);\n      };\n      var situsFromPoint = function (x, y) {\n        return getAtPoint(win, x, y).map(function (exact$$1) {\n          return {\n            start: constant(Situ.on(exact$$1.start(), exact$$1.soffset())),\n            finish: constant(Situ.on(exact$$1.finish(), exact$$1.foffset()))\n          };\n        });\n      };\n      var clearSelection = function () {\n        clear$1(win);\n      };\n      var selectContents = function (element) {\n        setToElement(win, element);\n      };\n      var setSelection = function (sel) {\n        setExact(win, sel.start(), sel.soffset(), sel.finish(), sel.foffset());\n      };\n      var setRelativeSelection = function (start, finish) {\n        setRelative(win, start, finish);\n      };\n      var getInnerHeight = function () {\n        return win.innerHeight;\n      };\n      var getScrollY = function () {\n        var pos = get$b(Element$$1.fromDom(win.document));\n        return pos.top();\n      };\n      var scrollBy = function (x, y) {\n        by(x, y, Element$$1.fromDom(win.document));\n      };\n      return {\n        elementFromPoint: elementFromPoint,\n        getRect: getRect,\n        getRangedRect: getRangedRect,\n        getSelection: getSelection,\n        fromSitus: fromSitus,\n        situsFromPoint: situsFromPoint,\n        clearSelection: clearSelection,\n        setSelection: setSelection,\n        setRelativeSelection: setRelativeSelection,\n        selectContents: selectContents,\n        getInnerHeight: getInnerHeight,\n        getScrollY: getScrollY,\n        scrollBy: scrollBy\n      };\n    }\n\n    var sync = function (container, isRoot, start, soffset, finish, foffset, selectRange) {\n      if (!(eq(start, finish) && soffset === foffset)) {\n        return closest$1(start, 'td,th', isRoot).bind(function (s) {\n          return closest$1(finish, 'td,th', isRoot).bind(function (f) {\n            return detect$5(container, isRoot, s, f, selectRange);\n          });\n        });\n      } else {\n        return Option.none();\n      }\n    };\n    var detect$5 = function (container, isRoot, start, finish, selectRange) {\n      if (!eq(start, finish)) {\n        return CellSelection.identify(start, finish, isRoot).bind(function (cellSel) {\n          var boxes = cellSel.boxes().getOr([]);\n          if (boxes.length > 0) {\n            selectRange(container, boxes, cellSel.start(), cellSel.finish());\n            return Option.some(Responses.response(Option.some(Util$1.makeSitus(start, 0, start, getEnd(start))), true));\n          } else {\n            return Option.none();\n          }\n        });\n      } else {\n        return Option.none();\n      }\n    };\n    var update = function (rows, columns, container, selected, annotations) {\n      var updateSelection = function (newSels) {\n        annotations.clear(container);\n        annotations.selectRange(container, newSels.boxes(), newSels.start(), newSels.finish());\n        return newSels.boxes();\n      };\n      return CellSelection.shiftSelection(selected, rows, columns, annotations.firstSelectedSelector(), annotations.lastSelectedSelector()).map(updateSelection);\n    };\n    var KeySelection = {\n      sync: sync,\n      detect: detect$5,\n      update: update\n    };\n\n    var nu$3 = MixedBag([\n      'left',\n      'top',\n      'right',\n      'bottom'\n    ], []);\n    var moveDown = function (caret, amount) {\n      return nu$3({\n        left: caret.left(),\n        top: caret.top() + amount,\n        right: caret.right(),\n        bottom: caret.bottom() + amount\n      });\n    };\n    var moveUp = function (caret, amount) {\n      return nu$3({\n        left: caret.left(),\n        top: caret.top() - amount,\n        right: caret.right(),\n        bottom: caret.bottom() - amount\n      });\n    };\n    var moveBottomTo = function (caret, bottom) {\n      var height = caret.bottom() - caret.top();\n      return nu$3({\n        left: caret.left(),\n        top: bottom - height,\n        right: caret.right(),\n        bottom: bottom\n      });\n    };\n    var moveTopTo = function (caret, top) {\n      var height = caret.bottom() - caret.top();\n      return nu$3({\n        left: caret.left(),\n        top: top,\n        right: caret.right(),\n        bottom: top + height\n      });\n    };\n    var translate = function (caret, xDelta, yDelta) {\n      return nu$3({\n        left: caret.left() + xDelta,\n        top: caret.top() + yDelta,\n        right: caret.right() + xDelta,\n        bottom: caret.bottom() + yDelta\n      });\n    };\n    var getTop$1 = function (caret) {\n      return caret.top();\n    };\n    var getBottom = function (caret) {\n      return caret.bottom();\n    };\n    var toString$1 = function (caret) {\n      return '(' + caret.left() + ', ' + caret.top() + ') -> (' + caret.right() + ', ' + caret.bottom() + ')';\n    };\n    var Carets = {\n      nu: nu$3,\n      moveUp: moveUp,\n      moveDown: moveDown,\n      moveBottomTo: moveBottomTo,\n      moveTopTo: moveTopTo,\n      getTop: getTop$1,\n      getBottom: getBottom,\n      translate: translate,\n      toString: toString$1\n    };\n\n    var getPartialBox = function (bridge, element, offset) {\n      if (offset >= 0 && offset < getEnd(element))\n        return bridge.getRangedRect(element, offset, element, offset + 1);\n      else if (offset > 0)\n        return bridge.getRangedRect(element, offset - 1, element, offset);\n      return Option.none();\n    };\n    var toCaret = function (rect) {\n      return Carets.nu({\n        left: rect.left,\n        top: rect.top,\n        right: rect.right,\n        bottom: rect.bottom\n      });\n    };\n    var getElemBox = function (bridge, element) {\n      return Option.some(bridge.getRect(element));\n    };\n    var getBoxAt = function (bridge, element, offset) {\n      if (isElement(element))\n        return getElemBox(bridge, element).map(toCaret);\n      else if (isText(element))\n        return getPartialBox(bridge, element, offset).map(toCaret);\n      else\n        return Option.none();\n    };\n    var getEntireBox = function (bridge, element) {\n      if (isElement(element))\n        return getElemBox(bridge, element).map(toCaret);\n      else if (isText(element))\n        return bridge.getRangedRect(element, 0, element, getEnd(element)).map(toCaret);\n      else\n        return Option.none();\n    };\n    var Rectangles = {\n      getBoxAt: getBoxAt,\n      getEntireBox: getEntireBox\n    };\n\n    var traverse = Immutable('item', 'mode');\n    var backtrack = function (universe, item, direction, _transition) {\n      var transition = _transition !== undefined ? _transition : sidestep;\n      return universe.property().parent(item).map(function (p) {\n        return traverse(p, transition);\n      });\n    };\n    var sidestep = function (universe, item, direction, _transition) {\n      var transition = _transition !== undefined ? _transition : advance;\n      return direction.sibling(universe, item).map(function (p) {\n        return traverse(p, transition);\n      });\n    };\n    var advance = function (universe, item, direction, _transition) {\n      var transition = _transition !== undefined ? _transition : advance;\n      var children = universe.property().children(item);\n      var result = direction.first(children);\n      return result.map(function (r) {\n        return traverse(r, transition);\n      });\n    };\n    var successors = [\n      {\n        current: backtrack,\n        next: sidestep,\n        fallback: Option.none()\n      },\n      {\n        current: sidestep,\n        next: advance,\n        fallback: Option.some(backtrack)\n      },\n      {\n        current: advance,\n        next: advance,\n        fallback: Option.some(sidestep)\n      }\n    ];\n    var go$1 = function (universe, item, mode, direction, rules) {\n      var rules = rules !== undefined ? rules : successors;\n      var ruleOpt = find(rules, function (succ) {\n        return succ.current === mode;\n      });\n      return ruleOpt.bind(function (rule) {\n        return rule.current(universe, item, direction, rule.next).orThunk(function () {\n          return rule.fallback.bind(function (fb) {\n            return go$1(universe, item, fb, direction);\n          });\n        });\n      });\n    };\n    var Walker = {\n      backtrack: backtrack,\n      sidestep: sidestep,\n      advance: advance,\n      go: go$1\n    };\n\n    var left$1 = function () {\n      var sibling = function (universe, item) {\n        return universe.query().prevSibling(item);\n      };\n      var first = function (children) {\n        return children.length > 0 ? Option.some(children[children.length - 1]) : Option.none();\n      };\n      return {\n        sibling: sibling,\n        first: first\n      };\n    };\n    var right$1 = function () {\n      var sibling = function (universe, item) {\n        return universe.query().nextSibling(item);\n      };\n      var first = function (children) {\n        return children.length > 0 ? Option.some(children[0]) : Option.none();\n      };\n      return {\n        sibling: sibling,\n        first: first\n      };\n    };\n    var Walkers = {\n      left: left$1,\n      right: right$1\n    };\n\n    var hone = function (universe, item, predicate, mode, direction, isRoot) {\n      var next = Walker.go(universe, item, mode, direction);\n      return next.bind(function (n) {\n        if (isRoot(n.item()))\n          return Option.none();\n        else\n          return predicate(n.item()) ? Option.some(n.item()) : hone(universe, n.item(), predicate, n.mode(), direction, isRoot);\n      });\n    };\n    var left$2 = function (universe, item, predicate, isRoot) {\n      return hone(universe, item, predicate, Walker.sidestep, Walkers.left(), isRoot);\n    };\n    var right$2 = function (universe, item, predicate, isRoot) {\n      return hone(universe, item, predicate, Walker.sidestep, Walkers.right(), isRoot);\n    };\n    var Seeker = {\n      left: left$2,\n      right: right$2\n    };\n\n    var isLeaf = function (universe, element) {\n      return universe.property().children(element).length === 0;\n    };\n    var before$3 = function (universe, item, isRoot) {\n      return seekLeft(universe, item, curry(isLeaf, universe), isRoot);\n    };\n    var after$4 = function (universe, item, isRoot) {\n      return seekRight(universe, item, curry(isLeaf, universe), isRoot);\n    };\n    var seekLeft = function (universe, item, predicate, isRoot) {\n      return Seeker.left(universe, item, predicate, isRoot);\n    };\n    var seekRight = function (universe, item, predicate, isRoot) {\n      return Seeker.right(universe, item, predicate, isRoot);\n    };\n    var walkers = function () {\n      return {\n        left: Walkers.left,\n        right: Walkers.right\n      };\n    };\n    var walk = function (universe, item, mode, direction, _rules) {\n      return Walker.go(universe, item, mode, direction, _rules);\n    };\n    var Gather = {\n      before: before$3,\n      after: after$4,\n      seekLeft: seekLeft,\n      seekRight: seekRight,\n      walkers: walkers,\n      walk: walk,\n      backtrack: Walker.backtrack,\n      sidestep: Walker.sidestep,\n      advance: Walker.advance\n    };\n\n    var universe$2 = DomUniverse();\n    var gather = function (element, prune, transform) {\n      return Gather.gather(universe$2, element, prune, transform);\n    };\n    var before$4 = function (element, isRoot) {\n      return Gather.before(universe$2, element, isRoot);\n    };\n    var after$5 = function (element, isRoot) {\n      return Gather.after(universe$2, element, isRoot);\n    };\n    var seekLeft$1 = function (element, predicate, isRoot) {\n      return Gather.seekLeft(universe$2, element, predicate, isRoot);\n    };\n    var seekRight$1 = function (element, predicate, isRoot) {\n      return Gather.seekRight(universe$2, element, predicate, isRoot);\n    };\n    var walkers$1 = function () {\n      return Gather.walkers();\n    };\n    var walk$1 = function (item, mode, direction, _rules) {\n      return Gather.walk(universe$2, item, mode, direction, _rules);\n    };\n    var DomGather = {\n      gather: gather,\n      before: before$4,\n      after: after$5,\n      seekLeft: seekLeft$1,\n      seekRight: seekRight$1,\n      walkers: walkers$1,\n      walk: walk$1\n    };\n\n    var JUMP_SIZE = 5;\n    var NUM_RETRIES = 100;\n    var adt$2 = Adt.generate([\n      { 'none': [] },\n      { 'retry': ['caret'] }\n    ]);\n    var isOutside = function (caret, box) {\n      return caret.left() < box.left() || Math.abs(box.right() - caret.left()) < 1 || caret.left() > box.right();\n    };\n    var inOutsideBlock = function (bridge, element, caret) {\n      return closest(element, DomStructure.isBlock).fold(constant(false), function (cell) {\n        return Rectangles.getEntireBox(bridge, cell).exists(function (box) {\n          return isOutside(caret, box);\n        });\n      });\n    };\n    var adjustDown = function (bridge, element, guessBox, original, caret) {\n      var lowerCaret = Carets.moveDown(caret, JUMP_SIZE);\n      if (Math.abs(guessBox.bottom() - original.bottom()) < 1)\n        return adt$2.retry(lowerCaret);\n      else if (guessBox.top() > caret.bottom())\n        return adt$2.retry(lowerCaret);\n      else if (guessBox.top() === caret.bottom())\n        return adt$2.retry(Carets.moveDown(caret, 1));\n      else\n        return inOutsideBlock(bridge, element, caret) ? adt$2.retry(Carets.translate(lowerCaret, JUMP_SIZE, 0)) : adt$2.none();\n    };\n    var adjustUp = function (bridge, element, guessBox, original, caret) {\n      var higherCaret = Carets.moveUp(caret, JUMP_SIZE);\n      if (Math.abs(guessBox.top() - original.top()) < 1)\n        return adt$2.retry(higherCaret);\n      else if (guessBox.bottom() < caret.top())\n        return adt$2.retry(higherCaret);\n      else if (guessBox.bottom() === caret.top())\n        return adt$2.retry(Carets.moveUp(caret, 1));\n      else\n        return inOutsideBlock(bridge, element, caret) ? adt$2.retry(Carets.translate(higherCaret, JUMP_SIZE, 0)) : adt$2.none();\n    };\n    var upMovement = {\n      point: Carets.getTop,\n      adjuster: adjustUp,\n      move: Carets.moveUp,\n      gather: DomGather.before\n    };\n    var downMovement = {\n      point: Carets.getBottom,\n      adjuster: adjustDown,\n      move: Carets.moveDown,\n      gather: DomGather.after\n    };\n    var isAtTable = function (bridge, x, y) {\n      return bridge.elementFromPoint(x, y).filter(function (elm) {\n        return name(elm) === 'table';\n      }).isSome();\n    };\n    var adjustForTable = function (bridge, movement, original, caret, numRetries) {\n      return adjustTil(bridge, movement, original, movement.move(caret, JUMP_SIZE), numRetries);\n    };\n    var adjustTil = function (bridge, movement, original, caret, numRetries) {\n      if (numRetries === 0)\n        return Option.some(caret);\n      if (isAtTable(bridge, caret.left(), movement.point(caret)))\n        return adjustForTable(bridge, movement, original, caret, numRetries - 1);\n      return bridge.situsFromPoint(caret.left(), movement.point(caret)).bind(function (guess) {\n        return guess.start().fold(Option.none, function (element, offset) {\n          return Rectangles.getEntireBox(bridge, element, offset).bind(function (guessBox) {\n            return movement.adjuster(bridge, element, guessBox, original, caret).fold(Option.none, function (newCaret) {\n              return adjustTil(bridge, movement, original, newCaret, numRetries - 1);\n            });\n          }).orThunk(function () {\n            return Option.some(caret);\n          });\n        }, Option.none);\n      });\n    };\n    var ieTryDown = function (bridge, caret) {\n      return bridge.situsFromPoint(caret.left(), caret.bottom() + JUMP_SIZE);\n    };\n    var ieTryUp = function (bridge, caret) {\n      return bridge.situsFromPoint(caret.left(), caret.top() - JUMP_SIZE);\n    };\n    var checkScroll = function (movement, adjusted, bridge) {\n      if (movement.point(adjusted) > bridge.getInnerHeight())\n        return Option.some(movement.point(adjusted) - bridge.getInnerHeight());\n      else if (movement.point(adjusted) < 0)\n        return Option.some(-movement.point(adjusted));\n      else\n        return Option.none();\n    };\n    var retry = function (movement, bridge, caret) {\n      var moved = movement.move(caret, JUMP_SIZE);\n      var adjusted = adjustTil(bridge, movement, caret, moved, NUM_RETRIES).getOr(moved);\n      return checkScroll(movement, adjusted, bridge).fold(function () {\n        return bridge.situsFromPoint(adjusted.left(), movement.point(adjusted));\n      }, function (delta) {\n        bridge.scrollBy(0, delta);\n        return bridge.situsFromPoint(adjusted.left(), movement.point(adjusted) - delta);\n      });\n    };\n    var Retries = {\n      tryUp: curry(retry, upMovement),\n      tryDown: curry(retry, downMovement),\n      ieTryUp: ieTryUp,\n      ieTryDown: ieTryDown,\n      getJumpSize: constant(JUMP_SIZE)\n    };\n\n    var adt$3 = Adt.generate([\n      { 'none': ['message'] },\n      { 'success': [] },\n      { 'failedUp': ['cell'] },\n      { 'failedDown': ['cell'] }\n    ]);\n    var isOverlapping = function (bridge, before, after) {\n      var beforeBounds = bridge.getRect(before);\n      var afterBounds = bridge.getRect(after);\n      return afterBounds.right > beforeBounds.left && afterBounds.left < beforeBounds.right;\n    };\n    var verify = function (bridge, before, beforeOffset, after, afterOffset, failure, isRoot) {\n      return closest$1(after, 'td,th', isRoot).bind(function (afterCell) {\n        return closest$1(before, 'td,th', isRoot).map(function (beforeCell) {\n          if (!eq(afterCell, beforeCell)) {\n            return DomParent.sharedOne(isRow, [\n              afterCell,\n              beforeCell\n            ]).fold(function () {\n              return isOverlapping(bridge, beforeCell, afterCell) ? adt$3.success() : failure(beforeCell);\n            }, function (sharedRow) {\n              return failure(beforeCell);\n            });\n          } else {\n            return eq(after, afterCell) && getEnd(afterCell) === afterOffset ? failure(beforeCell) : adt$3.none('in same cell');\n          }\n        });\n      }).getOr(adt$3.none('default'));\n    };\n    var isRow = function (elem) {\n      return closest$1(elem, 'tr');\n    };\n    var cata$2 = function (subject, onNone, onSuccess, onFailedUp, onFailedDown) {\n      return subject.fold(onNone, onSuccess, onFailedUp, onFailedDown);\n    };\n    var BeforeAfter = {\n      verify: verify,\n      cata: cata$2,\n      adt: adt$3\n    };\n\n    var point = Immutable('element', 'offset');\n    var delta = Immutable('element', 'deltaOffset');\n    var range$3 = Immutable('element', 'start', 'finish');\n    var points = Immutable('begin', 'end');\n    var text = Immutable('element', 'text');\n    var Spot = {\n      point: point,\n      delta: delta,\n      range: range$3,\n      points: points,\n      text: text\n    };\n\n    var inAncestor = Immutable('ancestor', 'descendants', 'element', 'index');\n    var inParent = Immutable('parent', 'children', 'element', 'index');\n    var indexInParent = function (element) {\n      return parent(element).bind(function (parent$$1) {\n        var children$$1 = children(parent$$1);\n        return indexOf$1(children$$1, element).map(function (index) {\n          return inParent(parent$$1, children$$1, element, index);\n        });\n      });\n    };\n    var indexOf$1 = function (elements, element) {\n      return findIndex(elements, curry(eq, element));\n    };\n\n    var isBr = function (elem) {\n      return name(elem) === 'br';\n    };\n    var gatherer = function (cand, gather, isRoot) {\n      return gather(cand, isRoot).bind(function (target) {\n        return isText(target) && get$3(target).trim().length === 0 ? gatherer(target, gather, isRoot) : Option.some(target);\n      });\n    };\n    var handleBr = function (isRoot, element, direction) {\n      return direction.traverse(element).orThunk(function () {\n        return gatherer(element, direction.gather, isRoot);\n      }).map(direction.relative);\n    };\n    var findBr = function (element, offset) {\n      return child(element, offset).filter(isBr).orThunk(function () {\n        return child(element, offset - 1).filter(isBr);\n      });\n    };\n    var handleParent = function (isRoot, element, offset, direction) {\n      return findBr(element, offset).bind(function (br) {\n        return direction.traverse(br).fold(function () {\n          return gatherer(br, direction.gather, isRoot).map(direction.relative);\n        }, function (adjacent) {\n          return indexInParent(adjacent).map(function (info) {\n            return Situ.on(info.parent(), info.index());\n          });\n        });\n      });\n    };\n    var tryBr = function (isRoot, element, offset, direction) {\n      var target = isBr(element) ? handleBr(isRoot, element, direction) : handleParent(isRoot, element, offset, direction);\n      return target.map(function (tgt) {\n        return {\n          start: constant(tgt),\n          finish: constant(tgt)\n        };\n      });\n    };\n    var process = function (analysis) {\n      return BeforeAfter.cata(analysis, function (message) {\n        return Option.none();\n      }, function () {\n        return Option.none();\n      }, function (cell) {\n        return Option.some(Spot.point(cell, 0));\n      }, function (cell) {\n        return Option.some(Spot.point(cell, getEnd(cell)));\n      });\n    };\n    var BrTags = {\n      tryBr: tryBr,\n      process: process\n    };\n\n    var MAX_RETRIES = 20;\n    var platform$1 = PlatformDetection$1.detect();\n    var findSpot = function (bridge, isRoot, direction) {\n      return bridge.getSelection().bind(function (sel) {\n        return BrTags.tryBr(isRoot, sel.finish(), sel.foffset(), direction).fold(function () {\n          return Option.some(Spot.point(sel.finish(), sel.foffset()));\n        }, function (brNeighbour) {\n          var range = bridge.fromSitus(brNeighbour);\n          var analysis = BeforeAfter.verify(bridge, sel.finish(), sel.foffset(), range.finish(), range.foffset(), direction.failure, isRoot);\n          return BrTags.process(analysis);\n        });\n      });\n    };\n    var scan = function (bridge, isRoot, element, offset, direction, numRetries) {\n      if (numRetries === 0)\n        return Option.none();\n      return tryCursor(bridge, isRoot, element, offset, direction).bind(function (situs) {\n        var range = bridge.fromSitus(situs);\n        var analysis = BeforeAfter.verify(bridge, element, offset, range.finish(), range.foffset(), direction.failure, isRoot);\n        return BeforeAfter.cata(analysis, function () {\n          return Option.none();\n        }, function () {\n          return Option.some(situs);\n        }, function (cell) {\n          if (eq(element, cell) && offset === 0)\n            return tryAgain(bridge, element, offset, Carets.moveUp, direction);\n          else\n            return scan(bridge, isRoot, cell, 0, direction, numRetries - 1);\n        }, function (cell) {\n          if (eq(element, cell) && offset === getEnd(cell))\n            return tryAgain(bridge, element, offset, Carets.moveDown, direction);\n          else\n            return scan(bridge, isRoot, cell, getEnd(cell), direction, numRetries - 1);\n        });\n      });\n    };\n    var tryAgain = function (bridge, element, offset, move, direction) {\n      return Rectangles.getBoxAt(bridge, element, offset).bind(function (box) {\n        return tryAt(bridge, direction, move(box, Retries.getJumpSize()));\n      });\n    };\n    var tryAt = function (bridge, direction, box) {\n      if (platform$1.browser.isChrome() || platform$1.browser.isSafari() || platform$1.browser.isFirefox() || platform$1.browser.isEdge())\n        return direction.otherRetry(bridge, box);\n      else if (platform$1.browser.isIE())\n        return direction.ieRetry(bridge, box);\n      else\n        return Option.none();\n    };\n    var tryCursor = function (bridge, isRoot, element, offset, direction) {\n      return Rectangles.getBoxAt(bridge, element, offset).bind(function (box) {\n        return tryAt(bridge, direction, box);\n      });\n    };\n    var handle$2 = function (bridge, isRoot, direction) {\n      return findSpot(bridge, isRoot, direction).bind(function (spot) {\n        return scan(bridge, isRoot, spot.element(), spot.offset(), direction, MAX_RETRIES).map(bridge.fromSitus);\n      });\n    };\n    var TableKeys = { handle: handle$2 };\n\n    var ancestor$3 = function (scope, predicate, isRoot) {\n      return ancestor(scope, predicate, isRoot).isSome();\n    };\n\n    var detection = PlatformDetection$1.detect();\n    var inSameTable = function (elem, table) {\n      return ancestor$3(elem, function (e) {\n        return parent(e).exists(function (p) {\n          return eq(p, table);\n        });\n      });\n    };\n    var simulate = function (bridge, isRoot, direction, initial, anchor) {\n      return closest$1(initial, 'td,th', isRoot).bind(function (start) {\n        return closest$1(start, 'table', isRoot).bind(function (table) {\n          if (!inSameTable(anchor, table))\n            return Option.none();\n          return TableKeys.handle(bridge, isRoot, direction).bind(function (range) {\n            return closest$1(range.finish(), 'td,th', isRoot).map(function (finish) {\n              return {\n                start: constant(start),\n                finish: constant(finish),\n                range: constant(range)\n              };\n            });\n          });\n        });\n      });\n    };\n    var navigate = function (bridge, isRoot, direction, initial, anchor, precheck) {\n      if (detection.browser.isIE()) {\n        return Option.none();\n      } else {\n        return precheck(initial, isRoot).orThunk(function () {\n          return simulate(bridge, isRoot, direction, initial, anchor).map(function (info) {\n            var range = info.range();\n            return Responses.response(Option.some(Util$1.makeSitus(range.start(), range.soffset(), range.finish(), range.foffset())), true);\n          });\n        });\n      }\n    };\n    var firstUpCheck = function (initial, isRoot) {\n      return closest$1(initial, 'tr', isRoot).bind(function (startRow) {\n        return closest$1(startRow, 'table', isRoot).bind(function (table) {\n          var rows = descendants$1(table, 'tr');\n          if (eq(startRow, rows[0])) {\n            return DomGather.seekLeft(table, function (element) {\n              return last$2(element).isSome();\n            }, isRoot).map(function (last) {\n              var lastOffset = getEnd(last);\n              return Responses.response(Option.some(Util$1.makeSitus(last, lastOffset, last, lastOffset)), true);\n            });\n          } else {\n            return Option.none();\n          }\n        });\n      });\n    };\n    var lastDownCheck = function (initial, isRoot) {\n      return closest$1(initial, 'tr', isRoot).bind(function (startRow) {\n        return closest$1(startRow, 'table', isRoot).bind(function (table) {\n          var rows = descendants$1(table, 'tr');\n          if (eq(startRow, rows[rows.length - 1])) {\n            return DomGather.seekRight(table, function (element) {\n              return first$3(element).isSome();\n            }, isRoot).map(function (first) {\n              return Responses.response(Option.some(Util$1.makeSitus(first, 0, first, 0)), true);\n            });\n          } else {\n            return Option.none();\n          }\n        });\n      });\n    };\n    var select = function (bridge, container, isRoot, direction, initial, anchor, selectRange) {\n      return simulate(bridge, isRoot, direction, initial, anchor).bind(function (info) {\n        return KeySelection.detect(container, isRoot, info.start(), info.finish(), selectRange);\n      });\n    };\n    var VerticalMovement = {\n      navigate: navigate,\n      select: select,\n      firstUpCheck: firstUpCheck,\n      lastDownCheck: lastDownCheck\n    };\n\n    var findCell = function (target, isRoot) {\n      return closest$1(target, 'td,th', isRoot);\n    };\n    function MouseSelection (bridge, container, isRoot, annotations) {\n      var cursor = Option.none();\n      var clearState = function () {\n        cursor = Option.none();\n      };\n      var mousedown = function (event) {\n        annotations.clear(container);\n        cursor = findCell(event.target(), isRoot);\n      };\n      var mouseover = function (event) {\n        cursor.each(function (start) {\n          annotations.clear(container);\n          findCell(event.target(), isRoot).each(function (finish) {\n            CellSelection.identify(start, finish, isRoot).each(function (cellSel) {\n              var boxes = cellSel.boxes().getOr([]);\n              if (boxes.length > 1 || boxes.length === 1 && !eq(start, finish)) {\n                annotations.selectRange(container, boxes, cellSel.start(), cellSel.finish());\n                bridge.selectContents(finish);\n              }\n            });\n          });\n        });\n      };\n      var mouseup = function () {\n        cursor.each(clearState);\n      };\n      return {\n        mousedown: mousedown,\n        mouseover: mouseover,\n        mouseup: mouseup\n      };\n    }\n\n    var KeyDirection = {\n      down: {\n        traverse: nextSibling,\n        gather: DomGather.after,\n        relative: Situ.before,\n        otherRetry: Retries.tryDown,\n        ieRetry: Retries.ieTryDown,\n        failure: BeforeAfter.adt.failedDown\n      },\n      up: {\n        traverse: prevSibling,\n        gather: DomGather.before,\n        relative: Situ.before,\n        otherRetry: Retries.tryUp,\n        ieRetry: Retries.ieTryUp,\n        failure: BeforeAfter.adt.failedUp\n      }\n    };\n\n    var rc = Immutable('rows', 'cols');\n    var mouse = function (win, container, isRoot, annotations) {\n      var bridge = WindowBridge(win);\n      var handlers = MouseSelection(bridge, container, isRoot, annotations);\n      return {\n        mousedown: handlers.mousedown,\n        mouseover: handlers.mouseover,\n        mouseup: handlers.mouseup\n      };\n    };\n    var keyboard = function (win, container, isRoot, annotations) {\n      var bridge = WindowBridge(win);\n      var clearToNavigate = function () {\n        annotations.clear(container);\n        return Option.none();\n      };\n      var keydown = function (event, start, soffset, finish, foffset, direction) {\n        var keycode = event.raw().which;\n        var shiftKey = event.raw().shiftKey === true;\n        var handler = CellSelection.retrieve(container, annotations.selectedSelector()).fold(function () {\n          if (SelectionKeys.isDown(keycode) && shiftKey) {\n            return curry(VerticalMovement.select, bridge, container, isRoot, KeyDirection.down, finish, start, annotations.selectRange);\n          } else if (SelectionKeys.isUp(keycode) && shiftKey) {\n            return curry(VerticalMovement.select, bridge, container, isRoot, KeyDirection.up, finish, start, annotations.selectRange);\n          } else if (SelectionKeys.isDown(keycode)) {\n            return curry(VerticalMovement.navigate, bridge, isRoot, KeyDirection.down, finish, start, VerticalMovement.lastDownCheck);\n          } else if (SelectionKeys.isUp(keycode)) {\n            return curry(VerticalMovement.navigate, bridge, isRoot, KeyDirection.up, finish, start, VerticalMovement.firstUpCheck);\n          } else {\n            return Option.none;\n          }\n        }, function (selected) {\n          var update = function (attempts) {\n            return function () {\n              var navigation = findMap(attempts, function (delta) {\n                return KeySelection.update(delta.rows(), delta.cols(), container, selected, annotations);\n              });\n              return navigation.fold(function () {\n                return CellSelection.getEdges(container, annotations.firstSelectedSelector(), annotations.lastSelectedSelector()).map(function (edges) {\n                  var relative = SelectionKeys.isDown(keycode) || direction.isForward(keycode) ? Situ.after : Situ.before;\n                  bridge.setRelativeSelection(Situ.on(edges.first(), 0), relative(edges.table()));\n                  annotations.clear(container);\n                  return Responses.response(Option.none(), true);\n                });\n              }, function (_) {\n                return Option.some(Responses.response(Option.none(), true));\n              });\n            };\n          };\n          if (SelectionKeys.isDown(keycode) && shiftKey)\n            return update([rc(+1, 0)]);\n          else if (SelectionKeys.isUp(keycode) && shiftKey)\n            return update([rc(-1, 0)]);\n          else if (direction.isBackward(keycode) && shiftKey)\n            return update([\n              rc(0, -1),\n              rc(-1, 0)\n            ]);\n          else if (direction.isForward(keycode) && shiftKey)\n            return update([\n              rc(0, +1),\n              rc(+1, 0)\n            ]);\n          else if (SelectionKeys.isNavigation(keycode) && shiftKey === false)\n            return clearToNavigate;\n          else\n            return Option.none;\n        });\n        return handler();\n      };\n      var keyup = function (event, start, soffset, finish, foffset) {\n        return CellSelection.retrieve(container, annotations.selectedSelector()).fold(function () {\n          var keycode = event.raw().which;\n          var shiftKey = event.raw().shiftKey === true;\n          if (shiftKey === false)\n            return Option.none();\n          if (SelectionKeys.isNavigation(keycode))\n            return KeySelection.sync(container, isRoot, start, soffset, finish, foffset, annotations.selectRange);\n          else\n            return Option.none();\n        }, Option.none);\n      };\n      return {\n        keydown: keydown,\n        keyup: keyup\n      };\n    };\n    var InputHandlers = {\n      mouse: mouse,\n      keyboard: keyboard\n    };\n\n    var remove$7 = function (element, classes) {\n      each(classes, function (x) {\n        remove$5(element, x);\n      });\n    };\n\n    var addClass = function (clazz) {\n      return function (element) {\n        add$2(element, clazz);\n      };\n    };\n    var removeClasses = function (classes) {\n      return function (element) {\n        remove$7(element, classes);\n      };\n    };\n\n    var byClass = function (ephemera) {\n      var addSelectionClass = addClass(ephemera.selected());\n      var removeSelectionClasses = removeClasses([\n        ephemera.selected(),\n        ephemera.lastSelected(),\n        ephemera.firstSelected()\n      ]);\n      var clear = function (container) {\n        var sels = descendants$1(container, ephemera.selectedSelector());\n        each(sels, removeSelectionClasses);\n      };\n      var selectRange = function (container, cells, start, finish) {\n        clear(container);\n        each(cells, addSelectionClass);\n        add$2(start, ephemera.firstSelected());\n        add$2(finish, ephemera.lastSelected());\n      };\n      return {\n        clear: clear,\n        selectRange: selectRange,\n        selectedSelector: ephemera.selectedSelector,\n        firstSelectedSelector: ephemera.firstSelectedSelector,\n        lastSelectedSelector: ephemera.lastSelectedSelector\n      };\n    };\n    var byAttr = function (ephemera) {\n      var removeSelectionAttributes = function (element) {\n        remove(element, ephemera.selected());\n        remove(element, ephemera.firstSelected());\n        remove(element, ephemera.lastSelected());\n      };\n      var addSelectionAttribute = function (element) {\n        set(element, ephemera.selected(), '1');\n      };\n      var clear = function (container) {\n        var sels = descendants$1(container, ephemera.selectedSelector());\n        each(sels, removeSelectionAttributes);\n      };\n      var selectRange = function (container, cells, start, finish) {\n        clear(container);\n        each(cells, addSelectionAttribute);\n        set(start, ephemera.firstSelected(), '1');\n        set(finish, ephemera.lastSelected(), '1');\n      };\n      return {\n        clear: clear,\n        selectRange: selectRange,\n        selectedSelector: ephemera.selectedSelector,\n        firstSelectedSelector: ephemera.firstSelectedSelector,\n        lastSelectedSelector: ephemera.lastSelectedSelector\n      };\n    };\n    var SelectionAnnotation = {\n      byClass: byClass,\n      byAttr: byAttr\n    };\n\n    var hasInternalTarget = function (e) {\n      return has$2(Element$$1.fromDom(e.target), 'ephox-snooker-resizer-bar') === false;\n    };\n    function CellSelection$1 (editor, lazyResize) {\n      var handlerStruct = MixedBag([\n        'mousedown',\n        'mouseover',\n        'mouseup',\n        'keyup',\n        'keydown'\n      ], []);\n      var handlers = Option.none();\n      var annotations = SelectionAnnotation.byAttr(Ephemera);\n      editor.on('init', function (e) {\n        var win = editor.getWin();\n        var body = getBody$1(editor);\n        var isRoot = getIsRoot(editor);\n        var syncSelection = function () {\n          var sel = editor.selection;\n          var start = Element$$1.fromDom(sel.getStart());\n          var end = Element$$1.fromDom(sel.getEnd());\n          var shared = DomParent.sharedOne(TableLookup.table, [\n            start,\n            end\n          ]);\n          shared.fold(function () {\n            annotations.clear(body);\n          }, noop);\n        };\n        var mouseHandlers = InputHandlers.mouse(win, body, isRoot, annotations);\n        var keyHandlers = InputHandlers.keyboard(win, body, isRoot, annotations);\n        var hasShiftKey = function (event) {\n          return event.raw().shiftKey === true;\n        };\n        var handleResponse = function (event, response) {\n          if (!hasShiftKey(event)) {\n            return;\n          }\n          if (response.kill()) {\n            event.kill();\n          }\n          response.selection().each(function (ns) {\n            var relative = relative$1(ns.start(), ns.finish());\n            var rng = asLtrRange(win, relative);\n            editor.selection.setRng(rng);\n          });\n        };\n        var keyup = function (event) {\n          var wrappedEvent = wrapEvent(event);\n          if (wrappedEvent.raw().shiftKey && SelectionKeys.isNavigation(wrappedEvent.raw().which)) {\n            var rng = editor.selection.getRng();\n            var start = Element$$1.fromDom(rng.startContainer);\n            var end = Element$$1.fromDom(rng.endContainer);\n            keyHandlers.keyup(wrappedEvent, start, rng.startOffset, end, rng.endOffset).each(function (response) {\n              handleResponse(wrappedEvent, response);\n            });\n          }\n        };\n        var keydown = function (event) {\n          var wrappedEvent = wrapEvent(event);\n          lazyResize().each(function (resize) {\n            resize.hideBars();\n          });\n          var rng = editor.selection.getRng();\n          var startContainer = Element$$1.fromDom(editor.selection.getStart());\n          var start = Element$$1.fromDom(rng.startContainer);\n          var end = Element$$1.fromDom(rng.endContainer);\n          var direction = Direction.directionAt(startContainer).isRtl() ? SelectionKeys.rtl : SelectionKeys.ltr;\n          keyHandlers.keydown(wrappedEvent, start, rng.startOffset, end, rng.endOffset, direction).each(function (response) {\n            handleResponse(wrappedEvent, response);\n          });\n          lazyResize().each(function (resize) {\n            resize.showBars();\n          });\n        };\n        var isMouseEvent = function (event) {\n          return event.hasOwnProperty('x') && event.hasOwnProperty('y');\n        };\n        var wrapEvent = function (event) {\n          var target = Element$$1.fromDom(event.target);\n          var stop = function () {\n            event.stopPropagation();\n          };\n          var prevent = function () {\n            event.preventDefault();\n          };\n          var kill = compose(prevent, stop);\n          return {\n            target: constant(target),\n            x: constant(isMouseEvent(event) ? event.x : null),\n            y: constant(isMouseEvent(event) ? event.y : null),\n            stop: stop,\n            prevent: prevent,\n            kill: kill,\n            raw: constant(event)\n          };\n        };\n        var isLeftMouse = function (raw) {\n          return raw.button === 0;\n        };\n        var isLeftButtonPressed = function (raw) {\n          if (raw.buttons === undefined) {\n            return true;\n          }\n          return (raw.buttons & 1) !== 0;\n        };\n        var mouseDown = function (e) {\n          if (isLeftMouse(e) && hasInternalTarget(e)) {\n            mouseHandlers.mousedown(wrapEvent(e));\n          }\n        };\n        var mouseOver = function (e) {\n          if (isLeftButtonPressed(e) && hasInternalTarget(e)) {\n            mouseHandlers.mouseover(wrapEvent(e));\n          }\n        };\n        var mouseUp = function (e) {\n          if (isLeftMouse(e) && hasInternalTarget(e)) {\n            mouseHandlers.mouseup(wrapEvent(e));\n          }\n        };\n        editor.on('mousedown', mouseDown);\n        editor.on('mouseover', mouseOver);\n        editor.on('mouseup', mouseUp);\n        editor.on('keyup', keyup);\n        editor.on('keydown', keydown);\n        editor.on('nodechange', syncSelection);\n        handlers = Option.some(handlerStruct({\n          mousedown: mouseDown,\n          mouseover: mouseOver,\n          mouseup: mouseUp,\n          keyup: keyup,\n          keydown: keydown\n        }));\n      });\n      var destroy = function () {\n        handlers.each(function (handlers) {\n        });\n      };\n      return {\n        clear: annotations.clear,\n        destroy: destroy\n      };\n    }\n\n    var Selections = function (editor) {\n      var get = function () {\n        var body = getBody$1(editor);\n        return TableSelection.retrieve(body, Ephemera.selectedSelector()).fold(function () {\n          if (editor.selection.getStart() === undefined) {\n            return SelectionTypes.none();\n          } else {\n            return SelectionTypes.single(editor.selection);\n          }\n        }, function (cells) {\n          return SelectionTypes.multiple(cells);\n        });\n      };\n      return { get: get };\n    };\n\n    var each$4 = global$1.each;\n    var addButtons = function (editor) {\n      var menuItems = [];\n      each$4('inserttable tableprops deletetable | cell row column'.split(' '), function (name) {\n        if (name === '|') {\n          menuItems.push({ text: '-' });\n        } else {\n          menuItems.push(editor.menuItems[name]);\n        }\n      });\n      editor.addButton('table', {\n        type: 'menubutton',\n        title: 'Table',\n        menu: menuItems\n      });\n      function cmd(command) {\n        return function () {\n          editor.execCommand(command);\n        };\n      }\n      editor.addButton('tableprops', {\n        title: 'Table properties',\n        onclick: cmd('mceTableProps'),\n        icon: 'table'\n      });\n      editor.addButton('tabledelete', {\n        title: 'Delete table',\n        onclick: cmd('mceTableDelete')\n      });\n      editor.addButton('tablecellprops', {\n        title: 'Cell properties',\n        onclick: cmd('mceTableCellProps')\n      });\n      editor.addButton('tablemergecells', {\n        title: 'Merge cells',\n        onclick: cmd('mceTableMergeCells')\n      });\n      editor.addButton('tablesplitcells', {\n        title: 'Split cell',\n        onclick: cmd('mceTableSplitCells')\n      });\n      editor.addButton('tableinsertrowbefore', {\n        title: 'Insert row before',\n        onclick: cmd('mceTableInsertRowBefore')\n      });\n      editor.addButton('tableinsertrowafter', {\n        title: 'Insert row after',\n        onclick: cmd('mceTableInsertRowAfter')\n      });\n      editor.addButton('tabledeleterow', {\n        title: 'Delete row',\n        onclick: cmd('mceTableDeleteRow')\n      });\n      editor.addButton('tablerowprops', {\n        title: 'Row properties',\n        onclick: cmd('mceTableRowProps')\n      });\n      editor.addButton('tablecutrow', {\n        title: 'Cut row',\n        onclick: cmd('mceTableCutRow')\n      });\n      editor.addButton('tablecopyrow', {\n        title: 'Copy row',\n        onclick: cmd('mceTableCopyRow')\n      });\n      editor.addButton('tablepasterowbefore', {\n        title: 'Paste row before',\n        onclick: cmd('mceTablePasteRowBefore')\n      });\n      editor.addButton('tablepasterowafter', {\n        title: 'Paste row after',\n        onclick: cmd('mceTablePasteRowAfter')\n      });\n      editor.addButton('tableinsertcolbefore', {\n        title: 'Insert column before',\n        onclick: cmd('mceTableInsertColBefore')\n      });\n      editor.addButton('tableinsertcolafter', {\n        title: 'Insert column after',\n        onclick: cmd('mceTableInsertColAfter')\n      });\n      editor.addButton('tabledeletecol', {\n        title: 'Delete column',\n        onclick: cmd('mceTableDeleteCol')\n      });\n    };\n    var addToolbars = function (editor) {\n      var isTable = function (table) {\n        var selectorMatched = editor.dom.is(table, 'table') && editor.getBody().contains(table);\n        return selectorMatched;\n      };\n      var toolbar = getToolbar(editor);\n      if (toolbar.length > 0) {\n        editor.addContextToolbar(isTable, toolbar.join(' '));\n      }\n    };\n    var Buttons = {\n      addButtons: addButtons,\n      addToolbars: addToolbars\n    };\n\n    var addMenuItems = function (editor, selections) {\n      var targets = Option.none();\n      var tableCtrls = [];\n      var cellCtrls = [];\n      var mergeCtrls = [];\n      var unmergeCtrls = [];\n      var noTargetDisable = function (ctrl) {\n        ctrl.disabled(true);\n      };\n      var ctrlEnable = function (ctrl) {\n        ctrl.disabled(false);\n      };\n      var pushTable = function () {\n        var self = this;\n        tableCtrls.push(self);\n        targets.fold(function () {\n          noTargetDisable(self);\n        }, function (targets) {\n          ctrlEnable(self);\n        });\n      };\n      var pushCell = function () {\n        var self = this;\n        cellCtrls.push(self);\n        targets.fold(function () {\n          noTargetDisable(self);\n        }, function (targets) {\n          ctrlEnable(self);\n        });\n      };\n      var pushMerge = function () {\n        var self = this;\n        mergeCtrls.push(self);\n        targets.fold(function () {\n          noTargetDisable(self);\n        }, function (targets) {\n          self.disabled(targets.mergable().isNone());\n        });\n      };\n      var pushUnmerge = function () {\n        var self = this;\n        unmergeCtrls.push(self);\n        targets.fold(function () {\n          noTargetDisable(self);\n        }, function (targets) {\n          self.disabled(targets.unmergable().isNone());\n        });\n      };\n      var setDisabledCtrls = function () {\n        targets.fold(function () {\n          each(tableCtrls, noTargetDisable);\n          each(cellCtrls, noTargetDisable);\n          each(mergeCtrls, noTargetDisable);\n          each(unmergeCtrls, noTargetDisable);\n        }, function (targets) {\n          each(tableCtrls, ctrlEnable);\n          each(cellCtrls, ctrlEnable);\n          each(mergeCtrls, function (mergeCtrl) {\n            mergeCtrl.disabled(targets.mergable().isNone());\n          });\n          each(unmergeCtrls, function (unmergeCtrl) {\n            unmergeCtrl.disabled(targets.unmergable().isNone());\n          });\n        });\n      };\n      editor.on('init', function () {\n        editor.on('nodechange', function (e) {\n          var cellOpt = Option.from(editor.dom.getParent(editor.selection.getStart(), 'th,td'));\n          targets = cellOpt.bind(function (cellDom) {\n            var cell = Element$$1.fromDom(cellDom);\n            var table = TableLookup.table(cell);\n            return table.map(function (table) {\n              return TableTargets.forMenu(selections, table, cell);\n            });\n          });\n          setDisabledCtrls();\n        });\n      });\n      var generateTableGrid = function () {\n        var html = '';\n        html = '<table role=\"grid\" class=\"mce-grid mce-grid-border\" aria-readonly=\"true\">';\n        for (var y = 0; y < 10; y++) {\n          html += '<tr>';\n          for (var x = 0; x < 10; x++) {\n            html += '<td role=\"gridcell\" tabindex=\"-1\"><a id=\"mcegrid' + (y * 10 + x) + '\" href=\"#\" ' + 'data-mce-x=\"' + x + '\" data-mce-y=\"' + y + '\"></a></td>';\n          }\n          html += '</tr>';\n        }\n        html += '</table>';\n        html += '<div class=\"mce-text-center\" role=\"presentation\">1 x 1</div>';\n        return html;\n      };\n      var selectGrid = function (editor, tx, ty, control) {\n        var table = control.getEl().getElementsByTagName('table')[0];\n        var x, y, focusCell, cell, active;\n        var rtl = control.isRtl() || control.parent().rel === 'tl-tr';\n        table.nextSibling.innerHTML = tx + 1 + ' x ' + (ty + 1);\n        if (rtl) {\n          tx = 9 - tx;\n        }\n        for (y = 0; y < 10; y++) {\n          for (x = 0; x < 10; x++) {\n            cell = table.rows[y].childNodes[x].firstChild;\n            active = (rtl ? x >= tx : x <= tx) && y <= ty;\n            editor.dom.toggleClass(cell, 'mce-active', active);\n            if (active) {\n              focusCell = cell;\n            }\n          }\n        }\n        return focusCell.parentNode;\n      };\n      var insertTable = hasTableGrid(editor) === false ? {\n        text: 'Table',\n        icon: 'table',\n        context: 'table',\n        onclick: cmd('mceInsertTable')\n      } : {\n        text: 'Table',\n        icon: 'table',\n        context: 'table',\n        ariaHideMenu: true,\n        onclick: function (e) {\n          if (e.aria) {\n            this.parent().hideAll();\n            e.stopImmediatePropagation();\n            editor.execCommand('mceInsertTable');\n          }\n        },\n        onshow: function () {\n          selectGrid(editor, 0, 0, this.menu.items()[0]);\n        },\n        onhide: function () {\n          var elements = this.menu.items()[0].getEl().getElementsByTagName('a');\n          editor.dom.removeClass(elements, 'mce-active');\n          editor.dom.addClass(elements[0], 'mce-active');\n        },\n        menu: [{\n            type: 'container',\n            html: generateTableGrid(),\n            onPostRender: function () {\n              this.lastX = this.lastY = 0;\n            },\n            onmousemove: function (e) {\n              var target = e.target;\n              var x, y;\n              if (target.tagName.toUpperCase() === 'A') {\n                x = parseInt(target.getAttribute('data-mce-x'), 10);\n                y = parseInt(target.getAttribute('data-mce-y'), 10);\n                if (this.isRtl() || this.parent().rel === 'tl-tr') {\n                  x = 9 - x;\n                }\n                if (x !== this.lastX || y !== this.lastY) {\n                  selectGrid(editor, x, y, e.control);\n                  this.lastX = x;\n                  this.lastY = y;\n                }\n              }\n            },\n            onclick: function (e) {\n              var self = this;\n              if (e.target.tagName.toUpperCase() === 'A') {\n                e.preventDefault();\n                e.stopPropagation();\n                self.parent().cancel();\n                editor.undoManager.transact(function () {\n                  InsertTable.insert(editor, self.lastX + 1, self.lastY + 1);\n                });\n                editor.addVisual();\n              }\n            }\n          }]\n      };\n      function cmd(command) {\n        return function () {\n          editor.execCommand(command);\n        };\n      }\n      var tableProperties = {\n        text: 'Table properties',\n        context: 'table',\n        onPostRender: pushTable,\n        onclick: cmd('mceTableProps')\n      };\n      var deleteTable = {\n        text: 'Delete table',\n        context: 'table',\n        onPostRender: pushTable,\n        cmd: 'mceTableDelete'\n      };\n      var row = {\n        text: 'Row',\n        context: 'table',\n        menu: [\n          {\n            text: 'Insert row before',\n            onclick: cmd('mceTableInsertRowBefore'),\n            onPostRender: pushCell\n          },\n          {\n            text: 'Insert row after',\n            onclick: cmd('mceTableInsertRowAfter'),\n            onPostRender: pushCell\n          },\n          {\n            text: 'Delete row',\n            onclick: cmd('mceTableDeleteRow'),\n            onPostRender: pushCell\n          },\n          {\n            text: 'Row properties',\n            onclick: cmd('mceTableRowProps'),\n            onPostRender: pushCell\n          },\n          { text: '-' },\n          {\n            text: 'Cut row',\n            onclick: cmd('mceTableCutRow'),\n            onPostRender: pushCell\n          },\n          {\n            text: 'Copy row',\n            onclick: cmd('mceTableCopyRow'),\n            onPostRender: pushCell\n          },\n          {\n            text: 'Paste row before',\n            onclick: cmd('mceTablePasteRowBefore'),\n            onPostRender: pushCell\n          },\n          {\n            text: 'Paste row after',\n            onclick: cmd('mceTablePasteRowAfter'),\n            onPostRender: pushCell\n          }\n        ]\n      };\n      var column = {\n        text: 'Column',\n        context: 'table',\n        menu: [\n          {\n            text: 'Insert column before',\n            onclick: cmd('mceTableInsertColBefore'),\n            onPostRender: pushCell\n          },\n          {\n            text: 'Insert column after',\n            onclick: cmd('mceTableInsertColAfter'),\n            onPostRender: pushCell\n          },\n          {\n            text: 'Delete column',\n            onclick: cmd('mceTableDeleteCol'),\n            onPostRender: pushCell\n          }\n        ]\n      };\n      var cell = {\n        separator: 'before',\n        text: 'Cell',\n        context: 'table',\n        menu: [\n          {\n            text: 'Cell properties',\n            onclick: cmd('mceTableCellProps'),\n            onPostRender: pushCell\n          },\n          {\n            text: 'Merge cells',\n            onclick: cmd('mceTableMergeCells'),\n            onPostRender: pushMerge\n          },\n          {\n            text: 'Split cell',\n            onclick: cmd('mceTableSplitCells'),\n            onPostRender: pushUnmerge\n          }\n        ]\n      };\n      editor.addMenuItem('inserttable', insertTable);\n      editor.addMenuItem('tableprops', tableProperties);\n      editor.addMenuItem('deletetable', deleteTable);\n      editor.addMenuItem('row', row);\n      editor.addMenuItem('column', column);\n      editor.addMenuItem('cell', cell);\n    };\n    var MenuItems = { addMenuItems: addMenuItems };\n\n    var getClipboardRows = function (clipboardRows) {\n      return clipboardRows.get().fold(function () {\n        return;\n      }, function (rows) {\n        return map(rows, function (row) {\n          return row.dom();\n        });\n      });\n    };\n    var setClipboardRows = function (rows, clipboardRows) {\n      var sugarRows = map(rows, Element$$1.fromDom);\n      clipboardRows.set(Option.from(sugarRows));\n    };\n    var getApi = function (editor, clipboardRows) {\n      return {\n        insertTable: function (columns, rows) {\n          return InsertTable.insert(editor, columns, rows);\n        },\n        setClipboardRows: function (rows) {\n          return setClipboardRows(rows, clipboardRows);\n        },\n        getClipboardRows: function () {\n          return getClipboardRows(clipboardRows);\n        }\n      };\n    };\n\n    function Plugin(editor) {\n      var resizeHandler = ResizeHandler(editor);\n      var cellSelection = CellSelection$1(editor, resizeHandler.lazyResize);\n      var actions = TableActions(editor, resizeHandler.lazyWire);\n      var selections = Selections(editor);\n      var clipboardRows = Cell(Option.none());\n      Commands.registerCommands(editor, actions, cellSelection, selections, clipboardRows);\n      Clipboard.registerEvents(editor, selections, actions, cellSelection);\n      MenuItems.addMenuItems(editor, selections);\n      Buttons.addButtons(editor);\n      Buttons.addToolbars(editor);\n      editor.on('PreInit', function () {\n        editor.serializer.addTempAttr(Ephemera.firstSelected());\n        editor.serializer.addTempAttr(Ephemera.lastSelected());\n      });\n      if (hasTabNavigation(editor)) {\n        editor.on('keydown', function (e) {\n          TabContext.handle(e, editor, actions, resizeHandler.lazyWire);\n        });\n      }\n      editor.on('remove', function () {\n        resizeHandler.destroy();\n        cellSelection.destroy();\n      });\n      return getApi(editor, clipboardRows);\n    }\n    global.add('table', Plugin);\n    function Plugin$1 () {\n    }\n\n    return Plugin$1;\n\n}());\n})();\n\n}.call(window));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/tinymce/plugins/table/plugin.js\n// module id = BzBW/n5jRZ\n// module chunks = 2 3 28 35 44 54 73 85 102","\n    define(['i18nObj', 'translations/assignments.assignment_group_list_item', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('assignments.assignment_group_list_item')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?assignments.assignment_group_list_item!./public/javascripts/dummyI18nResource.js\n// module id = CNQ3AEjlhL\n// module chunks = 54","#\n# Copyright (C) 2011 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n#\ndefine [\n  'jquery'\n  'underscore'\n  'Backbone'\n  '../SortableCollectionView'\n  './AssignmentGroupListItemView'\n  'jst/assignments/AssignmentGroupList'\n  'jst/assignments/NoAssignmentsListItem'\n], ($, _, Backbone, SortableCollectionView, AssignmentGroupListItemView, template, NoAssignmentsListItem) ->\n\n  class AssignmentGroupListView extends SortableCollectionView\n    @optionProperty 'course'\n    @optionProperty 'userIsAdmin'\n\n    template: template\n    itemView: AssignmentGroupListItemView\n\n    @optionProperty 'assignment_sort_base_url'\n\n    render: =>\n      super(ENV.PERMISSIONS.manage)\n\n    renderItem: (model) =>\n      view = super\n      model.groupView.collapseIfNeeded()\n      view\n\n    createItemView: (model) ->\n      options =\n        parentCollection: @collection\n        childKey: 'assignments'\n        groupKey: 'assignment_group_id'\n        groupId: model.id\n        reorderURL: @createReorderURL(model.id)\n        noItemTemplate: NoAssignmentsListItem\n        userIsAdmin: @userIsAdmin\n      new @itemView $.extend {}, (@itemViewOptions || {}), {model}, options\n\n    createReorderURL: (id) ->\n      @assignment_sort_base_url + \"/\" + id + \"/reorder\"\n\n    # TODO: make menu a child view of listitem so that it can be rendered\n    # by itself, and so it can manage all of the dialog stuff,\n    # when that happens, this can be removed\n    attachCollection: ->\n      super\n      @itemViewOptions = course: @course\n      @collection.on 'render', @render\n      @collection.on 'add', @renderIfLoaded\n      @collection.on 'remove', @render\n      @collection.on 'change:groupWeights', @render\n\n    renderIfLoaded: =>\n      if @collection.loadedAll\n        @render()\n\n    renderOnReset: =>\n      @firstResetLanded = true\n      super\n\n    toJSON: ->\n      data = super\n      _.extend({}, data,\n        firstResetLanded: @firstResetLanded\n      )\n\n    _initSort: ->\n      super\n      @$list.on('sortstart', @collapse)\n      @$list.on('sortstop', @expand)\n\n    handleExtraClick: (e) =>\n      e.stopImmediatePropagation()\n      $(e.target).off('click', @handleExtraClick)\n\n    collapse: (e, ui) =>\n      item = ui.item\n      id = item.children(\":first\").attr('data-id')\n      item.find(\"#assignment_group_#{id}_assignments\").slideUp(100)\n      ui.item.css(\"height\", \"auto\")\n      $toggler = item.find('.element_toggler').first()\n      arrow = $toggler.find('i').first()\n      arrow.removeClass('icon-mini-arrow-down').addClass('icon-mini-arrow-right')\n\n    expand: (e, ui) =>\n      item = ui.item\n      $toggler = item.find('.element_toggler').first()\n      # FF triggers an extra click when you drop the item, so we want to handle it here\n      $toggler.on('click', @handleExtraClick)\n\n      # remove the extra click handler for browsers that don't trigger the extra click\n      setTimeout(=>\n        $toggler.off('click', @handleExtraClick)\n      , 50)\n\n      id = item.children(\":first\").attr('data-id')\n      ag = @collection.findWhere id: id\n      if ag && ag.groupView.shouldBeExpanded()\n        item.find(\"#assignment_group_#{id}_assignments\").slideDown(100)\n        arrow = $toggler.find('i').first()\n        arrow.addClass('icon-mini-arrow-down').removeClass('icon-mini-arrow-right')\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/views/assignments/AssignmentGroupListView.coffee","\n    define('jst/_sisButton', [\"handlebars/runtime\",\"coffeescripts/handlebars_helpers.coffee\"], function(Handlebars){\n      Handlebars = Handlebars.default\n      var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};\n      var name = '-sisButton';\n      templates[name] = template(function (Handlebars,depth0,helpers,partials,data) {\n  this.compilerInfo = [4,'>= 1.0.0'];\nhelpers = this.merge(helpers, Handlebars.helpers); data = data || {};\n  var buffer = \"\", stack1, helper, functionType=\"function\", escapeExpression=this.escapeExpression;\n\n\n  buffer += \"<span class=\\\"post-to-sis-status\\\">\\n    <label class=\\\"screenreader-only\\\" aria-pressed=\\\"\";\n  if (helper = helpers.postToSIS) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.postToSIS); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\"></label>\\n    <input type='image' class='icon-post-to-sis' data-tooltip/>\\n</span>\\n\";\n  return buffer;\n  });\n      \n      Handlebars.registerPartial('sisButton', templates['-sisButton']);\n    ;\n      ;\n      return templates[name];\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./app/views/jst/_sisButton.handlebars\n// module id = CQDJVxni1X\n// module chunks = 54 73","/*** IMPORTS FROM imports-loader ***/\n(function() {\n\n(function () {\nvar autolink = (function () {\n    'use strict';\n\n    var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.Env');\n\n    var getAutoLinkPattern = function (editor) {\n      return editor.getParam('autolink_pattern', /^(https?:\\/\\/|ssh:\\/\\/|ftp:\\/\\/|file:\\/|www\\.|(?:mailto:)?[A-Z0-9._%+\\-]+@)(.+)$/i);\n    };\n    var getDefaultLinkTarget = function (editor) {\n      return editor.getParam('default_link_target', '');\n    };\n    var Settings = {\n      getAutoLinkPattern: getAutoLinkPattern,\n      getDefaultLinkTarget: getDefaultLinkTarget\n    };\n\n    var rangeEqualsDelimiterOrSpace = function (rangeString, delimiter) {\n      return rangeString === delimiter || rangeString === ' ' || rangeString.charCodeAt(0) === 160;\n    };\n    var handleEclipse = function (editor) {\n      parseCurrentLine(editor, -1, '(');\n    };\n    var handleSpacebar = function (editor) {\n      parseCurrentLine(editor, 0, '');\n    };\n    var handleEnter = function (editor) {\n      parseCurrentLine(editor, -1, '');\n    };\n    var scopeIndex = function (container, index) {\n      if (index < 0) {\n        index = 0;\n      }\n      if (container.nodeType === 3) {\n        var len = container.data.length;\n        if (index > len) {\n          index = len;\n        }\n      }\n      return index;\n    };\n    var setStart = function (rng, container, offset) {\n      if (container.nodeType !== 1 || container.hasChildNodes()) {\n        rng.setStart(container, scopeIndex(container, offset));\n      } else {\n        rng.setStartBefore(container);\n      }\n    };\n    var setEnd = function (rng, container, offset) {\n      if (container.nodeType !== 1 || container.hasChildNodes()) {\n        rng.setEnd(container, scopeIndex(container, offset));\n      } else {\n        rng.setEndAfter(container);\n      }\n    };\n    var parseCurrentLine = function (editor, endOffset, delimiter) {\n      var rng, end, start, endContainer, bookmark, text, matches, prev, len, rngText;\n      var autoLinkPattern = Settings.getAutoLinkPattern(editor);\n      var defaultLinkTarget = Settings.getDefaultLinkTarget(editor);\n      if (editor.selection.getNode().tagName === 'A') {\n        return;\n      }\n      rng = editor.selection.getRng(true).cloneRange();\n      if (rng.startOffset < 5) {\n        prev = rng.endContainer.previousSibling;\n        if (!prev) {\n          if (!rng.endContainer.firstChild || !rng.endContainer.firstChild.nextSibling) {\n            return;\n          }\n          prev = rng.endContainer.firstChild.nextSibling;\n        }\n        len = prev.length;\n        setStart(rng, prev, len);\n        setEnd(rng, prev, len);\n        if (rng.endOffset < 5) {\n          return;\n        }\n        end = rng.endOffset;\n        endContainer = prev;\n      } else {\n        endContainer = rng.endContainer;\n        if (endContainer.nodeType !== 3 && endContainer.firstChild) {\n          while (endContainer.nodeType !== 3 && endContainer.firstChild) {\n            endContainer = endContainer.firstChild;\n          }\n          if (endContainer.nodeType === 3) {\n            setStart(rng, endContainer, 0);\n            setEnd(rng, endContainer, endContainer.nodeValue.length);\n          }\n        }\n        if (rng.endOffset === 1) {\n          end = 2;\n        } else {\n          end = rng.endOffset - 1 - endOffset;\n        }\n      }\n      start = end;\n      do {\n        setStart(rng, endContainer, end >= 2 ? end - 2 : 0);\n        setEnd(rng, endContainer, end >= 1 ? end - 1 : 0);\n        end -= 1;\n        rngText = rng.toString();\n      } while (rngText !== ' ' && rngText !== '' && rngText.charCodeAt(0) !== 160 && end - 2 >= 0 && rngText !== delimiter);\n      if (rangeEqualsDelimiterOrSpace(rng.toString(), delimiter)) {\n        setStart(rng, endContainer, end);\n        setEnd(rng, endContainer, start);\n        end += 1;\n      } else if (rng.startOffset === 0) {\n        setStart(rng, endContainer, 0);\n        setEnd(rng, endContainer, start);\n      } else {\n        setStart(rng, endContainer, end);\n        setEnd(rng, endContainer, start);\n      }\n      text = rng.toString();\n      if (text.charAt(text.length - 1) === '.') {\n        setEnd(rng, endContainer, start - 1);\n      }\n      text = rng.toString().trim();\n      matches = text.match(autoLinkPattern);\n      if (matches) {\n        if (matches[1] === 'www.') {\n          matches[1] = 'http://www.';\n        } else if (/@$/.test(matches[1]) && !/^mailto:/.test(matches[1])) {\n          matches[1] = 'mailto:' + matches[1];\n        }\n        bookmark = editor.selection.getBookmark();\n        editor.selection.setRng(rng);\n        editor.execCommand('createlink', false, matches[1] + matches[2]);\n        if (defaultLinkTarget) {\n          editor.dom.setAttrib(editor.selection.getNode(), 'target', defaultLinkTarget);\n        }\n        editor.selection.moveToBookmark(bookmark);\n        editor.nodeChanged();\n      }\n    };\n    var setup = function (editor) {\n      var autoUrlDetectState;\n      editor.on('keydown', function (e) {\n        if (e.keyCode === 13) {\n          return handleEnter(editor);\n        }\n      });\n      if (global$1.ie) {\n        editor.on('focus', function () {\n          if (!autoUrlDetectState) {\n            autoUrlDetectState = true;\n            try {\n              editor.execCommand('AutoUrlDetect', false, true);\n            } catch (ex) {\n            }\n          }\n        });\n        return;\n      }\n      editor.on('keypress', function (e) {\n        if (e.keyCode === 41) {\n          return handleEclipse(editor);\n        }\n      });\n      editor.on('keyup', function (e) {\n        if (e.keyCode === 32) {\n          return handleSpacebar(editor);\n        }\n      });\n    };\n    var Keys = { setup: setup };\n\n    global.add('autolink', function (editor) {\n      Keys.setup(editor);\n    });\n    function Plugin () {\n    }\n\n    return Plugin;\n\n}());\n})();\n\n}.call(window));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/tinymce/plugins/autolink/plugin.js\n// module id = Cqy2s5HHna\n// module chunks = 2 3 28 35 44 54 73 85 102","\n    define('jst/assignments/CreateAssignment', [\"handlebars/runtime\",\"i18n!assignments.create_assignment\",\"coffeescripts/handlebars_helpers.coffee\"], function(Handlebars){\n      Handlebars = Handlebars.default\n      var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};\n      var name = 'assignments/CreateAssignment';\n      templates[name] = template(function (Handlebars,depth0,helpers,partials,data) {\n  this.compilerInfo = [4,'>= 1.0.0'];\nhelpers = this.merge(helpers, Handlebars.helpers); data = data || {};\n  var buffer = \"\", stack1, helper, options, functionType=\"function\", escapeExpression=this.escapeExpression, helperMissing=helpers.helperMissing, self=this;\n\nfunction program1(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n    <div class=\\\"control-group\\\">\\n      <label class=\\\"control-label\\\" for=\\\"\";\n  if (helper = helpers.uniqLabel) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.uniqLabel); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_assignment_type\\\">\\n        \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.create_assignment\")\n  },data:data},helper ? helper.call(depth0, \"assignment_type\", \"Type:\", options) : helperMissing.call(depth0, \"t\", \"assignment_type\", \"Type:\", options)))\n    + \"\\n      </label>\\n      <div class=\\\"controls\\\">\\n        <select type=\\\"text\\\" id=\\\"\";\n  if (helper = helpers.uniqLabel) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.uniqLabel); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_assignment_type\\\" name=\\\"submission_types\\\">\\n          <option value=\\\"none\\\">\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.create_assignment\")\n  },data:data},helper ? helper.call(depth0, \"assignment\", \"Assignment\", options) : helperMissing.call(depth0, \"t\", \"assignment\", \"Assignment\", options)))\n    + \"</option>\\n          <option value=\\\"discussion_topic\\\">\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.create_assignment\")\n  },data:data},helper ? helper.call(depth0, \"discussion_type\", \"Discussion\", options) : helperMissing.call(depth0, \"t\", \"discussion_type\", \"Discussion\", options)))\n    + \"</option>\\n          <option value=\\\"online_quiz\\\">\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.create_assignment\")\n  },data:data},helper ? helper.call(depth0, \"quiz_type\", \"Quiz\", options) : helperMissing.call(depth0, \"t\", \"quiz_type\", \"Quiz\", options)))\n    + \"</option>\\n          <option value=\\\"external_tool\\\">\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.create_assignment\")\n  },data:data},helper ? helper.call(depth0, \"external_tool_type\", \"External Tool\", options) : helperMissing.call(depth0, \"t\", \"external_tool_type\", \"External Tool\", options)))\n    + \"</option>\\n          <option value=\\\"not_graded\\\">\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.create_assignment\")\n  },data:data},helper ? helper.call(depth0, \"not_graded_type\", \"Not Graded\", options) : helperMissing.call(depth0, \"t\", \"not_graded_type\", \"Not Graded\", options)))\n    + \"</option>\\n        </select>\\n      </div>\\n    </div>\\n    \";\n  return buffer;\n  }\n\nfunction program3(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n          <h3 id=\\\"\";\n  if (helper = helpers.uniqLabel) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.uniqLabel); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_assignment_name\\\">\";\n  if (helper = helpers.name) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.name); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"</h3>\\n          <input\\n            type=\\\"hidden\\\"\\n            name=\\\"name\\\"\\n            value=\\\"\";\n  if (helper = helpers.name) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.name); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\"\\n            \"\n    + escapeExpression((helper = helpers.disabledIfIncludes || (depth0 && depth0.disabledIfIncludes),options={hash:{},data:data},helper ? helper.call(depth0, (depth0 && depth0.frozenAttributes), \"title\", options) : helperMissing.call(depth0, \"disabledIfIncludes\", (depth0 && depth0.frozenAttributes), \"title\", options)))\n    + \"/>\\n        \";\n  return buffer;\n  }\n\nfunction program5(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n          <input\\n            id=\\\"\";\n  if (helper = helpers.uniqLabel) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.uniqLabel); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_assignment_name\\\"\\n            type=\";\n  stack1 = helpers['if'].call(depth0, ((stack1 = (depth0 && depth0.master_course_restrictions)),stack1 == null || stack1 === false ? stack1 : stack1.content), {hash:{},inverse:self.program(8, program8, data),fn:self.program(6, program6, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n            name=\\\"name\\\"\\n            value=\\\"\";\n  if (helper = helpers.name) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.name); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\"\\n            \"\n    + escapeExpression((helper = helpers.disabledIfIncludes || (depth0 && depth0.disabledIfIncludes),options={hash:{},data:data},helper ? helper.call(depth0, (depth0 && depth0.frozenAttributes), \"title\", options) : helperMissing.call(depth0, \"disabledIfIncludes\", (depth0 && depth0.frozenAttributes), \"title\", options)))\n    + \"/>\\n        \";\n  return buffer;\n  }\nfunction program6(depth0,data) {\n  \n  \n  return \"\\\"hidden\\\"\";\n  }\n\nfunction program8(depth0,data) {\n  \n  \n  return \"\\\"text\\\"\";\n  }\n\nfunction program10(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n    <div class=\\\"control-group\\\">\\n      <label class=\\\"control-label\\\" for=\\\"\";\n  if (helper = helpers.uniqLabel) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.uniqLabel); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_assignment_due_at\\\">\\n        \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.create_assignment\")\n  },data:data},helper ? helper.call(depth0, \"assignment_due_at\", \"Due:\", options) : helperMissing.call(depth0, \"t\", \"assignment_due_at\", \"Due:\", options)))\n    + \"\\n      </label>\\n      <div class=\\\"controls\\\">\\n      \";\n  stack1 = (helper = helpers.ifAny || (depth0 && depth0.ifAny),options={hash:{},inverse:self.program(21, program21, data),fn:self.program(11, program11, data),data:data},helper ? helper.call(depth0, (depth0 && depth0.multipleDueDates), (depth0 && depth0.isOnlyVisibleToOverrides), (depth0 && depth0.nonBaseDates), options) : helperMissing.call(depth0, \"ifAny\", (depth0 && depth0.multipleDueDates), (depth0 && depth0.isOnlyVisibleToOverrides), (depth0 && depth0.nonBaseDates), options));\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n      </div>\\n    </div>\\n    \";\n  return buffer;\n  }\nfunction program11(depth0,data) {\n  \n  var buffer = \"\", stack1, helper;\n  buffer += \"\\n        <span class=\\\"datetime_field multiple_due_dates\\\" title\\n              data-tooltip-selector=\\\"#vdd_tooltip_\";\n  if (helper = helpers.uniqLabel) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.uniqLabel); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\"\\n              aria-labelledby=\\\"vdd_tooltip_\";\n  if (helper = helpers.uniqLabel) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.uniqLabel); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\">\\n            <input\\n              id=\\\"\";\n  if (helper = helpers.uniqLabel) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.uniqLabel); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_assignment_due_at\\\"\\n              class=\\\"input-medium\\\"\\n              type=\\\"text\\\"\\n              \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.multipleDueDates), {hash:{},inverse:self.program(14, program14, data),fn:self.program(12, program12, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n              disabled=\\\"disabled\\\" />\\n        </span>\\n\\n        <div id=\\\"vdd_tooltip_\";\n  if (helper = helpers.uniqLabel) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.uniqLabel); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\" style=\\\"display:none;\\\">\\n          <dl class=\\\"vdd_tooltip_content dl-horizontal\\\">\\n            \";\n  stack1 = helpers.each.call(depth0, (depth0 && depth0.allDates), {hash:{},inverse:self.noop,fn:self.program(16, program16, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n          </dl>\\n        </div>\\n\\n      \";\n  return buffer;\n  }\nfunction program12(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n                value=\\\"\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.create_assignment\")\n  },data:data},helper ? helper.call(depth0, \"multiple_due_dates\", \"Multiple due dates\", options) : helperMissing.call(depth0, \"t\", \"multiple_due_dates\", \"Multiple due dates\", options)))\n    + \"\\\"\\n              \";\n  return buffer;\n  }\n\nfunction program14(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n                value=\\\"\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.create_assignment\")\n  },data:data},helper ? helper.call(depth0, \"differentiated_due_dates\", \"Differentiated due date\", options) : helperMissing.call(depth0, \"t\", \"differentiated_due_dates\", \"Differentiated due date\", options)))\n    + \"\\\"\\n              \";\n  return buffer;\n  }\n\nfunction program16(depth0,data) {\n  \n  var buffer = \"\", stack1, helper;\n  buffer += \"\\n              <div class=\\\"clearfix\\\">\\n                <dt>\";\n  if (helper = helpers.dueFor) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.dueFor); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"</dt>\\n                <dd>\";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.dueAt), {hash:{},inverse:self.program(19, program19, data),fn:self.program(17, program17, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"</dd>\\n              </div>\\n            \";\n  return buffer;\n  }\nfunction program17(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \" \"\n    + escapeExpression((helper = helpers.tDateToString || (depth0 && depth0.tDateToString),options={hash:{},data:data},helper ? helper.call(depth0, (depth0 && depth0.dueAt), \"short\", options) : helperMissing.call(depth0, \"tDateToString\", (depth0 && depth0.dueAt), \"short\", options)))\n    + \" \";\n  return buffer;\n  }\n\nfunction program19(depth0,data) {\n  \n  \n  return \" - \";\n  }\n\nfunction program21(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n        <div class=\\\"date_field_container \";\n  stack1 = helpers['if'].call(depth0, ((stack1 = (depth0 && depth0.master_course_restrictions)),stack1 == null || stack1 === false ? stack1 : stack1.due_dates), {hash:{},inverse:self.noop,fn:self.program(22, program22, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\\">\\n          \";\n  stack1 = helpers.unless.call(depth0, ((stack1 = (depth0 && depth0.master_course_restrictions)),stack1 == null || stack1 === false ? stack1 : stack1.due_dates), {hash:{},inverse:self.noop,fn:self.program(24, program24, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n          <input\\n            id=\\\"\";\n  if (helper = helpers.uniqLabel) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.uniqLabel); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_assignment_due_at\\\"\\n            class=\\\"datetime_field input-medium\\\"\\n            type=\\\"text\\\"\\n            name=\\\"due_at\\\"\\n            value=\\\"\"\n    + escapeExpression((helper = helpers.datetimeFormatted || (depth0 && depth0.datetimeFormatted),options={hash:{},data:data},helper ? helper.call(depth0, (depth0 && depth0.dueAt), options) : helperMissing.call(depth0, \"datetimeFormatted\", (depth0 && depth0.dueAt), options)))\n    + \"\\\"\\n            \";\n  stack1 = helpers.unless.call(depth0, ((stack1 = (depth0 && depth0.master_course_restrictions)),stack1 == null || stack1 === false ? stack1 : stack1.due_dates), {hash:{},inverse:self.noop,fn:self.program(26, program26, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n            data-tooltip\\n            \"\n    + escapeExpression((helper = helpers.disabledIf || (depth0 && depth0.disabledIf),options={hash:{},data:data},helper ? helper.call(depth0, (depth0 && depth0.disableDueAt), options) : helperMissing.call(depth0, \"disabledIf\", (depth0 && depth0.disableDueAt), options)))\n    + \"\\n            \";\n  stack1 = helpers['if'].call(depth0, ((stack1 = (depth0 && depth0.master_course_restrictions)),stack1 == null || stack1 === false ? stack1 : stack1.due_dates), {hash:{},inverse:self.noop,fn:self.program(22, program22, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n          />\\n            \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.isInClosedPeriod), {hash:{},inverse:self.noop,fn:self.program(28, program28, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n          </div>\\n      \";\n  return buffer;\n  }\nfunction program22(depth0,data) {\n  \n  \n  return \"readonly\";\n  }\n\nfunction program24(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n            <label class=\\\"screenreader-only\\\" id=\\\"due_at_label_\";\n  if (helper = helpers.uniqLabel) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.uniqLabel); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\">\\n              \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"due_at_5e18eeac\", \"Due At:\", options) : helperMissing.call(depth0, \"t\", \"due_at_5e18eeac\", \"Due At:\", options)))\n    + \"\\n              \";\n  if (helper = helpers.datepickerScreenreaderPrompt) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.datepickerScreenreaderPrompt); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\n            </label>\\n          \";\n  return buffer;\n  }\n\nfunction program26(depth0,data) {\n  \n  var buffer = \"\", stack1, helper;\n  buffer += \"\\n              aria-labelledby=\\\"due_at_label_\";\n  if (helper = helpers.uniqLabel) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.uniqLabel); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\"\\n              title=\\\"\";\n  if (helper = helpers.accessibleDateFormat) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.accessibleDateFormat); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\"\\n            \";\n  return buffer;\n  }\n\nfunction program28(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n            <div>\\n              <span>\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"due_date_falls_in_a_closed_grading_period_e447ff2f\", \"Due date falls in a closed Grading Period\", options) : helperMissing.call(depth0, \"t\", \"due_date_falls_in_a_closed_grading_period_e447ff2f\", \"Due date falls in a closed Grading Period\", options)))\n    + \"</span>\\n            </div>\\n            \";\n  return buffer;\n  }\n\nfunction program30(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n    <div class=\\\"control-group\\\">\\n      <label class=\\\"control-label\\\" for=\\\"\";\n  if (helper = helpers.uniqLabel) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.uniqLabel); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_assignment_points\\\">\\n        \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.create_assignment\")\n  },data:data},helper ? helper.call(depth0, \"assignment_points\", \"Points:\", options) : helperMissing.call(depth0, \"t\", \"assignment_points\", \"Points:\", options)))\n    + \"\\n      </label>\\n      <div class=\\\"controls\\\">\\n        <input\\n          id=\\\"\";\n  if (helper = helpers.uniqLabel) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.uniqLabel); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_assignment_points\\\"\\n          class=\\\"input-small points_possible\\\"\\n          type=\\\"text\\\"\\n          name=\\\"points_possible\\\"\\n          value=\\\"\"\n    + escapeExpression((helper = helpers.n || (depth0 && depth0.n),options={hash:{},data:data},helper ? helper.call(depth0, (depth0 && depth0.pointsPossible), options) : helperMissing.call(depth0, \"n\", (depth0 && depth0.pointsPossible), options)))\n    + \"\\\"\\n          \"\n    + escapeExpression((helper = helpers.disabledIfIncludes || (depth0 && depth0.disabledIfIncludes),options={hash:{},data:data},helper ? helper.call(depth0, (depth0 && depth0.frozenAttributes), \"points_possible\", options) : helperMissing.call(depth0, \"disabledIfIncludes\", (depth0 && depth0.frozenAttributes), \"points_possible\", options)))\n    + \"\\n          \";\n  stack1 = helpers['if'].call(depth0, ((stack1 = (depth0 && depth0.master_course_restrictions)),stack1 == null || stack1 === false ? stack1 : stack1.points), {hash:{},inverse:self.noop,fn:self.program(22, program22, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n        />\\n      </div>\\n    </div>\\n    \";\n  return buffer;\n  }\n\nfunction program32(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n      <fieldset>\\n        <div class=\\\"control-group\\\">\\n          <label class=\\\"control-label\\\" id=\\\"post_to_sis_label\\\">\\n            \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'postToSISName': ((depth0 && depth0.postToSISName)),\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"sync_to_posttosisname_9837a8bf\", \"Sync to %{postToSISName}:\", options) : helperMissing.call(depth0, \"t\", \"sync_to_posttosisname_9837a8bf\", \"Sync to %{postToSISName}:\", options)))\n    + \"\\n          </label>\\n          <label>\\n            \"\n    + escapeExpression((helper = helpers.checkbox || (depth0 && depth0.checkbox),options={hash:{\n    'id': (\"assignment_post_to_sis\"),\n    'name': (\"post_to_sis\"),\n    'aria-labelledby': (\"post_to_sis_label\"),\n    'class': (\"post_to_sis_checkbox\")\n  },data:data},helper ? helper.call(depth0, \"postToSIS\", options) : helperMissing.call(depth0, \"checkbox\", \"postToSIS\", options)))\n    + \"\\n          </label>\\n        </div>\\n      </fieldset>\\n    \";\n  return buffer;\n  }\n\nfunction program34(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n    <button\\n      class=\\\"btn btn-default save_and_publish\\\"\\n      data-text-while-loading='\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.create_assignment\")\n  },data:data},helper ? helper.call(depth0, \"saving\", \"Saving...\", options) : helperMissing.call(depth0, \"t\", \"saving\", \"Saving...\", options)))\n    + \"'\\n      type=\\\"button\\\"\\n    >\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.create_assignment\")\n  },data:data},helper ? helper.call(depth0, \"buttons.save_and_publish\", \"Save & Publish\", options) : helperMissing.call(depth0, \"t\", \"buttons.save_and_publish\", \"Save & Publish\", options)))\n    + \"</button>\\n  \";\n  return buffer;\n  }\n\n  buffer += \"<div class=\\\"form-dialog-content create_assignment_dialog\\\">\\n  <div class=\\\"form-horizontal\\\">\\n\\n    \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.canChooseType), {hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n\\n    <div class=\\\"control-group\\\">\\n      <label class=\\\"control-label\\\" for=\\\"\";\n  if (helper = helpers.uniqLabel) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.uniqLabel); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_assignment_name\\\">\\n        \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.create_assignment\")\n  },data:data},helper ? helper.call(depth0, \"assignment_name\", \"Name:\", options) : helperMissing.call(depth0, \"t\", \"assignment_name\", \"Name:\", options)))\n    + \"\\n      </label>\\n      <div class=\\\"controls\\\">\\n        \";\n  stack1 = helpers['if'].call(depth0, ((stack1 = (depth0 && depth0.master_course_restrictions)),stack1 == null || stack1 === false ? stack1 : stack1.content), {hash:{},inverse:self.program(5, program5, data),fn:self.program(3, program3, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n      </div>\\n    </div>\\n\\n    \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.hasDueDate), {hash:{},inverse:self.noop,fn:self.program(10, program10, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n\\n    \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.hasPointsPossible), {hash:{},inverse:self.noop,fn:self.program(30, program30, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n\\n    \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.postToSISEnabled), {hash:{},inverse:self.noop,fn:self.program(32, program32, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n  </div>\\n</div>\\n<div class=\\\"form-controls\\\">\\n  <button\\n    class=\\\"more_options btn pull-left\\\"\\n    type=\\\"button\\\"\\n  >\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.create_assignment\")\n  },data:data},helper ? helper.call(depth0, \"more\", \"More Options\", options) : helperMissing.call(depth0, \"t\", \"more\", \"More Options\", options)))\n    + \"</button>\\n  <button\\n    class=\\\"cancel_button btn dialog_closer\\\"\\n    type=\\\"button\\\"\\n  >\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.create_assignment\")\n  },data:data},helper ? helper.call(depth0, \"cancel\", \"Cancel\", options) : helperMissing.call(depth0, \"t\", \"cancel\", \"Cancel\", options)))\n    + \"</button>\\n  \";\n  stack1 = helpers.unless.call(depth0, (depth0 && depth0.published), {hash:{},inverse:self.noop,fn:self.program(34, program34, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n  <button\\n    class=\\\"create_assignment btn btn-primary\\\"\\n    data-text-while-loading='\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.create_assignment\")\n  },data:data},helper ? helper.call(depth0, \"saving\", \"Saving...\", options) : helperMissing.call(depth0, \"t\", \"saving\", \"Saving...\", options)))\n    + \"'\\n    type=\\\"submit\\\"\\n  >\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.create_assignment\")\n  },data:data},helper ? helper.call(depth0, \"save\", \"Save\", options) : helperMissing.call(depth0, \"t\", \"save\", \"Save\", options)))\n    + \"</button>\\n</div>\\n\";\n  return buffer;\n  });\n      ;\n      ;\n      return templates[name];\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./app/views/jst/assignments/CreateAssignment.handlebars\n// module id = CwAG4nbIhv\n// module chunks = 54","\n    define('jst/assignments/IndexView', [\"handlebars/runtime\",\"i18n!assignments.index_view\",\"coffeescripts/handlebars_helpers.coffee\"], function(Handlebars){\n      Handlebars = Handlebars.default\n      var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};\n      var name = 'assignments/IndexView';\n      templates[name] = template(function (Handlebars,depth0,helpers,partials,data) {\n  this.compilerInfo = [4,'>= 1.0.0'];\nhelpers = this.merge(helpers, Handlebars.helpers); data = data || {};\n  var buffer = \"\", stack1, helper, options, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, functionType=\"function\", self=this;\n\nfunction program1(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n  <h2 class=\\\"screenreader-only\\\">\\n    \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.index_view\")\n  },data:data},helper ? helper.call(depth0, \"assignments\", \"Assignments\", options) : helperMissing.call(depth0, \"t\", \"assignments\", \"Assignments\", options)))\n    + \"\\n  </h2>\\n\";\n  return buffer;\n  }\n\nfunction program3(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n  <h1 class=\\\"screenreader-only\\\">\\n    \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.index_view\")\n  },data:data},helper ? helper.call(depth0, \"assignments\", \"Assignments\", options) : helperMissing.call(depth0, \"t\", \"assignments\", \"Assignments\", options)))\n    + \"\\n  </h1>\\n\";\n  return buffer;\n  }\n\nfunction program5(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n        <select class=\\\"ic-Input\\\" id=\\\"grading_period_selector\\\" aria-label=\\\"\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"select_a_grading_period_aab25483\", \"Select a Grading Period\", options) : helperMissing.call(depth0, \"t\", \"select_a_grading_period_aab25483\", \"Select a Grading Period\", options)))\n    + \"\\\">\\n          <option value=\\\"all\\\">\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"all_grading_periods_77974940\", \"All Grading Periods\", options) : helperMissing.call(depth0, \"t\", \"all_grading_periods_77974940\", \"All Grading Periods\", options)))\n    + \"</option>\\n          \";\n  stack1 = helpers.each.call(depth0, ((stack1 = (depth0 && depth0.ENV)),stack1 == null || stack1 === false ? stack1 : stack1.active_grading_periods), {hash:{},inverse:self.noop,fn:self.program(6, program6, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n        </select>\\n      \";\n  return buffer;\n  }\nfunction program6(depth0,data) {\n  \n  var buffer = \"\", stack1, helper;\n  buffer += \"\\n            <option id=\\\"grading_period_\";\n  if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\" value=\\\"\"\n    + escapeExpression(((stack1 = (data == null || data === false ? data : data.index)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1))\n    + \"\\\">\";\n  if (helper = helpers.title) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.title); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"</option>\\n          \";\n  return buffer;\n  }\n\nfunction program8(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n      \";\n  stack1 = helpers['if'].call(depth0, ((stack1 = (depth0 && depth0.ENV)),stack1 == null || stack1 === false ? stack1 : stack1.QUIZ_LTI_ENABLED), {hash:{},inverse:self.noop,fn:self.program(9, program9, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n\\n      <a\\n        href=\\\"#\\\"\\n        class=\\\"btn icon-plus\\\"\\n        id=\\\"addGroup\\\"\\n        role=\\\"button\\\"\\n        title='\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.index_view\")\n  },data:data},helper ? helper.call(depth0, \"title_add_group\", \"Add Assignment Group\", options) : helperMissing.call(depth0, \"t\", \"title_add_group\", \"Add Assignment Group\", options)))\n    + \"'\\n        aria-label='\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.index_view\")\n  },data:data},helper ? helper.call(depth0, \"title_add_group\", \"Add Assignment Group\", options) : helperMissing.call(depth0, \"t\", \"title_add_group\", \"Add Assignment Group\", options)))\n    + \"'\\n      >\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.index_view\")\n  },data:data},helper ? helper.call(depth0, \"add_group\", \"Group\", options) : helperMissing.call(depth0, \"t\", \"add_group\", \"Group\", options)))\n    + \"</a>\\n\\n      <a\\n        href=\\\"\"\n    + escapeExpression(((stack1 = ((stack1 = ((stack1 = (depth0 && depth0.ENV)),stack1 == null || stack1 === false ? stack1 : stack1.URLS)),stack1 == null || stack1 === false ? stack1 : stack1.new_assignment_url)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1))\n    + \"\\\"\\n        class=\\\"new_assignment btn btn-primary icon-plus\\\"\\n        role=\\\"button\\\"\\n        title='\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.index_view\")\n  },data:data},helper ? helper.call(depth0, \"title_add_assignment\", \"Add Assignment\", options) : helperMissing.call(depth0, \"t\", \"title_add_assignment\", \"Add Assignment\", options)))\n    + \"'\\n        aria-label='\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.index_view\")\n  },data:data},helper ? helper.call(depth0, \"title_add_assignment\", \"Add Assignment\", options) : helperMissing.call(depth0, \"t\", \"title_add_assignment\", \"Add Assignment\", options)))\n    + \"'\\n      >\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.index_view\")\n  },data:data},helper ? helper.call(depth0, \"add_assignment\", \"Assignment\", options) : helperMissing.call(depth0, \"t\", \"add_assignment\", \"Assignment\", options)))\n    + \"</a>\\n\\n      <span id=\\\"settingsMountPoint\\\"></span>\\n    \";\n  return buffer;\n  }\nfunction program9(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n        <span class=\\\"new_quiz_lti_wrapper\\\">\\n          <a\\n            href=\\\"\"\n    + escapeExpression(((stack1 = ((stack1 = ((stack1 = (depth0 && depth0.ENV)),stack1 == null || stack1 === false ? stack1 : stack1.URLS)),stack1 == null || stack1 === false ? stack1 : stack1.new_assignment_url)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1))\n    + \"?quiz_lti\\\"\\n            class=\\\"new_quiz_lti btn icon-plus\\\"\\n            role=\\\"button\\\"\\n            title='\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.index_view\")\n  },data:data},helper ? helper.call(depth0, \"title_add_quiz_lti\", \"Add Quiz/Test\", options) : helperMissing.call(depth0, \"t\", \"title_add_quiz_lti\", \"Add Quiz/Test\", options)))\n    + \"'\\n            aria-label='\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.index_view\")\n  },data:data},helper ? helper.call(depth0, \"title_add_quiz_lti\", \"Add Quiz/Test\", options) : helperMissing.call(depth0, \"t\", \"title_add_quiz_lti\", \"Add Quiz/Test\", options)))\n    + \"'\\n          >\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.index_view\")\n  },data:data},helper ? helper.call(depth0, \"add_quiz_lti\", \"Quiz/Test\", options) : helperMissing.call(depth0, \"t\", \"add_quiz_lti\", \"Quiz/Test\", options)))\n    + \"</a>\\n        </span>\\n      \";\n  return buffer;\n  }\n\nfunction program11(depth0,data) {\n  \n  \n  return \"\\n      <div data-view=\\\"showBy\\\"></div>\\n    \";\n  }\n\nfunction program13(depth0,data) {\n  \n  \n  return \"\\n  <form data-view=\\\"createGroup\\\" class=\\\"form-dialog\\\"></form>\\n  <form data-view=\\\"assignmentSettings\\\" class=\\\"form-dialog\\\"></form>\\n  <form data-view=\\\"assignmentSyncSettings\\\" class=\\\"form-dialog\\\"></form>\\n\";\n  }\n\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.course_home), {hash:{},inverse:self.program(3, program3, data),fn:self.program(1, program1, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n\\n<div tabindex=\\\"0\\\" class=\\\"drag_and_drop_warning screenreader-only\\\">\\n  \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"warning_for_improved_accessibility_of_reordering_a_5d0206c7\", \"Warning: for improved accessibility of reordering assignments and groups, please use the Move To Dialog option found in the menu.\", options) : helperMissing.call(depth0, \"t\", \"warning_for_improved_accessibility_of_reordering_a_5d0206c7\", \"Warning: for improved accessibility of reordering assignments and groups, please use the Move To Dialog option found in the menu.\", options)))\n    + \"\\n</div>\\n<div class=\\\"header-bar\\\">\\n  <div class=\\\"header-bar-left ic-Form-control assignment-search\\\">\\n    <div class=\\\"ic-Multi-input\\\">\\n      \";\n  stack1 = helpers['if'].call(depth0, ((stack1 = (depth0 && depth0.ENV)),stack1 == null || stack1 === false ? stack1 : stack1.HAS_GRADING_PERIODS), {hash:{},inverse:self.noop,fn:self.program(5, program5, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n      <label for=\\\"search_term\\\" class=\\\"screenreader-only\\\">\\n        \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.index_view\")\n  },data:data},helper ? helper.call(depth0, \"search_for_assignment\", \"Search for Assignment\", options) : helperMissing.call(depth0, \"t\", \"search_for_assignment\", \"Search for Assignment\", options)))\n    + \"\\n      </label>\\n      <input\\n        class=\\\"ic-Input\\\"\\n        id=\\\"search_term\\\"\\n        name=\\\"search_term\\\"\\n        type=\\\"search\\\"\\n        value=\\\"\\\"\\n        disabled\\n        placeholder=\\\"\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.index_view\")\n  },data:data},helper ? helper.call(depth0, \"search_for_assignment\", \"Search for Assignment\", options) : helperMissing.call(depth0, \"t\", \"search_for_assignment\", \"Search for Assignment\", options)))\n    + \"\\\"\\n      >\\n    </div>\\n  </div>\\n\\n  <div class=\\\"header-bar-right\\\">\\n    \";\n  stack1 = helpers['if'].call(depth0, ((stack1 = ((stack1 = (depth0 && depth0.ENV)),stack1 == null || stack1 === false ? stack1 : stack1.PERMISSIONS)),stack1 == null || stack1 === false ? stack1 : stack1.manage_assignments), {hash:{},inverse:self.program(11, program11, data),fn:self.program(8, program8, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n  </div>\\n</div>\\n\\n<div data-view=\\\"assignmentGroups\\\" class=\\\"item-group-container\\\" id=\\\"ag-list\\\"></div>\\n\\n\";\n  stack1 = helpers['if'].call(depth0, ((stack1 = ((stack1 = (depth0 && depth0.ENV)),stack1 == null || stack1 === false ? stack1 : stack1.PERMISSIONS)),stack1 == null || stack1 === false ? stack1 : stack1.manage_assignments), {hash:{},inverse:self.noop,fn:self.program(13, program13, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n\";\n  return buffer;\n  });\n      ;\n      ;\n      return templates[name];\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./app/views/jst/assignments/IndexView.handlebars\n// module id = Dwt0TO0fts\n// module chunks = 54","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"add_assignment_to_name_caf173b0\":\"إضافة مهمة إلى %{name}\",\"delete_a6efa79d\":\"حذف\",\"delete_assignment_group_7c3b01c4\":\"حذف مجموعة المهام\",\"edit_assignment_group_c04c4af0\":\"تحرير مجموعة المهام\",\"edit_c5fbea07\":\"تحرير\",\"imported_from_posttosisname_f7cc9258\":\"تم الاستيراد من %{postToSISName}\",\"manage_name_7f55f792\":\"إدارة %{name}\",\"move_assignment_contents_245c61bb\":\"نقل محتويات المهمة\",\"move_assignment_group_46e09fc3\":\"نقل مجموعة المهام\",\"move_contents_29713356\":\"نقل المحتويات...\",\"move_group_77ae285d\":\"نقل المجموعة...\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} من إجمالي\"},\"cy\":{\"add_assignment_to_name_caf173b0\":\"Ychwanegu Aseiniad at %{name}\",\"delete_a6efa79d\":\"Dileu\",\"delete_assignment_group_7c3b01c4\":\"Dileu Grŵp Aseiniadau\",\"edit_assignment_group_c04c4af0\":\"Golygu Grŵp Aseiniadau\",\"edit_c5fbea07\":\"Golygu\",\"imported_from_posttosisname_f7cc9258\":\"Wedi mewngludo o %{postToSISName}\",\"manage_name_7f55f792\":\"Rheoli %{name}\",\"move_assignment_contents_245c61bb\":\"Symud Cynnwys Aseiniad\",\"move_assignment_group_46e09fc3\":\"Symud Grŵp o Aseiniadau\",\"move_contents_29713356\":\"Symud Cynnwys…\",\"move_group_77ae285d\":\"Symud Grŵp…\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} o Gyfanswm\"},\"da\":{\"add_assignment_to_name_caf173b0\":\"Tilføj opgave til %{name}\",\"delete_a6efa79d\":\"Slet\",\"delete_assignment_group_7c3b01c4\":\"Slet opgavegruppe\",\"edit_assignment_group_c04c4af0\":\"Rediger opgavegruppe\",\"edit_c5fbea07\":\"Rediger\",\"imported_from_posttosisname_f7cc9258\":\"Importeret fra %{postToSISName}\",\"manage_name_7f55f792\":\"Administrering af %{name}\",\"move_assignment_contents_245c61bb\":\"Flyt opgaveindhold\",\"move_assignment_group_46e09fc3\":\"Flyt opgavegruppe\",\"move_contents_29713356\":\"Flyt indhold ...\",\"move_group_77ae285d\":\"Flyt gruppe ...\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} af total\"},\"da-x-k12\":{\"add_assignment_to_name_caf173b0\":\"Tilføj opgave til %{name}\",\"delete_a6efa79d\":\"Slet\",\"delete_assignment_group_7c3b01c4\":\"Slet opgavegruppe\",\"edit_assignment_group_c04c4af0\":\"Rediger opgavegruppe\",\"edit_c5fbea07\":\"Rediger\",\"imported_from_posttosisname_f7cc9258\":\"Importeret fra %{postToSISName}\",\"manage_name_7f55f792\":\"Administrering af %{name}\",\"move_assignment_contents_245c61bb\":\"Flyt opgaveindhold\",\"move_assignment_group_46e09fc3\":\"Flyt opgavegruppe\",\"move_contents_29713356\":\"Flyt indhold ...\",\"move_group_77ae285d\":\"Flyt gruppe ...\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} af total\"},\"de\":{\"add_assignment_to_name_caf173b0\":\"Aufgabe zu %{name} hinzufügen\",\"delete_a6efa79d\":\"Löschen\",\"delete_assignment_group_7c3b01c4\":\"Aufgabengruppe löschen\",\"edit_assignment_group_c04c4af0\":\"Aufgabengruppe bearbeiten\",\"edit_c5fbea07\":\"Ändern\",\"imported_from_posttosisname_f7cc9258\":\"Importiert aus %{postToSISName}\",\"manage_name_7f55f792\":\"%{name} verwalten\",\"move_assignment_contents_245c61bb\":\"Aufgabeninhalte verschieben\",\"move_assignment_group_46e09fc3\":\"Aufgabengruppe verschieben\",\"move_contents_29713356\":\"Inhalte verschieben ...\",\"move_group_77ae285d\":\"Gruppe verschieben …\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} von insgesamt\"},\"el\":{\"add_assignment_to_name_caf173b0\":\"Προσθήκη Εργασίας στον/στην %{name}\",\"delete_a6efa79d\":\"Αφαίρεση\",\"edit_c5fbea07\":\"Διαμόρφωση\",\"manage_name_7f55f792\":\"Διαχείριση του %{name}\"},\"en-AU\":{\"add_assignment_to_name_caf173b0\":\"Add Assignment to %{name}\",\"delete_a6efa79d\":\"Delete\",\"delete_assignment_group_7c3b01c4\":\"Delete\",\"edit_assignment_group_c04c4af0\":\"Edit Assignment Group\",\"edit_c5fbea07\":\"Edit\",\"imported_from_posttosisname_f7cc9258\":\"Imported from %{postToSISName}\",\"manage_name_7f55f792\":\"Manage %{name}\",\"move_assignment_contents_245c61bb\":\"Move Assignment Contents\",\"move_assignment_group_46e09fc3\":\"Move Assignment Group\",\"move_contents_29713356\":\"Move Contents…\",\"move_group_77ae285d\":\"Move Group…\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} of Total\"},\"en-CA\":{\"add_assignment_to_name_caf173b0\":\"Add Assignment to %{name}\",\"delete_a6efa79d\":\"Delete\",\"delete_assignment_group_7c3b01c4\":\"Delete Assignment Group\",\"edit_assignment_group_c04c4af0\":\"Edit Assignment Group\",\"edit_c5fbea07\":\"Edit\",\"imported_from_posttosisname_f7cc9258\":\"Imported from %{postToSISName}\",\"manage_name_7f55f792\":\"Manage %{name}\",\"move_assignment_contents_245c61bb\":\"Move Assignment Contents\",\"move_assignment_group_46e09fc3\":\"Move Assignment Group\",\"move_contents_29713356\":\"Move Contents…\",\"move_group_77ae285d\":\"Move Group…\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} of Total\"},\"en-GB\":{\"add_assignment_to_name_caf173b0\":\"Add assignment to %{name}\",\"delete_a6efa79d\":\"Delete\",\"delete_assignment_group_7c3b01c4\":\"Delete Assignment Group\",\"edit_assignment_group_c04c4af0\":\"Edit assignment group\",\"edit_c5fbea07\":\"Edit\",\"imported_from_posttosisname_f7cc9258\":\"Imported from %{postToSISName}\",\"manage_name_7f55f792\":\"Manage %{name}\",\"move_assignment_contents_245c61bb\":\"Move assignment contents\",\"move_assignment_group_46e09fc3\":\"Move assignment group\",\"move_contents_29713356\":\"Move contents…\",\"move_group_77ae285d\":\"Move group…\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} of total\"},\"en-GB-x-lbs\":{\"add_assignment_to_name_caf173b0\":\"Add task to %{name}\",\"delete_a6efa79d\":\"Delete\",\"delete_assignment_group_7c3b01c4\":\"Delete task group\",\"edit_assignment_group_c04c4af0\":\"Edit task group\",\"edit_c5fbea07\":\"Edit\",\"imported_from_posttosisname_f7cc9258\":\"Imported from %{postToSISName}\",\"manage_name_7f55f792\":\"Manage %{name}\",\"move_assignment_contents_245c61bb\":\"Move task contents\",\"move_assignment_group_46e09fc3\":\"Move task group\",\"move_contents_29713356\":\"Move contents…\",\"move_group_77ae285d\":\"Move group…\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} of total\"},\"en-GB-x-ukhe\":{\"add_assignment_to_name_caf173b0\":\"Add assignment to %{name}\",\"delete_a6efa79d\":\"Delete\",\"delete_assignment_group_7c3b01c4\":\"Delete Assignment Group\",\"edit_assignment_group_c04c4af0\":\"Edit assignment group\",\"edit_c5fbea07\":\"Edit\",\"imported_from_posttosisname_f7cc9258\":\"Imported from %{postToSISName}\",\"manage_name_7f55f792\":\"Manage %{name}\",\"move_assignment_contents_245c61bb\":\"Move assignment contents\",\"move_assignment_group_46e09fc3\":\"Move assignment group\",\"move_contents_29713356\":\"Move contents…\",\"move_group_77ae285d\":\"Move group…\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} of total\"},\"es\":{\"add_assignment_to_name_caf173b0\":\"Agregar tarea a %{name}\",\"delete_a6efa79d\":\"Eliminar\",\"delete_assignment_group_7c3b01c4\":\"Eliminar el grupo de asignaciones\",\"edit_assignment_group_c04c4af0\":\"Editar grupo de tarea\",\"edit_c5fbea07\":\"Editar\",\"imported_from_posttosisname_f7cc9258\":\"Importado desde %{postToSISName}\",\"manage_name_7f55f792\":\"Gestionar %{name}\",\"move_assignment_contents_245c61bb\":\"Mover contenido de la tarea\",\"move_assignment_group_46e09fc3\":\"Mover grupo de tarea\",\"move_contents_29713356\":\"Mover contenido...\",\"move_group_77ae285d\":\"Mover grupo...\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} del total\"},\"fa\":{\"add_assignment_to_name_caf173b0\":\"افزودن تکلیف به %{name}\",\"delete_a6efa79d\":\"حذف\",\"delete_assignment_group_7c3b01c4\":\"حذف تکلیف گروه\",\"edit_assignment_group_c04c4af0\":\"ویرایش گروه تکلیف\",\"edit_c5fbea07\":\"ویرایش\",\"imported_from_posttosisname_f7cc9258\":\"وارد شده از %{postToSISName}\",\"manage_name_7f55f792\":\"مدیریت %{name}\",\"move_assignment_contents_245c61bb\":\"انتقال محتوای تکلیف\",\"move_assignment_group_46e09fc3\":\"انتقال گروه تکلیف\",\"move_contents_29713356\":\"انتقال محتوا ...\",\"move_group_77ae285d\":\"انتقال گروه ...\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} از کل\"},\"fr\":{\"add_assignment_to_name_caf173b0\":\"Ajouter le devoir à %{name}\",\"delete_a6efa79d\":\"Supprimer\",\"delete_assignment_group_7c3b01c4\":\"Supprimer le groupe du devoir\",\"edit_assignment_group_c04c4af0\":\"Modifier le groupe du devoir\",\"edit_c5fbea07\":\"Modifier\",\"imported_from_posttosisname_f7cc9258\":\"Importé depuis %{postToSISName}\",\"manage_name_7f55f792\":\"Gérer %{name}\",\"move_assignment_contents_245c61bb\":\"Déplacer les contenus des devoirs\",\"move_assignment_group_46e09fc3\":\"Déplacer le groupe du devoir\",\"move_contents_29713356\":\"Déplacer les contenus...\",\"move_group_77ae285d\":\"Déplacer le groupe...\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} du total\"},\"fr-CA\":{\"add_assignment_to_name_caf173b0\":\"Ajouter le tâche à %{name}\",\"delete_a6efa79d\":\"Supprimer\",\"delete_assignment_group_7c3b01c4\":\"Supprimer le groupe de la tâche\",\"edit_assignment_group_c04c4af0\":\"Modifier le groupe de la tâche\",\"edit_c5fbea07\":\"Modifier\",\"imported_from_posttosisname_f7cc9258\":\"Importé de %{postToSISName}\",\"manage_name_7f55f792\":\"Gérer %{name}\",\"move_assignment_contents_245c61bb\":\"Déplacer le contenu de la tâche\",\"move_assignment_group_46e09fc3\":\"Déplacer le groupe de tâches\",\"move_contents_29713356\":\"Déplacer le contenu…\",\"move_group_77ae285d\":\"Déplacer le groupe…\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} du total\"},\"he\":{\"add_assignment_to_name_caf173b0\":\"הקצאת משימה ל%{name}\",\"delete_a6efa79d\":\"ביטול\",\"delete_assignment_group_7c3b01c4\":\"ביטול קבוצת משימה\",\"edit_assignment_group_c04c4af0\":\"עריכת קבוצת משימה\",\"edit_c5fbea07\":\"עריכה\",\"imported_from_posttosisname_f7cc9258\":\"מיובא מ %{postToSISName}\",\"manage_name_7f55f792\":\"ניהול %{name}\",\"move_assignment_contents_245c61bb\":\"העברת תוכן מטלה\",\"move_assignment_group_46e09fc3\":\"העברת קבוצת משימה\",\"move_contents_29713356\":\"העברת תוכן...\",\"move_group_77ae285d\":\"העברת קבוצה...\"},\"ht\":{\"add_assignment_to_name_caf173b0\":\"Ajoute Sesyon pou %{name}\",\"delete_a6efa79d\":\"Efase\",\"delete_assignment_group_7c3b01c4\":\"Efase Sesyon Gwoup\",\"edit_assignment_group_c04c4af0\":\"Modifye Sesyon Gwoup\",\"edit_c5fbea07\":\"Modifye\",\"imported_from_posttosisname_f7cc9258\":\"Enpòte apati de %{postToSISName}\",\"manage_name_7f55f792\":\"Jere %{name}\",\"move_assignment_contents_245c61bb\":\"Deplase Kontni Sesyon\",\"move_assignment_group_46e09fc3\":\"Deplase Sesyon Gwoup\",\"move_contents_29713356\":\"Deplase Kontni...\",\"move_group_77ae285d\":\"Deplase Gwoup...\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} sou Total\"},\"hu\":{\"add_assignment_to_name_caf173b0\":\"Feladat hozzáadása ide: %{name}\",\"delete_a6efa79d\":\"Törlés\",\"delete_assignment_group_7c3b01c4\":\"Feladatcsoport törlése\",\"edit_assignment_group_c04c4af0\":\"Feladatcsoport szerkesztése\",\"edit_c5fbea07\":\"Szerkesztés\",\"manage_name_7f55f792\":\"%{name} kezelése\",\"move_assignment_group_46e09fc3\":\"Feladatcsoport mozgatása\",\"move_contents_29713356\":\"Tartalmak áthelyezése...\",\"move_group_77ae285d\":\"Csoport áthelyezése...\"},\"hy\":{\"delete_a6efa79d\":\"Ջնջել\",\"edit_c5fbea07\":\"Խմբագրել\"},\"is\":{\"add_assignment_to_name_caf173b0\":\"Bæta verkefni við %{name}\",\"delete_a6efa79d\":\"Eyða\",\"delete_assignment_group_7c3b01c4\":\"Eyða verkefnahópi\",\"edit_assignment_group_c04c4af0\":\"Breyta verkefnahópi\",\"edit_c5fbea07\":\"Breyta\",\"imported_from_posttosisname_f7cc9258\":\"Flutt inn frá %{postToSISName}\",\"manage_name_7f55f792\":\"Stjórna %{name}\",\"move_assignment_contents_245c61bb\":\"Flytja innihald verkefnis\",\"move_assignment_group_46e09fc3\":\"Færa verkefnishóp\",\"move_contents_29713356\":\"Flytja innihald…\",\"move_group_77ae285d\":\"Flytja hóp…\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} af heild\"},\"it\":{\"add_assignment_to_name_caf173b0\":\"Aggiungi compito a %{name}\",\"delete_a6efa79d\":\"Elimina\",\"delete_assignment_group_7c3b01c4\":\"Elimina gruppo di compiti\",\"edit_assignment_group_c04c4af0\":\"Modifica gruppo di compiti\",\"edit_c5fbea07\":\"Modifica\",\"imported_from_posttosisname_f7cc9258\":\"Importato da %{postToSISName}\",\"manage_name_7f55f792\":\"Gestisci %{name}\",\"move_assignment_contents_245c61bb\":\"Sposta i contenuti dei compiti\",\"move_assignment_group_46e09fc3\":\"Sposta gruppo di compiti\",\"move_contents_29713356\":\"Sposta i contenuti…\",\"move_group_77ae285d\":\"Sposta gruppo…\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} del totale\"},\"ja\":{\"add_assignment_to_name_caf173b0\":\"課題を %{name} に追加\",\"delete_a6efa79d\":\"削除\",\"delete_assignment_group_7c3b01c4\":\"課題グループの削除\",\"edit_assignment_group_c04c4af0\":\"課題グループの編集\",\"edit_c5fbea07\":\"編集\",\"imported_from_posttosisname_f7cc9258\":\"インポート元%{postToSISName}\",\"manage_name_7f55f792\":\"%{name} を管理\",\"move_assignment_contents_245c61bb\":\"課題の内容を移動する\",\"move_assignment_group_46e09fc3\":\"課題グループを移動\",\"move_contents_29713356\":\"コンテンツを移動...\",\"move_group_77ae285d\":\"グループを移動...\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} 合計の\"},\"ko\":{\"delete_a6efa79d\":\"삭제\",\"edit_c5fbea07\":\"편집\"},\"mi\":{\"add_assignment_to_name_caf173b0\":\"Tāpiri Whakataunga ki te %{name}\",\"delete_a6efa79d\":\"Muku\",\"delete_assignment_group_7c3b01c4\":\"Muku Rōpū Whakataunga\",\"edit_assignment_group_c04c4af0\":\"Whakatika Rōpū Whakataunga\",\"edit_c5fbea07\":\"Whakatika\",\"imported_from_posttosisname_f7cc9258\":\"Kawemai ī %{postToSISName}\",\"manage_name_7f55f792\":\"whakahaere %{name}\",\"move_assignment_contents_245c61bb\":\"Nuku ngā Whakataunga Ihirangi\",\"move_assignment_group_46e09fc3\":\"Rōpū whakataunga Neke\",\"move_contents_29713356\":\"Nuku ngā Ihirangi…\",\"move_group_77ae285d\":\"Nuku Rōpū…\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} O te katoa\"},\"nb\":{\"add_assignment_to_name_caf173b0\":\"Legg oppgave til %{name}\",\"delete_a6efa79d\":\"Slett\",\"delete_assignment_group_7c3b01c4\":\"Slett oppgavegruppe\",\"edit_assignment_group_c04c4af0\":\"Rediger oppgavegruppe\",\"edit_c5fbea07\":\"Rediger\",\"imported_from_posttosisname_f7cc9258\":\"Importert fra %{postToSISName}\",\"manage_name_7f55f792\":\"Administrer %{name}\",\"move_assignment_contents_245c61bb\":\"Flytt oppgaveinnhold\",\"move_assignment_group_46e09fc3\":\"Flytt oppgavegruppe\",\"move_contents_29713356\":\"Flytt innhold...\",\"move_group_77ae285d\":\"Flytt gruppe...\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} av total\"},\"nb-x-k12\":{\"add_assignment_to_name_caf173b0\":\"Legg oppgave til %{name}\",\"delete_a6efa79d\":\"Slett\",\"delete_assignment_group_7c3b01c4\":\"Slett oppgavegruppe\",\"edit_assignment_group_c04c4af0\":\"Rediger oppgavegruppe\",\"edit_c5fbea07\":\"Rediger\",\"imported_from_posttosisname_f7cc9258\":\"Importert fra %{postToSISName}\",\"manage_name_7f55f792\":\"Administrer %{name}\",\"move_assignment_contents_245c61bb\":\"Flytt oppgaveinnhold\",\"move_assignment_group_46e09fc3\":\"Flytt oppgavegruppe\",\"move_contents_29713356\":\"Flytt innhold...\",\"move_group_77ae285d\":\"Flytt gruppe...\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} av total\"},\"nl\":{\"add_assignment_to_name_caf173b0\":\"Opdracht toevoegen aan %{name}\",\"delete_a6efa79d\":\"Verwijderen\",\"delete_assignment_group_7c3b01c4\":\"Opdrachtgroep verwijderen\",\"edit_assignment_group_c04c4af0\":\"Opdrachtgroep toevoegen\",\"edit_c5fbea07\":\"Bewerken\",\"imported_from_posttosisname_f7cc9258\":\"Geïmporteerd uit %{postToSISName}\",\"manage_name_7f55f792\":\"%{name} beheren\",\"move_assignment_contents_245c61bb\":\"Opdrachtinhoud verplaatsen\",\"move_assignment_group_46e09fc3\":\"Opdrachtgroep verplaatsen\",\"move_contents_29713356\":\"Inhoud verplaatsen…\",\"move_group_77ae285d\":\"Groep verplaatsen...\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} van totaal\"},\"nn\":{\"add_assignment_to_name_caf173b0\":\"Legg til oppgåve til %{name}\",\"delete_a6efa79d\":\"Slett\",\"delete_assignment_group_7c3b01c4\":\"Slett oppgåvegruppe\",\"edit_assignment_group_c04c4af0\":\"Rediger oppgåvegruppe\",\"edit_c5fbea07\":\"Rediger\",\"imported_from_posttosisname_f7cc9258\":\"Importert frå %{postToSISName}\",\"manage_name_7f55f792\":\"Administrer %{name}\",\"move_assignment_contents_245c61bb\":\"Flytt oppgåveinnhald\",\"move_assignment_group_46e09fc3\":\"Flytt oppgåvegruppe\",\"move_contents_29713356\":\"Flytt innhald...\",\"move_group_77ae285d\":\"Flytt gruppe\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} av totalen\"},\"pl\":{\"add_assignment_to_name_caf173b0\":\"Dodaj zadanie do %{name}\",\"delete_a6efa79d\":\"Usuń\",\"delete_assignment_group_7c3b01c4\":\"Usuń\",\"edit_assignment_group_c04c4af0\":\"Edytuj grupę zadań\",\"edit_c5fbea07\":\"Edytuj\",\"imported_from_posttosisname_f7cc9258\":\"Zaimportowano z %{postToSISName}\",\"manage_name_7f55f792\":\"Zarządzaj %{name}\",\"move_assignment_contents_245c61bb\":\"Przenieś zawartość zadania\",\"move_assignment_group_46e09fc3\":\"Przenieś grupę zadań\",\"move_contents_29713356\":\"Przenieś zawartość...\",\"move_group_77ae285d\":\"Przenieś grupę...\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} ze wszystkich\"},\"pt\":{\"add_assignment_to_name_caf173b0\":\"Adicionar tarefa a %{name}\",\"delete_a6efa79d\":\"Eliminar\",\"delete_assignment_group_7c3b01c4\":\"Eliminar grupo de tarefas\",\"edit_assignment_group_c04c4af0\":\"Editar grupo de tarefa\",\"edit_c5fbea07\":\"Editar\",\"imported_from_posttosisname_f7cc9258\":\"Importado de %{postToSISName}\",\"manage_name_7f55f792\":\"Gerir %{name}\",\"move_assignment_contents_245c61bb\":\"Mover Conteúdo de Atribuição\",\"move_assignment_group_46e09fc3\":\"Mover grupo de tarefa\",\"move_contents_29713356\":\"Mover conteúdos...\",\"move_group_77ae285d\":\"Mover Grupo...\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} do total\"},\"pt-BR\":{\"add_assignment_to_name_caf173b0\":\"Adicionar Atribuições a %{name}\",\"delete_a6efa79d\":\"Excluir\",\"delete_assignment_group_7c3b01c4\":\"Excluir grupo de tarefas\",\"edit_assignment_group_c04c4af0\":\"Editar Grupo de Atribuição\",\"edit_c5fbea07\":\"Editar\",\"imported_from_posttosisname_f7cc9258\":\"Importado de %{postToSISName}\",\"manage_name_7f55f792\":\"Gerenciar %{name}\",\"move_assignment_contents_245c61bb\":\"Mover conteúdo da tarefa\",\"move_assignment_group_46e09fc3\":\"Mover Grupo de Atribuição\",\"move_contents_29713356\":\"Mover conteúdo...\",\"move_group_77ae285d\":\"Mover grupo...\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} do Total\"},\"ru\":{\"add_assignment_to_name_caf173b0\":\"Добавить задание для %{name}\",\"delete_a6efa79d\":\"Удалить\",\"delete_assignment_group_7c3b01c4\":\"Удалить группу заданий\",\"edit_assignment_group_c04c4af0\":\"Редактировать группу заданий\",\"edit_c5fbea07\":\"Редактировать\",\"imported_from_posttosisname_f7cc9258\":\"Импортировано из %{postToSISName}\",\"manage_name_7f55f792\":\"Управлять %{name}\",\"move_assignment_contents_245c61bb\":\"Переместить содержимое задания\",\"move_assignment_group_46e09fc3\":\"Переместить группу заданий\",\"move_contents_29713356\":\"Переместить содержимое...\",\"move_group_77ae285d\":\"Переместить группу...\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} из\"},\"sl\":{\"add_assignment_to_name_caf173b0\":\"Dodaj nalogo %{name}\",\"delete_a6efa79d\":\"Odstrani\",\"delete_assignment_group_7c3b01c4\":\"Izbriši skupino nalog\",\"edit_assignment_group_c04c4af0\":\"Uredi skupino nalog\",\"edit_c5fbea07\":\"Uredi\",\"imported_from_posttosisname_f7cc9258\":\"Uvoženo iz %{postToSISName}\",\"manage_name_7f55f792\":\"Urejaj %{name}\",\"move_assignment_contents_245c61bb\":\"Premakni vsebino naloge\",\"move_assignment_group_46e09fc3\":\"Premakni skupino nalog\",\"move_contents_29713356\":\"Premakni vsebino ...\",\"move_group_77ae285d\":\"Premakni skupino ...\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} od vsote\"},\"sv\":{\"add_assignment_to_name_caf173b0\":\"Lägg till uppgiften till %{name}\",\"delete_a6efa79d\":\"Radera\",\"delete_assignment_group_7c3b01c4\":\"Ta bort uppgiftsgrupp\",\"edit_assignment_group_c04c4af0\":\"Ändra uppgiftsgrupp\",\"edit_c5fbea07\":\"Redigera\",\"imported_from_posttosisname_f7cc9258\":\"Importerad från %{postToSISName}\",\"manage_name_7f55f792\":\"Hantera %{name}\",\"move_assignment_contents_245c61bb\":\"Flytta uppgiftsinnehåll\",\"move_assignment_group_46e09fc3\":\"Flytta uppgiftsgrupp\",\"move_contents_29713356\":\"Flytta innehållet...\",\"move_group_77ae285d\":\"Flytta grupp...\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} Av totalt\"},\"sv-x-k12\":{\"add_assignment_to_name_caf173b0\":\"Lägg till uppgiften till %{name}\",\"delete_a6efa79d\":\"Radera\",\"delete_assignment_group_7c3b01c4\":\"Ta bort uppgiftsgrupp\",\"edit_assignment_group_c04c4af0\":\"Ändra uppgiftsgrupp\",\"edit_c5fbea07\":\"Redigera\",\"imported_from_posttosisname_f7cc9258\":\"Importerad från %{postToSISName}\",\"manage_name_7f55f792\":\"Hantera %{name}\",\"move_assignment_contents_245c61bb\":\"Flytta uppgiftsinnehåll\",\"move_assignment_group_46e09fc3\":\"Flytta uppgiftsgrupp\",\"move_contents_29713356\":\"Flytta innehållet...\",\"move_group_77ae285d\":\"Flytta grupp...\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} Av totalt\"},\"tr\":{\"add_assignment_to_name_caf173b0\":\"%{name}'a Ödev Ekle\",\"delete_a6efa79d\":\"Sil\",\"delete_assignment_group_7c3b01c4\":\"Ödev Grubu Sil\",\"edit_assignment_group_c04c4af0\":\"Ödev Grubunu Düzenle\",\"edit_c5fbea07\":\"Düzenle\",\"manage_name_7f55f792\":\"%{name}'i Yönet\"},\"uk\":{\"add_assignment_to_name_caf173b0\":\"Додати завдання до %{name}\",\"delete_a6efa79d\":\"Видалити\",\"delete_assignment_group_7c3b01c4\":\"Видалити завдання для групи\",\"edit_assignment_group_c04c4af0\":\"Редагувати групу завдань\",\"edit_c5fbea07\":\"Редагувати\",\"imported_from_posttosisname_f7cc9258\":\"Імпортовано з  %{postToSISName}\",\"manage_name_7f55f792\":\"Керувати %{name}\",\"move_assignment_contents_245c61bb\":\"Перемістити Вміст Завдання\",\"move_assignment_group_46e09fc3\":\"Змістити завдання групи\",\"move_contents_29713356\":\"Перемістити Вміст…\",\"move_group_77ae285d\":\"Перемістити Групу…\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} від загальної кількості\"},\"zh-Hans\":{\"add_assignment_to_name_caf173b0\":\"添加作业到%{name}\",\"delete_a6efa79d\":\"删除\",\"delete_assignment_group_7c3b01c4\":\"删除作业小组\",\"edit_assignment_group_c04c4af0\":\"编辑作业小组\",\"edit_c5fbea07\":\"编辑\",\"imported_from_posttosisname_f7cc9258\":\"导入自%{postToSISName}\",\"manage_name_7f55f792\":\"管理 %{name}\",\"move_assignment_contents_245c61bb\":\"移动作业内容\",\"move_assignment_group_46e09fc3\":\"移动作业小组\",\"move_contents_29713356\":\"移动内容...\",\"move_group_77ae285d\":\"移动组...\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} 总共\"},\"zh-Hant\":{\"add_assignment_to_name_caf173b0\":\"添加任務至 %{name}\",\"delete_a6efa79d\":\"刪除\",\"delete_assignment_group_7c3b01c4\":\"刪除任務群組\",\"edit_assignment_group_c04c4af0\":\"編輯任務群組\",\"edit_c5fbea07\":\"編輯\",\"imported_from_posttosisname_f7cc9258\":\"匯入自%{postToSISName}\",\"manage_name_7f55f792\":\"管理 %{name}\",\"move_assignment_contents_245c61bb\":\"移動作業內容\",\"move_assignment_group_46e09fc3\":\"移動任務群組\",\"move_contents_29713356\":\"移動內容...\",\"move_group_77ae285d\":\"移動群組...\",\"n_groupweight_percentage_of_total_2ae4d996\":\"%{n_groupWeight_percentage} 佔總分的\"}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/assignments.assignment_group_list_item.js\n// module id = EIxvuImLJv\n// module chunks = 54","\n    define(['i18nObj', 'translations/assignments.no_assignments_search', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('assignments.no_assignments_search')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?assignments.no_assignments_search!./public/javascripts/dummyI18nResource.js\n// module id = EY5/RV8OE5\n// module chunks = 54","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"المهام\",\"assignments\":\"المهام\",\"no_assignments_found\":\"لم يتم العثور على مهام\"}}},\"cy\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"Aseiniadau\",\"assignments\":\"Aseiniadau\",\"no_assignments_found\":\"Heb ddod o hyd i aseiniadau\"}}},\"da\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"Opgaver\",\"assignments\":\"Opgaver\",\"no_assignments_found\":\"Der er ikke fundet opgaver\"}}},\"da-x-k12\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"Opgaver\",\"assignments\":\"Opgaver\",\"no_assignments_found\":\"Der er ikke fundet opgaver\"}}},\"de\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"Aufgaben\",\"assignments\":\"Aufgaben\",\"no_assignments_found\":\"Es wurde keine Aufgabenliste gefunden\"}}},\"el\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"Εργασίες\",\"assignments\":\"Εργασίες\",\"no_assignments_found\":\"Δεν βρέθηκαν εργασίες\"}}},\"en-AU\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"Assignments\",\"assignments\":\"Assignments\",\"no_assignments_found\":\"No assignments found\"}}},\"en-CA\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"Assignments\",\"assignments\":\"Assignments\",\"no_assignments_found\":\"No assignments found\"}}},\"en-GB\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"Assignments\",\"assignments\":\"Assignments\",\"no_assignments_found\":\"No assignments found\"}}},\"en-GB-x-lbs\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"Tasks\",\"assignments\":\"Tasks\",\"no_assignments_found\":\"No tasks found\"}}},\"en-GB-x-ukhe\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"Assignments\",\"assignments\":\"Assignments\",\"no_assignments_found\":\"No assignments found\"}}},\"es\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"Tareas\",\"assignments\":\"Tareas\",\"no_assignments_found\":\"No se encontraron tareas\"}}},\"fa\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"تکلیف ها\",\"assignments\":\"تکلیف ها\",\"no_assignments_found\":\"تکلیفی یافت نشد\"}}},\"fr\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"Tâches\",\"assignments\":\"Tâches\",\"no_assignments_found\":\"Aucun travail trouvé\"}}},\"fr-CA\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"Tâches\",\"assignments\":\"Tâches\",\"no_assignments_found\":\"Aucune tâche trouvé\"}}},\"he\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"משימות\",\"assignments\":\"משימות\",\"no_assignments_found\":\"לא נמצאו משימות\"}}},\"ht\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"Sesyon\",\"assignments\":\"Sesyon\",\"no_assignments_found\":\"Nou pa jwenn okenn Sesyon\"}}},\"hu\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"Feladatok\",\"assignments\":\"Feladatok\",\"no_assignments_found\":\"Nem található feladat\"}}},\"hy\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"Հանձնարարություններ\",\"assignments\":\"Հանձնարարություններ\",\"no_assignments_found\":\"Հանձնարարություններ չեն գտնվել\"}}},\"is\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"Verkefni\",\"assignments\":\"Verkefni\",\"no_assignments_found\":\"Engin verkefni fundust\"}}},\"it\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"Compiti\",\"assignments\":\"Compiti\",\"no_assignments_found\":\"Nessun compito trovato\"}}},\"ja\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"課題\",\"assignments\":\"課題\",\"no_assignments_found\":\"課題が見つかりません\"}}},\"ko\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"과제\",\"assignments\":\"과제\",\"no_assignments_found\":\"과제를 찾을 수 없음\"}}},\"mi\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"Ngā whakataunga\",\"assignments\":\"Ngā whakataunga\",\"no_assignments_found\":\"Kāore i kitea ngā whakataunga\"}}},\"nb\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"Oppgaver\",\"assignments\":\"Oppgaver\",\"no_assignments_found\":\"Ingen oppgaver funnet\"}}},\"nb-x-k12\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"Oppgaver\",\"assignments\":\"Oppgaver\",\"no_assignments_found\":\"Ingen oppgaver funnet\"}}},\"nl\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"Opdrachten\",\"assignments\":\"Opdrachten\",\"no_assignments_found\":\"Geen opdrachten gevonden\"}}},\"nn\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"Oppgåver\",\"assignments\":\"Oppgåver\",\"no_assignments_found\":\"Finn ikkje oppgåver\"}}},\"pl\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"Zadania\",\"assignments\":\"Zadania\",\"no_assignments_found\":\"Nie znaleziono zadań\"}}},\"pt\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"Tarefas\",\"assignments\":\"Tarefas\",\"no_assignments_found\":\"Não foram encontradas tarefas\"}}},\"pt-BR\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"Tarefas\",\"assignments\":\"Tarefas\",\"no_assignments_found\":\"Nenhuma tarefa encontrada\"}}},\"ru\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"Задания\",\"assignments\":\"Задания\",\"no_assignments_found\":\"Задания не найдены\"}}},\"sl\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"Naloge:\",\"assignments\":\"Naloge:\",\"no_assignments_found\":\"Nalog ni mogoče najti.\"}}},\"sv\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"Uppgifter\",\"assignments\":\"Uppgifter\",\"no_assignments_found\":\"Inga uppgifter hittades\"}}},\"sv-x-k12\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"Uppgifter\",\"assignments\":\"Uppgifter\",\"no_assignments_found\":\"Inga uppgifter hittades\"}}},\"tr\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"Ödevler\",\"assignments\":\"Ödevler\",\"no_assignments_found\":\"Ödevler bulunamadı\"}}},\"uk\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"Завдання\",\"assignments\":\"Завдання\",\"no_assignments_found\":\"Завдань не знайдено\"}}},\"zh-Hans\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"作业\",\"assignments\":\"作业\",\"no_assignments_found\":\"未找到作业\"}}},\"zh-Hant\":{\"assignments\":{\"no_assignments_search\":{\"aria_assignments\":\"任務\",\"assignments\":\"任務\",\"no_assignments_found\":\"找不到任務\"}}}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/assignments.no_assignments_search.js\n// module id = FIjcQDQcT/\n// module chunks = 54","export default function symbolObservablePonyfill(root) {\n\tvar result;\n\tvar Symbol = root.Symbol;\n\n\tif (typeof Symbol === 'function') {\n\t\tif (Symbol.observable) {\n\t\t\tresult = Symbol.observable;\n\t\t} else {\n\t\t\tresult = Symbol('observable');\n\t\t\tSymbol.observable = result;\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/symbol-observable/es/ponyfill.js\n// module id = Fnm7zTFVQX\n// module chunks = 2 10 27 28 29 30 31 32 33 34 35 36 37 38 39 42 43 46 49 52 53 54 55 57 65 67 69 74 78 91 386","/*\n * Copyright (C) 2016 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport axios from 'axios'\n\n  const IndexMenuActions = {\n\n    // Define 'constants' for types\n    SET_MODAL_OPEN: 'SET_MODAL_OPEN',\n    LAUNCH_TOOL: 'LAUNCH_TOOL',\n    SET_TOOLS: 'SET_TOOLS',\n    SET_WEIGHTED: 'SET_WEIGHTED',\n\n    setModalOpen (value) {\n      return {\n        type: this.SET_MODAL_OPEN,\n        payload: !!value,\n      };\n    },\n\n    launchTool (tool) {\n      return {\n        type: this.LAUNCH_TOOL,\n        payload: tool,\n      };\n    },\n\n    apiGetLaunches (ajaxLib, endpoint) {\n      return (dispatch) => {\n        (ajaxLib || axios).get(endpoint)\n          .then((response) => {\n            dispatch({\n              type: this.SET_TOOLS,\n              payload: response.data,\n            });\n          })\n          .catch((response) => {\n            throw new Error(response);\n          });\n      }\n    },\n\n    setWeighted (value) {\n      return {\n        type: this.SET_WEIGHTED,\n        payload: value,\n      };\n    }\n  };\n\nexport default IndexMenuActions\n\n\n\n// WEBPACK FOOTER //\n// ./app/jsx/assignments/actions/IndexMenuActions.js","\n    define('jst/assignments/AssignmentGroupList', [\"handlebars/runtime\",\"i18n!assignments.assignment_group_list\",\"coffeescripts/handlebars_helpers.coffee\"], function(Handlebars){\n      Handlebars = Handlebars.default\n      var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};\n      var name = 'assignments/AssignmentGroupList';\n      templates[name] = template(function (Handlebars,depth0,helpers,partials,data) {\n  this.compilerInfo = [4,'>= 1.0.0'];\nhelpers = this.merge(helpers, Handlebars.helpers); data = data || {};\n  var buffer = \"\", stack1, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, self=this;\n\nfunction program1(depth0,data) {\n  \n  \n  return \"\\n  <ul class=\\\"collectionViewItems ig-list\\\"></ul>\\n\";\n  }\n\nfunction program3(depth0,data) {\n  \n  var buffer = \"\", stack1;\n  buffer += \"\\n  \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.firstResetLanded), {hash:{},inverse:self.program(6, program6, data),fn:self.program(4, program4, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n\";\n  return buffer;\n  }\nfunction program4(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n    <ul class=\\\"collectionViewItems ig-list\\\">\\n      <li>\\n        <div class=\\\"ig-row ig-row-empty\\\">\\n          <div class=\\\"ig-empty-msg\\\">\\n            \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.assignment_group_list\")\n  },data:data},helper ? helper.call(depth0, \"no_assignment_groups\", \"No Assignment Groups found\", options) : helperMissing.call(depth0, \"t\", \"no_assignment_groups\", \"No Assignment Groups found\", options)))\n    + \"\\n          </div>\\n        </div>\\n      </li>\\n    </ul>\\n  \";\n  return buffer;\n  }\n\nfunction program6(depth0,data) {\n  \n  \n  return \"\\n    <div class=\\\"loadingIndicator\\\"></div>\\n  \";\n  }\n\n  stack1 = helpers['if'].call(depth0, ((stack1 = (depth0 && depth0.collection)),stack1 == null || stack1 === false ? stack1 : stack1.length), {hash:{},inverse:self.program(3, program3, data),fn:self.program(1, program1, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n\";\n  return buffer;\n  });\n      ;\n      ;\n      return templates[name];\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./app/views/jst/assignments/AssignmentGroupList.handlebars\n// module id = HTngTi9vd5\n// module chunks = 54","#\n# Copyright (C) 2013 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  '../../util/round'\n  'i18n!assignments'\n  'jquery'\n  'underscore'\n  'jsx/shared/helpers/numberHelper'\n  '../../models/AssignmentGroup'\n  '../../collections/NeverDropCollection'\n  './NeverDropCollectionView'\n  '../DialogFormView'\n  'jst/assignments/CreateGroup'\n  'jst/EmptyDialogFormWrapper'\n  '../../jquery.rails_flash_notifications'\n], (round, I18n, $, _, numberHelper, AssignmentGroup, NeverDropCollection, NeverDropCollectionView, DialogFormView, template, wrapper) ->\n\n  SHORT_HEIGHT = 250\n\n  class CreateGroupView extends DialogFormView\n    defaults:\n      width: 600\n      height: 500\n\n    events: _.extend({}, @::events,\n      'click .dialog_closer': 'close'\n      'blur .group_weight': 'roundWeight'\n    )\n\n    els:\n      '.never_drop_rules_group': '$neverDropContainer'\n\n    template: template\n    wrapperTemplate: wrapper\n\n    @optionProperty 'assignmentGroups'\n    @optionProperty 'assignmentGroup'\n    @optionProperty 'course'\n    @optionProperty 'userIsAdmin'\n\n    messages:\n      non_number: I18n.t('You must use a number')\n      positive_number: I18n.t('You must use a positive number')\n      max_number: I18n.t('You cannot use a number greater than the number of assignments')\n      no_name_error: I18n.t('A name is required')\n      name_too_long_error: I18n.t('Name is too long')\n\n    initialize: ->\n      super\n      #@assignmentGroup will be defined when editing\n      @model = @assignmentGroup or new AssignmentGroup(assignments: [])\n\n    onSaveSuccess: ->\n      super\n      # meaning we are editing\n      if @assignmentGroup\n        # trigger instead of calling render directly\n        @model.collection.trigger 'render', @model.collection\n      else\n        @assignmentGroups.add(@model)\n        @model = new AssignmentGroup(assignments: [])\n\n        @render()\n\n      # we do this here because the re-render above causes the default focus\n      # from DialogFormView not to stick\n      setTimeout((=>\n        $.flashMessage(I18n.t(\"Assignment group was saved successfully\"))\n        @focusReturnsTo()?.focus()\n      ), 0)\n\n    getFormData: ->\n      data = super\n      if data.rules\n        delete data.rules.drop_lowest if _.contains([\"\", \"0\"], data.rules.drop_lowest)\n        delete data.rules.drop_highest if _.contains([\"\", \"0\"], data.rules.drop_highest)\n        delete data.rules.never_drop if data.rules.never_drop?.length == 0\n      data.group_weight = round(numberHelper.parse(data.group_weight), 2)\n      data\n\n    validateFormData: (data) ->\n      max = 0\n      if @assignmentGroup\n        as = @assignmentGroup.get('assignments')\n        max = as.size() if as?\n      errors = {}\n      if data.name.length > 255\n        errors[\"name\"] = [{type: 'name_too_long_error', message: @messages.name_too_long_error}]\n      if data.name == \"\"\n        errors[\"name\"] = [{type: 'no_name_error', message: @messages.no_name_error}]\n      if (data.group_weight && isNaN(numberHelper.parse(data.group_weight)))\n        errors[\"group_weight\"] = [{type: 'number', message: @messages.non_number}]\n      _.each data.rules, (value, name) =>\n        # don't want to validate the never_drop field\n        return if name is 'never_drop'\n        val = Math.floor(numberHelper.parse(value))\n        field = \"rules[#{name}]\"\n        if isNaN(val)\n          errors[field] = [{type: 'number', message: @messages.non_number}]\n        if val < 0\n          errors[field] = [{type: 'positive_number', message: @messages.positive_number}]\n        if val > max\n          errors[field] = [{type: 'maximum', message: @messages.max_number}]\n      errors\n\n    showWeight: ->\n      course = @course or @model.collection?.course\n      course?.get('apply_assignment_group_weights')\n\n    canChangeWeighting: ->\n      @userIsAdmin or not @model.anyAssignmentInClosedGradingPeriod()\n\n    checkGroupWeight: ->\n      if @showWeight() and @canChangeWeighting()\n        @$el.find('.group_weight').removeAttr(\"readonly\", \"aria-disabled\")\n      else\n        @$el.find('.group_weight').attr(\"readonly\", \"readonly\").attr(\"aria-disabled\", true)\n\n    getNeverDrops: ->\n      @$neverDropContainer.empty()\n      rules = @model.rules()\n      @never_drops = new NeverDropCollection [],\n        assignments: @model.get('assignments')\n        ag_id: @model.get('id') or 'new'\n\n      @ndCollectionView = new NeverDropCollectionView\n        canChangeDropRules: @canChangeWeighting()\n        collection: @never_drops\n\n      @$neverDropContainer.append @ndCollectionView.render().el\n      if rules && rules.never_drop\n        @never_drops.reset rules.never_drop,\n          parse: true\n\n    roundWeight: (e) ->\n      value = $(e.target).val()\n      rounded_value = round(numberHelper.parse(value), 2)\n      if isNaN(rounded_value)\n        return\n      else\n        $(e.target).val(I18n.n(rounded_value))\n\n    toJSON: ->\n      data = @model.toJSON()\n      _.extend(data, {\n        show_weight: @showWeight()\n        can_change_weighting: @canChangeWeighting()\n        group_weight: if @showWeight() then data.group_weight else null\n        label_id: @model.get('id') or 'new'\n        drop_lowest: @model.rules()?.drop_lowest or 0\n        drop_highest: @model.rules()?.drop_highest or 0\n        editable_drop: @model.get('assignments').length > 0\n        #Safari is not fully compatiable with html5 validation - needs to be set to text instead to ensure our validations work\n        number_input: if !!navigator.userAgent.match(/Version\\/[\\d\\.]+.*Safari/) then \"text\" else \"number\"\n      })\n\n    openAgain: ->\n      if @model.get('assignments').length == 0\n        @setDimensions(this.defaults.width, SHORT_HEIGHT)\n\n      super\n      @checkGroupWeight()\n      @getNeverDrops()\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/views/assignments/CreateGroupView.coffee","#\n# Copyright (C) 2011 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n\ndefine [\n  'underscore'\n  'Backbone'\n], (_, {Model}) ->\n\n  class Course extends Model\n    modelType: 'course'\n    resourceName: 'courses'\n\n    toJSON: ->\n      {course: _.omit(@attributes, 'id', 'calendar', 'enrollments', 'workflow_state')}\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/models/Course.coffee","\n    define(['i18nObj', 'translations/external_tools', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('external_tools')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?external_tools!./public/javascripts/dummyI18nResource.js\n// module id = IdaxkRBYi1\n// module chunks = 54 82 84 109","/*\n * Copyright (C) 2017 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport I18n from 'i18n!move_select'\nimport React from 'react'\nimport { func, arrayOf } from 'prop-types'\nimport Select from '@instructure/ui-core/lib/components/Select'\nimport Button from '@instructure/ui-buttons/lib/components/Button'\nimport View from '@instructure/ui-layout/lib/components/View'\nimport Text from '@instructure/ui-elements/lib/components/Text'\nimport ScreenReaderContent from '@instructure/ui-a11y/lib/components/ScreenReaderContent'\n\nimport ConnectorIcon from './ConnectorIcon'\nimport { itemShape, moveOptionsType } from './propTypes'\nimport { positions } from './positions'\n\nexport default class MoveSelect extends React.Component {\n  static propTypes = {\n    items: arrayOf(itemShape).isRequired,\n    moveOptions: moveOptionsType.isRequired,\n    onSelect: func.isRequired,\n    onClose: func.isRequired\n  }\n\n  constructor(props) {\n    super(props)\n    this.state = {\n      selectedGroup: this.props.moveOptions.groups && this.getFilteredGroups()[0],\n      selectedPosition: positions.first,\n      selectedSibling: 0,\n    }\n  }\n\n  selectGroup = (e) => {\n    this.setState({ selectedGroup: this.props.moveOptions.groups.find(group => group.id === e.target.value) || null })\n  }\n\n  selectPosition = (e) => {\n    this.setState({ selectedPosition: positions[e.target.value] || null })\n  }\n\n  selectSibling = (e) => {\n    this.setState({ selectedSibling: e.target.value === '' ? 0 : Number(e.target.value) })\n  }\n\n  submitSelection = () => {\n    const { items, moveOptions } = this.props\n    const { selectedGroup, selectedPosition, selectedSibling } = this.state\n    let order = items.map(({ id }) => id)\n    if (selectedPosition) {\n      const itemsInGroup = selectedGroup ? selectedGroup.items : moveOptions.siblings\n      order = selectedPosition.apply({\n        items: items.map(({ id }) => id),\n        order: itemsInGroup.map(({ id }) => id),\n        relativeTo: selectedSibling,\n      })\n    }\n\n    this.props.onSelect({\n      groupId: moveOptions.groups ? selectedGroup.id : null,\n      itemIds: items.map(({ id }) => id),\n      order,\n    })\n  }\n\n  hasSelectedPosition () {\n    const { selectedSibling, selectedPosition } = this.state\n    const isAbsolute = selectedPosition && selectedPosition.type === 'absolute'\n    return !!selectedPosition && (isAbsolute || selectedSibling !== null)\n  }\n\n  getFilteredGroups() {\n    const { moveOptions, items } = this.props\n    let { groups } = moveOptions\n    if (moveOptions.excludeCurrent && items[0].groupId) {\n      groups = groups.filter(group => group.id !== items[0].groupId)\n    }\n    return groups\n  }\n\n  isDoneSelecting () {\n    const { selectedGroup } = this.state\n    if (this.props.moveOptions.groups) {\n      if (selectedGroup && selectedGroup.items && selectedGroup.items.length) {\n        return this.hasSelectedPosition()\n      } else {\n        return !!selectedGroup\n      }\n    } else {\n      return this.hasSelectedPosition()\n    }\n  }\n\n  renderSelect ({ label, onChange, options, className,  selectOneDefault}) {\n    return (\n      <View margin=\"medium 0\" display=\"block\" className={className}>\n        <Select\n          label={<ScreenReaderContent>{label}</ScreenReaderContent>}\n          onChange={onChange}\n          >\n          {selectOneDefault && (<option>{I18n.t('Select one')}</option>)}\n          {options}\n        </Select>\n      </View>\n    )\n  }\n\n  renderSelectGroup () {\n    const { selectedGroup } = this.state\n    const selectPosition = !!(selectedGroup && selectedGroup.items && selectedGroup.items.length)\n    const groups = this.getFilteredGroups(this.props)\n    return (\n      <div>\n        {this.renderSelect({\n          label: I18n.t('Group Select'),\n          className: 'move-select__group',\n          onChange: this.selectGroup,\n          options: groups.map(group =>\n            <option key={group.id} value={group.id}>{group.title}</option>),\n          selectOneDefault: false\n        })}\n        {selectPosition ? this.renderSelectPosition(selectedGroup.items) : null}\n      </div>\n    )\n  }\n\n  renderSelectPosition (items) {\n    const { selectedPosition } = this.state\n    const selectSibling = !!(selectedPosition && selectedPosition.type === 'relative')\n    return (\n      <div>\n        {this.renderPlaceTitle()}\n        {this.renderSelect({\n          label: I18n.t('Position Select'),\n          className: 'move-select__position',\n          onChange: this.selectPosition,\n          options: Object.keys(positions).map((pos) =>\n            <option key={pos} value={pos}>{positions[pos].label}</option>),\n          selectOneDefault: false\n        })}\n        {selectSibling ? (\n          <div>\n            <ConnectorIcon aria-hidden style={{ position: 'absolute', transform: 'translate(-15px, -35px)' }} />\n            {this.renderSelectSibling(items)}\n          </div>) : null}\n      </div>\n    )\n  }\n\n  renderSelectSibling (items) {\n    const filteredItems = items.filter(item => item.id !== this.props.items[0].id)\n    return this.renderSelect({\n      label: I18n.t('Item Select'),\n      className: 'move-select__sibling',\n      onChange: this.selectSibling,\n      options: filteredItems.map((item, index) =>\n        <option key={item.id} value={index}>{item.title}</option>),\n      selectOneDefault: false\n    })\n  }\n\n  renderPlaceTitle() {\n    const title = (this.props.moveOptions.groups) ?\n      I18n.t('Place') :\n      I18n.t('Place \"%{title}\"', { title: this.props.items[0].title })\n    return (\n      <Text weight='bold'>{title}</Text>\n    )\n  }\n\n  render () {\n    const { siblings, groups } = this.props.moveOptions\n    return (\n      <div className=\"move-select\">\n        {this.props.moveOptions.groupsLabel &&\n          <Text weight='bold'>{this.props.moveOptions.groupsLabel}</Text>}\n        {groups\n          ? this.renderSelectGroup()\n          : this.renderSelectPosition(siblings)}\n        {(\n          <View textAlign=\"end\" display=\"block\">\n            <hr aria-hidden=\"true\"/>\n            <Button id=\"move-item-tray-cancel-button\" onClick={this.props.onClose} margin=\"0 x-small 0 0\">{I18n.t('Cancel')}</Button>\n            <Button\n              id=\"move-item-tray-submit-button\"\n              disabled={!this.isDoneSelecting()}\n              type=\"submit\" variant=\"primary\"\n              onClick={this.submitSelection}\n              margin=\"0 x-small 0 0\">{I18n.t('Move')}</Button>\n          </View>\n        )}\n      </div>\n    )\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/jsx/move_item/MoveSelect.js","/*\n * Copyright (C) 2019 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport tinymce from 'compiled/editor/stocktiny'\n\nexport default function sanitizeHtml(html) {\n  return new tinymce.html.Serializer().serialize(new tinymce.html.DomParser().parse(html));\n}\n\n\n// WEBPACK FOOTER //\n// ./app/jsx/shared/sanitizeHtml.js","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"assignment_groups_weight_2f1a5a7c\":\"وزن مجموعات المهمة\",\"assignment_options_1e5b7074\":\"خيارات التعيين\",\"assignments_settings_30613d0c\":\"إعدادات المهام\",\"disable_sync_to_name_10c371dc\":\"تعطيل المزامنة إلى %{name}\"},\"cy\":{\"assignment_groups_weight_2f1a5a7c\":\"Pwysoliad Grwpiau Aseiniadau\",\"assignment_options_1e5b7074\":\"Opsiynau Aseiniad\",\"assignments_settings_30613d0c\":\"Gosodiadau Aseiniadau\",\"disable_sync_to_name_10c371dc\":\"Analluogi’r broses Cysoni â %{name}\"},\"da\":{\"assignment_groups_weight_2f1a5a7c\":\"Vægtning af opgavegruppe\",\"assignment_options_1e5b7074\":\"Opgaveindstillinger\",\"assignments_settings_30613d0c\":\"Opgaveindstillinger\",\"disable_sync_to_name_10c371dc\":\"Deaktiver synkronisering til %{name}\"},\"da-x-k12\":{\"assignment_groups_weight_2f1a5a7c\":\"Vægtning af opgavegruppe\",\"assignment_options_1e5b7074\":\"Opgaveindstillinger\",\"assignments_settings_30613d0c\":\"Opgaveindstillinger\",\"disable_sync_to_name_10c371dc\":\"Deaktiver synkronisering til %{name}\"},\"de\":{\"assignment_groups_weight_2f1a5a7c\":\"Gewichtung der Aufgabengruppen\",\"assignment_options_1e5b7074\":\"Aufgabenoptionen\",\"assignments_settings_30613d0c\":\"Aufgabeneinstellungen\",\"disable_sync_to_name_10c371dc\":\"Deaktivieren der Synchronisierung mit %{name}\"},\"el\":{\"assignment_options_1e5b7074\":\"Επιλογές Εργασίας\",\"assignments_settings_30613d0c\":\"Ρυθμίσεις Εργασιών\"},\"en-AU\":{\"assignment_groups_weight_2f1a5a7c\":\"Assignment Groups Weight\",\"assignment_options_1e5b7074\":\"Assignment Options\",\"assignments_settings_30613d0c\":\"Assignments Settings\",\"disable_sync_to_name_10c371dc\":\"Disable Sync to %{name}\"},\"en-CA\":{\"assignment_groups_weight_2f1a5a7c\":\"Assignment Groups Weight\",\"assignment_options_1e5b7074\":\"Assignment Options\",\"assignments_settings_30613d0c\":\"Assignments Settings\",\"disable_sync_to_name_10c371dc\":\"Disable Sync to %{name}\"},\"en-GB\":{\"assignment_groups_weight_2f1a5a7c\":\"Assignment groups weight\",\"assignment_options_1e5b7074\":\"Assignment options\",\"assignments_settings_30613d0c\":\"Assignments settings\",\"disable_sync_to_name_10c371dc\":\"Disable Sync to %{name}\"},\"en-GB-x-lbs\":{\"assignment_groups_weight_2f1a5a7c\":\"Task groups weight\",\"assignment_options_1e5b7074\":\"Task options\",\"assignments_settings_30613d0c\":\"Tasks settings\",\"disable_sync_to_name_10c371dc\":\"Disable Sync to %{name}\"},\"en-GB-x-ukhe\":{\"assignment_groups_weight_2f1a5a7c\":\"Assignment groups weight\",\"assignment_options_1e5b7074\":\"Assignment options\",\"assignments_settings_30613d0c\":\"Assignments settings\",\"disable_sync_to_name_10c371dc\":\"Disable Sync to %{name}\"},\"es\":{\"assignment_groups_weight_2f1a5a7c\":\"Peso de los grupos de tareas\",\"assignment_options_1e5b7074\":\"Opciones de tarea\",\"assignments_settings_30613d0c\":\"Configuración de tareas\",\"disable_sync_to_name_10c371dc\":\"Desactivar sincronización con %{name}\"},\"fa\":{\"assignment_groups_weight_2f1a5a7c\":\"وزن گروه‌های تکلیف\",\"assignment_options_1e5b7074\":\"گزینه های تکلیف\",\"assignments_settings_30613d0c\":\"تنظیمات تکلیف ها\",\"disable_sync_to_name_10c371dc\":\"غیرفعال کردن همگام‌سازی برای %{name}\"},\"fr\":{\"assignment_groups_weight_2f1a5a7c\":\"Poids du groupe de travail\",\"assignment_options_1e5b7074\":\"Options de la tâche\",\"assignments_settings_30613d0c\":\"Paramètres des travaux\",\"disable_sync_to_name_10c371dc\":\"Désactiver la synchronisation vers %{name}\"},\"fr-CA\":{\"assignment_groups_weight_2f1a5a7c\":\"Pondération des groupes de tâches\",\"assignment_options_1e5b7074\":\"Options de l'évaluation\",\"assignments_settings_30613d0c\":\"Paramètres des tâches\",\"disable_sync_to_name_10c371dc\":\"Désactiver la synchronisation pour %{name}\"},\"he\":{\"assignment_groups_weight_2f1a5a7c\":\"משקל קבוצות מטלה\",\"assignment_options_1e5b7074\":\"אפשרויות משימה\",\"assignments_settings_30613d0c\":\"הגדרת מטלות\",\"disable_sync_to_name_10c371dc\":\"ניטרול סינכרוניזציה אל %{name}\"},\"ht\":{\"assignment_groups_weight_2f1a5a7c\":\"Ponderasyon Sesyon Gwoup\",\"assignment_options_1e5b7074\":\"Opsyon Sesyon\",\"assignments_settings_30613d0c\":\"Paramèt Sesyon\",\"disable_sync_to_name_10c371dc\":\"Dezaktive Sync pou %{name}\"},\"hu\":{\"assignments_settings_30613d0c\":\"Feladatbeállítások\"},\"hy\":{\"assignment_options_1e5b7074\":\"Հանձնարարության տարբերակներ\"},\"is\":{\"assignment_groups_weight_2f1a5a7c\":\"Vægi verkefnahópa\",\"assignment_options_1e5b7074\":\"Verkefniskostir\",\"assignments_settings_30613d0c\":\"Verkefnastillingar\",\"disable_sync_to_name_10c371dc\":\"Óvirkja samstillingu við %{name}\"},\"it\":{\"assignment_groups_weight_2f1a5a7c\":\"Peso gruppi compiti\",\"assignment_options_1e5b7074\":\"Opzioni compiti\",\"assignments_settings_30613d0c\":\"Impostazioni compiti\",\"disable_sync_to_name_10c371dc\":\"Disattiva sincronizzazione con %{name}\"},\"ja\":{\"assignment_groups_weight_2f1a5a7c\":\"課題グループ重量\",\"assignment_options_1e5b7074\":\"課題のオプション\",\"assignments_settings_30613d0c\":\"課題設定\",\"disable_sync_to_name_10c371dc\":\"～への同期を無効にする%{name}\"},\"mi\":{\"assignment_groups_weight_2f1a5a7c\":\"Ngā Rōpu Taimaha Whakataunga\",\"assignment_options_1e5b7074\":\"Ngā Kōwhiringa Whakataunga\",\"assignments_settings_30613d0c\":\"Nga Tautuhinga Whakataunga\",\"disable_sync_to_name_10c371dc\":\"Monkiao Sync kī %{name}\"},\"nb\":{\"assignment_groups_weight_2f1a5a7c\":\"Vekting for oppgavegrupper\",\"assignment_options_1e5b7074\":\"Oppgavevalg\",\"assignments_settings_30613d0c\":\"Oppgaveinnstillinger\",\"disable_sync_to_name_10c371dc\":\"Deaktivere synkronisering til %{name}\"},\"nb-x-k12\":{\"assignment_groups_weight_2f1a5a7c\":\"Vekting for oppgavegrupper\",\"assignment_options_1e5b7074\":\"Oppgavevalg\",\"assignments_settings_30613d0c\":\"Oppgaveinnstillinger\",\"disable_sync_to_name_10c371dc\":\"Deaktivere synkronisering til %{name}\"},\"nl\":{\"assignment_groups_weight_2f1a5a7c\":\"Opdracht Groepswegingen\",\"assignment_options_1e5b7074\":\"Opdrachtopties\",\"assignments_settings_30613d0c\":\"Opdrachtinstellingen\",\"disable_sync_to_name_10c371dc\":\"Uitschakelen van Synchroniseren naar %{name}\"},\"nn\":{\"assignment_groups_weight_2f1a5a7c\":\"Oppgåvegruppevekting\",\"assignment_options_1e5b7074\":\"Oppgåvealternativ\",\"assignments_settings_30613d0c\":\"Oppgåveinnstillingar\",\"disable_sync_to_name_10c371dc\":\"Slå av synkronisering til %{name}\"},\"pl\":{\"assignment_groups_weight_2f1a5a7c\":\"Waga grup zadań\",\"assignment_options_1e5b7074\":\"Opcje zadania\",\"assignments_settings_30613d0c\":\"Ustawienia zadania\",\"disable_sync_to_name_10c371dc\":\"Wyłącz synchronizację z %{name}\"},\"pt\":{\"assignment_groups_weight_2f1a5a7c\":\"Ponderação do grupo de tarefa\",\"assignment_options_1e5b7074\":\"Opções de tarefa\",\"assignments_settings_30613d0c\":\"Definições de tarefas\",\"disable_sync_to_name_10c371dc\":\"Desativar sincronização para %{name}\"},\"pt-BR\":{\"assignment_groups_weight_2f1a5a7c\":\"Peso do grupo de tarefas\",\"assignment_options_1e5b7074\":\"Opções de tarefa\",\"assignments_settings_30613d0c\":\"Configurações de tarefas\",\"disable_sync_to_name_10c371dc\":\"Desabilitar sincronização a %{name}\"},\"ru\":{\"assignment_groups_weight_2f1a5a7c\":\"Весовой коэффициент группы заданий\",\"assignment_options_1e5b7074\":\"Опции задания\",\"assignments_settings_30613d0c\":\"Настройки заданий\",\"disable_sync_to_name_10c371dc\":\"Отключить синхронизацию с %{name}\"},\"sl\":{\"assignment_groups_weight_2f1a5a7c\":\"Uteži skupine nalog\",\"assignment_options_1e5b7074\":\"Možnosti naloge\",\"assignments_settings_30613d0c\":\"Nastavitve nalog\",\"disable_sync_to_name_10c371dc\":\"Onemogoči sinhronizacijo za %{name}\"},\"sv\":{\"assignment_groups_weight_2f1a5a7c\":\"Viktning för Uppgiftsgrupper\",\"assignment_options_1e5b7074\":\"Uppgiftsalternativ\",\"assignments_settings_30613d0c\":\"Uppgiftsinställningar\",\"disable_sync_to_name_10c371dc\":\"Avaktivera synkronisering för %{name}\"},\"sv-x-k12\":{\"assignment_groups_weight_2f1a5a7c\":\"Viktning för Uppgiftsgrupper\",\"assignment_options_1e5b7074\":\"Uppgiftsalternativ\",\"assignments_settings_30613d0c\":\"Uppgiftsinställningar\",\"disable_sync_to_name_10c371dc\":\"Avaktivera synkronisering för %{name}\"},\"tr\":{\"assignment_groups_weight_2f1a5a7c\":\"Ödev Grup Ağırlığı\",\"assignment_options_1e5b7074\":\"Ödev Seçenekleri\",\"assignments_settings_30613d0c\":\"Ödev Ayarları\"},\"uk\":{\"assignment_groups_weight_2f1a5a7c\":\"Ваги групових завдань\",\"assignment_options_1e5b7074\":\"Варіанти завдання\",\"assignments_settings_30613d0c\":\"Налаштування завдання\",\"disable_sync_to_name_10c371dc\":\"Вимкнути синхронізацію для  %{name}\"},\"zh-Hans\":{\"assignment_groups_weight_2f1a5a7c\":\"作业组权重\",\"assignment_options_1e5b7074\":\"作业选项\",\"assignments_settings_30613d0c\":\"作业设置\",\"disable_sync_to_name_10c371dc\":\"禁用同步到%{name}\"},\"zh-Hant\":{\"assignment_groups_weight_2f1a5a7c\":\"作業小組佔分\",\"assignment_options_1e5b7074\":\"作業選項\",\"assignments_settings_30613d0c\":\"任務設定\",\"disable_sync_to_name_10c371dc\":\"停用下列項目同步功能：%{name}\"}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/assignment_index_menu.js\n// module id = KGC7edhosR\n// module chunks = 54","\n    define(['i18nObj', 'translations/assignments.delete_group', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('assignments.delete_group')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?assignments.delete_group!./public/javascripts/dummyI18nResource.js\n// module id = KIrohaTv8a\n// module chunks = 54","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"after_48b9d69\":\"بعد..\",\"at_the_bottom_a6a5f0fe\":\"في الأسفل\",\"at_the_top_fa836591\":\"في الأعلى\",\"before_cb32fc0\":\"قبل..\"},\"cy\":{\"after_48b9d69\":\"Ar ôl...\",\"at_the_bottom_a6a5f0fe\":\"Ar y Gwaelod\",\"at_the_top_fa836591\":\"Ar y Brig\",\"before_cb32fc0\":\"Cyn...\"},\"da\":{\"after_48b9d69\":\"Efter ...\",\"at_the_bottom_a6a5f0fe\":\"Nederst\",\"at_the_top_fa836591\":\"Øverst\",\"before_cb32fc0\":\"Før ...\"},\"da-x-k12\":{\"after_48b9d69\":\"Efter ...\",\"at_the_bottom_a6a5f0fe\":\"Nederst\",\"at_the_top_fa836591\":\"Øverst\",\"before_cb32fc0\":\"Før ...\"},\"de\":{\"after_48b9d69\":\"Nach ...\",\"at_the_bottom_a6a5f0fe\":\"Ganz unteren\",\"at_the_top_fa836591\":\"Ganz oben\",\"before_cb32fc0\":\"Vor ...\"},\"el\":{\"after_48b9d69\":\"Έπειτα...\"},\"en-AU\":{\"after_48b9d69\":\"After..\",\"at_the_bottom_a6a5f0fe\":\"At the Bottom\",\"at_the_top_fa836591\":\"At the Top\",\"before_cb32fc0\":\"Before..\"},\"en-CA\":{\"after_48b9d69\":\"After..\",\"at_the_bottom_a6a5f0fe\":\"At the Bottom\",\"at_the_top_fa836591\":\"At the Top\",\"before_cb32fc0\":\"Before..\"},\"en-GB\":{\"after_48b9d69\":\"After...\",\"at_the_bottom_a6a5f0fe\":\"At the bottom\",\"at_the_top_fa836591\":\"At the top\",\"before_cb32fc0\":\"Before…\"},\"en-GB-x-lbs\":{\"after_48b9d69\":\"After...\",\"at_the_bottom_a6a5f0fe\":\"At the bottom\",\"at_the_top_fa836591\":\"At the top\",\"before_cb32fc0\":\"Before…\"},\"en-GB-x-ukhe\":{\"after_48b9d69\":\"After...\",\"at_the_bottom_a6a5f0fe\":\"At the bottom\",\"at_the_top_fa836591\":\"At the top\",\"before_cb32fc0\":\"Before…\"},\"es\":{\"after_48b9d69\":\"Después...\",\"at_the_bottom_a6a5f0fe\":\"En la parte inferior\",\"at_the_top_fa836591\":\"En la parte superior\",\"before_cb32fc0\":\"Antes...\"},\"fa\":{\"after_48b9d69\":\"بعد از ..\",\"at_the_bottom_a6a5f0fe\":\"در پایین\",\"at_the_top_fa836591\":\"در بالا\",\"before_cb32fc0\":\"قبل از..\"},\"fr\":{\"after_48b9d69\":\"Après...\",\"at_the_bottom_a6a5f0fe\":\"En bas\",\"at_the_top_fa836591\":\"En haut\",\"before_cb32fc0\":\"Avant...\"},\"fr-CA\":{\"after_48b9d69\":\"Après..\",\"at_the_bottom_a6a5f0fe\":\"En bas\",\"at_the_top_fa836591\":\"En haut\",\"before_cb32fc0\":\"Avant..\"},\"he\":{\"after_48b9d69\":\"לאחר...\",\"at_the_bottom_a6a5f0fe\":\"בתחתית\",\"at_the_top_fa836591\":\"בכותרת\",\"before_cb32fc0\":\"לפני..\"},\"ht\":{\"after_48b9d69\":\"Aprè...\",\"at_the_bottom_a6a5f0fe\":\"Anba\",\"at_the_top_fa836591\":\"Anlè\",\"before_cb32fc0\":\"Anvan...\"},\"hu\":{\"after_48b9d69\":\"Után...\",\"at_the_bottom_a6a5f0fe\":\"A lap alján\",\"at_the_top_fa836591\":\"A lap tetején\",\"before_cb32fc0\":\"Előtte...\"},\"is\":{\"after_48b9d69\":\"Eftir...\",\"at_the_bottom_a6a5f0fe\":\"Neðst\",\"at_the_top_fa836591\":\"Efst\",\"before_cb32fc0\":\"Áður...\"},\"it\":{\"after_48b9d69\":\"Dopo...\",\"at_the_bottom_a6a5f0fe\":\"In basso\",\"at_the_top_fa836591\":\"In alto\",\"before_cb32fc0\":\"Prima...\"},\"ja\":{\"after_48b9d69\":\"...後\",\"at_the_bottom_a6a5f0fe\":\"下へ\",\"at_the_top_fa836591\":\"上へ\",\"before_cb32fc0\":\"...前\"},\"mi\":{\"after_48b9d69\":\"I muri ake..\",\"at_the_bottom_a6a5f0fe\":\"I raro\",\"at_the_top_fa836591\":\"I runga\",\"before_cb32fc0\":\"I mua .....\"},\"nb\":{\"after_48b9d69\":\"Etter..\",\"at_the_bottom_a6a5f0fe\":\"Ved bunnen\",\"at_the_top_fa836591\":\"Ved toppen\",\"before_cb32fc0\":\"Før..\"},\"nb-x-k12\":{\"after_48b9d69\":\"Etter..\",\"at_the_bottom_a6a5f0fe\":\"Ved bunnen\",\"at_the_top_fa836591\":\"Ved toppen\",\"before_cb32fc0\":\"Før..\"},\"nl\":{\"after_48b9d69\":\"Na...\",\"at_the_bottom_a6a5f0fe\":\"Onderaan\",\"at_the_top_fa836591\":\"Bovenaan\",\"before_cb32fc0\":\"Voor...\"},\"nn\":{\"after_48b9d69\":\"Etter..\",\"at_the_bottom_a6a5f0fe\":\"Nedst\",\"at_the_top_fa836591\":\"Øvst\",\"before_cb32fc0\":\"Før...\"},\"pl\":{\"after_48b9d69\":\"Po...\",\"at_the_bottom_a6a5f0fe\":\"Na dole\",\"at_the_top_fa836591\":\"Na górze\",\"before_cb32fc0\":\"Przed...\"},\"pt\":{\"after_48b9d69\":\"Após...\",\"at_the_bottom_a6a5f0fe\":\"No fundo\",\"at_the_top_fa836591\":\"No topo\",\"before_cb32fc0\":\"Antes...\"},\"pt-BR\":{\"after_48b9d69\":\"Depois...\",\"at_the_bottom_a6a5f0fe\":\"No final\",\"at_the_top_fa836591\":\"No topo\",\"before_cb32fc0\":\"Antes...\"},\"ru\":{\"after_48b9d69\":\"После...\",\"at_the_bottom_a6a5f0fe\":\"В нижней части\",\"at_the_top_fa836591\":\"В верхней части\",\"before_cb32fc0\":\"До...\"},\"sl\":{\"after_48b9d69\":\"Po ...\",\"at_the_bottom_a6a5f0fe\":\"Na dnu\",\"at_the_top_fa836591\":\"Na vrhu\",\"before_cb32fc0\":\"Pred ...\"},\"sv\":{\"after_48b9d69\":\"Efter...\",\"at_the_bottom_a6a5f0fe\":\"I botten\",\"at_the_top_fa836591\":\"Vid toppen\",\"before_cb32fc0\":\"Tidigare...\"},\"sv-x-k12\":{\"after_48b9d69\":\"Efter...\",\"at_the_bottom_a6a5f0fe\":\"I botten\",\"at_the_top_fa836591\":\"Vid toppen\",\"before_cb32fc0\":\"Tidigare...\"},\"tr\":{\"after_48b9d69\":\"..den sonra\",\"at_the_bottom_a6a5f0fe\":\"Alt kısımda\",\"at_the_top_fa836591\":\"Üst kısımda\",\"before_cb32fc0\":\"Önce..\"},\"uk\":{\"after_48b9d69\":\"Після...\",\"at_the_bottom_a6a5f0fe\":\"Внизу\",\"at_the_top_fa836591\":\"Наверху\",\"before_cb32fc0\":\"Перед..\"},\"zh-Hans\":{\"after_48b9d69\":\"...之后\",\"at_the_bottom_a6a5f0fe\":\"位于底部\",\"at_the_top_fa836591\":\"位于顶部\",\"before_cb32fc0\":\"...之前\"},\"zh-Hant\":{\"after_48b9d69\":\"之後...\",\"at_the_bottom_a6a5f0fe\":\"在底部\",\"at_the_top_fa836591\":\"在頂部\",\"before_cb32fc0\":\"之前...\"}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/move_positions.js\n// module id = L2wIcTkOQK\n// module chunks = 32 36 51 54 58 59 67","/*** IMPORTS FROM imports-loader ***/\n(function() {\n\n(function () {\nvar wordcount = (function () {\n    'use strict';\n\n    var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker');\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.Env');\n\n    var regExps = {\n      aletter: '[A-Za-z\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05d0-\\u05ea\\u05f0-\\u05F3\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0977\\u0979-\\u097f\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c33\\u0c35-\\u0c39\\u0c3d\\u0c58\\u0c59\\u0c60\\u0c61\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d05-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d60\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u10a0-\\u10c5\\u10d0-\\u10fa\\u10fc\\u1100-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f4\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f0\\u1700-\\u170c\\u170e-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1820-\\u1877\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191c\\u1a00-\\u1a16\\u1b05-\\u1b33\\u1b45-\\u1b4b\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bc0-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1ce9-\\u1cec\\u1cee-\\u1cf1\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2119-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u212d\\u212f-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u24B6-\\u24E9\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cee\\u2d00-\\u2d25\\u2d30-\\u2d65\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u2e2f\\u3005\\u303b\\u303c\\u3105-\\u312d\\u3131-\\u318e\\u31a0-\\u31ba\\ua000-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua697\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua78e\\ua790\\ua791\\ua7a0-\\ua7a9\\ua7fa-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uabc0-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uffa0-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc]',\n      midnumlet: '[-\\'\\\\.\\u2018\\u2019\\u2024\\uFE52\\uFF07\\uFF0E]',\n      midletter: '[:\\xB7\\xB7\\u05F4\\u2027\\uFE13\\uFE55\\uFF1A]',\n      midnum: '[\\xB1+*/,;;\\u0589\\u060C\\u060D\\u066C\\u07F8\\u2044\\uFE10\\uFE14\\uFE50\\uFE54\\uFF0C\\uFF1B]',\n      numeric: '[0-9\\u0660-\\u0669\\u066B\\u06f0-\\u06f9\\u07c0-\\u07c9\\u0966-\\u096f\\u09e6-\\u09ef\\u0a66-\\u0a6f\\u0ae6-\\u0aef\\u0b66-\\u0b6f\\u0be6-\\u0bef\\u0c66-\\u0c6f\\u0ce6-\\u0cef\\u0d66-\\u0d6f\\u0e50-\\u0e59\\u0ed0-\\u0ed9\\u0f20-\\u0f29\\u1040-\\u1049\\u1090-\\u1099\\u17e0-\\u17e9\\u1810-\\u1819\\u1946-\\u194f\\u19d0-\\u19d9\\u1a80-\\u1a89\\u1a90-\\u1a99\\u1b50-\\u1b59\\u1bb0-\\u1bb9\\u1c40-\\u1c49\\u1c50-\\u1c59\\ua620-\\ua629\\ua8d0-\\ua8d9\\ua900-\\ua909\\ua9d0-\\ua9d9\\uaa50-\\uaa59\\uabf0-\\uabf9]',\n      cr: '\\\\r',\n      lf: '\\\\n',\n      newline: '[\\x0B\\f\\x85\\u2028\\u2029]',\n      extend: '[\\u0300-\\u036f\\u0483-\\u0489\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u065f\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07eb-\\u07f3\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u0900-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09cb-\\u09cd\\u09d7\\u09e2\\u09e3\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a70\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2\\u0ae3\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b56\\u0b57\\u0b62\\u0b63\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0c01-\\u0c03\\u0c3e-\\u0c44\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0c82\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0d02\\u0d03\\u0d3e-\\u0d44\\u0d46-\\u0d48\\u0d4a-\\u0d4d\\u0d57\\u0d62\\u0d63\\u0d82\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0df2\\u0df3\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0eb1\\u0eb4-\\u0eb9\\u0ebb\\u0ebc\\u0ec8-\\u0ecd\\u0f18\\u0f19\\u0f35\\u0f37\\u0f39\\u0f3e\\u0f3f\\u0f71-\\u0f84\\u0f86\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102b-\\u103e\\u1056-\\u1059\\u105e-\\u1060\\u1062-\\u1064\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f\\u109a-\\u109d\\u135d-\\u135f\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b6-\\u17d3\\u17dd\\u180b-\\u180d\\u18a9\\u1920-\\u192b\\u1930-\\u193b\\u19b0-\\u19c0\\u19c8\\u19c9\\u1a17-\\u1a1b\\u1a55-\\u1a5e\\u1a60-\\u1a7c\\u1a7f\\u1b00-\\u1b04\\u1b34-\\u1b44\\u1b6b-\\u1b73\\u1b80-\\u1b82\\u1ba1-\\u1baa\\u1be6-\\u1bf3\\u1c24-\\u1c37\\u1cd0-\\u1cd2\\u1cd4-\\u1ce8\\u1ced\\u1cf2\\u1dc0-\\u1de6\\u1dfc-\\u1dff\\u200c\\u200d\\u20d0-\\u20f0\\u2cef-\\u2cf1\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua66f-\\uA672\\ua67c\\ua67d\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua823-\\ua827\\ua880\\ua881\\ua8b4-\\ua8c4\\ua8e0-\\ua8f1\\ua926-\\ua92d\\ua947-\\ua953\\ua980-\\ua983\\ua9b3-\\ua9c0\\uaa29-\\uaa36\\uaa43\\uaa4c\\uaa4d\\uaa7b\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uabe3-\\uabea\\uabec\\uabed\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe26\\uff9e\\uff9f]',\n      format: '[\\xAD\\u0600-\\u0603\\u06DD\\u070F\\u17b4\\u17b5\\u200E\\u200F\\u202A-\\u202E\\u2060-\\u2064\\u206A-\\u206F\\uFEFF\\uFFF9-\\uFFFB]',\n      katakana: '[\\u3031-\\u3035\\u309B\\u309C\\u30A0-\\u30fa\\u30fc-\\u30ff\\u31f0-\\u31ff\\u32D0-\\u32FE\\u3300-\\u3357\\uff66-\\uff9d]',\n      extendnumlet: '[=_\\u203f\\u2040\\u2054\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff3f\\u2200-\\u22FF<>]',\n      punctuation: '[!-#%-*,-\\\\/:;?@\\\\[-\\\\]_{}\\xA1\\xAB\\xB7\\xBB\\xBF;\\xB7\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1361-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u3008\\u3009\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30\\u2E31\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uff3f\\uFF5B\\uFF5D\\uFF5F-\\uFF65]'\n    };\n    var characterIndices = {\n      ALETTER: 0,\n      MIDNUMLET: 1,\n      MIDLETTER: 2,\n      MIDNUM: 3,\n      NUMERIC: 4,\n      CR: 5,\n      LF: 6,\n      NEWLINE: 7,\n      EXTEND: 8,\n      FORMAT: 9,\n      KATAKANA: 10,\n      EXTENDNUMLET: 11,\n      AT: 12,\n      OTHER: 13\n    };\n    var SETS = [\n      new RegExp(regExps.aletter),\n      new RegExp(regExps.midnumlet),\n      new RegExp(regExps.midletter),\n      new RegExp(regExps.midnum),\n      new RegExp(regExps.numeric),\n      new RegExp(regExps.cr),\n      new RegExp(regExps.lf),\n      new RegExp(regExps.newline),\n      new RegExp(regExps.extend),\n      new RegExp(regExps.format),\n      new RegExp(regExps.katakana),\n      new RegExp(regExps.extendnumlet),\n      new RegExp('@')\n    ];\n    var EMPTY_STRING = '';\n    var PUNCTUATION = new RegExp('^' + regExps.punctuation + '$');\n    var WHITESPACE = /^\\s+$/;\n    var UnicodeData = {\n      characterIndices: characterIndices,\n      SETS: SETS,\n      EMPTY_STRING: EMPTY_STRING,\n      PUNCTUATION: PUNCTUATION,\n      WHITESPACE: WHITESPACE\n    };\n\n    var constant = function (value) {\n      return function () {\n        return value;\n      };\n    };\n    var never = constant(false);\n    var always = constant(true);\n\n    var never$1 = never;\n    var always$1 = always;\n    var none = function () {\n      return NONE;\n    };\n    var NONE = function () {\n      var eq = function (o) {\n        return o.isNone();\n      };\n      var call$$1 = function (thunk) {\n        return thunk();\n      };\n      var id = function (n) {\n        return n;\n      };\n      var noop$$1 = function () {\n      };\n      var nul = function () {\n        return null;\n      };\n      var undef = function () {\n        return undefined;\n      };\n      var me = {\n        fold: function (n, s) {\n          return n();\n        },\n        is: never$1,\n        isSome: never$1,\n        isNone: always$1,\n        getOr: id,\n        getOrThunk: call$$1,\n        getOrDie: function (msg) {\n          throw new Error(msg || 'error: getOrDie called on none.');\n        },\n        getOrNull: nul,\n        getOrUndefined: undef,\n        or: id,\n        orThunk: call$$1,\n        map: none,\n        ap: none,\n        each: noop$$1,\n        bind: none,\n        flatten: none,\n        exists: never$1,\n        forall: always$1,\n        filter: none,\n        equals: eq,\n        equals_: eq,\n        toArray: function () {\n          return [];\n        },\n        toString: constant('none()')\n      };\n      if (Object.freeze)\n        Object.freeze(me);\n      return me;\n    }();\n\n    var typeOf = function (x) {\n      if (x === null)\n        return 'null';\n      var t = typeof x;\n      if (t === 'object' && Array.prototype.isPrototypeOf(x))\n        return 'array';\n      if (t === 'object' && String.prototype.isPrototypeOf(x))\n        return 'string';\n      return t;\n    };\n    var isType = function (type) {\n      return function (value) {\n        return typeOf(value) === type;\n      };\n    };\n    var isFunction = isType('function');\n\n    var map = function (xs, f) {\n      var len = xs.length;\n      var r = new Array(len);\n      for (var i = 0; i < len; i++) {\n        var x = xs[i];\n        r[i] = f(x, i, xs);\n      }\n      return r;\n    };\n    var slice = Array.prototype.slice;\n    var from$1 = isFunction(Array.from) ? Array.from : function (x) {\n      return slice.call(x);\n    };\n\n    var SETS$1 = UnicodeData.SETS;\n    var OTHER = UnicodeData.characterIndices.OTHER;\n    var getType = function (char) {\n      var j, set, type = OTHER;\n      var setsLength = SETS$1.length;\n      for (j = 0; j < setsLength; ++j) {\n        set = SETS$1[j];\n        if (set && set.test(char)) {\n          type = j;\n          break;\n        }\n      }\n      return type;\n    };\n    var memoize = function (func) {\n      var cache = {};\n      return function (char) {\n        if (cache[char]) {\n          return cache[char];\n        } else {\n          var result = func(char);\n          cache[char] = result;\n          return result;\n        }\n      };\n    };\n    var classify = function (string) {\n      var memoized = memoize(getType);\n      return map(string.split(''), memoized);\n    };\n    var StringMapper = { classify: classify };\n\n    var ci = UnicodeData.characterIndices;\n    var isWordBoundary = function (map, index) {\n      var prevType;\n      var type = map[index];\n      var nextType = map[index + 1];\n      var nextNextType;\n      if (index < 0 || index > map.length - 1 && index !== 0) {\n        return false;\n      }\n      if (type === ci.ALETTER && nextType === ci.ALETTER) {\n        return false;\n      }\n      nextNextType = map[index + 2];\n      if (type === ci.ALETTER && (nextType === ci.MIDLETTER || nextType === ci.MIDNUMLET || nextType === ci.AT) && nextNextType === ci.ALETTER) {\n        return false;\n      }\n      prevType = map[index - 1];\n      if ((type === ci.MIDLETTER || type === ci.MIDNUMLET || nextType === ci.AT) && nextType === ci.ALETTER && prevType === ci.ALETTER) {\n        return false;\n      }\n      if ((type === ci.NUMERIC || type === ci.ALETTER) && (nextType === ci.NUMERIC || nextType === ci.ALETTER)) {\n        return false;\n      }\n      if ((type === ci.MIDNUM || type === ci.MIDNUMLET) && nextType === ci.NUMERIC && prevType === ci.NUMERIC) {\n        return false;\n      }\n      if (type === ci.NUMERIC && (nextType === ci.MIDNUM || nextType === ci.MIDNUMLET) && nextNextType === ci.NUMERIC) {\n        return false;\n      }\n      if (type === ci.EXTEND || type === ci.FORMAT || prevType === ci.EXTEND || prevType === ci.FORMAT || nextType === ci.EXTEND || nextType === ci.FORMAT) {\n        return false;\n      }\n      if (type === ci.CR && nextType === ci.LF) {\n        return false;\n      }\n      if (type === ci.NEWLINE || type === ci.CR || type === ci.LF) {\n        return true;\n      }\n      if (nextType === ci.NEWLINE || nextType === ci.CR || nextType === ci.LF) {\n        return true;\n      }\n      if (type === ci.KATAKANA && nextType === ci.KATAKANA) {\n        return false;\n      }\n      if (nextType === ci.EXTENDNUMLET && (type === ci.ALETTER || type === ci.NUMERIC || type === ci.KATAKANA || type === ci.EXTENDNUMLET)) {\n        return false;\n      }\n      if (type === ci.EXTENDNUMLET && (nextType === ci.ALETTER || nextType === ci.NUMERIC || nextType === ci.KATAKANA)) {\n        return false;\n      }\n      if (type === ci.AT) {\n        return false;\n      }\n      return true;\n    };\n    var WordBoundary = { isWordBoundary: isWordBoundary };\n\n    var EMPTY_STRING$1 = UnicodeData.EMPTY_STRING;\n    var WHITESPACE$1 = UnicodeData.WHITESPACE;\n    var PUNCTUATION$1 = UnicodeData.PUNCTUATION;\n    var isProtocol = function (word) {\n      return word === 'http' || word === 'https';\n    };\n    var findWordEnd = function (str, index) {\n      var i;\n      for (i = index; i < str.length; ++i) {\n        var chr = str.charAt(i);\n        if (WHITESPACE$1.test(chr)) {\n          break;\n        }\n      }\n      return i;\n    };\n    var extractUrl = function (word, str, index) {\n      var endIndex = findWordEnd(str, index + 1);\n      var peakedWord = str.substring(index + 1, endIndex);\n      if (peakedWord.substr(0, 3) === '://') {\n        return {\n          word: word + peakedWord,\n          index: endIndex\n        };\n      }\n      return {\n        word: word,\n        index: index\n      };\n    };\n    var doGetWords = function (str, options) {\n      var i = 0;\n      var map = StringMapper.classify(str);\n      var len = map.length;\n      var word = [];\n      var words = [];\n      var chr;\n      var includePunctuation;\n      var includeWhitespace;\n      if (!options) {\n        options = {};\n      }\n      if (options.ignoreCase) {\n        str = str.toLowerCase();\n      }\n      includePunctuation = options.includePunctuation;\n      includeWhitespace = options.includeWhitespace;\n      for (; i < len; ++i) {\n        chr = str.charAt(i);\n        word.push(chr);\n        if (WordBoundary.isWordBoundary(map, i)) {\n          word = word.join(EMPTY_STRING$1);\n          if (word && (includeWhitespace || !WHITESPACE$1.test(word)) && (includePunctuation || !PUNCTUATION$1.test(word))) {\n            if (isProtocol(word)) {\n              var obj = extractUrl(word, str, i);\n              words.push(obj.word);\n              i = obj.index;\n            } else {\n              words.push(word);\n            }\n          }\n          word = [];\n        }\n      }\n      return words;\n    };\n    var getWords = function (str, options) {\n      return doGetWords(str.replace(/\\ufeff/g, ''), options);\n    };\n    var WordGetter = { getWords: getWords };\n\n    var getText = function (node, schema) {\n      var blockElements = schema.getBlockElements();\n      var shortEndedElements = schema.getShortEndedElements();\n      var whiteSpaceElements = schema.getWhiteSpaceElements();\n      var isSeparator = function (node) {\n        return blockElements[node.nodeName] || shortEndedElements[node.nodeName] || whiteSpaceElements[node.nodeName];\n      };\n      var txt = '';\n      var treeWalker = new global$1(node, node);\n      while (node = treeWalker.next()) {\n        if (node.nodeType === 3) {\n          txt += node.data;\n        } else if (isSeparator(node)) {\n          txt += ' ';\n        }\n      }\n      return txt;\n    };\n    var innerText = function (node, schema) {\n      return global$2.ie ? getText(node, schema) : node.innerText;\n    };\n    var getTextContent = function (editor) {\n      return editor.removed ? '' : innerText(editor.getBody(), editor.schema);\n    };\n    var getCount = function (editor) {\n      return WordGetter.getWords(getTextContent(editor)).length;\n    };\n    var WordCount = { getCount: getCount };\n\n    var get = function (editor) {\n      var getCount = function () {\n        return WordCount.getCount(editor);\n      };\n      return { getCount: getCount };\n    };\n    var Api = { get: get };\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.util.Delay');\n\n    var global$4 = tinymce.util.Tools.resolve('tinymce.util.I18n');\n\n    var setup = function (editor) {\n      var wordsToText = function (editor) {\n        return global$4.translate([\n          '{0} words',\n          WordCount.getCount(editor)\n        ]);\n      };\n      var update = function () {\n        editor.theme.panel.find('#wordcount').text(wordsToText(editor));\n      };\n      editor.on('init', function () {\n        var statusbar = editor.theme.panel && editor.theme.panel.find('#statusbar')[0];\n        var debouncedUpdate = global$3.debounce(update, 300);\n        if (statusbar) {\n          global$3.setEditorTimeout(editor, function () {\n            statusbar.insert({\n              type: 'label',\n              name: 'wordcount',\n              text: wordsToText(editor),\n              classes: 'wordcount',\n              disabled: editor.settings.readonly\n            }, 0);\n            editor.on('setcontent beforeaddundo undo redo keyup', debouncedUpdate);\n          }, 0);\n        }\n      });\n    };\n    var Statusbar = { setup: setup };\n\n    global.add('wordcount', function (editor) {\n      Statusbar.setup(editor);\n      return Api.get(editor);\n    });\n    function Plugin () {\n    }\n\n    return Plugin;\n\n}());\n})();\n\n}.call(window));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/tinymce/plugins/wordcount/plugin.js\n// module id = L8UZhTT5kt\n// module chunks = 2 3 28 35 44 54 73 85 102","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"يتعذر تعديل تقييمات وقواعد إبعاد مجموعة المهام، نظرًا لوجود مهمات في إحدى المجموعات التي تم إغلاق مواعيد استحقاقها.\",\"assignments\":{\"create_group\":{\"cancel\":\"إلغاء\",\"drop_highest\":\"أعلى النقاط:\",\"drop_lowest\":\"أدنى النقاط:\",\"example_group_name\":\"مثال: مجموعة المقالات 1\",\"group_name\":\"اسم المجموعة:\",\"never_drop\":\"لا يتم الإسقاط مطلقًا:\",\"percent_of_total\":\"% من إجمالي الدرجات\",\"save\":\"حفظ\",\"saving\":\"جارٍ الحفظ...\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"عدد الدرجات المقرر تجاهلها لكل طالب\"},\"cy\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"Does dim modd golygu rheolau gollwng a phwysoliad grŵp aseiniadau, oherwydd bod un o'r grwpiau’n cynnwys aseiniadau â dyddiadau erbyn sydd wedi mynd heibio.\",\"assignments\":{\"create_group\":{\"cancel\":\"Canslo\",\"drop_highest\":\"Sgoriau Uchaf:\",\"drop_lowest\":\"Sgoriau Isaf:\",\"example_group_name\":\"e.e., Grŵp Traethawd 1\",\"group_name\":\"Enw’r Grŵp:\",\"never_drop\":\"Peidio Byth â Gollwng:\",\"percent_of_total\":\"% gradd gyffredinol\",\"save\":\"Cadw\",\"saving\":\"Wrthi’n cadw...\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"Nifer y sgoriau i'w hanwybyddu ar gyfer pob myfyriwr\"},\"da\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"Reglerne for vægtning af opgavegruppe og drop-regler kan ikke redigeres, fordi der er opgaver i en af ​​grupperne, hvis forfaldsdato er nået.\",\"assignments\":{\"create_group\":{\"cancel\":\"Annuller\",\"drop_highest\":\"Højeste resultat:\",\"drop_lowest\":\"Laveste resultat:\",\"example_group_name\":\"f.eks. Afhandlingsgruppe 1\",\"group_name\":\"Gruppenavn:\",\"never_drop\":\"Fjern aldrig:\",\"percent_of_total\":\"% af samlet karakter\",\"save\":\"Gem\",\"saving\":\"Gemmer ...\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"Antal resultater, der skal ignoreres for hver studerende\"},\"da-x-k12\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"Reglerne for vægtning af opgavegruppe og drop-regler kan ikke redigeres, fordi der er opgaver i en af ​​grupperne, hvis forfaldsdato er nået.\",\"assignments\":{\"create_group\":{\"cancel\":\"Annuller\",\"drop_highest\":\"Højeste resultat:\",\"drop_lowest\":\"Laveste resultat:\",\"example_group_name\":\"f.eks. Afhandlingsgruppe 1\",\"group_name\":\"Gruppenavn:\",\"never_drop\":\"Fjern aldrig:\",\"percent_of_total\":\"% af samlet vurdering\",\"save\":\"Gem\",\"saving\":\"Gemmer ...\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"Antal resultater, der skal ignoreres for hver elev\"},\"de\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"Die Gewichtung und die Streichregeln der Aufgabengruppen kann nicht geändert werden, weil es in einer der Gruppen Aufgaben gibt, deren Abgabefrist überschritten ist.\",\"assignments\":{\"create_group\":{\"cancel\":\"Abbrechen\",\"drop_highest\":\"Höchste Punktzahlen:\",\"drop_lowest\":\"Niedrigste Punktzahlen:\",\"example_group_name\":\"z. B. Aufsatzgruppe 1\",\"group_name\":\"Gruppenname:\",\"never_drop\":\"Nie auslassen::\",\"percent_of_total\":\"% der Gesamtnote\",\"save\":\"Speichern\",\"saving\":\"Wird gespeichert ...\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"Anzahl der für jeden Schüler zu ignorierenden Ergebnisse\"},\"el\":{\"assignments\":{\"create_group\":{\"cancel\":\"Ακύρωση\",\"drop_highest\":\"Υψηλότερες βαθμολογίες:\",\"drop_lowest\":\"Χαμηλότερες βαθμολογίες:\",\"example_group_name\":\"π.χ. Ομάδα Έκθεσης 1\",\"group_name\":\"Όνομα Ομάδας:\",\"never_drop\":\"Να υπολογίζεται πάντα\",\"percent_of_total\":\"% o της συνολικής βαθμολογίας\",\"save\":\"Αποθήκευση\",\"saving\":\"Αποθήκευση...\"}}},\"en-AU\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"Assignment group weights and drop rules can't be edited because there are assignments in one of the groups whose due dates are closed.\",\"assignments\":{\"create_group\":{\"cancel\":\"Cancel\",\"drop_highest\":\"Highest Scores:\",\"drop_lowest\":\"Lowest Scores:\",\"example_group_name\":\"e.g., Essay Group 1\",\"group_name\":\"Group Name:\",\"never_drop\":\"Never Drop:\",\"percent_of_total\":\"% of total mark\",\"save\":\"Save\",\"saving\":\"Saving...\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"Number of scores to ignore for each student\"},\"en-CA\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"Assignment group weights and drop rules can't be edited because there are assignments in one of the groups whose due dates are closed.\",\"assignments\":{\"create_group\":{\"cancel\":\"Cancel\",\"drop_highest\":\"Highest Scores:\",\"drop_lowest\":\"Lowest Scores:\",\"example_group_name\":\"e.g., Essay Group 1\",\"group_name\":\"Group Name:\",\"never_drop\":\"Never Drop:\",\"percent_of_total\":\"% of total grade\",\"save\":\"Save\",\"saving\":\"Saving...\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"Number of scores to ignore for each student\"},\"en-GB\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"Assignment group weights and drop rules cannot be edited because there are assignments in one of the groups whose due dates are closed.\",\"assignments\":{\"create_group\":{\"cancel\":\"Cancel\",\"drop_highest\":\"Highest scores:\",\"drop_lowest\":\"Lowest scores:\",\"example_group_name\":\"e.g., Essay group 1\",\"group_name\":\"Group name:\",\"never_drop\":\"Never drop:\",\"percent_of_total\":\"% of total grade\",\"save\":\"Save\",\"saving\":\"Saving...\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"Number of scores to ignore for each student\"},\"en-GB-x-lbs\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"Task group weights and drop rules cannot be edited because there are tasks in one of the groups whose due dates are closed.\",\"assignments\":{\"create_group\":{\"cancel\":\"Cancel\",\"drop_highest\":\"Highest scores:\",\"drop_lowest\":\"Lowest scores:\",\"example_group_name\":\"e.g., Essay group 1\",\"group_name\":\"Group name:\",\"never_drop\":\"Never drop:\",\"percent_of_total\":\"% of total grade\",\"save\":\"Save\",\"saving\":\"Saving...\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"Number of scores to ignore for each student\"},\"en-GB-x-ukhe\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"Assignment group weights and drop rules cannot be edited because there are assignments in one of the groups whose due dates are closed.\",\"assignments\":{\"create_group\":{\"cancel\":\"Cancel\",\"drop_highest\":\"Highest scores:\",\"drop_lowest\":\"Lowest scores:\",\"example_group_name\":\"e.g., Essay group 1\",\"group_name\":\"Group name:\",\"never_drop\":\"Never drop:\",\"percent_of_total\":\"% of total grade\",\"save\":\"Save\",\"saving\":\"Saving...\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"Number of scores to ignore for each student\"},\"es\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"No se pueden editar las reglas de baja y las ponderaciones grupales de las tareas debido a que existen tareas en uno de los grupos cuyas fechas límites se encuentran cerradas.\",\"assignments\":{\"create_group\":{\"cancel\":\"Cancelar\",\"drop_highest\":\"Notas más altas:\",\"drop_lowest\":\"Notas más bajas:\",\"example_group_name\":\"p. ej. Trabajo del grupo 1\",\"group_name\":\"Nombre del grupo:\",\"never_drop\":\"No eliminar nunca:\",\"percent_of_total\":\"% de la calificación total\",\"save\":\"Guardar\",\"saving\":\"Guardando...\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"Número de puntajes ignorados para cada alumno\"},\"fa\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"وزن گروه تکلیف و قوانین رهاکردن را نمی‌توان ویرایش کرد، زیرا در یکی از گروه ها، تکلیف هایی وجود دارد که تاریخ مهلت آن به پایان رسیده است.\",\"assignments\":{\"create_group\":{\"cancel\":\"لغو\",\"drop_highest\":\"بالاترین نمره ها:\",\"drop_lowest\":\"پایین ترین نمره ها:\",\"example_group_name\":\"برای مثال: گروه مقاله 1\",\"group_name\":\"نام گروه:\",\"never_drop\":\"هرگز حذف نشود:\",\"percent_of_total\":\"% از نمره کل\",\"save\":\"ذخیره سازی\",\"saving\":\"در حال ذخیره سازی...\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"تعداد نمرات برای نادیده گرفتن برای هر دانشجو\"},\"fr\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"Les poids des groupes de devoirs et les règles d'échec ne peuvent être édités car il y a des devoirs dans l'un de ces groupes dont la date de clôture est passée.\",\"assignments\":{\"create_group\":{\"cancel\":\"Annuler\",\"drop_highest\":\"Scores les plus élevés :\",\"drop_lowest\":\"Scores les moins élevés :\",\"example_group_name\":\"par exemple, Groupe de rédaction 1\",\"group_name\":\"Nom du groupe :\",\"never_drop\":\"Ne jamais supprimer :\",\"percent_of_total\":\"% de la note totale\",\"save\":\"Enregistrer\",\"saving\":\"Enregistrement...\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"Nombre de scores à ignorer pour chaque élève\"},\"fr-CA\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"Les poids des groupes de devoirs et les règles d'échec ne peuvent être édités car il y a des devoirs dans l'un de ces groupes dont la date de clôture est passée.\",\"assignments\":{\"create_group\":{\"cancel\":\"Annuler\",\"drop_highest\":\"Scores les plus élevés :\",\"drop_lowest\":\"Scores les moins élevés :\",\"example_group_name\":\"par exemple, Groupe de rédaction 1\",\"group_name\":\"Nom du groupe :\",\"never_drop\":\"Ne jamais supprimer :\",\"percent_of_total\":\"% de la note totale\",\"save\":\"Enregistrer\",\"saving\":\"Enregistrement...\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"Nombre de notes à ignorer pour chaque étudiant\"},\"he\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"משקלות מטלה קבוצתית או כללי נשירה לא ניתנים לעריכה כיון שבאחת הקבוצות יש מטלות  אשר תאריך הסיום שלהן עבר.\",\"assignments\":{\"create_group\":{\"cancel\":\"ביטול\",\"drop_highest\":\"ציונים מרביים:\",\"drop_lowest\":\"ציונים מזעריים:\",\"example_group_name\":\"למשל, קבוצת מאמר 1\",\"group_name\":\"שם קבוצה:\",\"never_drop\":\"משימת חובה:\",\"percent_of_total\":\"% של הציון הכולל\",\"save\":\"שמירה\",\"saving\":\"שומר...\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"מספר הציונים להתעלם מהם, לכל תלמיד\"},\"ht\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"Pwa gwoup afektasyon yo ak règ depo yo pa kapab modifye paske gen sesyon nan yonn nan gwoup yo ki gen delè li ki rive.\",\"assignments\":{\"create_group\":{\"cancel\":\"Anile\",\"drop_highest\":\"Pi Wo Nòt:\",\"drop_lowest\":\"Pi Ba Nòt:\",\"example_group_name\":\"egzanp Gwoup Redaksyon 1\",\"group_name\":\"Non Gwoup:\",\"never_drop\":\"Jamè Lese Tonbe:\",\"percent_of_total\":\"% nòt total\",\"save\":\"Anrejistre\",\"saving\":\"Anrejistreman...\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"Kantite nòt ki inyore pou chak elèv\"},\"hu\":{\"assignments\":{\"create_group\":{\"cancel\":\"Mégse\",\"drop_highest\":\"Legmagasabb pontszámok: \",\"drop_lowest\":\"Legalacsonyabb pontszámok:\",\"example_group_name\":\"pl.: Esszé csoport 1\",\"group_name\":\"Csoport neve: \",\"never_drop\":\"Soha ne dobja ki:\",\"percent_of_total\":\"%-a a végső jegynek\",\"save\":\"Mentés\",\"saving\":\"Mentés...\"}}},\"hy\":{\"assignments\":{\"create_group\":{\"cancel\":\"Չեղյալ համարել\",\"drop_highest\":\"Ամենաբարձր գնահատականները՝\",\"drop_lowest\":\"Ամենացածր գնահատականները՝\",\"example_group_name\":\"օր.՝ ռեֆերատի խումբ 1\",\"group_name\":\"Խմբի անունը․\",\"never_drop\":\"Երբեք բաց չթողնել\",\"percent_of_total\":\"ընդհանուր գնահատականի %\",\"save\":\"Պահպանել\",\"saving\":\"Պահպանվում է...\"}}},\"is\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"Ekki er hægt að breyta vægi og fellireglum verkefnahóps því verkefni eru í einum hópanna með lokuðum skiladögum.\",\"assignments\":{\"create_group\":{\"cancel\":\"Hætta við\",\"drop_highest\":\"Hæstu einkunnir:\",\"drop_lowest\":\"Lægstu einkunnir:\",\"example_group_name\":\"t.d. Ritgerðarhópur 1\",\"group_name\":\"Heiti hóps:\",\"never_drop\":\"Aldrei sleppa:\",\"percent_of_total\":\"% af heildareinkunn\",\"save\":\"Vista\",\"saving\":\"Vista...\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"Fjöldi einkunna sem á að hunsa fyrir hvern nemanda\"},\"it\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"Impossibile modificare i pesi dei gruppi di compiti e le regole di rimozione perché in uno dei gruppi sono presenti compiti con date di scadenza chiuse.\",\"assignments\":{\"create_group\":{\"cancel\":\"Annulla\",\"drop_highest\":\"Punteggi più alti:\",\"drop_lowest\":\"Punteggi più bassi:\",\"example_group_name\":\"es., Gruppo di saggio 1\",\"group_name\":\"Nome gruppo:\",\"never_drop\":\"Non rimuovere:\",\"percent_of_total\":\"% del voto totale\",\"save\":\"Salva\",\"saving\":\"Salvataggio in corso...\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"Numero di punteggi da ignorare per ciascuno studente\"},\"ja\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"期日が締め切られているグループに課題があるため、課題グループ優先権と削除ルールは編集できません。\",\"assignments\":{\"create_group\":{\"cancel\":\"キャンセル\",\"drop_highest\":\"最高スコア:\",\"drop_lowest\":\"最低スコア:\",\"example_group_name\":\"例: 小論文グループ 1\",\"group_name\":\"グループ名:\",\"never_drop\":\"決して下げない:\",\"percent_of_total\":\"% (総合成績中)\",\"save\":\"保存\",\"saving\":\"保存しています...\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"書く受講生の無視するスコア数\"},\"ko\":{\"assignments\":{\"create_group\":{\"cancel\":\"취소\",\"drop_highest\":\"최고 점수:\",\"drop_lowest\":\"최저 점수:\",\"example_group_name\":\"예) 에세이 그룹 1\",\"group_name\":\"그룹 이름:\",\"never_drop\":\"제외 안 함:\",\"percent_of_total\":\"전체 평점의 %\",\"save\":\"저장\",\"saving\":\"저장 중...\"}}},\"mi\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"Kaore e taea te whakatika ngā whakataunga rōpū taumaha me ngā ture nō te mea he whakataunga kei roto i tētahi o ngā rōpū kua katia ngā rā e tika ana.\",\"assignments\":{\"create_group\":{\"cancel\":\"Whakakore\",\"drop_highest\":\"Kaute teitei\",\"drop_lowest\":\"Kaute iti iho\",\"example_group_name\":\"hei tauira, Rōpū Tuhinga 1\",\"group_name\":\"Ingoa Rōpū:\",\"never_drop\":\"Kaua e Whakataka:\",\"percent_of_total\":\"% O te kōeke katoa\",\"save\":\"Tiaki\",\"saving\":\"Kei te tiakina\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"Te nama o te tatau hei whakaririka mo ia ākonga\"},\"nb\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"Oppgavens gruppevekter og slippregler kan ikke redigeres fordi det er oppgaver i en av gruppene som har gått over innleveringsdatoen.\",\"assignments\":{\"create_group\":{\"cancel\":\"Avbryt\",\"drop_highest\":\"Høyeste poengsum:\",\"drop_lowest\":\"Laveste poengsum:\",\"example_group_name\":\"f.eks. Essaygruppe 1\",\"group_name\":\"Gruppenavn:\",\"never_drop\":\"Kan ikke forbigås:\",\"percent_of_total\":\"% av totalkarakter\",\"save\":\"Lagre\",\"saving\":\"Lagrer…\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"Antall poeng som skal ignoreres for hver student\"},\"nb-x-k12\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"Oppgavens gruppevekter og slippregler kan ikke redigeres fordi det er oppgaver i en av gruppene som har gått over innleveringsdatoen.\",\"assignments\":{\"create_group\":{\"cancel\":\"Avbryt\",\"drop_highest\":\"Høyeste resultat:\",\"drop_lowest\":\"Laveste resultat:\",\"example_group_name\":\"f.eks. Essaygruppe 1\",\"group_name\":\"Gruppenavn:\",\"never_drop\":\"Kan ikke forbigås:\",\"percent_of_total\":\"% av totalvurdering\",\"save\":\"Lagre\",\"saving\":\"Lagrer…\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"Antall resultat som skal ignoreres for hver elev\"},\"nl\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"Gewichten en regels voor opdrachtgroepen kunnen niet worden bewerkt omdat er opdrachten zijn in een van de groepen waarvan de inleverdatums gesloten zijn.\",\"assignments\":{\"create_group\":{\"cancel\":\"Annuleren\",\"drop_highest\":\"Hoogste scores:\",\"drop_lowest\":\"Laagste scores:\",\"example_group_name\":\"bijvoorbeeld Essaygroep 1\",\"group_name\":\"Groepsnaam:\",\"never_drop\":\"Nooit verwijderen:\",\"percent_of_total\":\"% van totaal cijfer\",\"save\":\"Opslaan\",\"saving\":\"Bezig met opslaan...\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"Aantal te negeren scores voor iedere student\"},\"nn\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"Vekting og reglar om fjerning for oppgåvegrupper kan ikkje endrast fordi det finst oppgåver i ei av gruppene der innleveringsfristar er passerte. \",\"assignments\":{\"create_group\":{\"cancel\":\"Avbryt\",\"drop_highest\":\"Høgaste poengsummar:\",\"drop_lowest\":\"Lågaste poengsummar:\",\"example_group_name\":\"f.eks. Essaygruppe 1\",\"group_name\":\"Gruppenamn:\",\"never_drop\":\"Ikkje fjern:\",\"percent_of_total\":\"% av total karakter\",\"save\":\"Lagre\",\"saving\":\"Lagrar...\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"Antall resultat som kan ignorerast for kvar student\"},\"pl\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"Wag grup zadań ani reguł odrzucenia nie można edytować, ponieważ zadania są w jednej z grup, których terminy są zamknięte.\",\"assignments\":{\"create_group\":{\"cancel\":\"Anuluj\",\"drop_highest\":\"Najlepsze wyniki:\",\"drop_lowest\":\"Najsłabsze wyniki:\",\"example_group_name\":\"np. Wypracowanie Grupa 1\",\"group_name\":\"Nazwa grupy:\",\"never_drop\":\"Nigdy nie pomijaj:\",\"percent_of_total\":\"% oceny łącznej\",\"save\":\"Zapisz\",\"saving\":\"Trwa zapisywanie...\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"Liczba wyników do zignorowania dla każdego uczestnika\"},\"pt\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"As normas de peso e desistência do grupo tarefa não podem ser editadas porque existem tarefas em um dos grupos, cujas datas estão fechadas.\",\"assignments\":{\"create_group\":{\"cancel\":\"Cancelar\",\"drop_highest\":\"Pontuações mais altas:\",\"drop_lowest\":\"Pontuações mais baixas:\",\"example_group_name\":\"ex.: Grupo de composição 1\",\"group_name\":\"Nome do grupo:\",\"never_drop\":\"Nunca eliminar:\",\"percent_of_total\":\"% da nota total\",\"save\":\"Guardar\",\"saving\":\"A guardar...\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"Número de pontuações para ignorar cada aluno\"},\"pt-BR\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"Os pesos e eliminações de regras do grupo de tarefas não podem ser editados porque há tarefas em um dos grupos cujas datas de entrega estão fechadas.\",\"assignments\":{\"create_group\":{\"cancel\":\"Cancelar\",\"drop_highest\":\"Pontuações mais altas:\",\"drop_lowest\":\"Pontuações mais baixas:\",\"example_group_name\":\"p. ex., Grupo de Ensaio 1\",\"group_name\":\"Nome do grupo:\",\"never_drop\":\"Nunca eliminar:\",\"percent_of_total\":\"% da nota total\",\"save\":\"Salvar\",\"saving\":\"Salvando...\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"Número de pontuações a ignorar para cada aluno\"},\"ru\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"Весовые коэффициенты и правила отмены для групп заданий не могут быть отредактированы, потому что в одной из групп имеются задания с закрытыми датами выполнения.\",\"assignments\":{\"create_group\":{\"cancel\":\"Отменить\",\"drop_highest\":\"Самые высокие оценки:\",\"drop_lowest\":\"Самые низкие оценки:\",\"example_group_name\":\"например, группа эссе 1\",\"group_name\":\"Имя группы:\",\"never_drop\":\"Никогда не удалять:\",\"percent_of_total\":\"% общей оценки\",\"save\":\"Сохранить\",\"saving\":\"Сохранение...\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"Число игнорируемых оценок для каждого учащегося\"},\"sl\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"Uteži skupine nalog in pravil izpuščanja ni mogoče urejati, ker v so v eni od skupin, katere roki so zaprti, naloge.\",\"assignments\":{\"create_group\":{\"cancel\":\"Prekliči\",\"drop_highest\":\"Najvišji rezultati:\",\"drop_lowest\":\"Najnižji rezultati:\",\"example_group_name\":\"npr. skupina esejev 1\",\"group_name\":\"Ime skupine:\",\"never_drop\":\"Ne izpuščaj:\",\"percent_of_total\":\"% skupne ocene\",\"save\":\"Shrani\",\"saving\":\"Shranjevanje ...\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"Število rezultatov, ki jih je treba pri posameznem študentu prezreti\"},\"sv\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"Uppgiftsgruppens regler för avvägning och släpp kan inte redigeras eftersom det finns uppgifter i en av grupperna vars förfallodag har stängts.\",\"assignments\":{\"create_group\":{\"cancel\":\"Avbryt\",\"drop_highest\":\"Högsta poäng:\",\"drop_lowest\":\"Lägsta poäng:\",\"example_group_name\":\"t.ex., Uppsatsgrupp 1\",\"group_name\":\"Gruppnamn:\",\"never_drop\":\"Lämna aldrig:\",\"percent_of_total\":\"% av totala omdömet\",\"save\":\"Spara\",\"saving\":\"Sparar...\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"Antal poäng att ignorera för varje student\"},\"sv-x-k12\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"Uppgiftsgruppens regler för avvägning och släpp kan inte redigeras eftersom det finns uppgifter i en av grupperna vars förfallodag har stängts.\",\"assignments\":{\"create_group\":{\"cancel\":\"Avbryt\",\"drop_highest\":\"Högsta resultat:\",\"drop_lowest\":\"Lägsta resultat:\",\"example_group_name\":\"t.ex., Uppsatsgrupp 1\",\"group_name\":\"Gruppnamn:\",\"never_drop\":\"Lämna aldrig:\",\"percent_of_total\":\"% av totala bedömningen\",\"save\":\"Spara\",\"saving\":\"Sparar...\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"Antal resultat att ignorera för varje elev\"},\"tr\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"Gruplardan birinde son teslim tarihi kapatılmış ödevler olduğundan ödev grup ağırlıkları ve bırakma kuralları düzenlenemez.\",\"assignments\":{\"create_group\":{\"cancel\":\"İptal\",\"drop_highest\":\"En Yüksek Puan:\",\"drop_lowest\":\"En Düşük Puan:\",\"example_group_name\":\"Örn : Yazma Grubu 1\",\"group_name\":\"Grup İsmi:\",\"never_drop\":\"Asla Bırakma:\",\"percent_of_total\":\"Toplam puana göre % o\",\"save\":\"Kaydet\",\"saving\":\"Kaydediliyor...\"}}},\"uk\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"Ваги та правила скидання для групи завдань не можна редагувати через те, що в одній з груп є завдання, терміни виконання яких сплив.\",\"assignments\":{\"create_group\":{\"cancel\":\"Скасувати\",\"drop_highest\":\"Найвищі оцінки:\",\"drop_lowest\":\"Найнижчі оцінки:\",\"example_group_name\":\"наприклад, Essay Group 1\",\"group_name\":\"Назва групи:\",\"never_drop\":\"Ніколи не знищувати:\",\"percent_of_total\":\"% від загальної оцінки\",\"save\":\"Зберегти\",\"saving\":\"Збереження...\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"Кількість балів, щоб ігнорувати для кожного студента\"},\"zh-Hans\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"作业组的权值和删除规则无法编辑，因为一个群组的到期日已关闭。\",\"assignments\":{\"create_group\":{\"cancel\":\"取消\",\"drop_highest\":\"最高分数：\",\"drop_lowest\":\"最低分数：\",\"example_group_name\":\"例如，论文组 1\",\"group_name\":\"小组名称：\",\"never_drop\":\"不删除：\",\"percent_of_total\":\"总评分的 %\",\"save\":\"保存\",\"saving\":\"正在保存...\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"为每位学生忽略的分数数量\"},\"zh-Hant\":{\"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\":\"不能編輯任務小組加權和刪除規則，因為其中一小組的任務的截止日期已經關閉。\",\"assignments\":{\"create_group\":{\"cancel\":\"取消\",\"drop_highest\":\"最高得分：\",\"drop_lowest\":\"最低得分：\",\"example_group_name\":\"例如，論文群組 1\",\"group_name\":\"群組名稱：\",\"never_drop\":\"切勿丟棄：\",\"percent_of_total\":\"占總成績的 %\",\"save\":\"保存\",\"saving\":\"正在保存...\"}},\"number_of_scores_to_ignore_for_each_student_fb94e818\":\"每個學生忽略的分數\"}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/assignments.create_group.js\n// module id = LQmCMh9iRL\n// module chunks = 54","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"all_grading_periods_77974940\":\"كل فترات تقييم الدرجات\",\"assignments\":{\"index_view\":{\"add_assignment\":\"المهمة\",\"add_group\":\"المجموعة\",\"add_quiz_lti\":\"اختبار موجز/اختبار\",\"assignments\":\"المهام\",\"search_for_assignment\":\"البحث عن مهمة\",\"title_add_assignment\":\"إضافة مهمة\",\"title_add_group\":\"إضافة مجموعة المهام\",\"title_add_quiz_lti\":\"إضافة اختبار موجز/اختبار\"}},\"select_a_grading_period_aab25483\":\"تحديد فترة تقييم الدرجات\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"تحذير: لتحسين إمكانية الوصول إلى إعادة ترتيب المهام والمجموعات، يرجى استخدام الخيار \\\"نقل إلى مربع الحوار\\\" الموجود في القائمة.\"},\"cy\":{\"all_grading_periods_77974940\":\"Pob Cyfnod Graddio\",\"assignments\":{\"index_view\":{\"add_assignment\":\"Aseiniad\",\"add_group\":\"Grŵp\",\"add_quiz_lti\":\"Cwis/Prawf\",\"assignments\":\"Aseiniadau\",\"search_for_assignment\":\"Chwilio am Aseiniad\",\"title_add_assignment\":\"Ychwanegu Aseiniad\",\"title_add_group\":\"Ychwanegu Grŵp Aseiniadau\",\"title_add_quiz_lti\":\"Ychwanegu Cwis/Prawf\"}},\"select_a_grading_period_aab25483\":\"Dewiswch gyfnod graddio\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"Rhybudd: i weld yn well wrth aildrefnu aseiniadau a grwpiau, defnyddiwch yr opsiwn Symud i’r Blwch Deialog yn y ddewislen.\"},\"da\":{\"all_grading_periods_77974940\":\"Alle karakterperioder\",\"assignments\":{\"index_view\":{\"add_assignment\":\"Opgave\",\"add_group\":\"Gruppe\",\"add_quiz_lti\":\"Test/prøve\",\"assignments\":\"Opgaver\",\"search_for_assignment\":\"Søg efter en opgave\",\"title_add_assignment\":\"Tilføj opgave\",\"title_add_group\":\"Tilføj opgavegruppe\",\"title_add_quiz_lti\":\"Tilføj test/prøve\"}},\"select_a_grading_period_aab25483\":\"Vælg en karakterperiode\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"Advarsel: For at forbedre adgang til omorganisering af opgaver og grupper, skal du benytte muligheden Flyt til dialog i menuen.\"},\"da-x-k12\":{\"all_grading_periods_77974940\":\"Alle vurderingsperioder\",\"assignments\":{\"index_view\":{\"add_assignment\":\"Opgave\",\"add_group\":\"Gruppe\",\"add_quiz_lti\":\"Quiz/prøve\",\"assignments\":\"Opgaver\",\"search_for_assignment\":\"Søg efter en opgave\",\"title_add_assignment\":\"Tilføj opgave\",\"title_add_group\":\"Tilføj opgavegruppe\",\"title_add_quiz_lti\":\"Tilføj quiz/prøve\"}},\"select_a_grading_period_aab25483\":\"Vælg en vurderingsperiode\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"Advarsel: For at forbedre adgang til omorganisering af opgaver og grupper, skal du benytte muligheden Flyt til dialog i menuen.\"},\"de\":{\"all_grading_periods_77974940\":\"Alle Benotungszeiträume\",\"assignments\":{\"index_view\":{\"add_assignment\":\"Aufgabe\",\"add_group\":\"Gruppe\",\"add_quiz_lti\":\"Quiz/Test\",\"assignments\":\"Aufgaben\",\"search_for_assignment\":\"Aufgabe suchen\",\"title_add_assignment\":\"Aufgabe hinzufügen\",\"title_add_group\":\"Aufgabengruppe hinzufügen\",\"title_add_quiz_lti\":\"Quiz/Test hinzufügen\"}},\"select_a_grading_period_aab25483\":\"Einen Benotungszeitraum wählen\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"Achtung: Um die Neuzuordnung von Aufgaben und Gruppen zu verbessern, verwenden Sie die Dialogoption „Verschieben in“ aus dem Menü.\"},\"el\":{\"all_grading_periods_77974940\":\"Όλες οι περίοδοι βαθμολογήσεων\",\"assignments\":{\"index_view\":{\"add_assignment\":\"Εργασία\",\"add_group\":\"Ομάδα\",\"add_quiz_lti\":\"Κουίζ/Τέστ\",\"assignments\":\"Εργασίες\",\"search_for_assignment\":\"Αναζήτηση Εργασίας\",\"title_add_assignment\":\"Προσθήκη Εργασίας\",\"title_add_group\":\"Προσθήκη Ομάδας Υποβολής\",\"title_add_quiz_lti\":\"Προσθήκη Κουίζ/Τέστ\"}},\"select_a_grading_period_aab25483\":\"Επιλογή Περιόδου Βαθμολόγησης\"},\"en-AU\":{\"all_grading_periods_77974940\":\"All Grading Periods\",\"assignments\":{\"index_view\":{\"add_assignment\":\"Assignment\",\"add_group\":\"Group\",\"add_quiz_lti\":\"Quiz/Test\",\"assignments\":\"Assignments\",\"search_for_assignment\":\"Search for Assignment\",\"title_add_assignment\":\"Add Assignment\",\"title_add_group\":\"Add Assignment Group\",\"title_add_quiz_lti\":\"Add Quiz/Test\"}},\"select_a_grading_period_aab25483\":\"Select a Grading Period.\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"Warning: for improved accessibility to reordering assignments and groups, please use the Move To Dialog option found in the menu.\"},\"en-CA\":{\"all_grading_periods_77974940\":\"All Grading Periods\",\"assignments\":{\"index_view\":{\"add_assignment\":\"Assignment\",\"add_group\":\"Group\",\"add_quiz_lti\":\"Quiz/Test\",\"assignments\":\"Assignments\",\"search_for_assignment\":\"Search for Assignment\",\"title_add_assignment\":\"Add Assignment\",\"title_add_group\":\"Add Assignment Group\",\"title_add_quiz_lti\":\"Add Quiz/Test\"}},\"select_a_grading_period_aab25483\":\"Select a Grading Period\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"Warning: for improved accessibility of reordering assignments and groups, please use the Move To Dialog option found in the menu.\"},\"en-GB\":{\"all_grading_periods_77974940\":\"All grading periods\",\"assignments\":{\"index_view\":{\"add_assignment\":\"Assignment\",\"add_group\":\"Group\",\"add_quiz_lti\":\"Quiz/test\",\"assignments\":\"Assignments\",\"search_for_assignment\":\"Search for assignment\",\"title_add_assignment\":\"Add assignment\",\"title_add_group\":\"Add assignment group\",\"title_add_quiz_lti\":\"Add quiz/test\"}},\"select_a_grading_period_aab25483\":\"Select a grading period\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"Warning: for improved accessibility of reordering assignments and groups, please use the Move to Dialog option found in the menu.\"},\"en-GB-x-lbs\":{\"all_grading_periods_77974940\":\"All grading periods\",\"assignments\":{\"index_view\":{\"add_assignment\":\"Task\",\"add_group\":\"Group\",\"add_quiz_lti\":\"Survey/test\",\"assignments\":\"Tasks\",\"search_for_assignment\":\"Search for task\",\"title_add_assignment\":\"Add task\",\"title_add_group\":\"Add task group\",\"title_add_quiz_lti\":\"Add survey/test\"}},\"select_a_grading_period_aab25483\":\"Select a grading period\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"Warning: for improved accessibility of reordering tasks and groups, please use the Move to Dialog option found in the menu.\"},\"en-GB-x-ukhe\":{\"all_grading_periods_77974940\":\"All grading periods\",\"assignments\":{\"index_view\":{\"add_assignment\":\"Assignment\",\"add_group\":\"Group\",\"add_quiz_lti\":\"Quiz/test\",\"assignments\":\"Assignments\",\"search_for_assignment\":\"Search for assignment\",\"title_add_assignment\":\"Add assignment\",\"title_add_group\":\"Add assignment group\",\"title_add_quiz_lti\":\"Add quiz/test\"}},\"select_a_grading_period_aab25483\":\"Select a grading period\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"Warning: for improved accessibility of reordering assignments and groups, please use the Move to Dialog option found in the menu.\"},\"es\":{\"all_grading_periods_77974940\":\"Todos los períodos de calificación\",\"assignments\":{\"index_view\":{\"add_assignment\":\"Tarea\",\"add_group\":\"Grupo\",\"add_quiz_lti\":\"Cuestionario/evaluación\",\"assignments\":\"Tareas\",\"search_for_assignment\":\"Buscar tarea\",\"title_add_assignment\":\"Agregar tarea\",\"title_add_group\":\"Agregar grupo de tareas\",\"title_add_quiz_lti\":\"Agregar cuestionario/evaluación\"}},\"select_a_grading_period_aab25483\":\"Seleccionar período de calificación\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"Advertencia: Para mejorar la accesibilidad a la hora de reordenar las tareas y grupos, por favor utilice la opción Mover a diálogo que se encuentra en el menú.\"},\"fa\":{\"all_grading_periods_77974940\":\"همه دوره های نمره گذازی\",\"assignments\":{\"index_view\":{\"add_assignment\":\"تکلیف\",\"add_group\":\"گروه\",\"add_quiz_lti\":\"آزمون/امتحان\",\"assignments\":\"تکلیف ها\",\"search_for_assignment\":\"جستجوی تکلیف\",\"title_add_assignment\":\"افزودن تکلیف\",\"title_add_group\":\"افزودن گروه تکلیف\",\"title_add_quiz_lti\":\"افزودن آزمون/امتحان\"}},\"select_a_grading_period_aab25483\":\"انتخاب دوره نمره گذاری\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"هشدار: برای دسترس پذیری بهتر در مرتب سازی دوباره تکلیف ها و گروه ها، لطفا از گزینه «انتقال به کادر گفتگو» موجود در منو استفاده کنید.\"},\"fr\":{\"all_grading_periods_77974940\":\"Toutes les périodes de notation\",\"assignments\":{\"index_view\":{\"add_assignment\":\"Travail\",\"add_group\":\"Groupe\",\"add_quiz_lti\":\"Quiz/Test\",\"assignments\":\"Tâches\",\"search_for_assignment\":\"Rechercher un travail\",\"title_add_assignment\":\"Ajouter un travail\",\"title_add_group\":\"Ajouter un groupe de tâches\",\"title_add_quiz_lti\":\"Ajouter Quiz/Test\"}},\"select_a_grading_period_aab25483\":\"Choisir la période de notation\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"Avertissement : pour une meilleure accessibilité lors de la réorganisation des devoirs et des groupes, utilisez l’option Déplacer dans le dialogue située dans le menu.\"},\"fr-CA\":{\"all_grading_periods_77974940\":\"Toutes les périodes de notation\",\"assignments\":{\"index_view\":{\"add_assignment\":\"Tâche\",\"add_group\":\"Groupe\",\"add_quiz_lti\":\"Questionnaire / test\",\"assignments\":\"Tâches\",\"search_for_assignment\":\"Rechercher une tâche\",\"title_add_assignment\":\"Ajouter une tâche\",\"title_add_group\":\"Ajouter un groupe de tâches\",\"title_add_quiz_lti\":\"Ajoutez questionnaire / test\"}},\"select_a_grading_period_aab25483\":\"Choisir la période de notation\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"Avertissement : pour une meilleure accessibilité lors de la réorganisation des tâches et des groupes, utilisez l’option Déplacer dans le dialogue située dans le menu.\"},\"he\":{\"all_grading_periods_77974940\":\"כל תקופת חישוב הציונים\",\"assignments\":{\"index_view\":{\"add_assignment\":\"משימה\",\"add_group\":\"קבוצה\",\"add_quiz_lti\":\"בוחן/בחינה\",\"assignments\":\"משימות\",\"search_for_assignment\":\"חיפוש משימה\",\"title_add_assignment\":\"הוספת משימה\",\"title_add_group\":\"הוספת קבוצת משימה\",\"title_add_quiz_lti\":\"הוספת בוחן/בחינה\"}},\"select_a_grading_period_aab25483\":\"בחירת תקופת הערכה...\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"אזהרה: לגישה משופרת אל מיון מחדש של משימות וקבוצות, נא להשתמש בחלון מעבר אל אשר מופיע בתפריט. \"},\"ht\":{\"all_grading_periods_77974940\":\"Tout Peryòd Klasman\",\"assignments\":{\"index_view\":{\"add_assignment\":\"Sesyon\",\"add_group\":\"Gwoup\",\"add_quiz_lti\":\"Quiz/Tès\",\"assignments\":\"Sesyon\",\"search_for_assignment\":\"Rechèch Sesyon\",\"title_add_assignment\":\"Ajoute Sesyon\",\"title_add_group\":\"Ajoute Sesyon Gwoup\",\"title_add_quiz_lti\":\"Ajoute Quiz/Tès\"}},\"select_a_grading_period_aab25483\":\"Seleksyone yon Peryòd Klasman\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"Avètisman: Pou amelyore aksesibilite pou re aranjman sesyon ak gwoup yo, tanpri itilize opsyon Dyalòg Deplase Nan ki nan meni an.\"},\"hu\":{\"all_grading_periods_77974940\":\"Összes osztályzási időszak\",\"assignments\":{\"index_view\":{\"add_assignment\":\"Feladat\",\"add_group\":\"Csoport\",\"add_quiz_lti\":\"Kvíz/teszt\",\"assignments\":\"Feladatok\",\"search_for_assignment\":\"Feladat keresése\",\"title_add_assignment\":\"Feladat hozzáadása\",\"title_add_group\":\"Feladatcsoport hozzáadása\",\"title_add_quiz_lti\":\"Kvíz/teszt hozzáadása\"}},\"select_a_grading_period_aab25483\":\"Osztályzási időszak választása\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"Figyelem! A feladatok és csoportok rendezésének jobb hozzáférhetőségének érdekében, kérjük, használja a menü Mozgatás ide párbeszédablakát.\"},\"hy\":{\"all_grading_periods_77974940\":\"Գնահատման բոլոր ժամանակահատվածները\",\"assignments\":{\"index_view\":{\"add_assignment\":\"Հանձնարարություն\",\"add_group\":\"Խումբ\",\"assignments\":\"Հանձնարարություններ\",\"search_for_assignment\":\"Հանձնարարությունների որոնում\",\"title_add_assignment\":\"Ավելացնել հանձնարարություն\",\"title_add_group\":\"Ավելացնել հանձնարարության խումբ\"}},\"select_a_grading_period_aab25483\":\"Ընտրել գնահատման ժամանակահատվածը\"},\"is\":{\"all_grading_periods_77974940\":\"Öll einkunnatímabil\",\"assignments\":{\"index_view\":{\"add_assignment\":\"Verkefni\",\"add_group\":\"Hópur\",\"add_quiz_lti\":\"Próf/Próf\",\"assignments\":\"Verkefni\",\"search_for_assignment\":\"Leita að verkefni\",\"title_add_assignment\":\"Bæta við verkefni\",\"title_add_group\":\"Bæta við verkefnahópi\",\"title_add_quiz_lti\":\"Bæta við prófi\"}},\"select_a_grading_period_aab25483\":\"Velja einkunnatímabil\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"Viðvörun: Fyrir bætt aðgengi að endurröðuðum verkefnum og hópum, notaðu valkostinn „Flytja í svarglugga“ í valmyndinni.\"},\"it\":{\"all_grading_periods_77974940\":\"Tutti i periodi di valutazione\",\"assignments\":{\"index_view\":{\"add_assignment\":\"Compito\",\"add_group\":\"Gruppo\",\"add_quiz_lti\":\"Quiz/Test\",\"assignments\":\"Compiti\",\"search_for_assignment\":\"Cerca compito\",\"title_add_assignment\":\"Aggiungi compito\",\"title_add_group\":\"Aggiungi gruppo di compiti\",\"title_add_quiz_lti\":\"Aggiungi quiz/test\"}},\"select_a_grading_period_aab25483\":\"Seleziona un periodo di valutazione\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"Avviso: per migliorare l'accessibilità durante il riordino di compiti e gruppi, utilizza la voce di menu Passa a finestra di dialogo.\"},\"ja\":{\"all_grading_periods_77974940\":\"すべての採点期間\",\"assignments\":{\"index_view\":{\"add_assignment\":\"課題\",\"add_group\":\"グループ\",\"add_quiz_lti\":\"クイズ/テスト\",\"assignments\":\"課題\",\"search_for_assignment\":\"課題の検索\",\"title_add_assignment\":\"課題の追加\",\"title_add_group\":\"課題グループの追加\",\"title_add_quiz_lti\":\"クイズ/テストを追加する\"}},\"select_a_grading_period_aab25483\":\"採点期間を選択\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"警告: 課題およびグループの並べ替えのアクセスのしやすさを高めるには、メニューにある移動先ダイアログ オプションを使用してください。\"},\"ko\":{\"assignments\":{\"index_view\":{\"add_assignment\":\"과제\",\"add_group\":\"그룹\",\"assignments\":\"과제\",\"search_for_assignment\":\"과제 검색\",\"title_add_assignment\":\"과제 추가\",\"title_add_group\":\"과제 그룹 추가\"}}},\"mi\":{\"all_grading_periods_77974940\":\"Takiwā kōeke katoa\",\"assignments\":{\"index_view\":{\"add_assignment\":\"Whakataunga\",\"add_group\":\"rōpū\",\"add_quiz_lti\":\"Quiz/Whakamatautau\",\"assignments\":\"Ngā whakataunga\",\"search_for_assignment\":\"Rapu mō te Whakataunga\",\"title_add_assignment\":\"Tāpiri Whakataunga\",\"title_add_group\":\"Tāpiri Rōpū Whakataunga\",\"title_add_quiz_lti\":\"Tapiri Quiz/whakamātautau\"}},\"select_a_grading_period_aab25483\":\"Tīpakohia te kōeke Wā\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"Whakatūpato: hoki ake urutanga o ngāue whakaraupapa anō me ngā rōpū, tēnā whakamahi i te Nuku ki kōwhiringa Kōrero kitea i roto i te tahua.\"},\"nb\":{\"all_grading_periods_77974940\":\"Alle vurderingsperioder\",\"assignments\":{\"index_view\":{\"add_assignment\":\"Oppgave\",\"add_group\":\"Gruppe\",\"add_quiz_lti\":\"Test\",\"assignments\":\"Oppgaver\",\"search_for_assignment\":\"Søk etter oppgave\",\"title_add_assignment\":\"Legg til oppgave\",\"title_add_group\":\"Legg til oppgavegruppe\",\"title_add_quiz_lti\":\"Legg til test\"}},\"select_a_grading_period_aab25483\":\"Velg en vurderingsperiode\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"Advarsel: for forbedret tilgjengelighet på bestilingsoppgaver og grupper, bruk valget - flytt til dialog - som ligger i menyen.\"},\"nb-x-k12\":{\"all_grading_periods_77974940\":\"Alle vurderingsperioder\",\"assignments\":{\"index_view\":{\"add_assignment\":\"Oppgave\",\"add_group\":\"Gruppe\",\"add_quiz_lti\":\"Test\",\"assignments\":\"Oppgaver\",\"search_for_assignment\":\"Søk etter oppgave\",\"title_add_assignment\":\"Legg til oppgave\",\"title_add_group\":\"Legg til oppgavegruppe\",\"title_add_quiz_lti\":\"Legg til test\"}},\"select_a_grading_period_aab25483\":\"Velg en vurderingsperiode\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"Advarsel: for forbedret tilgjengelighet på bestilingsoppgaver og grupper, bruk valget - flytt til dialog - som ligger i menyen.\"},\"nl\":{\"all_grading_periods_77974940\":\"Alle beoordelingsperioden\",\"assignments\":{\"index_view\":{\"add_assignment\":\"Opdracht\",\"add_group\":\"Groep\",\"add_quiz_lti\":\"Toets/test\",\"assignments\":\"Opdrachten\",\"search_for_assignment\":\"Opdracht zoeken\",\"title_add_assignment\":\"Opdracht toevoegen\",\"title_add_group\":\"Opdrachtgroep toevoegen\",\"title_add_quiz_lti\":\"Toets/test toevoegen\"}},\"select_a_grading_period_aab25483\":\"Een beoordelingsperiode selecteren...\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"Waarschuwing: Gebruik de optie Naar dialoog verplaatsen in het menu voor betere toegang tot herordening van opdrachten en groepen.\"},\"nn\":{\"all_grading_periods_77974940\":\"Alle periodar for karaktersetjing\",\"assignments\":{\"index_view\":{\"add_assignment\":\"Oppgåve\",\"add_group\":\"Gruppe\",\"add_quiz_lti\":\"Quiz/Test\",\"assignments\":\"Oppgåver\",\"search_for_assignment\":\"Søk etter oppgåve\",\"title_add_assignment\":\"Legg til oppgåve\",\"title_add_group\":\"Legg til oppgåvegruppe\",\"title_add_quiz_lti\":\"Legg til ein quiz/test\"}},\"select_a_grading_period_aab25483\":\"Vel ei karaktersetjingsperiode\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"Åtvaring: Dersom du vil ha betre tilgang til å omorganisere oppgåver og grupper, må du velje alternativet Flytt til dialog, i menyen.\"},\"pl\":{\"all_grading_periods_77974940\":\"Wszystkie okresy oceniania\",\"assignments\":{\"index_view\":{\"add_assignment\":\"Zadanie\",\"add_group\":\"Grupa\",\"add_quiz_lti\":\"Quiz/test\",\"assignments\":\"Zadania\",\"search_for_assignment\":\"Wyszukaj zadanie\",\"title_add_assignment\":\"Dodaj zadanie\",\"title_add_group\":\"Dodaj grupę zadań\",\"title_add_quiz_lti\":\"Dodaj quiz/test\"}},\"select_a_grading_period_aab25483\":\"Wybierz okres klasyfikacji\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"Ostrzeżenie: aby poprawić dostępność zmiany kolejności zdań i grup, skorzystaj z opcji Przenieś do dialogu znajdującej się w menu.\"},\"pt\":{\"all_grading_periods_77974940\":\"Todos os períodos de avaliação\",\"assignments\":{\"index_view\":{\"add_assignment\":\"Tarefa\",\"add_group\":\"Grupo\",\"add_quiz_lti\":\"Questionário/Teste\",\"assignments\":\"Tarefas\",\"search_for_assignment\":\"Procurar tarefa\",\"title_add_assignment\":\"Adicionar tarefa\",\"title_add_group\":\"Adicionar grupo de tarefa\",\"title_add_quiz_lti\":\"Adicionar questionário/teste\"}},\"select_a_grading_period_aab25483\":\"Selecione um Período de Classificação\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"Aviso: para melhor acessibilidade na reorganização de tarefas e grupos, utilize a opção Mover para que se encontra no menu.\"},\"pt-BR\":{\"all_grading_periods_77974940\":\"Todos os períodos de classificação\",\"assignments\":{\"index_view\":{\"add_assignment\":\"Tarefa\",\"add_group\":\"Grupo\",\"add_quiz_lti\":\"Questionário/Teste\",\"assignments\":\"Tarefas\",\"search_for_assignment\":\"Pesquisar tarefa\",\"title_add_assignment\":\"Adicionar tarefa\",\"title_add_group\":\"Adicionar grupo de tarefa\",\"title_add_quiz_lti\":\"Adicionar Questionário/Teste\"}},\"select_a_grading_period_aab25483\":\"Selecionar um Período de Classificação\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"Aviso: para acessibilidade avançada de atribuições e grupos reordenados, use a opção Mover para Diálogo encontrada no menu.\"},\"ru\":{\"all_grading_periods_77974940\":\"Все периоды выставления оценок\",\"assignments\":{\"index_view\":{\"add_assignment\":\"Задание\",\"add_group\":\"Группа\",\"add_quiz_lti\":\"Тестирование/тест\",\"assignments\":\"Задания\",\"search_for_assignment\":\"Поиск заданий\",\"title_add_assignment\":\"Добавить задание\",\"title_add_group\":\"Добавить группу заданий\",\"title_add_quiz_lti\":\"Добавить контрольную работу/тест\"}},\"select_a_grading_period_aab25483\":\"Выбрать период выставления оценок\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"Предупреждение. Для улучшения доступности переназначения заданий и групп, используйте расположенную в меню опцию «Переместить в диалог».\"},\"sl\":{\"all_grading_periods_77974940\":\"Vsa ocenjevalna obdobja\",\"assignments\":{\"index_view\":{\"add_assignment\":\"Naloga\",\"add_group\":\"Skupina\",\"add_quiz_lti\":\"Kviz/test\",\"assignments\":\"Naloge:\",\"search_for_assignment\":\"Iskanje naloge\",\"title_add_assignment\":\"Dodaj nalogo\",\"title_add_group\":\"Dodaj skupino nalog\",\"title_add_quiz_lti\":\"Dodaj kviz/test\"}},\"select_a_grading_period_aab25483\":\"Izberi ocenjevalno obdobje\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"Opozorilo: za boljšo dostopnost pri preurejanju nalog in skupin uporabite možnost v meniju »Premakni v pogovorno okno«.\"},\"sv\":{\"all_grading_periods_77974940\":\"Alla omdömesperioder\",\"assignments\":{\"index_view\":{\"add_assignment\":\"Uppgift\",\"add_group\":\"Grupp\",\"add_quiz_lti\":\"Quiz/Test\",\"assignments\":\"Uppgifter\",\"search_for_assignment\":\"Sök efter uppgifter\",\"title_add_assignment\":\"Lägg till uppgifter\",\"title_add_group\":\"Lägg till uppgiftsgrupp\",\"title_add_quiz_lti\":\"Lägg till Quiz/Test\"}},\"select_a_grading_period_aab25483\":\"Välj en omdömesperiod\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"Varning: för förbättrad tillgång när det gäller omorganisering av uppgifter och grupper, vänligen använd Flytta till dialog alternativet som hittas i menyn.\"},\"sv-x-k12\":{\"all_grading_periods_77974940\":\"Alla bedömningsperioder\",\"assignments\":{\"index_view\":{\"add_assignment\":\"Uppgift\",\"add_group\":\"Grupp\",\"add_quiz_lti\":\"Quiz/Test\",\"assignments\":\"Uppgifter\",\"search_for_assignment\":\"Sök efter uppgifter\",\"title_add_assignment\":\"Lägg till uppgifter\",\"title_add_group\":\"Lägg till uppgiftsgrupp\",\"title_add_quiz_lti\":\"Lägg till Quiz/Test\"}},\"select_a_grading_period_aab25483\":\"Välj en bedömningsperiod\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"Varning: för förbättrad tillgång när det gäller omorganisering av uppgifter och grupper, vänligen använd Flytta till dialog alternativet som hittas i menyn.\"},\"tr\":{\"all_grading_periods_77974940\":\"Tüm Notlandırma Periyotları\",\"assignments\":{\"index_view\":{\"add_assignment\":\"Ödev\",\"add_group\":\"Grup\",\"add_quiz_lti\":\"Kısa Sınav/Test\",\"assignments\":\"Ödevler\",\"search_for_assignment\":\"Ödevlerde Ara\",\"title_add_assignment\":\"Ödev Ekle\",\"title_add_group\":\"Ödev grubu Ekle\",\"title_add_quiz_lti\":\"Kısa Sınav/Test Ekle\"}}},\"uk\":{\"all_grading_periods_77974940\":\"Усі періоди оцінювання\",\"assignments\":{\"index_view\":{\"add_assignment\":\"Завдання\",\"add_group\":\"Група\",\"add_quiz_lti\":\"Тест\",\"assignments\":\"Завдання\",\"search_for_assignment\":\"Пошук Завдання\",\"title_add_assignment\":\"Додати Завдання\",\"title_add_group\":\"Додати групу завдань\",\"title_add_quiz_lti\":\"Додати тест\"}},\"select_a_grading_period_aab25483\":\"Обрати період оцінювання\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"Попередження: для покращення доступу до впорядкування завдань та груп, скористайтеся пунктом меню Перейти до діалогу.\"},\"zh-Hans\":{\"all_grading_periods_77974940\":\"所有评分时段\",\"assignments\":{\"index_view\":{\"add_assignment\":\"作业\",\"add_group\":\"小组\",\"add_quiz_lti\":\"测验/测试\",\"assignments\":\"作业\",\"search_for_assignment\":\"搜索作业\",\"title_add_assignment\":\"添加作业\",\"title_add_group\":\"添加作业小组\",\"title_add_quiz_lti\":\"添加测验/测试\"}},\"select_a_grading_period_aab25483\":\"选择评分期限\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"警告：改进重新排序的作业和组群的可访问性，请在菜单中使用移动对话的选项。\"},\"zh-Hant\":{\"all_grading_periods_77974940\":\"所有評分時段\",\"assignments\":{\"index_view\":{\"add_assignment\":\"任務 ID\",\"add_group\":\"群組\",\"add_quiz_lti\":\"測驗 / 考試\",\"assignments\":\"任務\",\"search_for_assignment\":\"搜索任務\",\"title_add_assignment\":\"添加任務\",\"title_add_group\":\"添加任務群組\",\"title_add_quiz_lti\":\"添加測驗 / 考試\"}},\"select_a_grading_period_aab25483\":\"選擇一個評分時段\",\"warning_for_improved_accessibility_of_reordering_a_5d0206c7\":\"警告：爲了提高重新排列任務和群組時的可訪問性，請使用功能表中的『移至對話框』選項。\"}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/assignments.index_view.js\n// module id = LZoICJ+N3u\n// module chunks = 54","\n    define('jst/assignments/DeleteGroup', [\"handlebars/runtime\",\"i18n!assignments.delete_group\",\"coffeescripts/handlebars_helpers.coffee\"], function(Handlebars){\n      Handlebars = Handlebars.default\n      var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};\n      var name = 'assignments/DeleteGroup';\n      templates[name] = template(function (Handlebars,depth0,helpers,partials,data) {\n  this.compilerInfo = [4,'>= 1.0.0'];\nhelpers = this.merge(helpers, Handlebars.helpers); data = data || {};\n  var buffer = \"\", stack1, helper, options, functionType=\"function\", escapeExpression=this.escapeExpression, helperMissing=helpers.helperMissing, self=this;\n\nfunction program1(depth0,data) {\n  \n  var buffer = \"\", stack1, helper;\n  buffer += \"\\n          <option class=\\\"move_to_ag_\";\n  if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\" value=\\\"\";\n  if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\">\";\n  if (helper = helpers.name) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.name); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"</option>\\n        \";\n  return buffer;\n  }\n\n  buffer += \"<div class=\\\"form-dialog-content\\\">\\n  <div class=\\\"form-horizontal\\\">\\n    <p>\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'name': ((depth0 && depth0.name)),\n    'assignment_count': ((depth0 && depth0.assignment_count)),\n    'w0': (\"<strong>$1</strong>\"),\n    'w1': (\"<strong class=\\\"assignment_count\\\">$1</strong>\"),\n    'scope': (\"assignments.delete_group\")\n  },data:data},helper ? helper.call(depth0, \"warnings.delete_assignment_group\", \"You are about to delete *%{name}*, which has **%{assignment_count}** assignments in it.\", options) : helperMissing.call(depth0, \"t\", \"warnings.delete_assignment_group\", \"You are about to delete *%{name}*, which has **%{assignment_count}** assignments in it.\", options)))\n    + \"\\n    </p>\\n      <p>\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.delete_group\")\n  },data:data},helper ? helper.call(depth0, \"would_you_like\", \"Would you like to:\", options) : helperMissing.call(depth0, \"t\", \"would_you_like\", \"Would you like to:\", options)))\n    + \"</p>\\n    <p>\\n      <label class=\\\"radio\\\"><input type=\\\"radio\\\" class=\\\"assignment_group_delete\\\" name=\\\"action\\\" value=\\\"delete\\\" checked=\\\"checked\\\"/> \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.delete_group\")\n  },data:data},helper ? helper.call(depth0, \"labels.delete_assignments_in_group\", \"Delete its assignments\", options) : helperMissing.call(depth0, \"t\", \"labels.delete_assignments_in_group\", \"Delete its assignments\", options)))\n    + \"</label>\\n    </p>\\n    <p>\\n      <label id=\\\"ag_move_\";\n  if (helper = helpers.label_id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.label_id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\" class=\\\"radio\\\"><input type=\\\"radio\\\" class=\\\"assignment_group_move\\\" name=\\\"action\\\" value=\\\"move\\\"/> \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.delete_group\")\n  },data:data},helper ? helper.call(depth0, \"labels.move_assignments_to\", \"Move its assignments to\", options) : helperMissing.call(depth0, \"t\", \"labels.move_assignments_to\", \"Move its assignments to\", options)))\n    + \"</label>\\n      <select name=\\\"move_assignments_to\\\" class=\\\"group_select\\\" title=\\\"\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.delete_group\")\n  },data:data},helper ? helper.call(depth0, \"tooltips.target_group\", \"Select a group to move this assignment to\", options) : helperMissing.call(depth0, \"t\", \"tooltips.target_group\", \"Select a group to move this assignment to\", options)))\n    + \"\\\" aria-labelledby=\\\"ag_move_\";\n  if (helper = helpers.label_id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.label_id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\">\\n        <option value=\\\"\\\" class=\\\"blank\\\">[ \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.delete_group\")\n  },data:data},helper ? helper.call(depth0, \"options.select_group\", \"Select a Group\", options) : helperMissing.call(depth0, \"t\", \"options.select_group\", \"Select a Group\", options)))\n    + \" ]</option>\\n        \";\n  stack1 = helpers.each.call(depth0, (depth0 && depth0.groups), {hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n      </select>\\n    </p>\\n\\n\\n  </div>\\n</div>\\n<div class=\\\"form-controls\\\">\\n  <button\\n    class=\\\"cancel_button btn dialog_closer\\\"\\n    type=\\\"button\\\"\\n  >\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.delete_group\")\n  },data:data},helper ? helper.call(depth0, \"cancel\", \"Cancel\", options) : helperMissing.call(depth0, \"t\", \"cancel\", \"Cancel\", options)))\n    + \"</button>\\n  <button\\n    class=\\\"delete_group btn btn-primary\\\" type=\\\"submit\\\"\\n    data-text-while-loading='\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.delete_group\")\n  },data:data},helper ? helper.call(depth0, \"deleting\", \"Deleting...\", options) : helperMissing.call(depth0, \"t\", \"deleting\", \"Deleting...\", options)))\n    + \"'\\n    type=\\\"button\\\"\\n  >\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.delete_group\")\n  },data:data},helper ? helper.call(depth0, \"delete\", \"Delete Group\", options) : helperMissing.call(depth0, \"t\", \"delete\", \"Delete Group\", options)))\n    + \"</button>\\n</div>\\n\";\n  return buffer;\n  });\n      ;\n      ;\n      return templates[name];\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./app/views/jst/assignments/DeleteGroup.handlebars\n// module id = MKft8qKlPV\n// module chunks = 54","\n    define('jst/assignments/_available_date_description', [\"handlebars/runtime\",\"i18n!assignments.available_date_description\",\"coffeescripts/handlebars_helpers.coffee\"], function(Handlebars){\n      Handlebars = Handlebars.default\n      var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};\n      var name = 'assignments/-available-date-description';\n      templates[name] = template(function (Handlebars,depth0,helpers,partials,data) {\n  this.compilerInfo = [4,'>= 1.0.0'];\nhelpers = this.merge(helpers, Handlebars.helpers); data = data || {};\n  var buffer = \"\", stack1, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, self=this;\n\nfunction program1(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n  <span class=\\\"status-description\\\">\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.available_date_description\")\n  },data:data},helper ? helper.call(depth0, \"not_available_until\", \"Not available until\", options) : helperMissing.call(depth0, \"t\", \"not_available_until\", \"Not available until\", options)))\n    + \"</span>\\n  <span \"\n    + escapeExpression((helper = helpers.contextSensitiveDatetimeTitle || (depth0 && depth0.contextSensitiveDatetimeTitle),options={hash:{},data:data},helper ? helper.call(depth0, (depth0 && depth0.unlockAt), options) : helperMissing.call(depth0, \"contextSensitiveDatetimeTitle\", (depth0 && depth0.unlockAt), options)))\n    + \">\\n    \"\n    + escapeExpression((helper = helpers.tDateToString || (depth0 && depth0.tDateToString),options={hash:{},data:data},helper ? helper.call(depth0, (depth0 && depth0.unlockAt), \"short\", options) : helperMissing.call(depth0, \"tDateToString\", (depth0 && depth0.unlockAt), \"short\", options)))\n    + \"\\n  </span>\\n\";\n  return buffer;\n  }\n\nfunction program3(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n  <span class=\\\"status-description\\\">\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.available_date_description\")\n  },data:data},helper ? helper.call(depth0, \"available_until\", \"Available until\", options) : helperMissing.call(depth0, \"t\", \"available_until\", \"Available until\", options)))\n    + \"</span>\\n  <span \"\n    + escapeExpression((helper = helpers.contextSensitiveDatetimeTitle || (depth0 && depth0.contextSensitiveDatetimeTitle),options={hash:{},data:data},helper ? helper.call(depth0, (depth0 && depth0.lockAt), options) : helperMissing.call(depth0, \"contextSensitiveDatetimeTitle\", (depth0 && depth0.lockAt), options)))\n    + \">\\n    \"\n    + escapeExpression((helper = helpers.tDateToString || (depth0 && depth0.tDateToString),options={hash:{},data:data},helper ? helper.call(depth0, (depth0 && depth0.lockAt), \"short\", options) : helperMissing.call(depth0, \"tDateToString\", (depth0 && depth0.lockAt), \"short\", options)))\n    + \"\\n  </span>\\n\";\n  return buffer;\n  }\n\nfunction program5(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n  <span class=\\\"status-description\\\">\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.available_date_description\")\n  },data:data},helper ? helper.call(depth0, \"closed\", \"Closed\", options) : helperMissing.call(depth0, \"t\", \"closed\", \"Closed\", options)))\n    + \"</span>\\n\";\n  return buffer;\n  }\n\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.pending), {hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n\\n\";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.open), {hash:{},inverse:self.noop,fn:self.program(3, program3, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n\\n\";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.closed), {hash:{},inverse:self.noop,fn:self.program(5, program5, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n\";\n  return buffer;\n  });\n      \n      Handlebars.registerPartial('assignments/available_date_description', templates['assignments/-available-date-description']);\n    ;\n      ;\n      return templates[name];\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./app/views/jst/assignments/_available_date_description.handlebars\n// module id = MiFp4VppK4\n// module chunks = 54 73","\n    define('jst/assignments/NoAssignmentsSearch', [\"handlebars/runtime\",\"i18n!assignments.no_assignments_search\",\"coffeescripts/handlebars_helpers.coffee\"], function(Handlebars){\n      Handlebars = Handlebars.default\n      var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};\n      var name = 'assignments/NoAssignmentsSearch';\n      templates[name] = template(function (Handlebars,depth0,helpers,partials,data) {\n  this.compilerInfo = [4,'>= 1.0.0'];\nhelpers = this.merge(helpers, Handlebars.helpers); data = data || {};\n  var buffer = \"\", helper, options, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression;\n\n\n  buffer += \"<div>\\n  <div class=\\\"ig-header\\\">\\n    <h2 class=\\\"ig-header-title\\\" aria-label=\\\"\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.no_assignments_search\")\n  },data:data},helper ? helper.call(depth0, \"aria_assignments\", \"Assignments\", options) : helperMissing.call(depth0, \"t\", \"aria_assignments\", \"Assignments\", options)))\n    + \"\\\">\\n      <i class=\\\"icon-mini-arrow-down\\\"></i>\\n      \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.no_assignments_search\")\n  },data:data},helper ? helper.call(depth0, \"assignments\", \"Assignments\", options) : helperMissing.call(depth0, \"t\", \"assignments\", \"Assignments\", options)))\n    + \"\\n    </h2>\\n  </div>\\n  <ul class=\\\"ig-list\\\">\\n    <li>\\n      <div class=\\\"ig-row ig-row-empty\\\">\\n        <div class=\\\"ig-empty-msg\\\">\\n          \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.no_assignments_search\")\n  },data:data},helper ? helper.call(depth0, \"no_assignments_found\", \"No assignments found\", options) : helperMissing.call(depth0, \"t\", \"no_assignments_found\", \"No assignments found\", options)))\n    + \"\\n        </div>\\n      </div>\\n    </li>\\n  </ul>\\n</div>\";\n  return buffer;\n  });\n      ;\n      ;\n      return templates[name];\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./app/views/jst/assignments/NoAssignmentsSearch.handlebars\n// module id = MzBi5kRfrh\n// module chunks = 54","//\n// Copyright (C) 2015 - present Instructure, Inc.\n//\n// This file is part of Canvas.\n//\n// Canvas is free software: you can redistribute it and/or modify it under\n// the terms of the GNU Affero General Public License as published by the Free\n// Software Foundation, version 3 of the License.\n//\n// Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n// A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n// details.\n//\n// You should have received a copy of the GNU Affero General Public License along\n// with this program. If not, see <http://www.gnu.org/licenses/>.\n//\n\nimport _ from 'underscore'\nimport tz from 'timezone'\nimport I18n from 'i18n!overrides'\nimport GradingPeriodsHelper from 'jsx/grading/helpers/GradingPeriodsHelper'\nimport DateHelper from 'jsx/shared/helpers/dateHelper'\n\nconst DATE_RANGE_ERRORS = {\n  due_at: {\n    start_range: {\n      section: I18n.t('Due date cannot be before section start'),\n      course: I18n.t('Due date cannot be before course start'),\n      term: I18n.t('Due date cannot be before term start'),\n    },\n    end_range: {\n      section: I18n.t('Due date cannot be after section end'),\n      course: I18n.t('Due date cannot be after course end'),\n      term: I18n.t('Due date cannot be after term end'),\n    },\n  },\n  unlock_at: {\n    start_range: {\n      section: I18n.t('Unlock date cannot be before section start'),\n      course: I18n.t('Unlock date cannot be before course start'),\n      term: I18n.t('Unlock date cannot be before term start'),\n    },\n    end_range: {\n      due: I18n.t('Unlock date cannot be after due date'),\n      lock: I18n.t('Unlock date cannot be after lock date'),\n    },\n  },\n  lock_at: {\n    start_range: {\n      due: I18n.t('Lock date cannot be before due date'),\n    },\n    end_range: {\n      section: I18n.t('Lock date cannot be after section end'),\n      course: I18n.t('Lock date cannot be after course end'),\n      term: I18n.t('Lock date cannot be after term end'),\n    },\n  },\n}\n\nexport default class DateValidator {\n\n  constructor (params) {\n    this.dateRange = params.date_range\n    this.data = params.data\n    this.forIndividualStudents = params.forIndividualStudents\n    this.hasGradingPeriods = params.hasGradingPeriods\n    this.gradingPeriods = params.gradingPeriods\n    this.userIsAdmin = params.userIsAdmin\n    this.dueDateRequired = params.postToSIS && ENV.DUE_DATE_REQUIRED_FOR_ACCOUNT\n  }\n\n  validateDatetimes () {\n    const lockAt = this.data.lock_at\n    const unlockAt = this.data.unlock_at\n    const dueAt = this.data.due_at\n    const section = _.find(ENV.SECTION_LIST, {id: this.data.course_section_id})\n    const currentDateRange = section ? this.getSectionRange(section) : this.dateRange\n    const datetimesToValidate = []\n\n    if (currentDateRange.start_at && currentDateRange.start_at.date && !this.forIndividualStudents) {\n      datetimesToValidate.push({\n        date: currentDateRange.start_at.date,\n        validationDates: {\n          due_at: dueAt,\n          unlock_at: unlockAt,\n        },\n        range: 'start_range',\n        type: currentDateRange.start_at.date_context,\n      })\n    }\n    if (currentDateRange.end_at && currentDateRange.end_at.date && !this.forIndividualStudents) {\n      datetimesToValidate.push({\n        date: currentDateRange.end_at.date,\n        validationDates: {\n          due_at: dueAt,\n          lock_at: lockAt,\n        },\n        range: 'end_range',\n        type: currentDateRange.end_at.date_context,\n      })\n    }\n    if (dueAt) {\n      datetimesToValidate.push({\n        date: dueAt,\n        validationDates: {\n          lock_at: lockAt,\n        },\n        range: 'start_range',\n        type: 'due',\n      })\n      datetimesToValidate.push({\n        date: dueAt,\n        validationDates: {\n          unlock_at: unlockAt,\n        },\n        range: 'end_range',\n        type: 'due',\n      })\n    }\n\n    if (this.dueDateRequired) {\n      datetimesToValidate.push({\n        date: dueAt,\n        dueDateRequired: this.dueDateRequired,\n      })\n    }\n\n    if (this.hasGradingPeriods && !this.userIsAdmin && this.data.persisted === false) {\n      datetimesToValidate.push({\n        date: dueAt,\n        range: 'grading_period_range',\n      })\n    }\n\n    if (lockAt) {\n      datetimesToValidate.push({\n        date: lockAt,\n        validationDates: {\n          unlock_at: unlockAt,\n        },\n        range: 'end_range',\n        type: 'lock',\n      })\n    }\n    const errs = {}\n    return this._validateDatetimeSequences(datetimesToValidate, errs)\n  }\n\n  getSectionRange (section) {\n    if (!section.override_course_and_term_dates) return this.dateRange\n\n    if (section.start_at) {\n      this.dateRange.start_at = {\n        date: section.start_at,\n        date_context: 'section',\n      }\n    }\n    if (section.end_at) {\n      this.dateRange.end_at = {\n        date: section.end_at,\n        date_context: 'section',\n      }\n    }\n\n    return this.dateRange\n  }\n\n  _validateMultipleGradingPeriods (date, errs) {\n    const helper = new GradingPeriodsHelper(this.gradingPeriods)\n    const dueAt = date === null ? null : new Date(this._formatDatetime(date))\n    if (!helper.isDateInClosedGradingPeriod(dueAt)) return\n\n    const earliestDate = helper.earliestValidDueDate\n    if (earliestDate) {\n      const formatted = DateHelper.formatDateForDisplay(earliestDate)\n      errs.due_at = I18n.t('Please enter a due date on or after %{earliestDate}', {\n        earliestDate: formatted,\n      })\n    } else {\n      errs.due_at = I18n.t('Due date cannot fall in a closed grading period')\n    }\n  }\n\n  _validateDatetimeSequences (datetimesToValidate, errs) {\n    datetimesToValidate.forEach((datetimeSet) => {\n      if (datetimeSet.dueDateRequired && !datetimeSet.date) {\n        errs.due_at = I18n.t('Please add a due date')\n      }\n      if (datetimeSet.range === 'grading_period_range') {\n        this._validateMultipleGradingPeriods(datetimeSet.date, errs)\n      } else if (datetimeSet.date) {\n        switch (datetimeSet.range) {\n          case 'start_range':\n            _.each(datetimeSet.validationDates, (validationDate, dateType) => {\n              if (validationDate && this._formatDatetime(datetimeSet.date) > this._formatDatetime(validationDate)) {\n                errs[dateType] = DATE_RANGE_ERRORS[dateType][datetimeSet.range][datetimeSet.type]\n              }\n            })\n            break\n          case 'end_range':\n            _.each(datetimeSet.validationDates, (validationDate, dateType) => {\n              if (validationDate && this._formatDatetime(datetimeSet.date) < this._formatDatetime(validationDate)) {\n                errs[dateType] = DATE_RANGE_ERRORS[dateType][datetimeSet.range][datetimeSet.type]\n              }\n            })\n            break\n        }\n      }\n    })\n    return errs\n  }\n\n  _formatDatetime (date) {\n    return tz.format(tz.parse(date), '%F %R')\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/util/DateValidator.js","#\n# Copyright (C) 2016 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine ['underscore'], (_) ->\n  class VeriCiteSettings\n\n    constructor: (options = {}) ->\n      @originalityReportVisibility = options.originality_report_visibility || 'immediate'\n      @excludeQuoted = @normalizeBoolean(options.exclude_quoted)\n      @excludeSelfPlag = @normalizeBoolean(options.exclude_self_plag)\n      @storeInIndex = @normalizeBoolean(options.store_in_index)\n\n    toJSON: =>\n      originality_report_visibility: @originalityReportVisibility\n      exclude_quoted: @excludeQuoted\n      exclude_self_plag: @excludeSelfPlag\n      store_in_index: @storeInIndex\n\n    present: =>\n      json = {}\n      for own key,value of this\n        json[key] = value\n      json\n\n    normalizeBoolean: (value) =>\n      _.contains([\"1\", true, \"true\", 1], value)\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/models/VeriCiteSettings.coffee","#\n# Copyright (C) 2013 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  'i18n!assignments'\n  '../KeyboardNavDialog'\n  'jst/KeyboardNavDialog'\n  'jquery'\n  'underscore'\n  'Backbone'\n  'react'\n  'react-dom'\n  'jst/assignments/IndexView'\n  'jst/assignments/NoAssignmentsSearch'\n  './AssignmentKeyBindingsMixin'\n  '../../userSettings'\n  '../../api/gradingPeriodsApi'\n  'jsx/assignments/IndexMenu'\n  'jsx/assignments/store/indexMenuStore'\n  '../../jquery.rails_flash_notifications'\n], (I18n, KeyboardNavDialog, keyboardNavTemplate, $, _, Backbone, React, ReactDOM, template, NoAssignments, AssignmentKeyBindingsMixin, userSettings, GradingPeriodsAPI, IndexMenu, configureIndexMenuStore) ->\n\n  class IndexView extends Backbone.View\n    @mixin AssignmentKeyBindingsMixin\n\n    template: template\n    el: '#content'\n\n    @child 'assignmentGroupsView', '[data-view=assignmentGroups]'\n    @child 'createGroupView', '[data-view=createGroup]'\n    @child 'assignmentSettingsView', '[data-view=assignmentSettings]'\n    @child 'assignmentSyncSettingsView', '[data-view=assignmentSyncSettings]'\n    @child 'showByView', '[data-view=showBy]'\n\n    events:\n      'keyup #search_term': 'search'\n      'change #grading_period_selector': 'filterResults'\n      'focus .drag_and_drop_warning': 'show_dnd_warning'\n      'blur .drag_and_drop_warning': 'hide_dnd_warning'\n\n    els:\n      '#addGroup': '$addGroupButton'\n      '#assignmentSettingsCog': '$assignmentSettingsButton'\n\n    initialize: ->\n      super\n      @collection.once 'reset', @enableSearch, @\n      @collection.on 'cancelSearch', @clearSearch, @\n\n    toJSON: ->\n      json = super\n      json.course_home = ENV.COURSE_HOME\n      json.weight_final_grades = ENV.WEIGHT_FINAL_GRADES\n      json\n\n    afterRender: ->\n      # need to hide child views and set trigger manually\n\n      if @createGroupView\n        @createGroupView.hide()\n        @createGroupView.setTrigger @$addGroupButton\n\n      if @assignmentSettingsView\n        @assignmentSettingsView.hide()\n        @assignmentSyncSettingsView.hide()\n\n        @indexMenuStore = configureIndexMenuStore({\n          weighted: ENV.WEIGHT_FINAL_GRADES,\n          externalTools: [],\n          modalIsOpen: false,\n          selectedTool: null\n        });\n\n        contextInfo = ENV.context_asset_string.split('_')\n        contextType = contextInfo[0]\n        contextId = parseInt(contextInfo[1], 10)\n\n        ReactDOM.render(\n          React.createElement(IndexMenu, {\n            store: @indexMenuStore,\n            contextType: contextType,\n            contextId: contextId,\n            setTrigger: @assignmentSettingsView.setTrigger.bind(@assignmentSettingsView)\n            setDisableTrigger: @assignmentSyncSettingsView.setTrigger.bind(@assignmentSyncSettingsView)\n            registerWeightToggle: @assignmentSettingsView.on.bind(@assignmentSettingsView)\n            disableSyncToSis: @assignmentSyncSettingsView.openDisableSync.bind(@assignmentSyncSettingsView)\n            sisName: ENV.SIS_NAME\n            postToSisDefault: ENV.POST_TO_SIS_DEFAULT\n            hasAssignments: ENV.HAS_ASSIGNMENTS\n          }),\n          $('#settingsMountPoint')[0]\n        )\n\n      @filterKeyBindings() if !@canManage()\n\n      @ensureContentStyle()\n\n      @kbDialog = new KeyboardNavDialog().render(keyboardNavTemplate({keyBindings:@keyBindings}))\n      window.onkeydown = @focusOnAssignments\n\n      @selectGradingPeriod()\n\n    enableSearch: ->\n      @$('#search_term').prop 'disabled', false\n\n    clearSearch: ->\n      @$('#search_term').val('')\n      @filterResults()\n\n    search: _.debounce ->\n      @filterResults()\n    , 200\n\n    gradingPeriods: GradingPeriodsAPI.deserializePeriods(ENV.active_grading_periods)\n\n    show_dnd_warning: (event) =>\n      @$(event.currentTarget).removeClass('screenreader-only')\n\n    hide_dnd_warning: (event) =>\n      @$(event.currentTarget).addClass('screenreader-only')\n\n    filterResults: =>\n      term = $('#search_term').val()\n      gradingPeriod = null\n      if ENV.HAS_GRADING_PERIODS\n        gradingPeriodIndex = $(\"#grading_period_selector\").val()\n        gradingPeriod = @gradingPeriods[parseInt(gradingPeriodIndex)] if gradingPeriodIndex != \"all\"\n        @saveSelectedGradingPeriod(gradingPeriod)\n      if term == \"\" && _.isNull(gradingPeriod)\n        #show all\n        @collection.each (group) =>\n          group.groupView.endSearch()\n\n        #remove noAssignments placeholder\n        if @noAssignments?\n          @noAssignments.remove()\n          @noAssignments = null\n      else\n        regex = new RegExp(@cleanSearchTerm(term), 'ig')\n        #search\n        matchingAssignmentCount = @collection.reduce( (runningTotal, group) ->\n          additionalCount = group.groupView.search(regex, gradingPeriod)\n          runningTotal + additionalCount\n        , 0)\n\n        atleastoneGroup = matchingAssignmentCount > 0\n        @alertForMatchingGroups(matchingAssignmentCount)\n\n        #add noAssignments placeholder\n        if !atleastoneGroup\n          unless @noAssignments\n            @noAssignments = new Backbone.View\n              template: NoAssignments\n              tagName: \"li\"\n              className: \"item-group-condensed\"\n            ul = @assignmentGroupsView.$el.children(\".collectionViewItems\")\n            ul.append(@noAssignments.render().el)\n        else\n          #remove noAssignments placeholder\n          if @noAssignments?\n            @noAssignments.remove()\n            @noAssignments = null\n\n    alertForMatchingGroups: (numAssignments) ->\n      msg = I18n.t({\n          one: \"1 assignment found.\"\n          other: \"%{count} assignments found.\"\n          zero: \"No matching assignments found.\"\n        }, count: numAssignments\n      )\n      $.screenReaderFlashMessageExclusive(msg)\n\n    cleanSearchTerm: (text) ->\n      text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, \"\\\\$&\")\n\n    focusOnAssignments: (e) =>\n      if 74 == e.keyCode\n        unless($(e.target).is(\":input\"))\n          $(\".assignment_group\").filter(\":visible\").first().attr(\"tabindex\",-1).focus()\n\n    canManage: ->\n      ENV.PERMISSIONS.manage\n\n    ensureContentStyle: ->\n      # when loaded from homepage, need to change content style\n      if !@canManage() && window.location.href.indexOf('assignments') == -1\n        $(\"#content\").css(\"padding\", \"0em\")\n\n    filterKeyBindings: =>\n      @keyBindings = @keyBindings.filter (binding) ->\n        ! _.contains([69,68,65], binding.keyCode)\n\n    selectGradingPeriod: ->\n      gradingPeriodId = userSettings.contextGet('assignments_current_grading_period')\n      unless _.isNull(gradingPeriodId)\n        for i of @gradingPeriods\n          if @gradingPeriods[i].id == gradingPeriodId\n            $(\"#grading_period_selector\").val(i)\n            break\n\n    saveSelectedGradingPeriod: (gradingPeriod) ->\n      userSettings.contextSet('assignments_current_grading_period', gradingPeriod && gradingPeriod.id)\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/views/assignments/IndexView.coffee","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nObject.defineProperty(exports, \"default\", {\n  enumerable: true,\n  get: function get() {\n    return _FormPropTypes.default;\n  }\n});\n\nvar _FormPropTypes = _interopRequireDefault(require(\"@instructure/ui-form-field/lib/utils/FormPropTypes\"));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@instructure/ui-forms/lib/utils/FormPropTypes.js\n// module id = OKde2wehqg\n// module chunks = 2 3 13 28 31 32 33 36 39 43 49 51 54 58 59 64 67 70 102 125","#\n# Copyright (C) 2014 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\n# @return {Boolean}\n#   Whether the browser has a usable localStorage.\ndefine [], ->\n  return false if !window.hasOwnProperty('localStorage') # < IE8\n\n  tmpKey = '__cnvs_test__'\n  tmpValue = null\n\n  try\n    localStorage.setItem(tmpKey, 'yes')\n    tmpValue = localStorage.getItem(tmpKey)\n    localStorage.removeItem(tmpKey)\n  catch e\n    tmpValue = null\n\n  tmpValue == 'yes'\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/util/hasLocalStorage.coffee","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"موعد الاستحقاق\",\"due_date\":\"موعد الاستحقاق\",\"multiple_dates\":\"تواريخ متعددة\",\"todo_date\":\"قائمة المهام\"}}},\"cy\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"Erbyn\",\"due_date\":\"Erbyn\",\"multiple_dates\":\"Mwy nag un dyddiad\",\"todo_date\":\"Tasgau i’w gwneud\"}}},\"da\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"Forfalder\",\"due_date\":\"Forfalder\",\"multiple_dates\":\"Flere datoer\",\"todo_date\":\"Opgaveliste\"}}},\"da-x-k12\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"Forfalder\",\"due_date\":\"Forfalder\",\"multiple_dates\":\"Flere datoer\",\"todo_date\":\"Opgaveliste\"}}},\"de\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"Fällig\",\"due_date\":\"Fällig\",\"multiple_dates\":\"Mehrere Daten\",\"todo_date\":\"Zu erledigen\"}}},\"el\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"Καταληκτική Ημερομηνία\",\"due_date\":\"Καταληκτική Ημερομηνία\",\"multiple_dates\":\"Πολλαπλές Ημερομηνίες\"}}},\"en-AU\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"Due\",\"due_date\":\"Due\",\"multiple_dates\":\"Multiple Dates\",\"todo_date\":\"To do\"}}},\"en-CA\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"Due\",\"due_date\":\"Due\",\"multiple_dates\":\"Multiple Dates\",\"todo_date\":\"To do\"}}},\"en-GB\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"Due\",\"due_date\":\"Due\",\"multiple_dates\":\"Multiple dates\",\"todo_date\":\"To-do\"}}},\"en-GB-x-lbs\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"Due\",\"due_date\":\"Due\",\"multiple_dates\":\"Multiple dates\",\"todo_date\":\"To-do\"}}},\"en-GB-x-ukhe\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"Due\",\"due_date\":\"Due\",\"multiple_dates\":\"Multiple dates\",\"todo_date\":\"To-do\"}}},\"es\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"Fecha límite\",\"due_date\":\"Fecha límite\",\"multiple_dates\":\"Varias fechas\",\"todo_date\":\"Por hacer\"}}},\"fa\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"مهلت\",\"due_date\":\"مهلت\",\"multiple_dates\":\"چند تاریخ\"}}},\"fr\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"Échéance\",\"due_date\":\"Échéance\",\"multiple_dates\":\"Plusieurs dates\",\"todo_date\":\"À faire\"}}},\"fr-CA\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"Échéance\",\"due_date\":\"Échéance\",\"multiple_dates\":\"Plusieurs dates\",\"todo_date\":\"À faire\"}}},\"he\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"תאריך יעד\",\"due_date\":\"תאריך יעד\",\"multiple_dates\":\"תאריכים מרובים\"}}},\"ht\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"Delè\",\"due_date\":\"Delè\",\"multiple_dates\":\"Plizyè Dat\",\"todo_date\":\"tach\"}}},\"hu\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"Határidő\",\"due_date\":\"Határidő\",\"multiple_dates\":\"Többes határidő\"}}},\"hy\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"Մինչև\",\"due_date\":\"Մինչև\",\"multiple_dates\":\"Մի քանի ամսաթվեր\"}}},\"is\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"Skilafrestur\",\"due_date\":\"Skilafrestur\",\"multiple_dates\":\"Margar dagsetningar\",\"todo_date\":\"Verkefni\"}}},\"it\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"Scadenza\",\"due_date\":\"Scadenza\",\"multiple_dates\":\"Più date\",\"todo_date\":\"Elenco attività\"}}},\"ja\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"期限\",\"due_date\":\"期限\",\"multiple_dates\":\"複数の日付\",\"todo_date\":\"タスク\"}}},\"ko\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"기한\",\"due_date\":\"기한\",\"multiple_dates\":\"여러 날짜\"}}},\"mi\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"e tika ana\",\"due_date\":\"e tika ana\",\"multiple_dates\":\"Rā Maha\",\"todo_date\":\"Hei mahi\"}}},\"nb\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"Leveres innen\",\"due_date\":\"Leveres innen\",\"multiple_dates\":\"Flere datoer\",\"todo_date\":\"Gjøremål\"}}},\"nb-x-k12\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"Leveres innen\",\"due_date\":\"Leveres innen\",\"multiple_dates\":\"Flere datoer\",\"todo_date\":\"Gjøremål\"}}},\"nl\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"Inleverdatum\",\"due_date\":\"Inleverdatum\",\"multiple_dates\":\"Meerdere datums\",\"todo_date\":\"To-do\"}}},\"nn\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"Frist\",\"due_date\":\"Frist\",\"multiple_dates\":\"Fleire datoar\",\"todo_date\":\"Gjeremål\"}}},\"pl\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"Termin dostarczenia\",\"due_date\":\"Termin dostarczenia\",\"multiple_dates\":\"Wiele dat\",\"todo_date\":\"Lista zadań\"}}},\"pt\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"Prazo\",\"due_date\":\"Prazo\",\"multiple_dates\":\"Várias datas\",\"todo_date\":\"Tarefa\"}}},\"pt-BR\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"Vencimento\",\"due_date\":\"Vencimento\",\"multiple_dates\":\"Várias datas\",\"todo_date\":\"Lista de tarefas\"}}},\"ru\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"Срок\",\"due_date\":\"Срок\",\"multiple_dates\":\"Несколько дат\",\"todo_date\":\"Задачи\"}}},\"sl\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"Rok\",\"due_date\":\"Rok\",\"multiple_dates\":\"Več datumov\",\"todo_date\":\"Seznam opravil\"}}},\"sv\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"Färdig\",\"due_date\":\"Färdig\",\"multiple_dates\":\"Flera datum\",\"todo_date\":\"Att göra\"}}},\"sv-x-k12\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"Färdiggjord\",\"due_date\":\"Färdiggjord\",\"multiple_dates\":\"Flera datum\",\"todo_date\":\"Att göra\"}}},\"tr\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"Bitiş\",\"due_date\":\"Bitiş\",\"multiple_dates\":\"Çoklu Tarih\",\"todo_date\":\"Yapılacaklar\"}}},\"uk\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"Очікується:\",\"due_date\":\"Очікується:\",\"multiple_dates\":\"Кілька дат\"}}},\"zh-Hans\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"截止时间\",\"due_date\":\"截止时间\",\"multiple_dates\":\"多个日期\",\"todo_date\":\"待办事项\"}}},\"zh-Hant\":{\"assignments\":{\"date_due_column_view\":{\"due\":\"截止日期\",\"due_date\":\"截止日期\",\"multiple_dates\":\"多個日期\",\"todo_date\":\"待辦事項\"}}}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/assignments.date_due_column_view.js\n// module id = OVFu4NOJLB\n// module chunks = 54 73","#\n# Copyright (C) 2013 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  './PublishButtonView',\n  'underscore'\n], (PublishButtonView, _) ->\n\n  class PublishIconView extends PublishButtonView\n    publishClass: 'publish-icon-publish'\n    publishedClass: 'publish-icon-published'\n    unpublishClass: 'publish-icon-unpublish'\n\n    tagName: 'span'\n    className: 'publish-icon'\n\n    # This value allows the text to include the item title\n    @optionProperty 'title'\n\n    # These values allow the default text to be overridden if necessary\n    @optionProperty 'publishText'\n    @optionProperty 'unpublishText'\n\n    initialize: ->\n      super\n      @events = _.extend({}, PublishButtonView.prototype.events, @events)\n\n    events: {'keyclick' : 'click'}\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/views/PublishIconView.coffee","import $$observable from 'symbol-observable';\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar randomString = function randomString() {\n  return Math.random().toString(36).substring(7).split('').join('.');\n};\n\nvar ActionTypes = {\n  INIT: \"@@redux/INIT\" + randomString(),\n  REPLACE: \"@@redux/REPLACE\" + randomString(),\n  PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {\n    return \"@@redux/PROBE_UNKNOWN_ACTION\" + randomString();\n  }\n};\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nfunction isPlainObject(obj) {\n  if (typeof obj !== 'object' || obj === null) return false;\n  var proto = obj;\n\n  while (Object.getPrototypeOf(proto) !== null) {\n    proto = Object.getPrototypeOf(proto);\n  }\n\n  return Object.getPrototypeOf(obj) === proto;\n}\n\n/**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n\nfunction createStore(reducer, preloadedState, enhancer) {\n  var _ref2;\n\n  if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {\n    throw new Error('It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function');\n  }\n\n  if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n    enhancer = preloadedState;\n    preloadedState = undefined;\n  }\n\n  if (typeof enhancer !== 'undefined') {\n    if (typeof enhancer !== 'function') {\n      throw new Error('Expected the enhancer to be a function.');\n    }\n\n    return enhancer(createStore)(reducer, preloadedState);\n  }\n\n  if (typeof reducer !== 'function') {\n    throw new Error('Expected the reducer to be a function.');\n  }\n\n  var currentReducer = reducer;\n  var currentState = preloadedState;\n  var currentListeners = [];\n  var nextListeners = currentListeners;\n  var isDispatching = false;\n\n  function ensureCanMutateNextListeners() {\n    if (nextListeners === currentListeners) {\n      nextListeners = currentListeners.slice();\n    }\n  }\n  /**\n   * Reads the state tree managed by the store.\n   *\n   * @returns {any} The current state tree of your application.\n   */\n\n\n  function getState() {\n    if (isDispatching) {\n      throw new Error('You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');\n    }\n\n    return currentState;\n  }\n  /**\n   * Adds a change listener. It will be called any time an action is dispatched,\n   * and some part of the state tree may potentially have changed. You may then\n   * call `getState()` to read the current state tree inside the callback.\n   *\n   * You may call `dispatch()` from a change listener, with the following\n   * caveats:\n   *\n   * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n   * If you subscribe or unsubscribe while the listeners are being invoked, this\n   * will not have any effect on the `dispatch()` that is currently in progress.\n   * However, the next `dispatch()` call, whether nested or not, will use a more\n   * recent snapshot of the subscription list.\n   *\n   * 2. The listener should not expect to see all state changes, as the state\n   * might have been updated multiple times during a nested `dispatch()` before\n   * the listener is called. It is, however, guaranteed that all subscribers\n   * registered before the `dispatch()` started will be called with the latest\n   * state by the time it exits.\n   *\n   * @param {Function} listener A callback to be invoked on every dispatch.\n   * @returns {Function} A function to remove this change listener.\n   */\n\n\n  function subscribe(listener) {\n    if (typeof listener !== 'function') {\n      throw new Error('Expected the listener to be a function.');\n    }\n\n    if (isDispatching) {\n      throw new Error('You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api-reference/store#subscribe(listener) for more details.');\n    }\n\n    var isSubscribed = true;\n    ensureCanMutateNextListeners();\n    nextListeners.push(listener);\n    return function unsubscribe() {\n      if (!isSubscribed) {\n        return;\n      }\n\n      if (isDispatching) {\n        throw new Error('You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api-reference/store#subscribe(listener) for more details.');\n      }\n\n      isSubscribed = false;\n      ensureCanMutateNextListeners();\n      var index = nextListeners.indexOf(listener);\n      nextListeners.splice(index, 1);\n    };\n  }\n  /**\n   * Dispatches an action. It is the only way to trigger a state change.\n   *\n   * The `reducer` function, used to create the store, will be called with the\n   * current state tree and the given `action`. Its return value will\n   * be considered the **next** state of the tree, and the change listeners\n   * will be notified.\n   *\n   * The base implementation only supports plain object actions. If you want to\n   * dispatch a Promise, an Observable, a thunk, or something else, you need to\n   * wrap your store creating function into the corresponding middleware. For\n   * example, see the documentation for the `redux-thunk` package. Even the\n   * middleware will eventually dispatch plain object actions using this method.\n   *\n   * @param {Object} action A plain object representing “what changed”. It is\n   * a good idea to keep actions serializable so you can record and replay user\n   * sessions, or use the time travelling `redux-devtools`. An action must have\n   * a `type` property which may not be `undefined`. It is a good idea to use\n   * string constants for action types.\n   *\n   * @returns {Object} For convenience, the same action object you dispatched.\n   *\n   * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n   * return something else (for example, a Promise you can await).\n   */\n\n\n  function dispatch(action) {\n    if (!isPlainObject(action)) {\n      throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n    }\n\n    if (typeof action.type === 'undefined') {\n      throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n    }\n\n    if (isDispatching) {\n      throw new Error('Reducers may not dispatch actions.');\n    }\n\n    try {\n      isDispatching = true;\n      currentState = currentReducer(currentState, action);\n    } finally {\n      isDispatching = false;\n    }\n\n    var listeners = currentListeners = nextListeners;\n\n    for (var i = 0; i < listeners.length; i++) {\n      var listener = listeners[i];\n      listener();\n    }\n\n    return action;\n  }\n  /**\n   * Replaces the reducer currently used by the store to calculate the state.\n   *\n   * You might need this if your app implements code splitting and you want to\n   * load some of the reducers dynamically. You might also need this if you\n   * implement a hot reloading mechanism for Redux.\n   *\n   * @param {Function} nextReducer The reducer for the store to use instead.\n   * @returns {void}\n   */\n\n\n  function replaceReducer(nextReducer) {\n    if (typeof nextReducer !== 'function') {\n      throw new Error('Expected the nextReducer to be a function.');\n    }\n\n    currentReducer = nextReducer;\n    dispatch({\n      type: ActionTypes.REPLACE\n    });\n  }\n  /**\n   * Interoperability point for observable/reactive libraries.\n   * @returns {observable} A minimal observable of state changes.\n   * For more information, see the observable proposal:\n   * https://github.com/tc39/proposal-observable\n   */\n\n\n  function observable() {\n    var _ref;\n\n    var outerSubscribe = subscribe;\n    return _ref = {\n      /**\n       * The minimal observable subscription method.\n       * @param {Object} observer Any object that can be used as an observer.\n       * The observer object should have a `next` method.\n       * @returns {subscription} An object with an `unsubscribe` method that can\n       * be used to unsubscribe the observable from the store, and prevent further\n       * emission of values from the observable.\n       */\n      subscribe: function subscribe(observer) {\n        if (typeof observer !== 'object' || observer === null) {\n          throw new TypeError('Expected the observer to be an object.');\n        }\n\n        function observeState() {\n          if (observer.next) {\n            observer.next(getState());\n          }\n        }\n\n        observeState();\n        var unsubscribe = outerSubscribe(observeState);\n        return {\n          unsubscribe: unsubscribe\n        };\n      }\n    }, _ref[$$observable] = function () {\n      return this;\n    }, _ref;\n  } // When a store is created, an \"INIT\" action is dispatched so that every\n  // reducer returns their initial state. This effectively populates\n  // the initial state tree.\n\n\n  dispatch({\n    type: ActionTypes.INIT\n  });\n  return _ref2 = {\n    dispatch: dispatch,\n    subscribe: subscribe,\n    getState: getState,\n    replaceReducer: replaceReducer\n  }, _ref2[$$observable] = observable, _ref2;\n}\n\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n  /* eslint-disable no-console */\n  if (typeof console !== 'undefined' && typeof console.error === 'function') {\n    console.error(message);\n  }\n  /* eslint-enable no-console */\n\n\n  try {\n    // This error was thrown as a convenience so that if you enable\n    // \"break on all exceptions\" in your console,\n    // it would pause the execution at this line.\n    throw new Error(message);\n  } catch (e) {} // eslint-disable-line no-empty\n\n}\n\nfunction getUndefinedStateErrorMessage(key, action) {\n  var actionType = action && action.type;\n  var actionDescription = actionType && \"action \\\"\" + String(actionType) + \"\\\"\" || 'an action';\n  return \"Given \" + actionDescription + \", reducer \\\"\" + key + \"\\\" returned undefined. \" + \"To ignore an action, you must explicitly return the previous state. \" + \"If you want this reducer to hold no value, you can return null instead of undefined.\";\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n  var reducerKeys = Object.keys(reducers);\n  var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n  if (reducerKeys.length === 0) {\n    return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n  }\n\n  if (!isPlainObject(inputState)) {\n    return \"The \" + argumentName + \" has unexpected type of \\\"\" + {}.toString.call(inputState).match(/\\s([a-z|A-Z]+)/)[1] + \"\\\". Expected argument to be an object with the following \" + (\"keys: \\\"\" + reducerKeys.join('\", \"') + \"\\\"\");\n  }\n\n  var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n    return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n  });\n  unexpectedKeys.forEach(function (key) {\n    unexpectedKeyCache[key] = true;\n  });\n  if (action && action.type === ActionTypes.REPLACE) return;\n\n  if (unexpectedKeys.length > 0) {\n    return \"Unexpected \" + (unexpectedKeys.length > 1 ? 'keys' : 'key') + \" \" + (\"\\\"\" + unexpectedKeys.join('\", \"') + \"\\\" found in \" + argumentName + \". \") + \"Expected to find one of the known reducer keys instead: \" + (\"\\\"\" + reducerKeys.join('\", \"') + \"\\\". Unexpected keys will be ignored.\");\n  }\n}\n\nfunction assertReducerShape(reducers) {\n  Object.keys(reducers).forEach(function (key) {\n    var reducer = reducers[key];\n    var initialState = reducer(undefined, {\n      type: ActionTypes.INIT\n    });\n\n    if (typeof initialState === 'undefined') {\n      throw new Error(\"Reducer \\\"\" + key + \"\\\" returned undefined during initialization. \" + \"If the state passed to the reducer is undefined, you must \" + \"explicitly return the initial state. The initial state may \" + \"not be undefined. If you don't want to set a value for this reducer, \" + \"you can use null instead of undefined.\");\n    }\n\n    if (typeof reducer(undefined, {\n      type: ActionTypes.PROBE_UNKNOWN_ACTION()\n    }) === 'undefined') {\n      throw new Error(\"Reducer \\\"\" + key + \"\\\" returned undefined when probed with a random type. \" + (\"Don't try to handle \" + ActionTypes.INIT + \" or other actions in \\\"redux/*\\\" \") + \"namespace. They are considered private. Instead, you must return the \" + \"current state for any unknown actions, unless it is undefined, \" + \"in which case you must return the initial state, regardless of the \" + \"action type. The initial state may not be undefined, but can be null.\");\n    }\n  });\n}\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\n\n\nfunction combineReducers(reducers) {\n  var reducerKeys = Object.keys(reducers);\n  var finalReducers = {};\n\n  for (var i = 0; i < reducerKeys.length; i++) {\n    var key = reducerKeys[i];\n\n    if (process.env.NODE_ENV !== 'production') {\n      if (typeof reducers[key] === 'undefined') {\n        warning(\"No reducer provided for key \\\"\" + key + \"\\\"\");\n      }\n    }\n\n    if (typeof reducers[key] === 'function') {\n      finalReducers[key] = reducers[key];\n    }\n  }\n\n  var finalReducerKeys = Object.keys(finalReducers);\n  var unexpectedKeyCache;\n\n  if (process.env.NODE_ENV !== 'production') {\n    unexpectedKeyCache = {};\n  }\n\n  var shapeAssertionError;\n\n  try {\n    assertReducerShape(finalReducers);\n  } catch (e) {\n    shapeAssertionError = e;\n  }\n\n  return function combination(state, action) {\n    if (state === void 0) {\n      state = {};\n    }\n\n    if (shapeAssertionError) {\n      throw shapeAssertionError;\n    }\n\n    if (process.env.NODE_ENV !== 'production') {\n      var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n\n      if (warningMessage) {\n        warning(warningMessage);\n      }\n    }\n\n    var hasChanged = false;\n    var nextState = {};\n\n    for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n      var _key = finalReducerKeys[_i];\n      var reducer = finalReducers[_key];\n      var previousStateForKey = state[_key];\n      var nextStateForKey = reducer(previousStateForKey, action);\n\n      if (typeof nextStateForKey === 'undefined') {\n        var errorMessage = getUndefinedStateErrorMessage(_key, action);\n        throw new Error(errorMessage);\n      }\n\n      nextState[_key] = nextStateForKey;\n      hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n    }\n\n    return hasChanged ? nextState : state;\n  };\n}\n\nfunction bindActionCreator(actionCreator, dispatch) {\n  return function () {\n    return dispatch(actionCreator.apply(this, arguments));\n  };\n}\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass a single function as the first argument,\n * and get a function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\n\n\nfunction bindActionCreators(actionCreators, dispatch) {\n  if (typeof actionCreators === 'function') {\n    return bindActionCreator(actionCreators, dispatch);\n  }\n\n  if (typeof actionCreators !== 'object' || actionCreators === null) {\n    throw new Error(\"bindActionCreators expected an object or a function, instead received \" + (actionCreators === null ? 'null' : typeof actionCreators) + \". \" + \"Did you write \\\"import ActionCreators from\\\" instead of \\\"import * as ActionCreators from\\\"?\");\n  }\n\n  var keys = Object.keys(actionCreators);\n  var boundActionCreators = {};\n\n  for (var i = 0; i < keys.length; i++) {\n    var key = keys[i];\n    var actionCreator = actionCreators[key];\n\n    if (typeof actionCreator === 'function') {\n      boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n    }\n  }\n\n  return boundActionCreators;\n}\n\nfunction _defineProperty(obj, key, value) {\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n}\n\nfunction _objectSpread(target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i] != null ? arguments[i] : {};\n    var ownKeys = Object.keys(source);\n\n    if (typeof Object.getOwnPropertySymbols === 'function') {\n      ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n        return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n      }));\n    }\n\n    ownKeys.forEach(function (key) {\n      _defineProperty(target, key, source[key]);\n    });\n  }\n\n  return target;\n}\n\n/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\nfunction compose() {\n  for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n    funcs[_key] = arguments[_key];\n  }\n\n  if (funcs.length === 0) {\n    return function (arg) {\n      return arg;\n    };\n  }\n\n  if (funcs.length === 1) {\n    return funcs[0];\n  }\n\n  return funcs.reduce(function (a, b) {\n    return function () {\n      return a(b.apply(void 0, arguments));\n    };\n  });\n}\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\n\nfunction applyMiddleware() {\n  for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n    middlewares[_key] = arguments[_key];\n  }\n\n  return function (createStore) {\n    return function () {\n      var store = createStore.apply(void 0, arguments);\n\n      var _dispatch = function dispatch() {\n        throw new Error(\"Dispatching while constructing your middleware is not allowed. \" + \"Other middleware would not be applied to this dispatch.\");\n      };\n\n      var middlewareAPI = {\n        getState: store.getState,\n        dispatch: function dispatch() {\n          return _dispatch.apply(void 0, arguments);\n        }\n      };\n      var chain = middlewares.map(function (middleware) {\n        return middleware(middlewareAPI);\n      });\n      _dispatch = compose.apply(void 0, chain)(store.dispatch);\n      return _objectSpread({}, store, {\n        dispatch: _dispatch\n      });\n    };\n  };\n}\n\n/*\n * This is a dummy function to check if the function name has been altered by minification.\n * If the function has been minified and NODE_ENV !== 'production', warn the user.\n */\n\nfunction isCrushed() {}\n\nif (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {\n  warning('You are currently using minified code outside of NODE_ENV === \"production\". ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) ' + 'to ensure you have the correct code for your production build.');\n}\n\nexport { createStore, combineReducers, bindActionCreators, applyMiddleware, compose, ActionTypes as __DO_NOT_USE__ActionTypes };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/redux/es/redux.js\n// module id = Ol7m4Ntuzi\n// module chunks = 2 10 27 30 32 33 37 38 39 42 43 49 52 54 55 57 65 67 69 74 78 91 386","/*\n * Copyright (C) 2016 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport _ from 'underscore'\nimport IndexMenuActions from '../actions/IndexMenuActions'\n\n  const {\n    SET_MODAL_OPEN,\n    LAUNCH_TOOL,\n    SET_TOOLS,\n    SET_WEIGHTED\n  } = IndexMenuActions;\n\n  const initialState = {\n    externalTools: [],\n    modalIsOpen: false,\n    selectedTool: null,\n    weighted: false,\n  };\n\n  const handlers = {\n    [SET_MODAL_OPEN]: (state, action) => {\n      const newState = _.extend({}, state);\n      newState.modalIsOpen = action.payload;\n\n      return newState;\n    },\n\n    [LAUNCH_TOOL]: (state, action) => {\n      const newState = _.extend({}, state);\n      newState.selectedTool = action.payload;\n      newState.modalIsOpen = true;\n\n      return newState;\n    },\n\n    [SET_TOOLS]: (state, action) => {\n      const newState = _.extend({}, state);\n      newState.externalTools = action.payload;\n\n      return newState;\n    },\n\n    [SET_WEIGHTED]: (state, action) => {\n      const newState = _.extend({}, state);\n      newState.weighted = action.payload;\n\n      return newState;\n    },\n  };\n\n  function reducer (state, action) {\n    const prevState = state || initialState;\n    const handler = handlers[action.type];\n\n    if (handler) return handler(prevState, action);\n\n    return prevState;\n  };\n\nexport default reducer\n\n\n\n// WEBPACK FOOTER //\n// ./app/jsx/assignments/reducers/indexMenuReducer.js","//\n// Copyright (C) 2013 - present Instructure, Inc.\n//\n// This file is part of Canvas.\n//\n// Canvas is free software: you can redistribute it and/or modify it under\n// the terms of the GNU Affero General Public License as published by the Free\n// Software Foundation, version 3 of the License.\n//\n// Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n// A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n// details.\n//\n// You should have received a copy of the GNU Affero General Public License along\n// with this program. If not, see <http://www.gnu.org/licenses/>.\n\n// rounds a number to m digits\nexport default function round (n, digits = 0) {\n  if (typeof n !== 'number' && !(n instanceof Number)) {\n    n = parseFloat(n)\n  }\n  const rounded = Math.round(`${n}e${digits}`)\n  return Number(`${rounded}e-${digits}`)\n}\n\nround.DEFAULT = 2\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/util/round.js","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"group_weight_for_d46c5db4\":\"الوزن الجماعي لـ:\"},\"cy\":{\"group_weight_for_d46c5db4\":\"Pwysau grŵp ar gyfer:\"},\"da\":{\"group_weight_for_d46c5db4\":\"Vægtning af grupper for:\"},\"da-x-k12\":{\"group_weight_for_d46c5db4\":\"Vægtning af grupper for:\"},\"de\":{\"group_weight_for_d46c5db4\":\"Gruppengewicht für:\"},\"en-AU\":{\"group_weight_for_d46c5db4\":\"Group weight for:\"},\"en-CA\":{\"group_weight_for_d46c5db4\":\"Group weight for:\"},\"en-GB\":{\"group_weight_for_d46c5db4\":\"Group weight for:\"},\"en-GB-x-lbs\":{\"group_weight_for_d46c5db4\":\"Group weight for:\"},\"en-GB-x-ukhe\":{\"group_weight_for_d46c5db4\":\"Group weight for:\"},\"es\":{\"group_weight_for_d46c5db4\":\"Peso del grupo para:\"},\"fr\":{\"group_weight_for_d46c5db4\":\"Poids du groupe pour :\"},\"fr-CA\":{\"group_weight_for_d46c5db4\":\"Poids du groupe pour :\"},\"ht\":{\"group_weight_for_d46c5db4\":\"Pwa Group la pou:\"},\"is\":{\"group_weight_for_d46c5db4\":\"Hópvægi fyrir:\"},\"it\":{\"group_weight_for_d46c5db4\":\"Ponderazione gruppo per:\"},\"ja\":{\"group_weight_for_d46c5db4\":\"グループの比重：\"},\"mi\":{\"group_weight_for_d46c5db4\":\"Te taumaha o te rōpū mō:\"},\"nb\":{\"group_weight_for_d46c5db4\":\"Gruppens vekting til:\"},\"nb-x-k12\":{\"group_weight_for_d46c5db4\":\"Gruppevekting for:\"},\"nl\":{\"group_weight_for_d46c5db4\":\"Groepsweging voor:\"},\"pl\":{\"group_weight_for_d46c5db4\":\"Waga grupowa dla:\"},\"pt\":{\"group_weight_for_d46c5db4\":\"Peso do grupo para:\"},\"pt-BR\":{\"group_weight_for_d46c5db4\":\"Ponderação do grupo para:\"},\"ru\":{\"group_weight_for_d46c5db4\":\"Удельное значение группы для:\"},\"sl\":{\"group_weight_for_d46c5db4\":\"Utež skupine za:\"},\"sv\":{\"group_weight_for_d46c5db4\":\"Gruppavvägning för:\"},\"sv-x-k12\":{\"group_weight_for_d46c5db4\":\"Grupp viktad för:\"},\"zh-Hans\":{\"group_weight_for_d46c5db4\":\"小组权重：\"},\"zh-Hant\":{\"group_weight_for_d46c5db4\":\"群組評分比重：\"}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/assignments.assignment_group_weights.js\n// module id = Pi2gZdf03z\n// module chunks = 54","\n    define(['i18nObj', 'translations/move_item_tray', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('move_item_tray')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?move_item_tray!./public/javascripts/dummyI18nResource.js\n// module id = QPqyD4ahiP\n// module chunks = 32 36 51 54 58 59 67","#\n# Copyright (C) 2013 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  '../collections/PaginatedCollection'\n  '../models/Module'\n], (PaginatedCollection, Module) ->\n\n  class ModuleCollection extends PaginatedCollection\n    model: Module\n\n    @optionProperty 'course_id'\n\n    url: -> \"/api/v1/courses/#{@course_id}/modules\"\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/collections/ModuleCollection.coffee","/*!\n * jQuery UI Tooltip @VERSION\n *\n * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)\n * Dual licensed under the MIT or GPL Version 2 licenses.\n * http://jquery.org/license\n *\n * Depends:\n *\tjquery.ui.core.js\n *\tjquery.ui.widget.js\n *\tjquery.ui.position.js\n */\nimport $ from 'jquery'\nimport 'jqueryui/core'\nimport 'jqueryui/widget'\nimport 'jqueryui/position'\nimport {isRTL} from 'jsx/shared/helpers/rtlHelper'\n\nconst flipPositionIfRTL = (() => {\n  const leftRightOpposites = {\n    'left+': 'right-',\n    'left-': 'right+',\n    'left': 'right',\n    'right+': 'left-',\n    'right-': 'left+',\n    'right': 'left'\n  }\n  const escapePlusAndMinus = str => str.replace(/[\\-\\+]/g, '\\\\$&')\n  const regexLeftRight = new RegExp(Object.keys(leftRightOpposites).map(escapePlusAndMinus).join('|'))\n  const flip = string => string.replace(regexLeftRight, match => leftRightOpposites[match] || match)\n\n  return (element, position) => {\n    if (isRTL(element)) {\n      position.my = flip(position.my)\n      position.at = flip(position.at)\n    }\n  }\n})()\n\nvar increments = 0;\n\nfunction addDescribedBy( elem, id ) {\n\tvar describedby = (elem.attr( \"aria-describedby\" ) || \"\").split( /\\s+/ );\n\tdescribedby.push( id );\n\telem\n\t\t.data( \"ui-tooltip-id\", id )\n\t\t.attr( \"aria-describedby\", $.trim( describedby.join( \" \" ) ) );\n}\n\nfunction removeDescribedBy( elem ) {\n\tvar id = elem.data( \"ui-tooltip-id\" ),\n\t\tdescribedby = (elem.attr( \"aria-describedby\" ) || \"\").split( /\\s+/ ),\n\t\tindex = $.inArray( id, describedby );\n\tif ( index !== -1 ) {\n\t\tdescribedby.splice( index, 1 );\n\t}\n\n\telem.removeData( \"ui-tooltip-id\" );\n\tdescribedby = $.trim( describedby.join( \" \" ) );\n\tif ( describedby ) {\n\t\telem.attr( \"aria-describedby\", describedby );\n\t} else {\n\t\telem.removeAttr( \"aria-describedby\" );\n\t}\n}\n\n$.widget( \"ui.tooltip\", {\n\tversion: \"@VERSION\",\n\toptions: {\n\t\tcontent: function() {\n\t\t\treturn $( this ).attr( \"title\" );\n\t\t},\n\t\thide: true,\n\t\titems: \"[title]\",\n\t\tposition: {\n\t\t\tmy: \"left+15 center\",\n\t\t\tat: \"right center\",\n\t\t\tcollision: \"flipfit flipfit\"\n\t\t},\n\t\tshow: true,\n\t\ttooltipClass: null,\n\t\ttrack: false,\n\n\t\t// callbacks\n\t\tclose: null,\n\t\topen: null\n\t},\n\n\t_create: function() {\n    flipPositionIfRTL(this.element[0], this.options.position)\n\t\tthis._on({\n\t\t\tmouseover: \"open\",\n\t\t\tfocusin: \"open\"\n\t\t});\n\n\t\t// IDs of generated tooltips, needed for destroy\n\t\tthis.tooltips = {};\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tif ( key === \"disabled\" ) {\n\t\t\tthis[ value ? \"_disable\" : \"_enable\" ]();\n\t\t\tthis.options[ key ] = value;\n\t\t\t// disable element style changes\n\t\t\treturn;\n\t\t}\n\t\tthis._super( key, value );\n\t},\n\n\t_disable: function() {\n\t\tvar that = this;\n\n\t\t// close open tooltips\n\t\t$.each( this.tooltips, function( id, element ) {\n\t\t\tvar event = $.Event( \"blur\" );\n\t\t\tevent.target = event.currentTarget = element[0];\n\t\t\tthat.close( event, true );\n\t\t});\n\n\t\t// remove title attributes to prevent native tooltips\n\t\tthis.element.find( this.options.items ).andSelf().each(function() {\n\t\t\tvar element = $( this );\n\t\t\tif ( element.is( \"[title]\" ) ) {\n\t\t\t\telement\n\t\t\t\t\t.data( \"ui-tooltip-title\", element.attr( \"title\" ) )\n\t\t\t\t\t.attr( \"title\", \"\" );\n\t\t\t}\n\t\t});\n\t},\n\n\t_enable: function() {\n\t\t// restore title attributes\n\t\tthis.element.find( this.options.items ).andSelf().each(function() {\n\t\t\tvar element = $( this );\n\t\t\tif ( element.data( \"ui-tooltip-title\" ) ) {\n\t\t\t\telement.attr( \"title\", element.data( \"ui-tooltip-title\" ) );\n\t\t\t}\n\t\t});\n\t},\n\n\topen: function( event ) {\n\t\tvar content,\n\t\t\tthat = this,\n\t\t\ttarget = $( event ? event.target : this.element )\n\t\t\t\t.closest( this.options.items );\n\n\t\t// No element to show a tooltip for\n\t\tif ( !target.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If the tooltip is open and we're tracking then reposition the tooltip.\n\t\t// This makes sure that a tracking tooltip doesn't obscure a focused element\n\t\t// if the user was hovering when the element gained focused.\n\t\tif ( this.options.track && target.data( \"ui-tooltip-id\" ) ) {\n\t\t\tthis._find( target ).position( $.extend({\n\t\t\t\tof: target\n\t\t\t}, this.options.position ) );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( target.attr( \"title\" ) ) {\n\t\t\ttarget.data( \"ui-tooltip-title\", target.attr( \"title\" ) );\n\t\t}\n\n\t\ttarget.data( \"tooltip-open\", true );\n\n\t\tcontent = this.options.content.call( target[0], function( response ) {\n\t\t\t// ignore async response if tooltip was closed already\n\t\t\tif ( !target.data( \"tooltip-open\" ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// IE may instantly serve a cached response for ajax requests\n\t\t\t// delay this call to _open so the other call to _open runs first\n\t\t\tsetTimeout(function() {\n\t\t\t\tthat._open( event, target, response );\n\t\t\t}, 1 );\n\t\t});\n\t\tif ( content ) {\n\t\t\tthat._open( event, target, content );\n\t\t}\n\t},\n\n\t_open: function( event, target, content ) {\n\t\tvar tooltip, positionOption;\n\t\tif ( !content ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Content can be updated multiple times. If the tooltip already\n\t\t// exists, then just update the content and bail.\n\t\ttooltip = this._find( target );\n\t\tif ( tooltip.length ) {\n\t\t\ttooltip.find( \".ui-tooltip-content\" ).html( content );\n\t\t\treturn;\n\t\t}\n\n\t\t// if we have a title, clear it to prevent the native tooltip\n\t\t// we have to check first to avoid defining a title if none exists\n\t\t// (we don't want to cause an element to start matching [title])\n\t\t//\n\t\t// We use removeAttr only for key events, to allow IE to export the correct\n\t\t// accessible attributes. For mouse events, set to empty string to avoid\n\t\t// native tooltip showing up (happens only when removing inside mouseover).\n\t\tif ( target.is( \"[title]\" ) ) {\n\t\t\tif ( event && event.type === \"mouseover\" ) {\n\t\t\t\ttarget.attr( \"title\", \"\" );\n\t\t\t} else {\n\t\t\t\ttarget.removeAttr( \"title\" );\n\t\t\t}\n\t\t}\n\n\t\ttooltip = this._tooltip( target );\n\t\taddDescribedBy( target, tooltip.attr( \"id\" ) );\n\t\ttooltip.find( \".ui-tooltip-content\" ).html( content );\n\n\t\tfunction position( event ) {\n\t\t\tpositionOption.of = event;\n\t\t\ttooltip.position( positionOption );\n\t\t}\n\t\tif ( this.options.track && event && /^mouse/.test( event.originalEvent.type ) ) {\n\t\t\tpositionOption = $.extend( {}, this.options.position );\n\t\t\tthis._on( this.document, {\n\t\t\t\tmousemove: position\n\t\t\t});\n\t\t\t// trigger once to override element-relative positioning\n\t\t\tposition( event );\n\t\t} else {\n\t\t\ttooltip.position( $.extend({\n\t\t\t\tof: target\n\t\t\t}, this.options.position ) );\n\t\t}\n\n\t\ttooltip.hide();\n\n\t\tthis._show( tooltip, this.options.show );\n\n\t\tthis._trigger( \"open\", event, { tooltip: tooltip } );\n\n\t\tthis._on( target, {\n\t\t\tmouseleave: \"close\",\n\t\t\tfocusout: \"close\",\n\t\t\tkeyup: function( event ) {\n\t\t\t\tif ( event.keyCode === $.ui.keyCode.ESCAPE ) {\n\t\t\t\t\tvar fakeEvent = $.Event(event);\n\t\t\t\t\tfakeEvent.currentTarget = target[0];\n\t\t\t\t\tthis.close( fakeEvent, true );\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t},\n\n\tclose: function( event, force ) {\n\t\tvar that = this,\n\t\t\ttarget = $( event ? event.currentTarget : this.element ),\n\t\t\ttooltip = this._find( target );\n\n\t\t// disabling closes the tooltip, so we need to track when we're closing\n\t\t// to avoid an infinite loop in case the tooltip becomes disabled on close\n\t\tif ( this.closing ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// don't close if the element has focus\n\t\t// this prevents the tooltip from closing if you hover while focused\n\t\t//\n\t\t// we have to check the event type because tabbing out of the document\n\t\t// may leave the element as the activeElement\n\t\tif ( !force && event && event.type !== \"focusout\" &&\n\t\t\t\tthis.document[0].activeElement === target[0] ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// only set title if we had one before (see comment in _open())\n\t\tif ( target.data( \"ui-tooltip-title\" ) ) {\n\t\t\ttarget.attr( \"title\", target.data( \"ui-tooltip-title\" ) );\n\t\t}\n\n\t\tremoveDescribedBy( target );\n\n\t\ttooltip.stop( true );\n\t\tthis._hide( tooltip, this.options.hide, function() {\n\t\t\t$( this ).remove();\n\t\t\tdelete that.tooltips[ this.id ];\n\t\t});\n\n\t\ttarget.removeData( \"tooltip-open\" );\n\t\tthis._off( target, \"mouseleave focusout keyup\" );\n\t\tthis._off( this.document, \"mousemove\" );\n\n\t\tthis.closing = true;\n\t\tthis._trigger( \"close\", event, { tooltip: tooltip } );\n\t\tthis.closing = false;\n\t},\n\n\t_tooltip: function( element ) {\n\t\tvar id = \"ui-tooltip-\" + increments++,\n\t\t\ttooltip = $( \"<div>\" )\n\t\t\t\t.attr({\n\t\t\t\t\tid: id,\n\t\t\t\t\trole: \"tooltip\"\n\t\t\t\t})\n\t\t\t\t.addClass( \"ui-tooltip ui-widget ui-corner-all ui-widget-content \" +\n\t\t\t\t\t( this.options.tooltipClass || \"\" ) );\n\t\t$( \"<div>\" )\n\t\t\t.addClass( \"ui-tooltip-content\" )\n\t\t\t.appendTo( tooltip );\n\t\ttooltip.appendTo( this.document[0].body );\n\t\tif ( $.fn.bgiframe ) {\n\t\t\ttooltip.bgiframe();\n\t\t}\n\t\tthis.tooltips[ id ] = element;\n\t\treturn tooltip;\n\t},\n\n\t_find: function( target ) {\n\t\tvar id = target.data( \"ui-tooltip-id\" );\n\t\treturn id ? $( \"#\" + id ) : $();\n\t},\n\n\t_destroy: function() {\n\t\t$.each( this.tooltips, function( id ) {\n\t\t\t$( \"#\" + id ).remove();\n\t\t});\n\t}\n});\n\n\n\n\n\n// WEBPACK FOOTER //\n// ./public/javascripts/vendor/jqueryui/tooltip.js","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"المهمة\",\"assignment_due_at\":\"موعد الاستحقاق:\",\"assignment_name\":\"الاسم:\",\"assignment_points\":\"النقاط:\",\"assignment_type\":\"النوع:\",\"buttons\":{\"save_and_publish\":\"حفظ ونشر\"},\"cancel\":\"إلغاء\",\"differentiated_due_dates\":\"تاريخ استحقاق تمييزي\",\"discussion_type\":\"المناقشة\",\"external_tool_type\":\"الأداة الخارجية\",\"more\":\"مزيد من الخيارات:\",\"multiple_due_dates\":\"تواريخ استحقاق عديدة\",\"not_graded_type\":\"لم يتم تقييم درجات\",\"quiz_type\":\"اختبار\",\"save\":\"حفظ\",\"saving\":\"جارٍ الحفظ...\"}},\"due_at_5e18eeac\":\"الاستحقاق في:\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"يقع تاريخ الاستحقاق في فترة مغلقة لمنح العلامات\",\"sync_to_posttosisname_9837a8bf\":\"مزامنة إلى %{postToSISName}:\"},\"cy\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"Aseiniad\",\"assignment_due_at\":\"Erbyn:\",\"assignment_name\":\"Enw:\",\"assignment_points\":\"Pwyntiau:\",\"assignment_type\":\"Math:\",\"buttons\":{\"save_and_publish\":\"Cadw a Chyhoeddi\"},\"cancel\":\"Canslo\",\"differentiated_due_dates\":\"Dyddiad erbyn gwahanol\",\"discussion_type\":\"Trafodaeth\",\"external_tool_type\":\"Adnodd Allanol\",\"more\":\"Mwy o Opsiynau\",\"multiple_due_dates\":\"Mwy nag un dyddiad erbyn\",\"not_graded_type\":\"Heb Raddio\",\"quiz_type\":\"Cwis\",\"save\":\"Cadw\",\"saving\":\"Wrthi’n cadw...\"}},\"due_at_5e18eeac\":\"Erbyn:\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Mae’r dyddiad erbyn o fewn Cyfnod Graddio sydd wedi dod i ben\",\"sync_to_posttosisname_9837a8bf\":\"Cysoni â %{postToSISName}:\"},\"da\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"Opgave\",\"assignment_due_at\":\"Forfalder:\",\"assignment_name\":\"Navn:\",\"assignment_points\":\"Point:\",\"assignment_type\":\"Type:\",\"buttons\":{\"save_and_publish\":\"Gem og offentliggør\"},\"cancel\":\"Annuller\",\"differentiated_due_dates\":\"Differentierede afleveringsdato\",\"discussion_type\":\"Diskussion\",\"external_tool_type\":\"Eksternt værktøj\",\"more\":\"Flere muligheder:\",\"multiple_due_dates\":\"Flere afleveringsdatoer\",\"not_graded_type\":\"Ikke bedømt\",\"quiz_type\":\"Test\",\"save\":\"Gem\",\"saving\":\"Gemmer ...\"}},\"due_at_5e18eeac\":\"Afleveres d.:\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Forfaldsdato falder i en lukket karakterperiode\",\"sync_to_posttosisname_9837a8bf\":\"Synkroniser til %{postToSISName}:\"},\"da-x-k12\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"Opgave\",\"assignment_due_at\":\"Forfalder:\",\"assignment_name\":\"Navn:\",\"assignment_points\":\"Point:\",\"assignment_type\":\"Type:\",\"buttons\":{\"save_and_publish\":\"Gem og offentliggør\"},\"cancel\":\"Annuller\",\"differentiated_due_dates\":\"Differentierede afleveringsdato\",\"discussion_type\":\"Diskussion\",\"external_tool_type\":\"Eksternt værktøj\",\"more\":\"Flere muligheder:\",\"multiple_due_dates\":\"Flere afleveringsdatoer\",\"not_graded_type\":\"Ikke bedømt\",\"quiz_type\":\"Quiz\",\"save\":\"Gem\",\"saving\":\"Gemmer ...\"}},\"due_at_5e18eeac\":\"Afleveres d.:\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Forfaldsdato falder i en lukket vurderingsperiode\",\"sync_to_posttosisname_9837a8bf\":\"Synkroniser til %{postToSISName}:\"},\"de\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"Aufgabe\",\"assignment_due_at\":\"Fällig:\",\"assignment_name\":\"Name:\",\"assignment_points\":\"Punkte:\",\"assignment_type\":\"Typ:\",\"buttons\":{\"save_and_publish\":\"Speichern und veröffentlichen\"},\"cancel\":\"Abbrechen\",\"differentiated_due_dates\":\"Differenzierter Abgabetermin\",\"discussion_type\":\"Diskussion\",\"external_tool_type\":\"Externes Tool\",\"more\":\"Weitere Optionen\",\"multiple_due_dates\":\"Mehrere Abgabetermine\",\"not_graded_type\":\"Unbenotet\",\"quiz_type\":\"Quiz\",\"save\":\"Speichern\",\"saving\":\"Wird gespeichert ...\"}},\"due_at_5e18eeac\":\"Fällig am:\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Das Fälligkeitsdatum liegt innerhalb eines abgeschlossenen Benotungszeitraums.\",\"sync_to_posttosisname_9837a8bf\":\"Synchronisieren nach %{postToSISName}:\"},\"el\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"Εργασία\",\"assignment_due_at\":\"Καταληκτική Ημερ/νία:\",\"assignment_name\":\"Όνομα:\",\"assignment_points\":\"Μόρια:\",\"assignment_type\":\"Είδος:\",\"buttons\":{\"save_and_publish\":\"Αποθήκευση και Δημοσίευση\"},\"cancel\":\"Ακύρωση\",\"differentiated_due_dates\":\"Διαφοροποιημένη καταληκτική ημερομηνία\",\"discussion_type\":\"Συζήτηση\",\"external_tool_type\":\"Εξωτερικό εργαλείο\",\"more\":\"Περισσότερες Επιλογές\",\"multiple_due_dates\":\"Πολλαπλές καταληκτικές ημερομηνίες\",\"not_graded_type\":\"Δεν έχει βαθμολογηθεί\",\"quiz_type\":\"Κουίζ\",\"save\":\"Αποθήκευση\",\"saving\":\"Αποθήκευση...\"}},\"due_at_5e18eeac\":\"Καταληκτική Ημερ/νία:\"},\"en-AU\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"Assignment\",\"assignment_due_at\":\"Due:\",\"assignment_name\":\"Name:\",\"assignment_points\":\"Points:\",\"assignment_type\":\"Type:\",\"buttons\":{\"save_and_publish\":\"Save \\u0026 Publish\"},\"cancel\":\"Cancel\",\"differentiated_due_dates\":\"Differentiated due date\",\"discussion_type\":\"Discussion\",\"external_tool_type\":\"External Tool\",\"more\":\"More Options\",\"multiple_due_dates\":\"Multiple due dates\",\"not_graded_type\":\"Not Marked\",\"quiz_type\":\"Quiz\",\"save\":\"Save\",\"saving\":\"Saving...\"}},\"due_at_5e18eeac\":\"Due At:\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Due date falls in a closed Grading Period\",\"sync_to_posttosisname_9837a8bf\":\"Sync to %{postToSISName}:\"},\"en-CA\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"Assignment\",\"assignment_due_at\":\"Due:\",\"assignment_name\":\"Name:\",\"assignment_points\":\"Points:\",\"assignment_type\":\"Type:\",\"buttons\":{\"save_and_publish\":\"Save \\u0026 Publish\"},\"cancel\":\"Cancel\",\"differentiated_due_dates\":\"Differentiated due date\",\"discussion_type\":\"Discussion\",\"external_tool_type\":\"External Tool\",\"more\":\"More Options\",\"multiple_due_dates\":\"Multiple due dates\",\"not_graded_type\":\"Not Graded\",\"quiz_type\":\"Quiz\",\"save\":\"Save\",\"saving\":\"Saving...\"}},\"due_at_5e18eeac\":\"Due At:\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Due date falls in a closed Grading Period\",\"sync_to_posttosisname_9837a8bf\":\"Sync to %{postToSISName}:\"},\"en-GB\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"Assignment\",\"assignment_due_at\":\"Due:\",\"assignment_name\":\"Name:\",\"assignment_points\":\"Points:\",\"assignment_type\":\"Type:\",\"buttons\":{\"save_and_publish\":\"Save \\u0026 publish\"},\"cancel\":\"Cancel\",\"differentiated_due_dates\":\"Differentiated due date\",\"discussion_type\":\"Discussion\",\"external_tool_type\":\"External tool\",\"more\":\"More options\",\"multiple_due_dates\":\"Multiple due dates\",\"not_graded_type\":\"Not graded\",\"quiz_type\":\"Quiz\",\"save\":\"Save\",\"saving\":\"Saving...\"}},\"due_at_5e18eeac\":\"Completed At:\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Due date falls in a closed grading period\",\"sync_to_posttosisname_9837a8bf\":\"Sync to %{postToSISName}:\"},\"en-GB-x-lbs\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"Task\",\"assignment_due_at\":\"Due:\",\"assignment_name\":\"Name:\",\"assignment_points\":\"Points:\",\"assignment_type\":\"Type:\",\"buttons\":{\"save_and_publish\":\"Save \\u0026 publish\"},\"cancel\":\"Cancel\",\"differentiated_due_dates\":\"Differentiated due date\",\"discussion_type\":\"Discussion\",\"external_tool_type\":\"External tool\",\"more\":\"More options\",\"multiple_due_dates\":\"Multiple due dates\",\"not_graded_type\":\"Not graded\",\"quiz_type\":\"Survey\",\"save\":\"Save\",\"saving\":\"Saving...\"}},\"due_at_5e18eeac\":\"Completed At:\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Due date falls in a closed grading period\",\"sync_to_posttosisname_9837a8bf\":\"Sync to %{postToSISName}:\"},\"en-GB-x-ukhe\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"Assignment\",\"assignment_due_at\":\"Due:\",\"assignment_name\":\"Name:\",\"assignment_points\":\"Points:\",\"assignment_type\":\"Type:\",\"buttons\":{\"save_and_publish\":\"Save \\u0026 publish\"},\"cancel\":\"Cancel\",\"differentiated_due_dates\":\"Differentiated due date\",\"discussion_type\":\"Discussion\",\"external_tool_type\":\"External tool\",\"more\":\"More options\",\"multiple_due_dates\":\"Multiple due dates\",\"not_graded_type\":\"Not graded\",\"quiz_type\":\"Quiz\",\"save\":\"Save\",\"saving\":\"Saving...\"}},\"due_at_5e18eeac\":\"Completed At:\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Due date falls in a closed grading period\",\"sync_to_posttosisname_9837a8bf\":\"Sync to %{postToSISName}:\"},\"es\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"Tarea\",\"assignment_due_at\":\"Fecha límite:\",\"assignment_name\":\"Nombre:\",\"assignment_points\":\"Puntos:\",\"assignment_type\":\"Tipo:\",\"buttons\":{\"save_and_publish\":\"Guardar y publicar\"},\"cancel\":\"Cancelar\",\"differentiated_due_dates\":\"Fecha límite diferenciada\",\"discussion_type\":\"Foro\",\"external_tool_type\":\"Herramienta externa\",\"more\":\"Más opciones\",\"multiple_due_dates\":\"Varias fechas límite\",\"not_graded_type\":\"No calificado\",\"quiz_type\":\"Evaluación\",\"save\":\"Guardar\",\"saving\":\"Guardando...\"}},\"due_at_5e18eeac\":\"Vence el:\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"La fecha debida cae en un período de calificación cerrado\",\"sync_to_posttosisname_9837a8bf\":\"Sincronización con %{postToSISName}:\"},\"fa\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"تکلیف\",\"assignment_due_at\":\"مهلت:\",\"assignment_name\":\"نام:\",\"assignment_points\":\"امتیازها:\",\"assignment_type\":\"نوع:\",\"buttons\":{\"save_and_publish\":\"ذخیره سازی و انتشار\"},\"cancel\":\"لغو\",\"differentiated_due_dates\":\"تاریخ مهلت متمایز\",\"discussion_type\":\"بحث\",\"external_tool_type\":\"ابزار بیرونی\",\"more\":\"گزینه های دیگر\",\"multiple_due_dates\":\"چند تاریخ مهلت\",\"not_graded_type\":\"نمره گذاری نشده\",\"quiz_type\":\"آزمون\",\"save\":\"ذخیره سازی\",\"saving\":\"در حال ذخیره سازی...\"}},\"due_at_5e18eeac\":\"مهلت:\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\" تاریخ سررسید در یک دوره‌ نمره‌گذاری بسته شده قرار دارد\",\"sync_to_posttosisname_9837a8bf\":\"همگام سازی با %{postToSISName}:\"},\"fr\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"Travail\",\"assignment_due_at\":\"Échéance :\",\"assignment_name\":\"Nom :\",\"assignment_points\":\"Points :\",\"assignment_type\":\"Type :\",\"buttons\":{\"save_and_publish\":\"Sauvegarder et publier\"},\"cancel\":\"Annuler\",\"differentiated_due_dates\":\"Échéance différenciée\",\"discussion_type\":\"Discussion\",\"external_tool_type\":\"Outil externe\",\"more\":\"Plus d’options\",\"multiple_due_dates\":\"Plusieurs dates d’échéance\",\"not_graded_type\":\"Non noté\",\"quiz_type\":\"Questionnaire\",\"save\":\"Enregistrer\",\"saving\":\"Enregistrement...\"}},\"due_at_5e18eeac\":\"Dû(-ue) à :\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Cette date limite se trouve dans une période non ouverte à la notation\",\"sync_to_posttosisname_9837a8bf\":\"Synchroniser vers %{postToSISName}.\"},\"fr-CA\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"Tâche\",\"assignment_due_at\":\"Échéance :\",\"assignment_name\":\"Nom :\",\"assignment_points\":\"Points :\",\"assignment_type\":\"Type :\",\"buttons\":{\"save_and_publish\":\"Sauvegarder et publier\"},\"cancel\":\"Annuler\",\"differentiated_due_dates\":\"Échéance différenciée\",\"discussion_type\":\"Discussion\",\"external_tool_type\":\"Outil externe\",\"more\":\"Plus d’options\",\"multiple_due_dates\":\"Plusieurs dates d’échéance\",\"not_graded_type\":\"Non noté\",\"quiz_type\":\"Questionnaire\",\"save\":\"Enregistrer\",\"saving\":\"Enregistrement...\"}},\"due_at_5e18eeac\":\"Dû à :\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"La date d’échéance tombe dans une période de notation fermée\",\"sync_to_posttosisname_9837a8bf\":\"Synchroniser avec %{postToSISName}\"},\"he\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"משימה\",\"assignment_due_at\":\"תאריך יעד:\",\"assignment_name\":\"שם:\",\"assignment_points\":\"נקודות:\",\"assignment_type\":\"סוג:\",\"buttons\":{\"save_and_publish\":\"שמירה ופרסום\"},\"cancel\":\"ביטול\",\"differentiated_due_dates\":\"תאריך יעד מפוצל\",\"discussion_type\":\"דיון\",\"external_tool_type\":\"כלי חיצוני\",\"more\":\"אפשרויות נוספות\",\"multiple_due_dates\":\"תאריכי יעד מרובים\",\"not_graded_type\":\"ללא ציון\",\"quiz_type\":\"בוחן\",\"save\":\"שמירה\",\"saving\":\"שומר...\"}},\"due_at_5e18eeac\":\"מועד אחרון ב:\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"תאריך יעד נופל בתחום של תקופת הערכה סגורה\",\"sync_to_posttosisname_9837a8bf\":\"התאמה עם %{postToSISName}:\"},\"ht\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"Sesyon\",\"assignment_due_at\":\"Delè:\",\"assignment_name\":\"Non:\",\"assignment_points\":\"Pwen:\",\"assignment_type\":\"Tip:\",\"buttons\":{\"save_and_publish\":\"Anrejistre epi Pibliye\"},\"cancel\":\"Anile\",\"differentiated_due_dates\":\"Delè diferansye\",\"discussion_type\":\"Diskisyon\",\"external_tool_type\":\"Zouti Ekstèn\",\"more\":\"Plis Opsyon\",\"multiple_due_dates\":\"Plizyè delè\",\"not_graded_type\":\"Pa Klase\",\"quiz_type\":\"Quiz\",\"save\":\"Anrejistre\",\"saving\":\"Anrejistreman...\"}},\"due_at_5e18eeac\":\"Delè Pou:\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Delè a tonbe nan yon Peryòd Klasman ki fèmen\",\"sync_to_posttosisname_9837a8bf\":\"Senkwonize a %{postToSISName}:\"},\"hu\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"Feladat\",\"assignment_due_at\":\"Határidő: \",\"assignment_name\":\"Név: \",\"assignment_points\":\"Pontszám: \",\"assignment_type\":\"Típus: \",\"buttons\":{\"save_and_publish\":\"Mentés és publikálás\"},\"cancel\":\"Mégse\",\"differentiated_due_dates\":\"Differenciált határidő\",\"discussion_type\":\"Fórum\",\"external_tool_type\":\"Külső eszköz\",\"more\":\"További lehetőségek\",\"multiple_due_dates\":\"Többes határidő\",\"not_graded_type\":\"Nem osztályozott\",\"quiz_type\":\"Kvíz\",\"save\":\"Mentés\",\"saving\":\"Mentés...\"}},\"due_at_5e18eeac\":\"Határidő:\"},\"hy\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"Հանձնարարություն\",\"assignment_due_at\":\"Մինչև\",\"assignment_name\":\"Անուն․\",\"assignment_points\":\"Միավորներ\",\"assignment_type\":\"Տեսակ\",\"buttons\":{\"save_and_publish\":\"Պահպանել և հրապարակել\"},\"cancel\":\"Չեղյալ համարել\",\"differentiated_due_dates\":\"Տարբերակված է ըստ կատարման ամսաթվերի\",\"discussion_type\":\"Քննարկում\",\"external_tool_type\":\"Արտաքին գործիք\",\"more\":\"Լրացուցիչ օպցիաներ\",\"multiple_due_dates\":\"Կատարման մի քանի ամսաթվեր\",\"not_graded_type\":\"Չգնահատվող\",\"quiz_type\":\"Թեստ\",\"save\":\"Պահպանել\",\"saving\":\"Պահպանվում է...\"}},\"due_at_5e18eeac\":\"Կատարման ամսաթիվ՝\"},\"is\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"Verkefni\",\"assignment_due_at\":\"Skil:\",\"assignment_name\":\"Nafn:\",\"assignment_points\":\"Punktar:\",\"assignment_type\":\"Tegund:\",\"buttons\":{\"save_and_publish\":\"Vista og birta\"},\"cancel\":\"Hætta við\",\"differentiated_due_dates\":\"Aðgreindur skiladagur\",\"discussion_type\":\"Umræða\",\"external_tool_type\":\"Ytra tæki\",\"more\":\"Fleiri kostir\",\"multiple_due_dates\":\"Margir skiladagar\",\"not_graded_type\":\"Ekki metið\",\"quiz_type\":\"Próf\",\"save\":\"Vista\",\"saving\":\"Vista...\"}},\"due_at_5e18eeac\":\"Skiladagur:\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Skiladagur lendir á lokuðu matstímabili\",\"sync_to_posttosisname_9837a8bf\":\"Samhæfa við %{postToSISName}:\"},\"it\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"Compito\",\"assignment_due_at\":\"Scadenza:\",\"assignment_name\":\"Nome:\",\"assignment_points\":\"Punti:\",\"assignment_type\":\"Tipo:\",\"buttons\":{\"save_and_publish\":\"Salva e pubblica\"},\"cancel\":\"Annulla\",\"differentiated_due_dates\":\"Data di scadenza differenziata\",\"discussion_type\":\"Discussione\",\"external_tool_type\":\"Strumento esterno\",\"more\":\"Altre opzioni\",\"multiple_due_dates\":\"Più date di scadenza\",\"not_graded_type\":\"Non valutato\",\"quiz_type\":\"Quiz\",\"save\":\"Salva\",\"saving\":\"Salvataggio in corso...\"}},\"due_at_5e18eeac\":\"Scadenza alle:\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"La data di scadenza cade in un periodo di valutazione chiuso\",\"sync_to_posttosisname_9837a8bf\":\"Sincronizza con %{postToSISName}:\"},\"ja\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"課題\",\"assignment_due_at\":\"期限:\",\"assignment_name\":\"名前:\",\"assignment_points\":\"点数:\",\"assignment_type\":\"タイプ:\",\"buttons\":{\"save_and_publish\":\"保存して公開\"},\"cancel\":\"キャンセル\",\"differentiated_due_dates\":\"分化期日\",\"discussion_type\":\"ディスカッション\",\"external_tool_type\":\"外部ツール\",\"more\":\"その他のオプション\",\"multiple_due_dates\":\"複数の期日\",\"not_graded_type\":\"未採点\",\"quiz_type\":\"クイズ\",\"save\":\"保存\",\"saving\":\"保存しています...\"}},\"due_at_5e18eeac\":\"期限:\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"締め切り日が終了した採点期間内にあります\",\"sync_to_posttosisname_9837a8bf\":\"%{postToSISName} へ同期化する：\"},\"ko\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"과제\",\"assignment_due_at\":\"기한:\",\"assignment_name\":\"이름:\",\"assignment_points\":\"점수:\",\"assignment_type\":\"유형:\",\"buttons\":{\"save_and_publish\":\"저장 \\u0026 게시\"},\"cancel\":\"취소\",\"discussion_type\":\"토론\",\"external_tool_type\":\"외부 도구\",\"more\":\"기타 옵션\",\"multiple_due_dates\":\"기한: 여러 기한\",\"not_graded_type\":\"평가 안 됨\",\"quiz_type\":\"퀴즈\",\"save\":\"저장\",\"saving\":\"저장 중...\"}}},\"mi\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"Whakataunga\",\"assignment_due_at\":\"E tika ana:\",\"assignment_name\":\"ingoa:\",\"assignment_points\":\"Ngā Koinga\",\"assignment_type\":\"momo:\",\"buttons\":{\"save_and_publish\":\"Tiaki \\u0026 Whakaputa\"},\"cancel\":\"Whakakore\",\"differentiated_due_dates\":\"Rā e tika ana rerekëtanga\",\"discussion_type\":\"Kōrerorero\",\"external_tool_type\":\"Taputapu o waho\",\"more\":\"He Kōwhiringa atu anō\",\"multiple_due_dates\":\"Rā e tika Maha\",\"not_graded_type\":\"Kāore i kōeketia\",\"quiz_type\":\"Quiz\",\"save\":\"Tiaki\",\"saving\":\"Kei te tiakina\"}},\"due_at_5e18eeac\":\"E tika ana i\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"E taka ana te rā e tika ana i roto i te wāhanga kōeke kua katia\",\"sync_to_posttosisname_9837a8bf\":\"Tukutahi kī %{postToSISName}\"},\"nb\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"Oppgave\",\"assignment_due_at\":\"Frist:\",\"assignment_name\":\"Navn:\",\"assignment_points\":\"Poeng:\",\"assignment_type\":\"Type:\",\"buttons\":{\"save_and_publish\":\"Lagre \\u0026 publiser\"},\"cancel\":\"Avbryt\",\"differentiated_due_dates\":\"Differensiert forfallsdato\",\"discussion_type\":\"Diskusjon\",\"external_tool_type\":\"Eksternt verktøy\",\"more\":\"Flere alternativer\",\"multiple_due_dates\":\"Flere forfallsdatoer\",\"not_graded_type\":\"Ikke vurdert\",\"quiz_type\":\"Test\",\"save\":\"Lagre\",\"saving\":\"Lagrer…\"}},\"due_at_5e18eeac\":\"Forfall:\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Forfallsdatoen er innenfor en stengt vurderingsperiode\",\"sync_to_posttosisname_9837a8bf\":\"Synkronisering med %{postToSISName}\"},\"nb-x-k12\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"Oppgave\",\"assignment_due_at\":\"Frist:\",\"assignment_name\":\"Navn:\",\"assignment_points\":\"Poeng:\",\"assignment_type\":\"Type:\",\"buttons\":{\"save_and_publish\":\"Lagre og publiser\"},\"cancel\":\"Avbryt\",\"differentiated_due_dates\":\"Differensiert forfallsdato\",\"discussion_type\":\"Diskusjon\",\"external_tool_type\":\"Eksternt verktøy\",\"more\":\"Flere alternativer\",\"multiple_due_dates\":\"Flere forfallsdatoer\",\"not_graded_type\":\"Ikke vurdert\",\"quiz_type\":\"Test\",\"save\":\"Lagre\",\"saving\":\"Lagrer…\"}},\"due_at_5e18eeac\":\"Forfall:\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Forfallsdatoen er innenfor en stengt vurderingsperiode\",\"sync_to_posttosisname_9837a8bf\":\"Synkronisering med %{postToSISName}\"},\"nl\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"Opdracht\",\"assignment_due_at\":\"Inleverdatum:\",\"assignment_name\":\"Naam:\",\"assignment_points\":\"Punten:\",\"assignment_type\":\"Type\",\"buttons\":{\"save_and_publish\":\"Opslaan \\u0026 publiceren\"},\"cancel\":\"Annuleren\",\"differentiated_due_dates\":\"Gedifferentieerde inleverdatum\",\"discussion_type\":\"Discussie\",\"external_tool_type\":\"Externe tool\",\"more\":\"Meer opties\",\"multiple_due_dates\":\"Meerdere inleverdatums\",\"not_graded_type\":\"Niet beoordeeld\",\"quiz_type\":\"Toets\",\"save\":\"Opslaan\",\"saving\":\"Bezig met opslaan...\"}},\"due_at_5e18eeac\":\"Inleverdatum:\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Inleverdatum valt binnen een afgesloten beoordelingsperiode\",\"sync_to_posttosisname_9837a8bf\":\"Synchroniseren met %{postToSISName}:\"},\"nn\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"Oppgåve\",\"assignment_due_at\":\"Frist:\",\"assignment_name\":\"Namn:\",\"assignment_points\":\"Poeng:\",\"assignment_type\":\"Type:\",\"buttons\":{\"save_and_publish\":\"Lagre og publiser\"},\"cancel\":\"Avbryt\",\"differentiated_due_dates\":\"Differensiert tidsfrist\",\"discussion_type\":\"Diskusjon\",\"external_tool_type\":\"Eksternt verktøy\",\"more\":\"Fleire alternativ\",\"multiple_due_dates\":\"Fleire forfallsdatoar\",\"not_graded_type\":\"Ikkje karaktersett\",\"quiz_type\":\"Quiz\",\"save\":\"Lagre\",\"saving\":\"Lagrar...\"}},\"due_at_5e18eeac\":\"Frist den:\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Innleveringsfristen er innanfor ein lukka karaktersetjingsperiode\",\"sync_to_posttosisname_9837a8bf\":\"Synkroniser til %{postToSISName}:\"},\"pl\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"Zadanie\",\"assignment_due_at\":\"Termin dostarczenia:\",\"assignment_name\":\"Nazwa:\",\"assignment_points\":\"Punkty:\",\"assignment_type\":\"Typ:\",\"buttons\":{\"save_and_publish\":\"Zapisz i opublikuj\"},\"cancel\":\"Anuluj\",\"differentiated_due_dates\":\"Zróżnicowany termin dostarczenia\",\"discussion_type\":\"Dyskusja\",\"external_tool_type\":\"Narzędzie zewnętrzne\",\"more\":\"Więcej opcji\",\"multiple_due_dates\":\"Więcej niż jeden termin dostarczenia\",\"not_graded_type\":\"Bez oceny\",\"quiz_type\":\"Test\",\"save\":\"Zapisz\",\"saving\":\"Trwa zapisywanie...\"}},\"due_at_5e18eeac\":\"Godz:\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Termin przypada na zamknięty okres oceniania\",\"sync_to_posttosisname_9837a8bf\":\"Synchronizuj z %{postToSISName}:\"},\"pt\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"Tarefa\",\"assignment_due_at\":\"Prazo:\",\"assignment_name\":\"Nome:\",\"assignment_points\":\"Pontos:\",\"assignment_type\":\"Tipo:\",\"buttons\":{\"save_and_publish\":\"Guardar e Publicar\"},\"cancel\":\"Cancelar\",\"differentiated_due_dates\":\"Data de entrega diferenciada\",\"discussion_type\":\"Discussão\",\"external_tool_type\":\"Ferramenta externa\",\"more\":\"Mais opções\",\"multiple_due_dates\":\"Várias datas de entrega\",\"not_graded_type\":\"Sem nota\",\"quiz_type\":\"Teste\",\"save\":\"Guardar\",\"saving\":\"A guardar...\"}},\"due_at_5e18eeac\":\"Até:\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"A data de vencimento cai em um Período de Classificação fechado\",\"sync_to_posttosisname_9837a8bf\":\"Sincronizar para %{postToSISName}:\"},\"pt-BR\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"Tarefa\",\"assignment_due_at\":\"Vencimento:\",\"assignment_name\":\"Nome:\",\"assignment_points\":\"Pontos:\",\"assignment_type\":\"Tipo:\",\"buttons\":{\"save_and_publish\":\"Salvar e publicar\"},\"cancel\":\"Cancelar\",\"differentiated_due_dates\":\"Data de entrega diferenciada\",\"discussion_type\":\"Discussão\",\"external_tool_type\":\"Ferramentas externas\",\"more\":\"Mais opções\",\"multiple_due_dates\":\"Várias datas de entrega\",\"not_graded_type\":\"Sem nota\",\"quiz_type\":\"Teste\",\"save\":\"Salvar\",\"saving\":\"Salvando...\"}},\"due_at_5e18eeac\":\"Prazo de Entrega Vai Até:\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"A data de vencimento está em um período de classificação fechado\",\"sync_to_posttosisname_9837a8bf\":\"Sincronizar para %{postToSISName}:\"},\"ru\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"Задание\",\"assignment_due_at\":\"До:\",\"assignment_name\":\"Имя:\",\"assignment_points\":\"Баллы:\",\"assignment_type\":\"Тип:\",\"buttons\":{\"save_and_publish\":\"Сохр и опубл\"},\"cancel\":\"Отмена\",\"differentiated_due_dates\":\"Дифференцировано по дате выполнения\",\"discussion_type\":\"Обсуждение\",\"external_tool_type\":\"Внешний инструмент\",\"more\":\"Дополн\",\"multiple_due_dates\":\"Несколько сроков выполнения\",\"not_graded_type\":\"Нет оценки\",\"quiz_type\":\"Тестирование\",\"save\":\"Сохр\",\"saving\":\"Сохранение...\"}},\"due_at_5e18eeac\":\"Срок выполнения:\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Дата истечения срока выполнения не может наступать в закрытом периоде оценки успеваемости\",\"sync_to_posttosisname_9837a8bf\":\"Синхронизировать с %{postToSISName}:\"},\"sl\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"Naloga\",\"assignment_due_at\":\"Rok:\",\"assignment_name\":\"Ime:\",\"assignment_points\":\"Točke:\",\"assignment_type\":\"Vrsta:\",\"buttons\":{\"save_and_publish\":\"Shrani in objavi\"},\"cancel\":\"Prekliči\",\"differentiated_due_dates\":\"Razločeni rok\",\"discussion_type\":\"Razprava\",\"external_tool_type\":\"Zunanje orodje\",\"more\":\"Dodatne možnosti\",\"multiple_due_dates\":\"Več rokov\",\"not_graded_type\":\"Ni ocenjeno.\",\"quiz_type\":\"Kviz\",\"save\":\"Shrani\",\"saving\":\"Shranjevanje ...\"}},\"due_at_5e18eeac\":\"Rok ob:\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Rok je v zaprtem ocenjevalnem obdobju.\",\"sync_to_posttosisname_9837a8bf\":\"Sinhronizacija v %{postToSISName}:\"},\"sv\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"Uppgift\",\"assignment_due_at\":\"Färdig:\",\"assignment_name\":\"Namn:\",\"assignment_points\":\"Poäng:\",\"assignment_type\":\"Typ:\",\"buttons\":{\"save_and_publish\":\"Spara och publicera\"},\"cancel\":\"Avbryt\",\"differentiated_due_dates\":\"Annat sista inlämningsdatum\",\"discussion_type\":\"Diskussion\",\"external_tool_type\":\"Externt verktyg\",\"more\":\"Fler alternativ\",\"multiple_due_dates\":\"Flera inlämningsdatum\",\"not_graded_type\":\"Ej bedömd\",\"quiz_type\":\"Quiz\",\"save\":\"Spara\",\"saving\":\"Sparar...\"}},\"due_at_5e18eeac\":\"Slutdatum kl:\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Inlämningsdatum infaller i en stängd omdömesperiod\",\"sync_to_posttosisname_9837a8bf\":\"Synkronisera till %{postToSISName}:\"},\"sv-x-k12\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"Uppgift\",\"assignment_due_at\":\"Färdiggjord:\",\"assignment_name\":\"Namn:\",\"assignment_points\":\"Poäng:\",\"assignment_type\":\"Typ:\",\"buttons\":{\"save_and_publish\":\"Spara och publicera\"},\"cancel\":\"Avbryt\",\"differentiated_due_dates\":\"Annat sista inlämningsdatum\",\"discussion_type\":\"Diskussion\",\"external_tool_type\":\"Externt verktyg\",\"more\":\"Fler alternativ\",\"multiple_due_dates\":\"Flera inlämningsdatum\",\"not_graded_type\":\"Inte bedömd\",\"quiz_type\":\"Quiz\",\"save\":\"Spara\",\"saving\":\"Sparar...\"}},\"due_at_5e18eeac\":\"Slutdatum kl:\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Inlämningsdatum infaller i en stängd bedömningsperiod\",\"sync_to_posttosisname_9837a8bf\":\"Synkronisera till %{postToSISName}:\"},\"tr\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"Ödev\",\"assignment_due_at\":\"Bitiş:\",\"assignment_name\":\"İsim:\",\"assignment_points\":\"Puanlar:\",\"assignment_type\":\"Tip:\",\"buttons\":{\"save_and_publish\":\"Kaydet \\u0026 Yayınla\"},\"cancel\":\"İptal\",\"differentiated_due_dates\":\"Sınıflandırılmıl teslim tarihi\",\"discussion_type\":\"Tartışma\",\"external_tool_type\":\"Harici Araç\",\"more\":\"Daha Fazla Seçenek\",\"multiple_due_dates\":\"Çoklu bitiş tarihleri\",\"not_graded_type\":\"Notlandırılmamış\",\"quiz_type\":\"Kısa Sınav\",\"save\":\"Kaydet\",\"saving\":\"Kaydediliyor...\"}},\"due_at_5e18eeac\":\"Bitiş:\"},\"uk\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"Завдання\",\"assignment_due_at\":\"Очікується:\",\"assignment_name\":\"ім'я:\",\"assignment_points\":\"Бали:\",\"assignment_type\":\"Тип:\",\"buttons\":{\"save_and_publish\":\"Зберегти та опублікувати\"},\"cancel\":\"Скасувати\",\"differentiated_due_dates\":\"Диференційований термін\",\"discussion_type\":\"Обговорення\",\"external_tool_type\":\"Зовнішній інструмент\",\"more\":\"Додаткові параметри\",\"multiple_due_dates\":\"Кілька термінів\",\"not_graded_type\":\"Оцінка відсутня\",\"quiz_type\":\"Контрольна робота\",\"save\":\"Зберегти\",\"saving\":\"Збереження...\"}},\"due_at_5e18eeac\":\"Очікується о:\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Очікувана дата припадає на закритий період оцінювання\",\"sync_to_posttosisname_9837a8bf\":\"Синхронізувати з %{postToSISName}:\"},\"zh-Hans\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"作业\",\"assignment_due_at\":\"截止时间：\",\"assignment_name\":\"姓名：\",\"assignment_points\":\"得分：\",\"assignment_type\":\"类型：\",\"buttons\":{\"save_and_publish\":\"保存并发布\"},\"cancel\":\"取消\",\"differentiated_due_dates\":\"差异化到期日期\",\"discussion_type\":\"讨论\",\"external_tool_type\":\"外部工具\",\"more\":\"更多选项\",\"multiple_due_dates\":\"多个截止时间\",\"not_graded_type\":\"未计分\",\"quiz_type\":\"测验\",\"save\":\"保存\",\"saving\":\"正在保存...\"}},\"due_at_5e18eeac\":\"截止于：\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"截止日期处在关闭评分周期内\",\"sync_to_posttosisname_9837a8bf\":\"同步到%{postToSISName}：\"},\"zh-Hant\":{\"assignments\":{\"create_assignment\":{\"assignment\":\"任務 ID\",\"assignment_due_at\":\"截止日期\",\"assignment_name\":\"名稱：\",\"assignment_points\":\"分數：\",\"assignment_type\":\"類型：\",\"buttons\":{\"save_and_publish\":\"保存並發佈\"},\"cancel\":\"取消\",\"differentiated_due_dates\":\"差異化截止日期\",\"discussion_type\":\"討論\",\"external_tool_type\":\"外部工具\",\"more\":\"更多選項\",\"multiple_due_dates\":\"多個截止日期\",\"not_graded_type\":\"未評分\",\"quiz_type\":\"測驗\",\"save\":\"保存\",\"saving\":\"正在保存...\"}},\"due_at_5e18eeac\":\"截止於：\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"到期日可設於封閉評分期內\",\"sync_to_posttosisname_9837a8bf\":\"同步至 %{postToSISName}：\"}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/assignments.create_assignment.js\n// module id = RFKTnL76EX\n// module chunks = 54","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"لا يمكن أن يكون تاريخ الاستحقاق بعد نهاية المساق\",\"due_date_cannot_be_after_section_end_b0f54388\":\"لا يمكن أن يكون تاريخ الاستحقاق بعد نهاية القسم\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"لا يمكن أن يكون تاريخ الاستحقاق بعد نهاية الفصل الدراسي\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"لا يمكن أن يكون تاريخ الاستحقاق قبل بداية المساق\",\"due_date_cannot_be_before_section_start_f8950484\":\"لا يمكن أن يكون تاريخ الاستحقاق قبل بداية القسم\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"لا يمكن أن يكون تاريخ الاستحقاق قبل بداية الفصل الدراسي\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"يتعذر وقوع تاريخ الاستحقاق في فترة مغلقة لمنح العلامات\",\"lock_date_cannot_be_after_course_end_a473158b\":\"لا يمكن أن يكون تاريخ التأمين بعد انتهاء المساق\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"لا يمكن أن يكون تاريخ التأمين بعد نهاية القسم\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"لا يمكن أن يكون تاريخ التأمين بعد نهاية الفصل الدراسي\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"لا يمكن أن يكون تاريخ التأمين قبل تاريخ الاستحقاق\",\"overrides\":{\"overrides\":{\"everyone\":\"الجميع\"}},\"please_add_a_due_date_1d433d2\":\"الرجاء إضافة تاريخ استحقاق\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"الرجاء إدخال تاريخ استحقاق في أو بعد %{earliestDate}\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"لا يمكن أن يكون تاريخ إلغاء التأمين بعد تاريخ الاستحقاق\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"لا يمكن أن يكون تاريخ إلغاء التأمين بعد تاريخ التأمين\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"لا يمكن أن يكون تاريخ إلغاء التأمين قبل بدء المساق\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"لا يمكن أن يكون تاريخ إلغاء التأمين قبل بدء الجلسة\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"لا يمكن أن يكون تاريخ إلغاء التأمين قبل بدء الفصل الدراسي\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"لا يمكنك القيام بتعيين لمجموعة خارج فئة مجموعات المهمة\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"يجب أن تقوم بتحديد طالب أو قسم\"},\"cy\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"Does dim modd i’r dyddiad erbyn fod ar ôl i’r cwrs ddod i ben\",\"due_date_cannot_be_after_section_end_b0f54388\":\"Does dim modd i’r dyddiad erbyn fod ar ôl i’r adran ddod i ben\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"Does dim modd i’r dyddiad erbyn fod ar ôl i’r tymor ddod i ben\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"Does dim modd i’r dyddiad erbyn fod cyn dechrau’r cwrs\",\"due_date_cannot_be_before_section_start_f8950484\":\"Does dim modd i’r dyddiad erbyn fod cyn dechrau’r adran\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"Does dim modd i’r dyddiad erbyn fod cyn dechrau’r tymor\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"Does dim modd i’r dyddiad erbyn fod o fewn cyfnod graddio sydd wedi dod i ben\",\"lock_date_cannot_be_after_course_end_a473158b\":\"Does dim modd i’r dyddiad cloi fod ar ôl i’r cwrs ddod i ben\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"Does dim modd i’r dyddiad cloi fod ar ôl i’r adran ddod i ben\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"Does dim modd i’r dyddiad cloi fod ar ôl i’r tymor ddod i ben\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"Does dim modd i’r dyddiad cloi fod cyn y dyddiad erbyn\",\"overrides\":{\"overrides\":{\"everyone\":\"Pawb\"}},\"please_add_a_due_date_1d433d2\":\"Ychwanegwch ddyddiad erbyn\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"Rhowch ddyddiad erbyn sydd ar neu ar ôl %{earliestDate}\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"Does dim modd i’r dyddiad datgloi fod ar ôl y dyddiad erbyn\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"Does dim modd i’r dyddiad datgloi fod ar ôl y dyddiad cloi\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"Does dim modd i’r dyddiad datgloi fod cyn dechrau’r cwrs\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"Does dim modd i’r dyddiad datgloi fod cyn dechrau’r adran\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"Does dim modd i’r dyddiad datgloi fod cyn dechrau’r tymor\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"Does dim modd i chi neilltuo i grŵp sydd ddim yn rhan o set grwpiau’r aseiniad\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"Mae’n rhaid i chi ddewis myfyriwr neu adran\"},\"da\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"Afleveringsdato kan ikke ligge efter fagets afslutning\",\"due_date_cannot_be_after_section_end_b0f54388\":\"Afleveringsdato kan ikke ligge efter sektionens afslutning\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"Afleveringsdato kan ikke ligge efter semesterets afslutning\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"Afleveringsdato kan ikke ligge før fagets start\",\"due_date_cannot_be_before_section_start_f8950484\":\"Afleveringsdato kan ikke ligge før sektionens start\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"Afleveringsdato kan ikke ligge før semesterets start\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"Forfaldsdato kan ikke falde i en lukket karakterperiode\",\"lock_date_cannot_be_after_course_end_a473158b\":\"Låsningsdato kan ikke ligge efter faget afslutning\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"Låsningsdato kan ikke ligge efter sektionens afslutning\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"Låsningsdato kan ikke ligge efter semesterets afslutning\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"Låsningsdato kan ikke ligge før afleveringsdatoer\",\"overrides\":{\"overrides\":{\"everyone\":\"Alle\"}},\"please_add_a_due_date_1d433d2\":\"Tilføj venligst en forfaldsdato\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"Indtast en forfaldsdato på eller efter %{earliestDate}\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"Oplåsningsdatoen kan ikke ligge efter afleveringsdato\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"Oplåsningsdatoen kan ikke ligge efter låsningsdatoen\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"Oplåsningsdato kan ikke ligge før fagets start\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"Oplåsningsdato kan ikke ligge før sektionens start\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"Oplåsningsdato kan ikke ligge før semesterstart\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"Du kan ikke tildele en gruppe uden for opgavens studiegruppe\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"Du skal have valgt studerende eller sektion\"},\"da-x-k12\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"Afleveringsdato kan ikke ligge efter fagets afslutning\",\"due_date_cannot_be_after_section_end_b0f54388\":\"Afleveringsdato kan ikke ligge efter sektionens afslutning\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"Afleveringsdato kan ikke ligge efter skoleårets afslutning\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"Afleveringsdato kan ikke ligge før fagets start\",\"due_date_cannot_be_before_section_start_f8950484\":\"Afleveringsdato kan ikke ligge før sektionens start\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"Afleveringsdato kan ikke ligge før skoleårets start\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"Forfaldsdato kan ikke falde i en lukket vurderingsperiode\",\"lock_date_cannot_be_after_course_end_a473158b\":\"Låsningsdato kan ikke ligge efter faget afslutning\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"Låsningsdato kan ikke ligge efter sektionens afslutning\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"Låsningsdato kan ikke ligge efter skoleårets afslutning\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"Låsningsdato kan ikke ligge før afleveringsdatoer\",\"overrides\":{\"overrides\":{\"everyone\":\"Alle\"}},\"please_add_a_due_date_1d433d2\":\"Tilføj venligst en forfaldsdato\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"Indtast en forfaldsdato på eller efter %{earliestDate}\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"Oplåsningsdatoen kan ikke ligge efter afleveringsdato\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"Oplåsningsdatoen kan ikke ligge efter låsningsdatoen\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"Oplåsningsdato kan ikke ligge før fagets start\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"Oplåsningsdato kan ikke ligge før sektionens start\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"Oplåsningsdato kan ikke ligge før skoleårets start\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"Du kan ikke tildele en gruppe uden for opgavens studiegruppe\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"Du skal have valgt en elev eller sektion\"},\"de\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"Der Abgabetermin darf nicht nach dem Kursende liegen.\",\"due_date_cannot_be_after_section_end_b0f54388\":\"Der Abgabetermin darf nicht nach dem Ende des Kursabschnitts liegen.\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"Der Abgabetermin darf nicht nach dem Ende des Semesters liegen.\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"Der Abgabetermin darf nicht vor dem Kursstart liegen.\",\"due_date_cannot_be_before_section_start_f8950484\":\"Der Abgabetermin darf nicht vor dem Beginn des Kursabschnitts liegen.\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"Der Abgabetermin darf nicht vor dem Beginn des Semesters liegen.\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"Das Fälligkeitsdatum darf nicht innerhalb eines abgeschlossenen Benotungszeitraums liegen.\",\"lock_date_cannot_be_after_course_end_a473158b\":\"Sperrdatum darf nicht nach dem Kursende liegen\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"Das Sperrdatum darf nicht nach dem Ende des Abschnitts liegen.\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"Das Sperrdatum darf nicht nach dem Ende des Semesters liegen.\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"Das Sperrdatum darf nicht vor dem Abgabetermin liegen.\",\"overrides\":{\"overrides\":{\"everyone\":\"Jeder\"}},\"please_add_a_due_date_1d433d2\":\"Bitte geben Sie ein Fälligkeitsdatum an.\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"Bitte geben Sie ein Fälligkeitsdatum an am oder nach dem %{earliestDate}\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"Das Freigabedatum kann nicht nach dem Abgabetermin liegen.\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"Das Freigabedatum kann nicht nach dem Sperrdatum liegen.\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"Das Freigabedatum kann nicht vor dem Kursstart liegen.\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"Das Freigabedatum kann nicht vor dem Start des Kursabschnitts liegen.\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"Das Freigabedatum kann nicht vor dem Beginn des Semesters liegen.\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"Sie können einer Gruppe nicht außerhalb des Gruppensets der Aufgabe etwas zuweisen.\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"Sie müssen einen Studenten oder Abschnitt ausgewählt haben.\"},\"el\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"Η καταληκτική ημερομηνία δεν μπορεί να είναι μετά το τέλος του μαθήματος\",\"due_date_cannot_be_after_section_end_b0f54388\":\"Η καταληκτική ημερομηνία δεν μπορεί να είναι μετά το τέλος του τομέα\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"Η καταληκτική ημερομηνία δεν μπορεί να είναι μετά το τέλος του εξαμήνου\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"Η καταληκτική ημερομηνία δεν μπορεί να είναι πριν την έναρξη του μαθήματος\",\"due_date_cannot_be_before_section_start_f8950484\":\"Η καταληκτική ημερομηνία δεν μπορεί να είναι πριν την έναρξη του τομέα\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"Η καταληκτική ημερομηνία δεν μπορεί να είναι πριν την έναρξη του εξαμήνου\",\"lock_date_cannot_be_after_course_end_a473158b\":\"Η ημερομηνία κλειδώματος δεν μπορεί να είναι μετά το τέλος του μαθήματος\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"Η ημερομηνία κλειδώματος δεν μπορεί να είναι μετά το τέλος του τομέα\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"Η ημερομηνία κλειδώματος δεν μπορεί να είναι μετά το τέλος του εξαμήνου\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"Η ημερομηνία κλειδώματος δεν μπορεί να είναι πριν την καταληκτική ημερομηνία\",\"overrides\":{\"overrides\":{\"everyone\":\"Όλοι/ες\"}},\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"Η ημερομηνία ξεκλειδώματος δεν μπορεί να είναι μετά την καταληκτική ημερομηνία\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"Η ημερομηνία ξεκλειδώματος δεν μπορεί να είναι μετά την ημερομηνία κλειδώματος\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"Η ημερομηνία ξεκλειδώματος δεν μπορεί να είναι πριν την έναρξη του μαθήματος\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"Η ημερομηνία ξεκλειδώματος δεν μπορεί να είναι πριν την έναρξη του τομέα\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"Η ημερομηνία ξεκλειδώματος δεν μπορεί να είναι πριν την έναρξη του εξαμήνου\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"Θα πρέπει να έχετε επιλέξει κάποιον σπουδαστή ή κάποια ενότητα\"},\"en-AU\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"Due date cannot be after course end\",\"due_date_cannot_be_after_section_end_b0f54388\":\"Due date cannot be after section end\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"Due date cannot be after term end\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"Due date cannot be before course start\",\"due_date_cannot_be_before_section_start_f8950484\":\"Due date cannot be before section start\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"Due date cannot be before term start\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"Due date cannot fall in a closed grading period\",\"lock_date_cannot_be_after_course_end_a473158b\":\"Lock date cannot be after course end\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"Lock date cannot be after section end\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"Lock date cannot be after term end\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"Lock date cannot be before due date\",\"overrides\":{\"overrides\":{\"everyone\":\"Everyone\"}},\"please_add_a_due_date_1d433d2\":\"Please add a due date\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"Please enter a due date on or after %{earliestDate}\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"Unlock date cannot be after due date\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"Unlock date cannot be after lock date\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"Unlock date cannot be before course start\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"Unlock date cannot be before section start\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"Unlock date cannot be before term start\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"You cannot assign to a group outside of the assignment's group set\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"You must have a student or section selected.\"},\"en-CA\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"Due date cannot be after course end\",\"due_date_cannot_be_after_section_end_b0f54388\":\"Due date cannot be after section end\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"Due date cannot be after term end\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"Due date cannot be before course start\",\"due_date_cannot_be_before_section_start_f8950484\":\"Due date cannot be before section start\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"Due date cannot be before term start\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"Due date cannot fall in a closed grading period\",\"lock_date_cannot_be_after_course_end_a473158b\":\"Lock date cannot be after course end\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"Lock date cannot be after section end\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"Lock date cannot be after term end\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"Lock date cannot be before due date\",\"overrides\":{\"overrides\":{\"everyone\":\"Everyone\"}},\"please_add_a_due_date_1d433d2\":\"Please add a due date\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"Please enter a due date on or after %{earliestDate}\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"Unlock date cannot be after due date\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"Unlock date cannot be after lock date\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"Unlock date cannot be before course start\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"Unlock date cannot be before section start\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"Unlock date cannot be before term start\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"You cannot assign to a group outside of the assignment's group set\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"You must have a student or section selected\"},\"en-GB\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"Due date cannot be after course end\",\"due_date_cannot_be_after_section_end_b0f54388\":\"Due date cannot be after section end\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"Due date cannot be after term end\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"Due date cannot be before course start\",\"due_date_cannot_be_before_section_start_f8950484\":\"Due date cannot be before section start\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"Due date cannot be before term start\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"Due date cannot fall in a closed grading period\",\"lock_date_cannot_be_after_course_end_a473158b\":\"Lock date cannot be after course end\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"Lock date cannot be after section end\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"Lock date cannot be after term end\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"Lock date cannot be before due date\",\"overrides\":{\"overrides\":{\"everyone\":\"Everyone\"}},\"please_add_a_due_date_1d433d2\":\"Please add a due date\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"Please enter a due date on or after %{earliestDate}\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"Unlock date cannot be after due date\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"Unlock date cannot be after lock date\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"Unlock date cannot be before course start\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"Unlock date cannot be before section start\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"Unlock date cannot be before term start\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"You cannot assign to a group outside of the assignment's group set\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"You must have a student or section selected\"},\"en-GB-x-lbs\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"Due date cannot be after programme end\",\"due_date_cannot_be_after_section_end_b0f54388\":\"Due date cannot be after section end\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"Due date cannot be after term end\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"Due date cannot be before programme start\",\"due_date_cannot_be_before_section_start_f8950484\":\"Due date cannot be before section start\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"Due date cannot be before term start\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"Due date cannot fall in a closed grading period\",\"lock_date_cannot_be_after_course_end_a473158b\":\"Lock date cannot be after programme end\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"Lock date cannot be after section end\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"Lock date cannot be after term end\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"Lock date cannot be before due date\",\"overrides\":{\"overrides\":{\"everyone\":\"Everyone\"}},\"please_add_a_due_date_1d433d2\":\"Please add a due date\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"Please enter a due date on or after %{earliestDate}\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"Unlock date cannot be after due date\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"Unlock date cannot be after lock date\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"Unlock date cannot be before programme start\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"Unlock date cannot be before section start\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"Unlock date cannot be before term start\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"You cannot assign to a group outside of the task's group set\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"You must have a student or section selected\"},\"en-GB-x-ukhe\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"Due date cannot be after module end\",\"due_date_cannot_be_after_section_end_b0f54388\":\"Due date cannot be after section end\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"Due date cannot be after term end\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"Due date cannot be before module start\",\"due_date_cannot_be_before_section_start_f8950484\":\"Due date cannot be before section start\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"Due date cannot be before term start\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"Due date cannot fall in a closed grading period\",\"lock_date_cannot_be_after_course_end_a473158b\":\"Lock date cannot be after module end\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"Lock date cannot be after section end\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"Lock date cannot be after term end\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"Lock date cannot be before due date\",\"overrides\":{\"overrides\":{\"everyone\":\"Everyone\"}},\"please_add_a_due_date_1d433d2\":\"Please add a due date\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"Please enter a due date on or after %{earliestDate}\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"Unlock date cannot be after due date\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"Unlock date cannot be after lock date\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"Unlock date cannot be before module start\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"Unlock date cannot be before section start\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"Unlock date cannot be before term start\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"You cannot assign to a group outside of the assignment's group set\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"You must have a student or section selected\"},\"es\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"La fecha límite no puede ser posterior a la fecha de finalización del curso\",\"due_date_cannot_be_after_section_end_b0f54388\":\"La fecha límite no puede ser posterior a la fecha de finalización de la sección\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"La fecha límite no puede ser posterior a la fecha de finalización del período\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"La fecha límite no puede ser anterior al inicio del curso\",\"due_date_cannot_be_before_section_start_f8950484\":\"La fecha límite no puede ser anterior al inicio de la sección\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"La fecha límite no puede ser anterior al inicio del período\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"La fecha debida no puede caer en un período de calificación cerrado\",\"lock_date_cannot_be_after_course_end_a473158b\":\"La fecha de bloqueo no puede ser posterior a la fecha de finalización del curso\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"La fecha de bloqueo no puede ser posterior al fin de la sección\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"La fecha de bloqueo no puede ser posterior al fin del período\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"La fecha de bloqueo no puede ser anterior a la fecha límite\",\"overrides\":{\"overrides\":{\"everyone\":\"Todos\"}},\"please_add_a_due_date_1d433d2\":\"Agregue una fecha límite\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"Ingrese una fecha debida en o después %{earliestDate}\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"La fecha de desbloqueo no puede ser posterior a la fecha límite\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"La fecha de desbloqueo no puede ser posterior a la fecha de bloqueo\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"La fecha de bloqueo no puede ser anterior a la fecha de comienzo del curso\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"La fecha del bloqueo no puede ser anterior a la fecha de comienzo de la sección\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"La fecha de bloqueo no puede ser anterior al comienzo del período\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"Usted no puede asignar a un grupo fuera del conjunto de grupos de la tarea\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"Debe tener un alumno o sección seleccionada\"},\"fa\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"تاریخ مهلت نمی تواند بعد از خاتمه درس باشد\",\"due_date_cannot_be_after_section_end_b0f54388\":\"تاریخ مهلت نمی تواند بعد از خاتمه بخش باشد\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"تاریخ مهلت نمی تواند بعد از خاتمه نمیسال باشد\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"تاریخ مهلت نمی تواند قبل از شروع درس باشد\",\"due_date_cannot_be_before_section_start_f8950484\":\"تاریخ مهلت نمی تواند قبل از شروع بخش باشد\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"تاریخ مهلت نمی تواند قبل از شروع نیمسال باشد\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"تاریخ مهلت نمی‌تواند در یک دوره نمره‌گذاری بسته شده قرار گیرد\",\"lock_date_cannot_be_after_course_end_a473158b\":\"تاریخ قفل کردن نمی تواند بعد از خاتمه درس باشد\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"تاریخ قفل کردن نمی تواند بعد از خاتمه بخش باشد\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"تاریخ قفل کردن نمی تواند بعد از پایان نیمسال باشد\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"تاریخ قفل کردن نمی تواند قبل تاریخ مهلت باشد\",\"overrides\":{\"overrides\":{\"everyone\":\"همه\"}},\"please_add_a_due_date_1d433d2\":\"لطفا یک تاریخ مهلت اضافه کنید\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"لطفا یک تاریخ مهلت در یا بعد از %{earliestDate} وارد کنید\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"تاریخ قفل گشایی نمی تواند بعد از تاریخ مهلت باشد\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"تاریخ قفل گشایی نمی تواند بعد از تاریخ قفل کردن باشد\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"تاریخ قفل گشایی نمی تواند قبل از شروع درس باشد\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"تاریخ قفل گشایی نمی تواند قبل از شروع بخش باشد\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"تاریخ قفل گشایی نمی تواند قبل از شروع نیمسال باشد\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"نمی توانید به یک گروه خارج از مجموعه گروه تکلیف تخصیص دهید\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"باید یک دانشجو یا بخش را انتخاب کنید\"},\"fr\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"La date d’échéance ne peut pas se situer après la fin du cours\",\"due_date_cannot_be_after_section_end_b0f54388\":\"La date d’échéance ne peut pas se situer après la fin de la section\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"La date d’échéance ne peut pas se situer après la fin du trimestre\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"La date d’échéance ne peut pas être antérieure au début du cours\",\"due_date_cannot_be_before_section_start_f8950484\":\"La date d’échéance ne peut pas être antérieure au début de la section\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"La date d’échéance ne peut pas être antérieure au début du trimestre\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"La date limite ne peut être fixée à une période non ouverte à la notation\",\"lock_date_cannot_be_after_course_end_a473158b\":\"La date du verrouillage ne peut pas être postérieure à la date de fin du cours.\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"La date de verrouillage ne peut pas se situer après la fin de la section\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"La date de verrouillage ne peut pas se situer après la fin du trimestre\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"La date de verrouillage ne peut pas être antérieure à la date d’échéance.\",\"overrides\":{\"overrides\":{\"everyone\":\"Tous\"}},\"please_add_a_due_date_1d433d2\":\"Veuillez ajouter une date limite\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"Veuillez entrer une date limite pour ou après le %{earliestDate}\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"La date de déverrouillage ne peut pas être postérieure à la date d’échéance.\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"La date de déverrouillage ne peut pas être postérieure à la date de verrouillage.\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"La date du déverrouillage ne peut pas être antérieure à la date de début du cours.\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"La date du déverrouillage ne peut pas se situer avant le début de la section\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"La date du déverrouillage ne peut pas se situer avant le début du trimestre\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"Vous ne pouvez pas faire d'affectation à un groupe hors de l'ensemble de groupe du travail\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"Vous devez sélectionner un(e) étudiant(e) ou une section\"},\"fr-CA\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"La date d’échéance ne peut pas se situer après la fin du cours\",\"due_date_cannot_be_after_section_end_b0f54388\":\"La date d’échéance ne peut pas se situer après la fin de la section\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"La date d’échéance ne peut pas se situer après la fin du trimestre\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"La date d’échéance ne peut pas être antérieure au début du cours\",\"due_date_cannot_be_before_section_start_f8950484\":\"La date d’échéance ne peut pas être antérieure au début de la section\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"La date d’échéance ne peut pas être antérieure au début du trimestre\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"La date d’échéance ne peut pas tomber dans une période de notation fermée\",\"lock_date_cannot_be_after_course_end_a473158b\":\"La date du verrouillage ne peut pas être postérieure à la date de fin du cours.\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"La date de verrouillage ne peut pas se situer après la fin de la section\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"La date de verrouillage ne peut pas se situer après la fin du trimestre\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"La date de verrouillage ne peut pas être antérieure à la date d’échéance.\",\"overrides\":{\"overrides\":{\"everyone\":\"Tous\"}},\"please_add_a_due_date_1d433d2\":\"Veuillez ajouter une date d'échéance\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"Veuillez saisir une date d’échéance sur ou après %{earliestDate}\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"La date de déverrouillage ne peut pas être postérieure à la date d’échéance.\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"La date de déverrouillage ne peut pas être postérieure à la date de verrouillage.\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"La date du déverrouillage ne peut pas être antérieure à la date de début du cours.\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"La date du déverrouillage ne peut pas se situer avant le début de la section\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"La date du déverrouillage ne peut pas se situer avant le début du trimestre\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"Vous ne pouvez pas faire d'affectation à un groupe hors de l'ensemble de groupe de la tâche\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"Vous devez sélectionner un étudiant ou une section\"},\"he\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"תאריך יעד חייב להיות לפני סיום הקורס\",\"due_date_cannot_be_after_section_end_b0f54388\":\"תאריך היעד אינו יכול להיות אחרי סיום ההקבצה\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"תאריך היעד אינו יכול להיות אחרי סיום המחצית\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"תאריך יעד אינו יכול להיות לפני תחילת הקורס\",\"due_date_cannot_be_before_section_start_f8950484\":\"תאריך יעד אינו יכול להיות לפני תחילת הקבצה\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"תאריך יעד אינו יכול להיות לפני תחילת המחצית\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"תאריך יעד אינו יכול להיות בתחום של תקופת הערכה סגורה\",\"lock_date_cannot_be_after_course_end_a473158b\":\"תאריך נעילה אינו יכול להיות אחרי מועד סיום הקורס\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"תאריך נעילה אינו יכול להיות לאחר סיום ההקבצה\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"תאריך נעילה אינו יכול להיות אחרי מועד סיום המחצית/רבעון\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"תאריך נעילה אינו יכול להיות לפני תאריך יעד\",\"overrides\":{\"overrides\":{\"everyone\":\"כל אחד\"}},\"please_add_a_due_date_1d433d2\":\"בבקשה להוסיף תאריך יעד\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"בבקשה להוסיף תאריך יעד ב %{earliestDate} או מאוחר יותר\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"שחרור נעילת תאריך צריכה להיות לפני תאריך יעד\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"שחרור נעילת תאריך צריכה להיות לפני נעילת תאריך\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"שחרור נעילת תאריך צריכה להיות לאחר מועד תחילת הקורס.\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"שחרור נעילת תאריך צריכה להיות לאחר שהקבצה כבר החלה.\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"שחרור נעילת תאריך צריכה להיות לאחר שהמחצית/רבעון החלו\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"אין אפשרות לשבץ בקבוצה אשר מחוץ למערך הקבוצות של משימה\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"יש לבחור תלמיד או הקבצה\"},\"ht\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"Delè a pa kapab aprè kou a fini\",\"due_date_cannot_be_after_section_end_b0f54388\":\"Delè a pa kapab aprè seksyon an fini\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"Delè a pa kapab aprè tèm nan fini\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"Delè a pa kapab anvan kou a kòmanse\",\"due_date_cannot_be_before_section_start_f8950484\":\"Delè a pa kapab anvan seksyon an kòmanse\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"Delè a pa kapab anvan tèm nan kòmanse\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"Delè a paka tonbe nan yon peryòd klasman ki fèmen\",\"lock_date_cannot_be_after_course_end_a473158b\":\"Dat blokaj la pa dwe aprè kou a fini\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"Dat blokaj la pa dwe aprè seksyon an fini\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"Dat blokaj la pa dwe aprè tèm nan fini\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"Dat blokaj la pa dwe anvan delè a\",\"overrides\":{\"overrides\":{\"everyone\":\"Tout Moun\"}},\"please_add_a_due_date_1d433d2\":\"Tanpri ajoute yon delè\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"Tanpri mete yon delè nan dat oswa aprè %{earliestDate}\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"Dat deblokaj la pa kapab aprè delè a\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"Dat deblokaj la pa kapab aprè dat blokaj la\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"Dat deblokaj la pa kapab anvan kou a kòmanse\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"Dat deblokaj la pa kapab anvan seksyon an kòmanse\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"Dat deblokaj la pa kapab anvan tèm nan kòmanse\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"Ou paka asiyen a yob gwoup deyò ansanm gwoup sesyon an\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"Ou dwe chwazi yon seksyon oswa yon elèv\"},\"hu\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"A határidő nem lehet a kurzus vége után\",\"due_date_cannot_be_after_section_end_b0f54388\":\"A határidő nem lehet a szekció vége után \",\"due_date_cannot_be_after_term_end_5d504cb1\":\"A határidő nem lehet a félév vége után \",\"due_date_cannot_be_before_course_start_ecc523ba\":\"A határidő nem lehet a kurzus kezdete előtt\",\"due_date_cannot_be_before_section_start_f8950484\":\"A határidő nem lehet a szekció kezdete előtt \",\"due_date_cannot_be_before_term_start_ea660b2c\":\"A határidő nem lehet a félév kezdete előtt\",\"lock_date_cannot_be_after_course_end_a473158b\":\"A zárolási időpont nem lehet a kurzus vége után\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"A zárolási időpont nem lehet a szekció vége után\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"A zárolási időpont nem lehet a a félév vége után\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"A zárolási időpont nem lehet a határidő dátuma előtt\",\"overrides\":{\"overrides\":{\"everyone\":\"Mindenki\"}},\"please_add_a_due_date_1d433d2\":\"Kérem, adjon hozzá egy határidőt\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"A zárolás feloldásának ideje nem lehet a határidő dátuma után\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"A zárolás feloldási ideje nem lehet a lezárás ideje után\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"A zárolás feloldásának ideje nem lehet a kurzus kezdete előtt\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"A zárolás feloldásának ideje nem lehet a szekció kezdete előtt\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"A zárolás feloldásának ideje nem lehet a félév kezdete előtt\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"Olyan csoporthoz nem lehet hozzárendelni, ami kívül esik a hozzárendeléshez tartozó csoportkészleten\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"Ki kell választania egy hallgatót vagy egy szekciót\"},\"hy\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"Վերջնաժամկետը չի կարող սահմանվել դասընթացի ավարտից հետո \",\"due_date_cannot_be_after_section_end_b0f54388\":\"Վերջնաժամկետը չի կարող սահմանվել բաժնի ավարտից հետո\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"Վերջնաժամկետը չի կարող սահմանվել դասընթացի ժամանակահատվածի ավարտից հետո \",\"due_date_cannot_be_before_course_start_ecc523ba\":\"Վերջնաժամկետը չի կարող սահմանվել դասընթացի մեկնարկից առաջ  \",\"due_date_cannot_be_before_section_start_f8950484\":\"Վերջնաժամկետը չի կարող սահմանվել բաժնի մեկնարկից առաջ  \",\"due_date_cannot_be_before_term_start_ea660b2c\":\"Վերջնաժամկետը չի կարող սահմանվել դասընթացի ժամանակահատվածի մեկնարկից առաջ  \",\"lock_date_cannot_be_after_course_end_a473158b\":\"Արգելափակման ամսաթիվը չի կարող դասընթացի ավարտից ավելի ուշ լինել\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"Արգելափակման ամսաթիվը չի կարող բաժնի ավարտից ավելի  ուշ լինել\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"Արգելափակման ամսաթիվը չի կարող սեմեստրի ավարտից հետո լինել\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"Արգելափակման ամսաթիվը չի կարող նախորդել կատարման վերջնաժամկետին\",\"overrides\":{\"overrides\":{\"everyone\":\"Յուրաքանչյուրը\"}},\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"Արգելազերծման ամսաթիվը չի կարող լինել կատարման ամսաթվից հետո\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"Արգելազերծման ամսաթիվը չի կարող լինել արգելափակման ամսաթվից հետո\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"Արգելազերծման ամսաթիվը չի կարող լինել դասընթացի մեկնարկից առաջ\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"Արգելազերծման ամսաթիվը չի կարող լինել բաժնի մեկնարկից առաջ\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"Արգելազերծման ամսաթիվը չի կարող լինել ժամանակահատվածի մեկնարկից առաջ\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"Անհրաժեշտ է ունենալ ընտրված ունկնդիր կամ բաժին\"},\"is\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"Ekki hægt að breyta skiladegi eftir lok námskeiðs\",\"due_date_cannot_be_after_section_end_b0f54388\":\"Skiladagur getur ekki verið eftir lok hluta\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"Skiladagur getur ekki verið eftir lok annar\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"Skiladagur getur ekki verið fyrir upphaf námskeiðs\",\"due_date_cannot_be_before_section_start_f8950484\":\"Skiladagur getur ekki verið fyrir upphaf hluta\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"Skiladagur getur ekki verið fyrir byrjun annar\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"Skiladagur getur ekki verið á lokuðu matstímabili\",\"lock_date_cannot_be_after_course_end_a473158b\":\"Læsingardagur getur ekki verið eftir lok námskeiðs\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"Læsingardagur getur ekki verið að hluta lýkur\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"Læsingardagur getur ekki verið eftir lok annar\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"Læsingardagur getur ekki verið fyrir skiladag\",\"overrides\":{\"overrides\":{\"everyone\":\"Allir\"}},\"please_add_a_due_date_1d433d2\":\"Bættu við skiladegi\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"Skráðu skiladag á þessum degi eða eftir %{earliestDate}\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"Aflæsingardagur getur ekki verið eftir skiladag\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"Aflæsingardagur getur ekki verið eftir læsingardag\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"Aflæsingardagur getur ekki verið fyrir upphaf námskeiðs\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"Aflæsingardagur getur ekki verið fyrir upphaf hluta\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"Aflæsingardagur getur ekki verið áður en önn byrjar\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"Þú getur ekki úthlutað í hóp fyrir utan skipan verkefnahópsins\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"Þú verður að velja nemanda eða hluta\"},\"it\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"La data di scadenza non può essere successiva alla fine del corso\",\"due_date_cannot_be_after_section_end_b0f54388\":\"La data di scadenza non può essere successiva alla fine della sezione\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"La data di scadenza non può essere successiva alla fine del trimestre\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"La data di scadenza non può essere precedente all'inizio del corso\",\"due_date_cannot_be_before_section_start_f8950484\":\"La data di scadenza non può essere precedente all'inizio della sezione\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"La data di scadenza non può essere precedente all'inizio del trimestre\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"La data di scadenza non può cadere in un periodo di valutazione chiuso\",\"lock_date_cannot_be_after_course_end_a473158b\":\"La data di blocco non può essere successiva alla data di fine del corso\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"La data di blocco non può essere successiva alla data di fine della sezione\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"La data di blocco non può essere successiva alla data di fine del trimestre\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"La data di blocco non può essere precedente alla data di scadenza\",\"overrides\":{\"overrides\":{\"everyone\":\"Tutti\"}},\"please_add_a_due_date_1d433d2\":\"Aggiungi una data di scadenza\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"Inserisci una data di scadenza coincidente o successiva a %{earliestDate}\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"La data di sblocco non può essere successiva alla data di scadenza\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"La data di sblocco non può essere successiva alla data di blocco\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"La data di sblocco non può essere precedente all'inizio del corso\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"La data di sblocco non può essere precedente all'inizio della sezione\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"La data di sblocco non può essere precedente all'inizio del trimestre\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"Non puoi assegnare a un gruppo al di fuori del set di gruppi del compito\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"Devi selezionare uno studente o una sezione\"},\"ja\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"期日をコース終了日より後にすることはできません\",\"due_date_cannot_be_after_section_end_b0f54388\":\"期日をセクション終了日より後にすることはできません\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"期日を期間の終了日より後にすることはできません\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"期日をコース開始日より前にすることはできません\",\"due_date_cannot_be_before_section_start_f8950484\":\"期日をセクション開始日より前にすることはできません\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"期日を期間の開始日より前にすることはできません\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"締め切り日を終了した採点期間内にすることはできません\",\"lock_date_cannot_be_after_course_end_a473158b\":\"ロック日をコース終了日より後にすることはできません\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"ロック日をセクションの終了日より後にすることはできません\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"ロック日を期間の終了日より後にすることはできません\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"ロック日を期日より前にすることはできません\",\"overrides\":{\"overrides\":{\"everyone\":\"全員\"}},\"please_add_a_due_date_1d433d2\":\"期限を追加してください\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"締め切り日または締め切り後日を入力してください%{earliestDate}\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"ロック解除日を期日より後にすることはできません\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"ロック解除日をロック日より後にすることはできません\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"ロック解除日をコース開始日より前にすることはできません\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"ロック解除日をセクション開始日より前にすることはできません\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"ロック解除日を期間の開始日より前にすることはできません\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"外部に設定されている課題のグループに割り当てることはできません\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"選択された受講生かセクションを有している必要があります\"},\"ko\":{\"lock_date_cannot_be_before_due_date_ac30f54\":\"잠금 설정 날짜는 기한으로 설정한 날짜보다 이전일 수 없습니다.\",\"overrides\":{\"overrides\":{\"everyone\":\"모두\"}},\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"잠금 해제 날짜는 기한 이후일 수 없음\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"잠금 해제 날짜는 잠금 날짜 이후일 수 없음\"},\"mi\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"Kaore e taea te rā e tika ana ki muri i te mutunga akoranga\",\"due_date_cannot_be_after_section_end_b0f54388\":\"Kaore e taea te rā e tika ana ki muri i te wāhanga mutunga\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"Kaore e taea te rā e tika ana ki muri i te mutunga wā\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"Kaore e taea te rā e tika ana hei tīmatanga akoranga i mua i\",\"due_date_cannot_be_before_section_start_f8950484\":\"Kaore e taea te rā e tika ana te aroaro tīmatanga wāhanga\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"Kaore e taea te rā e tika ana i mua i te timatanga o te wā\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"Kaore e taea e te rā e tika ana te taka i roto i te wā kōeke kua katia\",\"lock_date_cannot_be_after_course_end_a473158b\":\"E kore e taea e Maukati te rā i muri i te mutunga akoranga\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"E kore e taea e Maukati te rā i muri i te wāhanga mutunga\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"E kore e taea e Maukati te rā i muri i te mutunga wā\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"E kore e taea e Maukati te rā kia mua i te rā e tika ana\",\"overrides\":{\"overrides\":{\"everyone\":\"tāngata katoa\"}},\"please_add_a_due_date_1d433d2\":\"Tēnā koa tāpiri he rā e tika ana\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"Tēnā koa whakauru he rā e tika ana i runga i muri rānei %{earliestDate}\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"E kore e taea e iriti te rā i muri i te rā tika\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"Wewete rā e kore e taea e te rā i muri i rakaina\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"Wewete rā e kore e taea e tīmatanga akoranga i mua i\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"E kore e taea e iriti rā e te aroaro o te tīmatanga wāhanga\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"E kore e taea e iriti rā e te aroaro o te tīmatanga wā\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"e kore e taea e koe te tautapa ki te rōpū i waho o te huinga rōpū o te whakataunga\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"Me whai koe i te ākonga wāhanga rānei kua kōwhiria\"},\"nb\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"Forfallsdato kan ikke være etter emneslutt\",\"due_date_cannot_be_after_section_end_b0f54388\":\"Forfallsdato kan ikke være etter seksjon slutt\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"Forfallsdato kan ikke være etter terminens slutt\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"Forfallsdato kan ikke være før emnestart\",\"due_date_cannot_be_before_section_start_f8950484\":\"Forfallsdato kan ikke være før seksjonsstart\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"Forfallsdato kan ikke være før semesterstart\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"Forfallsdatoen kan ikke være innenfor en stengt vurderingsperiode\",\"lock_date_cannot_be_after_course_end_a473158b\":\"Låsedato kan ikke være etter emneslutt\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"Låsedato kan ikke være etter seksjonslutt\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"Låsedato kan ikke være etter avslutning av termin\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"Låsedato kan ikke være før forfallsdato\",\"overrides\":{\"overrides\":{\"everyone\":\"Alle\"}},\"please_add_a_due_date_1d433d2\":\"Velg en frist\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"Vennligst tast inn en forfallsdato på eller etter %{earliestDate}\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"Opplåsingsdatoen kan ikke være etter forfallsdato\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"Opplåsingsdatoen kan ikke være etter lås dato\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"Opplåsingsdato kan ikke være før emnestart\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"Opplåsingsdato kan ikke være før seksjonsstart\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"Opplåsingsdato kan ikke være før semesterstart\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"Du kan ikke tildele til en gruppe utenfor oppgavens bestemte gruppe\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"Du må ha en student eller seksjon valgt\"},\"nb-x-k12\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"Forfallsdato kan ikke være etter fagslutt\",\"due_date_cannot_be_after_section_end_b0f54388\":\"Forfallsdato kan ikke være etter seksjon slutt\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"Forfallsdato kan ikke være etter terminens slutt\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"Forfallsdato kan ikke være før fagstart\",\"due_date_cannot_be_before_section_start_f8950484\":\"Forfallsdato kan ikke være før seksjonsstart\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"Forfallsdato kan ikke være før terminstart\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"Forfallsdatoen kan ikke være innenfor en stengt vurderingsperiode\",\"lock_date_cannot_be_after_course_end_a473158b\":\"Låsedato kan ikke være etter fagslutt\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"Låsedato kan ikke være etter seksjonslutt\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"Låsedato kan ikke være etter avslutning av termin\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"Låsedato kan ikke være før forfallsdato\",\"overrides\":{\"overrides\":{\"everyone\":\"Alle\"}},\"please_add_a_due_date_1d433d2\":\"Velg en frist\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"Vennligst tast inn en forfallsdato på eller etter %{earliestDate}\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"Opplåsingsdatoen kan ikke være etter forfallsdato\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"Opplåsingsdatoen kan ikke være etter lås dato\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"Opplåsingsdato kan ikke være før fagstart\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"Opplåsingsdato kan ikke være før seksjonsstart\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"Opplåsingsdato kan ikke være før terminstart\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"Du kan ikke tildele til en gruppe utenfor oppgavens bestemte gruppe\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"Du må ha en elev eller seksjon valgt\"},\"nl\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"Inleverdatum kan niet na afloop van cursus plaatsvinden\",\"due_date_cannot_be_after_section_end_b0f54388\":\"Inleverdatum kan niet na einde van sectie plaatsvinden\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"Inleverdatum kan niet na einde van periode plaatsvinden\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"Inleverdatum kan niet voor de start van cursus plaatsvinden\",\"due_date_cannot_be_before_section_start_f8950484\":\"Inleverdatum kan niet voor de start van sectie plaatsvinden\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"Inleverdatum kan niet voor de periodestart plaatsvinden\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"Inleverdatum kan niet binnen een afgesloten beoordelingsperiode vallen\",\"lock_date_cannot_be_after_course_end_a473158b\":\"Vergrendeldatum kan niet na afloop van cursus vallen\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"Vergrendeldatum kan niet na afloop van sectie vallen\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"Vergrendeldatum kan niet na afloop van periode vallen\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"Vergrendeldatum kan niet voor vervaldatum vallen\",\"overrides\":{\"overrides\":{\"everyone\":\"Iedereen\"}},\"please_add_a_due_date_1d433d2\":\"Voeg een inleverdatum toe\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"Voer een inleverdatum in die valt op of na %{earliestDate}\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"Vergrendeldatum kan niet na inleverdatum vallen\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"Vergrendeldatum kan niet na vergrendeldatum vallen\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"Ontgrendeldatum kan niet voor start van cursus vallen\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"Ontgrendeldatum kan niet voor start van sectie vallen\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"Ontgrendeldatum kan niet voor periodestart vallen\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"Je kunt niet aan een groep buiten de opdrachtgroep toewijzen.\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"Je moet een cursist of sectie geselecteerd hebben\"},\"nn\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"Innleveringsfristen kan ikkje vere etter emneslutt\",\"due_date_cannot_be_after_section_end_b0f54388\":\"Innleveringsfristen kan ikkje vere etter at klassa er låst\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"Innleveringsfristen kan ikkje vere etter semesterslutt\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"Innleveringsfristen kan ikkje vere før emnestart\",\"due_date_cannot_be_before_section_start_f8950484\":\"Innleveringsfristen kan ikkje vere før oppstart for seksjon\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"Innleveringsfristen kan ikkje vere før semesterstart\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"Innleveringsfrist kan ikkje vere innanfor ein lukka karaktersetjingsperiode\",\"lock_date_cannot_be_after_course_end_a473158b\":\"Låsedato kan ikkje vere etter emneslutt\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"Låsedato kan ikkje vere etter seksjonsslutt\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"Låsedato kan ikkje vere etter semesterslutt\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"Låsedato kan ikkje vere før innleveringsfrist\",\"overrides\":{\"overrides\":{\"everyone\":\"Alle\"}},\"please_add_a_due_date_1d433d2\":\"Legg til frist\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"Oppgi ein frist på eller etter %{earliestDate}\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"Opplåsingsdato kan ikkje vere etter innleveringsfrist\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"Opplåsingsdato kan ikkje vere etter låsedato\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"Opplåsingsdato kan ikkje vere før emnestart\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"Opplåsingsdato kan ikkje vere før starttid for seksjonen\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"Opplåsingsdato kan ikkje vere før semesterstart\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"Du kan ikkje tilordne ei gruppe utanfor oppgåva sitt gruppesett\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"Du må velje ein student eller ein seksjon\"},\"pl\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"Termin dostarczenia nie może przypadać po zakończeniu kursu\",\"due_date_cannot_be_after_section_end_b0f54388\":\"Termin dostarczenia nie może przypadać po zakończeniu sekcji\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"Termin dostarczenia nie może przypadać po zakończeniu semestru\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"Termin dostarczenia nie może przypadać przed rozpoczęciem kursu\",\"due_date_cannot_be_before_section_start_f8950484\":\"Termin dostarczenia nie może przypadać przed rozpoczęciem sekcji\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"Termin dostarczenia nie może przypadać przed rozpoczęciem semestru\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"Termin nie może przypadać na zamknięty okres oceniania\",\"lock_date_cannot_be_after_course_end_a473158b\":\"Data zablokowania nie może przypadać po dacie zakończenia kursu\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"Data zablokowania nie może przypadać po zakończeniu sekcji\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"Data zablokowania nie może przypadać po zakończeniu semestru\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"Data zablokowania nie może przypadać przed terminem dostarczenia\",\"overrides\":{\"overrides\":{\"everyone\":\"Wszyscy\"}},\"please_add_a_due_date_1d433d2\":\"Dodaj termin\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"Wpisz termin w tym dniu lub późniejszym %{earliestDate}\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"Data odblokowania nie może przypadać po terminie dostarczenia\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"Data odblokowania nie może przypadać po dacie zablokowania\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"Data odblokowania nie może przypadać przed rozpoczęciem kursu\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"Data odblokowania nie może przypadać przed rozpoczęciem sekcji\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"Data odblokowania nie może przypadać przed rozpoczęciem semestru\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"Nie możesz przypisywać do grupy poza ustaloną grupą przydziału\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"Musisz wybrać uczestnika lub sekcję\"},\"pt\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"A data de entrega não pode ser posterior ao fim da disciplina\",\"due_date_cannot_be_after_section_end_b0f54388\":\"A data de entrega não pode ser posterior ao fim da secção\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"A data de entrega não pode ser posterior ao fim do período\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"A data de entrega não pode ser anterior ao início da disciplina\",\"due_date_cannot_be_before_section_start_f8950484\":\"A data de entrega não pode ser anterior ao início da secção\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"A data de entrega não pode ser anterior ao início do período\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"A data de vencimento não pode cair em um período de classificação fechado\",\"lock_date_cannot_be_after_course_end_a473158b\":\"A data de bloqueio não pode ser posterior ao fim da disciplina\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"A data de bloqueio não pode ser posterior ao fim da secção\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"A data de bloqueio não pode ser posterior ao fim do período\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"A data de bloqueio não pode ser anterior à data de entrega\",\"overrides\":{\"overrides\":{\"everyone\":\"Todos\"}},\"please_add_a_due_date_1d433d2\":\"Adicione uma data de vencimento\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"Insira uma data de vencimento em ou após %{earliestDate}\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"A data de desbloqueio não pode ser posterior à data de entrega\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"A data de desbloqueio não pode ser posterior à data de bloqueio\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"A data de desbloqueio não pode ser anterior ao início da disciplina\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"A data de desbloqueio não pode ser anterior ao início da secção\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"A data de desbloqueio não pode ser anterior ao início do período\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"Não pode designar um grupo fora do conjunto de grupos de tarefas\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"Tem de ter um estudante ou seção selecionada\"},\"pt-BR\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"A data de entrega não pode ser após o fim do curso\",\"due_date_cannot_be_after_section_end_b0f54388\":\"A data de entrega não pode ser após o fim da seção section end\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"A data de entrega não pode ser após o fim do período\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"A data de entrega não pode ser antes do início do curso\",\"due_date_cannot_be_before_section_start_f8950484\":\"A data de entrega não pode ser antes do início da seção\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"A data de entrega não pode ser antes do início do período\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"A data de vencimento não pode estar em um período de classificação fechado\",\"lock_date_cannot_be_after_course_end_a473158b\":\"A data de bloqueio não pode ser depois da finalização do curso\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"Data do bloqueio não pode ser após fim da seção\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"Data do bloqueio não pode ser após fim do período\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"A data de bloqueio não pode ser anterior à data de entrega\",\"overrides\":{\"overrides\":{\"everyone\":\"Todos\"}},\"please_add_a_due_date_1d433d2\":\"Por favor, adicione uma data de vencimento\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"Insira uma data de vencimento em ou após %{earliestDate}\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"A data de desbloqueio não pode ser posterior à data de entrega\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"A data de desbloqueio não pode ser posterior à data de bloqueio\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"A data de desbloqueio não pode ser antes do início do curso\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"A data do desbloqueio não pode ser antes do início da sessão\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"A data do desbloqueio não pode ser antes do inicio do período\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"Você não pode atribuir para um grupo fora do conjunto de grupo da tarefa\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"Você deve ter um aluno ou seção selecionado\"},\"ru\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"Дата выполнения не может быть позднее окончания курса\",\"due_date_cannot_be_after_section_end_b0f54388\":\"Дата выполнения не может быть позднее окончания раздела\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"Дата выполнения не может быть позднее окончания семестра\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"Дата выполнения не может быть раньше начала курса\",\"due_date_cannot_be_before_section_start_f8950484\":\"Дата выполнения не может быть раньше начала раздела\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"Дата выполнения не может быть раньше начала семестра\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"Дата истечения срока не может наступать в закрытом периоде оценки успеваемости\",\"lock_date_cannot_be_after_course_end_a473158b\":\"Дата блокировки не может быть позднее окончания курса\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"Дата блокировки не может быть позднее окончания раздела\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"Дата блокировки не может быть позднее окончания семестра\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"Дата блокировки не может быть раньше даты выполнения\",\"overrides\":{\"overrides\":{\"everyone\":\"Все\"}},\"please_add_a_due_date_1d433d2\":\"Пожалуйста, укажите срок выполнения\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"Пожалуйста, введите дату истечения срока выполнения, наступающую не ранее %{earliestDate}\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"Дата разблокирования не может быть позже даты выполнения\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"Дата разблокирования не может быть позже даты блокировки\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"Дата разблокировки не может быть раньше начала курса\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"Дата разблокировки не может быть раньше начала раздела\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"Дата разблокировки не может быть раньше начала семестра\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"Вы не можете назначить для группы вне набора заданий группы.\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"Вы должны выбрать студента или раздел\"},\"sl\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"Rok ne more biti po koncu predmeta.\",\"due_date_cannot_be_after_section_end_b0f54388\":\"Rok ne more biti po koncu sekcije.\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"Rok ne more biti po koncu semestra.\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"Rok ne more biti pred začetkom predmeta.\",\"due_date_cannot_be_before_section_start_f8950484\":\"Rok ne more biti pred začetkom sekcije.\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"Rok ne more biti pred začetkom semestra.\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"Rok ne more biti v zaprtem ocenjevalnem obdobju.\",\"lock_date_cannot_be_after_course_end_a473158b\":\"Datum zapore objave ne more biti po koncu predmeta.\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"Datum zapore objave ne more biti po koncu sekcije.\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"Datum zapore objave ne more biti po koncu semestra.\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"Datum zapore objave ne more biti pred rokom.\",\"overrides\":{\"overrides\":{\"everyone\":\"Vsi\"}},\"please_add_a_due_date_1d433d2\":\"Dodajte rok.\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"Vnesite rok na ta ali poznejši datum %{earliestDate}:\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"Datum sprostitve zapore ne more biti po roku.\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"Datum sprostitve zapore ne more biti po datumu zapore objave.\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"Datum sprostitve zapore ne more biti pred začetkom predmeta.\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"Datum sprostitve zapore ne more biti pred začetkom sekcije.\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"Datum sprostitve zapore ne more biti pred začetkom semestra.\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"Skupini zunaj nabora skupin naloge ne morete dodeljevati.\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"Izbrana morata biti študent ali sekcija.\"},\"sv\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"Inlämningsdatum kan inte vara efter kursens slut\",\"due_date_cannot_be_after_section_end_b0f54388\":\"Inlämningsdatum kan inte vara efter sektionens slut\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"Inlämningsdatum kan inte vara efter terminslutet\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"Inlämningsdatum kan inte vara innan kursens start\",\"due_date_cannot_be_before_section_start_f8950484\":\"Inlämningsdatum kan inte vara före sektionens start\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"Inlämningsdatum kan inte vara före terminstarten\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"Inlämningsdatum kan inte infalla i en stängd omdömesperiod\",\"lock_date_cannot_be_after_course_end_a473158b\":\"Lås-datumet kan inte infalla efter kursens slut\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"Lås-datumet kan inte infalla efter sektionens slut\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"Lås-datumet kan inte infalla efter terminens slut\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"Lås-datumet kan inte infalla före inlämningsdatum\",\"overrides\":{\"overrides\":{\"everyone\":\"Alla\"}},\"please_add_a_due_date_1d433d2\":\"Vänligen lägg till slutdatum\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"Ange ett inlämningsdatum under eller efter %{earliestDate}\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"Upplåsningsdatumet kan inte vara efter sista inlämningsdagen\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"Upplåsningsdatumet kan inte vara efter låsdatumet\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"Upplåsningsdatumet kan inte vara före kursstarten\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"Upplåsningsdatumet kan inte vara före sektionsstarten\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"Upplåsningsdatumet kan inte vara före terminstarten\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"Du kan inte tilldela en grupp utanför uppgiftens gruppsammansättning\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"Du måste ha en student eller en sektion vald\"},\"sv-x-k12\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"Inlämningsdatum kan inte vara efter kursens slut\",\"due_date_cannot_be_after_section_end_b0f54388\":\"Inlämningsdatum kan inte vara efter sektionens slut\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"Inlämningsdatum kan inte vara efter terminslutet\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"Inlämningsdatum kan inte vara innan kursens start\",\"due_date_cannot_be_before_section_start_f8950484\":\"Inlämningsdatum kan inte vara före sektionens start\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"Inlämningsdatum kan inte vara före terminstarten\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"Inlämningsdatum kan inte infalla i en stängd bedömningsperiod\",\"lock_date_cannot_be_after_course_end_a473158b\":\"Lås-datumet kan inte infalla efter kursens slut\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"Lås-datumet kan inte infalla efter sektionens slut\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"Lås-datumet kan inte infalla efter terminens slut\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"Lås-datumet kan inte infalla före inlämningsdatum\",\"overrides\":{\"overrides\":{\"everyone\":\"Alla\"}},\"please_add_a_due_date_1d433d2\":\"Vänligen lägg till slutdatum\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"Ange ett inlämningsdatum under eller efter %{earliestDate}\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"Upplåsningsdatumet kan inte vara efter sista inlämningsdagen\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"Upplåsningsdatumet kan inte vara efter låsdatumet\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"Upplåsningsdatumet kan inte vara före kursstarten\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"Upplåsningsdatumet kan inte vara före sektionsstarten\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"Upplåsningsdatumet kan inte vara före terminstarten\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"Du kan inte tilldela en grupp utanför uppgiftens gruppsammansättning\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"Du måste ha en elev eller en sektion vald\"},\"tr\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"Bitiş tarihi dersin bitiminden sonra olamaz\",\"due_date_cannot_be_after_section_end_b0f54388\":\"Bitiş tarihi bölüm bitiminden sonra olamaz\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"Bitiş tarihi dönem sonundan sonra olamaz\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"Bitiş tarihi dersin başlangıcından önce olamaz\",\"due_date_cannot_be_before_section_start_f8950484\":\"Bitiş tarihi bölümün başlangıcından önce olamaz\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"Bitiş tarihi dönemin başlangıcından önce olamaz\",\"lock_date_cannot_be_after_course_end_a473158b\":\"Kilitleme tarihi dersin bitiş tarihinden sonra olamaz\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"Kilitleme tarihi bölüm sonundan sonra olamaz\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"Kilitleme tarihi dönem sonundan sonra olamaz\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"Kilit tarihi bitiş tarihinden önce olamaz\",\"overrides\":{\"overrides\":{\"everyone\":\"Herkes\"}},\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"Kilit açma tarihi bitiş tarihinden önce olamaz\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"Kilit açma tarihi bitiş tarihinden önce olamaz\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"Kilidi kaldırma tarihi dersin başlangıç tarihinden önce olamaz\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"Kilidi açma tarihi bölüm başlangıcından önce olamaz.\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"Kilidi açma tarihi dönem başlangıcından önce olamaz.\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"Bir öğrenci veya kısım seçmelisiniz\"},\"uk\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"Очікувана дата не може бути пізніше кінцевої дати\",\"due_date_cannot_be_after_section_end_b0f54388\":\"Очікувана дата не може бути після завершення розділу\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"Очікувана дата не може бути після закінчення терміну\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"Очікувана дата не може бути до початку курсу\",\"due_date_cannot_be_before_section_start_f8950484\":\"Очікувана дата не може бути до початку розділу\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"Очікувана дата не може бути до початку терміну\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"Очікувана дата не може припадати на період, закритий для оцінювання\",\"lock_date_cannot_be_after_course_end_a473158b\":\"Дата блокування не може бути після завершення курсу\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"Дата блокування не може бути після завершення розділу\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"Дата блокування не може бути після завершення семестру\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"Дата блокування не може бути до очікуваної дати виконання\",\"overrides\":{\"overrides\":{\"everyone\":\"Кожен\"}},\"please_add_a_due_date_1d433d2\":\"Будь ласка, додайте дату завершення\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"Будь ласка, введіть кінцеву дату або після того, як %{earliestDate} \",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"Дата розблокування не може бути після закінчення терміну\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"Дата розблокування не може бути після дати блокування\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"Дата розблокування не може бути до початку курсу\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"Дата розблокування не може бути до початку розділу\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"Дата розблокування не може бути до початку семестру\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"Ви не можете призначити зовнішній групі набір групових завдань\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"Ви повинні обрати студента чи розділ\"},\"zh-Hans\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"到期日期不能晚于课程结束日期\",\"due_date_cannot_be_after_section_end_b0f54388\":\"到期日期不能晚于班级结束日期\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"到期日期不能晚于学期结束日期\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"到期日期不能早于课程开始日期\",\"due_date_cannot_be_before_section_start_f8950484\":\"到期日期不能早于班级开始日期\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"到期日期不能早于学期开始日期\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"截止日期不能处在关闭评分周期内\",\"lock_date_cannot_be_after_course_end_a473158b\":\"锁定日期不能晚于课程结束日期\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"锁定日期不能晚于班级结束日期\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"锁定日期不能晚于学期结束日期\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"锁定时间不能早于截止时间\",\"overrides\":{\"overrides\":{\"everyone\":\"所有人\"}},\"please_add_a_due_date_1d433d2\":\"请添加到期日期\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"请输入该日期或该日期后的截止日期%{earliestDate}\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"解锁时间不能晚于到期日期\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"解锁日期不能晚于锁定日期\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"解锁日期不能早于课程开始日期\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"解锁日期不能早于班级开始日期\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"解锁日期不能早于学期开始日期\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"您不能指定一个作业小组集外的小组\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"您必须选择一个学生或班级\"},\"zh-Hant\":{\"due_date_cannot_be_after_course_end_fd128a14\":\"截止日期不得晚於結課日期\",\"due_date_cannot_be_after_section_end_b0f54388\":\"截止日期不得晚於章節結束日期\",\"due_date_cannot_be_after_term_end_5d504cb1\":\"截止日期不得晚於學期結束日期\",\"due_date_cannot_be_before_course_start_ecc523ba\":\"截止日期不得晚於結課日期\",\"due_date_cannot_be_before_section_start_f8950484\":\"截止日期不得早於班別開始日期\",\"due_date_cannot_be_before_term_start_ea660b2c\":\"截止日期不得早於學期開始日期\",\"due_date_cannot_fall_in_a_closed_grading_period_e4336124\":\"到期日不可設於封閉評分期內\",\"lock_date_cannot_be_after_course_end_a473158b\":\"鎖定日期不得晚於結課日期\",\"lock_date_cannot_be_after_section_end_d37da70c\":\"鎖定日期不得晚於班別結束之日\",\"lock_date_cannot_be_after_term_end_cf1a188f\":\"鎖定日期不得晚於學期結束之日\",\"lock_date_cannot_be_before_due_date_ac30f54\":\"鎖定日期不能在截止日期之前\",\"overrides\":{\"overrides\":{\"everyone\":\"所有人\"}},\"please_add_a_due_date_1d433d2\":\"請加入截止日期\",\"please_enter_a_due_date_on_or_after_earliestdate_b3fe6d29\":\"請將到期日訂在今天或以後的日子%{earliestDate}\",\"unlock_date_cannot_be_after_due_date_8829d9ca\":\"解除鎖定日期不能在截止日期之後\",\"unlock_date_cannot_be_after_lock_date_591f7fda\":\"解除鎖定日期不能在鎖定日期之後\",\"unlock_date_cannot_be_before_course_start_9c7b8524\":\"解鎖日期不得早於開課日期\",\"unlock_date_cannot_be_before_section_start_793ddc66\":\"解鎖日期不得早於班別開始日期\",\"unlock_date_cannot_be_before_term_start_d3c01813\":\"解鎖日期不得早於學期開始日期\",\"you_cannot_assign_to_a_group_outside_of_the_assign_7869eb3b\":\"您無法為作業的群組集合之外的群組指派成員\",\"you_must_have_a_student_or_section_selected_a99e45df\":\"您必須選中一個學生或分班\"}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/overrides.js\n// module id = RN1Gx3cM62\n// module chunks = 27 32 33 37 39 40 44 45 51 54 55 62 73 77 79 92","//\n// Copyright (C) 2013 - present Instructure, Inc.\n//\n// This file is part of Canvas.\n//\n// Canvas is free software: you can redistribute it and/or modify it under\n// the terms of the GNU Affero General Public License as published by the Free\n// Software Foundation, version 3 of the License.\n//\n// Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n// A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n// details.\n//\n// You should have received a copy of the GNU Affero General Public License along\n// with this program. If not, see <http://www.gnu.org/licenses/>.\n\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport I18n from 'i18n!assignments'\nimport $ from 'jquery'\nimport _ from 'underscore'\nimport Backbone from 'Backbone'\nimport Cache from '../../class/cache'\nimport hasLocalStorage from '../../util/hasLocalStorage'\nimport AssignmentGroup from '../../models/AssignmentGroup'\nimport RadioInputGroup from '@instructure/ui-forms/lib/components/RadioInputGroup'\nimport RadioInput from '@instructure/ui-forms/lib/components/RadioInput'\nimport ScreenReaderContent from '@instructure/ui-a11y/lib/components/ScreenReaderContent'\n\nexport default class ToggleShowByView extends Backbone.View {\n  initialize(...args) {\n    super.initialize(...args)\n    this.initialized = $.Deferred()\n    this.course.on('change', () => this.initializeCache())\n    this.course.on('change', this.render)\n    this.assignmentGroups.once('change:submissions', () => this.initializeDateGroups())\n    this.on('changed:showBy', () => this.setAssignmentGroups())\n    this.on('changed:showBy', this.render)\n  }\n\n  initializeCache() {\n    if (this.course.get('id') == null) return\n    $.extend(true, this, Cache)\n    if (hasLocalStorage && (ENV.current_user_id != null)) this.cache.use('localStorage')\n    if (this.cache.get(this.cacheKey()) == null) this.cache.set(this.cacheKey(), true)\n    return this.initialized.resolve()\n  }\n\n  initializeDateGroups() {\n    const assignments = _.flatten(this.assignmentGroups.map(ag => ag.get('assignments').models))\n    const dated = _.select(assignments, a => a.dueAt())\n    const undated = _.difference(assignments, dated)\n    const past = []\n    const overdue = []\n    const upcoming = []\n    _.each(dated, a => {\n      if (new Date() < Date.parse(a.dueAt())) return upcoming.push(a)\n\n      const isOverdue = a.allowedToSubmit() && a.withoutGradedSubmission()\n      // only handles observer observing one student, this needs to change to handle multiple users in the future\n      const canHaveOverdueAssignment =\n        !ENV.current_user_has_been_observer_in_this_course ||\n        (ENV.observed_student_ids && ENV.observed_student_ids.length) === 1\n\n      if (isOverdue && canHaveOverdueAssignment) return overdue.push(a)\n      past.push(a)\n    })\n\n    const overdue_group = new AssignmentGroup({\n      id: 'overdue',\n      name: I18n.t('overdue_assignments', 'Overdue Assignments'),\n      assignments: overdue\n    })\n    const upcoming_group = new AssignmentGroup({\n      id: 'upcoming',\n      name: I18n.t('upcoming_assignments', 'Upcoming Assignments'),\n      assignments: upcoming\n    })\n    const undated_group = new AssignmentGroup({\n      id: 'undated',\n      name: I18n.t('undated_assignments', 'Undated Assignments'),\n      assignments: undated\n    })\n    const past_group = new AssignmentGroup({\n      id: 'past',\n      name: I18n.t('past_assignments', 'Past Assignments'),\n      assignments: past\n    })\n\n    const sorted_groups = this._sortGroups(overdue_group, upcoming_group, undated_group, past_group)\n\n    this.groupedByAG = this.assignmentGroups.models\n    this.groupedByDate = sorted_groups\n\n    return this.setAssignmentGroups()\n  }\n\n  _sortGroups(overdue, upcoming, undated, past) {\n    this._sortAscending(overdue.get('assignments'))\n    this._sortAscending(upcoming.get('assignments'))\n    this._sortDescending(past.get('assignments'))\n    return [overdue, upcoming, undated, past]\n  }\n\n  _sortAscending(assignments) {\n    assignments.comparator = a => Date.parse(a.dueAt())\n    return assignments.sort()\n  }\n\n  _sortDescending(assignments) {\n    assignments.comparator = a => new Date() - Date.parse(a.dueAt())\n    return assignments.sort()\n  }\n\n  afterRender() {\n    return $.when(this.initialized).then(() => this.renderToggle())\n  }\n\n  renderToggle() {\n    ReactDOM.render(\n      <RadioInputGroup\n        description={<ScreenReaderContent>{I18n.t('Show By')}</ScreenReaderContent>}\n        size=\"medium\"\n        name=\"show_by\"\n        variant=\"toggle\"\n        defaultValue={this.showByDate() ? 'date' : 'type'}\n        onChange={(e, val) => this.toggleShowBy(val)}\n      >\n        <RadioInput id=\"show_by_date\" label={I18n.t('Show by Date')} value=\"date\" context=\"off\" />\n        <RadioInput id=\"show_by_type\" label={I18n.t('Show by Type')} value=\"type\" context=\"off\" />\n      </RadioInputGroup>\n      ,\n      this.el\n    )\n  }\n\n  setAssignmentGroups() {\n    let groups = this.showByDate() ? this.groupedByDate : this.groupedByAG\n    this.setAssignmentGroupAssociations(groups)\n    groups = _.select(groups, group => {\n      const hasWeight = this.course.get('apply_assignment_group_weights') && group.get('group_weight') > 0\n      return group.get('assignments').length > 0 || hasWeight\n    })\n    return this.assignmentGroups.reset(groups)\n  }\n\n  setAssignmentGroupAssociations(groups) {\n    (groups || []).forEach(assignment_group => {\n      (assignment_group.get('assignments').models || []).forEach(assignment => {\n        // we are keeping this change on the frontend only (for keyboard nav), will not persist in the db\n        assignment.collection = assignment_group\n        assignment.set('assignment_group_id', assignment_group.id)\n      })\n    })\n  }\n\n  showByDate() {\n    if (!this.cache) return true\n    return this.cache.get(this.cacheKey())\n  }\n\n  cacheKey() {\n    return ['course', this.course.get('id'), 'user', ENV.current_user_id, 'assignments_show_by_date']\n  }\n\n  toggleShowBy(sort) {\n    const key = this.cacheKey()\n    const showByDate = sort === 'date'\n    const currentlyByDate = this.cache.get(key)\n    if (currentlyByDate !== showByDate) {\n      this.cache.set(key, showByDate)\n      this.trigger('changed:showBy')\n    }\n\n    return this.assignmentGroups.trigger('cancelSearch')\n  }\n}\nToggleShowByView.optionProperty('course')\nToggleShowByView.optionProperty('assignmentGroups')\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/views/assignments/ToggleShowByView.js","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"نشر\",\"published\":\"منشور\",\"publishing\":\"جارٍ النشر...\",\"unpublish\":\"إلغاء النشر\",\"unpublishing\":\"جارٍ إلغاء النشر...\"}},\"published_click_to_unpublish_db016671\":\"تم النشر.  انقر لإلغاء النشر.\",\"published_click_to_unpublish_title_358122a\":\"تم النشر.  انقر لإلغاء نشر %{title}.\",\"unpublished_click_to_publish_6a6d12e1\":\"تم إلغاء نشره.  انقر للنشر.\",\"unpublished_click_to_publish_title_7c57293f\":\"تم إلغاء نشره.  انقر لنشر %{title}.\"},\"cy\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"Cyhoeddi\",\"published\":\"Wedi cyhoeddi\",\"publishing\":\"Wrthi’n cyhoeddi...\",\"unpublish\":\"Dad-gyhoeddi\",\"unpublishing\":\"Wrthi’n dad-gyhoeddi...\"}},\"published_click_to_unpublish_db016671\":\"Wedi cyhoeddi.  Cliciwch i ddad-gyhoeddi.\",\"published_click_to_unpublish_title_358122a\":\"Wedi cyhoeddi.  Cliciwch i ddad-gyhoeddi %{title}.\",\"unpublished_click_to_publish_6a6d12e1\":\"Heb gyhoeddi.  Cliciwch i gyhoeddi.\",\"unpublished_click_to_publish_title_7c57293f\":\"Heb gyhoeddi.  Cliciwch i gyhoeddi %{title}.\"},\"da\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"Offentliggør\",\"published\":\"Offentliggjort\",\"publishing\":\"Offentliggør ...\",\"unpublish\":\"Annuller offentliggørelse\",\"unpublishing\":\"Annullerer offentliggørelse ...\"}},\"published_click_to_unpublish_db016671\":\"Offentliggjort.  Klik for at fjerne offentliggørelse.\",\"published_click_to_unpublish_title_358122a\":\"Offentliggjort.  Klik for at fjerne offentliggørelse %{title}.\",\"unpublished_click_to_publish_6a6d12e1\":\"Offentliggørelse fjernet.  Klik for at offentliggøre.\",\"unpublished_click_to_publish_title_7c57293f\":\"Offentliggørelse fjernet.  Klik for at offentliggøre %{title}.\"},\"da-x-k12\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"Offentliggør\",\"published\":\"Offentliggjort\",\"publishing\":\"Offentliggør ...\",\"unpublish\":\"Annuller offentliggørelse\",\"unpublishing\":\"Annullerer offentliggørelse ...\"}},\"published_click_to_unpublish_db016671\":\"Offentliggjort.  Klik for at fjerne offentliggørelse.\",\"published_click_to_unpublish_title_358122a\":\"Offentliggjort.  Klik for at fjerne offentliggørelse %{title}.\",\"unpublished_click_to_publish_6a6d12e1\":\"Offentliggørelse fjernet.  Klik for at offentliggøre.\",\"unpublished_click_to_publish_title_7c57293f\":\"Offentliggørelse fjernet.  Klik for at offentliggøre %{title}.\"},\"de\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"Veröffentlichen\",\"published\":\"Veröffentlicht\",\"publishing\":\"Wird veröffentlicht ...\",\"unpublish\":\"Veröffentlichung rückgängig machen\",\"unpublishing\":\"Veröffentlichung wird rückgängig gemacht ...\"}},\"published_click_to_unpublish_db016671\":\"Veröffentlicht.  Klicken Sie auf die Option „Veröffentlichung zurücknehmen“.\",\"published_click_to_unpublish_title_358122a\":\"Veröffentlicht.  Hier klicken, um die Veröffentlichung von %{title} zurückzunehmen\",\"unpublished_click_to_publish_6a6d12e1\":\"Veröffentlichung zurückgenommen.  Klicken Sie, um zu veröffentlichen.\",\"unpublished_click_to_publish_title_7c57293f\":\"Veröffentlichung zurückgenommen.  Klicken Sie, um %{title} zu veröffentlichen.\"},\"el\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"Δημοσίευση\",\"published\":\"Δημοσιευμένο/α\",\"publishing\":\"Η δημοσίευση βρίσκεται σε εξέλιξη...\",\"unpublish\":\"Απενεργοποιήστε την Δημοσίευση\",\"unpublishing\":\"Απενεργοποίηση δημοσίευσης...\"}}},\"en-AU\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"Publish\",\"published\":\"Published\",\"publishing\":\"Publishing...\",\"unpublish\":\"Unpublish\",\"unpublishing\":\"Unpublishing...\"}},\"published_click_to_unpublish_db016671\":\"Published.  Click to unpublish.\",\"published_click_to_unpublish_title_358122a\":\"Published.  Click to unpublish %{title}.\",\"unpublished_click_to_publish_6a6d12e1\":\"Unpublished.  Click to publish.\",\"unpublished_click_to_publish_title_7c57293f\":\"Unpublished.  Click to publish %{title}.\"},\"en-CA\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"Publish\",\"published\":\"Published\",\"publishing\":\"Publishing...\",\"unpublish\":\"Unpublish\",\"unpublishing\":\"Unpublishing...\"}},\"published_click_to_unpublish_db016671\":\"Published.  Click to unpublish.\",\"published_click_to_unpublish_title_358122a\":\"Published.  Click to unpublish %{title}.\",\"unpublished_click_to_publish_6a6d12e1\":\"Unpublished.  Click to publish.\",\"unpublished_click_to_publish_title_7c57293f\":\"Unpublished.  Click to publish %{title}.\"},\"en-GB\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"Publish\",\"published\":\"Published\",\"publishing\":\"Publishing...\",\"unpublish\":\"Unpublish\",\"unpublishing\":\"Unpublishing...\"}},\"published_click_to_unpublish_db016671\":\"Published.  Click to unpublish.\",\"published_click_to_unpublish_title_358122a\":\"Published.  Click to unpublish %{title}.\",\"unpublished_click_to_publish_6a6d12e1\":\"Unpublished.  Click to publish.\",\"unpublished_click_to_publish_title_7c57293f\":\"Unpublished.  Click to publish %{title}.\"},\"en-GB-x-lbs\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"Publish\",\"published\":\"Published\",\"publishing\":\"Publishing...\",\"unpublish\":\"Unpublish\",\"unpublishing\":\"Unpublishing...\"}},\"published_click_to_unpublish_db016671\":\"Published.  Click to unpublish.\",\"published_click_to_unpublish_title_358122a\":\"Published.  Click to unpublish %{title}.\",\"unpublished_click_to_publish_6a6d12e1\":\"Unpublished.  Click to publish.\",\"unpublished_click_to_publish_title_7c57293f\":\"Unpublished.  Click to publish %{title}.\"},\"en-GB-x-ukhe\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"Publish\",\"published\":\"Published\",\"publishing\":\"Publishing...\",\"unpublish\":\"Unpublish\",\"unpublishing\":\"Unpublishing...\"}},\"published_click_to_unpublish_db016671\":\"Published.  Click to unpublish.\",\"published_click_to_unpublish_title_358122a\":\"Published.  Click to unpublish %{title}.\",\"unpublished_click_to_publish_6a6d12e1\":\"Unpublished.  Click to publish.\",\"unpublished_click_to_publish_title_7c57293f\":\"Unpublished.  Click to publish %{title}.\"},\"es\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"Publicar\",\"published\":\"Publicado\",\"publishing\":\"Publicando...\",\"unpublish\":\"No publicado\",\"unpublishing\":\"Ocultando...\"}},\"published_click_to_unpublish_db016671\":\"Publicado.  Haga clic para anular la publicación.\",\"published_click_to_unpublish_title_358122a\":\"Publicado.  Haga clic para anular la publicación %{title}.\",\"unpublished_click_to_publish_6a6d12e1\":\"No publicado.  Haga clic para publicar.\",\"unpublished_click_to_publish_title_7c57293f\":\"No publicado.  Haga clic para publicar %{title}.\"},\"fa\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"انتشار\",\"published\":\"منتشر شده\",\"publishing\":\"در حال انتشار...\",\"unpublish\":\"لغو انتشار\",\"unpublishing\":\"در حال لغو انتشار...\"}},\"published_click_to_unpublish_db016671\":\"منتشر شده است. برای لغو انتشار کلیک کنید.\",\"published_click_to_unpublish_title_358122a\":\"منتشر شده است. برای لغو انتشار %{title} کلیک کنید.\",\"unpublished_click_to_publish_6a6d12e1\":\"منتشر نشده. برای انتشار کلیک کنید.\",\"unpublished_click_to_publish_title_7c57293f\":\"منتشر نشده. برای انتشار %{title} کلیک کنید.\"},\"fr\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"Publier\",\"published\":\"Date de publication\",\"publishing\":\"Publication en cours...\",\"unpublish\":\"Annuler la publication\",\"unpublishing\":\"Annulation de la publication...\"}},\"published_click_to_unpublish_db016671\":\"Publié.  Cliquez pour désactiver la publication\",\"published_click_to_unpublish_title_358122a\":\"Publié.  Cliquez pour dépublier %{title}.\",\"unpublished_click_to_publish_6a6d12e1\":\"Non publié.  Cliquez pour publier.\",\"unpublished_click_to_publish_title_7c57293f\":\"Non publié.  Cliquez pour publier %{title}.\"},\"fr-CA\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"Publier\",\"published\":\"Date de publication\",\"publishing\":\"Publication en cours...\",\"unpublish\":\"Annuler la publication\",\"unpublishing\":\"Annulation de la publication...\"}},\"published_click_to_unpublish_db016671\":\"Publié  Cliquer pour enlever la publication.\",\"published_click_to_unpublish_title_358122a\":\"Publié  Cliquer pour enlever la publication %{title}.\",\"unpublished_click_to_publish_6a6d12e1\":\"Non publié  Cliquer pour publier.\",\"unpublished_click_to_publish_title_7c57293f\":\"Non publié  Cliquer pour publier %{title}.\"},\"he\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"פרסום\",\"published\":\"פורסם\",\"publishing\":\"מפרסם...\",\"unpublish\":\"ביטול פרסום\",\"unpublishing\":\"מבטל פרסום...\"}}},\"ht\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"Pibliye\",\"published\":\"Pibliye\",\"publishing\":\"Piblikasyon...\",\"unpublish\":\"Pa Pibliye\",\"unpublishing\":\"Pa pibliye...\"}},\"published_click_to_unpublish_db016671\":\"Klike pou pa pibliye.  Klike pou pa pibliye.\",\"published_click_to_unpublish_title_358122a\":\"Klike pou pa pibliye.  Klike pou pa pibliye %{title}.\",\"unpublished_click_to_publish_6a6d12e1\":\"Pa pibliye.  Klike pou pibliye.\",\"unpublished_click_to_publish_title_7c57293f\":\"Pa pibliye.  Klike pou pibliye %{title}.\"},\"hu\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"Publikálás\",\"published\":\"Publikálva\",\"publishing\":\"Publikálás alatt...\",\"unpublish\":\"Publikálás visszavonása\",\"unpublishing\":\"Publikálás visszavonása folyamatban...\"}}},\"hy\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"Հրապարակել\",\"published\":\"Հրապարակված է\",\"publishing\":\"Հրապարակվում է...\",\"unpublish\":\"Չեղարկել հրապարակումը\",\"unpublishing\":\"Հրապարակման չեղյալ համարում...\"}}},\"is\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"Birta\",\"published\":\"Birt\",\"publishing\":\"Birti...\",\"unpublish\":\"Óbirta\",\"unpublishing\":\"Óbirti...\"}},\"published_click_to_unpublish_db016671\":\"Birt.  Smelltu til að taka úr birtingu.\",\"published_click_to_unpublish_title_358122a\":\"Birt.  Smelltu til að taka úr birtingu %{title}.\",\"unpublished_click_to_publish_6a6d12e1\":\"Óbirt. Smelltu til að birta.\",\"unpublished_click_to_publish_title_7c57293f\":\"Óbirt  Smelltu til að birta %{title}.\"},\"it\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"Pubblica\",\"published\":\"Pubblicato\",\"publishing\":\"Pubblicazione in corso...\",\"unpublish\":\"Annulla pubblicazione\",\"unpublishing\":\"Annullamento pubblicazione in corso...\"}},\"published_click_to_unpublish_db016671\":\"Pubblicato.  Fai clic per annullare la pubblicazione.\",\"published_click_to_unpublish_title_358122a\":\"Pubblicato.  Fai clic per annullare la pubblicazione di %{title}.\",\"unpublished_click_to_publish_6a6d12e1\":\"Non pubblicato.  Fai clic per pubblicare.\",\"unpublished_click_to_publish_title_7c57293f\":\"Non pubblicato.  Fai clic per pubblicare %{title}.\"},\"ja\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"公開\",\"published\":\"公開済み\",\"publishing\":\"公開しています...\",\"unpublish\":\"未公開\",\"unpublishing\":\"公開を中止しています...\"}},\"published_click_to_unpublish_db016671\":\"公開済み。ここをクリックして非公開にする。\",\"published_click_to_unpublish_title_358122a\":\"公開済み。ここをクリックして%{title}を非公開にする。\",\"unpublished_click_to_publish_6a6d12e1\":\"公開取り消し済み。ここをクリックして公開。\",\"unpublished_click_to_publish_title_7c57293f\":\"公開取り消し済み。クリックして%{title}を公開。\"},\"ko\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"게시\",\"published\":\"게시됨\",\"publishing\":\"게시 중...\",\"unpublish\":\"게시 취소\",\"unpublishing\":\"게시 취소 중...\"}}},\"mi\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"Whakaputa\",\"published\":\"I whakaputaina\",\"publishing\":\"Whakaputa ...\",\"unpublish\":\"Kaore i whakaputa\",\"unpublishing\":\"E whakaputa ana\"}},\"published_click_to_unpublish_db016671\":\"Kua whakaputaina. Pāwhiri ki te kore e whakaputa\",\"published_click_to_unpublish_title_358122a\":\"Kua whakaputaina. Pāwhiri ki te kore e whakaputa %{title}.\",\"unpublished_click_to_publish_6a6d12e1\":\"Kaore i whakaputaina. Pāwhiri ki te whakaputa.\",\"unpublished_click_to_publish_title_7c57293f\":\"Kaore i whakaputaina. Pāwhiri ki te whakaputa %{title}.\"},\"nb\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"Publiser\",\"published\":\"Publisert\",\"publishing\":\"Publiserer…\",\"unpublish\":\"Avpubliser\",\"unpublishing\":\"Fjerner publisering…\"}},\"published_click_to_unpublish_db016671\":\"Publisert.  Trykk for å oppheve publiseringen\",\"published_click_to_unpublish_title_358122a\":\"Publisert.  Trykk for å oppheve publiseringen %{title}.\",\"unpublished_click_to_publish_6a6d12e1\":\"Upublisert.  Trykk her for å publisere\",\"unpublished_click_to_publish_title_7c57293f\":\"Upublisert.  Trykk her for å publisere %{title}.\"},\"nb-x-k12\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"Publiser\",\"published\":\"Publisert\",\"publishing\":\"Publiserer…\",\"unpublish\":\"Avpubliser\",\"unpublishing\":\"Fjerner publisering…\"}},\"published_click_to_unpublish_db016671\":\"Publisert.  Trykk for å oppheve publiseringen\",\"published_click_to_unpublish_title_358122a\":\"Publisert.  Trykk for å oppheve publiseringen %{title}.\",\"unpublished_click_to_publish_6a6d12e1\":\"Upublisert.  Trykk her for å publisere\",\"unpublished_click_to_publish_title_7c57293f\":\"Upublisert.  Trykk her for å publisere %{title}.\"},\"nl\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"Publiceren\",\"published\":\"Gepubliceerd\",\"publishing\":\"Bezig met publiceren...\",\"unpublish\":\"Publicatie ongedaan maken\",\"unpublishing\":\"Bezig met ongedaan maken van publicatie...\"}},\"published_click_to_unpublish_db016671\":\"Gepubliceerd.  Klik om publicatie ongedaan te maken.\",\"published_click_to_unpublish_title_358122a\":\"Gepubliceerd.  Klik om publicatie van %{title} ongedaan te maken.\",\"unpublished_click_to_publish_6a6d12e1\":\"Niet gepubliceerd.  Klik om te publiceren.\",\"unpublished_click_to_publish_title_7c57293f\":\"Niet gepubliceerd.  Klik om %{title} te publiceren.\"},\"nn\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"Publiser\",\"published\":\"Publisert\",\"publishing\":\"Publiserer...\",\"unpublish\":\"Opphev publisering\",\"unpublishing\":\"Opphevar publisering...\"}},\"published_click_to_unpublish_db016671\":\"Publisert. Klikk for å oppheve publisering.\",\"published_click_to_unpublish_title_358122a\":\"Publisert. Klikk for å oppheve publisering av %{title}.\",\"unpublished_click_to_publish_6a6d12e1\":\"Ikkje publisert. Klikk for å publisere. \",\"unpublished_click_to_publish_title_7c57293f\":\"Ikkje publisert. Klikk for å publisere %{title}. \"},\"pl\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"Publikuj\",\"published\":\"Opublikowane\",\"publishing\":\"Trwa publikowanie...\",\"unpublish\":\"Cofnij publikowanie\",\"unpublishing\":\"Trwa cofanie publikowania...\"}},\"published_click_to_unpublish_db016671\":\"Opublikowane.  Kliknij, aby cofnąć publikację.\",\"published_click_to_unpublish_title_358122a\":\"Opublikowane.  Kliknij, aby cofnąć publikację %{title}.\",\"unpublished_click_to_publish_6a6d12e1\":\"Nieopublikowany.  Kliknij, aby opublikować.\",\"unpublished_click_to_publish_title_7c57293f\":\"Nieopublikowany.  Kliknij, aby opublikować %{title}.\"},\"pt\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"Publicar\",\"published\":\"Publicado\",\"publishing\":\"A publicar...\",\"unpublish\":\"Anular publicação\",\"unpublishing\":\"A anular a publicação...\"}},\"published_click_to_unpublish_db016671\":\"Publicado.  Clique para não publicar.\",\"published_click_to_unpublish_title_358122a\":\"Publicado.  Clique para publicar%{title}.\",\"unpublished_click_to_publish_6a6d12e1\":\"Não publicado.  Clique para publicar.\",\"unpublished_click_to_publish_title_7c57293f\":\"Não publicado.  Clique para publicar %{title}.\"},\"pt-BR\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"Publicar\",\"published\":\"Publicado\",\"publishing\":\"Publicando\",\"unpublish\":\"Despublicar\",\"unpublishing\":\"Cancelando publicação...\"}},\"published_click_to_unpublish_db016671\":\"Publicado.  Clique para cancelar publicação.\",\"published_click_to_unpublish_title_358122a\":\"Publicado.  Clique para cancelar a publicação de %{title}.\",\"unpublished_click_to_publish_6a6d12e1\":\"Não publicado.  Clique para publicar.\",\"unpublished_click_to_publish_title_7c57293f\":\"Não publicado.  Clique para publicar %{title}.\"},\"ru\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"Опубликовать\",\"published\":\"Опубликовано\",\"publishing\":\"Публикация...\",\"unpublish\":\"Отменить публикацию\",\"unpublishing\":\"Отмена публикации…\"}},\"published_click_to_unpublish_db016671\":\"Опубликовано.  Щелкните, чтобы отменить публикацию.\",\"published_click_to_unpublish_title_358122a\":\"Опубликовано.  Щелкните, чтобы отменить публикацию %{title}.\",\"unpublished_click_to_publish_6a6d12e1\":\"Публикация отменена.  Щелкните, чтобы опубликовать.\",\"unpublished_click_to_publish_title_7c57293f\":\"Публикация отменена.  Щелкните, чтобы опубликовать %{title}.\"},\"sl\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"Objavi\",\"published\":\"Objavljeno\",\"publishing\":\"Objavljanje ...\",\"unpublish\":\"Ne objavi\",\"unpublishing\":\"Razveljavljanje objave ...\"}},\"published_click_to_unpublish_db016671\":\"Objavljeno.  Kliknite za razveljavitev objave.\",\"published_click_to_unpublish_title_358122a\":\"Objavljeno.  Kliknite za razveljavitev objave %{title}.\",\"unpublished_click_to_publish_6a6d12e1\":\"Neobjavljeno.  Kliknite za objavo.\",\"unpublished_click_to_publish_title_7c57293f\":\"Neobjavljeno.  Kliknite za objavo %{title}.\"},\"sv\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"Publicera\",\"published\":\"Publicerad\",\"publishing\":\"Publicerar...\",\"unpublish\":\"Avpublicera\",\"unpublishing\":\"Avpublicerar...\"}},\"published_click_to_unpublish_db016671\":\"Publiserad.  Klicka för att avpublicera\",\"published_click_to_unpublish_title_358122a\":\"Publiserad.  Klicka för att avpublicera %{title}.\",\"unpublished_click_to_publish_6a6d12e1\":\"Opublicerad.  Klicka för att publicera\",\"unpublished_click_to_publish_title_7c57293f\":\"Opublicerad.  Klicka för att publicera %{title}.\"},\"sv-x-k12\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"Publicera\",\"published\":\"Publicerad\",\"publishing\":\"Publicerar...\",\"unpublish\":\"Avpublicera\",\"unpublishing\":\"Avpublicerar...\"}},\"published_click_to_unpublish_db016671\":\"Publiserad.  Klicka för att avpublicera\",\"published_click_to_unpublish_title_358122a\":\"Publiserad.  Klicka för att avpublicera %{title}.\",\"unpublished_click_to_publish_6a6d12e1\":\"Opublicerad.  Klicka för att publicera\",\"unpublished_click_to_publish_title_7c57293f\":\"Opublicerad.  Klicka för att publicera %{title}.\"},\"tr\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"Yayınla\",\"published\":\"Yayınlandı\",\"publishing\":\"Yayınlanıyor...\",\"unpublish\":\"Yayınlanmıyor\",\"unpublishing\":\"Yayından kaldırılıyor...\"}}},\"uk\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"Опублікувати\",\"published\":\"Опубліковано\",\"publishing\":\"Публікація...\",\"unpublish\":\"Відмінити публікацію\",\"unpublishing\":\"Скасування публікації...\"}},\"published_click_to_unpublish_db016671\":\"Опубліковано Натисніть, щоб скасувати публікацію.\",\"published_click_to_unpublish_title_358122a\":\"Опубліковано Натисніть, щоб скасувати публікацію %{title}.\",\"unpublished_click_to_publish_6a6d12e1\":\"Не опубліковано. Натисніть, щоб опублікувати.\",\"unpublished_click_to_publish_title_7c57293f\":\"Не опубліковано. Натисніть, щоб опублікувати %{title}.\"},\"zh-Hans\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"发布\",\"published\":\"已发布\",\"publishing\":\"正在发布...\",\"unpublish\":\"取消发布\",\"unpublishing\":\"正在取消发布...\"}},\"published_click_to_unpublish_db016671\":\"已发布。单击以取消发布。\",\"published_click_to_unpublish_title_358122a\":\"已发布。单击以取消发布%{title}。\",\"unpublished_click_to_publish_6a6d12e1\":\"已取消发布。单击以发布。\",\"unpublished_click_to_publish_title_7c57293f\":\"已取消发布。单击以发布%{title}。\"},\"zh-Hant\":{\"publish_btn_module\":{\"buttons\":{\"publish\":\"發佈\",\"published\":\"已發佈\",\"publishing\":\"正在發佈…\",\"unpublish\":\"取消發佈\",\"unpublishing\":\"正在取消發佈...\"}},\"published_click_to_unpublish_db016671\":\"已發佈。點擊取消發佈。\",\"published_click_to_unpublish_title_358122a\":\"已發佈。點擊取消發佈 %{title}。\",\"unpublished_click_to_publish_6a6d12e1\":\"已取消發佈。點擊發佈。\",\"unpublished_click_to_publish_title_7c57293f\":\"已取消發佈。點擊發佈 %{title}。\"}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/publish_btn_module.js\n// module id = S8RMVKe7cv\n// module chunks = 27 37 51 54 55 58 59 73 77 136","#\n# Copyright (C) 2016 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  'i18n!assignments',\n  'Backbone',\n  'jquery',\n  'jst/_sisButton',\n  '../util/SisValidationHelper'\n], (I18n, Backbone, $, template, SisValidationHelper) ->\n\n  class SisButtonView extends Backbone.View\n    template: template\n    tagName: 'span'\n    className: 'sis-button'\n    events:\n      'click': 'togglePostToSIS'\n\n    # {string}\n    # text used to describe the SIS NAME\n    @optionProperty 'sisName'\n\n    # {boolean}\n    # boolean used to determine if due date\n    # is required\n    @optionProperty 'dueDateRequired'\n\n    # {boolean}\n    # boolean used to determine if name length\n    # is required\n    @optionProperty 'maxNameLengthRequired'\n\n    setAttributes: ->\n      newSisAttributes = @sisAttributes()\n      @$input.attr({\n        'src': newSisAttributes['src'],\n        'alt': newSisAttributes['description'],\n        'title': newSisAttributes['description']\n      })\n      @$label.text(newSisAttributes['label'])\n\n    togglePostToSIS: (e) =>\n      e.preventDefault()\n      sisUrl = @model.get('toggle_post_to_sis_url')\n      post_to_sis = @model.postToSIS()\n      validationHelper = new SisValidationHelper({\n        postToSIS: !post_to_sis\n        dueDateRequired: @dueDateRequired\n        dueDate: @model.dueAt()\n        name: @model.name()\n        maxNameLength: @model.maxNameLength()\n        maxNameLengthRequired: @maxNameLengthRequired\n        allDates: @model.allDates()\n      })\n      errors = @errorsExist(validationHelper)\n      if errors['has_error'] == true && @model.sisIntegrationSettingsEnabled()\n        $.flashWarning(errors['message'])\n      else if sisUrl\n        @toggleAriaPressed(post_to_sis)\n        @model.postToSIS(!post_to_sis)\n        @model.save({ override_dates: false }, {\n          type: 'POST',\n          url: sisUrl,\n          success: =>\n            @setAttributes()\n        })\n      else\n        @toggleAriaPressed(post_to_sis)\n        @model.postToSIS(!post_to_sis)\n        @model.save({ override_dates: false }, {\n          success: =>\n            @setAttributes()\n        })\n\n    toggleAriaPressed: (post_to_sis) =>\n      label = @$el.find('label')\n      label.attr 'aria-pressed', !post_to_sis\n\n    errorsExist: (validationHelper) =>\n      errors = {}\n      base_message = \"Unable to sync with #{@sisName}.\"\n      if validationHelper.dueDateMissing() && validationHelper.nameTooLong()\n        errors['has_error'] = true\n        errors['message'] = I18n.t(\"%{base_message} Please make sure %{name} has a due date and name is not too long.\", name: @model.name(), base_message: base_message)\n      else if validationHelper.dueDateMissing()\n        errors['has_error'] = true\n        errors['message'] = I18n.t(\"%{base_message} Please make sure %{name} has a due date.\", name: @model.name(), base_message: base_message)\n      else if validationHelper.nameTooLong()\n        errors['has_error'] = true\n        errors['message'] = I18n.t(\"%{base_message} Please make sure %{name} name is not too long.\", name: @model.name(), base_message: base_message)\n      errors\n\n    sisAttributes: =>\n      if @model.postToSIS()\n        {\n          src: '/images/svg-icons/svg_icon_sis_synced.svg',\n          description: I18n.t('Sync to %{name} enabled. Click to toggle.', name: @sisName),\n          label: I18n.t('The grade for this assignment will sync to the student information system.'),\n        }\n      else\n        {\n          src: '/images/svg-icons/svg_icon_sis_not_synced.svg',\n          description: I18n.t('Sync to %{name} disabled. Click to toggle.', name: @sisName),\n          label: I18n.t('The grade for this assignment will not sync to the student information system.')\n        }\n\n\n    render: ->\n      super\n      labelId = 'sis-status-label-'+ @model.id\n      @$label = @$el.find('label')\n      @$input = @$el.find('input')\n      @$input.attr('aria-describedby': labelId)\n      @$label.attr('id', labelId)\n      @setAttributes()\n\n    toJSON: ->\n      postToSIS: @model.postToSIS()\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/views/SisButtonView.coffee","/*** IMPORTS FROM imports-loader ***/\n(function() {\n\n(function () {\nvar paste = (function () {\n    'use strict';\n\n    var Cell = function (initial) {\n      var value = initial;\n      var get = function () {\n        return value;\n      };\n      var set = function (v) {\n        value = v;\n      };\n      var clone = function () {\n        return Cell(get());\n      };\n      return {\n        get: get,\n        set: set,\n        clone: clone\n      };\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var hasProPlugin = function (editor) {\n      if (/(^|[ ,])powerpaste([, ]|$)/.test(editor.settings.plugins) && global.get('powerpaste')) {\n        if (typeof window.console !== 'undefined' && window.console.log) {\n          window.console.log('PowerPaste is incompatible with Paste plugin! Remove \\'paste\\' from the \\'plugins\\' option.');\n        }\n        return true;\n      } else {\n        return false;\n      }\n    };\n    var DetectProPlugin = { hasProPlugin: hasProPlugin };\n\n    var get = function (clipboard, quirks) {\n      return {\n        clipboard: clipboard,\n        quirks: quirks\n      };\n    };\n    var Api = { get: get };\n\n    var firePastePreProcess = function (editor, html, internal, isWordHtml) {\n      return editor.fire('PastePreProcess', {\n        content: html,\n        internal: internal,\n        wordContent: isWordHtml\n      });\n    };\n    var firePastePostProcess = function (editor, node, internal, isWordHtml) {\n      return editor.fire('PastePostProcess', {\n        node: node,\n        internal: internal,\n        wordContent: isWordHtml\n      });\n    };\n    var firePastePlainTextToggle = function (editor, state) {\n      return editor.fire('PastePlainTextToggle', { state: state });\n    };\n    var firePaste = function (editor, ieFake) {\n      return editor.fire('paste', { ieFake: ieFake });\n    };\n    var Events = {\n      firePastePreProcess: firePastePreProcess,\n      firePastePostProcess: firePastePostProcess,\n      firePastePlainTextToggle: firePastePlainTextToggle,\n      firePaste: firePaste\n    };\n\n    var shouldPlainTextInform = function (editor) {\n      return editor.getParam('paste_plaintext_inform', true);\n    };\n    var shouldBlockDrop = function (editor) {\n      return editor.getParam('paste_block_drop', false);\n    };\n    var shouldPasteDataImages = function (editor) {\n      return editor.getParam('paste_data_images', false);\n    };\n    var shouldFilterDrop = function (editor) {\n      return editor.getParam('paste_filter_drop', true);\n    };\n    var getPreProcess = function (editor) {\n      return editor.getParam('paste_preprocess');\n    };\n    var getPostProcess = function (editor) {\n      return editor.getParam('paste_postprocess');\n    };\n    var getWebkitStyles = function (editor) {\n      return editor.getParam('paste_webkit_styles');\n    };\n    var shouldRemoveWebKitStyles = function (editor) {\n      return editor.getParam('paste_remove_styles_if_webkit', true);\n    };\n    var shouldMergeFormats = function (editor) {\n      return editor.getParam('paste_merge_formats', true);\n    };\n    var isSmartPasteEnabled = function (editor) {\n      return editor.getParam('smart_paste', true);\n    };\n    var isPasteAsTextEnabled = function (editor) {\n      return editor.getParam('paste_as_text', false);\n    };\n    var getRetainStyleProps = function (editor) {\n      return editor.getParam('paste_retain_style_properties');\n    };\n    var getWordValidElements = function (editor) {\n      var defaultValidElements = '-strong/b,-em/i,-u,-span,-p,-ol,-ul,-li,-h1,-h2,-h3,-h4,-h5,-h6,' + '-p/div,-a[href|name],sub,sup,strike,br,del,table[width],tr,' + 'td[colspan|rowspan|width],th[colspan|rowspan|width],thead,tfoot,tbody';\n      return editor.getParam('paste_word_valid_elements', defaultValidElements);\n    };\n    var shouldConvertWordFakeLists = function (editor) {\n      return editor.getParam('paste_convert_word_fake_lists', true);\n    };\n    var shouldUseDefaultFilters = function (editor) {\n      return editor.getParam('paste_enable_default_filters', true);\n    };\n    var Settings = {\n      shouldPlainTextInform: shouldPlainTextInform,\n      shouldBlockDrop: shouldBlockDrop,\n      shouldPasteDataImages: shouldPasteDataImages,\n      shouldFilterDrop: shouldFilterDrop,\n      getPreProcess: getPreProcess,\n      getPostProcess: getPostProcess,\n      getWebkitStyles: getWebkitStyles,\n      shouldRemoveWebKitStyles: shouldRemoveWebKitStyles,\n      shouldMergeFormats: shouldMergeFormats,\n      isSmartPasteEnabled: isSmartPasteEnabled,\n      isPasteAsTextEnabled: isPasteAsTextEnabled,\n      getRetainStyleProps: getRetainStyleProps,\n      getWordValidElements: getWordValidElements,\n      shouldConvertWordFakeLists: shouldConvertWordFakeLists,\n      shouldUseDefaultFilters: shouldUseDefaultFilters\n    };\n\n    var shouldInformUserAboutPlainText = function (editor, userIsInformedState) {\n      return userIsInformedState.get() === false && Settings.shouldPlainTextInform(editor);\n    };\n    var displayNotification = function (editor, message) {\n      editor.notificationManager.open({\n        text: editor.translate(message),\n        type: 'info'\n      });\n    };\n    var togglePlainTextPaste = function (editor, clipboard, userIsInformedState) {\n      if (clipboard.pasteFormat.get() === 'text') {\n        clipboard.pasteFormat.set('html');\n        Events.firePastePlainTextToggle(editor, false);\n      } else {\n        clipboard.pasteFormat.set('text');\n        Events.firePastePlainTextToggle(editor, true);\n        if (shouldInformUserAboutPlainText(editor, userIsInformedState)) {\n          displayNotification(editor, 'Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.');\n          userIsInformedState.set(true);\n        }\n      }\n      editor.focus();\n    };\n    var Actions = { togglePlainTextPaste: togglePlainTextPaste };\n\n    var register = function (editor, clipboard, userIsInformedState) {\n      editor.addCommand('mceTogglePlainTextPaste', function () {\n        Actions.togglePlainTextPaste(editor, clipboard, userIsInformedState);\n      });\n      editor.addCommand('mceInsertClipboardContent', function (ui, value) {\n        if (value.content) {\n          clipboard.pasteHtml(value.content, value.internal);\n        }\n        if (value.text) {\n          clipboard.pasteText(value.text);\n        }\n      });\n    };\n    var Commands = { register: register };\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.Env');\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.util.Delay');\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    var global$4 = tinymce.util.Tools.resolve('tinymce.util.VK');\n\n    var internalMimeType = 'x-tinymce/html';\n    var internalMark = '<!-- ' + internalMimeType + ' -->';\n    var mark = function (html) {\n      return internalMark + html;\n    };\n    var unmark = function (html) {\n      return html.replace(internalMark, '');\n    };\n    var isMarked = function (html) {\n      return html.indexOf(internalMark) !== -1;\n    };\n    var InternalHtml = {\n      mark: mark,\n      unmark: unmark,\n      isMarked: isMarked,\n      internalHtmlMime: function () {\n        return internalMimeType;\n      }\n    };\n\n    var global$5 = tinymce.util.Tools.resolve('tinymce.html.Entities');\n\n    var isPlainText = function (text) {\n      return !/<(?:\\/?(?!(?:div|p|br|span)>)\\w+|(?:(?!(?:span style=\"white-space:\\s?pre;?\">)|br\\s?\\/>))\\w+\\s[^>]+)>/i.test(text);\n    };\n    var toBRs = function (text) {\n      return text.replace(/\\r?\\n/g, '<br>');\n    };\n    var openContainer = function (rootTag, rootAttrs) {\n      var key;\n      var attrs = [];\n      var tag = '<' + rootTag;\n      if (typeof rootAttrs === 'object') {\n        for (key in rootAttrs) {\n          if (rootAttrs.hasOwnProperty(key)) {\n            attrs.push(key + '=\"' + global$5.encodeAllRaw(rootAttrs[key]) + '\"');\n          }\n        }\n        if (attrs.length) {\n          tag += ' ' + attrs.join(' ');\n        }\n      }\n      return tag + '>';\n    };\n    var toBlockElements = function (text, rootTag, rootAttrs) {\n      var blocks = text.split(/\\n\\n/);\n      var tagOpen = openContainer(rootTag, rootAttrs);\n      var tagClose = '</' + rootTag + '>';\n      var paragraphs = global$3.map(blocks, function (p) {\n        return p.split(/\\n/).join('<br />');\n      });\n      var stitch = function (p) {\n        return tagOpen + p + tagClose;\n      };\n      return paragraphs.length === 1 ? paragraphs[0] : global$3.map(paragraphs, stitch).join('');\n    };\n    var convert = function (text, rootTag, rootAttrs) {\n      return rootTag ? toBlockElements(text, rootTag, rootAttrs) : toBRs(text);\n    };\n    var Newlines = {\n      isPlainText: isPlainText,\n      convert: convert,\n      toBRs: toBRs,\n      toBlockElements: toBlockElements\n    };\n\n    var global$6 = tinymce.util.Tools.resolve('tinymce.html.DomParser');\n\n    var global$7 = tinymce.util.Tools.resolve('tinymce.html.Node');\n\n    var global$8 = tinymce.util.Tools.resolve('tinymce.html.Schema');\n\n    var global$9 = tinymce.util.Tools.resolve('tinymce.html.Serializer');\n\n    function filter(content, items) {\n      global$3.each(items, function (v) {\n        if (v.constructor === RegExp) {\n          content = content.replace(v, '');\n        } else {\n          content = content.replace(v[0], v[1]);\n        }\n      });\n      return content;\n    }\n    function innerText(html) {\n      var schema = global$8();\n      var domParser = global$6({}, schema);\n      var text = '';\n      var shortEndedElements = schema.getShortEndedElements();\n      var ignoreElements = global$3.makeMap('script noscript style textarea video audio iframe object', ' ');\n      var blockElements = schema.getBlockElements();\n      function walk(node) {\n        var name$$1 = node.name, currentNode = node;\n        if (name$$1 === 'br') {\n          text += '\\n';\n          return;\n        }\n        if (name$$1 === 'wbr') {\n          return;\n        }\n        if (shortEndedElements[name$$1]) {\n          text += ' ';\n        }\n        if (ignoreElements[name$$1]) {\n          text += ' ';\n          return;\n        }\n        if (node.type === 3) {\n          text += node.value;\n        }\n        if (!node.shortEnded) {\n          if (node = node.firstChild) {\n            do {\n              walk(node);\n            } while (node = node.next);\n          }\n        }\n        if (blockElements[name$$1] && currentNode.next) {\n          text += '\\n';\n          if (name$$1 === 'p') {\n            text += '\\n';\n          }\n        }\n      }\n      html = filter(html, [/<!\\[[^\\]]+\\]>/g]);\n      walk(domParser.parse(html));\n      return text;\n    }\n    function trimHtml(html) {\n      function trimSpaces(all, s1, s2) {\n        if (!s1 && !s2) {\n          return ' ';\n        }\n        return '\\xA0';\n      }\n      html = filter(html, [\n        /^[\\s\\S]*<body[^>]*>\\s*|\\s*<\\/body[^>]*>[\\s\\S]*$/ig,\n        /<!--StartFragment-->|<!--EndFragment-->/g,\n        [\n          /( ?)<span class=\"Apple-converted-space\">\\u00a0<\\/span>( ?)/g,\n          trimSpaces\n        ],\n        /<br class=\"Apple-interchange-newline\">/g,\n        /<br>$/i\n      ]);\n      return html;\n    }\n    function createIdGenerator(prefix) {\n      var count = 0;\n      return function () {\n        return prefix + count++;\n      };\n    }\n    var isMsEdge = function () {\n      return navigator.userAgent.indexOf(' Edge/') !== -1;\n    };\n    var Utils = {\n      filter: filter,\n      innerText: innerText,\n      trimHtml: trimHtml,\n      createIdGenerator: createIdGenerator,\n      isMsEdge: isMsEdge\n    };\n\n    function isWordContent(content) {\n      return /<font face=\"Times New Roman\"|class=\"?Mso|style=\"[^\"]*\\bmso-|style='[^'']*\\bmso-|w:WordDocument/i.test(content) || /class=\"OutlineElement/.test(content) || /id=\"?docs\\-internal\\-guid\\-/.test(content);\n    }\n    function isNumericList(text) {\n      var found, patterns;\n      patterns = [\n        /^[IVXLMCD]{1,2}\\.[ \\u00a0]/,\n        /^[ivxlmcd]{1,2}\\.[ \\u00a0]/,\n        /^[a-z]{1,2}[\\.\\)][ \\u00a0]/,\n        /^[A-Z]{1,2}[\\.\\)][ \\u00a0]/,\n        /^[0-9]+\\.[ \\u00a0]/,\n        /^[\\u3007\\u4e00\\u4e8c\\u4e09\\u56db\\u4e94\\u516d\\u4e03\\u516b\\u4e5d]+\\.[ \\u00a0]/,\n        /^[\\u58f1\\u5f10\\u53c2\\u56db\\u4f0d\\u516d\\u4e03\\u516b\\u4e5d\\u62fe]+\\.[ \\u00a0]/\n      ];\n      text = text.replace(/^[\\u00a0 ]+/, '');\n      global$3.each(patterns, function (pattern) {\n        if (pattern.test(text)) {\n          found = true;\n          return false;\n        }\n      });\n      return found;\n    }\n    function isBulletList(text) {\n      return /^[\\s\\u00a0]*[\\u2022\\u00b7\\u00a7\\u25CF]\\s*/.test(text);\n    }\n    function convertFakeListsToProperLists(node) {\n      var currentListNode, prevListNode, lastLevel = 1;\n      function getText(node) {\n        var txt = '';\n        if (node.type === 3) {\n          return node.value;\n        }\n        if (node = node.firstChild) {\n          do {\n            txt += getText(node);\n          } while (node = node.next);\n        }\n        return txt;\n      }\n      function trimListStart(node, regExp) {\n        if (node.type === 3) {\n          if (regExp.test(node.value)) {\n            node.value = node.value.replace(regExp, '');\n            return false;\n          }\n        }\n        if (node = node.firstChild) {\n          do {\n            if (!trimListStart(node, regExp)) {\n              return false;\n            }\n          } while (node = node.next);\n        }\n        return true;\n      }\n      function removeIgnoredNodes(node) {\n        if (node._listIgnore) {\n          node.remove();\n          return;\n        }\n        if (node = node.firstChild) {\n          do {\n            removeIgnoredNodes(node);\n          } while (node = node.next);\n        }\n      }\n      function convertParagraphToLi(paragraphNode, listName, start) {\n        var level = paragraphNode._listLevel || lastLevel;\n        if (level !== lastLevel) {\n          if (level < lastLevel) {\n            if (currentListNode) {\n              currentListNode = currentListNode.parent.parent;\n            }\n          } else {\n            prevListNode = currentListNode;\n            currentListNode = null;\n          }\n        }\n        if (!currentListNode || currentListNode.name !== listName) {\n          prevListNode = prevListNode || currentListNode;\n          currentListNode = new global$7(listName, 1);\n          if (start > 1) {\n            currentListNode.attr('start', '' + start);\n          }\n          paragraphNode.wrap(currentListNode);\n        } else {\n          currentListNode.append(paragraphNode);\n        }\n        paragraphNode.name = 'li';\n        if (level > lastLevel && prevListNode) {\n          prevListNode.lastChild.append(currentListNode);\n        }\n        lastLevel = level;\n        removeIgnoredNodes(paragraphNode);\n        trimListStart(paragraphNode, /^\\u00a0+/);\n        trimListStart(paragraphNode, /^\\s*([\\u2022\\u00b7\\u00a7\\u25CF]|\\w+\\.)/);\n        trimListStart(paragraphNode, /^\\u00a0+/);\n      }\n      var elements = [];\n      var child = node.firstChild;\n      while (typeof child !== 'undefined' && child !== null) {\n        elements.push(child);\n        child = child.walk();\n        if (child !== null) {\n          while (typeof child !== 'undefined' && child.parent !== node) {\n            child = child.walk();\n          }\n        }\n      }\n      for (var i = 0; i < elements.length; i++) {\n        node = elements[i];\n        if (node.name === 'p' && node.firstChild) {\n          var nodeText = getText(node);\n          if (isBulletList(nodeText)) {\n            convertParagraphToLi(node, 'ul');\n            continue;\n          }\n          if (isNumericList(nodeText)) {\n            var matches = /([0-9]+)\\./.exec(nodeText);\n            var start = 1;\n            if (matches) {\n              start = parseInt(matches[1], 10);\n            }\n            convertParagraphToLi(node, 'ol', start);\n            continue;\n          }\n          if (node._listLevel) {\n            convertParagraphToLi(node, 'ul', 1);\n            continue;\n          }\n          currentListNode = null;\n        } else {\n          prevListNode = currentListNode;\n          currentListNode = null;\n        }\n      }\n    }\n    function filterStyles(editor, validStyles, node, styleValue) {\n      var outputStyles = {}, matches;\n      var styles = editor.dom.parseStyle(styleValue);\n      global$3.each(styles, function (value, name) {\n        switch (name) {\n        case 'mso-list':\n          matches = /\\w+ \\w+([0-9]+)/i.exec(styleValue);\n          if (matches) {\n            node._listLevel = parseInt(matches[1], 10);\n          }\n          if (/Ignore/i.test(value) && node.firstChild) {\n            node._listIgnore = true;\n            node.firstChild._listIgnore = true;\n          }\n          break;\n        case 'horiz-align':\n          name = 'text-align';\n          break;\n        case 'vert-align':\n          name = 'vertical-align';\n          break;\n        case 'font-color':\n        case 'mso-foreground':\n          name = 'color';\n          break;\n        case 'mso-background':\n        case 'mso-highlight':\n          name = 'background';\n          break;\n        case 'font-weight':\n        case 'font-style':\n          if (value !== 'normal') {\n            outputStyles[name] = value;\n          }\n          return;\n        case 'mso-element':\n          if (/^(comment|comment-list)$/i.test(value)) {\n            node.remove();\n            return;\n          }\n          break;\n        }\n        if (name.indexOf('mso-comment') === 0) {\n          node.remove();\n          return;\n        }\n        if (name.indexOf('mso-') === 0) {\n          return;\n        }\n        if (Settings.getRetainStyleProps(editor) === 'all' || validStyles && validStyles[name]) {\n          outputStyles[name] = value;\n        }\n      });\n      if (/(bold)/i.test(outputStyles['font-weight'])) {\n        delete outputStyles['font-weight'];\n        node.wrap(new global$7('b', 1));\n      }\n      if (/(italic)/i.test(outputStyles['font-style'])) {\n        delete outputStyles['font-style'];\n        node.wrap(new global$7('i', 1));\n      }\n      outputStyles = editor.dom.serializeStyle(outputStyles, node.name);\n      if (outputStyles) {\n        return outputStyles;\n      }\n      return null;\n    }\n    var filterWordContent = function (editor, content) {\n      var retainStyleProperties, validStyles;\n      retainStyleProperties = Settings.getRetainStyleProps(editor);\n      if (retainStyleProperties) {\n        validStyles = global$3.makeMap(retainStyleProperties.split(/[, ]/));\n      }\n      content = Utils.filter(content, [\n        /<br class=\"?Apple-interchange-newline\"?>/gi,\n        /<b[^>]+id=\"?docs-internal-[^>]*>/gi,\n        /<!--[\\s\\S]+?-->/gi,\n        /<(!|script[^>]*>.*?<\\/script(?=[>\\s])|\\/?(\\?xml(:\\w+)?|img|meta|link|style|\\w:\\w+)(?=[\\s\\/>]))[^>]*>/gi,\n        [\n          /<(\\/?)s>/gi,\n          '<$1strike>'\n        ],\n        [\n          /&nbsp;/gi,\n          '\\xA0'\n        ],\n        [\n          /<span\\s+style\\s*=\\s*\"\\s*mso-spacerun\\s*:\\s*yes\\s*;?\\s*\"\\s*>([\\s\\u00a0]*)<\\/span>/gi,\n          function (str, spaces) {\n            return spaces.length > 0 ? spaces.replace(/./, ' ').slice(Math.floor(spaces.length / 2)).split('').join('\\xA0') : '';\n          }\n        ]\n      ]);\n      var validElements = Settings.getWordValidElements(editor);\n      var schema = global$8({\n        valid_elements: validElements,\n        valid_children: '-li[p]'\n      });\n      global$3.each(schema.elements, function (rule) {\n        if (!rule.attributes.class) {\n          rule.attributes.class = {};\n          rule.attributesOrder.push('class');\n        }\n        if (!rule.attributes.style) {\n          rule.attributes.style = {};\n          rule.attributesOrder.push('style');\n        }\n      });\n      var domParser = global$6({}, schema);\n      domParser.addAttributeFilter('style', function (nodes) {\n        var i = nodes.length, node;\n        while (i--) {\n          node = nodes[i];\n          node.attr('style', filterStyles(editor, validStyles, node, node.attr('style')));\n          if (node.name === 'span' && node.parent && !node.attributes.length) {\n            node.unwrap();\n          }\n        }\n      });\n      domParser.addAttributeFilter('class', function (nodes) {\n        var i = nodes.length, node, className;\n        while (i--) {\n          node = nodes[i];\n          className = node.attr('class');\n          if (/^(MsoCommentReference|MsoCommentText|msoDel)$/i.test(className)) {\n            node.remove();\n          }\n          node.attr('class', null);\n        }\n      });\n      domParser.addNodeFilter('del', function (nodes) {\n        var i = nodes.length;\n        while (i--) {\n          nodes[i].remove();\n        }\n      });\n      domParser.addNodeFilter('a', function (nodes) {\n        var i = nodes.length, node, href, name;\n        while (i--) {\n          node = nodes[i];\n          href = node.attr('href');\n          name = node.attr('name');\n          if (href && href.indexOf('#_msocom_') !== -1) {\n            node.remove();\n            continue;\n          }\n          if (href && href.indexOf('file://') === 0) {\n            href = href.split('#')[1];\n            if (href) {\n              href = '#' + href;\n            }\n          }\n          if (!href && !name) {\n            node.unwrap();\n          } else {\n            if (name && !/^_?(?:toc|edn|ftn)/i.test(name)) {\n              node.unwrap();\n              continue;\n            }\n            node.attr({\n              href: href,\n              name: name\n            });\n          }\n        }\n      });\n      var rootNode = domParser.parse(content);\n      if (Settings.shouldConvertWordFakeLists(editor)) {\n        convertFakeListsToProperLists(rootNode);\n      }\n      content = global$9({ validate: editor.settings.validate }, schema).serialize(rootNode);\n      return content;\n    };\n    var preProcess = function (editor, content) {\n      return Settings.shouldUseDefaultFilters(editor) ? filterWordContent(editor, content) : content;\n    };\n    var WordFilter = {\n      preProcess: preProcess,\n      isWordContent: isWordContent\n    };\n\n    var processResult = function (content, cancelled) {\n      return {\n        content: content,\n        cancelled: cancelled\n      };\n    };\n    var postProcessFilter = function (editor, html, internal, isWordHtml) {\n      var tempBody = editor.dom.create('div', { style: 'display:none' }, html);\n      var postProcessArgs = Events.firePastePostProcess(editor, tempBody, internal, isWordHtml);\n      return processResult(postProcessArgs.node.innerHTML, postProcessArgs.isDefaultPrevented());\n    };\n    var filterContent = function (editor, content, internal, isWordHtml) {\n      var preProcessArgs = Events.firePastePreProcess(editor, content, internal, isWordHtml);\n      if (editor.hasEventListeners('PastePostProcess') && !preProcessArgs.isDefaultPrevented()) {\n        return postProcessFilter(editor, preProcessArgs.content, internal, isWordHtml);\n      } else {\n        return processResult(preProcessArgs.content, preProcessArgs.isDefaultPrevented());\n      }\n    };\n    var process = function (editor, html, internal) {\n      var isWordHtml = WordFilter.isWordContent(html);\n      var content = isWordHtml ? WordFilter.preProcess(editor, html) : html;\n      return filterContent(editor, content, internal, isWordHtml);\n    };\n    var ProcessFilters = { process: process };\n\n    var removeMeta = function (editor, html) {\n      var body = editor.dom.create('body', {}, html);\n      global$3.each(body.querySelectorAll('meta'), function (elm) {\n        return elm.parentNode.removeChild(elm);\n      });\n      return body.innerHTML;\n    };\n    var pasteHtml = function (editor, html) {\n      editor.insertContent(removeMeta(editor, html), {\n        merge: Settings.shouldMergeFormats(editor),\n        paste: true\n      });\n      return true;\n    };\n    var isAbsoluteUrl = function (url) {\n      return /^https?:\\/\\/[\\w\\?\\-\\/+=.&%@~#]+$/i.test(url);\n    };\n    var isImageUrl = function (url) {\n      return isAbsoluteUrl(url) && /.(gif|jpe?g|png)$/.test(url);\n    };\n    var createImage = function (editor, url, pasteHtmlFn) {\n      editor.undoManager.extra(function () {\n        pasteHtmlFn(editor, url);\n      }, function () {\n        editor.insertContent('<img src=\"' + url + '\">');\n      });\n      return true;\n    };\n    var createLink = function (editor, url, pasteHtmlFn) {\n      editor.undoManager.extra(function () {\n        pasteHtmlFn(editor, url);\n      }, function () {\n        editor.execCommand('mceInsertLink', false, url);\n      });\n      return true;\n    };\n    var linkSelection = function (editor, html, pasteHtmlFn) {\n      return editor.selection.isCollapsed() === false && isAbsoluteUrl(html) ? createLink(editor, html, pasteHtmlFn) : false;\n    };\n    var insertImage = function (editor, html, pasteHtmlFn) {\n      return isImageUrl(html) ? createImage(editor, html, pasteHtmlFn) : false;\n    };\n    var smartInsertContent = function (editor, html) {\n      global$3.each([\n        linkSelection,\n        insertImage,\n        pasteHtml\n      ], function (action) {\n        return action(editor, html, pasteHtml) !== true;\n      });\n    };\n    var insertContent = function (editor, html) {\n      if (Settings.isSmartPasteEnabled(editor) === false) {\n        pasteHtml(editor, html);\n      } else {\n        smartInsertContent(editor, html);\n      }\n    };\n    var SmartPaste = {\n      isImageUrl: isImageUrl,\n      isAbsoluteUrl: isAbsoluteUrl,\n      insertContent: insertContent\n    };\n\n    var constant = function (value) {\n      return function () {\n        return value;\n      };\n    };\n    function curry(fn) {\n      var initialArgs = [];\n      for (var _i = 1; _i < arguments.length; _i++) {\n        initialArgs[_i - 1] = arguments[_i];\n      }\n      return function () {\n        var restArgs = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          restArgs[_i] = arguments[_i];\n        }\n        var all = initialArgs.concat(restArgs);\n        return fn.apply(null, all);\n      };\n    }\n    var never = constant(false);\n    var always = constant(true);\n\n    var never$1 = never;\n    var always$1 = always;\n    var none = function () {\n      return NONE;\n    };\n    var NONE = function () {\n      var eq = function (o) {\n        return o.isNone();\n      };\n      var call$$1 = function (thunk) {\n        return thunk();\n      };\n      var id = function (n) {\n        return n;\n      };\n      var noop$$1 = function () {\n      };\n      var nul = function () {\n        return null;\n      };\n      var undef = function () {\n        return undefined;\n      };\n      var me = {\n        fold: function (n, s) {\n          return n();\n        },\n        is: never$1,\n        isSome: never$1,\n        isNone: always$1,\n        getOr: id,\n        getOrThunk: call$$1,\n        getOrDie: function (msg) {\n          throw new Error(msg || 'error: getOrDie called on none.');\n        },\n        getOrNull: nul,\n        getOrUndefined: undef,\n        or: id,\n        orThunk: call$$1,\n        map: none,\n        ap: none,\n        each: noop$$1,\n        bind: none,\n        flatten: none,\n        exists: never$1,\n        forall: always$1,\n        filter: none,\n        equals: eq,\n        equals_: eq,\n        toArray: function () {\n          return [];\n        },\n        toString: constant('none()')\n      };\n      if (Object.freeze)\n        Object.freeze(me);\n      return me;\n    }();\n    var some = function (a) {\n      var constant_a = function () {\n        return a;\n      };\n      var self = function () {\n        return me;\n      };\n      var map = function (f) {\n        return some(f(a));\n      };\n      var bind = function (f) {\n        return f(a);\n      };\n      var me = {\n        fold: function (n, s) {\n          return s(a);\n        },\n        is: function (v) {\n          return a === v;\n        },\n        isSome: always$1,\n        isNone: never$1,\n        getOr: constant_a,\n        getOrThunk: constant_a,\n        getOrDie: constant_a,\n        getOrNull: constant_a,\n        getOrUndefined: constant_a,\n        or: self,\n        orThunk: self,\n        map: map,\n        ap: function (optfab) {\n          return optfab.fold(none, function (fab) {\n            return some(fab(a));\n          });\n        },\n        each: function (f) {\n          f(a);\n        },\n        bind: bind,\n        flatten: constant_a,\n        exists: bind,\n        forall: bind,\n        filter: function (f) {\n          return f(a) ? me : NONE;\n        },\n        equals: function (o) {\n          return o.is(a);\n        },\n        equals_: function (o, elementEq) {\n          return o.fold(never$1, function (b) {\n            return elementEq(a, b);\n          });\n        },\n        toArray: function () {\n          return [a];\n        },\n        toString: function () {\n          return 'some(' + a + ')';\n        }\n      };\n      return me;\n    };\n    var from = function (value) {\n      return value === null || value === undefined ? NONE : some(value);\n    };\n    var Option = {\n      some: some,\n      none: none,\n      from: from\n    };\n\n    var typeOf = function (x) {\n      if (x === null)\n        return 'null';\n      var t = typeof x;\n      if (t === 'object' && Array.prototype.isPrototypeOf(x))\n        return 'array';\n      if (t === 'object' && String.prototype.isPrototypeOf(x))\n        return 'string';\n      return t;\n    };\n    var isType = function (type) {\n      return function (value) {\n        return typeOf(value) === type;\n      };\n    };\n    var isFunction = isType('function');\n\n    var map = function (xs, f) {\n      var len = xs.length;\n      var r = new Array(len);\n      for (var i = 0; i < len; i++) {\n        var x = xs[i];\n        r[i] = f(x, i, xs);\n      }\n      return r;\n    };\n    var each = function (xs, f) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        f(x, i, xs);\n      }\n    };\n    var filter$1 = function (xs, pred) {\n      var r = [];\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        if (pred(x, i, xs)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    var slice = Array.prototype.slice;\n    var from$1 = isFunction(Array.from) ? Array.from : function (x) {\n      return slice.call(x);\n    };\n\n    var nu = function (baseFn) {\n      var data = Option.none();\n      var callbacks = [];\n      var map$$1 = function (f) {\n        return nu(function (nCallback) {\n          get(function (data) {\n            nCallback(f(data));\n          });\n        });\n      };\n      var get = function (nCallback) {\n        if (isReady())\n          call(nCallback);\n        else\n          callbacks.push(nCallback);\n      };\n      var set = function (x) {\n        data = Option.some(x);\n        run(callbacks);\n        callbacks = [];\n      };\n      var isReady = function () {\n        return data.isSome();\n      };\n      var run = function (cbs) {\n        each(cbs, call);\n      };\n      var call = function (cb) {\n        data.each(function (x) {\n          setTimeout(function () {\n            cb(x);\n          }, 0);\n        });\n      };\n      baseFn(set);\n      return {\n        get: get,\n        map: map$$1,\n        isReady: isReady\n      };\n    };\n    var pure$1 = function (a) {\n      return nu(function (callback) {\n        callback(a);\n      });\n    };\n    var LazyValue = {\n      nu: nu,\n      pure: pure$1\n    };\n\n    var bounce = function (f) {\n      return function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        var me = this;\n        setTimeout(function () {\n          f.apply(me, args);\n        }, 0);\n      };\n    };\n\n    var nu$1 = function (baseFn) {\n      var get = function (callback) {\n        baseFn(bounce(callback));\n      };\n      var map = function (fab) {\n        return nu$1(function (callback) {\n          get(function (a) {\n            var value = fab(a);\n            callback(value);\n          });\n        });\n      };\n      var bind = function (aFutureB) {\n        return nu$1(function (callback) {\n          get(function (a) {\n            aFutureB(a).get(callback);\n          });\n        });\n      };\n      var anonBind = function (futureB) {\n        return nu$1(function (callback) {\n          get(function (a) {\n            futureB.get(callback);\n          });\n        });\n      };\n      var toLazy = function () {\n        return LazyValue.nu(get);\n      };\n      var toCached = function () {\n        var cache = null;\n        return nu$1(function (callback) {\n          if (cache === null) {\n            cache = toLazy();\n          }\n          cache.get(callback);\n        });\n      };\n      return {\n        map: map,\n        bind: bind,\n        anonBind: anonBind,\n        toLazy: toLazy,\n        toCached: toCached,\n        get: get\n      };\n    };\n    var pure$2 = function (a) {\n      return nu$1(function (callback) {\n        callback(a);\n      });\n    };\n    var Future = {\n      nu: nu$1,\n      pure: pure$2\n    };\n\n    var par = function (asyncValues, nu) {\n      return nu(function (callback) {\n        var r = [];\n        var count = 0;\n        var cb = function (i) {\n          return function (value) {\n            r[i] = value;\n            count++;\n            if (count >= asyncValues.length) {\n              callback(r);\n            }\n          };\n        };\n        if (asyncValues.length === 0) {\n          callback([]);\n        } else {\n          each(asyncValues, function (asyncValue, i) {\n            asyncValue.get(cb(i));\n          });\n        }\n      });\n    };\n\n    var par$1 = function (futures) {\n      return par(futures, Future.nu);\n    };\n    var mapM = function (array, fn) {\n      var futures = map(array, fn);\n      return par$1(futures);\n    };\n\n    var pasteHtml$1 = function (editor, html, internalFlag) {\n      var internal = internalFlag ? internalFlag : InternalHtml.isMarked(html);\n      var args = ProcessFilters.process(editor, InternalHtml.unmark(html), internal);\n      if (args.cancelled === false) {\n        SmartPaste.insertContent(editor, args.content);\n      }\n    };\n    var pasteText = function (editor, text) {\n      text = editor.dom.encode(text).replace(/\\r\\n/g, '\\n');\n      text = Newlines.convert(text, editor.settings.forced_root_block, editor.settings.forced_root_block_attrs);\n      pasteHtml$1(editor, text, false);\n    };\n    var getDataTransferItems = function (dataTransfer) {\n      var items = {};\n      var mceInternalUrlPrefix = 'data:text/mce-internal,';\n      if (dataTransfer) {\n        if (dataTransfer.getData) {\n          var legacyText = dataTransfer.getData('Text');\n          if (legacyText && legacyText.length > 0) {\n            if (legacyText.indexOf(mceInternalUrlPrefix) === -1) {\n              items['text/plain'] = legacyText;\n            }\n          }\n        }\n        if (dataTransfer.types) {\n          for (var i = 0; i < dataTransfer.types.length; i++) {\n            var contentType = dataTransfer.types[i];\n            try {\n              items[contentType] = dataTransfer.getData(contentType);\n            } catch (ex) {\n              items[contentType] = '';\n            }\n          }\n        }\n      }\n      return items;\n    };\n    var getClipboardContent = function (editor, clipboardEvent) {\n      var content = getDataTransferItems(clipboardEvent.clipboardData || editor.getDoc().dataTransfer);\n      return Utils.isMsEdge() ? global$3.extend(content, { 'text/html': '' }) : content;\n    };\n    var hasContentType = function (clipboardContent, mimeType) {\n      return mimeType in clipboardContent && clipboardContent[mimeType].length > 0;\n    };\n    var hasHtmlOrText = function (content) {\n      return hasContentType(content, 'text/html') || hasContentType(content, 'text/plain');\n    };\n    var getBase64FromUri = function (uri) {\n      var idx;\n      idx = uri.indexOf(',');\n      if (idx !== -1) {\n        return uri.substr(idx + 1);\n      }\n      return null;\n    };\n    var isValidDataUriImage = function (settings, imgElm) {\n      return settings.images_dataimg_filter ? settings.images_dataimg_filter(imgElm) : true;\n    };\n    var extractFilename = function (editor, str) {\n      var m = str.match(/([\\s\\S]+?)\\.(?:jpeg|jpg|png|gif)$/i);\n      return m ? editor.dom.encode(m[1]) : null;\n    };\n    var uniqueId = Utils.createIdGenerator('mceclip');\n    var pasteImage = function (editor, imageItem) {\n      var base64 = getBase64FromUri(imageItem.uri);\n      var id = uniqueId();\n      var name$$1 = editor.settings.images_reuse_filename && imageItem.blob.name ? extractFilename(editor, imageItem.blob.name) : id;\n      var img = new Image();\n      img.src = imageItem.uri;\n      if (isValidDataUriImage(editor.settings, img)) {\n        var blobCache = editor.editorUpload.blobCache;\n        var blobInfo = void 0, existingBlobInfo = void 0;\n        existingBlobInfo = blobCache.findFirst(function (cachedBlobInfo) {\n          return cachedBlobInfo.base64() === base64;\n        });\n        if (!existingBlobInfo) {\n          blobInfo = blobCache.create(id, imageItem.blob, base64, name$$1);\n          blobCache.add(blobInfo);\n        } else {\n          blobInfo = existingBlobInfo;\n        }\n        pasteHtml$1(editor, '<img src=\"' + blobInfo.blobUri() + '\">', false);\n      } else {\n        pasteHtml$1(editor, '<img src=\"' + imageItem.uri + '\">', false);\n      }\n    };\n    var isClipboardEvent = function (event$$1) {\n      return event$$1.type === 'paste';\n    };\n    var readBlobsAsDataUris = function (items) {\n      return mapM(items, function (item) {\n        return Future.nu(function (resolve) {\n          var blob = item.getAsFile ? item.getAsFile() : item;\n          var reader = new window.FileReader();\n          reader.onload = function () {\n            resolve({\n              blob: blob,\n              uri: reader.result\n            });\n          };\n          reader.readAsDataURL(blob);\n        });\n      });\n    };\n    var getImagesFromDataTransfer = function (dataTransfer) {\n      var items = dataTransfer.items ? map(from$1(dataTransfer.items), function (item) {\n        return item.getAsFile();\n      }) : [];\n      var files = dataTransfer.files ? from$1(dataTransfer.files) : [];\n      var images = filter$1(items.length > 0 ? items : files, function (file) {\n        return /^image\\/(jpeg|png|gif|bmp)$/.test(file.type);\n      });\n      return images;\n    };\n    var pasteImageData = function (editor, e, rng) {\n      var dataTransfer = isClipboardEvent(e) ? e.clipboardData : e.dataTransfer;\n      if (editor.settings.paste_data_images && dataTransfer) {\n        var images = getImagesFromDataTransfer(dataTransfer);\n        if (images.length > 0) {\n          e.preventDefault();\n          readBlobsAsDataUris(images).get(function (blobResults) {\n            if (rng) {\n              editor.selection.setRng(rng);\n            }\n            each(blobResults, function (result) {\n              pasteImage(editor, result);\n            });\n          });\n          return true;\n        }\n      }\n      return false;\n    };\n    var isBrokenAndroidClipboardEvent = function (e) {\n      var clipboardData = e.clipboardData;\n      return navigator.userAgent.indexOf('Android') !== -1 && clipboardData && clipboardData.items && clipboardData.items.length === 0;\n    };\n    var isKeyboardPasteEvent = function (e) {\n      return global$4.metaKeyPressed(e) && e.keyCode === 86 || e.shiftKey && e.keyCode === 45;\n    };\n    var registerEventHandlers = function (editor, pasteBin, pasteFormat) {\n      var keyboardPasteTimeStamp = 0;\n      var keyboardPastePlainTextState;\n      editor.on('keydown', function (e) {\n        function removePasteBinOnKeyUp(e) {\n          if (isKeyboardPasteEvent(e) && !e.isDefaultPrevented()) {\n            pasteBin.remove();\n          }\n        }\n        if (isKeyboardPasteEvent(e) && !e.isDefaultPrevented()) {\n          keyboardPastePlainTextState = e.shiftKey && e.keyCode === 86;\n          if (keyboardPastePlainTextState && global$1.webkit && navigator.userAgent.indexOf('Version/') !== -1) {\n            return;\n          }\n          e.stopImmediatePropagation();\n          keyboardPasteTimeStamp = new Date().getTime();\n          if (global$1.ie && keyboardPastePlainTextState) {\n            e.preventDefault();\n            Events.firePaste(editor, true);\n            return;\n          }\n          pasteBin.remove();\n          pasteBin.create();\n          editor.once('keyup', removePasteBinOnKeyUp);\n          editor.once('paste', function () {\n            editor.off('keyup', removePasteBinOnKeyUp);\n          });\n        }\n      });\n      function insertClipboardContent(clipboardContent, isKeyBoardPaste, plainTextMode, internal) {\n        var content, isPlainTextHtml;\n        if (hasContentType(clipboardContent, 'text/html')) {\n          content = clipboardContent['text/html'];\n        } else {\n          content = pasteBin.getHtml();\n          internal = internal ? internal : InternalHtml.isMarked(content);\n          if (pasteBin.isDefaultContent(content)) {\n            plainTextMode = true;\n          }\n        }\n        content = Utils.trimHtml(content);\n        pasteBin.remove();\n        isPlainTextHtml = internal === false && Newlines.isPlainText(content);\n        if (!content.length || isPlainTextHtml) {\n          plainTextMode = true;\n        }\n        if (plainTextMode) {\n          if (hasContentType(clipboardContent, 'text/plain') && isPlainTextHtml) {\n            content = clipboardContent['text/plain'];\n          } else {\n            content = Utils.innerText(content);\n          }\n        }\n        if (pasteBin.isDefaultContent(content)) {\n          if (!isKeyBoardPaste) {\n            editor.windowManager.alert('Please use Ctrl+V/Cmd+V keyboard shortcuts to paste contents.');\n          }\n          return;\n        }\n        if (plainTextMode) {\n          pasteText(editor, content);\n        } else {\n          pasteHtml$1(editor, content, internal);\n        }\n      }\n      var getLastRng = function () {\n        return pasteBin.getLastRng() || editor.selection.getRng();\n      };\n      editor.on('paste', function (e) {\n        var clipboardTimer = new Date().getTime();\n        var clipboardContent = getClipboardContent(editor, e);\n        var clipboardDelay = new Date().getTime() - clipboardTimer;\n        var isKeyBoardPaste = new Date().getTime() - keyboardPasteTimeStamp - clipboardDelay < 1000;\n        var plainTextMode = pasteFormat.get() === 'text' || keyboardPastePlainTextState;\n        var internal = hasContentType(clipboardContent, InternalHtml.internalHtmlMime());\n        keyboardPastePlainTextState = false;\n        if (e.isDefaultPrevented() || isBrokenAndroidClipboardEvent(e)) {\n          pasteBin.remove();\n          return;\n        }\n        if (!hasHtmlOrText(clipboardContent) && pasteImageData(editor, e, getLastRng())) {\n          pasteBin.remove();\n          return;\n        }\n        if (!isKeyBoardPaste) {\n          e.preventDefault();\n        }\n        if (global$1.ie && (!isKeyBoardPaste || e.ieFake) && !hasContentType(clipboardContent, 'text/html')) {\n          pasteBin.create();\n          editor.dom.bind(pasteBin.getEl(), 'paste', function (e) {\n            e.stopPropagation();\n          });\n          editor.getDoc().execCommand('Paste', false, null);\n          clipboardContent['text/html'] = pasteBin.getHtml();\n        }\n        if (hasContentType(clipboardContent, 'text/html')) {\n          e.preventDefault();\n          if (!internal) {\n            internal = InternalHtml.isMarked(clipboardContent['text/html']);\n          }\n          insertClipboardContent(clipboardContent, isKeyBoardPaste, plainTextMode, internal);\n        } else {\n          global$2.setEditorTimeout(editor, function () {\n            insertClipboardContent(clipboardContent, isKeyBoardPaste, plainTextMode, internal);\n          }, 0);\n        }\n      });\n    };\n    var registerEventsAndFilters = function (editor, pasteBin, pasteFormat) {\n      registerEventHandlers(editor, pasteBin, pasteFormat);\n      var src;\n      editor.parser.addNodeFilter('img', function (nodes, name$$1, args) {\n        var isPasteInsert = function (args) {\n          return args.data && args.data.paste === true;\n        };\n        var remove = function (node) {\n          if (!node.attr('data-mce-object') && src !== global$1.transparentSrc) {\n            node.remove();\n          }\n        };\n        var isWebKitFakeUrl = function (src) {\n          return src.indexOf('webkit-fake-url') === 0;\n        };\n        var isDataUri = function (src) {\n          return src.indexOf('data:') === 0;\n        };\n        if (!editor.settings.paste_data_images && isPasteInsert(args)) {\n          var i = nodes.length;\n          while (i--) {\n            src = nodes[i].attributes.map.src;\n            if (!src) {\n              continue;\n            }\n            if (isWebKitFakeUrl(src)) {\n              remove(nodes[i]);\n            } else if (!editor.settings.allow_html_data_urls && isDataUri(src)) {\n              remove(nodes[i]);\n            }\n          }\n        }\n      });\n    };\n\n    var getPasteBinParent = function (editor) {\n      return global$1.ie && editor.inline ? document.body : editor.getBody();\n    };\n    var isExternalPasteBin = function (editor) {\n      return getPasteBinParent(editor) !== editor.getBody();\n    };\n    var delegatePasteEvents = function (editor, pasteBinElm, pasteBinDefaultContent) {\n      if (isExternalPasteBin(editor)) {\n        editor.dom.bind(pasteBinElm, 'paste keyup', function (e) {\n          if (!isDefault(editor, pasteBinDefaultContent)) {\n            editor.fire('paste');\n          }\n        });\n      }\n    };\n    var create = function (editor, lastRngCell, pasteBinDefaultContent) {\n      var dom = editor.dom, body = editor.getBody();\n      var pasteBinElm;\n      lastRngCell.set(editor.selection.getRng());\n      pasteBinElm = editor.dom.add(getPasteBinParent(editor), 'div', {\n        'id': 'mcepastebin',\n        'class': 'mce-pastebin',\n        'contentEditable': true,\n        'data-mce-bogus': 'all',\n        'style': 'position: fixed; top: 50%; width: 10px; height: 10px; overflow: hidden; opacity: 0'\n      }, pasteBinDefaultContent);\n      if (global$1.ie || global$1.gecko) {\n        dom.setStyle(pasteBinElm, 'left', dom.getStyle(body, 'direction', true) === 'rtl' ? 65535 : -65535);\n      }\n      dom.bind(pasteBinElm, 'beforedeactivate focusin focusout', function (e) {\n        e.stopPropagation();\n      });\n      delegatePasteEvents(editor, pasteBinElm, pasteBinDefaultContent);\n      pasteBinElm.focus();\n      editor.selection.select(pasteBinElm, true);\n    };\n    var remove = function (editor, lastRngCell) {\n      if (getEl(editor)) {\n        var pasteBinClone = void 0;\n        var lastRng = lastRngCell.get();\n        while (pasteBinClone = editor.dom.get('mcepastebin')) {\n          editor.dom.remove(pasteBinClone);\n          editor.dom.unbind(pasteBinClone);\n        }\n        if (lastRng) {\n          editor.selection.setRng(lastRng);\n        }\n      }\n      lastRngCell.set(null);\n    };\n    var getEl = function (editor) {\n      return editor.dom.get('mcepastebin');\n    };\n    var getHtml = function (editor) {\n      var pasteBinElm, pasteBinClones, i, dirtyWrappers, cleanWrapper;\n      var copyAndRemove = function (toElm, fromElm) {\n        toElm.appendChild(fromElm);\n        editor.dom.remove(fromElm, true);\n      };\n      pasteBinClones = global$3.grep(getPasteBinParent(editor).childNodes, function (elm) {\n        return elm.id === 'mcepastebin';\n      });\n      pasteBinElm = pasteBinClones.shift();\n      global$3.each(pasteBinClones, function (pasteBinClone) {\n        copyAndRemove(pasteBinElm, pasteBinClone);\n      });\n      dirtyWrappers = editor.dom.select('div[id=mcepastebin]', pasteBinElm);\n      for (i = dirtyWrappers.length - 1; i >= 0; i--) {\n        cleanWrapper = editor.dom.create('div');\n        pasteBinElm.insertBefore(cleanWrapper, dirtyWrappers[i]);\n        copyAndRemove(cleanWrapper, dirtyWrappers[i]);\n      }\n      return pasteBinElm ? pasteBinElm.innerHTML : '';\n    };\n    var getLastRng = function (lastRng) {\n      return lastRng.get();\n    };\n    var isDefaultContent = function (pasteBinDefaultContent, content) {\n      return content === pasteBinDefaultContent;\n    };\n    var isPasteBin = function (elm) {\n      return elm && elm.id === 'mcepastebin';\n    };\n    var isDefault = function (editor, pasteBinDefaultContent) {\n      var pasteBinElm = getEl(editor);\n      return isPasteBin(pasteBinElm) && isDefaultContent(pasteBinDefaultContent, pasteBinElm.innerHTML);\n    };\n    var PasteBin = function (editor) {\n      var lastRng = Cell(null);\n      var pasteBinDefaultContent = '%MCEPASTEBIN%';\n      return {\n        create: function () {\n          return create(editor, lastRng, pasteBinDefaultContent);\n        },\n        remove: function () {\n          return remove(editor, lastRng);\n        },\n        getEl: function () {\n          return getEl(editor);\n        },\n        getHtml: function () {\n          return getHtml(editor);\n        },\n        getLastRng: function () {\n          return getLastRng(lastRng);\n        },\n        isDefault: function () {\n          return isDefault(editor, pasteBinDefaultContent);\n        },\n        isDefaultContent: function (content) {\n          return isDefaultContent(pasteBinDefaultContent, content);\n        }\n      };\n    };\n\n    var Clipboard = function (editor, pasteFormat) {\n      var pasteBin = PasteBin(editor);\n      editor.on('preInit', function () {\n        return registerEventsAndFilters(editor, pasteBin, pasteFormat);\n      });\n      return {\n        pasteFormat: pasteFormat,\n        pasteHtml: function (html, internalFlag) {\n          return pasteHtml$1(editor, html, internalFlag);\n        },\n        pasteText: function (text) {\n          return pasteText(editor, text);\n        },\n        pasteImageData: function (e, rng) {\n          return pasteImageData(editor, e, rng);\n        },\n        getDataTransferItems: getDataTransferItems,\n        hasHtmlOrText: hasHtmlOrText,\n        hasContentType: hasContentType\n      };\n    };\n\n    var noop$1 = function () {\n    };\n    var hasWorkingClipboardApi = function (clipboardData) {\n      return global$1.iOS === false && clipboardData !== undefined && typeof clipboardData.setData === 'function' && Utils.isMsEdge() !== true;\n    };\n    var setHtml5Clipboard = function (clipboardData, html, text) {\n      if (hasWorkingClipboardApi(clipboardData)) {\n        try {\n          clipboardData.clearData();\n          clipboardData.setData('text/html', html);\n          clipboardData.setData('text/plain', text);\n          clipboardData.setData(InternalHtml.internalHtmlMime(), html);\n          return true;\n        } catch (e) {\n          return false;\n        }\n      } else {\n        return false;\n      }\n    };\n    var setClipboardData = function (evt, data, fallback, done) {\n      if (setHtml5Clipboard(evt.clipboardData, data.html, data.text)) {\n        evt.preventDefault();\n        done();\n      } else {\n        fallback(data.html, done);\n      }\n    };\n    var fallback = function (editor) {\n      return function (html, done) {\n        var markedHtml = InternalHtml.mark(html);\n        var outer = editor.dom.create('div', {\n          'contenteditable': 'false',\n          'data-mce-bogus': 'all'\n        });\n        var inner = editor.dom.create('div', { contenteditable: 'true' }, markedHtml);\n        editor.dom.setStyles(outer, {\n          position: 'fixed',\n          top: '0',\n          left: '-3000px',\n          width: '1000px',\n          overflow: 'hidden'\n        });\n        outer.appendChild(inner);\n        editor.dom.add(editor.getBody(), outer);\n        var range = editor.selection.getRng();\n        inner.focus();\n        var offscreenRange = editor.dom.createRng();\n        offscreenRange.selectNodeContents(inner);\n        editor.selection.setRng(offscreenRange);\n        setTimeout(function () {\n          editor.selection.setRng(range);\n          outer.parentNode.removeChild(outer);\n          done();\n        }, 0);\n      };\n    };\n    var getData = function (editor) {\n      return {\n        html: editor.selection.getContent({ contextual: true }),\n        text: editor.selection.getContent({ format: 'text' })\n      };\n    };\n    var isTableSelection = function (editor) {\n      return !!editor.dom.getParent(editor.selection.getStart(), 'td[data-mce-selected],th[data-mce-selected]', editor.getBody());\n    };\n    var hasSelectedContent = function (editor) {\n      return !editor.selection.isCollapsed() || isTableSelection(editor);\n    };\n    var cut = function (editor) {\n      return function (evt) {\n        if (hasSelectedContent(editor)) {\n          setClipboardData(evt, getData(editor), fallback(editor), function () {\n            setTimeout(function () {\n              editor.execCommand('Delete');\n            }, 0);\n          });\n        }\n      };\n    };\n    var copy = function (editor) {\n      return function (evt) {\n        if (hasSelectedContent(editor)) {\n          setClipboardData(evt, getData(editor), fallback(editor), noop$1);\n        }\n      };\n    };\n    var register$1 = function (editor) {\n      editor.on('cut', cut(editor));\n      editor.on('copy', copy(editor));\n    };\n    var CutCopy = { register: register$1 };\n\n    var global$a = tinymce.util.Tools.resolve('tinymce.dom.RangeUtils');\n\n    var getCaretRangeFromEvent = function (editor, e) {\n      return global$a.getCaretRangeFromPoint(e.clientX, e.clientY, editor.getDoc());\n    };\n    var isPlainTextFileUrl = function (content) {\n      var plainTextContent = content['text/plain'];\n      return plainTextContent ? plainTextContent.indexOf('file://') === 0 : false;\n    };\n    var setFocusedRange = function (editor, rng) {\n      editor.focus();\n      editor.selection.setRng(rng);\n    };\n    var setup = function (editor, clipboard, draggingInternallyState) {\n      if (Settings.shouldBlockDrop(editor)) {\n        editor.on('dragend dragover draggesture dragdrop drop drag', function (e) {\n          e.preventDefault();\n          e.stopPropagation();\n        });\n      }\n      if (!Settings.shouldPasteDataImages(editor)) {\n        editor.on('drop', function (e) {\n          var dataTransfer = e.dataTransfer;\n          if (dataTransfer && dataTransfer.files && dataTransfer.files.length > 0) {\n            e.preventDefault();\n          }\n        });\n      }\n      editor.on('drop', function (e) {\n        var dropContent, rng;\n        rng = getCaretRangeFromEvent(editor, e);\n        if (e.isDefaultPrevented() || draggingInternallyState.get()) {\n          return;\n        }\n        dropContent = clipboard.getDataTransferItems(e.dataTransfer);\n        var internal = clipboard.hasContentType(dropContent, InternalHtml.internalHtmlMime());\n        if ((!clipboard.hasHtmlOrText(dropContent) || isPlainTextFileUrl(dropContent)) && clipboard.pasteImageData(e, rng)) {\n          return;\n        }\n        if (rng && Settings.shouldFilterDrop(editor)) {\n          var content_1 = dropContent['mce-internal'] || dropContent['text/html'] || dropContent['text/plain'];\n          if (content_1) {\n            e.preventDefault();\n            global$2.setEditorTimeout(editor, function () {\n              editor.undoManager.transact(function () {\n                if (dropContent['mce-internal']) {\n                  editor.execCommand('Delete');\n                }\n                setFocusedRange(editor, rng);\n                content_1 = Utils.trimHtml(content_1);\n                if (!dropContent['text/html']) {\n                  clipboard.pasteText(content_1);\n                } else {\n                  clipboard.pasteHtml(content_1, internal);\n                }\n              });\n            });\n          }\n        }\n      });\n      editor.on('dragstart', function (e) {\n        draggingInternallyState.set(true);\n      });\n      editor.on('dragover dragend', function (e) {\n        if (Settings.shouldPasteDataImages(editor) && draggingInternallyState.get() === false) {\n          e.preventDefault();\n          setFocusedRange(editor, getCaretRangeFromEvent(editor, e));\n        }\n        if (e.type === 'dragend') {\n          draggingInternallyState.set(false);\n        }\n      });\n    };\n    var DragDrop = { setup: setup };\n\n    var setup$1 = function (editor) {\n      var plugin = editor.plugins.paste;\n      var preProcess = Settings.getPreProcess(editor);\n      if (preProcess) {\n        editor.on('PastePreProcess', function (e) {\n          preProcess.call(plugin, plugin, e);\n        });\n      }\n      var postProcess = Settings.getPostProcess(editor);\n      if (postProcess) {\n        editor.on('PastePostProcess', function (e) {\n          postProcess.call(plugin, plugin, e);\n        });\n      }\n    };\n    var PrePostProcess = { setup: setup$1 };\n\n    function addPreProcessFilter(editor, filterFunc) {\n      editor.on('PastePreProcess', function (e) {\n        e.content = filterFunc(editor, e.content, e.internal, e.wordContent);\n      });\n    }\n    function addPostProcessFilter(editor, filterFunc) {\n      editor.on('PastePostProcess', function (e) {\n        filterFunc(editor, e.node);\n      });\n    }\n    function removeExplorerBrElementsAfterBlocks(editor, html) {\n      if (!WordFilter.isWordContent(html)) {\n        return html;\n      }\n      var blockElements = [];\n      global$3.each(editor.schema.getBlockElements(), function (block, blockName) {\n        blockElements.push(blockName);\n      });\n      var explorerBlocksRegExp = new RegExp('(?:<br>&nbsp;[\\\\s\\\\r\\\\n]+|<br>)*(<\\\\/?(' + blockElements.join('|') + ')[^>]*>)(?:<br>&nbsp;[\\\\s\\\\r\\\\n]+|<br>)*', 'g');\n      html = Utils.filter(html, [[\n          explorerBlocksRegExp,\n          '$1'\n        ]]);\n      html = Utils.filter(html, [\n        [\n          /<br><br>/g,\n          '<BR><BR>'\n        ],\n        [\n          /<br>/g,\n          ' '\n        ],\n        [\n          /<BR><BR>/g,\n          '<br>'\n        ]\n      ]);\n      return html;\n    }\n    function removeWebKitStyles(editor, content, internal, isWordHtml) {\n      if (isWordHtml || internal) {\n        return content;\n      }\n      var webKitStylesSetting = Settings.getWebkitStyles(editor);\n      var webKitStyles;\n      if (Settings.shouldRemoveWebKitStyles(editor) === false || webKitStylesSetting === 'all') {\n        return content;\n      }\n      if (webKitStylesSetting) {\n        webKitStyles = webKitStylesSetting.split(/[, ]/);\n      }\n      if (webKitStyles) {\n        var dom_1 = editor.dom, node_1 = editor.selection.getNode();\n        content = content.replace(/(<[^>]+) style=\"([^\"]*)\"([^>]*>)/gi, function (all, before, value, after) {\n          var inputStyles = dom_1.parseStyle(dom_1.decode(value));\n          var outputStyles = {};\n          if (webKitStyles === 'none') {\n            return before + after;\n          }\n          for (var i = 0; i < webKitStyles.length; i++) {\n            var inputValue = inputStyles[webKitStyles[i]], currentValue = dom_1.getStyle(node_1, webKitStyles[i], true);\n            if (/color/.test(webKitStyles[i])) {\n              inputValue = dom_1.toHex(inputValue);\n              currentValue = dom_1.toHex(currentValue);\n            }\n            if (currentValue !== inputValue) {\n              outputStyles[webKitStyles[i]] = inputValue;\n            }\n          }\n          outputStyles = dom_1.serializeStyle(outputStyles, 'span');\n          if (outputStyles) {\n            return before + ' style=\"' + outputStyles + '\"' + after;\n          }\n          return before + after;\n        });\n      } else {\n        content = content.replace(/(<[^>]+) style=\"([^\"]*)\"([^>]*>)/gi, '$1$3');\n      }\n      content = content.replace(/(<[^>]+) data-mce-style=\"([^\"]+)\"([^>]*>)/gi, function (all, before, value, after) {\n        return before + ' style=\"' + value + '\"' + after;\n      });\n      return content;\n    }\n    function removeUnderlineAndFontInAnchor(editor, root) {\n      editor.$('a', root).find('font,u').each(function (i, node) {\n        editor.dom.remove(node, true);\n      });\n    }\n    var setup$2 = function (editor) {\n      if (global$1.webkit) {\n        addPreProcessFilter(editor, removeWebKitStyles);\n      }\n      if (global$1.ie) {\n        addPreProcessFilter(editor, removeExplorerBrElementsAfterBlocks);\n        addPostProcessFilter(editor, removeUnderlineAndFontInAnchor);\n      }\n    };\n    var Quirks = { setup: setup$2 };\n\n    var stateChange = function (editor, clipboard, e) {\n      var ctrl = e.control;\n      ctrl.active(clipboard.pasteFormat.get() === 'text');\n      editor.on('PastePlainTextToggle', function (e) {\n        ctrl.active(e.state);\n      });\n    };\n    var register$2 = function (editor, clipboard) {\n      var postRender = curry(stateChange, editor, clipboard);\n      editor.addButton('pastetext', {\n        active: false,\n        icon: 'pastetext',\n        tooltip: 'Paste as text',\n        cmd: 'mceTogglePlainTextPaste',\n        onPostRender: postRender\n      });\n      editor.addMenuItem('pastetext', {\n        text: 'Paste as text',\n        selectable: true,\n        active: clipboard.pasteFormat,\n        cmd: 'mceTogglePlainTextPaste',\n        onPostRender: postRender\n      });\n    };\n    var Buttons = { register: register$2 };\n\n    global.add('paste', function (editor) {\n      if (DetectProPlugin.hasProPlugin(editor) === false) {\n        var userIsInformedState = Cell(false);\n        var draggingInternallyState = Cell(false);\n        var pasteFormat = Cell(Settings.isPasteAsTextEnabled(editor) ? 'text' : 'html');\n        var clipboard = Clipboard(editor, pasteFormat);\n        var quirks = Quirks.setup(editor);\n        Buttons.register(editor, clipboard);\n        Commands.register(editor, clipboard, userIsInformedState);\n        PrePostProcess.setup(editor);\n        CutCopy.register(editor);\n        DragDrop.setup(editor, clipboard, draggingInternallyState);\n        return Api.get(clipboard, quirks);\n      }\n    });\n    function Plugin () {\n    }\n\n    return Plugin;\n\n}());\n})();\n\n}.call(window));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/tinymce/plugins/paste/plugin.js\n// module id = T8kY+RjKaz\n// module chunks = 2 3 28 35 44 54 73 85 102","/*\n * Copyright (C) 2015 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport React from 'react'\n\nexport default class ModalButtons extends React.Component {\n  static displayName = 'ModalButtons'\n\n  static defaultProps = {\n    className: 'ReactModal__Footer',\n    footerClassName: 'ReactModal__Footer-Actions'\n  }\n\n  render() {\n    return (\n      <div className={this.props.className}>\n        <div className={this.props.footerClassName}>{this.props.children}</div>\n      </div>\n    )\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/jsx/shared/modal-buttons.js","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"لا توجد تعيينات في هذه المجموعة\"}}},\"cy\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"Dim aseiniadau yn y grŵp hwn\"}}},\"da\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"Ingen opgaver i denne gruppe\"}}},\"da-x-k12\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"Ingen opgaver i denne gruppe\"}}},\"de\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"Keine Aufgabenliste in dieser Gruppe\"}}},\"el\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"Δεν υπάρχουν εργασίες σε αυτήν την ομάδα\"}}},\"en-AU\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"No assignments in this group\"}}},\"en-CA\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"No assignments in this group\"}}},\"en-GB\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"No assignments in this group\"}}},\"en-GB-x-lbs\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"No tasks in this group\"}}},\"en-GB-x-ukhe\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"No assignments in this group\"}}},\"es\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"No hay tareas en este grupo\"}}},\"fa\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"تکلیفی در این گروه موجود نیست\"}}},\"fr\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"Pas de tâches dans ce groupe\"}}},\"fr-CA\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"Pas de tâches dans ce groupe\"}}},\"he\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"אין משימות בקבוצה זו\"}}},\"ht\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"Pa gen sesyon nan gwoup sa a\"}}},\"hu\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"Ebben a csoportban nincsenek feladatok\"}}},\"hy\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"Այս խմբում հանձնարարություններ չկան\"}}},\"is\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"Engin verkefni í þessum hópi\"}}},\"it\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"Nessun compito in questo gruppo\"}}},\"ja\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"このグループには課題がありません\"}}},\"ko\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"이 그룹에 과제가 없음\"}}},\"mi\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"Kaore he whakataunga i roto i tēnei rōpū\"}}},\"nb\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"Ingen oppgaver i denne gruppen\"}}},\"nb-x-k12\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"Ingen oppgaver i denne gruppen\"}}},\"nl\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"Geen opdrachten in deze groep\"}}},\"nn\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"Ingen oppgåver i denne gruppa\"}}},\"pl\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"Brak zadań w tej grupie\"}}},\"pt\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"Não existem tarefas neste grupo\"}}},\"pt-BR\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"Nenhum teste neste grupo\"}}},\"ru\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"В данной группе нет заданий\"}}},\"sl\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"V tej skupini ni nalog.\"}}},\"sv\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"Inga uppgifter i den här gruppen\"}}},\"sv-x-k12\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"Inga uppgifter i den här gruppen\"}}},\"tr\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"Bu grup için ödev yok\"}}},\"uk\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"Завдання в цій групі відсутні\"}}},\"zh-Hans\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"此小组中无作业\"}}},\"zh-Hant\":{\"assignments\":{\"no_assignments_list_item\":{\"no_assignments_in_this_group\":\"此群組中無任務\"}}}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/assignments.no_assignments_list_item.js\n// module id = UC4TMtnO1k\n// module chunks = 54","#\n# Copyright (C) 2013 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  'Backbone'\n  'jst/assignments/DateAvailableColumnView'\n  'jquery'\n  'underscore'\n  '../../behaviors/tooltip'\n], (Backbone, template, $, _) ->\n\n  class DateAvailableColumnView extends Backbone.View\n    template: template\n\n    els:\n      '.vdd_tooltip_link': '$link'\n\n    afterRender: ->\n      @$link.tooltip\n        position: {my: 'center bottom', at: 'center top-10', collision: 'fit fit'},\n        tooltipClass: 'center bottom vertical',\n        content: -> $($(@).data('tooltipSelector')).html()\n\n    toJSON: ->\n      group = @model.defaultDates()\n\n      data = @model.toView()\n      data.defaultDates = group.toJSON()\n      data.canManage    = @canManage()\n      data.selector     = @model.get(\"id\") + \"_lock\"\n      data.linkHref     = @model.htmlUrl()\n      data.allDates     = @model.allDates()\n      data\n\n    canManage: ->\n      ENV.PERMISSIONS.manage\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/views/assignments/DateAvailableColumnView.coffee","#\n# Copyright (C) 2013 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  'underscore'\n  'Backbone'\n  '../util/UniqueDropdownCollection'\n], (_, Backbone, UniqueDropdownCollection) ->\n\n  class NeverDropCollection extends UniqueDropdownCollection\n\n    initialize: (records, options={}) ->\n      #need to pass in the assignments list\n      #and the assignment group id\n      {@assignments, @ag_id} = (options or {})\n      # set up options for UniqueDropdownCollection\n      options.possibleValues = (@assignments?.map (a) -> a.id) or []\n      options.propertyName = 'chosen_id'\n      options.model = Backbone.Model\n      super\n\n    updateAssignments: (assignments)->\n      @assignments = assignments\n\n    updateAssignmentGroupId: (id) ->\n      @ag_id = id\n\n    #pass the chosen_id to include in the output\n    #used to return a list of models to build the select\n    #this will retain the assignment order when rendering\n    #the <options>\n    toAssignments: (include_id) ->\n      # map assignments to retain order\n      models = @assignments.map (m) =>\n        available = @availableValues.find (am) ->\n          m.id == am.id\n        if available or (m.id == include_id)\n          return m.toView()\n      # compact results because we're mapping assignments :(\n      _.compact(models)\n\n    parse: (resp, opts) ->\n      coll = []\n      for drop, idx in resp\n        if assignment = @findAssignment(drop)\n          model_obj =\n            id: resp.id or idx\n            chosen: assignment.name()\n            chosen_id: assignment.get('id')\n            label_id: @ag_id or 'new'\n          coll.push model_obj\n      coll\n\n    findAssignment: (id) ->\n      @assignments.find (a) ->\n        a.id == id\n\n    #override default UniqueCollection logic for finding the next item\n    #returns a model from @availableValues\n    findNextAvailable: ->\n      # find the first assignment, in order, that has\n      # an `id` in @availableValues\n      next = @assignments.find (a) =>\n        @availableValues.find (av) ->\n          a.id == av.id\n      @availableValues.get next.id\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/collections/NeverDropCollection.coffee","#\n# Copyright (C) 2013 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  'Backbone'\n  'underscore'\n  'jquery'\n  '../models/AssignmentOverride'\n  '../models/Section'\n], (Backbone, _, $, AssignmentOverride, Section) ->\n\n  # Class Summary\n  #   Assignments can have overrides ie DueDates.\n  class AssignmentOverrideCollection extends Backbone.Collection\n\n    model: AssignmentOverride\n\n    courseSectionIDs: => @pluck 'course_section_id'\n\n    comparator: ( override ) -> override.id\n\n    getDefaultDueDate: =>\n      @detect ( override ) ->\n        override.getCourseSectionID() is Section.defaultDueDateSectionID\n\n    containsDefaultDueDate: =>\n      !!@getDefaultDueDate()\n\n    blank: =>\n      @select ( override ) -> override.isBlank()\n\n    toJSON: =>\n      json = @reject ( override ) -> override.representsDefaultDueDate()\n      _.map json, ( override ) -> override.toJSON().assignment_override\n\n    datesJSON: =>\n      @map ( override ) -> override.toJSON().assignment_override\n\n    isSimple: =>\n      _.difference(@courseSectionIDs(), [Section.defaultDueDateSectionID]).length == 0\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/collections/AssignmentOverrideCollection.coffee","/*** IMPORTS FROM imports-loader ***/\n(function() {\n\n(function () {\nvar textcolor = (function () {\n    'use strict';\n\n    var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var getCurrentColor = function (editor, format) {\n      var color;\n      editor.dom.getParents(editor.selection.getStart(), function (elm) {\n        var value;\n        if (value = elm.style[format === 'forecolor' ? 'color' : 'background-color']) {\n          color = color ? color : value;\n        }\n      });\n      return color;\n    };\n    var mapColors = function (colorMap) {\n      var i;\n      var colors = [];\n      for (i = 0; i < colorMap.length; i += 2) {\n        colors.push({\n          text: colorMap[i + 1],\n          color: '#' + colorMap[i]\n        });\n      }\n      return colors;\n    };\n    var applyFormat = function (editor, format, value) {\n      editor.undoManager.transact(function () {\n        editor.focus();\n        editor.formatter.apply(format, { value: value });\n        editor.nodeChanged();\n      });\n    };\n    var removeFormat = function (editor, format) {\n      editor.undoManager.transact(function () {\n        editor.focus();\n        editor.formatter.remove(format, { value: null }, null, true);\n        editor.nodeChanged();\n      });\n    };\n    var TextColor = {\n      getCurrentColor: getCurrentColor,\n      mapColors: mapColors,\n      applyFormat: applyFormat,\n      removeFormat: removeFormat\n    };\n\n    var register = function (editor) {\n      editor.addCommand('mceApplyTextcolor', function (format, value) {\n        TextColor.applyFormat(editor, format, value);\n      });\n      editor.addCommand('mceRemoveTextcolor', function (format) {\n        TextColor.removeFormat(editor, format);\n      });\n    };\n    var Commands = { register: register };\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    var defaultColorMap = [\n      '000000',\n      'Black',\n      '993300',\n      'Burnt orange',\n      '333300',\n      'Dark olive',\n      '003300',\n      'Dark green',\n      '003366',\n      'Dark azure',\n      '000080',\n      'Navy Blue',\n      '333399',\n      'Indigo',\n      '333333',\n      'Very dark gray',\n      '800000',\n      'Maroon',\n      'FF6600',\n      'Orange',\n      '808000',\n      'Olive',\n      '008000',\n      'Green',\n      '008080',\n      'Teal',\n      '0000FF',\n      'Blue',\n      '666699',\n      'Grayish blue',\n      '808080',\n      'Gray',\n      'FF0000',\n      'Red',\n      'FF9900',\n      'Amber',\n      '99CC00',\n      'Yellow green',\n      '339966',\n      'Sea green',\n      '33CCCC',\n      'Turquoise',\n      '3366FF',\n      'Royal blue',\n      '800080',\n      'Purple',\n      '999999',\n      'Medium gray',\n      'FF00FF',\n      'Magenta',\n      'FFCC00',\n      'Gold',\n      'FFFF00',\n      'Yellow',\n      '00FF00',\n      'Lime',\n      '00FFFF',\n      'Aqua',\n      '00CCFF',\n      'Sky blue',\n      '993366',\n      'Red violet',\n      'FFFFFF',\n      'White',\n      'FF99CC',\n      'Pink',\n      'FFCC99',\n      'Peach',\n      'FFFF99',\n      'Light yellow',\n      'CCFFCC',\n      'Pale green',\n      'CCFFFF',\n      'Pale cyan',\n      '99CCFF',\n      'Light sky blue',\n      'CC99FF',\n      'Plum'\n    ];\n    var getTextColorMap = function (editor) {\n      return editor.getParam('textcolor_map', defaultColorMap);\n    };\n    var getForeColorMap = function (editor) {\n      return editor.getParam('forecolor_map', getTextColorMap(editor));\n    };\n    var getBackColorMap = function (editor) {\n      return editor.getParam('backcolor_map', getTextColorMap(editor));\n    };\n    var getTextColorRows = function (editor) {\n      return editor.getParam('textcolor_rows', 5);\n    };\n    var getTextColorCols = function (editor) {\n      return editor.getParam('textcolor_cols', 8);\n    };\n    var getForeColorRows = function (editor) {\n      return editor.getParam('forecolor_rows', getTextColorRows(editor));\n    };\n    var getBackColorRows = function (editor) {\n      return editor.getParam('backcolor_rows', getTextColorRows(editor));\n    };\n    var getForeColorCols = function (editor) {\n      return editor.getParam('forecolor_cols', getTextColorCols(editor));\n    };\n    var getBackColorCols = function (editor) {\n      return editor.getParam('backcolor_cols', getTextColorCols(editor));\n    };\n    var getColorPickerCallback = function (editor) {\n      return editor.getParam('color_picker_callback', null);\n    };\n    var hasColorPicker = function (editor) {\n      return typeof getColorPickerCallback(editor) === 'function';\n    };\n    var Settings = {\n      getForeColorMap: getForeColorMap,\n      getBackColorMap: getBackColorMap,\n      getForeColorRows: getForeColorRows,\n      getBackColorRows: getBackColorRows,\n      getForeColorCols: getForeColorCols,\n      getBackColorCols: getBackColorCols,\n      getColorPickerCallback: getColorPickerCallback,\n      hasColorPicker: hasColorPicker\n    };\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.util.I18n');\n\n    var getHtml = function (cols, rows, colorMap, hasColorPicker) {\n      var colors, color, html, last, x, y, i, count = 0;\n      var id = global$1.DOM.uniqueId('mcearia');\n      var getColorCellHtml = function (color, title) {\n        var isNoColor = color === 'transparent';\n        return '<td class=\"mce-grid-cell' + (isNoColor ? ' mce-colorbtn-trans' : '') + '\">' + '<div id=\"' + id + '-' + count++ + '\"' + ' data-mce-color=\"' + (color ? color : '') + '\"' + ' role=\"option\"' + ' tabIndex=\"-1\"' + ' style=\"' + (color ? 'background-color: ' + color : '') + '\"' + ' title=\"' + global$3.translate(title) + '\">' + (isNoColor ? '&#215;' : '') + '</div>' + '</td>';\n      };\n      colors = TextColor.mapColors(colorMap);\n      colors.push({\n        text: global$3.translate('No color'),\n        color: 'transparent'\n      });\n      html = '<table class=\"mce-grid mce-grid-border mce-colorbutton-grid\" role=\"list\" cellspacing=\"0\"><tbody>';\n      last = colors.length - 1;\n      for (y = 0; y < rows; y++) {\n        html += '<tr>';\n        for (x = 0; x < cols; x++) {\n          i = y * cols + x;\n          if (i > last) {\n            html += '<td></td>';\n          } else {\n            color = colors[i];\n            html += getColorCellHtml(color.color, color.text);\n          }\n        }\n        html += '</tr>';\n      }\n      if (hasColorPicker) {\n        html += '<tr>' + '<td colspan=\"' + cols + '\" class=\"mce-custom-color-btn\">' + '<div id=\"' + id + '-c\" class=\"mce-widget mce-btn mce-btn-small mce-btn-flat\" ' + 'role=\"button\" tabindex=\"-1\" aria-labelledby=\"' + id + '-c\" style=\"width: 100%\">' + '<button type=\"button\" role=\"presentation\" tabindex=\"-1\">' + global$3.translate('Custom...') + '</button>' + '</div>' + '</td>' + '</tr>';\n        html += '<tr>';\n        for (x = 0; x < cols; x++) {\n          html += getColorCellHtml('', 'Custom color');\n        }\n        html += '</tr>';\n      }\n      html += '</tbody></table>';\n      return html;\n    };\n    var ColorPickerHtml = { getHtml: getHtml };\n\n    var setDivColor = function setDivColor(div, value) {\n      div.style.background = value;\n      div.setAttribute('data-mce-color', value);\n    };\n    var onButtonClick = function (editor) {\n      return function (e) {\n        var ctrl = e.control;\n        if (ctrl._color) {\n          editor.execCommand('mceApplyTextcolor', ctrl.settings.format, ctrl._color);\n        } else {\n          editor.execCommand('mceRemoveTextcolor', ctrl.settings.format);\n        }\n      };\n    };\n    var onPanelClick = function (editor, cols) {\n      return function (e) {\n        var buttonCtrl = this.parent();\n        var value;\n        var currentColor = TextColor.getCurrentColor(editor, buttonCtrl.settings.format);\n        var selectColor = function (value) {\n          editor.execCommand('mceApplyTextcolor', buttonCtrl.settings.format, value);\n          buttonCtrl.hidePanel();\n          buttonCtrl.color(value);\n        };\n        var resetColor = function () {\n          editor.execCommand('mceRemoveTextcolor', buttonCtrl.settings.format);\n          buttonCtrl.hidePanel();\n          buttonCtrl.resetColor();\n        };\n        if (global$1.DOM.getParent(e.target, '.mce-custom-color-btn')) {\n          buttonCtrl.hidePanel();\n          var colorPickerCallback = Settings.getColorPickerCallback(editor);\n          colorPickerCallback.call(editor, function (value) {\n            var tableElm = buttonCtrl.panel.getEl().getElementsByTagName('table')[0];\n            var customColorCells, div, i;\n            customColorCells = global$2.map(tableElm.rows[tableElm.rows.length - 1].childNodes, function (elm) {\n              return elm.firstChild;\n            });\n            for (i = 0; i < customColorCells.length; i++) {\n              div = customColorCells[i];\n              if (!div.getAttribute('data-mce-color')) {\n                break;\n              }\n            }\n            if (i === cols) {\n              for (i = 0; i < cols - 1; i++) {\n                setDivColor(customColorCells[i], customColorCells[i + 1].getAttribute('data-mce-color'));\n              }\n            }\n            setDivColor(div, value);\n            selectColor(value);\n          }, currentColor);\n        }\n        value = e.target.getAttribute('data-mce-color');\n        if (value) {\n          if (this.lastId) {\n            global$1.DOM.get(this.lastId).setAttribute('aria-selected', 'false');\n          }\n          e.target.setAttribute('aria-selected', true);\n          this.lastId = e.target.id;\n          if (value === 'transparent') {\n            resetColor();\n          } else {\n            selectColor(value);\n          }\n        } else if (value !== null) {\n          buttonCtrl.hidePanel();\n        }\n      };\n    };\n    var renderColorPicker = function (editor, foreColor) {\n      return function () {\n        var cols = foreColor ? Settings.getForeColorCols(editor) : Settings.getBackColorCols(editor);\n        var rows = foreColor ? Settings.getForeColorRows(editor) : Settings.getBackColorRows(editor);\n        var colorMap = foreColor ? Settings.getForeColorMap(editor) : Settings.getBackColorMap(editor);\n        var hasColorPicker = Settings.hasColorPicker(editor);\n        return ColorPickerHtml.getHtml(cols, rows, colorMap, hasColorPicker);\n      };\n    };\n    var register$1 = function (editor) {\n      editor.addButton('forecolor', {\n        type: 'colorbutton',\n        tooltip: 'Text color',\n        format: 'forecolor',\n        panel: {\n          role: 'application',\n          ariaRemember: true,\n          html: renderColorPicker(editor, true),\n          onclick: onPanelClick(editor, Settings.getForeColorCols(editor))\n        },\n        onclick: onButtonClick(editor)\n      });\n      editor.addButton('backcolor', {\n        type: 'colorbutton',\n        tooltip: 'Background color',\n        format: 'hilitecolor',\n        panel: {\n          role: 'application',\n          ariaRemember: true,\n          html: renderColorPicker(editor, false),\n          onclick: onPanelClick(editor, Settings.getBackColorCols(editor))\n        },\n        onclick: onButtonClick(editor)\n      });\n    };\n    var Buttons = { register: register$1 };\n\n    global.add('textcolor', function (editor) {\n      Commands.register(editor);\n      Buttons.register(editor);\n    });\n    function Plugin () {\n    }\n\n    return Plugin;\n\n}());\n})();\n\n}.call(window));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/tinymce/plugins/textcolor/plugin.js\n// module id = V9zCORm9sf\n// module chunks = 2 3 28 35 44 54 73 85 102","/*\n * Copyright (C) 2016 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport _ from 'underscore'\nimport $ from 'jquery'\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport Modal from './modal'\nimport ModalContent from './modal-content'\nimport I18n from 'i18n!external_tools'\nimport iframeAllowances from '../external_apps/lib/iframeAllowances'\n\nexport default class ExternalToolModalLauncher extends React.Component {\n  static propTypes = {\n    tool: PropTypes.object,\n    isOpen: PropTypes.bool.isRequired,\n    onRequestClose: PropTypes.func.isRequired,\n    contextType: PropTypes.string.isRequired,\n    contextId: PropTypes.number.isRequired,\n    launchType: PropTypes.string.isRequired\n  }\n\n  state = {\n    beforeExternalContentAlertClass: 'screenreader-only',\n    afterExternalContentAlertClass: 'screenreader-only',\n    modalLaunchStyle: {}\n  }\n\n  getDimensions = () => {\n    const dimensions = this.getLaunchDimensions()\n\n    return {\n      modalStyle: this.getModalStyle(dimensions),\n      modalBodyStyle: this.getModalBodyStyle(dimensions),\n      modalLaunchStyle: this.getModalLaunchStyle(dimensions)\n    }\n  }\n\n  componentDidMount() {\n    $(window).on('externalContentReady', this.onExternalToolCompleted)\n    $(window).on('externalContentCancel', this.onExternalToolCompleted)\n  }\n\n  componentWillUnmount() {\n    $(window).off('externalContentReady', this.onExternalToolCompleted)\n    $(window).off('externalContentCancel', this.onExternalToolCompleted)\n  }\n\n  onExternalToolCompleted = () => {\n    this.props.onRequestClose()\n  }\n\n  getIframeSrc = () => {\n    if (this.props.isOpen && this.props.tool) {\n      return [\n        '/',\n        this.props.contextType,\n        's/',\n        this.props.contextId,\n        '/external_tools/',\n        this.props.tool.definition_id,\n        '?display=borderless&launch_type=',\n        this.props.launchType\n      ].join('')\n    }\n  }\n\n  getLaunchDimensions = () => {\n    const dimensions = {\n      width: 700,\n      height: 700\n    }\n\n    if (\n      this.props.isOpen &&\n      this.props.tool &&\n      this.props.launchType &&\n      this.props.tool.placements &&\n      this.props.tool.placements[this.props.launchType]\n    ) {\n      const placement = this.props.tool.placements[this.props.launchType]\n\n      if (placement.launch_width) {\n        dimensions.width = placement.launch_width\n      }\n\n      if (placement.launch_height) {\n        dimensions.height = placement.launch_height\n      }\n    }\n\n    return dimensions\n  }\n\n  getModalLaunchStyle = dimensions => ({\n    ...dimensions,\n    border: 'none'\n  })\n\n  getModalBodyStyle = dimensions => ({\n    ...dimensions,\n    padding: 0,\n    display: 'flex',\n    flexDirection: 'column'\n  })\n\n  getModalStyle = dimensions => ({\n    width: dimensions.width\n  })\n\n  handleAlertBlur = event => {\n    const newState = {\n      modalLaunchStyle: {\n        border: 'none'\n      }\n    }\n    if (event.target.className.search('before') > -1) {\n      newState.beforeExternalContentAlertClass = 'screenreader-only'\n    } else if (event.target.className.search('after') > -1) {\n      newState.afterExternalContentAlertClass = 'screenreader-only'\n    }\n    this.setState(newState)\n  }\n\n  handleAlertFocus = event => {\n    const newState = {\n      modalLaunchStyle: {\n        width: this.iframe.offsetWidth - 4,\n        border: '2px solid #008EE2'\n      }\n    }\n    if (event.target.className.search('before') > -1) {\n      newState.beforeExternalContentAlertClass = ''\n    } else if (event.target.className.search('after') > -1) {\n      newState.afterExternalContentAlertClass = ''\n    }\n    this.setState(newState)\n  }\n\n  onAfterOpen = () => {\n    if (this.iframe) {\n      this.iframe.setAttribute('allow', iframeAllowances())\n    }\n  }\n\n  render() {\n    const beforeAlertStyles = `before_external_content_info_alert ${\n      this.state.beforeExternalContentAlertClass\n    }`\n    const afterAlertStyles = `after_external_content_info_alert ${\n      this.state.afterExternalContentAlertClass\n    }`\n    const styles = this.getDimensions()\n\n    styles.modalLaunchStyle = {...styles.modalLaunchStyle, ...this.state.modalLaunchStyle}\n\n    return (\n      <Modal\n        className=\"ReactModal__Content--canvas\"\n        contentLabel={I18n.t('Launch External Tool')}\n        overlayClassName=\"ReactModal__Overlay--canvas\"\n        style={styles.modalStyle}\n        isOpen={this.props.isOpen}\n        onRequestClose={this.props.onRequestClose}\n        onAfterOpen={this.onAfterOpen}\n        title={this.props.title}\n      >\n        <ModalContent style={styles.modalBodyStyle}>\n          <div\n            onFocus={this.handleAlertFocus}\n            onBlur={this.handleAlertBlur}\n            className={beforeAlertStyles}\n            tabIndex=\"0\"\n            ref={e => {\n              this.beforeAlert = e\n            }}\n          >\n            <div className=\"ic-flash-info\">\n              <div className=\"ic-flash__icon\" aria-hidden=\"true\">\n                <i className=\"icon-info\" />\n              </div>\n              {I18n.t('The following content is partner provided')}\n            </div>\n          </div>\n          <iframe\n            src={this.getIframeSrc()}\n            style={styles.modalLaunchStyle}\n            tabIndex={0}\n            ref={e => {\n              this.iframe = e\n            }}\n          />\n          <div\n            onFocus={this.handleAlertFocus}\n            onBlur={this.handleAlertBlur}\n            className={afterAlertStyles}\n            tabIndex=\"0\"\n            ref={e => {\n              this.afterAlert = e\n            }}\n          >\n            <div className=\"ic-flash-info\">\n              <div className=\"ic-flash__icon\" aria-hidden=\"true\">\n                <i className=\"icon-info\" />\n              </div>\n              {I18n.t('The preceding content is partner provided')}\n            </div>\n          </div>\n        </ModalContent>\n      </Modal>\n    )\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/jsx/shared/ExternalToolModalLauncher.js","#\n# Copyright (C) 2013 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine ['underscore'], (_) ->\n  class TurnitinSettings\n\n    constructor: (options = {}) ->\n      @originalityReportVisibility = options.originality_report_visibility || 'immediate'\n      @sPaperCheck = @normalizeBoolean(options.s_paper_check)\n      @internetCheck = @normalizeBoolean(options.internet_check)\n      @excludeBiblio = @normalizeBoolean(options.exclude_biblio)\n      @excludeQuoted = @normalizeBoolean(options.exclude_quoted)\n      @journalCheck = @normalizeBoolean(options.journal_check)\n      @excludeSmallMatchesType = options.exclude_small_matches_type\n      @excludeSmallMatchesValue = options.exclude_small_matches_value || 0\n      @submitPapersTo =\n        if options.hasOwnProperty('submit_papers_to') then @normalizeBoolean(options.submit_papers_to) else true\n\n    words: =>\n      if @excludeSmallMatchesType == 'words' then @excludeSmallMatchesValue else \"\"\n\n    percent: =>\n      if @excludeSmallMatchesType == 'percent' then @excludeSmallMatchesValue else \"\"\n\n    toJSON: =>\n      s_paper_check: @sPaperCheck\n      originality_report_visibility: @originalityReportVisibility\n      internet_check: @internetCheck\n      exclude_biblio: @excludeBiblio\n      exclude_quoted: @excludeQuoted\n      journal_check: @journalCheck\n      exclude_small_matches_type: @excludeSmallMatchesType\n      exclude_small_matches_value: @excludeSmallMatchesValue\n      submit_papers_to: @submitPapersTo\n\n    excludesSmallMatches: =>\n      !!@excludeSmallMatchesType?\n\n    present: =>\n      json = {}\n      for own key,value of this\n        json[key] = value\n      json.excludesSmallMatches = @excludesSmallMatches()\n      json.words = @words()\n      json.percent = @percent()\n      json\n\n    normalizeBoolean: (value) =>\n      _.contains([\"1\", true, \"true\", 1], value)\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/models/TurnitinSettings.coffee","\n    define(['i18nObj', 'translations/spinner', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('spinner')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?spinner!./public/javascripts/dummyI18nResource.js\n// module id = VxSKcI8u9p\n// module chunks = 54","/*\n * Copyright (C) 2015 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport _ from 'underscore';\nimport $ from 'jquery';\nimport tz from 'timezone';\nimport 'jquery.instructure_date_and_time';\n\nconst DateHelper = {\n  parseDates (object, datesToParse) {\n    _.each(datesToParse, (dateString) => {\n      const propertyExists = !_.isUndefined(object[dateString]);\n      if (propertyExists) object[dateString] = tz.parse(object[dateString]);\n    });\n    return object;\n  },\n\n  formatDatetimeForDisplay (date, format = 'medium') {\n    return $.datetimeString(date, { format, timezone: ENV.CONTEXT_TIMEZONE });\n  },\n\n  formatDateForDisplay (date) {\n    return $.dateString(date, { format: 'medium', timezone: ENV.CONTEXT_TIMEZONE });\n  },\n\n  isMidnight (date) {\n    return tz.isMidnight(date);\n  }\n};\n\nexport default DateHelper;\n\n\n\n// WEBPACK FOOTER //\n// ./app/jsx/shared/helpers/dateHelper.js","#\n# Copyright (C) 2013 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  'i18n!publish_btn_module'\n  'jquery'\n  '../fn/preventDefault'\n  'Backbone'\n  'str/htmlEscape'\n  'jquery.instructure_forms'\n], (I18n, $, preventDefault, Backbone, htmlEscape) ->\n\n  class PublishButton extends Backbone.View\n    disabledClass: 'disabled'\n    publishClass: 'btn-publish'\n    publishedClass: 'btn-published'\n    unpublishClass: 'btn-unpublish'\n\n    # This value allows the text to include the item title\n    @optionProperty 'title'\n\n    # These values allow the default text to be overridden if necessary\n    @optionProperty 'publishText'\n    @optionProperty 'unpublishText'\n\n    # This indicates that the button is disabled specifically because it is\n    # associated with a moderated assignment that the current user does not\n    # have the Select Final Grade permission.\n    @optionProperty 'disabledForModeration'\n\n    tagName:   'button'\n    className: 'btn'\n\n    events: {'click', 'hover'}\n\n    els:\n      'i':             '$icon'\n      '.publish-text': '$text'\n\n    initialize: ->\n      super\n      @model?.on 'change:unpublishable', =>\n        @disable() if !@model.get('unpublishable') && @model.get('published')\n\n    setElement: ->\n      super\n      @$el.attr 'data-tooltip', ''\n      @disable() if !@model.get('unpublishable') && @model.get('published')\n\n    # events\n\n    hover: ({type}) ->\n      if type is 'mouseenter'\n        return if @keepState or @isPublish() or @isDisabled()\n        @renderUnpublish()\n        @keepState = true\n      else\n        @keepState = false\n        @renderPublished() unless @isPublish() or @isDisabled()\n\n    click: (event) ->\n      event.preventDefault()\n      event.stopPropagation()\n      return if @isDisabled()\n      @keepState = true\n      if @isPublish()\n        @publish()\n      else if @isUnpublish() or @isPublished()\n        @unpublish()\n\n    addAriaLabel: (label) ->\n      $label = @$el.find('span.screenreader-only.accessible_label')\n      $label = $('<span class=\"screenreader-only accessible_label\"></span>').appendTo(@$el) unless $label.length\n\n      $label.text label\n      @$el.attr 'aria-label', label\n\n    setFocusToElement: ->\n      @$el.focus()\n\n    # calling publish/unpublish on the model expects a deferred object\n\n    publish: (event) ->\n      @renderPublishing()\n      @model.publish().always =>\n        @trigger(\"publish\")\n        @enable()\n        @render()\n        @setFocusToElement()\n\n    unpublish: (event) ->\n      @renderUnpublishing()\n      @model.unpublish()\n      .done =>\n        @trigger(\"unpublish\")\n        @disable()\n        @render()\n        @setFocusToElement()\n      .fail (error) =>\n        errors = JSON.parse(error.responseText)['errors']\n        $.flashError errors.published[0].message\n        @model.set 'unpublishable', true\n        @disable()\n        @renderPublished()\n        @setFocusToElement()\n\n    # state\n\n    isPublish: ->\n      @$el.hasClass @publishClass\n\n    isPublished: ->\n      @$el.hasClass @publishedClass\n\n    isUnpublish: ->\n      @$el.hasClass @unpublishClass\n\n    isDisabled: ->\n      @$el.hasClass @disabledClass\n\n    disable: ->\n      @$el.addClass @disabledClass\n\n    enable: ->\n      @$el.removeClass @disabledClass\n\n    reset: ->\n      @$el.removeClass \"#{@publishClass} #{@publishedClass} #{@unpublishClass}\"\n      @$icon.removeClass 'icon-publish icon-unpublish icon-unpublished'\n      @$el.removeAttr 'aria-label'\n\n    publishLabel: ->\n      return @publishText if @publishText\n      return I18n.t('Unpublished.  Click to publish %{title}.', title: @title) if @title\n      I18n.t('Unpublished.  Click to publish.')\n\n    unpublishLabel: ->\n      return @unpublishText if @unpublishText\n      return I18n.t('Published.  Click to unpublish %{title}.', title: @title) if @title\n      I18n.t('Published.  Click to unpublish.')\n\n    # render\n\n    render: ->\n      @$el.attr 'role', 'button'\n      @$el.attr 'tabindex', '0'\n      @$el.html '<i></i><span class=\"publish-text\"></span>'\n      @cacheEls()\n\n      # don't read text of button with screenreader\n      @$text.attr 'tabindex', '-1'\n\n      if @model.get('published')\n        @renderPublished()\n      else\n        @renderPublish()\n      @\n\n    renderPublish: ->\n      @renderState\n        text:        I18n.t 'buttons.publish', 'Publish'\n        label:       @publishLabel()\n        buttonClass: @publishClass\n        iconClass:   'icon-unpublish'\n\n    renderPublished: ->\n      @renderState\n        text:        I18n.t 'buttons.published', 'Published'\n        label:       @unpublishLabel()\n        buttonClass: @publishedClass\n        iconClass:   'icon-publish icon-Solid'\n\n    renderUnpublish: ->\n      text = I18n.t 'buttons.unpublish', 'Unpublish'\n      @renderState\n        text:        text\n        buttonClass: @unpublishClass\n        iconClass:   'icon-unpublish'\n\n    renderPublishing: ->\n      @disable()\n      text = I18n.t 'buttons.publishing', 'Publishing...'\n      @renderState\n        text:        text\n        buttonClass: @publishClass\n        iconClass:   'icon-publish icon-Solid'\n\n    renderUnpublishing: ->\n      @disable()\n      text = I18n.t 'buttons.unpublishing', 'Unpublishing...'\n      @renderState\n        text:        text\n        buttonClass: @unpublishClass\n        iconClass:   'icon-unpublished'\n\n    renderState: (options) ->\n      @reset()\n      @$el.addClass options.buttonClass\n      @$el.attr 'aria-pressed', options.buttonClass is @publishedClass\n      @$icon.addClass options.iconClass\n\n      @$text.html \"&nbsp;#{htmlEscape(options.text)}\"\n\n      # uneditable because the current user does not have the Select Final\n      # Grade permission.\n      if @model.get('disabledForModeration')\n        @disableWithMessage('You do not have permissions to edit this moderated assignment')\n\n      # unpublishable (i.e., able to be unpublished)\n      else if !@model.get('unpublishable')? or @model.get('unpublishable')\n        @enable()\n        @$el.attr 'title', options.text\n\n        # label for screen readers\n        if options.label\n          @addAriaLabel(options.label)\n\n      # editable, but cannot be unpublished because submissions exist\n      else\n        @disableWithMessage(@model.disabledMessage()) if @model.get('published')\n\n    disableWithMessage: (message) ->\n      @disable()\n      @$el.attr 'aria-disabled', true\n      @$el.attr 'title', message\n      @addAriaLabel(message)\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/views/PublishButtonView.coffee","\n    define('jst/ExternalTools/_external_tool_menuitem', [\"handlebars/runtime\",\"coffeescripts/handlebars_helpers.coffee\"], function(Handlebars){\n      Handlebars = Handlebars.default\n      var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};\n      var name = 'ExternalTools/-external-tool-menuitem';\n      templates[name] = template(function (Handlebars,depth0,helpers,partials,data) {\n  this.compilerInfo = [4,'>= 1.0.0'];\nhelpers = this.merge(helpers, Handlebars.helpers); data = data || {};\n  var buffer = \"\", stack1, functionType=\"function\", escapeExpression=this.escapeExpression, self=this;\n\nfunction program1(depth0,data) {\n  \n  var buffer = \"\", stack1, helper;\n  buffer += \"\\n  <a class=\\\"menu_tool_link\\\" href=\\\"\";\n  if (helper = helpers.url) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.url); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\">\\n    \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.canvas_icon_class), {hash:{},inverse:self.program(4, program4, data),fn:self.program(2, program2, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n    \";\n  if (helper = helpers.title) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.title); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\n  </a>\\n\";\n  return buffer;\n  }\nfunction program2(depth0,data) {\n  \n  var buffer = \"\", stack1, helper;\n  buffer += \"\\n      <i class=\\\"\";\n  if (helper = helpers.canvas_icon_class) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.canvas_icon_class); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\"></i>\\n    \";\n  return buffer;\n  }\n\nfunction program4(depth0,data) {\n  \n  var buffer = \"\", stack1;\n  buffer += \"\\n      \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.icon_url), {hash:{},inverse:self.noop,fn:self.program(5, program5, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n    \";\n  return buffer;\n  }\nfunction program5(depth0,data) {\n  \n  var buffer = \"\", stack1, helper;\n  buffer += \"<img class=\\\"icon\\\" alt=\\\"\\\" src=\\\"\";\n  if (helper = helpers.icon_url) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.icon_url); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\" />\";\n  return buffer;\n  }\n\n  stack1 = helpers['if'].call(depth0, depth0, {hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n\";\n  return buffer;\n  });\n      \n      Handlebars.registerPartial('ExternalTools/external_tool_menuitem', templates['ExternalTools/-external-tool-menuitem']);\n    ;\n      ;\n      return templates[name];\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./app/views/jst/ExternalTools/_external_tool_menuitem.handlebars\n// module id = WTw7jdI0LW\n// module chunks = 51 54 73 77","#\n# Copyright (C) 2013 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  'Backbone'\n  'underscore'\n  'jquery'\n  '../models/DateGroup'\n], (Backbone, _, $, DateGroup) ->\n\n  class DateGroupCollection extends Backbone.Collection\n\n    model: DateGroup\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/collections/DateGroupCollection.coffee","#\n# Copyright (C) 2017 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  './LockButtonView'\n], (LockButtonView) ->\n\n  class LockIconView extends LockButtonView\n    lockClass: 'lock-icon-lock'\n    lockedClass: 'lock-icon-locked'\n    unlockClass: 'lock-icon-unlock'\n\n    tagName: 'span'\n    className: 'lock-icon'\n\n    # These values allow the default text to be overridden if necessary\n    @optionProperty 'lockText'\n    @optionProperty 'unlockText'\n\n    initialize: ->\n      super\n      @events = Object.assign({}, LockButtonView.prototype.events, @events)\n\n    events: {'keyclick' : 'click'}\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/views/LockIconView.coffee","#\n# Copyright (C) 2013 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  'Backbone'\n  'underscore'\n], (Backbone, _) ->\n\n  # For all your dropdown widget-y needs.\n  #\n  # Example: Say I have a list of sections I want to assign for some due dates.\n  # I have an example UI that has several <select> dropdowns that looks like:\n  #\n  # <select name=\"section_id\"><!-- options go here... ></select>\n  # <input type=date name=\"due_date\"/>\n  #\n  # Imagine you have 4 sections in the course, so you'd have 4 widgets\n  # with the above markup.\n  #\n  # However, say you have a unique constraint that a section may only have one\n  # due date. To help the user's experience, we want to hide sections that\n  # have already been assigned a due date in the other drop downs. We also\n  # want to make the interface very responsive, so adding changing the section\n  # in one dropdown makes the section available to choose in all the other\n  # dropdowns (since it was previously taken, but now available to choose from).\n  # You can use the variable due date widget to see an example of this behavior.\n  # (NOTE: The variable due date widget doesn't use this... yet)\n  #\n  # UniqueDropdownCollection will watch your models for change events, so\n  # when your passed 'propertyName' value changes, UniqueDropdownCollection\n  # will remove it from `collection.takenValues` and add it to\n  # `collection.availableValues` accordingly. `availableValues` and\n  # `takenValues` are both instances of `Backbone.Collection`, so you\n  # can use the handy dandy `change/add/remove` events we all love. See\n  # the documentation below for what kind of objects these collections\n  # store the possible values as.\n  #\n  # You can also call `add/remove` like you would on a normal\n  # `Backbone.Collection`. UniqueDropdownCollection will make a value\n  # available if you remove the record, and taken if you create a new record\n  # (the new record will have the first available value in `availableValues`.\n  #\n  # Example:\n  #\n  # ENV.SECTION_IDS = [1, 2, 3, 4]\n  # models = (new Assignment(id: i, section_id: i) for i in [1..3])\n  #\n  # collection = new UniqueDropdownCollection models,\n  #   model: Assignment\n  #   propertyName: 'section_id'\n  #   possibleValues: ENV.SECTION_IDS\n  #\n  # collection.availableValues.find (m) -> m.get('value') == 4 # true\n  # collection.takenValues.find (m) -> m.get('value') == 4 # false\n  #\n  # models[0].set 'section_id', 4\n  #\n  # collection.availableValues.find (m) -> m.get('value') == 4 # false\n  # collection.takenValues.find (m) -> m.get('value') == 4 # true\n  #\n  # Listening for changes on `availableValues` and `takenValues`\n  #\n  # These collections have objects that look like this:\n  #\n  #   id: 'some value goes here'\n  #   value: 'some value goes here'\n  #\n  # If you're going to listen on these collections, I recommend listening on\n  # the `add/remove` events of the collections, and re-render your dropdown\n  # accordingly.\n\n  class UniqueDropdownCollection extends Backbone.Collection\n\n    # Public\n    # records - Array of records to watch for changes on\n    # options: a hash with the usual options Backbone.Collection takes, with\n    # a few extra added goodies:\n    #   propertyName: string representing the property name on your model.\n    #     e.g. model.get('section_id')\n    #   possibleValues: an array of possible values `propertyName` can\n    #     choose from\n    #\n    # NOTE: BE SURE TO PASS A `model` OPTION!\n    initialize: (records, options={}) ->\n      @takenValues ||= new Backbone.Collection []\n      @availableValues ||= new Backbone.Collection []\n      {@possibleValues, @propertyName} = options\n      @availableValues.comparator = 'value'\n      @calculateTakenValues(records)\n\n      @on \"reset\", @calculateTakenValues\n      @on \"change:#{@propertyName}\", @updateAvailableValues\n      @on \"remove\", @removeModel\n\n    calculateTakenValues: (records) =>\n      if records instanceof Backbone.Collection\n        takenValues = records.map (m) => m.get(@propertyName)\n      else\n        takenValues = (model.get(@propertyName) for model in records)\n\n      # we need to reset the collections so that\n      # we can calculate the fresh taken and available values\n      @takenValues.reset null, silent: true\n      @availableValues.reset null, silent: true\n      # Create Backbone Models with IDs so we can remove and add them\n      # quickly (rather than filtering and removing from an index every time)\n      # in @takenValues and @availableValues\n      for takenValue in takenValues\n        @takenValues.add new Backbone.Model id: takenValue, value: takenValue\n\n      for value in _.difference @possibleValues, takenValues\n        @availableValues.add new Backbone.Model id: value, value: value\n\n\n    updateAvailableValues: (model) =>\n      previousValue = model.previousAttributes()[@propertyName]\n      currentValue = model.get(@propertyName)\n\n      previouslyAvailableValue = @availableValues.get currentValue\n      previouslyTakenValue = @takenValues.get previousValue\n\n      @availableValues.remove previouslyAvailableValue\n      @takenValues.remove previouslyTakenValue\n\n      @takenValues.add previouslyAvailableValue\n      @availableValues.add previouslyTakenValue\n\n\n    removeModel: (model) =>\n      value = model.get @propertyName\n      previouslyTakenValue = @takenValues.get value\n\n      @takenValues.remove previouslyTakenValue\n      @availableValues.add previouslyTakenValue\n\n    # method for how to find the next model to add.\n    # defaults to the first item \n    # in @availableValues\n    #\n    # override if you need more complex logic\n    #\n    # Returns a model from @availableValues\n    findNextAvailable: ->\n      @availableValues.at(0)\n\n    # overrides Backbone.Collection.add\n    add: (models, options) ->\n      # if we pass a plan object, modify it with an available value before\n      # passing it to the \"model\" constructor.\n      if !_.isArray(models) && (typeof models is 'object') && !(models instanceof Backbone.Model)\n        previouslyAvailableValue = @findNextAvailable()\n        @availableValues.remove previouslyAvailableValue\n        @takenValues.add previouslyAvailableValue\n        models[@propertyName] = previouslyAvailableValue.get 'value'\n\n      super\n\n\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/util/UniqueDropdownCollection.coffee","/*** IMPORTS FROM imports-loader ***/\n(function() {\n\n(function () {\nvar lists = (function () {\n    'use strict';\n\n    var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.dom.RangeUtils');\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker');\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.util.VK');\n\n    var global$4 = tinymce.util.Tools.resolve('tinymce.dom.BookmarkManager');\n\n    var global$5 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    var global$6 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n    var isTextNode = function (node) {\n      return node && node.nodeType === 3;\n    };\n    var isListNode = function (node) {\n      return node && /^(OL|UL|DL)$/.test(node.nodeName);\n    };\n    var isOlUlNode = function (node) {\n      return node && /^(OL|UL)$/.test(node.nodeName);\n    };\n    var isListItemNode = function (node) {\n      return node && /^(LI|DT|DD)$/.test(node.nodeName);\n    };\n    var isDlItemNode = function (node) {\n      return node && /^(DT|DD)$/.test(node.nodeName);\n    };\n    var isTableCellNode = function (node) {\n      return node && /^(TH|TD)$/.test(node.nodeName);\n    };\n    var isBr = function (node) {\n      return node && node.nodeName === 'BR';\n    };\n    var isFirstChild = function (node) {\n      return node.parentNode.firstChild === node;\n    };\n    var isLastChild = function (node) {\n      return node.parentNode.lastChild === node;\n    };\n    var isTextBlock = function (editor, node) {\n      return node && !!editor.schema.getTextBlockElements()[node.nodeName];\n    };\n    var isBlock = function (node, blockElements) {\n      return node && node.nodeName in blockElements;\n    };\n    var isBogusBr = function (dom, node) {\n      if (!isBr(node)) {\n        return false;\n      }\n      if (dom.isBlock(node.nextSibling) && !isBr(node.previousSibling)) {\n        return true;\n      }\n      return false;\n    };\n    var isEmpty = function (dom, elm, keepBookmarks) {\n      var empty = dom.isEmpty(elm);\n      if (keepBookmarks && dom.select('span[data-mce-type=bookmark]', elm).length > 0) {\n        return false;\n      }\n      return empty;\n    };\n    var isChildOfBody = function (dom, elm) {\n      return dom.isChildOf(elm, dom.getRoot());\n    };\n    var NodeType = {\n      isTextNode: isTextNode,\n      isListNode: isListNode,\n      isOlUlNode: isOlUlNode,\n      isDlItemNode: isDlItemNode,\n      isListItemNode: isListItemNode,\n      isTableCellNode: isTableCellNode,\n      isBr: isBr,\n      isFirstChild: isFirstChild,\n      isLastChild: isLastChild,\n      isTextBlock: isTextBlock,\n      isBlock: isBlock,\n      isBogusBr: isBogusBr,\n      isEmpty: isEmpty,\n      isChildOfBody: isChildOfBody\n    };\n\n    var getNormalizedPoint = function (container, offset) {\n      if (NodeType.isTextNode(container)) {\n        return {\n          container: container,\n          offset: offset\n        };\n      }\n      var node = global$1.getNode(container, offset);\n      if (NodeType.isTextNode(node)) {\n        return {\n          container: node,\n          offset: offset >= container.childNodes.length ? node.data.length : 0\n        };\n      } else if (node.previousSibling && NodeType.isTextNode(node.previousSibling)) {\n        return {\n          container: node.previousSibling,\n          offset: node.previousSibling.data.length\n        };\n      } else if (node.nextSibling && NodeType.isTextNode(node.nextSibling)) {\n        return {\n          container: node.nextSibling,\n          offset: 0\n        };\n      }\n      return {\n        container: container,\n        offset: offset\n      };\n    };\n    var normalizeRange = function (rng) {\n      var outRng = rng.cloneRange();\n      var rangeStart = getNormalizedPoint(rng.startContainer, rng.startOffset);\n      outRng.setStart(rangeStart.container, rangeStart.offset);\n      var rangeEnd = getNormalizedPoint(rng.endContainer, rng.endOffset);\n      outRng.setEnd(rangeEnd.container, rangeEnd.offset);\n      return outRng;\n    };\n    var Range = {\n      getNormalizedPoint: getNormalizedPoint,\n      normalizeRange: normalizeRange\n    };\n\n    var DOM = global$6.DOM;\n    var createBookmark = function (rng) {\n      var bookmark = {};\n      var setupEndPoint = function (start) {\n        var offsetNode, container, offset;\n        container = rng[start ? 'startContainer' : 'endContainer'];\n        offset = rng[start ? 'startOffset' : 'endOffset'];\n        if (container.nodeType === 1) {\n          offsetNode = DOM.create('span', { 'data-mce-type': 'bookmark' });\n          if (container.hasChildNodes()) {\n            offset = Math.min(offset, container.childNodes.length - 1);\n            if (start) {\n              container.insertBefore(offsetNode, container.childNodes[offset]);\n            } else {\n              DOM.insertAfter(offsetNode, container.childNodes[offset]);\n            }\n          } else {\n            container.appendChild(offsetNode);\n          }\n          container = offsetNode;\n          offset = 0;\n        }\n        bookmark[start ? 'startContainer' : 'endContainer'] = container;\n        bookmark[start ? 'startOffset' : 'endOffset'] = offset;\n      };\n      setupEndPoint(true);\n      if (!rng.collapsed) {\n        setupEndPoint();\n      }\n      return bookmark;\n    };\n    var resolveBookmark = function (bookmark) {\n      function restoreEndPoint(start) {\n        var container, offset, node;\n        var nodeIndex = function (container) {\n          var node = container.parentNode.firstChild, idx = 0;\n          while (node) {\n            if (node === container) {\n              return idx;\n            }\n            if (node.nodeType !== 1 || node.getAttribute('data-mce-type') !== 'bookmark') {\n              idx++;\n            }\n            node = node.nextSibling;\n          }\n          return -1;\n        };\n        container = node = bookmark[start ? 'startContainer' : 'endContainer'];\n        offset = bookmark[start ? 'startOffset' : 'endOffset'];\n        if (!container) {\n          return;\n        }\n        if (container.nodeType === 1) {\n          offset = nodeIndex(container);\n          container = container.parentNode;\n          DOM.remove(node);\n          if (!container.hasChildNodes() && DOM.isBlock(container)) {\n            container.appendChild(DOM.create('br'));\n          }\n        }\n        bookmark[start ? 'startContainer' : 'endContainer'] = container;\n        bookmark[start ? 'startOffset' : 'endOffset'] = offset;\n      }\n      restoreEndPoint(true);\n      restoreEndPoint();\n      var rng = DOM.createRng();\n      rng.setStart(bookmark.startContainer, bookmark.startOffset);\n      if (bookmark.endContainer) {\n        rng.setEnd(bookmark.endContainer, bookmark.endOffset);\n      }\n      return Range.normalizeRange(rng);\n    };\n    var Bookmark = {\n      createBookmark: createBookmark,\n      resolveBookmark: resolveBookmark\n    };\n\n    var constant = function (value) {\n      return function () {\n        return value;\n      };\n    };\n    function curry(fn) {\n      var initialArgs = [];\n      for (var _i = 1; _i < arguments.length; _i++) {\n        initialArgs[_i - 1] = arguments[_i];\n      }\n      return function () {\n        var restArgs = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          restArgs[_i] = arguments[_i];\n        }\n        var all = initialArgs.concat(restArgs);\n        return fn.apply(null, all);\n      };\n    }\n    var not = function (f) {\n      return function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        return !f.apply(null, args);\n      };\n    };\n    var never = constant(false);\n    var always = constant(true);\n\n    var never$1 = never;\n    var always$1 = always;\n    var none = function () {\n      return NONE;\n    };\n    var NONE = function () {\n      var eq = function (o) {\n        return o.isNone();\n      };\n      var call$$1 = function (thunk) {\n        return thunk();\n      };\n      var id = function (n) {\n        return n;\n      };\n      var noop$$1 = function () {\n      };\n      var nul = function () {\n        return null;\n      };\n      var undef = function () {\n        return undefined;\n      };\n      var me = {\n        fold: function (n, s) {\n          return n();\n        },\n        is: never$1,\n        isSome: never$1,\n        isNone: always$1,\n        getOr: id,\n        getOrThunk: call$$1,\n        getOrDie: function (msg) {\n          throw new Error(msg || 'error: getOrDie called on none.');\n        },\n        getOrNull: nul,\n        getOrUndefined: undef,\n        or: id,\n        orThunk: call$$1,\n        map: none,\n        ap: none,\n        each: noop$$1,\n        bind: none,\n        flatten: none,\n        exists: never$1,\n        forall: always$1,\n        filter: none,\n        equals: eq,\n        equals_: eq,\n        toArray: function () {\n          return [];\n        },\n        toString: constant('none()')\n      };\n      if (Object.freeze)\n        Object.freeze(me);\n      return me;\n    }();\n    var some = function (a) {\n      var constant_a = function () {\n        return a;\n      };\n      var self = function () {\n        return me;\n      };\n      var map = function (f) {\n        return some(f(a));\n      };\n      var bind = function (f) {\n        return f(a);\n      };\n      var me = {\n        fold: function (n, s) {\n          return s(a);\n        },\n        is: function (v) {\n          return a === v;\n        },\n        isSome: always$1,\n        isNone: never$1,\n        getOr: constant_a,\n        getOrThunk: constant_a,\n        getOrDie: constant_a,\n        getOrNull: constant_a,\n        getOrUndefined: constant_a,\n        or: self,\n        orThunk: self,\n        map: map,\n        ap: function (optfab) {\n          return optfab.fold(none, function (fab) {\n            return some(fab(a));\n          });\n        },\n        each: function (f) {\n          f(a);\n        },\n        bind: bind,\n        flatten: constant_a,\n        exists: bind,\n        forall: bind,\n        filter: function (f) {\n          return f(a) ? me : NONE;\n        },\n        equals: function (o) {\n          return o.is(a);\n        },\n        equals_: function (o, elementEq) {\n          return o.fold(never$1, function (b) {\n            return elementEq(a, b);\n          });\n        },\n        toArray: function () {\n          return [a];\n        },\n        toString: function () {\n          return 'some(' + a + ')';\n        }\n      };\n      return me;\n    };\n    var from = function (value) {\n      return value === null || value === undefined ? NONE : some(value);\n    };\n    var Option = {\n      some: some,\n      none: none,\n      from: from\n    };\n\n    var typeOf = function (x) {\n      if (x === null)\n        return 'null';\n      var t = typeof x;\n      if (t === 'object' && Array.prototype.isPrototypeOf(x))\n        return 'array';\n      if (t === 'object' && String.prototype.isPrototypeOf(x))\n        return 'string';\n      return t;\n    };\n    var isType = function (type) {\n      return function (value) {\n        return typeOf(value) === type;\n      };\n    };\n    var isString = isType('string');\n    var isBoolean = isType('boolean');\n    var isFunction = isType('function');\n    var isNumber = isType('number');\n\n    var map = function (xs, f) {\n      var len = xs.length;\n      var r = new Array(len);\n      for (var i = 0; i < len; i++) {\n        var x = xs[i];\n        r[i] = f(x, i, xs);\n      }\n      return r;\n    };\n    var each = function (xs, f) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        f(x, i, xs);\n      }\n    };\n    var filter = function (xs, pred) {\n      var r = [];\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        if (pred(x, i, xs)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    var groupBy = function (xs, f) {\n      if (xs.length === 0) {\n        return [];\n      } else {\n        var wasType = f(xs[0]);\n        var r = [];\n        var group = [];\n        for (var i = 0, len = xs.length; i < len; i++) {\n          var x = xs[i];\n          var type = f(x);\n          if (type !== wasType) {\n            r.push(group);\n            group = [];\n          }\n          wasType = type;\n          group.push(x);\n        }\n        if (group.length !== 0) {\n          r.push(group);\n        }\n        return r;\n      }\n    };\n    var foldl = function (xs, f, acc) {\n      each(xs, function (x) {\n        acc = f(acc, x);\n      });\n      return acc;\n    };\n    var find = function (xs, pred) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        if (pred(x, i, xs)) {\n          return Option.some(x);\n        }\n      }\n      return Option.none();\n    };\n    var push = Array.prototype.push;\n    var flatten = function (xs) {\n      var r = [];\n      for (var i = 0, len = xs.length; i < len; ++i) {\n        if (!Array.prototype.isPrototypeOf(xs[i]))\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        push.apply(r, xs[i]);\n      }\n      return r;\n    };\n    var bind = function (xs, f) {\n      var output = map(xs, f);\n      return flatten(output);\n    };\n    var slice = Array.prototype.slice;\n    var reverse = function (xs) {\n      var r = slice.call(xs, 0);\n      r.reverse();\n      return r;\n    };\n    var head = function (xs) {\n      return xs.length === 0 ? Option.none() : Option.some(xs[0]);\n    };\n    var last = function (xs) {\n      return xs.length === 0 ? Option.none() : Option.some(xs[xs.length - 1]);\n    };\n    var from$1 = isFunction(Array.from) ? Array.from : function (x) {\n      return slice.call(x);\n    };\n\n    var Global = typeof window !== 'undefined' ? window : Function('return this;')();\n\n    var path = function (parts, scope) {\n      var o = scope !== undefined && scope !== null ? scope : Global;\n      for (var i = 0; i < parts.length && o !== undefined && o !== null; ++i)\n        o = o[parts[i]];\n      return o;\n    };\n    var resolve = function (p, scope) {\n      var parts = p.split('.');\n      return path(parts, scope);\n    };\n\n    var unsafe = function (name, scope) {\n      return resolve(name, scope);\n    };\n    var getOrDie = function (name, scope) {\n      var actual = unsafe(name, scope);\n      if (actual === undefined || actual === null)\n        throw name + ' not available on this browser';\n      return actual;\n    };\n    var Global$1 = { getOrDie: getOrDie };\n\n    var htmlElement = function (scope) {\n      return Global$1.getOrDie('HTMLElement', scope);\n    };\n    var isPrototypeOf = function (x) {\n      var scope = resolve('ownerDocument.defaultView', x);\n      return htmlElement(scope).prototype.isPrototypeOf(x);\n    };\n    var HTMLElement = { isPrototypeOf: isPrototypeOf };\n\n    var global$7 = tinymce.util.Tools.resolve('tinymce.dom.DomQuery');\n\n    var getParentList = function (editor) {\n      var selectionStart = editor.selection.getStart(true);\n      return editor.dom.getParent(selectionStart, 'OL,UL,DL', getClosestListRootElm(editor, selectionStart));\n    };\n    var isParentListSelected = function (parentList, selectedBlocks) {\n      return parentList && selectedBlocks.length === 1 && selectedBlocks[0] === parentList;\n    };\n    var findSubLists = function (parentList) {\n      return global$5.grep(parentList.querySelectorAll('ol,ul,dl'), function (elm) {\n        return NodeType.isListNode(elm);\n      });\n    };\n    var getSelectedSubLists = function (editor) {\n      var parentList = getParentList(editor);\n      var selectedBlocks = editor.selection.getSelectedBlocks();\n      if (isParentListSelected(parentList, selectedBlocks)) {\n        return findSubLists(parentList);\n      } else {\n        return global$5.grep(selectedBlocks, function (elm) {\n          return NodeType.isListNode(elm) && parentList !== elm;\n        });\n      }\n    };\n    var findParentListItemsNodes = function (editor, elms) {\n      var listItemsElms = global$5.map(elms, function (elm) {\n        var parentLi = editor.dom.getParent(elm, 'li,dd,dt', getClosestListRootElm(editor, elm));\n        return parentLi ? parentLi : elm;\n      });\n      return global$7.unique(listItemsElms);\n    };\n    var getSelectedListItems = function (editor) {\n      var selectedBlocks = editor.selection.getSelectedBlocks();\n      return global$5.grep(findParentListItemsNodes(editor, selectedBlocks), function (block) {\n        return NodeType.isListItemNode(block);\n      });\n    };\n    var getSelectedDlItems = function (editor) {\n      return filter(getSelectedListItems(editor), NodeType.isDlItemNode);\n    };\n    var getClosestListRootElm = function (editor, elm) {\n      var parentTableCell = editor.dom.getParents(elm, 'TD,TH');\n      var root = parentTableCell.length > 0 ? parentTableCell[0] : editor.getBody();\n      return root;\n    };\n    var findLastParentListNode = function (editor, elm) {\n      var parentLists = editor.dom.getParents(elm, 'ol,ul', getClosestListRootElm(editor, elm));\n      return last(parentLists);\n    };\n    var getSelectedLists = function (editor) {\n      var firstList = findLastParentListNode(editor, editor.selection.getStart());\n      var subsequentLists = filter(editor.selection.getSelectedBlocks(), NodeType.isOlUlNode);\n      return firstList.toArray().concat(subsequentLists);\n    };\n    var getSelectedListRoots = function (editor) {\n      var selectedLists = getSelectedLists(editor);\n      return getUniqueListRoots(editor, selectedLists);\n    };\n    var getUniqueListRoots = function (editor, lists) {\n      var listRoots = map(lists, function (list) {\n        return findLastParentListNode(editor, list).getOr(list);\n      });\n      return global$7.unique(listRoots);\n    };\n    var isList = function (editor) {\n      var list = getParentList(editor);\n      return HTMLElement.isPrototypeOf(list);\n    };\n    var Selection = {\n      isList: isList,\n      getParentList: getParentList,\n      getSelectedSubLists: getSelectedSubLists,\n      getSelectedListItems: getSelectedListItems,\n      getClosestListRootElm: getClosestListRootElm,\n      getSelectedDlItems: getSelectedDlItems,\n      getSelectedListRoots: getSelectedListRoots\n    };\n\n    var node = function () {\n      var f = Global$1.getOrDie('Node');\n      return f;\n    };\n    var compareDocumentPosition = function (a, b, match) {\n      return (a.compareDocumentPosition(b) & match) !== 0;\n    };\n    var documentPositionPreceding = function (a, b) {\n      return compareDocumentPosition(a, b, node().DOCUMENT_POSITION_PRECEDING);\n    };\n    var documentPositionContainedBy = function (a, b) {\n      return compareDocumentPosition(a, b, node().DOCUMENT_POSITION_CONTAINED_BY);\n    };\n    var Node$1 = {\n      documentPositionPreceding: documentPositionPreceding,\n      documentPositionContainedBy: documentPositionContainedBy\n    };\n\n    var cached = function (f) {\n      var called = false;\n      var r;\n      return function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        if (!called) {\n          called = true;\n          r = f.apply(null, args);\n        }\n        return r;\n      };\n    };\n\n    var firstMatch = function (regexes, s) {\n      for (var i = 0; i < regexes.length; i++) {\n        var x = regexes[i];\n        if (x.test(s))\n          return x;\n      }\n      return undefined;\n    };\n    var find$1 = function (regexes, agent) {\n      var r = firstMatch(regexes, agent);\n      if (!r)\n        return {\n          major: 0,\n          minor: 0\n        };\n      var group = function (i) {\n        return Number(agent.replace(r, '$' + i));\n      };\n      return nu(group(1), group(2));\n    };\n    var detect = function (versionRegexes, agent) {\n      var cleanedAgent = String(agent).toLowerCase();\n      if (versionRegexes.length === 0)\n        return unknown();\n      return find$1(versionRegexes, cleanedAgent);\n    };\n    var unknown = function () {\n      return nu(0, 0);\n    };\n    var nu = function (major, minor) {\n      return {\n        major: major,\n        minor: minor\n      };\n    };\n    var Version = {\n      nu: nu,\n      detect: detect,\n      unknown: unknown\n    };\n\n    var edge = 'Edge';\n    var chrome = 'Chrome';\n    var ie = 'IE';\n    var opera = 'Opera';\n    var firefox = 'Firefox';\n    var safari = 'Safari';\n    var isBrowser = function (name, current) {\n      return function () {\n        return current === name;\n      };\n    };\n    var unknown$1 = function () {\n      return nu$1({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    var nu$1 = function (info) {\n      var current = info.current;\n      var version = info.version;\n      return {\n        current: current,\n        version: version,\n        isEdge: isBrowser(edge, current),\n        isChrome: isBrowser(chrome, current),\n        isIE: isBrowser(ie, current),\n        isOpera: isBrowser(opera, current),\n        isFirefox: isBrowser(firefox, current),\n        isSafari: isBrowser(safari, current)\n      };\n    };\n    var Browser = {\n      unknown: unknown$1,\n      nu: nu$1,\n      edge: constant(edge),\n      chrome: constant(chrome),\n      ie: constant(ie),\n      opera: constant(opera),\n      firefox: constant(firefox),\n      safari: constant(safari)\n    };\n\n    var windows = 'Windows';\n    var ios = 'iOS';\n    var android = 'Android';\n    var linux = 'Linux';\n    var osx = 'OSX';\n    var solaris = 'Solaris';\n    var freebsd = 'FreeBSD';\n    var isOS = function (name, current) {\n      return function () {\n        return current === name;\n      };\n    };\n    var unknown$2 = function () {\n      return nu$2({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    var nu$2 = function (info) {\n      var current = info.current;\n      var version = info.version;\n      return {\n        current: current,\n        version: version,\n        isWindows: isOS(windows, current),\n        isiOS: isOS(ios, current),\n        isAndroid: isOS(android, current),\n        isOSX: isOS(osx, current),\n        isLinux: isOS(linux, current),\n        isSolaris: isOS(solaris, current),\n        isFreeBSD: isOS(freebsd, current)\n      };\n    };\n    var OperatingSystem = {\n      unknown: unknown$2,\n      nu: nu$2,\n      windows: constant(windows),\n      ios: constant(ios),\n      android: constant(android),\n      linux: constant(linux),\n      osx: constant(osx),\n      solaris: constant(solaris),\n      freebsd: constant(freebsd)\n    };\n\n    var DeviceType = function (os, browser, userAgent) {\n      var isiPad = os.isiOS() && /ipad/i.test(userAgent) === true;\n      var isiPhone = os.isiOS() && !isiPad;\n      var isAndroid3 = os.isAndroid() && os.version.major === 3;\n      var isAndroid4 = os.isAndroid() && os.version.major === 4;\n      var isTablet = isiPad || isAndroid3 || isAndroid4 && /mobile/i.test(userAgent) === true;\n      var isTouch = os.isiOS() || os.isAndroid();\n      var isPhone = isTouch && !isTablet;\n      var iOSwebview = browser.isSafari() && os.isiOS() && /safari/i.test(userAgent) === false;\n      return {\n        isiPad: constant(isiPad),\n        isiPhone: constant(isiPhone),\n        isTablet: constant(isTablet),\n        isPhone: constant(isPhone),\n        isTouch: constant(isTouch),\n        isAndroid: os.isAndroid,\n        isiOS: os.isiOS,\n        isWebView: constant(iOSwebview)\n      };\n    };\n\n    var detect$1 = function (candidates, userAgent) {\n      var agent = String(userAgent).toLowerCase();\n      return find(candidates, function (candidate) {\n        return candidate.search(agent);\n      });\n    };\n    var detectBrowser = function (browsers, userAgent) {\n      return detect$1(browsers, userAgent).map(function (browser) {\n        var version = Version.detect(browser.versionRegexes, userAgent);\n        return {\n          current: browser.name,\n          version: version\n        };\n      });\n    };\n    var detectOs = function (oses, userAgent) {\n      return detect$1(oses, userAgent).map(function (os) {\n        var version = Version.detect(os.versionRegexes, userAgent);\n        return {\n          current: os.name,\n          version: version\n        };\n      });\n    };\n    var UaString = {\n      detectBrowser: detectBrowser,\n      detectOs: detectOs\n    };\n\n    var contains$1 = function (str, substr) {\n      return str.indexOf(substr) !== -1;\n    };\n\n    var normalVersionRegex = /.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/;\n    var checkContains = function (target) {\n      return function (uastring) {\n        return contains$1(uastring, target);\n      };\n    };\n    var browsers = [\n      {\n        name: 'Edge',\n        versionRegexes: [/.*?edge\\/ ?([0-9]+)\\.([0-9]+)$/],\n        search: function (uastring) {\n          var monstrosity = contains$1(uastring, 'edge/') && contains$1(uastring, 'chrome') && contains$1(uastring, 'safari') && contains$1(uastring, 'applewebkit');\n          return monstrosity;\n        }\n      },\n      {\n        name: 'Chrome',\n        versionRegexes: [\n          /.*?chrome\\/([0-9]+)\\.([0-9]+).*/,\n          normalVersionRegex\n        ],\n        search: function (uastring) {\n          return contains$1(uastring, 'chrome') && !contains$1(uastring, 'chromeframe');\n        }\n      },\n      {\n        name: 'IE',\n        versionRegexes: [\n          /.*?msie\\ ?([0-9]+)\\.([0-9]+).*/,\n          /.*?rv:([0-9]+)\\.([0-9]+).*/\n        ],\n        search: function (uastring) {\n          return contains$1(uastring, 'msie') || contains$1(uastring, 'trident');\n        }\n      },\n      {\n        name: 'Opera',\n        versionRegexes: [\n          normalVersionRegex,\n          /.*?opera\\/([0-9]+)\\.([0-9]+).*/\n        ],\n        search: checkContains('opera')\n      },\n      {\n        name: 'Firefox',\n        versionRegexes: [/.*?firefox\\/\\ ?([0-9]+)\\.([0-9]+).*/],\n        search: checkContains('firefox')\n      },\n      {\n        name: 'Safari',\n        versionRegexes: [\n          normalVersionRegex,\n          /.*?cpu os ([0-9]+)_([0-9]+).*/\n        ],\n        search: function (uastring) {\n          return (contains$1(uastring, 'safari') || contains$1(uastring, 'mobile/')) && contains$1(uastring, 'applewebkit');\n        }\n      }\n    ];\n    var oses = [\n      {\n        name: 'Windows',\n        search: checkContains('win'),\n        versionRegexes: [/.*?windows\\ nt\\ ?([0-9]+)\\.([0-9]+).*/]\n      },\n      {\n        name: 'iOS',\n        search: function (uastring) {\n          return contains$1(uastring, 'iphone') || contains$1(uastring, 'ipad');\n        },\n        versionRegexes: [\n          /.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/,\n          /.*cpu os ([0-9]+)_([0-9]+).*/,\n          /.*cpu iphone os ([0-9]+)_([0-9]+).*/\n        ]\n      },\n      {\n        name: 'Android',\n        search: checkContains('android'),\n        versionRegexes: [/.*?android\\ ?([0-9]+)\\.([0-9]+).*/]\n      },\n      {\n        name: 'OSX',\n        search: checkContains('os x'),\n        versionRegexes: [/.*?os\\ x\\ ?([0-9]+)_([0-9]+).*/]\n      },\n      {\n        name: 'Linux',\n        search: checkContains('linux'),\n        versionRegexes: []\n      },\n      {\n        name: 'Solaris',\n        search: checkContains('sunos'),\n        versionRegexes: []\n      },\n      {\n        name: 'FreeBSD',\n        search: checkContains('freebsd'),\n        versionRegexes: []\n      }\n    ];\n    var PlatformInfo = {\n      browsers: constant(browsers),\n      oses: constant(oses)\n    };\n\n    var detect$2 = function (userAgent) {\n      var browsers = PlatformInfo.browsers();\n      var oses = PlatformInfo.oses();\n      var browser = UaString.detectBrowser(browsers, userAgent).fold(Browser.unknown, Browser.nu);\n      var os = UaString.detectOs(oses, userAgent).fold(OperatingSystem.unknown, OperatingSystem.nu);\n      var deviceType = DeviceType(os, browser, userAgent);\n      return {\n        browser: browser,\n        os: os,\n        deviceType: deviceType\n      };\n    };\n    var PlatformDetection = { detect: detect$2 };\n\n    var detect$3 = cached(function () {\n      var userAgent = navigator.userAgent;\n      return PlatformDetection.detect(userAgent);\n    });\n    var PlatformDetection$1 = { detect: detect$3 };\n\n    var fromHtml = function (html, scope) {\n      var doc = scope || document;\n      var div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        console.error('HTML does not have a single root node', html);\n        throw 'HTML must have a single root node';\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    var fromTag = function (tag, scope) {\n      var doc = scope || document;\n      var node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    var fromText = function (text, scope) {\n      var doc = scope || document;\n      var node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    var fromDom = function (node) {\n      if (node === null || node === undefined)\n        throw new Error('Node cannot be null or undefined');\n      return { dom: constant(node) };\n    };\n    var fromPoint = function (docElm, x, y) {\n      var doc = docElm.dom();\n      return Option.from(doc.elementFromPoint(x, y)).map(fromDom);\n    };\n    var Element$$1 = {\n      fromHtml: fromHtml,\n      fromTag: fromTag,\n      fromText: fromText,\n      fromDom: fromDom,\n      fromPoint: fromPoint\n    };\n\n    var ATTRIBUTE = Node.ATTRIBUTE_NODE;\n    var CDATA_SECTION = Node.CDATA_SECTION_NODE;\n    var COMMENT = Node.COMMENT_NODE;\n    var DOCUMENT = Node.DOCUMENT_NODE;\n    var DOCUMENT_TYPE = Node.DOCUMENT_TYPE_NODE;\n    var DOCUMENT_FRAGMENT = Node.DOCUMENT_FRAGMENT_NODE;\n    var ELEMENT = Node.ELEMENT_NODE;\n    var TEXT = Node.TEXT_NODE;\n    var PROCESSING_INSTRUCTION = Node.PROCESSING_INSTRUCTION_NODE;\n    var ENTITY_REFERENCE = Node.ENTITY_REFERENCE_NODE;\n    var ENTITY = Node.ENTITY_NODE;\n    var NOTATION = Node.NOTATION_NODE;\n\n    var ELEMENT$1 = ELEMENT;\n    var is = function (element, selector) {\n      var elem = element.dom();\n      if (elem.nodeType !== ELEMENT$1)\n        return false;\n      else if (elem.matches !== undefined)\n        return elem.matches(selector);\n      else if (elem.msMatchesSelector !== undefined)\n        return elem.msMatchesSelector(selector);\n      else if (elem.webkitMatchesSelector !== undefined)\n        return elem.webkitMatchesSelector(selector);\n      else if (elem.mozMatchesSelector !== undefined)\n        return elem.mozMatchesSelector(selector);\n      else\n        throw new Error('Browser lacks native selectors');\n    };\n\n    var eq = function (e1, e2) {\n      return e1.dom() === e2.dom();\n    };\n    var regularContains = function (e1, e2) {\n      var d1 = e1.dom(), d2 = e2.dom();\n      return d1 === d2 ? false : d1.contains(d2);\n    };\n    var ieContains = function (e1, e2) {\n      return Node$1.documentPositionContainedBy(e1.dom(), e2.dom());\n    };\n    var browser = PlatformDetection$1.detect().browser;\n    var contains$2 = browser.isIE() ? ieContains : regularContains;\n    var is$1 = is;\n\n    var keys = Object.keys;\n    var each$1 = function (obj, f) {\n      var props = keys(obj);\n      for (var k = 0, len = props.length; k < len; k++) {\n        var i = props[k];\n        var x = obj[i];\n        f(x, i, obj);\n      }\n    };\n\n    var name = function (element) {\n      var r = element.dom().nodeName;\n      return r.toLowerCase();\n    };\n\n    var rawSet = function (dom, key, value$$1) {\n      if (isString(value$$1) || isBoolean(value$$1) || isNumber(value$$1)) {\n        dom.setAttribute(key, value$$1 + '');\n      } else {\n        console.error('Invalid call to Attr.set. Key ', key, ':: Value ', value$$1, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    var setAll = function (element, attrs) {\n      var dom = element.dom();\n      each$1(attrs, function (v, k) {\n        rawSet(dom, k, v);\n      });\n    };\n    var clone = function (element) {\n      return foldl(element.dom().attributes, function (acc, attr) {\n        acc[attr.name] = attr.value;\n        return acc;\n      }, {});\n    };\n\n    var Immutable = function () {\n      var fields = [];\n      for (var _i = 0; _i < arguments.length; _i++) {\n        fields[_i] = arguments[_i];\n      }\n      return function () {\n        var values = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          values[_i] = arguments[_i];\n        }\n        if (fields.length !== values.length) {\n          throw new Error('Wrong number of arguments to struct. Expected \"[' + fields.length + ']\", got ' + values.length + ' arguments');\n        }\n        var struct = {};\n        each(fields, function (name, i) {\n          struct[name] = constant(values[i]);\n        });\n        return struct;\n      };\n    };\n\n    var parent = function (element) {\n      var dom = element.dom();\n      return Option.from(dom.parentNode).map(Element$$1.fromDom);\n    };\n    var children = function (element) {\n      var dom = element.dom();\n      return map(dom.childNodes, Element$$1.fromDom);\n    };\n    var child = function (element, index) {\n      var children = element.dom().childNodes;\n      return Option.from(children[index]).map(Element$$1.fromDom);\n    };\n    var firstChild = function (element) {\n      return child(element, 0);\n    };\n    var lastChild = function (element) {\n      return child(element, element.dom().childNodes.length - 1);\n    };\n    var spot = Immutable('element', 'offset');\n\n    var before = function (marker, element) {\n      var parent$$1 = parent(marker);\n      parent$$1.each(function (v) {\n        v.dom().insertBefore(element.dom(), marker.dom());\n      });\n    };\n    var append = function (parent$$1, element) {\n      parent$$1.dom().appendChild(element.dom());\n    };\n\n    var before$1 = function (marker, elements) {\n      each(elements, function (x) {\n        before(marker, x);\n      });\n    };\n    var append$1 = function (parent, elements) {\n      each(elements, function (x) {\n        append(parent, x);\n      });\n    };\n\n    var remove$1 = function (element) {\n      var dom = element.dom();\n      if (dom.parentNode !== null)\n        dom.parentNode.removeChild(dom);\n    };\n\n    var clone$1 = function (original, deep) {\n      return Element$$1.fromDom(original.dom().cloneNode(deep));\n    };\n    var deep = function (original) {\n      return clone$1(original, true);\n    };\n    var shallowAs = function (original, tag) {\n      var nu = Element$$1.fromTag(tag);\n      var attributes = clone(original);\n      setAll(nu, attributes);\n      return nu;\n    };\n    var mutate = function (original, tag) {\n      var nu = shallowAs(original, tag);\n      before(original, nu);\n      var children$$1 = children(original);\n      append$1(nu, children$$1);\n      remove$1(original);\n      return nu;\n    };\n\n    var global$8 = tinymce.util.Tools.resolve('tinymce.Env');\n\n    var DOM$1 = global$6.DOM;\n    var createNewTextBlock = function (editor, contentNode, blockName) {\n      var node, textBlock;\n      var fragment = DOM$1.createFragment();\n      var hasContentNode;\n      var blockElements = editor.schema.getBlockElements();\n      if (editor.settings.forced_root_block) {\n        blockName = blockName || editor.settings.forced_root_block;\n      }\n      if (blockName) {\n        textBlock = DOM$1.create(blockName);\n        if (textBlock.tagName === editor.settings.forced_root_block) {\n          DOM$1.setAttribs(textBlock, editor.settings.forced_root_block_attrs);\n        }\n        if (!NodeType.isBlock(contentNode.firstChild, blockElements)) {\n          fragment.appendChild(textBlock);\n        }\n      }\n      if (contentNode) {\n        while (node = contentNode.firstChild) {\n          var nodeName = node.nodeName;\n          if (!hasContentNode && (nodeName !== 'SPAN' || node.getAttribute('data-mce-type') !== 'bookmark')) {\n            hasContentNode = true;\n          }\n          if (NodeType.isBlock(node, blockElements)) {\n            fragment.appendChild(node);\n            textBlock = null;\n          } else {\n            if (blockName) {\n              if (!textBlock) {\n                textBlock = DOM$1.create(blockName);\n                fragment.appendChild(textBlock);\n              }\n              textBlock.appendChild(node);\n            } else {\n              fragment.appendChild(node);\n            }\n          }\n        }\n      }\n      if (!editor.settings.forced_root_block) {\n        fragment.appendChild(DOM$1.create('br'));\n      } else {\n        if (!hasContentNode && (!global$8.ie || global$8.ie > 10)) {\n          textBlock.appendChild(DOM$1.create('br', { 'data-mce-bogus': '1' }));\n        }\n      }\n      return fragment;\n    };\n    var TextBlock = { createNewTextBlock: createNewTextBlock };\n\n    var DOM$2 = global$6.DOM;\n    var splitList = function (editor, ul, li, newBlock) {\n      var tmpRng, fragment, bookmarks, node;\n      var removeAndKeepBookmarks = function (targetNode) {\n        global$5.each(bookmarks, function (node) {\n          targetNode.parentNode.insertBefore(node, li.parentNode);\n        });\n        DOM$2.remove(targetNode);\n      };\n      bookmarks = DOM$2.select('span[data-mce-type=\"bookmark\"]', ul);\n      newBlock = newBlock || TextBlock.createNewTextBlock(editor, li);\n      tmpRng = DOM$2.createRng();\n      tmpRng.setStartAfter(li);\n      tmpRng.setEndAfter(ul);\n      fragment = tmpRng.extractContents();\n      for (node = fragment.firstChild; node; node = node.firstChild) {\n        if (node.nodeName === 'LI' && editor.dom.isEmpty(node)) {\n          DOM$2.remove(node);\n          break;\n        }\n      }\n      if (!editor.dom.isEmpty(fragment)) {\n        DOM$2.insertAfter(fragment, ul);\n      }\n      DOM$2.insertAfter(newBlock, ul);\n      if (NodeType.isEmpty(editor.dom, li.parentNode)) {\n        removeAndKeepBookmarks(li.parentNode);\n      }\n      DOM$2.remove(li);\n      if (NodeType.isEmpty(editor.dom, ul)) {\n        DOM$2.remove(ul);\n      }\n    };\n    var SplitList = { splitList: splitList };\n\n    var liftN = function (arr, f) {\n      var r = [];\n      for (var i = 0; i < arr.length; i++) {\n        var x = arr[i];\n        if (x.isSome()) {\n          r.push(x.getOrDie());\n        } else {\n          return Option.none();\n        }\n      }\n      return Option.some(f.apply(null, r));\n    };\n\n    var fromElements = function (elements, scope) {\n      var doc = scope || document;\n      var fragment = doc.createDocumentFragment();\n      each(elements, function (element) {\n        fragment.appendChild(element.dom());\n      });\n      return Element$$1.fromDom(fragment);\n    };\n\n    var isSupported = function (dom) {\n      return dom.style !== undefined;\n    };\n\n    var internalSet = function (dom, property, value$$1) {\n      if (!isString(value$$1)) {\n        console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value$$1, ':: Element ', dom);\n        throw new Error('CSS value must be a string: ' + value$$1);\n      }\n      if (isSupported(dom))\n        dom.style.setProperty(property, value$$1);\n    };\n    var set$1 = function (element, property, value$$1) {\n      var dom = element.dom();\n      internalSet(dom, property, value$$1);\n    };\n\n    var createSection = function (scope, listType) {\n      var section = {\n        list: Element$$1.fromTag(listType, scope),\n        item: Element$$1.fromTag('li', scope)\n      };\n      append(section.list, section.item);\n      return section;\n    };\n    var joinSections = function (parent, appendor) {\n      append(parent.item, appendor.list);\n    };\n    var createJoinedSections = function (scope, length, listType) {\n      var sections = [];\n      var _loop_1 = function (i) {\n        var newSection = createSection(scope, listType);\n        last(sections).each(function (lastSection) {\n          return joinSections(lastSection, newSection);\n        });\n        sections.push(newSection);\n      };\n      for (var i = 0; i < length; i++) {\n        _loop_1(i);\n      }\n      return sections;\n    };\n    var normalizeSection = function (section, entry) {\n      if (name(section.list).toUpperCase() !== entry.listType) {\n        section.list = mutate(section.list, entry.listType);\n      }\n      setAll(section.list, entry.listAttributes);\n    };\n    var createItem = function (scope, attr, content) {\n      var item = Element$$1.fromTag('li', scope);\n      setAll(item, attr);\n      append$1(item, content);\n      return item;\n    };\n    var setItem = function (section, item) {\n      append(section.list, item);\n      section.item = item;\n    };\n    var writeShallow = function (scope, outline, entry) {\n      var newOutline = outline.slice(0, entry.depth);\n      last(newOutline).each(function (section) {\n        setItem(section, createItem(scope, entry.itemAttributes, entry.content));\n        normalizeSection(section, entry);\n      });\n      return newOutline;\n    };\n    var populateSections = function (sections, entry) {\n      last(sections).each(function (section) {\n        setAll(section.list, entry.listAttributes);\n        setAll(section.item, entry.itemAttributes);\n        append$1(section.item, entry.content);\n      });\n      for (var i = 0; i < sections.length - 1; i++) {\n        set$1(sections[i].item, 'list-style-type', 'none');\n      }\n    };\n    var writeDeep = function (scope, outline, entry) {\n      var newSections = createJoinedSections(scope, entry.depth - outline.length, entry.listType);\n      populateSections(newSections, entry);\n      liftN([\n        last(outline),\n        head(newSections)\n      ], joinSections);\n      return outline.concat(newSections);\n    };\n    var composeList = function (scope, entries) {\n      var outline = foldl(entries, function (outline, entry) {\n        return entry.depth > outline.length ? writeDeep(scope, outline, entry) : writeShallow(scope, outline, entry);\n      }, []);\n      return head(outline).map(function (section) {\n        return section.list;\n      });\n    };\n\n    var isIndented = function (entry) {\n      return entry.depth > 0;\n    };\n    var isSelected = function (entry) {\n      return entry.isSelected;\n    };\n\n    var indentEntry = function (indentation, entry) {\n      switch (indentation) {\n      case 'Indent':\n        entry.depth++;\n        break;\n      case 'Outdent':\n        entry.depth--;\n        break;\n      case 'Flatten':\n        entry.depth = 0;\n      }\n    };\n\n    var hasOwnProperty$1 = Object.prototype.hasOwnProperty;\n    var shallow$1 = function (old, nu) {\n      return nu;\n    };\n    var baseMerge = function (merger) {\n      return function () {\n        var objects = new Array(arguments.length);\n        for (var i = 0; i < objects.length; i++)\n          objects[i] = arguments[i];\n        if (objects.length === 0)\n          throw new Error('Can\\'t merge zero objects');\n        var ret = {};\n        for (var j = 0; j < objects.length; j++) {\n          var curObject = objects[j];\n          for (var key in curObject)\n            if (hasOwnProperty$1.call(curObject, key)) {\n              ret[key] = merger(ret[key], curObject[key]);\n            }\n        }\n        return ret;\n      };\n    };\n    var merge = baseMerge(shallow$1);\n\n    var assimilateEntry = function (adherent, source) {\n      adherent.listType = source.listType;\n      adherent.listAttributes = merge({}, source.listAttributes);\n    };\n    var normalizeShallow = function (outline, entry) {\n      var matchingEntryDepth = entry.depth - 1;\n      outline[matchingEntryDepth].each(function (matchingEntry) {\n        return assimilateEntry(entry, matchingEntry);\n      });\n      var newOutline = outline.slice(0, matchingEntryDepth);\n      newOutline.push(Option.some(entry));\n      return newOutline;\n    };\n    var normalizeDeep = function (outline, entry) {\n      var newOutline = outline.slice(0);\n      var diff = entry.depth - outline.length;\n      for (var i = 1; i < diff; i++) {\n        newOutline.push(Option.none());\n      }\n      newOutline.push(Option.some(entry));\n      return newOutline;\n    };\n    var normalizeEntries = function (entries) {\n      foldl(entries, function (outline, entry) {\n        return entry.depth > outline.length ? normalizeDeep(outline, entry) : normalizeShallow(outline, entry);\n      }, []);\n    };\n\n    var Cell = function (initial) {\n      var value = initial;\n      var get = function () {\n        return value;\n      };\n      var set = function (v) {\n        value = v;\n      };\n      var clone = function () {\n        return Cell(get());\n      };\n      return {\n        get: get,\n        set: set,\n        clone: clone\n      };\n    };\n\n    var ListType;\n    (function (ListType) {\n      ListType['OL'] = 'OL';\n      ListType['UL'] = 'UL';\n      ListType['DL'] = 'DL';\n    }(ListType || (ListType = {})));\n    var getListType = function (list) {\n      switch (name(list)) {\n      case 'ol':\n        return Option.some(ListType.OL);\n      case 'ul':\n        return Option.some(ListType.UL);\n      case 'dl':\n        return Option.some(ListType.DL);\n      default:\n        return Option.none();\n      }\n    };\n    var isList$1 = function (el) {\n      return is$1(el, 'OL,UL,DL');\n    };\n\n    var hasFirstChildList = function (li) {\n      return firstChild(li).map(isList$1).getOr(false);\n    };\n    var hasLastChildList = function (li) {\n      return lastChild(li).map(isList$1).getOr(false);\n    };\n\n    var getItemContent = function (li) {\n      var childNodes = children(li);\n      var contentLength = childNodes.length + (hasLastChildList(li) ? -1 : 0);\n      return map(childNodes.slice(0, contentLength), deep);\n    };\n    var createEntry = function (li, depth, isSelected) {\n      var list = parent(li);\n      return {\n        depth: depth,\n        isSelected: isSelected,\n        content: getItemContent(li),\n        listType: list.bind(getListType).getOr(ListType.OL),\n        listAttributes: list.map(clone).getOr({}),\n        itemAttributes: clone(li)\n      };\n    };\n    var parseItem = function (depth, itemSelection, selectionState, item) {\n      var curriedParseList = curry(parseList, depth, itemSelection, selectionState);\n      var updateSelectionState = function (itemRange) {\n        return itemSelection.each(function (selection) {\n          if (eq(itemRange === 'Start' ? selection.start : selection.end, item)) {\n            selectionState.set(itemRange === 'Start');\n          }\n        });\n      };\n      return firstChild(item).filter(isList$1).fold(function () {\n        updateSelectionState('Start');\n        var fromCurrentItem = createEntry(item, depth, selectionState.get());\n        updateSelectionState('End');\n        var fromChildList = lastChild(item).filter(isList$1).map(curriedParseList).getOr([]);\n        return [fromCurrentItem].concat(fromChildList);\n      }, curriedParseList);\n    };\n    var parseList = function (depth, itemSelection, selectionState, list) {\n      var newDepth = depth + 1;\n      return bind(children(list), function (child$$1) {\n        return isList$1(child$$1) ? parseList(newDepth, itemSelection, selectionState, child$$1) : parseItem(newDepth, itemSelection, selectionState, child$$1);\n      });\n    };\n    var parseLists = function (lists, itemSelection) {\n      var selectionState = Cell(false);\n      var initialDepth = 0;\n      return map(lists, function (list) {\n        return {\n          entries: parseList(initialDepth, itemSelection, selectionState, list),\n          sourceList: list\n        };\n      });\n    };\n\n    var outdentedComposer = function (editor, entries) {\n      return map(entries, function (entry) {\n        var content = fromElements(entry.content);\n        return Element$$1.fromDom(TextBlock.createNewTextBlock(editor, content.dom()));\n      });\n    };\n    var indentedComposer = function (editor, entries) {\n      normalizeEntries(entries);\n      return composeList(editor.contentDocument, entries).toArray();\n    };\n    var composeEntries = function (editor, entries) {\n      return bind(groupBy(entries, isIndented), function (entries) {\n        var groupIsIndented = head(entries).map(isIndented).getOr(false);\n        return groupIsIndented ? indentedComposer(editor, entries) : outdentedComposer(editor, entries);\n      });\n    };\n    var indentSelectedEntries = function (entries, indentation) {\n      each(filter(entries, isSelected), function (entry) {\n        return indentEntry(indentation, entry);\n      });\n    };\n    var getItemSelection = function (editor) {\n      var selectedListItems = map(Selection.getSelectedListItems(editor), Element$$1.fromDom);\n      return liftN([\n        find(selectedListItems, not(hasFirstChildList)),\n        find(reverse(selectedListItems), not(hasFirstChildList))\n      ], function (start, end) {\n        return {\n          start: start,\n          end: end\n        };\n      });\n    };\n    var listsIndentation = function (editor, lists, indentation) {\n      var parsedLists = parseLists(lists, getItemSelection(editor));\n      each(parsedLists, function (entrySet) {\n        indentSelectedEntries(entrySet.entries, indentation);\n        before$1(entrySet.sourceList, composeEntries(editor, entrySet.entries));\n        remove$1(entrySet.sourceList);\n      });\n    };\n\n    var outdentDlItem = function (editor, item) {\n      if (is$1(item, 'DD')) {\n        mutate(item, 'DT');\n      } else if (is$1(item, 'DT')) {\n        parent(item).each(function (dl) {\n          return SplitList.splitList(editor, dl.dom(), item.dom());\n        });\n      }\n    };\n    var indentDlItem = function (item) {\n      if (is$1(item, 'DT')) {\n        mutate(item, 'DD');\n      }\n    };\n    var dlIndentation = function (editor, indentation, dlItems) {\n      if (indentation === 'Indent') {\n        each(dlItems, indentDlItem);\n      } else {\n        each(dlItems, function (item) {\n          return outdentDlItem(editor, item);\n        });\n      }\n    };\n    var selectionIndentation = function (editor, indentation) {\n      var dlItems = map(Selection.getSelectedDlItems(editor), Element$$1.fromDom);\n      var lists = map(Selection.getSelectedListRoots(editor), Element$$1.fromDom);\n      if (dlItems.length || lists.length) {\n        var bookmark = editor.selection.getBookmark();\n        dlIndentation(editor, indentation, dlItems);\n        listsIndentation(editor, lists, indentation);\n        editor.selection.moveToBookmark(bookmark);\n        editor.selection.setRng(Range.normalizeRange(editor.selection.getRng()));\n        editor.nodeChanged();\n      }\n    };\n    var indentListSelection = function (editor) {\n      selectionIndentation(editor, 'Indent');\n    };\n    var outdentListSelection = function (editor) {\n      selectionIndentation(editor, 'Outdent');\n    };\n    var flattenListSelection = function (editor) {\n      selectionIndentation(editor, 'Flatten');\n    };\n\n    var updateListStyle = function (dom, el, detail) {\n      var type = detail['list-style-type'] ? detail['list-style-type'] : null;\n      dom.setStyle(el, 'list-style-type', type);\n    };\n    var setAttribs = function (elm, attrs) {\n      global$5.each(attrs, function (value, key) {\n        elm.setAttribute(key, value);\n      });\n    };\n    var updateListAttrs = function (dom, el, detail) {\n      setAttribs(el, detail['list-attributes']);\n      global$5.each(dom.select('li', el), function (li) {\n        setAttribs(li, detail['list-item-attributes']);\n      });\n    };\n    var updateListWithDetails = function (dom, el, detail) {\n      updateListStyle(dom, el, detail);\n      updateListAttrs(dom, el, detail);\n    };\n    var removeStyles = function (dom, element, styles) {\n      global$5.each(styles, function (style) {\n        var _a;\n        return dom.setStyle(element, (_a = {}, _a[style] = '', _a));\n      });\n    };\n    var getEndPointNode = function (editor, rng, start, root) {\n      var container, offset;\n      container = rng[start ? 'startContainer' : 'endContainer'];\n      offset = rng[start ? 'startOffset' : 'endOffset'];\n      if (container.nodeType === 1) {\n        container = container.childNodes[Math.min(offset, container.childNodes.length - 1)] || container;\n      }\n      if (!start && NodeType.isBr(container.nextSibling)) {\n        container = container.nextSibling;\n      }\n      while (container.parentNode !== root) {\n        if (NodeType.isTextBlock(editor, container)) {\n          return container;\n        }\n        if (/^(TD|TH)$/.test(container.parentNode.nodeName)) {\n          return container;\n        }\n        container = container.parentNode;\n      }\n      return container;\n    };\n    var getSelectedTextBlocks = function (editor, rng, root) {\n      var textBlocks = [], dom = editor.dom;\n      var startNode = getEndPointNode(editor, rng, true, root);\n      var endNode = getEndPointNode(editor, rng, false, root);\n      var block;\n      var siblings = [];\n      for (var node = startNode; node; node = node.nextSibling) {\n        siblings.push(node);\n        if (node === endNode) {\n          break;\n        }\n      }\n      global$5.each(siblings, function (node) {\n        if (NodeType.isTextBlock(editor, node)) {\n          textBlocks.push(node);\n          block = null;\n          return;\n        }\n        if (dom.isBlock(node) || NodeType.isBr(node)) {\n          if (NodeType.isBr(node)) {\n            dom.remove(node);\n          }\n          block = null;\n          return;\n        }\n        var nextSibling = node.nextSibling;\n        if (global$4.isBookmarkNode(node)) {\n          if (NodeType.isTextBlock(editor, nextSibling) || !nextSibling && node.parentNode === root) {\n            block = null;\n            return;\n          }\n        }\n        if (!block) {\n          block = dom.create('p');\n          node.parentNode.insertBefore(block, node);\n          textBlocks.push(block);\n        }\n        block.appendChild(node);\n      });\n      return textBlocks;\n    };\n    var hasCompatibleStyle = function (dom, sib, detail) {\n      var sibStyle = dom.getStyle(sib, 'list-style-type');\n      var detailStyle = detail ? detail['list-style-type'] : '';\n      detailStyle = detailStyle === null ? '' : detailStyle;\n      return sibStyle === detailStyle;\n    };\n    var applyList = function (editor, listName, detail) {\n      if (detail === void 0) {\n        detail = {};\n      }\n      var rng = editor.selection.getRng(true);\n      var bookmark;\n      var listItemName = 'LI';\n      var root = Selection.getClosestListRootElm(editor, editor.selection.getStart(true));\n      var dom = editor.dom;\n      if (dom.getContentEditable(editor.selection.getNode()) === 'false') {\n        return;\n      }\n      listName = listName.toUpperCase();\n      if (listName === 'DL') {\n        listItemName = 'DT';\n      }\n      bookmark = Bookmark.createBookmark(rng);\n      global$5.each(getSelectedTextBlocks(editor, rng, root), function (block) {\n        var listBlock, sibling;\n        sibling = block.previousSibling;\n        if (sibling && NodeType.isListNode(sibling) && sibling.nodeName === listName && hasCompatibleStyle(dom, sibling, detail)) {\n          listBlock = sibling;\n          block = dom.rename(block, listItemName);\n          sibling.appendChild(block);\n        } else {\n          listBlock = dom.create(listName);\n          block.parentNode.insertBefore(listBlock, block);\n          listBlock.appendChild(block);\n          block = dom.rename(block, listItemName);\n        }\n        removeStyles(dom, block, [\n          'margin',\n          'margin-right',\n          'margin-bottom',\n          'margin-left',\n          'margin-top',\n          'padding',\n          'padding-right',\n          'padding-bottom',\n          'padding-left',\n          'padding-top'\n        ]);\n        updateListWithDetails(dom, listBlock, detail);\n        mergeWithAdjacentLists(editor.dom, listBlock);\n      });\n      editor.selection.setRng(Bookmark.resolveBookmark(bookmark));\n    };\n    var isValidLists = function (list1, list2) {\n      return list1 && list2 && NodeType.isListNode(list1) && list1.nodeName === list2.nodeName;\n    };\n    var hasSameListStyle = function (dom, list1, list2) {\n      var targetStyle = dom.getStyle(list1, 'list-style-type', true);\n      var style = dom.getStyle(list2, 'list-style-type', true);\n      return targetStyle === style;\n    };\n    var hasSameClasses = function (elm1, elm2) {\n      return elm1.className === elm2.className;\n    };\n    var shouldMerge = function (dom, list1, list2) {\n      return isValidLists(list1, list2) && hasSameListStyle(dom, list1, list2) && hasSameClasses(list1, list2);\n    };\n    var mergeWithAdjacentLists = function (dom, listBlock) {\n      var sibling, node;\n      sibling = listBlock.nextSibling;\n      if (shouldMerge(dom, listBlock, sibling)) {\n        while (node = sibling.firstChild) {\n          listBlock.appendChild(node);\n        }\n        dom.remove(sibling);\n      }\n      sibling = listBlock.previousSibling;\n      if (shouldMerge(dom, listBlock, sibling)) {\n        while (node = sibling.lastChild) {\n          listBlock.insertBefore(node, listBlock.firstChild);\n        }\n        dom.remove(sibling);\n      }\n    };\n    var updateList = function (dom, list, listName, detail) {\n      if (list.nodeName !== listName) {\n        var newList = dom.rename(list, listName);\n        updateListWithDetails(dom, newList, detail);\n      } else {\n        updateListWithDetails(dom, list, detail);\n      }\n    };\n    var toggleMultipleLists = function (editor, parentList, lists, listName, detail) {\n      if (parentList.nodeName === listName && !hasListStyleDetail(detail)) {\n        flattenListSelection(editor);\n      } else {\n        var bookmark = Bookmark.createBookmark(editor.selection.getRng(true));\n        global$5.each([parentList].concat(lists), function (elm) {\n          updateList(editor.dom, elm, listName, detail);\n        });\n        editor.selection.setRng(Bookmark.resolveBookmark(bookmark));\n      }\n    };\n    var hasListStyleDetail = function (detail) {\n      return 'list-style-type' in detail;\n    };\n    var toggleSingleList = function (editor, parentList, listName, detail) {\n      if (parentList === editor.getBody()) {\n        return;\n      }\n      if (parentList) {\n        if (parentList.nodeName === listName && !hasListStyleDetail(detail)) {\n          flattenListSelection(editor);\n        } else {\n          var bookmark = Bookmark.createBookmark(editor.selection.getRng(true));\n          updateListWithDetails(editor.dom, parentList, detail);\n          mergeWithAdjacentLists(editor.dom, editor.dom.rename(parentList, listName));\n          editor.selection.setRng(Bookmark.resolveBookmark(bookmark));\n        }\n      } else {\n        applyList(editor, listName, detail);\n      }\n    };\n    var toggleList = function (editor, listName, detail) {\n      var parentList = Selection.getParentList(editor);\n      var selectedSubLists = Selection.getSelectedSubLists(editor);\n      detail = detail ? detail : {};\n      if (parentList && selectedSubLists.length > 0) {\n        toggleMultipleLists(editor, parentList, selectedSubLists, listName, detail);\n      } else {\n        toggleSingleList(editor, parentList, listName, detail);\n      }\n    };\n    var ToggleList = {\n      toggleList: toggleList,\n      mergeWithAdjacentLists: mergeWithAdjacentLists\n    };\n\n    var DOM$3 = global$6.DOM;\n    var normalizeList = function (dom, ul) {\n      var sibling;\n      var parentNode = ul.parentNode;\n      if (parentNode.nodeName === 'LI' && parentNode.firstChild === ul) {\n        sibling = parentNode.previousSibling;\n        if (sibling && sibling.nodeName === 'LI') {\n          sibling.appendChild(ul);\n          if (NodeType.isEmpty(dom, parentNode)) {\n            DOM$3.remove(parentNode);\n          }\n        } else {\n          DOM$3.setStyle(parentNode, 'listStyleType', 'none');\n        }\n      }\n      if (NodeType.isListNode(parentNode)) {\n        sibling = parentNode.previousSibling;\n        if (sibling && sibling.nodeName === 'LI') {\n          sibling.appendChild(ul);\n        }\n      }\n    };\n    var normalizeLists = function (dom, element) {\n      global$5.each(global$5.grep(dom.select('ol,ul', element)), function (ul) {\n        normalizeList(dom, ul);\n      });\n    };\n    var NormalizeLists = {\n      normalizeList: normalizeList,\n      normalizeLists: normalizeLists\n    };\n\n    var findNextCaretContainer = function (editor, rng, isForward, root) {\n      var node = rng.startContainer;\n      var offset = rng.startOffset;\n      var nonEmptyBlocks, walker;\n      if (node.nodeType === 3 && (isForward ? offset < node.data.length : offset > 0)) {\n        return node;\n      }\n      nonEmptyBlocks = editor.schema.getNonEmptyElements();\n      if (node.nodeType === 1) {\n        node = global$1.getNode(node, offset);\n      }\n      walker = new global$2(node, root);\n      if (isForward) {\n        if (NodeType.isBogusBr(editor.dom, node)) {\n          walker.next();\n        }\n      }\n      while (node = walker[isForward ? 'next' : 'prev2']()) {\n        if (node.nodeName === 'LI' && !node.hasChildNodes()) {\n          return node;\n        }\n        if (nonEmptyBlocks[node.nodeName]) {\n          return node;\n        }\n        if (node.nodeType === 3 && node.data.length > 0) {\n          return node;\n        }\n      }\n    };\n    var hasOnlyOneBlockChild = function (dom, elm) {\n      var childNodes = elm.childNodes;\n      return childNodes.length === 1 && !NodeType.isListNode(childNodes[0]) && dom.isBlock(childNodes[0]);\n    };\n    var unwrapSingleBlockChild = function (dom, elm) {\n      if (hasOnlyOneBlockChild(dom, elm)) {\n        dom.remove(elm.firstChild, true);\n      }\n    };\n    var moveChildren = function (dom, fromElm, toElm) {\n      var node, targetElm;\n      targetElm = hasOnlyOneBlockChild(dom, toElm) ? toElm.firstChild : toElm;\n      unwrapSingleBlockChild(dom, fromElm);\n      if (!NodeType.isEmpty(dom, fromElm, true)) {\n        while (node = fromElm.firstChild) {\n          targetElm.appendChild(node);\n        }\n      }\n    };\n    var mergeLiElements = function (dom, fromElm, toElm) {\n      var node, listNode;\n      var ul = fromElm.parentNode;\n      if (!NodeType.isChildOfBody(dom, fromElm) || !NodeType.isChildOfBody(dom, toElm)) {\n        return;\n      }\n      if (NodeType.isListNode(toElm.lastChild)) {\n        listNode = toElm.lastChild;\n      }\n      if (ul === toElm.lastChild) {\n        if (NodeType.isBr(ul.previousSibling)) {\n          dom.remove(ul.previousSibling);\n        }\n      }\n      node = toElm.lastChild;\n      if (node && NodeType.isBr(node) && fromElm.hasChildNodes()) {\n        dom.remove(node);\n      }\n      if (NodeType.isEmpty(dom, toElm, true)) {\n        dom.$(toElm).empty();\n      }\n      moveChildren(dom, fromElm, toElm);\n      if (listNode) {\n        toElm.appendChild(listNode);\n      }\n      dom.remove(fromElm);\n      if (NodeType.isEmpty(dom, ul) && ul !== dom.getRoot()) {\n        dom.remove(ul);\n      }\n    };\n    var mergeIntoEmptyLi = function (editor, fromLi, toLi) {\n      editor.dom.$(toLi).empty();\n      mergeLiElements(editor.dom, fromLi, toLi);\n      editor.selection.setCursorLocation(toLi);\n    };\n    var mergeForward = function (editor, rng, fromLi, toLi) {\n      var dom = editor.dom;\n      if (dom.isEmpty(toLi)) {\n        mergeIntoEmptyLi(editor, fromLi, toLi);\n      } else {\n        var bookmark = Bookmark.createBookmark(rng);\n        mergeLiElements(dom, fromLi, toLi);\n        editor.selection.setRng(Bookmark.resolveBookmark(bookmark));\n      }\n    };\n    var mergeBackward = function (editor, rng, fromLi, toLi) {\n      var bookmark = Bookmark.createBookmark(rng);\n      mergeLiElements(editor.dom, fromLi, toLi);\n      var resolvedBookmark = Bookmark.resolveBookmark(bookmark);\n      editor.selection.setRng(resolvedBookmark);\n    };\n    var backspaceDeleteFromListToListCaret = function (editor, isForward) {\n      var dom = editor.dom, selection = editor.selection;\n      var selectionStartElm = selection.getStart();\n      var root = Selection.getClosestListRootElm(editor, selectionStartElm);\n      var li = dom.getParent(selection.getStart(), 'LI', root);\n      var ul, rng, otherLi;\n      if (li) {\n        ul = li.parentNode;\n        if (ul === editor.getBody() && NodeType.isEmpty(dom, ul)) {\n          return true;\n        }\n        rng = Range.normalizeRange(selection.getRng(true));\n        otherLi = dom.getParent(findNextCaretContainer(editor, rng, isForward, root), 'LI', root);\n        if (otherLi && otherLi !== li) {\n          if (isForward) {\n            mergeForward(editor, rng, otherLi, li);\n          } else {\n            mergeBackward(editor, rng, li, otherLi);\n          }\n          return true;\n        } else if (!otherLi) {\n          if (!isForward) {\n            flattenListSelection(editor);\n            return true;\n          }\n        }\n      }\n      return false;\n    };\n    var removeBlock = function (dom, block, root) {\n      var parentBlock = dom.getParent(block.parentNode, dom.isBlock, root);\n      dom.remove(block);\n      if (parentBlock && dom.isEmpty(parentBlock)) {\n        dom.remove(parentBlock);\n      }\n    };\n    var backspaceDeleteIntoListCaret = function (editor, isForward) {\n      var dom = editor.dom;\n      var selectionStartElm = editor.selection.getStart();\n      var root = Selection.getClosestListRootElm(editor, selectionStartElm);\n      var block = dom.getParent(selectionStartElm, dom.isBlock, root);\n      if (block && dom.isEmpty(block)) {\n        var rng = Range.normalizeRange(editor.selection.getRng(true));\n        var otherLi_1 = dom.getParent(findNextCaretContainer(editor, rng, isForward, root), 'LI', root);\n        if (otherLi_1) {\n          editor.undoManager.transact(function () {\n            removeBlock(dom, block, root);\n            ToggleList.mergeWithAdjacentLists(dom, otherLi_1.parentNode);\n            editor.selection.select(otherLi_1, true);\n            editor.selection.collapse(isForward);\n          });\n          return true;\n        }\n      }\n      return false;\n    };\n    var backspaceDeleteCaret = function (editor, isForward) {\n      return backspaceDeleteFromListToListCaret(editor, isForward) || backspaceDeleteIntoListCaret(editor, isForward);\n    };\n    var backspaceDeleteRange = function (editor) {\n      var selectionStartElm = editor.selection.getStart();\n      var root = Selection.getClosestListRootElm(editor, selectionStartElm);\n      var startListParent = editor.dom.getParent(selectionStartElm, 'LI,DT,DD', root);\n      if (startListParent || Selection.getSelectedListItems(editor).length > 0) {\n        editor.undoManager.transact(function () {\n          editor.execCommand('Delete');\n          NormalizeLists.normalizeLists(editor.dom, editor.getBody());\n        });\n        return true;\n      }\n      return false;\n    };\n    var backspaceDelete = function (editor, isForward) {\n      return editor.selection.isCollapsed() ? backspaceDeleteCaret(editor, isForward) : backspaceDeleteRange(editor);\n    };\n    var setup = function (editor) {\n      editor.on('keydown', function (e) {\n        if (e.keyCode === global$3.BACKSPACE) {\n          if (backspaceDelete(editor, false)) {\n            e.preventDefault();\n          }\n        } else if (e.keyCode === global$3.DELETE) {\n          if (backspaceDelete(editor, true)) {\n            e.preventDefault();\n          }\n        }\n      });\n    };\n    var Delete = {\n      setup: setup,\n      backspaceDelete: backspaceDelete\n    };\n\n    var get$3 = function (editor) {\n      return {\n        backspaceDelete: function (isForward) {\n          Delete.backspaceDelete(editor, isForward);\n        }\n      };\n    };\n    var Api = { get: get$3 };\n\n    var queryListCommandState = function (editor, listName) {\n      return function () {\n        var parentList = editor.dom.getParent(editor.selection.getStart(), 'UL,OL,DL');\n        return parentList && parentList.nodeName === listName;\n      };\n    };\n    var register = function (editor) {\n      editor.on('BeforeExecCommand', function (e) {\n        var cmd = e.command.toLowerCase();\n        if (cmd === 'indent') {\n          indentListSelection(editor);\n        } else if (cmd === 'outdent') {\n          outdentListSelection(editor);\n        }\n      });\n      editor.addCommand('InsertUnorderedList', function (ui, detail) {\n        ToggleList.toggleList(editor, 'UL', detail);\n      });\n      editor.addCommand('InsertOrderedList', function (ui, detail) {\n        ToggleList.toggleList(editor, 'OL', detail);\n      });\n      editor.addCommand('InsertDefinitionList', function (ui, detail) {\n        ToggleList.toggleList(editor, 'DL', detail);\n      });\n      editor.addCommand('RemoveList', function () {\n        flattenListSelection(editor);\n      });\n      editor.addQueryStateHandler('InsertUnorderedList', queryListCommandState(editor, 'UL'));\n      editor.addQueryStateHandler('InsertOrderedList', queryListCommandState(editor, 'OL'));\n      editor.addQueryStateHandler('InsertDefinitionList', queryListCommandState(editor, 'DL'));\n    };\n    var Commands = { register: register };\n\n    var shouldIndentOnTab = function (editor) {\n      return editor.getParam('lists_indent_on_tab', true);\n    };\n    var Settings = { shouldIndentOnTab: shouldIndentOnTab };\n\n    var setupTabKey = function (editor) {\n      editor.on('keydown', function (e) {\n        if (e.keyCode !== global$3.TAB || global$3.metaKeyPressed(e)) {\n          return;\n        }\n        if (Selection.isList(editor)) {\n          e.preventDefault();\n          editor.undoManager.transact(function () {\n            if (e.shiftKey) {\n              outdentListSelection(editor);\n            } else {\n              indentListSelection(editor);\n            }\n          });\n        }\n      });\n    };\n    var setup$1 = function (editor) {\n      if (Settings.shouldIndentOnTab(editor)) {\n        setupTabKey(editor);\n      }\n      Delete.setup(editor);\n    };\n    var Keyboard = { setup: setup$1 };\n\n    var findIndex$2 = function (list, predicate) {\n      for (var index = 0; index < list.length; index++) {\n        var element = list[index];\n        if (predicate(element)) {\n          return index;\n        }\n      }\n      return -1;\n    };\n    var listState = function (editor, listName) {\n      return function (e) {\n        var ctrl = e.control;\n        editor.on('NodeChange', function (e) {\n          var tableCellIndex = findIndex$2(e.parents, NodeType.isTableCellNode);\n          var parents = tableCellIndex !== -1 ? e.parents.slice(0, tableCellIndex) : e.parents;\n          var lists = global$5.grep(parents, NodeType.isListNode);\n          ctrl.active(lists.length > 0 && lists[0].nodeName === listName);\n        });\n      };\n    };\n    var register$1 = function (editor) {\n      var hasPlugin = function (editor, plugin) {\n        var plugins = editor.settings.plugins ? editor.settings.plugins : '';\n        return global$5.inArray(plugins.split(/[ ,]/), plugin) !== -1;\n      };\n      if (!hasPlugin(editor, 'advlist')) {\n        editor.addButton('numlist', {\n          active: false,\n          title: 'Numbered list',\n          cmd: 'InsertOrderedList',\n          onPostRender: listState(editor, 'OL')\n        });\n        editor.addButton('bullist', {\n          active: false,\n          title: 'Bullet list',\n          cmd: 'InsertUnorderedList',\n          onPostRender: listState(editor, 'UL')\n        });\n      }\n      editor.addButton('indent', {\n        icon: 'indent',\n        title: 'Increase indent',\n        cmd: 'Indent'\n      });\n    };\n    var Buttons = { register: register$1 };\n\n    global.add('lists', function (editor) {\n      Keyboard.setup(editor);\n      Buttons.register(editor);\n      Commands.register(editor);\n      return Api.get(editor);\n    });\n    function Plugin () {\n    }\n\n    return Plugin;\n\n}());\n})();\n\n}.call(window));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/tinymce/plugins/lists/plugin.js\n// module id = Z3omNargaT\n// module chunks = 2 3 28 35 44 54 73 85 102","\n    define(['i18nObj', 'translations/assignments.assignment_settings', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('assignments.assignment_settings')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?assignments.assignment_settings!./public/javascripts/dummyI18nResource.js\n// module id = ZdCVijiSzj\n// module chunks = 54","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"dialog_form_wrapper\":{\"cancel\":\"إلغاء\",\"save_settings\":\"حفظ الإعدادات\",\"saving\":\"جارٍ الحفظ...\"}},\"cy\":{\"dialog_form_wrapper\":{\"cancel\":\"Canslo\",\"save_settings\":\"Cadw Gosodiadau\",\"saving\":\"Wrthi’n cadw...\"}},\"da\":{\"dialog_form_wrapper\":{\"cancel\":\"Annuller\",\"save_settings\":\"Gem indstillinger\",\"saving\":\"Gemmer ...\"}},\"da-x-k12\":{\"dialog_form_wrapper\":{\"cancel\":\"Annuller\",\"save_settings\":\"Gem indstillinger\",\"saving\":\"Gemmer ...\"}},\"de\":{\"dialog_form_wrapper\":{\"cancel\":\"Abbrechen\",\"save_settings\":\"Einstellungen speichern\",\"saving\":\"Speichervorgang läuft ...\"}},\"el\":{\"dialog_form_wrapper\":{\"cancel\":\"Ακύρωση\",\"save_settings\":\"Αποθήκευση Ρυθμίσεων\",\"saving\":\"Αποθήκευση...\"}},\"en-AU\":{\"dialog_form_wrapper\":{\"cancel\":\"Cancel\",\"save_settings\":\"Save Settings\",\"saving\":\"Saving...\"}},\"en-CA\":{\"dialog_form_wrapper\":{\"cancel\":\"Cancel\",\"save_settings\":\"Save Settings\",\"saving\":\"Saving...\"}},\"en-GB\":{\"dialog_form_wrapper\":{\"cancel\":\"Cancel\",\"save_settings\":\"Save settings\",\"saving\":\"Saving...\"}},\"en-GB-x-lbs\":{\"dialog_form_wrapper\":{\"cancel\":\"Cancel\",\"save_settings\":\"Save settings\",\"saving\":\"Saving...\"}},\"en-GB-x-ukhe\":{\"dialog_form_wrapper\":{\"cancel\":\"Cancel\",\"save_settings\":\"Save settings\",\"saving\":\"Saving...\"}},\"es\":{\"dialog_form_wrapper\":{\"cancel\":\"Cancelar\",\"save_settings\":\"Guardar las configuraciones\",\"saving\":\"Guardando...\"}},\"fa\":{\"dialog_form_wrapper\":{\"cancel\":\"لغو\",\"save_settings\":\"ذخیره سازی تنظیمات\",\"saving\":\"در حال ذخیره سازی...\"}},\"fr\":{\"dialog_form_wrapper\":{\"cancel\":\"Annuler\",\"save_settings\":\"Enregistrer les paramètres\",\"saving\":\"Enregistrement...\"}},\"fr-CA\":{\"dialog_form_wrapper\":{\"cancel\":\"Annuler\",\"save_settings\":\"Enregistrer les paramètres\",\"saving\":\"Enregistrement...\"}},\"he\":{\"dialog_form_wrapper\":{\"cancel\":\"ביטול\",\"save_settings\":\"שמירת הגדרות\",\"saving\":\"שומר...\"}},\"ht\":{\"dialog_form_wrapper\":{\"cancel\":\"Anile\",\"save_settings\":\"Anrejistre Paramèt\",\"saving\":\"Anrejistreman...\"}},\"hu\":{\"dialog_form_wrapper\":{\"cancel\":\"Mégse\",\"save_settings\":\"Beállítások mentése\",\"saving\":\"Mentés...\"}},\"hy\":{\"dialog_form_wrapper\":{\"cancel\":\"Չեղյալ համարել\",\"save_settings\":\"Պահպանել կարգաբերումները\",\"saving\":\"Պահպանվում է...\"}},\"is\":{\"dialog_form_wrapper\":{\"cancel\":\"Hætta við\",\"save_settings\":\"Vista stillingar\",\"saving\":\"Vista...\"}},\"it\":{\"dialog_form_wrapper\":{\"cancel\":\"Annulla\",\"save_settings\":\"Salva impostazioni\",\"saving\":\"Salvataggio in corso...\"}},\"ja\":{\"dialog_form_wrapper\":{\"cancel\":\"キャンセル\",\"save_settings\":\"設定の保存\",\"saving\":\"保存しています...\"}},\"ko\":{\"dialog_form_wrapper\":{\"cancel\":\"취소\",\"save_settings\":\"설정 저장\",\"saving\":\"저장 중...\"}},\"mi\":{\"dialog_form_wrapper\":{\"cancel\":\"Whakakore\",\"save_settings\":\"Ngā Tautuhinga Tiaki\",\"saving\":\"Kei te tiakina\"}},\"nb\":{\"dialog_form_wrapper\":{\"cancel\":\"Avbryt\",\"save_settings\":\"Lagre innstillinger\",\"saving\":\"Lagrer…\"}},\"nb-x-k12\":{\"dialog_form_wrapper\":{\"cancel\":\"Avbryt\",\"save_settings\":\"Lagre innstillinger\",\"saving\":\"Lagrer…\"}},\"nl\":{\"dialog_form_wrapper\":{\"cancel\":\"Annuleren\",\"save_settings\":\"Instellingen opslaan\",\"saving\":\"Bezig met opslaan...\"}},\"nn\":{\"dialog_form_wrapper\":{\"cancel\":\"Avbryt\",\"save_settings\":\"Lagre innstillingar\",\"saving\":\"Lagrar...\"}},\"pl\":{\"dialog_form_wrapper\":{\"cancel\":\"Anuluj\",\"save_settings\":\"Zapisz ustawienia\",\"saving\":\"Trwa zapisywanie...\"}},\"pt\":{\"dialog_form_wrapper\":{\"cancel\":\"Cancelar\",\"save_settings\":\"Guardar definições\",\"saving\":\"A guardar...\"}},\"pt-BR\":{\"dialog_form_wrapper\":{\"cancel\":\"Cancelar\",\"save_settings\":\"Salvar configurações\",\"saving\":\"Salvando...\"}},\"ru\":{\"dialog_form_wrapper\":{\"cancel\":\"Отменить\",\"save_settings\":\"Сохранить настройки\",\"saving\":\"Сохранение...\"}},\"sl\":{\"dialog_form_wrapper\":{\"cancel\":\"Prekliči\",\"save_settings\":\"Shrani nastavitve\",\"saving\":\"Shranjevanje ...\"}},\"sv\":{\"dialog_form_wrapper\":{\"cancel\":\"Avbryt\",\"save_settings\":\"Spara inställningar\",\"saving\":\"Sparar...\"}},\"sv-x-k12\":{\"dialog_form_wrapper\":{\"cancel\":\"Avbryt\",\"save_settings\":\"Spara inställningar\",\"saving\":\"Sparar...\"}},\"tr\":{\"dialog_form_wrapper\":{\"cancel\":\"İptal\",\"save_settings\":\"Ayarları Kaydet\",\"saving\":\"Kaydediliyor...\"}},\"uk\":{\"dialog_form_wrapper\":{\"cancel\":\"Скасувати\",\"save_settings\":\"Зберегти налаштування\",\"saving\":\"Збереження...\"}},\"zh-Hans\":{\"dialog_form_wrapper\":{\"cancel\":\"取消\",\"save_settings\":\"保存设置\",\"saving\":\"正在保存...\"}},\"zh-Hant\":{\"dialog_form_wrapper\":{\"cancel\":\"取消\",\"save_settings\":\"保存設置\",\"saving\":\"正在保存...\"}}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/dialog_form_wrapper.js\n// module id = ZzA5yTxxSQ\n// module chunks = 33 36 37 44 45 51 54 56 62 77 95","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"جدول يحتوي على اسم نظام التقييم والأزرار الخاصة بتحرير النظام وحذفه.\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"جدول يحتوي على بيانات نظام التقييم. يحتوي كل صف على اسم وحدين أقصى وأدنى للنسبة المئوية. كما يحتوي كل صف على زر لإضافة صف جديد أسفل الصف الموجود وزر لحذف الصف الموجود.\",\"accept_2fdd362e\":\"قبول\",\"access_token_3be22221\":\"رمز الوصول المميز\",\"account_navigation_80bbefd4\":\"التنقل عبر الحساب\",\"actions_efcde10d\":\"إجراءات\",\"add_app_baf540f\":\"إضافة تطبيق\",\"add_grading_scheme_81e23c05\":\"إضافة نظام تقييم\",\"all_4321c3a1\":\"الكل\",\"all_changes_were_saved_f6f3ddcc\":\"تم حفظ جميع التغييرات\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"يجب تقديم وتنسيق كافة حقول التواريخ بشكل صحيح\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"يجب أن تحتوي كافة فترات تقييم الدرجات على عنوان\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"يجب أن تكون كافة تواريخ البداية قبل تاريخ النهاية\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"السماح لهذه الأداة للوصول إلى خدمة IMS لتوفير الأسماء والأدوار\",\"an_update_is_available_for_toolname_bba3fa2\":\"هناك تحديث متوفر لـ %{toolName}\",\"anonymous_e1b8ad27\":\"مجهول\",\"app_b157c2b3\":\"تطبيق\",\"app_placements_6d877225\":\"مواضع التطبيق\",\"app_reregistration_87cc8817\":\"إعادة التسجيل في التطبيق\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} تم تثبيته بواسطة المسؤول وهو قيد التأمين\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} تم تثبيته بواسطة المساق الرئيسي وهو قيد التأمين\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} تم تثبيته بواسطة المساق الرئيسي\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"إن التطبيقات تعتبر وسيلة سهلة لإضافة ميزات جديدة إلى Canvas. وذلك حيث يمكن إضافتها إلى المساقات الفردية أو إلى جميع المساقات في أي حساب. وبمجرد تكوينها، يمكنك الاتصال بها عبر وحدات المساق وإنشاء مهام لأدوات التقييم.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"هل ترغب بالفعل في حذف فترة تقييم الدرجات هذه؟\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"هل ترغب بالتأكيد في حذف نظام التقييم هذا؟\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"هل ترغب بالتأكيد في إزالة هذه الأداة؟\",\"assignment_edit_6dced39f\":\"تحرير المهمة\",\"assignment_menu_91fe3716\":\"قائمة المهمة\",\"assignment_selection_6bff05c4\":\"تحديد المهمة\",\"assignment_view_1206a60b\":\"عرض المهمة\",\"back_to_app_center_95420d83\":\"عودة إلى مركز التطبيقات\",\"by_lti_2_registration_url_e421e523\":\"عبر عنوان URL لتسجيل LTI 2\",\"by_url_a163275e\":\"حسب URL\",\"cancel_caeb1e68\":\"إلغاء\",\"close_d634289d\":\"إغلاق\",\"close_date_a2f617b3\":\"تاريخ الإغلاق\",\"collaboration_71c024f4\":\"التعاون\",\"config_url_e96ceaf3\":\"تكوين URL\",\"configuration_type_25a084a4\":\"نوع التكوين\",\"configure_ecb97e30\":\"التكوين\",\"configure_tool_app_3b1bb50b\":\"تكوين تطبيق %{tool}؟\",\"configure_toolname_app_651371be\":\"تكوين تطبيق %{toolName}\",\"consumer_key_6f94ba11\":\"مفتاح العميل\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(مستوى %{context})\",\"count_apps_found_f4d86860\":\"%{count} تم العثور على التطبيقات\",\"course_assignments_menu_fa6aeb23\":\"قائمة مهام المساق\",\"course_home_sub_navigation_b1ee6b03\":\"التنقل الفرعي عبر الصفحة الرئيسية للمساق\",\"course_navigation_dd035109\":\"التنقل عبر المساق\",\"course_settings_sub_navigation_b95deae\":\"التنقل الفرعي عبر إعدادات المساق\",\"custom_fields_fc3e55af\":\"حقول مخصصة\",\"delete_a6efa79d\":\"حذف\",\"delete_grading_period_dba36e59\":\"حذف فترة تقييم الدرجات\",\"delete_grading_scheme_6b308832\":\"حذف نظام التقييم\",\"delete_tool_app_9c9f6d35\":\"أتريد حذف تطبيق %{tool}؟\",\"delete_toolname_app_85f9d4ee\":\"حذف تطبيق %{toolName}\",\"description_436c48d7\":\"الوصف\",\"disable_a5c05db3\":\"تعطيل\",\"disable_toolname_44d6397c\":\"تعطيل %{toolName}\",\"disabled_18c33a73\":\"(معطل)\",\"discussion_topic_menu_3d4684c6\":\"قائمة موضوع المناقشة\",\"dismiss_dacdb625\":\"تجاهل\",\"domain_3b54c511\":\"المجال\",\"e_mail_only_2cc5e513\":\"البريد الإلكتروني فقط\",\"edit_app_b0cc1c17\":\"تحرير التطبيق\",\"edit_c5fbea07\":\"تحرير\",\"edit_grading_scheme_53091236\":\"تحرير نظام التقييم\",\"edit_toolname_app_23cfbb8\":\"تحرير تطبيق %{toolName}\",\"editor_button_6647db9c\":\"زر المحرر\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"يجب تعيين إما url أو المجال.\",\"enable_6f5d1328\":\"تمكين\",\"enable_toolname_dc64c25a\":\"تمكين %{toolName}\",\"end_date_e0093ed7\":\"تاريخ الانتهاء\",\"enter_the_access_token_for_your_organization_from__38b84fd1\":\"أدخل الرمز المميز للوصول لمؤسستك من                     *eduappcenter.com*. حالما يتم تطبيقه، سيتم إدراج التطبيقات التي اعتمدتها مؤسستك في                     EduAppCenter فقط على صفحة التطبيقات الخارجية.                     تعلم كيفية إنشاء **رمز مميز للوصول**.\",\"example_https_example_com_config_xml_be5f36ac\":\"مثال: https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"مثال: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"التطبيقات الخارجية\",\"file_menu_cc0ca54\":\"قائمة الملف\",\"filter_by_name_34cbe139\":\"تصفية حسب الاسم\",\"global_navigation_8bee3501\":\"التصفح العام\",\"grading_aa6de9\":\"تقييم الدرجات\",\"grading_period_name_31ceb3e3\":\"اسم فترة تقييم الدرجات\",\"grading_period_title_23b7f8ac\":\"اسم فترة تقييم الدرجات\",\"grading_period_weight_99b66906\":\"وزن فترة منح العلامات\",\"grading_periods_81941e66\":\"فترات التقييم\",\"grading_periods_must_not_overlap_f45336fb\":\"لا يجب أن تتداخل فترات تقييم الدرجات\",\"grading_scheme_deleted_7ae5a072\":\"تم حذف نظام تقييم الدرجات\",\"grading_scheme_saved_85535151\":\"تم حفظ نظام تقييم الدرجات\",\"grading_schemes_1c3c3252\":\"أنظمة التقييم\",\"grading_standard_title_58f540a3\":\"عنوان التقييم القياسي\",\"homework_submission_172e8354\":\"إرسال الواجب المنزلي\",\"insert_row_below_25187f89\":\"إدراج صف أسفل\",\"installed_7b284a91\":\"مثبت\",\"launch_external_tool_672c0409\":\"تشغيل الأداة الخارجية\",\"launch_registration_tool_38d4781\":\"تشغيل أداة التسجيل\",\"launch_url_e150bd41\":\"تشغيل URL\",\"link_selection_1486c5d0\":\"تحديد الرابط\",\"link_to_lti_tools_608df3b0\":\"رابط لأدوات LTI:\",\"looks_great_e4d883ed\":\"يبدو جيداً!\",\"lower_limit_of_range_6ddd4983\":\"الحد الأدنى للنطاق\",\"lti_1_3_c84fd177\":\"LTI 1.3\",\"lti_1_3_tools_list_ac30b375\":\"قائمة أدوات LTI 1.3\",\"manage_app_list_994cc26c\":\"إدارة قائمة التطبيقات\",\"manage_grading_schemes_in_context_name_e3678273\":\"إدارة أنظمة تقييم الدرجات في %{context_name}\",\"manage_update_23de23a1\":\"إدارة التحديث\",\"manage_update_for_toolname_f8e3b2fb\":\"إدارة تحديث %{toolName}\",\"manual_entry_e4a4f99a\":\"إدخال يدوي\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"تحديد الترحيل\",\"module_menu_3201af4e\":\"قائمة الوحدة\",\"name_1aed4a1b\":\"الاسم\",\"name_app_has_been_deleted_fb2d9426\":\"تم حذف تطبيق %{name}\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"تم تثبيت*name* بنجاح ولكن لم يتم تمكينه حتى الآن.\",\"name_is_currently_status_9065c996\":\"*name* بالحالة **status** حاليًا.\",\"name_only_5f56718e\":\"الاسم فقط\",\"no_cancel_installation_db8d12d7\":\"لا، إلغاء التثبيت\",\"no_grading_schemes_to_display_8b0e92e7\":\"لا توجد مخططات تقييم درجات لعرضها\",\"no_placements_enabled_f705f28\":\"لم يتم تمكين أي موضع\",\"not_installed_37a21a76\":\"غير مثبت\",\"one_per_line_format_name_value_79647700\":\"واحد في السطر. التنسيق: الاسم=القيمة\",\"page_menu_2f8bee0\":\"قائمة الصفحة\",\"paste_xml_cda3a64e\":\"لصق XML\",\"placements_5b5e056b\":\"المواضع\",\"privacy_290109ea\":\"الخصوصية\",\"public_a749f507\":\"عام\",\"quiz_menu_4fcd5e61\":\"قائمة الاختبار\",\"range_56b2f310\":\"النطاق\",\"range_name_90614433\":\"اسم النطاق\",\"registration_url_60e0eaaa\":\"عنوان URL للتسجيل\",\"remove_row_c198da5a\":\"إزالة صف\",\"reregister_9ab95a57\":\"إعادة التسجيل\",\"reregister_toolname_3dde0bfc\":\"إعادة تسجيل %{toolName}\",\"save_11a80ec3\":\"حفظ\",\"save_grading_period_daaaddea\":\"حفظ فترة تقييم الدرجات\",\"saving_d55dd90e\":\"جارٍ الحفظ...\",\"see_some_lti_tools_that_work_great_with_canvas_53e92091\":\"اطلع على بعض أدوات LTI التي تعمل بشكل جيد مع Canvas.\",\"settings_5aa0fd0c\":\"إعدادات\",\"shared_secret_892c88f2\":\"كلمة السر المشتركة\",\"similarity_detection_dcada48\":\"اكتشاف التشابه\",\"start_date_e937be8a\":\"تاريخ البدء\",\"status_e7fdbe06\":\"الحالة\",\"submit_a3cc6859\":\"إرسال\",\"sync_grades_a16622ca\":\"مزامنة الدرجات\",\"the_app_was_activated_a84e055f\":\"تم تنشيط التطبيق\",\"the_app_was_added_58e2836a\":\"تمت إضافة التطبيق\",\"the_app_was_added_successfully_3f785a23\":\"تمت إضافة التطبيق بنجاح\",\"the_app_was_deactivated_573520ab\":\"تم إلغاء تنشيط التطبيق\",\"the_app_was_updated_successfully_3d71cd1b\":\"تم تحديث التطبيق بنجاح\",\"the_following_content_is_partner_provided_ed1da756\":\"المحتوى التالي تم إدخاله بواسطة شريك\",\"the_following_fields_are_invalid_fields_b3565800\":\"الحقول التالية غير صالحة: %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"تم حذف فترة تقييم الدرجات\",\"the_preceding_content_is_partner_provided_d753928c\":\"المحتوى السابق تم إدخاله بواسطة شريك\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"حدثت مشكلة أثناء حذف فترة تقييم الدرجات\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"كانت هناك مشكلة في حذف نظام التقييم\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"حدثت مشكلة أثناء جلب الفترات\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"حدثت مشكلة أثناء حفظ فترة تقييم الدرجات\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"كانت هناك مشكلة في حفظ نظام التقييم\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"حدث خطأ أثناء معالجة طلبك\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"حدث خطأ غير معلوم أثناء تسجيل الأداة\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"كانت هناك أخطاء في النموذج: %{errors}\",\"this_field_is_required_fa58c4a\":\"هذا الحقل مطلوب\",\"this_field_name_is_required_988caebc\":\"هذا الحقل \\\"%{name}\\\" مطلوب.\",\"this_field_name_is_required_b9196401\":\"هذا الحقل \\\"name\\\" مطلوب.\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"تم تثبيت هذه الأداة بالفعل في هذا السياق. هل تود تثبيتها على أي حال؟\",\"to_35c6baa2\":\"إلى \",\"to_minscore_43e5452e\":\"إلى %{minScore}%\",\"tool_configuration_63cd43b0\":\"تكوين الأداة\",\"tool_content_e699e813\":\"محتوى الأداة\",\"tool_placements_3f996c24\":\"مواضع الأداة\",\"unable_to_accept_update_fd53a7e2\":\"تعذر قبول التحديث\",\"unable_to_dismiss_update_df1e32eb\":\"تعذر رفض التحديث\",\"unable_to_load_lti_1_3_tools_cf169f9\":\"يتعذر تحميل أدوات Lti 1.3\",\"unable_to_remove_app_4293cb53\":\"يتعذر إزالة التطبيق\",\"unchanged_aca18e02\":\"[دون تغيير]\",\"update_tool_7d48ef2a\":\"تحديث %{tool}\",\"updating_6edbab78\":\"تحديث\",\"upper_limit_of_range_c454a8f2\":\"الحد الأقصى للنطاق\",\"user_navigation_a097be0f\":\"تصفح المستخدم\",\"view_app_center_6c89a3fe\":\"عرض مركز التطبيقات\",\"view_app_configurations_52b52441\":\"عرض تكوينات التطبيقات\",\"view_name_app_62a2ad8e\":\"عرض التطبيق %{name}\",\"view_toolname_placements_4a5724d1\":\"عرض مواضع %{toolName}\",\"we_were_unable_to_activate_the_app_578defe7\":\"يتعذر تنشيط التطبيق.\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"لم نتمكن من إضافة رمز الوصول المميز.\",\"we_were_unable_to_add_the_app_418877ef\":\"لم نتمكن من إضافة التطبيق.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"يتعذر إلغاء تنشيط التطبيق.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"لم نتمكن من تحديث التطبيق.\",\"weight_9b308e5b\":\"الوزن\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"هل تريد قبول أو رفض هذا التحديث؟\",\"would_you_like_to_enable_this_app_ccdf735d\":\"هل ترغب في تمكين هذا التطبيق؟\",\"xml_configuration_5ea1b942\":\"تكوين XML\",\"yes_install_tool_f51b3278\":\"نعم، تثبيت أداة\"},\"cy\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"Tabl sy’n cynnwys enw’r cynllun graddau a botymau i olygu neu ddileu’r cynllun.\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"Tabl sy’n cynnwys data’r cynllun graddau. Mae pob rhes yn cynnwys enw, canran fwyaf a chanran isaf. Hefyd, mae pob rhes yn cynnwys botwm i ychwanegu rhes newydd oddi tanodd, a botwm i ddileu’r rhes bresennol.\",\"accept_2fdd362e\":\"Derbyn\",\"access_token_3be22221\":\"Tocyn Mynediad\",\"account_navigation_80bbefd4\":\"Crwydro’r Cyfrif\",\"actions_efcde10d\":\"Tasgau\",\"add_app_baf540f\":\"Ychwanegu Ap\",\"add_grading_scheme_81e23c05\":\" Ychwanegu cynllun graddau\",\"all_4321c3a1\":\"Y cyfan\",\"all_changes_were_saved_f6f3ddcc\":\"Mae pob newid wedi’i gadw\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"Mae’n rhaid i bob maes dyddiad fod yn bresennol a chael ei fformatio’n gywir\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"Mae’n rhaid i bob cyfnod graddio gael teitl\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"Mae’n rhaid i bob dyddiad dechrau fod cyn y dyddiad gorffen\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"Gadael i’r adnodd hwn gael mynediad at y Gwasanaeth Darparu Rôl ac Enwau IMS\",\"an_update_is_available_for_toolname_bba3fa2\":\"Mae diweddariad ar gael ar gyfer %{toolName}\",\"anonymous_e1b8ad27\":\"Dienw\",\"app_b157c2b3\":\"Ap\",\"app_placements_6d877225\":\"Lleoliadau ap\",\"app_reregistration_87cc8817\":\"Ailgofrestru ap\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} wedi’i osod gan Weinyddwr ac wedi’i gloi\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} wedi’i osod gan y prif gwrs ac wedi’i gloi\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} wedi’i osod gan y prif gwrs\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"Mae apiau’n ffordd hawdd o ychwanegu nodweddion newydd at Canvas. Mae modd eu hychwanegu at gyrsiau unigol, neu at bob cwrs mewn cyfrif. Ar ôl eu ffurfweddu, gallwch eu cysylltu â modiwlau cyrsiau a chreu aseiniadau ar gyfer adnoddau asesu.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"Ydych chi’n siŵr eich bod am ddileu’r cyfnod graddio hwn?\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"Ydych chi’n siŵr eich bod am ddileu’r cynllun graddau hwn?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"Ydych chi’n siŵr eich bod am dynnu’r adnodd hwn?\",\"assignment_edit_6dced39f\":\"Golygu Aseiniad\",\"assignment_menu_91fe3716\":\"Dewislen Aseiniad\",\"assignment_selection_6bff05c4\":\"Dewis Aseiniad\",\"assignment_view_1206a60b\":\"Gwedd Aseiniad\",\"back_to_app_center_95420d83\":\"Yn ôl i’r Ganolfan Apiau\",\"by_lti_2_registration_url_e421e523\":\"Yn ôl URL Cofrestru LTI 2\",\"by_url_a163275e\":\"Yn ôl URL\",\"cancel_caeb1e68\":\"Canslo\",\"close_d634289d\":\"Cau\",\"close_date_a2f617b3\":\"Cau Dyddiad\",\"collaboration_71c024f4\":\"Cydweithrediad\",\"config_url_e96ceaf3\":\"Ffurfweddu URL\",\"configuration_type_25a084a4\":\"Math o Ffurfweddiad\",\"configure_ecb97e30\":\"Ffurfweddu\",\"configure_tool_app_3b1bb50b\":\"Ffurfweddu Ap %{tool}?\",\"configure_toolname_app_651371be\":\"Ffurfweddu Ap %{toolName}\",\"consumer_key_6f94ba11\":\"Allwedd Defnyddiwr\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(lefel %{context} )\",\"count_apps_found_f4d86860\":\"%{count} ap wedi’u canfod\",\"course_assignments_menu_fa6aeb23\":\"Dewislen Aseiniadau Cwrs\",\"course_home_sub_navigation_b1ee6b03\":\"Isddewislen Crwydro Tudalen Hafan y Cwrs\",\"course_navigation_dd035109\":\"Dewislen Crwydro’r Cwrs\",\"course_settings_sub_navigation_b95deae\":\"Isddewislen Crwydro Gosodiadau'r Cwrs\",\"custom_fields_fc3e55af\":\"Meysydd Personol\",\"delete_a6efa79d\":\"Dileu\",\"delete_grading_period_dba36e59\":\"Dileu cyfnod graddio\",\"delete_grading_scheme_6b308832\":\"Dileu Cynllun Graddau\",\"delete_tool_app_9c9f6d35\":\"Dileu Ap %{tool}?\",\"delete_toolname_app_85f9d4ee\":\"Dileu Ap %{toolName}\",\"description_436c48d7\":\"Disgrifiad\",\"disable_a5c05db3\":\"Analluogi\",\"disable_toolname_44d6397c\":\"Analluogi %{toolName}\",\"disabled_18c33a73\":\"(wedi analluogi)\",\"discussion_topic_menu_3d4684c6\":\"Dewislen Pwnc Trafod\",\"dismiss_dacdb625\":\"Diystyru\",\"domain_3b54c511\":\"Parth\",\"e_mail_only_2cc5e513\":\"E-bost yn unig\",\"edit_app_b0cc1c17\":\"Golygu Ap\",\"edit_c5fbea07\":\"Golygu\",\"edit_grading_scheme_53091236\":\"Golygu Cynllun Graddau\",\"edit_toolname_app_23cfbb8\":\"Golygu Ap %{toolName}\",\"editor_button_6647db9c\":\"Botwm Golygydd\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"Dylid gosod naill ai’r url neu’r parth.\",\"enable_6f5d1328\":\"Galluogi\",\"enable_toolname_dc64c25a\":\"Galluogi %{toolName}\",\"end_date_e0093ed7\":\"Dyddiad Gorffen\",\"enter_the_access_token_for_your_organization_from__38b84fd1\":\"Rhowch y tocyn mynediad ar gyfer eich sefydliad yn                     *eduappcenter.com*. Ar ôl ei roi ar waith, dim ond apiau y mae'ch sefydliad wedi’u cymeradwyo yn                     EduAppCenter fydd wedi’u nodi yn y dudalen Apiau Allanol.                     Yma gallwch ddysgu sut mae **creu tocyn mynediad**.\",\"example_https_example_com_config_xml_be5f36ac\":\"Enghraifft: https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"Enghraifft: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"Apiau allanol\",\"file_menu_cc0ca54\":\"Dewislen Ffeil\",\"filter_by_name_34cbe139\":\"Hidlo yn ôl enw\",\"global_navigation_8bee3501\":\"Dewislen Crwydro’r Safle Cyfan\",\"grading_aa6de9\":\"Graddio\",\"grading_period_name_31ceb3e3\":\"Enw’r Cyfnod Graddio\",\"grading_period_title_23b7f8ac\":\"Teitl y Cyfnod Graddio\",\"grading_period_weight_99b66906\":\"Pwysoliad y Cyfnod Graddio\",\"grading_periods_81941e66\":\"Cyfnodau Graddio\",\"grading_periods_must_not_overlap_f45336fb\":\"Ni chaiff cyfnodau graddio gyd-daro â’i gilydd\",\"grading_scheme_deleted_7ae5a072\":\"Cynllun graddau wedi’i ddileu\",\"grading_scheme_saved_85535151\":\"Cynllun graddau wedi’i gadw\",\"grading_schemes_1c3c3252\":\"Cynlluniau Graddau\",\"grading_standard_title_58f540a3\":\"Teitl y safon graddio\",\"homework_submission_172e8354\":\"Y Gwaith Cartref sydd wedi’i gyflwyno\",\"insert_row_below_25187f89\":\"Mewnosod rhes oddi tanodd\",\"installed_7b284a91\":\"Wedi gosod\",\"launch_external_tool_672c0409\":\"Lansio Adnodd Allanol\",\"launch_registration_tool_38d4781\":\"Lansio Adnodd Cofrestru\",\"launch_url_e150bd41\":\"Lansio URL\",\"link_selection_1486c5d0\":\"Dewis Dolen\",\"link_to_lti_tools_608df3b0\":\"Dolen i’r adnoddau Iti.\",\"looks_great_e4d883ed\":\"Mae'n edrych yn wych!\",\"lower_limit_of_range_6ddd4983\":\"Terfyn isaf yr ystod\",\"lti_1_3_c84fd177\":\"LTI 1.3\",\"lti_1_3_tools_list_ac30b375\":\"Rhestr Adnoddau LTI 1.3\",\"manage_app_list_994cc26c\":\"Rheoli Rhestr Apiau\",\"manage_grading_schemes_in_context_name_e3678273\":\"Rheoli cynlluniau graddau yn %{context_name}\",\"manage_update_23de23a1\":\"Rheoli Diweddaru\",\"manage_update_for_toolname_f8e3b2fb\":\"Rheoli diweddaru ar gyfer %{toolName}\",\"manual_entry_e4a4f99a\":\"Cofnod sydd ddim yn un awtomatig\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"Dewisiad Mudo\",\"module_menu_3201af4e\":\"Dewislen Modiwl\",\"name_1aed4a1b\":\"Enw\",\"name_app_has_been_deleted_fb2d9426\":\"%{name} - mae’r ap hwn wedi’i ddileu\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"*wedi llwyddo i osod enw* ond heb ei alluogi eto.\",\"name_is_currently_status_9065c996\":\"*mae enw* yn **statws**ar hyn o bryd.\",\"name_only_5f56718e\":\"Enw yn unig\",\"no_cancel_installation_db8d12d7\":\"Na, canslo’r broses osod\",\"no_grading_schemes_to_display_8b0e92e7\":\"Dim cynlluniau graddau i’w dangos\",\"no_placements_enabled_f705f28\":\"Dim lleoliadau wedi’u galluogi\",\"not_installed_37a21a76\":\"Heb Osod\",\"one_per_line_format_name_value_79647700\":\"Un fesul llinell. Fformat: enw=gwerth\",\"page_menu_2f8bee0\":\"Dewislen Tudalen\",\"paste_xml_cda3a64e\":\"Gludo XML\",\"placements_5b5e056b\":\"Lleoliadau\",\"privacy_290109ea\":\"Preifatrwydd\",\"public_a749f507\":\"Cyhoeddus\",\"quiz_menu_4fcd5e61\":\"Dewislen Cwis\",\"range_56b2f310\":\"Ystod\",\"range_name_90614433\":\"Enw ystod\",\"registration_url_60e0eaaa\":\"URL Cofrestru\",\"remove_row_c198da5a\":\"Tynnu rhes\",\"reregister_9ab95a57\":\"Ail-gofrestru\",\"reregister_toolname_3dde0bfc\":\"Ail-gofrestru %{toolName}\",\"save_11a80ec3\":\"Cadw\",\"save_grading_period_daaaddea\":\"Cadw Cyfnod Graddio\",\"saving_d55dd90e\":\"Wrthi’n cadw...\",\"see_some_lti_tools_that_work_great_with_canvas_53e92091\":\"Gweld adnoddau LTI sy’n gweithio’n wych gyda Canvas.\",\"settings_5aa0fd0c\":\"Gosodiadau\",\"shared_secret_892c88f2\":\"Cyfrinach gan\",\"similarity_detection_dcada48\":\"Canfod Tebygrwydd\",\"start_date_e937be8a\":\"Dyddiad Dechrau\",\"status_e7fdbe06\":\"Statws\",\"submit_a3cc6859\":\"Cyflwyno\",\"sync_grades_a16622ca\":\"Cysoni Graddau\",\"the_app_was_activated_a84e055f\":\"Cafodd yr ap ei ysgogi\",\"the_app_was_added_58e2836a\":\"Cafodd yr ap ei ychwanegu\",\"the_app_was_added_successfully_3f785a23\":\"Wedi llwyddo i ychwanegu'r ap\",\"the_app_was_deactivated_573520ab\":\"Cafodd yr ap ei analluogi\",\"the_app_was_updated_successfully_3d71cd1b\":\"Wedi llwyddo i ddiweddaru'r ap\",\"the_following_content_is_partner_provided_ed1da756\":\"Mae’r cynnwys canlynol yn cael ei ddarparu gan bartner\",\"the_following_fields_are_invalid_fields_b3565800\":\"Roedd y meysydd canlynol yn annilys: %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"Mae'r cyfnod graddio wedi’i ddileu\",\"the_preceding_content_is_partner_provided_d753928c\":\"Mae’r cynnwys blaenorol yn cael ei ddarparu gan bartner\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"Problem wrth ddileu’r gyfnod graddio\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"Problem wrth ddileu’r cynllun graddau\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"Problem wrth nôl cyfnodau\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"Problem wrth gadw’r gyfnod graddio\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"Problem wrth gadw’r cynllun graddau\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"Gwall wrth brosesu’ch cais\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"Gwall dieithr wrth gofrestru’r adnodd\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"Gwallau gyda’r ffurflen: %{errors}\",\"this_field_is_required_fa58c4a\":\"Mae’n rhaid llenwi’r maes hwn\",\"this_field_name_is_required_988caebc\":\"Mae’n rhaid llenwi’r maes \\\"%{name}\\\".\",\"this_field_name_is_required_b9196401\":\"Mae’n rhaid llenwi’r maes \\\"enw\\\".\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"Mae’r adnodd hwn wedi’i osod yn barod yn y cyd-destun hwn. Ydych chi am ei osod beth bynnag?\",\"to_35c6baa2\":\"i \",\"to_minscore_43e5452e\":\"i %{minScore}%\",\"tool_configuration_63cd43b0\":\"Ffurfweddu Adnodd\",\"tool_content_e699e813\":\"Cynnwys Adnodd\",\"tool_placements_3f996c24\":\"Lleoliadau Adnodd\",\"unable_to_accept_update_fd53a7e2\":\"Doedd dim modd derbyn y diweddariad\",\"unable_to_dismiss_update_df1e32eb\":\"Doedd dim modd gwrthod y diweddariad\",\"unable_to_load_lti_1_3_tools_cf169f9\":\"Does dim modd llwytho Adnoddau LTI 1.3\",\"unable_to_remove_app_4293cb53\":\"Doedd dim modd tynnu ap\",\"unchanged_aca18e02\":\"[Heb newid]\",\"update_tool_7d48ef2a\":\"Diweddaru %{tool}\",\"updating_6edbab78\":\"Diweddaru\",\"upper_limit_of_range_c454a8f2\":\"Terfyn uchaf yr ystod\",\"user_navigation_a097be0f\":\"Dewislen crwydro - defnyddiwr\",\"view_app_center_6c89a3fe\":\"Gweld y Ganolfan Apiau\",\"view_app_configurations_52b52441\":\"Gweld Ffurfweddiadau Ap\",\"view_name_app_62a2ad8e\":\"Gweld ap %{name}\",\"view_toolname_placements_4a5724d1\":\"Gweld Lleoliadau %{toolName}\",\"we_were_unable_to_activate_the_app_578defe7\":\"Doedd dim modd i ni roi’r ap ar waith.\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"Doedd dim modd i ni ychwanegu’r tocyn mynediad.\",\"we_were_unable_to_add_the_app_418877ef\":\"Doedd dim modd i ni ychwanegu’r ap.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"Doedd dim modd i ni analluogi’r ap.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"Doedd dim modd i ni ddiweddaru’r ap.\",\"weight_9b308e5b\":\"Pwysoliad\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"Ydych chi am dderbyn neu wrthod y diweddariad hwn?\",\"would_you_like_to_enable_this_app_ccdf735d\":\"Ydych chi am alluogi’r ap hwn?\",\"xml_configuration_5ea1b942\":\"Ffurfweddu XML\",\"yes_install_tool_f51b3278\":\"Iawn, gosod yr Adnodd\"},\"da\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"En tabel, som indeholder navnet på karakterordning og knapper til at redigere eller slette ordningen.\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"En tabel, som indeholder karakterordningens data. Hver række indeholder et navn, en maksimal procentdel og en minimal procentdel. Derudover indeholder hver række en knap til at tilføje en række nedenfor, og en knap til at slette den aktuelle række.\",\"accept_2fdd362e\":\"Acceptér\",\"access_token_3be22221\":\"Adgangs-token\",\"account_navigation_80bbefd4\":\"Kontonavigation\",\"actions_efcde10d\":\"Handlinger\",\"add_app_baf540f\":\"Tilføj app\",\"add_grading_scheme_81e23c05\":\"Tilføj karakterordning\",\"all_4321c3a1\":\"Alle\",\"all_changes_were_saved_f6f3ddcc\":\"Alle ændringer blev gemt\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"Alle datafelter skal være til stede og korrekt formateret\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"Alle karakterperioder skal have en titel\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"Alle startdatoer skal ligge før slutdatoen\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"Giv dette værktøj adgang til IMS Name and Role Provisioning Service\",\"an_update_is_available_for_toolname_bba3fa2\":\"Der findes en opdatering for %{toolName}\",\"anonymous_e1b8ad27\":\"Anonym\",\"app_b157c2b3\":\"App\",\"app_placements_6d877225\":\"App-placeringer\",\"app_reregistration_87cc8817\":\"Genregistrering af app\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} blev installeret af admin og er låst\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} blev installeret af hovedkursus og er låst\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} blev installeret af hovedkursus\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"App'er er en nem måde til at føje nye funktioner til Canvas. De kan føjes til individuelle fag, eller til fag i en konto. Når de er konfigureret, kan du linke til dem via fag-moduler, og oprette opgaver til bedømmelsesværktøjer.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"Er du sikker på, at du vil slette denne karakterperiode?\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"Er du sikker på, at du vil slette denne karakterordning?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"Er du sikker på, du vil slette dette værktøj?\",\"assignment_edit_6dced39f\":\"Rediger opgave\",\"assignment_menu_91fe3716\":\"Opgavemenu\",\"assignment_selection_6bff05c4\":\"Opgavevalg\",\"assignment_view_1206a60b\":\"Opgavevisning\",\"back_to_app_center_95420d83\":\"Tilbage til App Center\",\"by_lti_2_registration_url_e421e523\":\"Fra LTI 2 Registration URL\",\"by_url_a163275e\":\"Efter URL\",\"cancel_caeb1e68\":\"Annuller\",\"close_d634289d\":\"Luk\",\"close_date_a2f617b3\":\"Afslutningsdato\",\"collaboration_71c024f4\":\"Samarbejde\",\"config_url_e96ceaf3\":\"Konfig URL\",\"configuration_type_25a084a4\":\"Konfigurationstype\",\"configure_ecb97e30\":\"Konfigurer\",\"configure_tool_app_3b1bb50b\":\"Konfigurer %{tool} app?\",\"configure_toolname_app_651371be\":\"Konfigurer %{toolName} app\",\"consumer_key_6f94ba11\":\"Forbrugernøgle\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(%{context} niveau)\",\"count_apps_found_f4d86860\":\"%{count} apps fundet\",\"course_assignments_menu_fa6aeb23\":\"Fagets opgavemenu\",\"course_home_sub_navigation_b1ee6b03\":\"Fagets startside undernavigation\",\"course_navigation_dd035109\":\"Fagnavigation\",\"course_settings_sub_navigation_b95deae\":\"Kursusindstillinger subnavigation\",\"custom_fields_fc3e55af\":\"Brugerdefinerede felter\",\"delete_a6efa79d\":\"Slet\",\"delete_grading_period_dba36e59\":\"Slet karakterperiode\",\"delete_grading_scheme_6b308832\":\"Slet karakterordning\",\"delete_tool_app_9c9f6d35\":\"Slet %{tool} app?\",\"delete_toolname_app_85f9d4ee\":\"Slet %{toolName} app\",\"description_436c48d7\":\"Beskrivelse\",\"disable_a5c05db3\":\"Deaktiver\",\"disable_toolname_44d6397c\":\"Deaktiver %{toolName}\",\"disabled_18c33a73\":\"(deaktiveret)\",\"discussion_topic_menu_3d4684c6\":\"Diskussionsemnemenu\",\"dismiss_dacdb625\":\"Afvis\",\"domain_3b54c511\":\"Domæne\",\"e_mail_only_2cc5e513\":\"Kun e-mail\",\"edit_app_b0cc1c17\":\"Rediger app\",\"edit_c5fbea07\":\"Rediger\",\"edit_grading_scheme_53091236\":\"Rediger karakterordning\",\"edit_toolname_app_23cfbb8\":\"Rediger %{toolName} app\",\"editor_button_6647db9c\":\"Redigeringsknap\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"Webadressen (url) eller domænet skal indstilles.\",\"enable_6f5d1328\":\"Aktivér\",\"enable_toolname_dc64c25a\":\"Aktivér %{toolName}\",\"end_date_e0093ed7\":\"Slutdato\",\"enter_the_access_token_for_your_organization_from__38b84fd1\":\"Indtast dit adgangs-token til organisationen fra                     *eduappcenter.com*. Når anvendt, er det kun apps, som din organisation har godkendt i                     EduAppCenter, der bliver opført på siden Eksterne apps.                     Lær at **generere et adgangs-token**.\",\"example_https_example_com_config_xml_be5f36ac\":\"Eksempel: https://eksempel.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"Eksempel: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"Eksterne app'er\",\"file_menu_cc0ca54\":\"Filmenu\",\"filter_by_name_34cbe139\":\"Filtrer efter navn\",\"global_navigation_8bee3501\":\"Global navigation\",\"grading_aa6de9\":\"Karaktergivning\",\"grading_period_name_31ceb3e3\":\"Navn på karakterperiode\",\"grading_period_title_23b7f8ac\":\"Titel for karakterperiode\",\"grading_period_weight_99b66906\":\"Vægtning for karakterperiode\",\"grading_periods_81941e66\":\"Karakterperioder\",\"grading_periods_must_not_overlap_f45336fb\":\"Karakterperioder må ikke overlappe\",\"grading_scheme_deleted_7ae5a072\":\"Karakterordning slettet\",\"grading_scheme_saved_85535151\":\"Karakterordning gemt\",\"grading_schemes_1c3c3252\":\"Karakterordninger\",\"grading_standard_title_58f540a3\":\"Titel på karakterstandard\",\"homework_submission_172e8354\":\"Hjemmearbejde aflevering\",\"insert_row_below_25187f89\":\"Indsæt række nedenfor\",\"installed_7b284a91\":\"Installeret\",\"launch_external_tool_672c0409\":\"Start eksternt værktøj\",\"launch_registration_tool_38d4781\":\"Igangsæt registreringsværktøj\",\"launch_url_e150bd41\":\"Igangsæt URL\",\"link_selection_1486c5d0\":\"Linkvalg\",\"link_to_lti_tools_608df3b0\":\"Link til lti-værktøjer.\",\"looks_great_e4d883ed\":\"Det ser godt ud!\",\"lower_limit_of_range_6ddd4983\":\"Lavere intervalgrænse\",\"lti_1_3_c84fd177\":\"LTI 1.3\",\"lti_1_3_tools_list_ac30b375\":\"LTI 1.3 værktøjsliste\",\"manage_app_list_994cc26c\":\"Administrering af app-liste\",\"manage_grading_schemes_in_context_name_e3678273\":\"Styring af karakterordninger i  %{context_name}\",\"manage_update_23de23a1\":\"Administrering af opdatering\",\"manage_update_for_toolname_f8e3b2fb\":\"Administrering af opdatering for %{toolName}\",\"manual_entry_e4a4f99a\":\"Manuel indtastning\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"Overførselsvalg\",\"module_menu_3201af4e\":\"Modulmenu\",\"name_1aed4a1b\":\"Navn\",\"name_app_has_been_deleted_fb2d9426\":\"%{name} app er blevet slettet\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"*navn* er blevet installeret, men er endnu ikke blevet aktiveret.\",\"name_is_currently_status_9065c996\":\"*navn* er aktuelt **status**.\",\"name_only_5f56718e\":\"Kun navn\",\"no_cancel_installation_db8d12d7\":\"Nej, annuller installation\",\"no_grading_schemes_to_display_8b0e92e7\":\"Der kan ikke vises karakterordninger\",\"no_placements_enabled_f705f28\":\"Der er ikke aktiveret placeringer\",\"not_installed_37a21a76\":\"Ikke installeret\",\"one_per_line_format_name_value_79647700\":\"En pr. linje. Format: navn=værdi\",\"page_menu_2f8bee0\":\"Sidemenu\",\"paste_xml_cda3a64e\":\"Indsæt XML\",\"placements_5b5e056b\":\"Placeringer\",\"privacy_290109ea\":\"Datapolitik\",\"public_a749f507\":\"Offentligt\",\"quiz_menu_4fcd5e61\":\"Testmenu\",\"range_56b2f310\":\"Interval\",\"range_name_90614433\":\"Intervalnavn\",\"registration_url_60e0eaaa\":\"Registrerings-URL\",\"remove_row_c198da5a\":\"Fjern række\",\"reregister_9ab95a57\":\"Registrer\",\"reregister_toolname_3dde0bfc\":\"Registrer igen %{toolName}\",\"save_11a80ec3\":\"Gem\",\"save_grading_period_daaaddea\":\"Gem karakterperiode\",\"saving_d55dd90e\":\"Gemmer ...\",\"see_some_lti_tools_that_work_great_with_canvas_53e92091\":\"Se nogle LTI-værktøjer, der fungerer godt med Canvas.\",\"settings_5aa0fd0c\":\"Indstillinger\",\"shared_secret_892c88f2\":\"Fælles hemmelighed\",\"similarity_detection_dcada48\":\"Ligheds-opdagelse\",\"start_date_e937be8a\":\"Startdato\",\"status_e7fdbe06\":\"Status\",\"submit_a3cc6859\":\"Aflever\",\"sync_grades_a16622ca\":\"Synkroniser karakterer\",\"the_app_was_activated_a84e055f\":\"App'en blev aktiveret\",\"the_app_was_added_58e2836a\":\"Denne app blev tilføjet\",\"the_app_was_added_successfully_3f785a23\":\"App'en blev tilføjet\",\"the_app_was_deactivated_573520ab\":\"App'en blev deaktiveret\",\"the_app_was_updated_successfully_3d71cd1b\":\"App'en blev opdateret\",\"the_following_content_is_partner_provided_ed1da756\":\"Følgende indhold er partnerleveret\",\"the_following_fields_are_invalid_fields_b3565800\":\"Følgende felter er ugyldige: %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"Karakterperioden blev slettet\",\"the_preceding_content_is_partner_provided_d753928c\":\"Foregående indhold er partnerleveret\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"Der opstod et problem ved sletning af karakterperioden\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"Der opstod et problem ved sletning af karakterordningen\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"Der opstod et problem ved hentning af perioder\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"Der opstod et problem ved lagring af karakterperioden\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"Der opstod et problem ved lagring af karakterordning\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"Der opstod en fejl ved behandling af din anmodning\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"Der opstod en ukendt fejl ved registrering af værktøjet\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"Der opstod fejl med formularen: %{errors}\",\"this_field_is_required_fa58c4a\":\"Dette felt er påkrævet\",\"this_field_name_is_required_988caebc\":\"Dette felt \\\"%{name}\\\" er påkrævet.\",\"this_field_name_is_required_b9196401\":\"Dette felt \\\"navn\\\" er påkrævet.\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"Dette værktøj er allerede blevet installeret i denne kontekst. Vil du gerne installere det alligevel?\",\"to_35c6baa2\":\"til\",\"to_minscore_43e5452e\":\"til %{minScore}%\",\"tool_configuration_63cd43b0\":\"Værktøjskonfiguration\",\"tool_content_e699e813\":\"Værktøjsindhold\",\"tool_placements_3f996c24\":\"Værktøjsplaceringer\",\"unable_to_accept_update_fd53a7e2\":\"Kan ikke acceptere opdatering\",\"unable_to_dismiss_update_df1e32eb\":\"Kan ikke annullere opdatering\",\"unable_to_load_lti_1_3_tools_cf169f9\":\"Kan ikke indlæse Lti 1.3 værktøjer\",\"unable_to_remove_app_4293cb53\":\"Kan ikke fjerne app\",\"unchanged_aca18e02\":\"[Uændret]\",\"update_tool_7d48ef2a\":\"Opdater %{tool}\",\"updating_6edbab78\":\"Opdaterer\",\"upper_limit_of_range_c454a8f2\":\"Intervallets øvre grænse\",\"user_navigation_a097be0f\":\"Brugernavigation\",\"view_app_center_6c89a3fe\":\"Vis App Center\",\"view_app_configurations_52b52441\":\"Vis app-konfigurationer\",\"view_name_app_62a2ad8e\":\"Vis %{name} app\",\"view_toolname_placements_4a5724d1\":\"Vis %{toolName} placeringer\",\"we_were_unable_to_activate_the_app_578defe7\":\"Vi kunne ikke aktivere app'en.\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"Vi kunne ikke tilføje adgangstoken.\",\"we_were_unable_to_add_the_app_418877ef\":\"Vi kunne ikke tilføje app'en.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"Vi kunne ikke deaktivere app'en.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"Vi kunne ikke opdatere app'en.\",\"weight_9b308e5b\":\"Vægt\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"Vil du acceptere eller afvise denne opdatering?\",\"would_you_like_to_enable_this_app_ccdf735d\":\"Vil du aktivere denne app?\",\"xml_configuration_5ea1b942\":\"XML-konfiguration\",\"yes_install_tool_f51b3278\":\"Ja, installer værktøj\"},\"da-x-k12\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"En tabel, som indeholder navnet på vurderingsordningen og knapper til at redigere eller slette ordningen.\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"En tabel, som indeholder vurderingsordningens data. Hver række indeholder et navn, en maksimal procentdel og en minimal procentdel. Derudover indeholder hver række en knap til at tilføje en række nedenfor, og en knap til at slette den aktuelle række.\",\"accept_2fdd362e\":\"Acceptér\",\"access_token_3be22221\":\"Adgangs-token\",\"account_navigation_80bbefd4\":\"Kontonavigation\",\"actions_efcde10d\":\"Handlinger\",\"add_app_baf540f\":\"Tilføj app\",\"add_grading_scheme_81e23c05\":\"Tilføj vurderingsordning\",\"all_4321c3a1\":\"Alle\",\"all_changes_were_saved_f6f3ddcc\":\"Alle ændringer blev gemt\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"Alle datafelter skal være til stede og korrekt formateret\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"Alle vurderingsperioder skal have en titel\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"Alle startdatoer skal ligge før slutdatoen\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"Giv dette værktøj adgang til IMS Name and Role Provisioning Service\",\"an_update_is_available_for_toolname_bba3fa2\":\"Der findes en opdatering for %{toolName}\",\"anonymous_e1b8ad27\":\"Anonym\",\"app_b157c2b3\":\"App\",\"app_placements_6d877225\":\"App-placeringer\",\"app_reregistration_87cc8817\":\"Genregistrering af app\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} blev installeret af admin og er låst\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} blev installeret af hovedfaget og er låst\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} blev installeret af hovedfaget\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"App'er er en nem måde til at føje nye funktioner til Canvas. De kan føjes til individuelle fag, eller til fag i en konto. Når de er konfigureret, kan du linke til dem via fagforløb, og oprette opgaver til bedømmelsesværktøjer.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"Er du sikker på, at du vil slette denne vurderingsperiode?\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"Er du sikker på, at du vil slette denne vurderingsordning?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"Er du sikker på, du vil slette dette værktøj?\",\"assignment_menu_91fe3716\":\"Opgavemenu\",\"assignment_selection_6bff05c4\":\"Opgavevalg\",\"back_to_app_center_95420d83\":\"Tilbage til App Center\",\"by_lti_2_registration_url_e421e523\":\"Fra LTI 2 Registration URL\",\"by_url_a163275e\":\"Efter URL\",\"cancel_caeb1e68\":\"Annuller\",\"close_d634289d\":\"Luk\",\"close_date_a2f617b3\":\"Afslutningsdato\",\"collaboration_71c024f4\":\"Samarbejde\",\"config_url_e96ceaf3\":\"Konfig URL\",\"configuration_type_25a084a4\":\"Konfigurationstype\",\"configure_ecb97e30\":\"Konfigurer\",\"configure_tool_app_3b1bb50b\":\"Konfigurer %{tool} app?\",\"configure_toolname_app_651371be\":\"Konfigurer %{toolName} app\",\"consumer_key_6f94ba11\":\"Forbrugernøgle\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(%{context} niveau)\",\"count_apps_found_f4d86860\":\"%{count} apps fundet\",\"course_assignments_menu_fa6aeb23\":\"Fagets opgavemenu\",\"course_home_sub_navigation_b1ee6b03\":\"Fagets startside undernavigation\",\"course_navigation_dd035109\":\"Fagnavigation\",\"course_settings_sub_navigation_b95deae\":\"Fagindstillinger subnavigation\",\"custom_fields_fc3e55af\":\"Brugerdefinerede felter\",\"delete_a6efa79d\":\"Slet\",\"delete_grading_period_dba36e59\":\"Slet vurderingsperiode\",\"delete_grading_scheme_6b308832\":\"Slet vurderingsordning\",\"delete_tool_app_9c9f6d35\":\"Slet %{tool} app?\",\"delete_toolname_app_85f9d4ee\":\"Slet %{toolName} app\",\"description_436c48d7\":\"Beskrivelse\",\"disable_a5c05db3\":\"Deaktiver\",\"disabled_18c33a73\":\"(deaktiveret)\",\"discussion_topic_menu_3d4684c6\":\"Diskussionsemnemenu\",\"dismiss_dacdb625\":\"Afvis\",\"domain_3b54c511\":\"Domæne\",\"e_mail_only_2cc5e513\":\"Kun e-mail\",\"edit_app_b0cc1c17\":\"Rediger app\",\"edit_c5fbea07\":\"Rediger\",\"edit_grading_scheme_53091236\":\"Rediger vurderingsordning\",\"edit_toolname_app_23cfbb8\":\"Rediger %{toolName} app\",\"editor_button_6647db9c\":\"Redigeringsknap\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"Webadressen (url) eller domænet skal indstilles.\",\"enable_6f5d1328\":\"Aktivér\",\"end_date_e0093ed7\":\"Slutdato\",\"example_https_example_com_config_xml_be5f36ac\":\"Eksempel: https://eksempel.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"Eksempel: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"Eksterne app'er\",\"file_menu_cc0ca54\":\"Filmenu\",\"filter_by_name_34cbe139\":\"Filtrer efter navn\",\"global_navigation_8bee3501\":\"Global navigation\",\"grading_aa6de9\":\"Vurdering\",\"grading_period_name_31ceb3e3\":\"Navn på vurderingsperiode\",\"grading_period_title_23b7f8ac\":\"Titel for vurderingsperiode\",\"grading_period_weight_99b66906\":\"Vægtning for vurderingsperiode\",\"grading_periods_81941e66\":\"Vurderingsperioder\",\"grading_periods_must_not_overlap_f45336fb\":\"Vurderingsperioder må ikke overlappe\",\"grading_scheme_deleted_7ae5a072\":\"Vurderingsordning slettet\",\"grading_scheme_saved_85535151\":\"Vurderingsordning gemt\",\"grading_schemes_1c3c3252\":\"Vurderingsordninger\",\"grading_standard_title_58f540a3\":\"Titel på vurderingsstandard\",\"homework_submission_172e8354\":\"Hjemmearbejde aflevering\",\"insert_row_below_25187f89\":\"Indsæt række nedenfor\",\"installed_7b284a91\":\"Installeret\",\"launch_external_tool_672c0409\":\"Start eksternt værktøj\",\"launch_registration_tool_38d4781\":\"Igangsæt registreringsværktøj\",\"launch_url_e150bd41\":\"Igangsæt URL\",\"link_selection_1486c5d0\":\"Linkvalg\",\"looks_great_e4d883ed\":\"Det ser godt ud!\",\"lower_limit_of_range_6ddd4983\":\"Lavere intervalgrænse\",\"manage_app_list_994cc26c\":\"Administrering af app-liste\",\"manage_grading_schemes_in_context_name_e3678273\":\"Styring af vurderingsordninger i  %{context_name}\",\"manage_update_23de23a1\":\"Administrering af opdatering\",\"manage_update_for_toolname_f8e3b2fb\":\"Administrering af opdatering for %{toolName}\",\"manual_entry_e4a4f99a\":\"Manuel indtastning\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"Overførselsvalg\",\"module_menu_3201af4e\":\"Forløbmenu\",\"name_1aed4a1b\":\"Navn\",\"name_app_has_been_deleted_fb2d9426\":\"%{name} app er blevet slettet\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"*navn* er blevet installeret, men er endnu ikke blevet aktiveret.\",\"name_is_currently_status_9065c996\":\"*navn* er aktuelt **status**.\",\"name_only_5f56718e\":\"Kun navn\",\"no_cancel_installation_db8d12d7\":\"Nej, annuller installation\",\"no_grading_schemes_to_display_8b0e92e7\":\"Der kan ikke vises vurderingsordninger\",\"no_placements_enabled_f705f28\":\"Der er ikke aktiveret placeringer\",\"not_installed_37a21a76\":\"Ikke installeret\",\"one_per_line_format_name_value_79647700\":\"En pr. linje. Format: navn=værdi\",\"page_menu_2f8bee0\":\"Sidemenu\",\"paste_xml_cda3a64e\":\"Indsæt XML\",\"placements_5b5e056b\":\"Placeringer\",\"privacy_290109ea\":\"Datapolitik\",\"public_a749f507\":\"Offentligt\",\"quiz_menu_4fcd5e61\":\"Quizmenu\",\"range_56b2f310\":\"Interval\",\"range_name_90614433\":\"Intervalnavn\",\"registration_url_60e0eaaa\":\"Registrerings-URL\",\"remove_row_c198da5a\":\"Fjern række\",\"reregister_9ab95a57\":\"Registrer\",\"reregister_toolname_3dde0bfc\":\"Registrer igen %{toolName}\",\"save_11a80ec3\":\"Gem\",\"save_grading_period_daaaddea\":\"Gem vurderingsperiode\",\"saving_d55dd90e\":\"Gemmer ...\",\"settings_5aa0fd0c\":\"Indstillinger\",\"shared_secret_892c88f2\":\"Fælles hemmelighed\",\"similarity_detection_dcada48\":\"Ligheds-opdagelse\",\"start_date_e937be8a\":\"Startdato\",\"status_e7fdbe06\":\"Status\",\"submit_a3cc6859\":\"Aflever\",\"sync_grades_a16622ca\":\"Synkroniser vurderinger\",\"the_app_was_activated_a84e055f\":\"App'en blev aktiveret\",\"the_app_was_added_58e2836a\":\"Denne app blev tilføjet\",\"the_app_was_added_successfully_3f785a23\":\"App'en blev tilføjet\",\"the_app_was_deactivated_573520ab\":\"App'en blev deaktiveret\",\"the_app_was_updated_successfully_3d71cd1b\":\"App'en blev opdateret\",\"the_following_content_is_partner_provided_ed1da756\":\"Følgende indhold er partnerleveret\",\"the_following_fields_are_invalid_fields_b3565800\":\"Følgende felter er ugyldige: %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"Vurderingsperioden blev slettet\",\"the_preceding_content_is_partner_provided_d753928c\":\"Foregående indhold er partnerleveret\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"Der opstod et problem ved sletning af vurderingsperioden\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"Der opstod et problem ved sletning af vurderingsordningen\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"Der opstod et problem ved hentning af perioder\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"Der opstod et problem ved lagring af vurderingsperioden\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"Der opstod et problem ved lagring af vurderingsordning\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"Der opstod en fejl ved behandling af din anmodning\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"Der opstod en ukendt fejl ved registrering af værktøjet\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"Der opstod fejl med formularen: %{errors}\",\"this_field_is_required_fa58c4a\":\"Dette felt er påkrævet\",\"this_field_name_is_required_988caebc\":\"Dette felt \\\"%{name}\\\" er påkrævet.\",\"this_field_name_is_required_b9196401\":\"Dette felt \\\"navn\\\" er påkrævet.\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"Dette værktøj er allerede blevet installeret i denne kontekst. Vil du gerne installere det alligevel?\",\"to_35c6baa2\":\"til\",\"to_minscore_43e5452e\":\"til %{minScore}%\",\"tool_configuration_63cd43b0\":\"Værktøjskonfiguration\",\"tool_content_e699e813\":\"Værktøjsindhold\",\"tool_placements_3f996c24\":\"Værktøjsplaceringer\",\"unable_to_accept_update_fd53a7e2\":\"Kan ikke acceptere opdatering\",\"unable_to_dismiss_update_df1e32eb\":\"Kan ikke annullere opdatering\",\"unable_to_remove_app_4293cb53\":\"Kan ikke fjerne app\",\"unchanged_aca18e02\":\"[Uændret]\",\"update_tool_7d48ef2a\":\"Opdater %{tool}\",\"updating_6edbab78\":\"Opdaterer\",\"upper_limit_of_range_c454a8f2\":\"Intervallets øvre grænse\",\"user_navigation_a097be0f\":\"Brugernavigation\",\"view_app_center_6c89a3fe\":\"Vis App Center\",\"view_app_configurations_52b52441\":\"Vis app-konfigurationer\",\"view_name_app_62a2ad8e\":\"Vis %{name} app\",\"view_toolname_placements_4a5724d1\":\"Vis %{toolName} placeringer\",\"we_were_unable_to_activate_the_app_578defe7\":\"Vi kunne ikke aktivere app'en.\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"Vi kunne ikke tilføje adgangstoken.\",\"we_were_unable_to_add_the_app_418877ef\":\"Vi kunne ikke tilføje app'en.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"Vi kunne ikke deaktivere app'en.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"Vi kunne ikke opdatere app'en.\",\"weight_9b308e5b\":\"Vægt\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"Vil du acceptere eller afvise denne opdatering?\",\"would_you_like_to_enable_this_app_ccdf735d\":\"Vil du aktivere denne app?\",\"xml_configuration_5ea1b942\":\"XML-konfiguration\",\"yes_install_tool_f51b3278\":\"Ja, installer værktøj\"},\"de\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"Eine Tabelle mit dem Namen des Benotungsschemas und Schaltflächen zum Bearbeiten oder Löschen des Schemas\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"Eine Tabelle mit den Daten des Benotungsschemas. Jede Zeile enthält einen Namen sowie einen maximalen und minimalen Prozentwert. Zudem verfügt jede Zeile über eine Schaltfläche, um unten eine neue Zeile hinzuzufügen sowie eine Schaltfläche, um die aktuelle Zeile zu löschen.\",\"accept_2fdd362e\":\"Akzeptieren\",\"access_token_3be22221\":\"Zugangs-Token\",\"account_navigation_80bbefd4\":\"Konto-Navigation\",\"actions_efcde10d\":\"Aktionen\",\"add_app_baf540f\":\"App hinzufügen\",\"add_grading_scheme_81e23c05\":\"Benotungsschema hinzufügen\",\"all_4321c3a1\":\"Alle\",\"all_changes_were_saved_f6f3ddcc\":\"Alle Änderungen wurden gespeichert.\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"Alle Datumsfelder müssen vorhanden und im richtigen Format sein.\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"Alle Benotungszeiträume müssen einen Titel haben\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"Alle Startdaten müssen vor dem Enddatum liegen\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"Zulassen, dass dieses Werkzeug auf den IMS Names und den Role Provisioning Service zugreift\",\"an_update_is_available_for_toolname_bba3fa2\":\"Es ist ein Update für %{toolName} vorhanden.\",\"anonymous_e1b8ad27\":\"Anonym\",\"app_b157c2b3\":\"App\",\"app_placements_6d877225\":\"App-Platzierungen\",\"app_reregistration_87cc8817\":\"Erneute App-Registrierung\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} wurde von Admin installiert und ist gesperrt\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} wurde durch den Hauptkurs installiert und ist gesperrt\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} wurde durch den Hauptkurs installiert\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"Mithilfe von Apps können auf einfache Weise neue Funktionen zu Canvas hinzugefügt werden. Sie können zu einzelnen Kursen oder zu allen Kursen eines Kontos hinzugefügt werden. Nach der Konfiguration der Apps können Sie aus Kursmodulen auf sie verlinken und Aufgaben für Beurteilungs-Tools erstellen.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"Möchten Sie diesen Benotungszeitraum wirklich löschen?\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"Möchten Sie dieses Benotungssystem wirklich löschen?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"Möchten Sie dieses Tool wirklich entfernen?\",\"assignment_edit_6dced39f\":\"Aufgabenbearbeitung\",\"assignment_menu_91fe3716\":\"Aufgaben-Menü\",\"assignment_selection_6bff05c4\":\"Aufgabenauswahl\",\"assignment_view_1206a60b\":\"Aufgabenanzeige\",\"back_to_app_center_95420d83\":\"Zurück zum App-Center\",\"by_lti_2_registration_url_e421e523\":\"Nach LTI 2-Registrierungs-URL\",\"by_url_a163275e\":\"Nach URL\",\"cancel_caeb1e68\":\"Abbrechen\",\"close_d634289d\":\"Schließen\",\"close_date_a2f617b3\":\"Abschlussdatum\",\"collaboration_71c024f4\":\"Collaboration\",\"config_url_e96ceaf3\":\"URL konfigurieren\",\"configuration_type_25a084a4\":\"Konfigurationstyp\",\"configure_ecb97e30\":\"Konfigurieren\",\"configure_tool_app_3b1bb50b\":\"%{tool}-App konfigurieren?\",\"configure_toolname_app_651371be\":\"%{toolName}-Anwendung konfigurieren\",\"consumer_key_6f94ba11\":\"Kundenschlüssel\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(%{context}-Ebene)\",\"count_apps_found_f4d86860\":\"%{count} Apps gefunden\",\"course_assignments_menu_fa6aeb23\":\"Kursaufgabenmenü\",\"course_home_sub_navigation_b1ee6b03\":\"Sub-Navigation der Kurs-Startseite\",\"course_navigation_dd035109\":\"Kursnavigation\",\"course_settings_sub_navigation_b95deae\":\"Sub-Navigation für Kurseinstellungen\",\"custom_fields_fc3e55af\":\"Benutzerdefinierte Felder\",\"delete_a6efa79d\":\"Löschen\",\"delete_grading_period_dba36e59\":\"Benotungszeitraum löschen\",\"delete_grading_scheme_6b308832\":\"Benotungssystem löschen\",\"delete_tool_app_9c9f6d35\":\"%{tool}-App löschen?\",\"delete_toolname_app_85f9d4ee\":\"%{toolName}-App löschen\",\"description_436c48d7\":\"Beschreibung\",\"disable_a5c05db3\":\"Deaktivieren\",\"disable_toolname_44d6397c\":\"Deaktivieren %{toolName}\",\"disabled_18c33a73\":\"(deaktiviert)\",\"discussion_topic_menu_3d4684c6\":\"Diskussionsthema-Menü\",\"dismiss_dacdb625\":\"Verwerfen\",\"domain_3b54c511\":\"Domäne\",\"e_mail_only_2cc5e513\":\"Nur E-Mail\",\"edit_app_b0cc1c17\":\"Anwendung bearbeiten\",\"edit_c5fbea07\":\"Ändern\",\"edit_grading_scheme_53091236\":\"Benotungssystem bearbeiten\",\"edit_toolname_app_23cfbb8\":\"%{toolName}-App bearbeiten\",\"editor_button_6647db9c\":\"Editor-Schaltfläche\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"Entweder der URL oder die Domäne muss festgelegt werden.\",\"enable_6f5d1328\":\"Aktivieren\",\"enable_toolname_dc64c25a\":\"Aktivieren %{toolName}\",\"end_date_e0093ed7\":\"Enddatum\",\"enter_the_access_token_for_your_organization_from__38b84fd1\":\"Geben Sie den Zugangs-Token für Ihre Organisation von                       *eduappcenter.com* ein. Einmal angewendet, werden nur Apps auf der Seite „Externe Apps“ angezeigt, die Ihre Organisation in                        EduAppCenter genehmigt hat.                     Hier erfahren Sie, wie Sie **ein Zugangs-Token erzeugen**.\",\"example_https_example_com_config_xml_be5f36ac\":\"Beispiel: https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"Beispiel: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"Externe Apps\",\"file_menu_cc0ca54\":\"Dateimenü\",\"filter_by_name_34cbe139\":\"Nach Name filtern\",\"global_navigation_8bee3501\":\"Globale Navigation\",\"grading_aa6de9\":\"Benotung\",\"grading_period_name_31ceb3e3\":\"Name des Benotungszeitraums\",\"grading_period_title_23b7f8ac\":\"Titel des Benotungszeitraums\",\"grading_period_weight_99b66906\":\"Gewichtung des Benotungszeitraums\",\"grading_periods_81941e66\":\"Benotungszeiträume\",\"grading_periods_must_not_overlap_f45336fb\":\"Benotungsperioden dürfen sich nicht überschneiden.\",\"grading_scheme_deleted_7ae5a072\":\"Benotungssystem gelöscht\",\"grading_scheme_saved_85535151\":\"Benotungssystem gespeichert\",\"grading_schemes_1c3c3252\":\"Benotungssysteme\",\"grading_standard_title_58f540a3\":\"Titel für Benotungsstandard\",\"homework_submission_172e8354\":\"Abgabe der Hausaufgabe\",\"insert_row_below_25187f89\":\"Zeile unten einfügen\",\"installed_7b284a91\":\"Installiert\",\"launch_external_tool_672c0409\":\"Externes Tool starten\",\"launch_registration_tool_38d4781\":\"Registrierungs-Tool starten\",\"launch_url_e150bd41\":\"URL öffnen\",\"link_selection_1486c5d0\":\"Link-Auswahl\",\"link_to_lti_tools_608df3b0\":\"Link zu LTI-Tools.\",\"looks_great_e4d883ed\":\"Sieht gut aus.\",\"lower_limit_of_range_6ddd4983\":\"Untere Bereichsgrenze\",\"lti_1_3_c84fd177\":\"LTI 1.3\",\"lti_1_3_tools_list_ac30b375\":\"Liste der LTI 1.3-Tools\",\"manage_app_list_994cc26c\":\"App-Liste verwalten\",\"manage_grading_schemes_in_context_name_e3678273\":\"Benotungssysteme in %{context_name} verwalten\",\"manage_update_23de23a1\":\"Update verwalten\",\"manage_update_for_toolname_f8e3b2fb\":\"Update für %{toolName} verwalten\",\"manual_entry_e4a4f99a\":\"Manuelle Eingabe\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"Migrationsauswahl\",\"module_menu_3201af4e\":\"Modul-Menü\",\"name_1aed4a1b\":\"Name\",\"name_app_has_been_deleted_fb2d9426\":\"Die Anwendung %{name} wurde gelöscht.\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"*Name* wurde installiert aber noch nicht aktiviert.\",\"name_is_currently_status_9065c996\":\"*Name* hat derzeit den Status **Status**.\",\"name_only_5f56718e\":\"Nur Name\",\"no_cancel_installation_db8d12d7\":\"Nein, die Installation abbrechen\",\"no_grading_schemes_to_display_8b0e92e7\":\"Keine anzuzeigenden Benotungssysteme\",\"no_placements_enabled_f705f28\":\"Keine Platzierungen aktiviert\",\"not_installed_37a21a76\":\"Nicht installiert\",\"one_per_line_format_name_value_79647700\":\"Eine/r pro Zeile. Format: Name=Wert\",\"page_menu_2f8bee0\":\"Seitenmenü\",\"paste_xml_cda3a64e\":\"XML einfügen\",\"placements_5b5e056b\":\"Platzierungen\",\"privacy_290109ea\":\"Datenschutz\",\"public_a749f507\":\"Öffentlich\",\"quiz_menu_4fcd5e61\":\"Quiz-Menü\",\"range_56b2f310\":\"Reichweite\",\"range_name_90614433\":\"Bereichsname\",\"registration_url_60e0eaaa\":\"Registrierungs-URL\",\"remove_row_c198da5a\":\"Zeile entfernen\",\"reregister_9ab95a57\":\"Erneut registrieren\",\"reregister_toolname_3dde0bfc\":\"%{toolName} erneut registrieren\",\"save_11a80ec3\":\"Speichern\",\"save_grading_period_daaaddea\":\"Benotungszeitraum speichern\",\"saving_d55dd90e\":\"Wird gespeichert ...\",\"see_some_lti_tools_that_work_great_with_canvas_53e92091\":\"Einige LTI-Tools funktionieren großartig mit Canvas.\",\"settings_5aa0fd0c\":\"Einstellungen\",\"shared_secret_892c88f2\":\"Gemeinsamer Schlüssel\",\"similarity_detection_dcada48\":\"Ähnlichkeitserkennung\",\"start_date_e937be8a\":\"Startdatum\",\"status_e7fdbe06\":\"Status\",\"submit_a3cc6859\":\"Übermitteln\",\"sync_grades_a16622ca\":\"Noten synchronisieren\",\"the_app_was_activated_a84e055f\":\"Die Anwendung wurde aktiviert.\",\"the_app_was_added_58e2836a\":\"Die App wurde hinzugefügt.\",\"the_app_was_added_successfully_3f785a23\":\"Die App wurde hinzugefügt.\",\"the_app_was_deactivated_573520ab\":\"Die Anwendung wurde deaktiviert.\",\"the_app_was_updated_successfully_3d71cd1b\":\"Die App wurde aktualisiert.\",\"the_following_content_is_partner_provided_ed1da756\":\"Der folgende Content stammt von einem Partner.\",\"the_following_fields_are_invalid_fields_b3565800\":\"Die folgenden Felder sind ungültig: %{fields}.\",\"the_grading_period_was_deleted_7814a349\":\"Der Benotungszeitraum wurde gelöscht.\",\"the_preceding_content_is_partner_provided_d753928c\":\"Der vorhergehende Content stammt von einem Partner.\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"Beim Löschen des Benotungszeitraums ist ein Fehler aufgetreten.\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"Beim Löschen des Benotungssystems ist ein Problem aufgetreten.\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"Beim Abrufen der Zeiträume ist ein Problem aufgetreten.\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"Beim Speichern des Benotungszeitraums ist ein Problem aufgetreten.\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"Beim Speichern des Benotungssystems ist ein Problem aufgetreten.\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"Beim Verarbeiten Ihrer Anfrage ist ein Fehler aufgetreten.\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"Unbekannter Fehler beim Registrieren des Tools\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"Beim Formular sind Fehler aufgetreten: %{errors}\",\"this_field_is_required_fa58c4a\":\"Dieses Feld ist ein Pflichtfeld.\",\"this_field_name_is_required_988caebc\":\"Dieses Feld „%{name}“ ist ein Pflichtfeld.\",\"this_field_name_is_required_b9196401\":\"Dieses Feld „Name“ ist ein Pflichtfeld.\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"Dieses Tool wurde in diesem Zusammenhang bereits installiert. Möchten Sie es trotzdem installieren?\",\"to_35c6baa2\":\"bis \",\"to_minscore_43e5452e\":\"bis %{minScore}%\",\"tool_configuration_63cd43b0\":\"Tool-Konfiguration\",\"tool_content_e699e813\":\"Tool-Inhalt\",\"tool_placements_3f996c24\":\"Tool-Platzierungen\",\"unable_to_accept_update_fd53a7e2\":\"Aktualisierung kann nicht akzeptiert werden.\",\"unable_to_dismiss_update_df1e32eb\":\"Aktualisierung kann nicht verworfen werden.\",\"unable_to_load_lti_1_3_tools_cf169f9\":\"Lti 1.3-Tools konnten nicht geladen werden\",\"unable_to_remove_app_4293cb53\":\"Die App kann nicht entfernt werden.\",\"unchanged_aca18e02\":\"[Unverändert]\",\"update_tool_7d48ef2a\":\"%{tool} aktualisieren\",\"updating_6edbab78\":\"Wird aktualisiert\",\"upper_limit_of_range_c454a8f2\":\"Obere Bereichsgrenze\",\"user_navigation_a097be0f\":\"Benutzernavigation\",\"view_app_center_6c89a3fe\":\"App Center anzeigen\",\"view_app_configurations_52b52441\":\"App-Konfigurationen anzeigen\",\"view_name_app_62a2ad8e\":\"%{name}-App anzeigen\",\"view_toolname_placements_4a5724d1\":\"%{toolName}-Platzierungen anzeigen\",\"we_were_unable_to_activate_the_app_578defe7\":\"Die Anwendung konnte nicht aktiviert werden.\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"Das Zugangs-Token konnte nicht hinzugefügt werden.\",\"we_were_unable_to_add_the_app_418877ef\":\"Die Anwendung konnte nicht hinzugefügt werden.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"Die Anwendung konnte nicht deaktiviert werden.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"Die Anwendung konnte nicht aktualisiert werden.\",\"weight_9b308e5b\":\"Gewichtung\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"Möchten Sie diese Aktualisierung verwerfen oder annehmen?\",\"would_you_like_to_enable_this_app_ccdf735d\":\"Möchten Sie diese Anwendung aktivieren?\",\"xml_configuration_5ea1b942\":\"XML-Konfiguration\",\"yes_install_tool_f51b3278\":\"Ja, Tool installieren\"},\"el\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"Ένας πίνακας που περιέχει το όνομα του κανόνα βαθμολόγησης και κουμπιά για τροποποίηση ή αφαίρεση του κανόνα.\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"Ένας πίνακας που περιέχει τα δεδομένα του κανονισμού βαθμολόγησης. Κάθε σειρά περιέχει ένα όνομα, μια μέγιστη ποσόστοση, και μια ελάχιστη ποσόστοση. Επιπροσθέτως, κάθε σειρά περιέχει ένα κουμπί για πρόσθεση καινούργιας σειράς απο κάτω, και μια ένα κουμπί για αφαίρεση της τρέχοντας σειράς.\",\"accept_2fdd362e\":\"Αποδέχομαι\",\"access_token_3be22221\":\"Διακριτικό Πρόσβασης/Access Token\",\"account_navigation_80bbefd4\":\"Πλοήγηση Λογαριασμού\",\"actions_efcde10d\":\"Ενέργειες\",\"add_app_baf540f\":\"Πρόσθεση Εφαρμογής\",\"add_grading_scheme_81e23c05\":\"Προσθέστε σχέδιο βαθμολόγησης\",\"all_4321c3a1\":\"Όλα\",\"all_changes_were_saved_f6f3ddcc\":\"Όλες οι αλλαγές αποθηκεύτηκαν\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"Όλα τα πεδία ημερομηνιών πρέπει να εμφανίζονται και να έχουν σωστή μορφοποίηση\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"Όλες οι περίοδοι βαθμολογήσεων πρέπει να έχουν τίτλο\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"Όλες οι ημερομηνίες εκκίνησης πρέπει να είναι πριν την ημερομηνία τερματισμού\",\"an_update_is_available_for_toolname_bba3fa2\":\"Μία ενημέρωση είνια διαθέσιμη για %{toolName}\",\"anonymous_e1b8ad27\":\"Ανώνυμο\",\"app_b157c2b3\":\"Εφαρμογή\",\"app_placements_6d877225\":\"Τοποθετήσεις Εφαρμογών\",\"app_reregistration_87cc8817\":\"Εκ Νέου Καταχώριση Εφαρμογής\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"Οι εφαρμογές είναι ένας εύκολος τρόπος να προσθέσετε νέες λειτουργίες στο Canvas. Μπορούν να προστεθούν σε μεμονωμένα μαθήματα ή σε όλα τα μαθήματα ενός λογαριασμού. Μόλις ολοκληρωθεί η ρύθμισή τους, μπορείτε να συνδεθείτε σε αυτά μέσω ενοτήτων των μαθημάτων και να δημιουργήσετε εργασίες για εργαλεία αξιολόγησης.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"Είστε σίγουρος/η ότι επιθυμείτε να διαγράψετε αυτή την περίοδο βαθμολόγησης;\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"Είσαστε σίγουρος/η πως θέλετε να διαγράψετε αυτόν το κανονισμό βαθμολόγισης;\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"Είστε βέβαιος ότι επιθυμείτε να αφαιρέσετε αυτό το εργαλείο;\",\"assignment_menu_91fe3716\":\"Μενού Εργασίας\",\"assignment_selection_6bff05c4\":\"Επιλογή Εργασίας\",\"back_to_app_center_95420d83\":\"Πίσω στο Κέντρο Εφαρμογών\",\"by_lti_2_registration_url_e421e523\":\"Από URL Καταχώρισης LTI 2\",\"by_url_a163275e\":\"μέσω URL\",\"cancel_caeb1e68\":\"Ακύρωση\",\"close_d634289d\":\"Κλείσιμο\",\"config_url_e96ceaf3\":\"Ρύθμιση URL\",\"configuration_type_25a084a4\":\"Τύπος Ρυθμίσεων\",\"configure_ecb97e30\":\"Ρύθμιση\",\"configure_toolname_app_651371be\":\"Ρύθμιση Εφαρμογής %{toolName}\",\"consumer_key_6f94ba11\":\"Κλειδί Καταναλωτή\",\"context_contextname_24d82846\":\"\\u003cmrk mid=\\\"7884\\\" mtype=\\\"seg\\\"\\u003e(%{context}:\\u003c/mrk\\u003e \\u003cmrk mid=\\\"7885\\\" mtype=\\\"seg\\\"\\u003e%{contextName})\\u003c/mrk\\u003e\",\"context_level_56d88f5b\":\"(επίπεδο %{context})\",\"course_home_sub_navigation_b1ee6b03\":\"Υπο-πλοήγηση στην Αρχική Σελίδα του Μαθήματος\",\"course_navigation_dd035109\":\"Πλοήγηση στο μάθημα\",\"course_settings_sub_navigation_b95deae\":\"Υπο-πλοήγηση στις Ρυθμίσεις του Μαθήματος\",\"custom_fields_fc3e55af\":\"Προσαρμοσμένα Πεδία\",\"delete_a6efa79d\":\"Αφαίρεση\",\"delete_grading_period_dba36e59\":\"Διαγραφή Περιόδου Βαθμολόγησης\",\"delete_grading_scheme_6b308832\":\"Διαγραφή Κανονισμού Βαθμολόγησης\",\"delete_tool_app_9c9f6d35\":\"Διαγραφή Εφαρμογής %{tool};\",\"delete_toolname_app_85f9d4ee\":\"Διαγραφή Εφαρμογής %{toolName}\",\"description_436c48d7\":\"Περιγραφή\",\"disable_a5c05db3\":\"Απενεργοποίηση\",\"disabled_18c33a73\":\"(απενεργοποιημένο/α)\",\"discussion_topic_menu_3d4684c6\":\"Μενού Θέματος Συζήτησης\",\"dismiss_dacdb625\":\"Παράβλεψη\",\"domain_3b54c511\":\"Domain\",\"e_mail_only_2cc5e513\":\"Μόνο ηλεκτρονική διεύθυνση\",\"edit_app_b0cc1c17\":\"Διαμόρφωση Εφαρμογής\",\"edit_c5fbea07\":\"Διαμόρφωση\",\"edit_grading_scheme_53091236\":\"Τροποποίηση Κανονισμού Βαθμολόγισης\",\"edit_toolname_app_23cfbb8\":\"Τροποποίηση %{toolName} Εφαρμογής\",\"editor_button_6647db9c\":\"Κουμπί Επεξεργαστή\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"Θα πρέπει να ρυθμιστούν είτε το url είτε το domain.\",\"enable_6f5d1328\":\"Ενεργοποίηση\",\"end_date_e0093ed7\":\"Ημερομηνία Λήξης\",\"example_https_example_com_config_xml_be5f36ac\":\"Παράδειγμα: https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"Παράδειγμα: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"Εξωτερικές Εφαρμογές\",\"file_menu_cc0ca54\":\"Μενού Αρχείων\",\"filter_by_name_34cbe139\":\"Φιλτράρισμα ανά όνομα\",\"global_navigation_8bee3501\":\"Καθολική Πλοήγηση\",\"grading_aa6de9\":\"Βαθμολόγηση\",\"grading_period_name_31ceb3e3\":\"Όνομα Περιόδου Βαθμολόγησης\",\"grading_periods_81941e66\":\"Περίοδοι Βαθμολόγησης\",\"grading_periods_must_not_overlap_f45336fb\":\"Οι περίοδοι βαθμολόγησης δεν πρέπει να επικαλύπτονται\",\"grading_scheme_deleted_7ae5a072\":\"Διαγράφηκε ο κανονισμός βαθμολόγησης\",\"grading_scheme_saved_85535151\":\"Αποθηκεύτηκε ο κανονισμός βαθμολόγησης\",\"grading_schemes_1c3c3252\":\"Σχέδια Βαθμολόγισης\",\"grading_standard_title_58f540a3\":\"Τίτλος προτύπου βαθμολόγησης\",\"homework_submission_172e8354\":\"Υποβολή Εργασίας για το Σπίτι\",\"insert_row_below_25187f89\":\"Εισαγωγή γραμμής κάτω\",\"installed_7b284a91\":\"Εγκαταστάθηκε\",\"launch_registration_tool_38d4781\":\"Εκκίνηση Εργαλείου Εγγραφής\",\"launch_url_e150bd41\":\"Άνοιγμα URL\",\"link_selection_1486c5d0\":\"Επιλογή Συνδέσμου\",\"looks_great_e4d883ed\":\"Φαίνεται μια χαρά!\",\"lower_limit_of_range_6ddd4983\":\"Χαμηλότερο όριο εύρους\",\"manage_grading_schemes_in_context_name_e3678273\":\"Διαχείριση κανονισμών βαθμολόγησης στο %{context_name}\",\"manage_update_23de23a1\":\"Διαχείριση Ενημέρωσης\",\"manage_update_for_toolname_f8e3b2fb\":\"Διαχείριση ενημέρωσης για το εργαλείο %{toolName}\",\"manual_entry_e4a4f99a\":\"Χειροκίνητη Καταχώριση\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"Επιλογή Μεταφοράς\",\"module_menu_3201af4e\":\"Μενού Ενότητας\",\"name_1aed4a1b\":\"Όνομα\",\"name_app_has_been_deleted_fb2d9426\":\"Η εφαρμογή %{name} έχει διαγραφεί\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"η *όνομα* έχει εγκατασταθεί επιτυχώς αλλά δεν έχει ενεργοποιηθεί ακόμη.\",\"name_is_currently_status_9065c996\":\"η κατάσταση της *όνομα* είναι προς το παρόν **κατάσταση**.\",\"name_only_5f56718e\":\"Όνομα Μόνο\",\"no_grading_schemes_to_display_8b0e92e7\":\"Δεν υπάρχουν κανονισμοί βαθμολόγησης\",\"no_placements_enabled_f705f28\":\"Δεν έχουν Ενεργοποιηθεί Τοποθετήσεις\",\"not_installed_37a21a76\":\"Δεν εγκαταστάθηκε\",\"one_per_line_format_name_value_79647700\":\"Ένα ανά σειρά.Τύπος: name=value\",\"paste_xml_cda3a64e\":\"Επικόληση XML\",\"placements_5b5e056b\":\"Τοποθετήσεις\",\"privacy_290109ea\":\"Απόρρητο\",\"public_a749f507\":\"Δημόσιο\",\"quiz_menu_4fcd5e61\":\"Μενού Κουίζ\",\"range_56b2f310\":\"Εύρος\",\"range_name_90614433\":\"Όνομα Εύρους\",\"registration_url_60e0eaaa\":\"URL Εγγραφής\",\"remove_row_c198da5a\":\"Αφαίρεση σειράς\",\"reregister_9ab95a57\":\"Εκ νέου καταχώριση\",\"reregister_toolname_3dde0bfc\":\"Εκ νέου καταχώριση του %{toolName}\",\"save_11a80ec3\":\"Αποθήκευση\",\"save_grading_period_daaaddea\":\"Αποθήκευση Περιόδου Βαθμολόγησης\",\"saving_d55dd90e\":\"Αποθήκευση...\",\"settings_5aa0fd0c\":\"Ρυθμίσεις\",\"shared_secret_892c88f2\":\"Διαμοιρασμένο Μυστικό\",\"start_date_e937be8a\":\"Αρχική Ημερομηνία\",\"status_e7fdbe06\":\"Κατάσταση\",\"submit_a3cc6859\":\"Υποβολή\",\"the_app_was_activated_a84e055f\":\"Η εφαρμογή ενεργοποιήθηκε\",\"the_app_was_added_58e2836a\":\"Η εφαρμογή προστέθηκε\",\"the_app_was_added_successfully_3f785a23\":\"Η εφαρμογή προστέθηκε επιτυχώς\",\"the_app_was_deactivated_573520ab\":\"Η εφαρμογή απενεργοποιήθηκε\",\"the_app_was_updated_successfully_3d71cd1b\":\"Η εφαρμογή ενημερώθηκε επιτυχώς\",\"the_following_fields_are_invalid_fields_b3565800\":\"\\u003cmrk mid=\\\"6483\\\" mtype=\\\"seg\\\"\\u003eΤα ακόλουθα πεδία δεν είναι έγκυρα:\\u003c/mrk\\u003e \\u003cmrk mid=\\\"6484\\\" mtype=\\\"seg\\\"\\u003e%{fields}\\u003c/mrk\\u003e\",\"the_grading_period_was_deleted_7814a349\":\"Η περίοδος βαθμολόγησης διαγράφηκε\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"Υπήρξε ένα πρόβλημα με την αφαίρεση της περιόδου βαθμολόγισης\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"Υπήρξε ένα πρόβλημα με τη διαγραφή του κανονισμού βαθμολόγησης\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"Υπήρξε ένα πρόβλημα με την προσκόμιση περιόδων\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"Υπήρξε ένα πρόβλημα με την αποθήκευση της περιόδου βαθμολόγησης\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"Υπήρξε ένα πρόβλημα με την αποθήκευση του κανονισμού βαθμολόγησης\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"Παρουσιάστηκε σφάλμα κατά την επεξεργασία του αιτήματός σας\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"\\u003cmrk mid=\\\"1165\\\" mtype=\\\"seg\\\"\\u003eΠαρουσιάστηκαν σφάλματα όπως φαίνεται παρακάτω:\\u003c/mrk\\u003e \\u003cmrk mid=\\\"1166\\\" mtype=\\\"seg\\\"\\u003e%{errors}\\u003c/mrk\\u003e\",\"this_field_is_required_fa58c4a\":\"Αυτό το πεδίο είναι υποχρεωτικό\",\"this_field_name_is_required_988caebc\":\"Το πεδίο «%{name}» είναι υποχρεωτικό.\",\"this_field_name_is_required_b9196401\":\"Το πεδίο «όνομα» είναι υποχρεωτικό.\",\"to_35c6baa2\":\"\\u003cmrk mid=\\\"4357\\\" mtype=\\\"seg\\\"\\u003eσε\\u003c/mrk\\u003e \",\"to_minscore_43e5452e\":\"σε %{minScore}%\",\"tool_configuration_63cd43b0\":\"Ρύθμιση Εργαλείου\",\"tool_content_e699e813\":\"Περιεχόμενο Εργαλείου\",\"tool_placements_3f996c24\":\"Τοποθετήσεις Εργαλείων\",\"unable_to_accept_update_fd53a7e2\":\"Η αποδοχή της ενημέρωσης δεν ήταν δυνατή\",\"unable_to_dismiss_update_df1e32eb\":\"Η απόρριψη της ενημέρωσης δεν ήταν δυνατή\",\"unable_to_remove_app_4293cb53\":\"Δεν είναι δυνατή η αφαίρεση της εφαρμογής\",\"unchanged_aca18e02\":\"[Χωρίς αλλαγή]\",\"update_tool_7d48ef2a\":\"Ενημέρωση %{tool}\",\"updating_6edbab78\":\"Ενημέρωση σε εξέλιξη\",\"upper_limit_of_range_c454a8f2\":\"Υψηλότερο όριο εύρους\",\"user_navigation_a097be0f\":\"Πλοήγηση Χρήστη\",\"view_app_center_6c89a3fe\":\"Προβολή του Κέντρου Εφαρμογών\",\"view_app_configurations_52b52441\":\"Προβολή των Ρυθμίσεων Εφαρμογών\",\"view_name_app_62a2ad8e\":\"Προβολή της εφαρμογής %{name}\",\"view_toolname_placements_4a5724d1\":\"Προβολή Τοποθετήσεων %{toolName}\",\"we_were_unable_to_activate_the_app_578defe7\":\"Δεν ήταν δυνατή η ενεργοποίηση της εφαρμογής.\",\"we_were_unable_to_add_the_app_418877ef\":\"Δεν ήταν δυνατή η προσθήκη της εφαρμογής.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"Δεν ήταν δυνατή η απενεργοποίηση της εφαρμογής.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"Δεν ήταν δυνατή η ενημέρωση αυτής της εφαρμογής.\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"Θα θέλατε να αποδεχτείτε ή να παραβλέψετε αυτή την ενημέρωση;\",\"would_you_like_to_enable_this_app_ccdf735d\":\"Θα θέλετε να ενεργοποιήσετε αυτή την εφαρμογή;\",\"xml_configuration_5ea1b942\":\"Ρύθμιση XML\"},\"en-AU\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"A table containing the name of the marking scheme and buttons for editing or deleting the scheme.\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"A table that contains the marking scheme data. Each row contains a name, a maximum percentage and a minimum percentage. In addition, each row contains a button to add a new row below and a button to delete the current row.\",\"accept_2fdd362e\":\"Accept\",\"access_token_3be22221\":\"Access Token\",\"account_navigation_80bbefd4\":\"Account Navigation\",\"actions_efcde10d\":\"Actions\",\"add_app_baf540f\":\"Add App\",\"add_grading_scheme_81e23c05\":\" Add grading scheme\",\"all_4321c3a1\":\"All\",\"all_changes_were_saved_f6f3ddcc\":\"All changes were saved\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"All date fields must be present and formatted correctly\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"All grading periods must have a title\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"All start dates must be before the end date\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"Allow this tool to access the IMS Names and Role Provisioning Service\",\"an_update_is_available_for_toolname_bba3fa2\":\"An update is available for %{toolName}.\",\"anonymous_e1b8ad27\":\"Anonymous\",\"app_b157c2b3\":\"App\",\"app_placements_6d877225\":\"App Placements\",\"app_reregistration_87cc8817\":\"App Reregistration\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} was installed by Admin and is locked\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} was installed by the master course and is locked\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} was installed by the master course\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"Apps are an easy way to add new features to Canvas. They can be added to individual courses, or to all courses in an account. Once configured, you can link to them through course modules and create assignments for assessment tools.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"Are you sure you want to delete this grading period?\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"Are you sure you want to delete this grading scheme?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"Are you sure you want to remove this tool?\",\"assignment_edit_6dced39f\":\"Assignment Edit\",\"assignment_menu_91fe3716\":\"Assignment Menu\",\"assignment_selection_6bff05c4\":\"Assignment Selection\",\"assignment_view_1206a60b\":\"Assignment View\",\"back_to_app_center_95420d83\":\"Back to App Centre\",\"by_lti_2_registration_url_e421e523\":\"By LTI 2 Registration URL\",\"by_url_a163275e\":\"By URL\",\"cancel_caeb1e68\":\"Cancel\",\"close_d634289d\":\"Close\",\"close_date_a2f617b3\":\"Close Date\",\"collaboration_71c024f4\":\"Collaboration\",\"config_url_e96ceaf3\":\"Config URL\",\"configuration_type_25a084a4\":\"Configuration Type\",\"configure_ecb97e30\":\"Configure\",\"configure_tool_app_3b1bb50b\":\"Configure %{tool} App?\",\"configure_toolname_app_651371be\":\"Configure %{toolName} App\",\"consumer_key_6f94ba11\":\"Consumer Key\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(%{context} level)\",\"count_apps_found_f4d86860\":\"%{count} apps found\",\"course_assignments_menu_fa6aeb23\":\"Course Assignments Menu\",\"course_home_sub_navigation_b1ee6b03\":\"Course Home Sub Navigation\",\"course_navigation_dd035109\":\"Course Navigation\",\"course_settings_sub_navigation_b95deae\":\"Course Settings Sub Navigation\",\"custom_fields_fc3e55af\":\"Custom Fields\",\"delete_a6efa79d\":\"Delete\",\"delete_grading_period_dba36e59\":\"Delete grading period\",\"delete_grading_scheme_6b308832\":\"Delete Grading Scheme\",\"delete_tool_app_9c9f6d35\":\"Delete %{tool} App?\",\"delete_toolname_app_85f9d4ee\":\"Delete %{toolName} App\",\"description_436c48d7\":\"Description\",\"disable_a5c05db3\":\"Disable\",\"disable_toolname_44d6397c\":\"Disable %{toolName}\",\"disabled_18c33a73\":\"(disabled)\",\"discussion_topic_menu_3d4684c6\":\"Discussion Topic Menu\",\"dismiss_dacdb625\":\"Dismiss\",\"domain_3b54c511\":\"Domain\",\"e_mail_only_2cc5e513\":\"E-Mail Only\",\"edit_app_b0cc1c17\":\"Edit App\",\"edit_c5fbea07\":\"Edit\",\"edit_grading_scheme_53091236\":\"Edit Grading Scheme\",\"edit_toolname_app_23cfbb8\":\"Edit %{toolName} App\",\"editor_button_6647db9c\":\"Editor Button\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"Either the url or domain should be set.\",\"enable_6f5d1328\":\"Enable\",\"enable_toolname_dc64c25a\":\"Enable %{toolName}\",\"end_date_e0093ed7\":\"End Date\",\"enter_the_access_token_for_your_organization_from__38b84fd1\":\"Enter the access token for your organisation from                     *eduappcenter.com*. Once applied, only apps your organisation has approved in the                     EduAppCenter will be listed on the External Apps page.                     Learn how to **generate an access token**.\",\"example_https_example_com_config_xml_be5f36ac\":\"Example: https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"Example: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"External Apps\",\"file_menu_cc0ca54\":\"File Menu\",\"filter_by_name_34cbe139\":\"Filter by name\",\"global_navigation_8bee3501\":\"Global Navigation\",\"grading_aa6de9\":\"Grading\",\"grading_period_name_31ceb3e3\":\"Grading Period Name\",\"grading_period_title_23b7f8ac\":\"Grading Period Title\",\"grading_period_weight_99b66906\":\"Grading Period Weight\",\"grading_periods_81941e66\":\"Grading Periods\",\"grading_periods_must_not_overlap_f45336fb\":\"Grading periods must not overlap\",\"grading_scheme_deleted_7ae5a072\":\"Grading scheme deleted\",\"grading_scheme_saved_85535151\":\"Grading scheme saved\",\"grading_schemes_1c3c3252\":\"Grading Schemes\",\"grading_standard_title_58f540a3\":\"Grading standard title\",\"homework_submission_172e8354\":\"Homework Submission\",\"insert_row_below_25187f89\":\"Insert row below\",\"installed_7b284a91\":\"Installed\",\"launch_external_tool_672c0409\":\"Launch External Tool\",\"launch_registration_tool_38d4781\":\"Launch Registration Tool\",\"launch_url_e150bd41\":\"Launch URL\",\"link_selection_1486c5d0\":\"Link Selection\",\"link_to_lti_tools_608df3b0\":\"Link to lti tools.\",\"looks_great_e4d883ed\":\"Looks great!\",\"lower_limit_of_range_6ddd4983\":\"Lower limit of range\",\"lti_1_3_c84fd177\":\"LTI 1.3\",\"lti_1_3_tools_list_ac30b375\":\"LTI 1.3 Tools List\",\"manage_app_list_994cc26c\":\"Manage App List\",\"manage_grading_schemes_in_context_name_e3678273\":\"Manage marking schemes in %{context_name}\",\"manage_update_23de23a1\":\"Manage Update\",\"manage_update_for_toolname_f8e3b2fb\":\"Manage update for %{toolName}\",\"manual_entry_e4a4f99a\":\"Manual Entry\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"Migration Selection\",\"module_menu_3201af4e\":\"Module Menu\",\"name_1aed4a1b\":\"Name\",\"name_app_has_been_deleted_fb2d9426\":\"%{name} app has been deleted\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"*name* has been successfully installed but has not yet been enabled.\",\"name_is_currently_status_9065c996\":\"*name* is currently **status**.\",\"name_only_5f56718e\":\"Name Only\",\"no_cancel_installation_db8d12d7\":\"No, Cancel Installation\",\"no_grading_schemes_to_display_8b0e92e7\":\"No grading schemes to display\",\"no_placements_enabled_f705f28\":\"No Placements Enabled\",\"not_installed_37a21a76\":\"Not Installed\",\"one_per_line_format_name_value_79647700\":\"One per line. Format: name=value\",\"page_menu_2f8bee0\":\"Page Menu\",\"paste_xml_cda3a64e\":\"Paste XML\",\"placements_5b5e056b\":\"Placements\",\"privacy_290109ea\":\"Privacy\",\"public_a749f507\":\"Public\",\"quiz_menu_4fcd5e61\":\"Quiz Menu\",\"range_56b2f310\":\"Range\",\"range_name_90614433\":\"Range name\",\"registration_url_60e0eaaa\":\"Registration URL\",\"remove_row_c198da5a\":\"Remove row\",\"reregister_9ab95a57\":\"Reregister\",\"reregister_toolname_3dde0bfc\":\"Reregister %{toolName}\",\"save_11a80ec3\":\"Save\",\"save_grading_period_daaaddea\":\"Save Grading Period\",\"saving_d55dd90e\":\"Saving...\",\"see_some_lti_tools_that_work_great_with_canvas_53e92091\":\"See some LTI tools that work great with Canvas.\",\"settings_5aa0fd0c\":\"Settings\",\"shared_secret_892c88f2\":\"Shared Secret\",\"similarity_detection_dcada48\":\"Similarity Detection\",\"start_date_e937be8a\":\"Start Date\",\"status_e7fdbe06\":\"Status\",\"submit_a3cc6859\":\"Submit\",\"sync_grades_a16622ca\":\"Sync Grades\",\"the_app_was_activated_a84e055f\":\"The app was activated\",\"the_app_was_added_58e2836a\":\"The app was added\",\"the_app_was_added_successfully_3f785a23\":\"The app was added successfully\",\"the_app_was_deactivated_573520ab\":\"The app was deactivated\",\"the_app_was_updated_successfully_3d71cd1b\":\"The app was updated successfully\",\"the_following_content_is_partner_provided_ed1da756\":\"The following content is partner provided\",\"the_following_fields_are_invalid_fields_b3565800\":\"The following fields are invalid: %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"The grading period was deleted.\",\"the_preceding_content_is_partner_provided_d753928c\":\"The preceding content is partner provided\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"There was a problem deleting the grading period\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"There was a problem deleting the grading scheme\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"There was a problem fetching periods.\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"There was a problem saving the grading period.\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"There was a problem saving the grading scheme\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"There was an error in processing your request\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"There was an unknown error registering the tool\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"There were errors with the form: %{errors}\",\"this_field_is_required_fa58c4a\":\"This field is required\",\"this_field_name_is_required_988caebc\":\"This field \\\"%{name}\\\" is required.\",\"this_field_name_is_required_b9196401\":\"This field \\\"name\\\" is required.\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"This tool has already been installed in this context. Would you like to install it anyway?\",\"to_35c6baa2\":\"to \",\"to_minscore_43e5452e\":\"to %{minScore}%\",\"tool_configuration_63cd43b0\":\"Tool Configuration\",\"tool_content_e699e813\":\"Tool Content\",\"tool_placements_3f996c24\":\"Tool Placements\",\"unable_to_accept_update_fd53a7e2\":\"Unable to accept update\",\"unable_to_dismiss_update_df1e32eb\":\"Unable to dismiss update\",\"unable_to_load_lti_1_3_tools_cf169f9\":\"Unable to load Lti 1.3 Tools\",\"unable_to_remove_app_4293cb53\":\"Unable to remove app\",\"unchanged_aca18e02\":\"[Unchanged]\",\"update_tool_7d48ef2a\":\"Update %{tool}\",\"updating_6edbab78\":\"Updating\",\"upper_limit_of_range_c454a8f2\":\"Upper limit of range\",\"user_navigation_a097be0f\":\"User Navigation\",\"view_app_center_6c89a3fe\":\"View App Centre\",\"view_app_configurations_52b52441\":\"View App Configurations\",\"view_name_app_62a2ad8e\":\"View %{name} app\",\"view_toolname_placements_4a5724d1\":\"View %{toolName} Placements\",\"we_were_unable_to_activate_the_app_578defe7\":\"We were unable to activate the app.\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"We were unable to add the access token.\",\"we_were_unable_to_add_the_app_418877ef\":\"We were unable to add the app.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"We were unable to deactivate the app.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"We were unable to update the app.\",\"weight_9b308e5b\":\"Weight\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"Would you like to accept or dismiss this update?\",\"would_you_like_to_enable_this_app_ccdf735d\":\"Would you like to enable this app?\",\"xml_configuration_5ea1b942\":\"XML Configuration\",\"yes_install_tool_f51b3278\":\"Yes, Instal Tool\"},\"en-CA\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"A table containing the name of the grading scheme and buttons for editing or deleting the scheme.\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"A table that contains the grading scheme data. Each row contains a name, a maximum percentage, and a minimum percentage. In addition, each row contains a button to add a new row below, and a button to delete the current row.\",\"accept_2fdd362e\":\"Accept\",\"access_token_3be22221\":\"Access Token\",\"account_navigation_80bbefd4\":\"Account Navigation\",\"actions_efcde10d\":\"Actions\",\"add_app_baf540f\":\"Add App\",\"add_grading_scheme_81e23c05\":\" Add grading scheme\",\"all_4321c3a1\":\"All\",\"all_changes_were_saved_f6f3ddcc\":\"All changes were saved\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"All dates fields must be present and formatted correctly\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"All grading periods must have a title\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"All start dates must be before the end date\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"Allow this tool to access the IMS Names and Role Provisioning Service\",\"an_update_is_available_for_toolname_bba3fa2\":\"An update is available for %{toolName}\",\"anonymous_e1b8ad27\":\"Anonymous\",\"app_b157c2b3\":\"App\",\"app_placements_6d877225\":\"App Placements\",\"app_reregistration_87cc8817\":\"App Reregistration\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} was installed by Admin and is locked\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} was installed by the master course and is locked\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} was installed by the master course\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"Apps are an easy way to add new features to Canvas. They can be added to individual courses, or to all courses in an account. Once configured, you can link to them through course modules and create assignments for assessment tools.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"Are you sure you want to delete this grading period?\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"Are you sure you want to delete this grading scheme?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"Are you sure you want to remove this tool?\",\"assignment_edit_6dced39f\":\"Assignment Edit\",\"assignment_menu_91fe3716\":\"Assignment Menu\",\"assignment_selection_6bff05c4\":\"Assignment Selection\",\"assignment_view_1206a60b\":\"Assignment View\",\"back_to_app_center_95420d83\":\"Back to App Center\",\"by_lti_2_registration_url_e421e523\":\"By LTI 2 Registration URL\",\"by_url_a163275e\":\"By URL\",\"cancel_caeb1e68\":\"Cancel\",\"close_d634289d\":\"Close\",\"close_date_a2f617b3\":\"Close Date\",\"collaboration_71c024f4\":\"Collaboration\",\"config_url_e96ceaf3\":\"Config URL\",\"configuration_type_25a084a4\":\"Configuration Type\",\"configure_ecb97e30\":\"Configure\",\"configure_tool_app_3b1bb50b\":\"Configure %{tool} App?\",\"configure_toolname_app_651371be\":\"Configure %{toolName} App\",\"consumer_key_6f94ba11\":\"Consumer Key\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(%{context} level)\",\"count_apps_found_f4d86860\":\"%{count} apps found\",\"course_assignments_menu_fa6aeb23\":\"Course Assignments Menu\",\"course_home_sub_navigation_b1ee6b03\":\"Course Home Sub Navigation\",\"course_navigation_dd035109\":\"Course Navigation\",\"course_settings_sub_navigation_b95deae\":\"Course Settings Sub Navigation\",\"custom_fields_fc3e55af\":\"Custom Fields\",\"delete_a6efa79d\":\"Delete\",\"delete_grading_period_dba36e59\":\"Delete grading period\",\"delete_grading_scheme_6b308832\":\"Delete Grading Scheme\",\"delete_tool_app_9c9f6d35\":\"Delete %{tool} App?\",\"delete_toolname_app_85f9d4ee\":\"Delete %{toolName} App\",\"description_436c48d7\":\"Description\",\"disable_a5c05db3\":\"Disable\",\"disable_toolname_44d6397c\":\"Disable %{toolName}\",\"disabled_18c33a73\":\"(disabled)\",\"discussion_topic_menu_3d4684c6\":\"Discussion Topic Menu\",\"dismiss_dacdb625\":\"Dismiss\",\"domain_3b54c511\":\"Domain\",\"e_mail_only_2cc5e513\":\"E-Mail Only\",\"edit_app_b0cc1c17\":\"Edit App\",\"edit_c5fbea07\":\"Edit\",\"edit_grading_scheme_53091236\":\"Edit Grading Scheme\",\"edit_toolname_app_23cfbb8\":\"Edit %{toolName} App\",\"editor_button_6647db9c\":\"Editor Button\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"Either the url or domain should be set.\",\"enable_6f5d1328\":\"Enable\",\"enable_toolname_dc64c25a\":\"Enable %{toolName}\",\"end_date_e0093ed7\":\"End Date\",\"enter_the_access_token_for_your_organization_from__38b84fd1\":\"Enter the access token for your organization from                     *eduappcenter.com*. Once applied, only apps your organization has approved in the                     EduAppCenter will be listed on the External Apps page.                     Learn how to **generate an access token**.\",\"example_https_example_com_config_xml_be5f36ac\":\"Example: https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"Example: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"External Apps\",\"file_menu_cc0ca54\":\"File Menu\",\"filter_by_name_34cbe139\":\"Filter by name\",\"global_navigation_8bee3501\":\"Global Navigation\",\"grading_aa6de9\":\"Grading\",\"grading_period_name_31ceb3e3\":\"Grading Period Name\",\"grading_period_title_23b7f8ac\":\"Grading Period Title\",\"grading_period_weight_99b66906\":\"Grading Period Weight\",\"grading_periods_81941e66\":\"Grading Periods\",\"grading_periods_must_not_overlap_f45336fb\":\"Grading periods must not overlap\",\"grading_scheme_deleted_7ae5a072\":\"Grading scheme deleted\",\"grading_scheme_saved_85535151\":\"Grading scheme saved\",\"grading_schemes_1c3c3252\":\"Grading Schemes\",\"grading_standard_title_58f540a3\":\"Grading standard title\",\"homework_submission_172e8354\":\"Homework Submission\",\"insert_row_below_25187f89\":\"Insert row below\",\"installed_7b284a91\":\"Installed\",\"launch_external_tool_672c0409\":\"Launch External Tool\",\"launch_registration_tool_38d4781\":\"Launch Registration Tool\",\"launch_url_e150bd41\":\"Launch URL\",\"link_selection_1486c5d0\":\"Link Selection\",\"link_to_lti_tools_608df3b0\":\"Link to lti tools.\",\"looks_great_e4d883ed\":\"Looks great!\",\"lower_limit_of_range_6ddd4983\":\"Lower limit of range\",\"lti_1_3_c84fd177\":\"LTI 1.3\",\"lti_1_3_tools_list_ac30b375\":\"LTI 1.3 Tools List\",\"manage_app_list_994cc26c\":\"Manage App List\",\"manage_grading_schemes_in_context_name_e3678273\":\"Manage grading schemes in %{context_name}\",\"manage_update_23de23a1\":\"Manage Update\",\"manage_update_for_toolname_f8e3b2fb\":\"Manage update for %{toolName}\",\"manual_entry_e4a4f99a\":\"Manual Entry\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"Migration Selection\",\"module_menu_3201af4e\":\"Module Menu\",\"name_1aed4a1b\":\"Name\",\"name_app_has_been_deleted_fb2d9426\":\"%{name} app has been deleted\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"*name* has been successfully installed but has not yet been enabled.\",\"name_is_currently_status_9065c996\":\"*name* is currently **status**.\",\"name_only_5f56718e\":\"Name Only\",\"no_cancel_installation_db8d12d7\":\"No, Cancel Installation\",\"no_grading_schemes_to_display_8b0e92e7\":\"No grading schemes to display\",\"no_placements_enabled_f705f28\":\"No Placements Enabled\",\"not_installed_37a21a76\":\"Not Installed\",\"one_per_line_format_name_value_79647700\":\"One per line. Format: name=value\",\"page_menu_2f8bee0\":\"Page Menu\",\"paste_xml_cda3a64e\":\"Paste XML\",\"placements_5b5e056b\":\"Placements\",\"privacy_290109ea\":\"Privacy\",\"public_a749f507\":\"Public\",\"quiz_menu_4fcd5e61\":\"Quiz Menu\",\"range_56b2f310\":\"Range\",\"range_name_90614433\":\"Range name\",\"registration_url_60e0eaaa\":\"Registration URL\",\"remove_row_c198da5a\":\"Remove row\",\"reregister_9ab95a57\":\"Reregister\",\"reregister_toolname_3dde0bfc\":\"Reregister %{toolName}\",\"save_11a80ec3\":\"Save\",\"save_grading_period_daaaddea\":\"Save Grading Period\",\"saving_d55dd90e\":\"Saving...\",\"see_some_lti_tools_that_work_great_with_canvas_53e92091\":\"See some LTI tools that work great with Canvas.\",\"settings_5aa0fd0c\":\"Settings\",\"shared_secret_892c88f2\":\"Shared Secret\",\"similarity_detection_dcada48\":\"Similarity Detection\",\"start_date_e937be8a\":\"Start Date\",\"status_e7fdbe06\":\"Status\",\"submit_a3cc6859\":\"Submit\",\"sync_grades_a16622ca\":\"Sync Grades\",\"the_app_was_activated_a84e055f\":\"The app was activated\",\"the_app_was_added_58e2836a\":\"The app was added\",\"the_app_was_added_successfully_3f785a23\":\"The app was added successfully\",\"the_app_was_deactivated_573520ab\":\"The app was deactivated\",\"the_app_was_updated_successfully_3d71cd1b\":\"The app was updated successfully\",\"the_following_content_is_partner_provided_ed1da756\":\"The following content is partner provided\",\"the_following_fields_are_invalid_fields_b3565800\":\"The following fields are invalid: %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"The grading period was deleted\",\"the_preceding_content_is_partner_provided_d753928c\":\"The preceding content is partner provided\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"There was a problem deleting the grading period\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"There was a problem deleting the grading scheme\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"There was a problem fetching periods\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"There was a problem saving the grading period\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"There was a problem saving the grading scheme\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"There was an error in processing your request\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"There was an unknown error registering the tool\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"There were errors with the form: %{errors}\",\"this_field_is_required_fa58c4a\":\"This field is required\",\"this_field_name_is_required_988caebc\":\"This field \\\"%{name}\\\" is required.\",\"this_field_name_is_required_b9196401\":\"This field \\\"name\\\" is required.\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"This tool has already been installed in this context. Would you like to install it anyway?\",\"to_35c6baa2\":\"to \",\"to_minscore_43e5452e\":\"to %{minScore}%\",\"tool_configuration_63cd43b0\":\"Tool Configuration\",\"tool_content_e699e813\":\"Tool Content\",\"tool_placements_3f996c24\":\"Tool Placements\",\"unable_to_accept_update_fd53a7e2\":\"Unable to accept update\",\"unable_to_dismiss_update_df1e32eb\":\"Unable to dismiss update\",\"unable_to_load_lti_1_3_tools_cf169f9\":\"Unable to load Lti 1.3 Tools\",\"unable_to_remove_app_4293cb53\":\"Unable to remove app\",\"unchanged_aca18e02\":\"[Unchanged]\",\"update_tool_7d48ef2a\":\"Update %{tool}\",\"updating_6edbab78\":\"Updating\",\"upper_limit_of_range_c454a8f2\":\"Upper limit of range\",\"user_navigation_a097be0f\":\"User Navigation\",\"view_app_center_6c89a3fe\":\"View App Center\",\"view_app_configurations_52b52441\":\"View App Configurations\",\"view_name_app_62a2ad8e\":\"View %{name} app\",\"view_toolname_placements_4a5724d1\":\"View %{toolName} Placements\",\"we_were_unable_to_activate_the_app_578defe7\":\"We were unable to activate the app.\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"We were unable to add the access token.\",\"we_were_unable_to_add_the_app_418877ef\":\"We were unable to add the app.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"We were unable to deactivate the app.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"We were unable to update the app.\",\"weight_9b308e5b\":\"Weight\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"Would you like to accept or dismiss this update?\",\"would_you_like_to_enable_this_app_ccdf735d\":\"Would you like to enable this app?\",\"xml_configuration_5ea1b942\":\"XML Configuration\",\"yes_install_tool_f51b3278\":\"Yes, Install Tool\"},\"en-GB\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"A table containing the name of the grading scheme and buttons for editing or deleting the scheme.\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"A table that contains the grading scheme data. Each row contains a name, maximum percentage and minimum percentage. In addition, each row contains a button to add a new row below and a button to delete current row.\",\"accept_2fdd362e\":\"Accept\",\"access_token_3be22221\":\"Access token\",\"account_navigation_80bbefd4\":\"Account Navigation\",\"actions_efcde10d\":\"Actions\",\"add_app_baf540f\":\"Add App\",\"add_grading_scheme_81e23c05\":\"Add grading scheme\",\"all_4321c3a1\":\"All\",\"all_changes_were_saved_f6f3ddcc\":\"All changes were saved\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"All dates fields must be present and formatted correctly\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"All grading periods must have a title\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"All start dates must come before end dates\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"Allow this tool to access the IMS Names and Role Provisioning Service\",\"an_update_is_available_for_toolname_bba3fa2\":\"An update is available for %{toolName}\",\"anonymous_e1b8ad27\":\"Anonymous\",\"app_b157c2b3\":\"App\",\"app_placements_6d877225\":\"App placements\",\"app_reregistration_87cc8817\":\"App re-registration\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} was installed by Admin and is locked\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} was installed by the master course and is locked\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} was installed by the master course\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"Apps are an easy way to add new features to Canvas. They can be added to individual courses, or to all courses in an account. Once configured, you can link to them through course modules and create assignments for assessment tools.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"Are you sure you want to delete this grading period?\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"Are you sure you want to delete this grading scheme?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"Are you sure you want to remove this tool?\",\"assignment_edit_6dced39f\":\"Assignment edit\",\"assignment_menu_91fe3716\":\"Assignment menu\",\"assignment_selection_6bff05c4\":\"Assignment selection\",\"assignment_view_1206a60b\":\"Assignment view\",\"back_to_app_center_95420d83\":\"Back to App Centre\",\"by_lti_2_registration_url_e421e523\":\"By LTI 2 Registration URL\",\"by_url_a163275e\":\"By URL\",\"cancel_caeb1e68\":\"Cancel\",\"close_d634289d\":\"Close\",\"close_date_a2f617b3\":\"Closing date\",\"collaboration_71c024f4\":\"Collaboration\",\"config_url_e96ceaf3\":\"Config URL\",\"configuration_type_25a084a4\":\"Configuration Type\",\"configure_ecb97e30\":\"Configure\",\"configure_tool_app_3b1bb50b\":\"Configure %{tool} App?\",\"configure_toolname_app_651371be\":\"Configure %{toolName} App\",\"consumer_key_6f94ba11\":\"Consumer key\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(%{context} level)\",\"count_apps_found_f4d86860\":\"%{count} apps found\",\"course_assignments_menu_fa6aeb23\":\"Course assignments menu\",\"course_home_sub_navigation_b1ee6b03\":\"Course Home sub navigation\",\"course_navigation_dd035109\":\"Course navigation\",\"course_settings_sub_navigation_b95deae\":\"Course settings sub navigation\",\"custom_fields_fc3e55af\":\"Custom fields\",\"delete_a6efa79d\":\"Delete\",\"delete_grading_period_dba36e59\":\"Delete grading period\",\"delete_grading_scheme_6b308832\":\"Delete grading scheme\",\"delete_tool_app_9c9f6d35\":\"Delete %{tool} App?\",\"delete_toolname_app_85f9d4ee\":\"Delete %{toolName} App\",\"description_436c48d7\":\"Description\",\"disable_a5c05db3\":\"Disable\",\"disable_toolname_44d6397c\":\"Disable %{toolName}\",\"disabled_18c33a73\":\"(disabled)\",\"discussion_topic_menu_3d4684c6\":\"Discussion topic menu\",\"dismiss_dacdb625\":\"Dismiss\",\"domain_3b54c511\":\"Domain\",\"e_mail_only_2cc5e513\":\"E-Mail only\",\"edit_app_b0cc1c17\":\"Edit App\",\"edit_c5fbea07\":\"Edit\",\"edit_grading_scheme_53091236\":\"Edit grading scheme\",\"edit_toolname_app_23cfbb8\":\"Edit %{toolName} App\",\"editor_button_6647db9c\":\"Editor button\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"Either the url or domain should be set.\",\"enable_6f5d1328\":\"Enable\",\"enable_toolname_dc64c25a\":\"Enable %{toolName}\",\"end_date_e0093ed7\":\"End date\",\"enter_the_access_token_for_your_organization_from__38b84fd1\":\"Enter the access token for your organisation from                     *eduappcenter.com*. Once applied, only apps your organisation has approved in the                     EduAppCenter will be listed on the External Apps page.                     Learn how to **generate an access token**.\",\"example_https_example_com_config_xml_be5f36ac\":\"Example: https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"Example: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"External Apps\",\"file_menu_cc0ca54\":\"File menu\",\"filter_by_name_34cbe139\":\"Filter by name\",\"global_navigation_8bee3501\":\"Global navigation\",\"grading_aa6de9\":\"Grading\",\"grading_period_name_31ceb3e3\":\"Grading period name\",\"grading_period_title_23b7f8ac\":\"Grading period title\",\"grading_period_weight_99b66906\":\"Grading period weight\",\"grading_periods_81941e66\":\"Grading periods\",\"grading_periods_must_not_overlap_f45336fb\":\"Grading periods must not overlap\",\"grading_scheme_deleted_7ae5a072\":\"Grading scheme deleted\",\"grading_scheme_saved_85535151\":\"Grading scheme saved\",\"grading_schemes_1c3c3252\":\"Grading schemes\",\"grading_standard_title_58f540a3\":\"Grading standard title\",\"homework_submission_172e8354\":\"Homework submission\",\"insert_row_below_25187f89\":\"Insert row below\",\"installed_7b284a91\":\"Installed\",\"launch_external_tool_672c0409\":\"Launch external tool\",\"launch_registration_tool_38d4781\":\"Launch Registration Tool\",\"launch_url_e150bd41\":\"Launch URL\",\"link_selection_1486c5d0\":\"Link selection\",\"link_to_lti_tools_608df3b0\":\"Link to lti tools.\",\"looks_great_e4d883ed\":\"Looks great!\",\"lower_limit_of_range_6ddd4983\":\"Lower limit of range\",\"lti_1_3_c84fd177\":\"LTI 1.3\",\"lti_1_3_tools_list_ac30b375\":\"LTI 1.3 Tools List\",\"manage_app_list_994cc26c\":\"Manage app list\",\"manage_grading_schemes_in_context_name_e3678273\":\"Manage grading schemes in %{context_name}\",\"manage_update_23de23a1\":\"Manage update\",\"manage_update_for_toolname_f8e3b2fb\":\"Manage update for %{toolName}\",\"manual_entry_e4a4f99a\":\"Manual entry\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"Migration selection\",\"module_menu_3201af4e\":\"Module menu\",\"name_1aed4a1b\":\"Name\",\"name_app_has_been_deleted_fb2d9426\":\"%{name} app has been deleted\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"*name* has been successfully installed but has not yet been enabled.\",\"name_is_currently_status_9065c996\":\"*name* is currently **status**.\",\"name_only_5f56718e\":\"Name only\",\"no_cancel_installation_db8d12d7\":\"No, cancel installation\",\"no_grading_schemes_to_display_8b0e92e7\":\"No grading schemes to display\",\"no_placements_enabled_f705f28\":\"No placements enabled\",\"not_installed_37a21a76\":\"Not Installed\",\"one_per_line_format_name_value_79647700\":\"One per line. Format: name=value\",\"page_menu_2f8bee0\":\"Page menu\",\"paste_xml_cda3a64e\":\"Paste XML\",\"placements_5b5e056b\":\"Placements\",\"privacy_290109ea\":\"Privacy\",\"public_a749f507\":\"Public\",\"quiz_menu_4fcd5e61\":\"Quiz menu\",\"range_56b2f310\":\"Range\",\"range_name_90614433\":\"Range name\",\"registration_url_60e0eaaa\":\"Registration URL\",\"remove_row_c198da5a\":\"Remove row\",\"reregister_9ab95a57\":\"Re-register\",\"reregister_toolname_3dde0bfc\":\"Re-register %{toolName}\",\"save_11a80ec3\":\"Save\",\"save_grading_period_daaaddea\":\"Save grading period\",\"saving_d55dd90e\":\"Saving...\",\"see_some_lti_tools_that_work_great_with_canvas_53e92091\":\"See some LTI tools that work great with Canvas.\",\"settings_5aa0fd0c\":\"Settings\",\"shared_secret_892c88f2\":\"Shared secret\",\"similarity_detection_dcada48\":\"Similarity detection\",\"start_date_e937be8a\":\"Start date\",\"status_e7fdbe06\":\"Status\",\"submit_a3cc6859\":\"Submit\",\"sync_grades_a16622ca\":\"Sync Grades\",\"the_app_was_activated_a84e055f\":\"The app was activated\",\"the_app_was_added_58e2836a\":\"The app was added\",\"the_app_was_added_successfully_3f785a23\":\"The app was added successfully\",\"the_app_was_deactivated_573520ab\":\"The app was deactivated\",\"the_app_was_updated_successfully_3d71cd1b\":\"The app was updated successfully\",\"the_following_content_is_partner_provided_ed1da756\":\"The following content is partner provided\",\"the_following_fields_are_invalid_fields_b3565800\":\"The following fields are invalid: %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"The grading period was deleted\",\"the_preceding_content_is_partner_provided_d753928c\":\"The preceding content is partner provided\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"There was a problem deleting the grading period\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"There was a problem deleting the grading scheme\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"There was a problem accessing periods\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"There was a problem saving the grading period\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"There was a problem saving the grading scheme\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"There was an error in processing your request\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"There was an unknown error registering the tool\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"There were errors with the form: %{errors}\",\"this_field_is_required_fa58c4a\":\"This field is required\",\"this_field_name_is_required_988caebc\":\"This field \\\"%{name}\\\" is required.\",\"this_field_name_is_required_b9196401\":\"This field \\\"name\\\" is required.\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"This tool has already been installed in this context. Would you like to install it anyway?\",\"to_35c6baa2\":\"to \",\"to_minscore_43e5452e\":\"to %{minScore}%\",\"tool_configuration_63cd43b0\":\"Tool configuration\",\"tool_content_e699e813\":\"Tool content\",\"tool_placements_3f996c24\":\"Tool placements\",\"unable_to_accept_update_fd53a7e2\":\"Unable to accept update\",\"unable_to_dismiss_update_df1e32eb\":\"Unable to dismiss update\",\"unable_to_load_lti_1_3_tools_cf169f9\":\"Unable to load Lti 1.3 Tools\",\"unable_to_remove_app_4293cb53\":\"Unable to remove app\",\"unchanged_aca18e02\":\"[Unchanged]\",\"update_tool_7d48ef2a\":\"Update %{tool}\",\"updating_6edbab78\":\"Updating\",\"upper_limit_of_range_c454a8f2\":\"Upper limit of range\",\"user_navigation_a097be0f\":\"User navigation\",\"view_app_center_6c89a3fe\":\"View App Centre\",\"view_app_configurations_52b52441\":\"View App Configurations\",\"view_name_app_62a2ad8e\":\"View %{name} app\",\"view_toolname_placements_4a5724d1\":\"View %{toolName} placements\",\"we_were_unable_to_activate_the_app_578defe7\":\"We were unable to activate the app.\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"We were unable to add the access token.\",\"we_were_unable_to_add_the_app_418877ef\":\"We were unable to add the app.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"We were unable to deactivate the app.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"We were unable to update the app.\",\"weight_9b308e5b\":\"Weight\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"Would you like to accept or dismiss this update?\",\"would_you_like_to_enable_this_app_ccdf735d\":\"Would you like to enable this app?\",\"xml_configuration_5ea1b942\":\"XML Configuration\",\"yes_install_tool_f51b3278\":\"Yes, install tool\"},\"en-GB-x-lbs\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"A table containing the name of the grading scheme and buttons for editing or deleting the scheme.\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"A table that contains the grading scheme data. Each row contains a name, maximum percentage and minimum percentage. In addition, each row contains a button to add a new row below and a button to delete current row.\",\"accept_2fdd362e\":\"Accept\",\"access_token_3be22221\":\"Access token\",\"account_navigation_80bbefd4\":\"Account Navigation\",\"actions_efcde10d\":\"Actions\",\"add_app_baf540f\":\"Add App\",\"add_grading_scheme_81e23c05\":\"Add grading scheme\",\"all_4321c3a1\":\"All\",\"all_changes_were_saved_f6f3ddcc\":\"All changes were saved\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"All dates fields must be present and formatted correctly\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"All grading periods must have a title\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"All start dates must come before end dates\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"Allow this tool to access the IMS Names and Role Provisioning Service\",\"an_update_is_available_for_toolname_bba3fa2\":\"An update is available for %{toolName}\",\"anonymous_e1b8ad27\":\"Anonymous\",\"app_b157c2b3\":\"App\",\"app_placements_6d877225\":\"App placements\",\"app_reregistration_87cc8817\":\"App re-registration\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} was installed by Admin and is locked\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} was installed by the master programme and is locked\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} was installed by the master programme\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"Apps are an easy way to add new features to Canvas. They can be added to individual programmes, or to all programmes in an account. Once configured, you can link to them through programme modules and create tasks for assessment tools.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"Are you sure you want to delete this grading period?\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"Are you sure you want to delete this grading scheme?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"Are you sure you want to remove this tool?\",\"assignment_edit_6dced39f\":\"Task edit\",\"assignment_menu_91fe3716\":\"Task menu\",\"assignment_selection_6bff05c4\":\"Task selection\",\"assignment_view_1206a60b\":\"Task view\",\"back_to_app_center_95420d83\":\"Back to App Centre\",\"by_lti_2_registration_url_e421e523\":\"By LTI 2 Registration URL\",\"by_url_a163275e\":\"By URL\",\"cancel_caeb1e68\":\"Cancel\",\"close_d634289d\":\"Close\",\"close_date_a2f617b3\":\"Closing date\",\"collaboration_71c024f4\":\"Collaboration\",\"config_url_e96ceaf3\":\"Config URL\",\"configuration_type_25a084a4\":\"Configuration Type\",\"configure_ecb97e30\":\"Configure\",\"configure_tool_app_3b1bb50b\":\"Configure %{tool} App?\",\"configure_toolname_app_651371be\":\"Configure %{toolName} App\",\"consumer_key_6f94ba11\":\"Consumer key\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(%{context} level)\",\"count_apps_found_f4d86860\":\"%{count} apps found\",\"course_assignments_menu_fa6aeb23\":\"Programme tasks menu\",\"course_home_sub_navigation_b1ee6b03\":\"Programme Home sub navigation\",\"course_navigation_dd035109\":\"Programme navigation\",\"course_settings_sub_navigation_b95deae\":\"Programme settings sub navigation\",\"custom_fields_fc3e55af\":\"Custom fields\",\"delete_a6efa79d\":\"Delete\",\"delete_grading_period_dba36e59\":\"Delete grading period\",\"delete_grading_scheme_6b308832\":\"Delete grading scheme\",\"delete_tool_app_9c9f6d35\":\"Delete %{tool} App?\",\"delete_toolname_app_85f9d4ee\":\"Delete %{toolName} App\",\"description_436c48d7\":\"Description\",\"disable_a5c05db3\":\"Disable\",\"disable_toolname_44d6397c\":\"Disable %{toolName}\",\"disabled_18c33a73\":\"(disabled)\",\"discussion_topic_menu_3d4684c6\":\"Discussion topic menu\",\"dismiss_dacdb625\":\"Dismiss\",\"domain_3b54c511\":\"Domain\",\"e_mail_only_2cc5e513\":\"E-Mail only\",\"edit_app_b0cc1c17\":\"Edit App\",\"edit_c5fbea07\":\"Edit\",\"edit_grading_scheme_53091236\":\"Edit grading scheme\",\"edit_toolname_app_23cfbb8\":\"Edit %{toolName} App\",\"editor_button_6647db9c\":\"Editor button\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"Either the url or domain should be set.\",\"enable_6f5d1328\":\"Enable\",\"enable_toolname_dc64c25a\":\"Enable %{toolName}\",\"end_date_e0093ed7\":\"End date\",\"enter_the_access_token_for_your_organization_from__38b84fd1\":\"Enter the access token for your organisation from                     *eduappcenter.com*. Once applied, only apps your organisation has approved in the                     EduAppCenter will be listed on the External Apps page.                     Learn how to **generate an access token**.\",\"example_https_example_com_config_xml_be5f36ac\":\"Example: https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"Example: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"External Apps\",\"file_menu_cc0ca54\":\"File menu\",\"filter_by_name_34cbe139\":\"Filter by name\",\"global_navigation_8bee3501\":\"Global navigation\",\"grading_aa6de9\":\"Grading\",\"grading_period_name_31ceb3e3\":\"Grading period name\",\"grading_period_title_23b7f8ac\":\"Grading period title\",\"grading_period_weight_99b66906\":\"Grading period weight\",\"grading_periods_81941e66\":\"Grading periods\",\"grading_periods_must_not_overlap_f45336fb\":\"Grading periods must not overlap\",\"grading_scheme_deleted_7ae5a072\":\"Grading scheme deleted\",\"grading_scheme_saved_85535151\":\"Grading scheme saved\",\"grading_schemes_1c3c3252\":\"Grading schemes\",\"grading_standard_title_58f540a3\":\"Grading standard title\",\"homework_submission_172e8354\":\"Homework submission\",\"insert_row_below_25187f89\":\"Insert row below\",\"installed_7b284a91\":\"Installed\",\"launch_external_tool_672c0409\":\"Launch external tool\",\"launch_registration_tool_38d4781\":\"Launch Registration Tool\",\"launch_url_e150bd41\":\"Launch URL\",\"link_selection_1486c5d0\":\"Link selection\",\"link_to_lti_tools_608df3b0\":\"Link to lti tools.\",\"looks_great_e4d883ed\":\"Looks great!\",\"lower_limit_of_range_6ddd4983\":\"Lower limit of range\",\"lti_1_3_c84fd177\":\"LTI 1.3\",\"lti_1_3_tools_list_ac30b375\":\"LTI 1.3 Tools List\",\"manage_app_list_994cc26c\":\"Manage app list\",\"manage_grading_schemes_in_context_name_e3678273\":\"Manage grading schemes in %{context_name}\",\"manage_update_23de23a1\":\"Manage update\",\"manage_update_for_toolname_f8e3b2fb\":\"Manage update for %{toolName}\",\"manual_entry_e4a4f99a\":\"Manual entry\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"Migration selection\",\"module_menu_3201af4e\":\"Module menu\",\"name_1aed4a1b\":\"Name\",\"name_app_has_been_deleted_fb2d9426\":\"%{name} app has been deleted\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"*name* has been successfully installed but has not yet been enabled.\",\"name_is_currently_status_9065c996\":\"*name* is currently **status**.\",\"name_only_5f56718e\":\"Name only\",\"no_cancel_installation_db8d12d7\":\"No, cancel installation\",\"no_grading_schemes_to_display_8b0e92e7\":\"No grading schemes to display\",\"no_placements_enabled_f705f28\":\"No placements enabled\",\"not_installed_37a21a76\":\"Not Installed\",\"one_per_line_format_name_value_79647700\":\"One per line. Format: name=value\",\"page_menu_2f8bee0\":\"Page menu\",\"paste_xml_cda3a64e\":\"Paste XML\",\"placements_5b5e056b\":\"Placements\",\"privacy_290109ea\":\"Privacy\",\"public_a749f507\":\"Public\",\"quiz_menu_4fcd5e61\":\"Survey menu\",\"range_56b2f310\":\"Range\",\"range_name_90614433\":\"Range name\",\"registration_url_60e0eaaa\":\"Registration URL\",\"remove_row_c198da5a\":\"Remove row\",\"reregister_9ab95a57\":\"Re-register\",\"reregister_toolname_3dde0bfc\":\"Re-register %{toolName}\",\"save_11a80ec3\":\"Save\",\"save_grading_period_daaaddea\":\"Save grading period\",\"saving_d55dd90e\":\"Saving...\",\"see_some_lti_tools_that_work_great_with_canvas_53e92091\":\"See some LTI tools that work great with Canvas.\",\"settings_5aa0fd0c\":\"Settings\",\"shared_secret_892c88f2\":\"Shared Secret\",\"similarity_detection_dcada48\":\"Similarity detection\",\"start_date_e937be8a\":\"Start date\",\"status_e7fdbe06\":\"Status\",\"submit_a3cc6859\":\"Submit\",\"sync_grades_a16622ca\":\"Sync Grades\",\"the_app_was_activated_a84e055f\":\"The app was activated\",\"the_app_was_added_58e2836a\":\"The app was added\",\"the_app_was_added_successfully_3f785a23\":\"The app was added successfully\",\"the_app_was_deactivated_573520ab\":\"The app was deactivated\",\"the_app_was_updated_successfully_3d71cd1b\":\"The app was updated successfully\",\"the_following_content_is_partner_provided_ed1da756\":\"The following content is partner provided\",\"the_following_fields_are_invalid_fields_b3565800\":\"The following fields are invalid: %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"The grading period was deleted\",\"the_preceding_content_is_partner_provided_d753928c\":\"The preceding content is partner provided\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"There was a problem deleting the grading period\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"There was a problem deleting the grading scheme\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"There was a problem accessing periods\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"There was a problem saving the grading period\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"There was a problem saving the grading scheme\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"There was an error in processing your request\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"There was an unknown error registering the tool\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"There were errors with the form: %{errors}\",\"this_field_is_required_fa58c4a\":\"This field is required\",\"this_field_name_is_required_988caebc\":\"This field \\\"%{name}\\\" is required.\",\"this_field_name_is_required_b9196401\":\"This field \\\"name\\\" is required.\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"This tool has already been installed in this context. Would you like to install it anyway?\",\"to_35c6baa2\":\"to \",\"to_minscore_43e5452e\":\"to %{minScore}%\",\"tool_configuration_63cd43b0\":\"Tool configuration\",\"tool_content_e699e813\":\"Tool content\",\"tool_placements_3f996c24\":\"Tool placements\",\"unable_to_accept_update_fd53a7e2\":\"Unable to accept update\",\"unable_to_dismiss_update_df1e32eb\":\"Unable to dismiss update\",\"unable_to_load_lti_1_3_tools_cf169f9\":\"Unable to load Lti 1.3 Tools\",\"unable_to_remove_app_4293cb53\":\"Unable to remove app\",\"unchanged_aca18e02\":\"[Unchanged]\",\"update_tool_7d48ef2a\":\"Update %{tool}\",\"updating_6edbab78\":\"Updating\",\"upper_limit_of_range_c454a8f2\":\"Upper limit of range\",\"user_navigation_a097be0f\":\"User navigation\",\"view_app_center_6c89a3fe\":\"View App Centre\",\"view_app_configurations_52b52441\":\"View App Configurations\",\"view_name_app_62a2ad8e\":\"View %{name} app\",\"view_toolname_placements_4a5724d1\":\"View %{toolName} placements\",\"we_were_unable_to_activate_the_app_578defe7\":\"We were unable to activate the app.\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"We were unable to add the access token.\",\"we_were_unable_to_add_the_app_418877ef\":\"We were unable to add the app.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"We were unable to deactivate the app.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"We were unable to update the app.\",\"weight_9b308e5b\":\"Weight\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"Would you like to accept or dismiss this update?\",\"would_you_like_to_enable_this_app_ccdf735d\":\"Would you like to enable this app?\",\"xml_configuration_5ea1b942\":\"XML Configuration\",\"yes_install_tool_f51b3278\":\"Yes, install tool\"},\"en-GB-x-ukhe\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"A table containing the name of the grading scheme and buttons for editing or deleting the scheme.\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"A table that contains the grading scheme data. Each row contains a name, maximum percentage and minimum percentage. In addition, each row contains a button to add a new row below and a button to delete current row.\",\"accept_2fdd362e\":\"Accept\",\"access_token_3be22221\":\"Access token\",\"account_navigation_80bbefd4\":\"Account Navigation\",\"actions_efcde10d\":\"Actions\",\"add_app_baf540f\":\"Add App\",\"add_grading_scheme_81e23c05\":\"Add grading scheme\",\"all_4321c3a1\":\"All\",\"all_changes_were_saved_f6f3ddcc\":\"All changes were saved\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"All dates fields must be present and formatted correctly\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"All grading periods must have a title\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"All start dates must come before end dates\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"Allow this tool to access the IMS Names and Role Provisioning Service\",\"an_update_is_available_for_toolname_bba3fa2\":\"An update is available for %{toolName}\",\"anonymous_e1b8ad27\":\"Anonymous\",\"app_b157c2b3\":\"App\",\"app_placements_6d877225\":\"App placements\",\"app_reregistration_87cc8817\":\"App re-registration\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} was installed by Admin and is locked\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} was installed by the master module and is locked\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} was installed by the master module\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"Apps are an easy way to add new features to Canvas. They can be added to individual modules, or to all units in an account. Once configured, you can link to them through module units and create assignments for assessment tools.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"Are you sure you want to delete this grading period?\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"Are you sure you want to delete this grading scheme?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"Are you sure you want to remove this tool?\",\"assignment_edit_6dced39f\":\"Assignment edit\",\"assignment_menu_91fe3716\":\"Assignment menu\",\"assignment_selection_6bff05c4\":\"Assignment selection\",\"assignment_view_1206a60b\":\"Assignment view\",\"back_to_app_center_95420d83\":\"Back to App Centre\",\"by_lti_2_registration_url_e421e523\":\"By LTI 2 Registration URL\",\"by_url_a163275e\":\"By URL\",\"cancel_caeb1e68\":\"Cancel\",\"close_d634289d\":\"Close\",\"close_date_a2f617b3\":\"Closing date\",\"collaboration_71c024f4\":\"Collaboration\",\"config_url_e96ceaf3\":\"Config URL\",\"configuration_type_25a084a4\":\"Configuration Type\",\"configure_ecb97e30\":\"Configure\",\"configure_tool_app_3b1bb50b\":\"Configure %{tool} App?\",\"configure_toolname_app_651371be\":\"Configure %{toolName} App\",\"consumer_key_6f94ba11\":\"Consumer key\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(%{context} level)\",\"count_apps_found_f4d86860\":\"%{count} apps found\",\"course_assignments_menu_fa6aeb23\":\"Module assignments menu\",\"course_home_sub_navigation_b1ee6b03\":\"Module Home sub navigation\",\"course_navigation_dd035109\":\"Module navigation\",\"course_settings_sub_navigation_b95deae\":\"Module settings sub navigation\",\"custom_fields_fc3e55af\":\"Custom fields\",\"delete_a6efa79d\":\"Delete\",\"delete_grading_period_dba36e59\":\"Delete grading period\",\"delete_grading_scheme_6b308832\":\"Delete grading scheme\",\"delete_tool_app_9c9f6d35\":\"Delete %{tool} App?\",\"delete_toolname_app_85f9d4ee\":\"Delete %{toolName} App\",\"description_436c48d7\":\"Description\",\"disable_a5c05db3\":\"Disable\",\"disable_toolname_44d6397c\":\"Disable %{toolName}\",\"disabled_18c33a73\":\"(disabled)\",\"discussion_topic_menu_3d4684c6\":\"Discussion topic menu\",\"dismiss_dacdb625\":\"Dismiss\",\"domain_3b54c511\":\"Domain\",\"e_mail_only_2cc5e513\":\"E-Mail only\",\"edit_app_b0cc1c17\":\"Edit App\",\"edit_c5fbea07\":\"Edit\",\"edit_grading_scheme_53091236\":\"Edit grading scheme\",\"edit_toolname_app_23cfbb8\":\"Edit %{toolName} App\",\"editor_button_6647db9c\":\"Editor button\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"Either the url or domain should be set.\",\"enable_6f5d1328\":\"Enable\",\"enable_toolname_dc64c25a\":\"Enable %{toolName}\",\"end_date_e0093ed7\":\"End date\",\"enter_the_access_token_for_your_organization_from__38b84fd1\":\"Enter the access token for your organisation from                     *eduappcenter.com*. Once applied, only apps your organisation has approved in the                     EduAppCenter will be listed on the External Apps page.                     Learn how to **generate an access token**.\",\"example_https_example_com_config_xml_be5f36ac\":\"Example: https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"Example: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"External Apps\",\"file_menu_cc0ca54\":\"File menu\",\"filter_by_name_34cbe139\":\"Filter by name\",\"global_navigation_8bee3501\":\"Global navigation\",\"grading_aa6de9\":\"Grading\",\"grading_period_name_31ceb3e3\":\"Grading period name\",\"grading_period_title_23b7f8ac\":\"Grading period title\",\"grading_period_weight_99b66906\":\"Grading period weight\",\"grading_periods_81941e66\":\"Grading periods\",\"grading_periods_must_not_overlap_f45336fb\":\"Grading periods must not overlap\",\"grading_scheme_deleted_7ae5a072\":\"Grading scheme deleted\",\"grading_scheme_saved_85535151\":\"Grading scheme saved\",\"grading_schemes_1c3c3252\":\"Grading schemes\",\"grading_standard_title_58f540a3\":\"Grading standard title\",\"homework_submission_172e8354\":\"Homework submission\",\"insert_row_below_25187f89\":\"Insert row below\",\"installed_7b284a91\":\"Installed\",\"launch_external_tool_672c0409\":\"Launch external tool\",\"launch_registration_tool_38d4781\":\"Launch Registration Tool\",\"launch_url_e150bd41\":\"Launch URL\",\"link_selection_1486c5d0\":\"Link selection\",\"link_to_lti_tools_608df3b0\":\"Link to lti tools.\",\"looks_great_e4d883ed\":\"Looks great!\",\"lower_limit_of_range_6ddd4983\":\"Lower limit of range\",\"lti_1_3_c84fd177\":\"LTI 1.3\",\"lti_1_3_tools_list_ac30b375\":\"LTI 1.3 Tools List\",\"manage_app_list_994cc26c\":\"Manage app list\",\"manage_grading_schemes_in_context_name_e3678273\":\"Manage grading schemes in %{context_name}\",\"manage_update_23de23a1\":\"Manage update\",\"manage_update_for_toolname_f8e3b2fb\":\"Manage update for %{toolName}\",\"manual_entry_e4a4f99a\":\"Manual entry\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"Migration selection\",\"module_menu_3201af4e\":\"Unit menu\",\"name_1aed4a1b\":\"Name\",\"name_app_has_been_deleted_fb2d9426\":\"%{name} app has been deleted\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"*name* has been successfully installed but has not yet been enabled.\",\"name_is_currently_status_9065c996\":\"*name* is currently **status**.\",\"name_only_5f56718e\":\"Name only\",\"no_cancel_installation_db8d12d7\":\"No, cancel installation\",\"no_grading_schemes_to_display_8b0e92e7\":\"No grading schemes to display\",\"no_placements_enabled_f705f28\":\"No placements enabled\",\"not_installed_37a21a76\":\"Not Installed\",\"one_per_line_format_name_value_79647700\":\"One per line. Format: name=value\",\"page_menu_2f8bee0\":\"Page menu\",\"paste_xml_cda3a64e\":\"Paste XML\",\"placements_5b5e056b\":\"Placements\",\"privacy_290109ea\":\"Privacy\",\"public_a749f507\":\"Public\",\"quiz_menu_4fcd5e61\":\"Quiz menu\",\"range_56b2f310\":\"Range\",\"range_name_90614433\":\"Range name\",\"registration_url_60e0eaaa\":\"Registration URL\",\"remove_row_c198da5a\":\"Remove row\",\"reregister_9ab95a57\":\"Re-register\",\"reregister_toolname_3dde0bfc\":\"Re-register %{toolName}\",\"save_11a80ec3\":\"Save\",\"save_grading_period_daaaddea\":\"Save grading period\",\"saving_d55dd90e\":\"Saving...\",\"see_some_lti_tools_that_work_great_with_canvas_53e92091\":\"See some LTI tools that work great with Canvas.\",\"settings_5aa0fd0c\":\"Settings\",\"shared_secret_892c88f2\":\"Shared secret\",\"similarity_detection_dcada48\":\"Similarity detection\",\"start_date_e937be8a\":\"Start date\",\"status_e7fdbe06\":\"Status\",\"submit_a3cc6859\":\"Submit\",\"sync_grades_a16622ca\":\"Sync Grades\",\"the_app_was_activated_a84e055f\":\"The app was activated\",\"the_app_was_added_58e2836a\":\"The app was added\",\"the_app_was_added_successfully_3f785a23\":\"The app was added successfully\",\"the_app_was_deactivated_573520ab\":\"The app was deactivated\",\"the_app_was_updated_successfully_3d71cd1b\":\"The app was updated successfully\",\"the_following_content_is_partner_provided_ed1da756\":\"The following content is partner provided\",\"the_following_fields_are_invalid_fields_b3565800\":\"The following fields are invalid: %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"The grading period was deleted\",\"the_preceding_content_is_partner_provided_d753928c\":\"The preceding content is partner provided\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"There was a problem deleting the grading period\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"There was a problem deleting the grading scheme\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"There was a problem accessing periods\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"There was a problem saving the grading period\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"There was a problem saving the grading scheme\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"There was an error in processing your request\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"There was an unknown error registering the tool\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"There were errors with the form: %{errors}\",\"this_field_is_required_fa58c4a\":\"This field is required\",\"this_field_name_is_required_988caebc\":\"This field \\\"%{name}\\\" is required.\",\"this_field_name_is_required_b9196401\":\"This field \\\"name\\\" is required.\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"This tool has already been installed in this context. Would you like to install it anyway?\",\"to_35c6baa2\":\"to \",\"to_minscore_43e5452e\":\"to %{minScore}%\",\"tool_configuration_63cd43b0\":\"Tool configuration\",\"tool_content_e699e813\":\"Tool content\",\"tool_placements_3f996c24\":\"Tool placements\",\"unable_to_accept_update_fd53a7e2\":\"Unable to accept update\",\"unable_to_dismiss_update_df1e32eb\":\"Unable to dismiss update\",\"unable_to_load_lti_1_3_tools_cf169f9\":\"Unable to load Lti 1.3 Tools\",\"unable_to_remove_app_4293cb53\":\"Unable to remove app\",\"unchanged_aca18e02\":\"[Unchanged]\",\"update_tool_7d48ef2a\":\"Update %{tool}\",\"updating_6edbab78\":\"Updating\",\"upper_limit_of_range_c454a8f2\":\"Upper limit of range\",\"user_navigation_a097be0f\":\"User navigation\",\"view_app_center_6c89a3fe\":\"View App Centre\",\"view_app_configurations_52b52441\":\"View App Configurations\",\"view_name_app_62a2ad8e\":\"View %{name} app\",\"view_toolname_placements_4a5724d1\":\"View %{toolName} placements\",\"we_were_unable_to_activate_the_app_578defe7\":\"We were unable to activate the app.\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"We were unable to add the access token.\",\"we_were_unable_to_add_the_app_418877ef\":\"We were unable to add the app.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"We were unable to deactivate the app.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"We were unable to update the app.\",\"weight_9b308e5b\":\"Weight\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"Would you like to accept or dismiss this update?\",\"would_you_like_to_enable_this_app_ccdf735d\":\"Would you like to enable this app?\",\"xml_configuration_5ea1b942\":\"XML Configuration\",\"yes_install_tool_f51b3278\":\"Yes, install tool\"},\"es\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"Una tabla que contiene el nombre del esquema de calificaciones y botones para editar o eliminar el esquema.\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"Una tabla que contiene información sobre el esquema de calificaciones. Cada fila incluye un nombre, un porcentaje máximo y un porcentaje mínimo. Además, cada fila incorpora un botón para agregar más filas debajo y otro botón para eliminar la fila actual.\",\"accept_2fdd362e\":\"Aceptar\",\"access_token_3be22221\":\"Autentificador de acceso\",\"account_navigation_80bbefd4\":\"Navegación de la cuenta\",\"actions_efcde10d\":\"Acciones\",\"add_app_baf540f\":\"Agregar aplicación\",\"add_grading_scheme_81e23c05\":\"Agregar esquema de calificaciones\",\"all_4321c3a1\":\"Todo\",\"all_changes_were_saved_f6f3ddcc\":\"Todos los cambios fueron guardados\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"Todos los campos de fecha deben estar presentes y formateados correctamente\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"Todos los períodos de calificación deben tener un título\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"Todas las fechas de comienzo deben ser antes de la fecha de término\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"Permitir que esta herramienta acceda a los nombres IMS y servicio de aprovisionamiento de rol\",\"an_update_is_available_for_toolname_bba3fa2\":\"Hay una actualización disponible para %{toolName}\",\"anonymous_e1b8ad27\":\"Anónimo\",\"app_b157c2b3\":\"Aplicación\",\"app_placements_6d877225\":\"Colocaciones de la aplicación\",\"app_reregistration_87cc8817\":\"Aplicación del proceso de registro\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} fue instalada por el administrador y está bloqueada\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} fue instalada por el curso principal y está bloqueada\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} fue instalada por el curso principal\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"Las aplicaciones permiten agregar nuevas funciones a Canvas de manera sencilla. Se pueden incorporar a cursos individuales o a todos los cursos de una cuenta. Una vez configuradas, puede enlazarlas a través de los módulos del curso y crear tareas para las herramientas de evaluación.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"¿Está seguro que desea eliminar este período de calificaciones?\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"¿Está seguro que desea eliminar este esquema de calificaciones?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"¿Está seguro que desea eliminar esta herramienta?\",\"assignment_edit_6dced39f\":\"Edición de la tarea\",\"assignment_menu_91fe3716\":\"Menú de tarea\",\"assignment_selection_6bff05c4\":\"Selección de la tarea\",\"assignment_view_1206a60b\":\"Vista de la tarea\",\"back_to_app_center_95420d83\":\"Volver al centro de aplicaciones\",\"by_lti_2_registration_url_e421e523\":\"A través de la URL de registro LTI 2\",\"by_url_a163275e\":\"Por URL\",\"cancel_caeb1e68\":\"Cancelar\",\"close_d634289d\":\"Cerrar\",\"close_date_a2f617b3\":\"Fecha de cierre\",\"collaboration_71c024f4\":\"Colaboración\",\"config_url_e96ceaf3\":\"Configurar URL\",\"configuration_type_25a084a4\":\"Tipo de configuración\",\"configure_ecb97e30\":\"Configurar\",\"configure_tool_app_3b1bb50b\":\"¿Configurar la aplicación %{tool}?\",\"configure_toolname_app_651371be\":\"Configurar la aplicación %{toolName}\",\"consumer_key_6f94ba11\":\"Clave de consumidor\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(nivel %{context})\",\"count_apps_found_f4d86860\":\"%{count} aplicaciones encontradas\",\"course_assignments_menu_fa6aeb23\":\"Menú de tareas del curso\",\"course_home_sub_navigation_b1ee6b03\":\"Subnavegación del inicio del curso\",\"course_navigation_dd035109\":\"Navegación del curso\",\"course_settings_sub_navigation_b95deae\":\"Subnavegación de la configuración del curso\",\"custom_fields_fc3e55af\":\"Campos personalizados\",\"delete_a6efa79d\":\"Eliminar\",\"delete_grading_period_dba36e59\":\"Eliminar período de calificación\",\"delete_grading_scheme_6b308832\":\"Eliminar el esquema de calificaciones\",\"delete_tool_app_9c9f6d35\":\"¿Eliminar la aplicación %{tool}?\",\"delete_toolname_app_85f9d4ee\":\"Eliminar la aplicación %{toolName}\",\"description_436c48d7\":\"Descripción\",\"disable_a5c05db3\":\"Deshabilitar\",\"disable_toolname_44d6397c\":\"Deshabilitar %{toolName}\",\"disabled_18c33a73\":\"(deshabilitado)\",\"discussion_topic_menu_3d4684c6\":\"Menú de tema del foro\",\"dismiss_dacdb625\":\"Descartar\",\"domain_3b54c511\":\"Dominio\",\"e_mail_only_2cc5e513\":\"Solo correo electrónico\",\"edit_app_b0cc1c17\":\"Editar aplicación\",\"edit_c5fbea07\":\"Editar\",\"edit_grading_scheme_53091236\":\"Editar el esquema de calificaciones\",\"edit_toolname_app_23cfbb8\":\"Editar aplicación %{toolName}\",\"editor_button_6647db9c\":\"Botón de editor\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"Deben establecerse la URL o el dominio.\",\"enable_6f5d1328\":\"Habilitar\",\"enable_toolname_dc64c25a\":\"Habilitar %{toolName}\",\"end_date_e0093ed7\":\"Fecha final\",\"enter_the_access_token_for_your_organization_from__38b84fd1\":\"Ingrese el autentificador de acceso para su organización desde                     *eduappcenter.com*. Una vez aplicado, solo las aplicaciones que su organización haya aprobado en                      EduAppCenter aparecerán en la página de Aplicaciones externas.                     Aprenda cómo **generar un autentificador de acceso**.\",\"example_https_example_com_config_xml_be5f36ac\":\"Ejemplo: https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"Ejemplo: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"Aplicaciones externas\",\"file_menu_cc0ca54\":\"Menú de archivo\",\"filter_by_name_34cbe139\":\"Filtrar por nombre\",\"global_navigation_8bee3501\":\"Navegación global\",\"grading_aa6de9\":\"Calificación\",\"grading_period_name_31ceb3e3\":\"Nombre del período de calificación\",\"grading_period_title_23b7f8ac\":\"Título del período de calificación\",\"grading_period_weight_99b66906\":\"Peso del período de calificación\",\"grading_periods_81941e66\":\"Períodos de calificación\",\"grading_periods_must_not_overlap_f45336fb\":\"El período de calificación no se debe sobreponer\",\"grading_scheme_deleted_7ae5a072\":\"Esquema de calificaciones eliminado\",\"grading_scheme_saved_85535151\":\"Esquema de calificaciones guardado\",\"grading_schemes_1c3c3252\":\"Esquemas de calificaciones\",\"grading_standard_title_58f540a3\":\"Título estándar de calificación\",\"homework_submission_172e8354\":\"Entrega de la tarea\",\"insert_row_below_25187f89\":\"Insertar fila debajo\",\"installed_7b284a91\":\"Instalada\",\"launch_external_tool_672c0409\":\"Lanzar la herramienta externa\",\"launch_registration_tool_38d4781\":\"Herramienta de registro de inicio\",\"launch_url_e150bd41\":\"Ejecutar URL\",\"link_selection_1486c5d0\":\"Selección de enlace\",\"link_to_lti_tools_608df3b0\":\"Enlace a las herramientas lti.\",\"looks_great_e4d883ed\":\"¡Se ve muy bien!\",\"lower_limit_of_range_6ddd4983\":\"Límite inferior del rango\",\"lti_1_3_c84fd177\":\"LTI 1.3\",\"lti_1_3_tools_list_ac30b375\":\"Lista de herramientas de LTI 1.3\",\"manage_app_list_994cc26c\":\"Gestionar lista de aplicaciones\",\"manage_grading_schemes_in_context_name_e3678273\":\"Manejar los esquemas de calificación en %{context_name}\",\"manage_update_23de23a1\":\"Gestionar la actualización\",\"manage_update_for_toolname_f8e3b2fb\":\"Gestionar la actualización para %{toolName}\",\"manual_entry_e4a4f99a\":\"Entrada manual\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"Selección de la migración\",\"module_menu_3201af4e\":\"Menú de módulo\",\"name_1aed4a1b\":\"Nombre\",\"name_app_has_been_deleted_fb2d9426\":\"Se ha eliminado la aplicación %{name}\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"*nombre* se ha instalado correctamente pero aún no se ha habilitado.\",\"name_is_currently_status_9065c996\":\"*nombre* está actualmente como **estado**.\",\"name_only_5f56718e\":\"Solo el nombre\",\"no_cancel_installation_db8d12d7\":\"No, cancelar instalación\",\"no_grading_schemes_to_display_8b0e92e7\":\"No hay ningún esquema de calificaciones que mostrar\",\"no_placements_enabled_f705f28\":\"No hay colocaciones habilitadas\",\"not_installed_37a21a76\":\"No instalado\",\"one_per_line_format_name_value_79647700\":\"Uno por línea. Formato: nombre=valor\",\"page_menu_2f8bee0\":\"Menú de la página\",\"paste_xml_cda3a64e\":\"Pegar XML\",\"placements_5b5e056b\":\"Colocaciones\",\"privacy_290109ea\":\"Privacidad\",\"public_a749f507\":\"Público\",\"quiz_menu_4fcd5e61\":\"Menú de evaluaciones\",\"range_56b2f310\":\"Rango\",\"range_name_90614433\":\"Nombre del intervalo\",\"registration_url_60e0eaaa\":\"URL de registro\",\"remove_row_c198da5a\":\"Eliminar fila\",\"reregister_9ab95a57\":\"Registrar nuevamente\",\"reregister_toolname_3dde0bfc\":\"Registrar nuevamente %{toolName}\",\"save_11a80ec3\":\"Guardar\",\"save_grading_period_daaaddea\":\"Guardar el período de calificación\",\"saving_d55dd90e\":\"Guardando...\",\"see_some_lti_tools_that_work_great_with_canvas_53e92091\":\"Ver algunas herramientas LTI que funcionan muy bien con Canvas.\",\"settings_5aa0fd0c\":\"Configuraciones\",\"shared_secret_892c88f2\":\"Secreto compartido\",\"similarity_detection_dcada48\":\"Detección de similitud\",\"start_date_e937be8a\":\"Fecha de inicio\",\"status_e7fdbe06\":\"Estado\",\"submit_a3cc6859\":\"Entregar\",\"sync_grades_a16622ca\":\"Sincronizar calificaciones\",\"the_app_was_activated_a84e055f\":\"Se activó la aplicación\",\"the_app_was_added_58e2836a\":\"Se agregó la aplicación\",\"the_app_was_added_successfully_3f785a23\":\"Se agregó la aplicación correctamente\",\"the_app_was_deactivated_573520ab\":\"Se desactivó la aplicación\",\"the_app_was_updated_successfully_3d71cd1b\":\"Se actualizó la aplicación correctamente\",\"the_following_content_is_partner_provided_ed1da756\":\"El siguiente contenido está proporcionado por un socio\",\"the_following_fields_are_invalid_fields_b3565800\":\"Los siguientes campos son inválidos: %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"El período de calificación fue eliminado\",\"the_preceding_content_is_partner_provided_d753928c\":\"El contenido anterior está proporcionado por un socio\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"Se produjo un problema al eliminar el período de calificaciones\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"Se ha producido un problema al eliminar el esquema de calificaciones\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"Hubo un problema buscando períodos\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"Hubo un problema al guardar el período de calificaciones\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"Se ha producido un problema al guardar el esquema de calificaciones\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"Se ha producido un error al procesar su petición\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"Se produjo un error desconocido al registrar la herramienta\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"Se han producido errores en el formulario: %{errors}\",\"this_field_is_required_fa58c4a\":\"Este campo es obligatorio\",\"this_field_name_is_required_988caebc\":\"Este campo \\\"%{name}\\\" es obligatorio.\",\"this_field_name_is_required_b9196401\":\"Este campo \\\"nombre\\\" es obligatorio.\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"Esta herramienta ya fue instalada en este contexto. ¿Desea instalarla de todas formas?\",\"to_35c6baa2\":\"a \",\"to_minscore_43e5452e\":\"a %{minScore}%\",\"tool_configuration_63cd43b0\":\"Configuración de herramientas\",\"tool_content_e699e813\":\"Contenido de herramienta\",\"tool_placements_3f996c24\":\"Ubicaciones de herramientas\",\"unable_to_accept_update_fd53a7e2\":\"No se ha podido aceptar la actualización\",\"unable_to_dismiss_update_df1e32eb\":\"No se ha podido descartar la actualización\",\"unable_to_load_lti_1_3_tools_cf169f9\":\"No se pueden cargar las herramientas Lti 1.3\",\"unable_to_remove_app_4293cb53\":\"No se ha podido eliminar la aplicación\",\"unchanged_aca18e02\":\"[Sin cambiar]\",\"update_tool_7d48ef2a\":\"Actualizar %{tool}\",\"updating_6edbab78\":\"Actualizando\",\"upper_limit_of_range_c454a8f2\":\"Límite superior del rango\",\"user_navigation_a097be0f\":\"Navegación del usuario\",\"view_app_center_6c89a3fe\":\"Ver el centro de aplicaciones\",\"view_app_configurations_52b52441\":\"Ver las configuraciones de las aplicaciones\",\"view_name_app_62a2ad8e\":\"Ver la aplicación %{name}\",\"view_toolname_placements_4a5724d1\":\"Ver %{toolName} colocaciones\",\"we_were_unable_to_activate_the_app_578defe7\":\"No es posible activar la aplicación.\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"No es posible agregar el autentificador de acceso.\",\"we_were_unable_to_add_the_app_418877ef\":\"No es posible agregar la aplicación.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"No es posible desactivar la aplicación.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"No es posible actualizar la aplicación.\",\"weight_9b308e5b\":\"Ponderación\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"¿Le gustaría aceptar o descartar esta actualización?\",\"would_you_like_to_enable_this_app_ccdf735d\":\"¿Le gustaría habilitar esta aplicación?\",\"xml_configuration_5ea1b942\":\"Configuración XML\",\"yes_install_tool_f51b3278\":\"Sí, instalar herramienta\"},\"fa\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"یک جدول حاوی نام طرح نمره گذاری و دکمه هایی برای ویرایش یا حذف طرح.\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"یک جدول که حاوی داده های طرح نمره گذاری است. هر ردیف حاوی نام، درصد حداکثری و درصد حداقلی است. افزون بر این، هر ردیف حاوی یک دکمه برای افزودن ردیف جدید در قسمت پایین و یک دکمه برای حذف ردیف فعلی است.\",\"accept_2fdd362e\":\"قبول\",\"access_token_3be22221\":\"نشانه دسترسی\",\"account_navigation_80bbefd4\":\"پیمایش حساب\",\"actions_efcde10d\":\"اقدام ها\",\"add_app_baf540f\":\"افزودن برنامه\",\"add_grading_scheme_81e23c05\":\"افزودن طرح نمره گذاری\",\"all_4321c3a1\":\"همه\",\"all_changes_were_saved_f6f3ddcc\":\"همه تغییرات ذخیره شد\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"همه قسمت های تاریخ باید موجود باشد و به درستی قالب بندی شده باشد\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"همه دوره های نمره گذاری باید عنوان داشته باشند\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"همه تاریخ های شروع باید قبل از تاریخ پایان باشند\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"امکان دادن به این ابزار برای دسترسی به نام های IMS و سرویس Role Provisioning\",\"an_update_is_available_for_toolname_bba3fa2\":\"یک بهنگام سازی برای %{toolName} موجود است\",\"anonymous_e1b8ad27\":\"ناشناس\",\"app_b157c2b3\":\"برنامه\",\"app_placements_6d877225\":\"جای گذاری برنامه ها\",\"app_reregistration_87cc8817\":\"ثبت نام مجدد برنامه\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} توسط مدیر نصب شد و قفل شده است\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} توسط درس اصلی نصب شد و قفل شده است\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} توسط درس اصلی نصب شد\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"برنامه های کاربردی راه آسانی برای افزودن ویژگی های جدید به کانواس هستند. آنها می توانند به هر درس یا به همه درس های یک حساب اضافه شوند. پس از پیکربندی، می توانید از طریق ماژول های درس به آنها پیوند دهید و برای ابزارهای ارزیابی، تکلیف ایجاد کنید.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"مطمئنید که می خواهید این دوره نمره گذاری حذف شود؟\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"مطمئنید که می خواهید این طرح نمره گذاری حذف شود؟\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"مطمئنید که می خواهید این ابزار حذف شود؟\",\"assignment_menu_91fe3716\":\"منوی تکلیف\",\"assignment_selection_6bff05c4\":\"انتخاب تکلیف\",\"back_to_app_center_95420d83\":\"بازگشت به مرکز برنامه\",\"by_lti_2_registration_url_e421e523\":\"به وسیله نشانی اینترنتی ثبت نام LTI 2\",\"by_url_a163275e\":\"بر اساس نشانی اینترنتی\",\"cancel_caeb1e68\":\"لغو\",\"close_d634289d\":\"بستن\",\"close_date_a2f617b3\":\"تاریخ اختتام\",\"collaboration_71c024f4\":\"همکاری\",\"config_url_e96ceaf3\":\"نشانی اینترنتی پیکربندی\",\"configuration_type_25a084a4\":\"نوع پیکربندی\",\"configure_ecb97e30\":\"پیکربندی\",\"configure_tool_app_3b1bb50b\":\"برنامه %{tool} پیکربندی شود؟\",\"configure_toolname_app_651371be\":\"پیکربندی برنامه %{toolName}\",\"consumer_key_6f94ba11\":\"کلید مصرف کننده\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(%{context} level)\",\"count_apps_found_f4d86860\":\"%{count} برنامه یافت شد\",\"course_assignments_menu_fa6aeb23\":\"منوی تکالیف درس\",\"course_home_sub_navigation_b1ee6b03\":\"پیمایش فرعی صفحه اصلی درس\",\"course_navigation_dd035109\":\"پیمایش درس\",\"course_settings_sub_navigation_b95deae\":\"پیمایش فرعی تنظیمات درس\",\"custom_fields_fc3e55af\":\"جاهای خالی سفارشی\",\"delete_a6efa79d\":\"حذف\",\"delete_grading_period_dba36e59\":\"حذف دوره نمره گذاری\",\"delete_grading_scheme_6b308832\":\"حذف طرح نمره گذاری\",\"delete_tool_app_9c9f6d35\":\"برنامه %{tool} حذف شود؟\",\"delete_toolname_app_85f9d4ee\":\"حذف برنامه %{toolName}\",\"description_436c48d7\":\"شرح\",\"disable_a5c05db3\":\"غیر فعال سازی\",\"disabled_18c33a73\":\"(غیر فعال شد)\",\"discussion_topic_menu_3d4684c6\":\"منوی موضوع بحث\",\"dismiss_dacdb625\":\"صرفنظر کردن\",\"domain_3b54c511\":\"دامنه\",\"e_mail_only_2cc5e513\":\"فقط پست الکترونیکی\",\"edit_app_b0cc1c17\":\"ویرایش برنامه\",\"edit_c5fbea07\":\"ویرایش\",\"edit_grading_scheme_53091236\":\"ویرایش طرح نمره گذاری\",\"edit_toolname_app_23cfbb8\":\"ویرایش برنامه %{toolName}\",\"editor_button_6647db9c\":\"دکمه ویرایشگر\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"نشانی اینترنتی یا دامنه باید تعیین شود.\",\"enable_6f5d1328\":\"فعال سازی\",\"end_date_e0093ed7\":\"تاریخ پایان\",\"example_https_example_com_config_xml_be5f36ac\":\"مثال: https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"مثال: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"برنامه های بیرونی\",\"file_menu_cc0ca54\":\"منوی فایل\",\"filter_by_name_34cbe139\":\"فیلتر بر اساس نام\",\"global_navigation_8bee3501\":\"پیمایش سراسری\",\"grading_aa6de9\":\"در حال نمره گذاری\",\"grading_period_name_31ceb3e3\":\"نام دوره نمره گذاری\",\"grading_period_title_23b7f8ac\":\"عنوان دوره نمره گذاری\",\"grading_period_weight_99b66906\":\"وزن دوره نمره‌گذاری\",\"grading_periods_81941e66\":\"دوره های نمره گذاری\",\"grading_periods_must_not_overlap_f45336fb\":\"دوره نمره گذاری نباید هم پوشی داشته باشند\",\"grading_scheme_deleted_7ae5a072\":\"طرح نمره گذاری حذف شد\",\"grading_scheme_saved_85535151\":\"طرح نمره گذاری ذخیره شد\",\"grading_schemes_1c3c3252\":\"طرح های نمره گذاری\",\"grading_standard_title_58f540a3\":\"عنوان استاندارد نمره گذاری\",\"homework_submission_172e8354\":\"مورد ارسالی تکلیف خانگی\",\"insert_row_below_25187f89\":\"درج ردیف در قسمت پایین\",\"installed_7b284a91\":\"نصب شده\",\"launch_external_tool_672c0409\":\"راه اندازی ابزار بیرونی\",\"launch_registration_tool_38d4781\":\"راه اندازی ابزار ثبت نام\",\"launch_url_e150bd41\":\"راه اندازی نشانی اینترنتی\",\"link_selection_1486c5d0\":\"انتخاب پیوند\",\"looks_great_e4d883ed\":\"چه عالی!\",\"lower_limit_of_range_6ddd4983\":\"حد پایین تر محدوده\",\"manage_app_list_994cc26c\":\"مدیریت فهرست برنامه\",\"manage_grading_schemes_in_context_name_e3678273\":\"مدیریت طرح های نمره گذاری در %{context_name}\",\"manage_update_23de23a1\":\"مدیریت بهنگام سازی\",\"manage_update_for_toolname_f8e3b2fb\":\"مدیریت بهنگام سازی برای %{toolName}\",\"manual_entry_e4a4f99a\":\"ورودی دستی\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"انتخاب انتقال\",\"module_menu_3201af4e\":\"منوی ماژول\",\"name_1aed4a1b\":\"نام\",\"name_app_has_been_deleted_fb2d9426\":\"برنامه %{name} حذف شده است\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"*name* با موفقیت نصب شده است اما هنوز فعال نشده است.\",\"name_is_currently_status_9065c996\":\"*name* در حال حاضر **وضعیت** است.\",\"name_only_5f56718e\":\"فقط نام\",\"no_cancel_installation_db8d12d7\":\"خیر، نصب لغو شود\",\"no_grading_schemes_to_display_8b0e92e7\":\"هیچ طرح نمره گذاری برای نمایش موجود نیست\",\"no_placements_enabled_f705f28\":\"هیچ جای گذاری فعال نشده است\",\"not_installed_37a21a76\":\"نصب نشده\",\"one_per_line_format_name_value_79647700\":\"یکی در هر خط.. قالب: نام=مقدار\",\"paste_xml_cda3a64e\":\"چسباندن XML\",\"placements_5b5e056b\":\"جای گذاری ها\",\"privacy_290109ea\":\"حریم خصوصی\",\"public_a749f507\":\"عمومی\",\"quiz_menu_4fcd5e61\":\"منوی آزمون\",\"range_56b2f310\":\"بازه\",\"range_name_90614433\":\"نام محدوده\",\"registration_url_60e0eaaa\":\"نشانی اینترنتی ثبت نام\",\"remove_row_c198da5a\":\"حذف ردیف\",\"reregister_9ab95a57\":\"ثبت نام دوباره\",\"reregister_toolname_3dde0bfc\":\"ثبت نام دوباره %{toolName}\",\"save_11a80ec3\":\"ذخیره سازی\",\"save_grading_period_daaaddea\":\"ذخیره سازی دوره نمره گذاری\",\"saving_d55dd90e\":\"در حال ذخیره سازی...\",\"settings_5aa0fd0c\":\"تنظیمات\",\"shared_secret_892c88f2\":\"رمز مشترک\",\"similarity_detection_dcada48\":\"تشخیص تشابه\",\"start_date_e937be8a\":\"تاریخ شروع\",\"status_e7fdbe06\":\"وضعیت\",\"submit_a3cc6859\":\"ارسال\",\"sync_grades_a16622ca\":\"همگام سازی نمرات\",\"the_app_was_activated_a84e055f\":\"برنامه فعال شد\",\"the_app_was_added_58e2836a\":\"برنامه افزوده شد\",\"the_app_was_added_successfully_3f785a23\":\"برنامه با موفقیت افزوده شد\",\"the_app_was_deactivated_573520ab\":\"برنامه غیر فعال شد\",\"the_app_was_updated_successfully_3d71cd1b\":\"برنامه با موفقیت بهنگام سازی شد\",\"the_following_content_is_partner_provided_ed1da756\":\"محتوای زیر توسط شریک فراهم شده است\",\"the_following_fields_are_invalid_fields_b3565800\":\"قسمت های زیر معتبر نیستند: %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"دوره نمره گذاری حذف شد\",\"the_preceding_content_is_partner_provided_d753928c\":\"محتوای پیشین توسط شریک ارائه شده است\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"در هنگام حذف دوره نمره گذاری، اشکالی رخ داد\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"در هنگام حذف طرح نمره گذاری، اشکالی رخ داد\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"در هنگام فراخوانی دوره ها اشکالی رخ داد\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"در هنگام ذخیره سازی دوره نمره گذاری اشکالی رخ داد\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"در هنگام ذخیره سازی طرح نمره گذاری، اشکالی رخ داد\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"در هنگام پردازش درخواست شما خطایی رخ داد\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"یک خطای ناشناخته در ثبت ابزار وجود داشت\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"خطایی در فرم وجود داشت: %{errors}\",\"this_field_is_required_fa58c4a\":\"پر کردن این جای خالی لازم است\",\"this_field_name_is_required_988caebc\":\"\\\"%{name}\\\" این جای خالی لازم است.\",\"this_field_name_is_required_b9196401\":\"«نام» این جای خالی لازم است.\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"این ابزار در این زمینه نصب شده است. مایلید با این وجود نصب شود؟\",\"to_35c6baa2\":\"به\",\"to_minscore_43e5452e\":\"به %{minScore}%\",\"tool_configuration_63cd43b0\":\"پیکربندی ابزار\",\"tool_content_e699e813\":\"محتوای ابزار\",\"tool_placements_3f996c24\":\"جای گذاری ابزارها\",\"unable_to_accept_update_fd53a7e2\":\"قادر به قبول بهنگام سازی نیست\",\"unable_to_dismiss_update_df1e32eb\":\"قادر به رد بهنگام سازی نیست\",\"unable_to_remove_app_4293cb53\":\"قادر به حذف برنامه نیست\",\"unchanged_aca18e02\":\"[تغییر نیافته]\",\"update_tool_7d48ef2a\":\"بهنگام سازی %{tool}\",\"updating_6edbab78\":\"در حال بهنگام سازی\",\"upper_limit_of_range_c454a8f2\":\"حد بالاتر محدوده\",\"user_navigation_a097be0f\":\"پیمایش کاربر\",\"view_app_center_6c89a3fe\":\"مشاهده مرکز برنامه\",\"view_app_configurations_52b52441\":\"مشاهده پیکربندی های برنامه\",\"view_name_app_62a2ad8e\":\"مشاهده برنامه %{name}\",\"view_toolname_placements_4a5724d1\":\"مشاهده جای گذاری های %{toolName}\",\"we_were_unable_to_activate_the_app_578defe7\":\"قادر به فعال سازی برنامه نبودیم.\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"قادر به افزودن نشانی دسترسی نبودیم.\",\"we_were_unable_to_add_the_app_418877ef\":\"فادر به افزودن برنامه نبودیم.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"قادر به غیر فعال سازی برنامه نبودیم.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"قادر به بهنگام سازی برنامه نبودیم\",\"weight_9b308e5b\":\"وزن\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"مایلید این بهنگام سازی قبول یا رد شود؟\",\"would_you_like_to_enable_this_app_ccdf735d\":\"مایلید این برنامه فعال شود؟\",\"xml_configuration_5ea1b942\":\"پیکربندی XML\",\"yes_install_tool_f51b3278\":\"بله، ابزار نصب شود\"},\"fr\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"Un tableau contenant le nom du système de notation et des boutons permettant de modifier ou supprimer ce système.\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"Un tableau qui contient les données du système de notation. Chaque ligne comporte un nom, un pourcentage maximum et un pourcentage minimum. De plus, chaque ligne possède un bouton d'ajout de nouvelle ligne au dessous, ainsi qu'un bouton de suppression de la ligne actuelle.\",\"accept_2fdd362e\":\"Accepter\",\"access_token_3be22221\":\"Jeton d’accès\",\"account_navigation_80bbefd4\":\"Navigation du compte\",\"actions_efcde10d\":\"Actions\",\"add_app_baf540f\":\"Ajouter une application\",\"add_grading_scheme_81e23c05\":\"Ajouter un système de notation\",\"all_4321c3a1\":\"Tout\",\"all_changes_were_saved_f6f3ddcc\":\"Toutes les modifications ont été sauvegardées\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"Tous les champs des dates doivent être présents et mis en forme correctement\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"Toutes les périodes de notation doivent avoir un titre\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"Toutes les dates de début doivent être antérieures à la date de fin\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"Permettre à cet outil d'accéder au Service d'attribution de noms et de rôles IMS\",\"an_update_is_available_for_toolname_bba3fa2\":\"Une mise à jour est disponible pour %{toolName}\",\"anonymous_e1b8ad27\":\"Anonyme\",\"app_b157c2b3\":\"Application\",\"app_placements_6d877225\":\"Placements d'application\",\"app_reregistration_87cc8817\":\"Réinscription de l'application\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} a été installé par un administrateur et est verrouillé\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} a été installé par le cours maître et est verrouillé\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} a été installé par le cours maître\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"Les applications permettent d’ajouter facilement de nouvelles fonctionnalités à Canvas. Elles peuvent être ajoutées à des cours individuels ou à tous les cours d’un compte. Une fois qu’elles sont configurées, vous pouvez créer un lien vers elles via les modules des cours et créer des activités pour les outils d’évaluation.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"Voulez-vous vraiment supprimer cette période de notation ?\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"Voulez-vous vraiment supprimer ce système de notation ?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"Voulez-vous vraiment supprimer cet outil ?\",\"assignment_edit_6dced39f\":\"Modifier un travail\",\"assignment_menu_91fe3716\":\"Menu du travail\",\"assignment_selection_6bff05c4\":\"Sélection du travail\",\"assignment_view_1206a60b\":\"Afficher un travail\",\"back_to_app_center_95420d83\":\"Revenir au centre d’applications\",\"by_lti_2_registration_url_e421e523\":\"Par URL d’inscription LTI 2\",\"by_url_a163275e\":\"Par URL\",\"cancel_caeb1e68\":\"Annuler\",\"close_d634289d\":\"Fermer\",\"close_date_a2f617b3\":\"Date de fermeture\",\"collaboration_71c024f4\":\"Collaboration\",\"config_url_e96ceaf3\":\"Configurer l’URL\",\"configuration_type_25a084a4\":\"Type de configuration\",\"configure_ecb97e30\":\"Configurer\",\"configure_tool_app_3b1bb50b\":\"Configurer l'appli %{tool} ?\",\"configure_toolname_app_651371be\":\"Configurer l’application %{toolName}\",\"consumer_key_6f94ba11\":\"Code client\",\"context_contextname_24d82846\":\"(%{context} : %{contextName})\",\"context_level_56d88f5b\":\"(Niveau %{context})\",\"count_apps_found_f4d86860\":\"%{count} applications trouvées\",\"course_assignments_menu_fa6aeb23\":\"Menu des devoirs de cours\",\"course_home_sub_navigation_b1ee6b03\":\"Sous-navigation de l'accueil du cours\",\"course_navigation_dd035109\":\"Navigation du cours\",\"course_settings_sub_navigation_b95deae\":\"Sous navigation des paramètres du cours\",\"custom_fields_fc3e55af\":\"Champs personnalisés\",\"delete_a6efa79d\":\"Supprimer\",\"delete_grading_period_dba36e59\":\"Supprimer la période de notation\",\"delete_grading_scheme_6b308832\":\"Supprimer le système de notation\",\"delete_tool_app_9c9f6d35\":\"Supprimer l’application %{tool} ?\",\"delete_toolname_app_85f9d4ee\":\"Supprimer l’application %{toolName}\",\"description_436c48d7\":\"Description\",\"disable_a5c05db3\":\"Désactiver\",\"disable_toolname_44d6397c\":\"Désactiver %{toolName}\",\"disabled_18c33a73\":\"(désactivé)\",\"discussion_topic_menu_3d4684c6\":\"Menu des sujets de discussion\",\"dismiss_dacdb625\":\"Ignorer\",\"domain_3b54c511\":\"Domaine\",\"e_mail_only_2cc5e513\":\"E-mail uniquement\",\"edit_app_b0cc1c17\":\"Modifier l’application\",\"edit_c5fbea07\":\"Modifier\",\"edit_grading_scheme_53091236\":\"Modifier le système de notation\",\"edit_toolname_app_23cfbb8\":\"Modifier l’application %{toolName}\",\"editor_button_6647db9c\":\"Touche de l'éditeur\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"Vous devez définir l’URL ou le domaine.\",\"enable_6f5d1328\":\"Activer\",\"enable_toolname_dc64c25a\":\"Activer %{toolName}\",\"end_date_e0093ed7\":\"Date de fin\",\"enter_the_access_token_for_your_organization_from__38b84fd1\":\"Saisir le jeton d'accès de votre organisation depuis                     *eduappcenter.com*. Une fois appliqué, seules les apps que votre organisation a approuvées dans le                      EduAppCenter s'afficheront sur la page des Apps externes.                     Découvrez comment **générer un jeton d'accès**.\",\"example_https_example_com_config_xml_be5f36ac\":\"Exemple : https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"Exemple : https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"Applications externes\",\"file_menu_cc0ca54\":\"Menu du fichier\",\"filter_by_name_34cbe139\":\"Filtrer par nom\",\"global_navigation_8bee3501\":\"Navigation globale\",\"grading_aa6de9\":\"Notation\",\"grading_period_name_31ceb3e3\":\"Nom de la période de notation\",\"grading_period_title_23b7f8ac\":\"Titre de la période de notation\",\"grading_period_weight_99b66906\":\"Coefficient pour la période de notation\",\"grading_periods_81941e66\":\"Périodes de notation\",\"grading_periods_must_not_overlap_f45336fb\":\"Les périodes de notation ne doivent pas se chevaucher\",\"grading_scheme_deleted_7ae5a072\":\"Système de notation supprimé\",\"grading_scheme_saved_85535151\":\"Système de notation sauvegardé\",\"grading_schemes_1c3c3252\":\"Systèmes de notation\",\"grading_standard_title_58f540a3\":\"Titre standard de la notation\",\"homework_submission_172e8354\":\"Soumission du travail personnel\",\"insert_row_below_25187f89\":\"Insérer une ligne ci-dessous\",\"installed_7b284a91\":\"Installés\",\"launch_external_tool_672c0409\":\"Lancer l'outil externe\",\"launch_registration_tool_38d4781\":\"Démarrer l’outil d’inscription\",\"launch_url_e150bd41\":\"URL de lancement\",\"link_selection_1486c5d0\":\"Sélection d'un lien\",\"link_to_lti_tools_608df3b0\":\"Lien vers les outils LTI.\",\"looks_great_e4d883ed\":\"Cela semble excellent !\",\"lower_limit_of_range_6ddd4983\":\"Limite inférieure de la plage\",\"lti_1_3_c84fd177\":\"LTI 1.3\",\"lti_1_3_tools_list_ac30b375\":\"Liste des outils LTI 1.3\",\"manage_app_list_994cc26c\":\"Gérer la liste des applications\",\"manage_grading_schemes_in_context_name_e3678273\":\"Gérer les systèmes de notation dans %{context_name}\",\"manage_update_23de23a1\":\"Gérer la mise à jour\",\"manage_update_for_toolname_f8e3b2fb\":\"Gérer la mise à jour pour %{toolName}\",\"manual_entry_e4a4f99a\":\"Saisie manuelle\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"Sélection de la migration\",\"module_menu_3201af4e\":\"Menu du module\",\"name_1aed4a1b\":\"Nom\",\"name_app_has_been_deleted_fb2d9426\":\"L’application %{name} a été supprimée\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"L’application *name* a bien été installée, mais n’est pas encore activée.\",\"name_is_currently_status_9065c996\":\"*name* est actuellement **status**.\",\"name_only_5f56718e\":\"Nom uniquement\",\"no_cancel_installation_db8d12d7\":\"Non, Annuler l'installation\",\"no_grading_schemes_to_display_8b0e92e7\":\"Aucun système de notation à afficher\",\"no_placements_enabled_f705f28\":\"Aucun placement n'est activé\",\"not_installed_37a21a76\":\"Non installés\",\"one_per_line_format_name_value_79647700\":\"Un par ligne. Format : name=value\",\"page_menu_2f8bee0\":\"Menu de la page\",\"paste_xml_cda3a64e\":\"Coller XML\",\"placements_5b5e056b\":\"Placements\",\"privacy_290109ea\":\"Confidentialité\",\"public_a749f507\":\"Public\",\"quiz_menu_4fcd5e61\":\"Menu du questionnaire\",\"range_56b2f310\":\"Gamme\",\"range_name_90614433\":\"Nom de la plage\",\"registration_url_60e0eaaa\":\"URL d’inscription\",\"remove_row_c198da5a\":\"Supprimer la ligne\",\"reregister_9ab95a57\":\"Réinscrire\",\"reregister_toolname_3dde0bfc\":\"Réinscrire %{toolName}\",\"save_11a80ec3\":\"Enregistrer\",\"save_grading_period_daaaddea\":\"Sauvegarder la période de notation\",\"saving_d55dd90e\":\"Enregistrement...\",\"see_some_lti_tools_that_work_great_with_canvas_53e92091\":\"Découvrir quelques outils LTI particulièrement adaptés à Canvas.\",\"settings_5aa0fd0c\":\"Paramètres\",\"shared_secret_892c88f2\":\"Secret partagé\",\"similarity_detection_dcada48\":\"Détection de similitude\",\"start_date_e937be8a\":\"Date de début\",\"status_e7fdbe06\":\"Statut\",\"submit_a3cc6859\":\"Envoyer\",\"sync_grades_a16622ca\":\"Synchroniser les notes\",\"the_app_was_activated_a84e055f\":\"L’application était activée\",\"the_app_was_added_58e2836a\":\"L’application a été ajoutée\",\"the_app_was_added_successfully_3f785a23\":\"L’application a bien été ajoutée\",\"the_app_was_deactivated_573520ab\":\"L’application était désactivée\",\"the_app_was_updated_successfully_3d71cd1b\":\"L’application a bien été mise à jour\",\"the_following_content_is_partner_provided_ed1da756\":\"Le contenu suivant est fourni par un partenaire\",\"the_following_fields_are_invalid_fields_b3565800\":\"Les champs suivants ne sont pas valides : %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"La période de notation a été supprimée\",\"the_preceding_content_is_partner_provided_d753928c\":\"Le contenu qui précède était fourni par un partenaire\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"Un problème s’est produit lors de la suppression de la période de notation\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"Un problème s’est produit lors de la suppression du système de notation\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"Un problème est survenu lors de la récupération des périodes\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"Un problème s’est produit lors de la sauvegarde de la période de notation\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"Un problème s’est produit lors de l’enregistrement du système de notation\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"Erreur lors du traitement de votre demande\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"Une erreur inconnue est survenue pendant l’enregistrement de l’outil\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"Des erreurs se sont produites avec le formulaire : %{errors}\",\"this_field_is_required_fa58c4a\":\"Ce champ est obligatoire.\",\"this_field_name_is_required_988caebc\":\"Le champ %{name} est obligatoire.\",\"this_field_name_is_required_b9196401\":\"Le champ « nom » est obligatoire.\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"Cet outil a déjà été installé dans ce contexte. Voulez-vous l'installer quand même?\",\"to_35c6baa2\":\"à \",\"to_minscore_43e5452e\":\"à %{minScore}%\",\"tool_configuration_63cd43b0\":\"Configuration de l'outil\",\"tool_content_e699e813\":\"Contenu de l'outil\",\"tool_placements_3f996c24\":\"Placements d'outil\",\"unable_to_accept_update_fd53a7e2\":\"Impossible d'accepter le mise à jour\",\"unable_to_dismiss_update_df1e32eb\":\"Impossible d'ignorer la mise à jour\",\"unable_to_load_lti_1_3_tools_cf169f9\":\"Impossible de charger les outils Lti 1.3\",\"unable_to_remove_app_4293cb53\":\"Impossible de supprimer l’application\",\"unchanged_aca18e02\":\"[Inchangé]\",\"update_tool_7d48ef2a\":\"Mettre %{tool} à jour\",\"updating_6edbab78\":\"Mise à jour\",\"upper_limit_of_range_c454a8f2\":\"Limite supérieure de la plage\",\"user_navigation_a097be0f\":\"Navigation de l'utilisateur\",\"view_app_center_6c89a3fe\":\"Afficher le centre d’applications\",\"view_app_configurations_52b52441\":\"Afficher les configurations d’applications\",\"view_name_app_62a2ad8e\":\"Voir l’application %{name}\",\"view_toolname_placements_4a5724d1\":\"Afficher les placements de %{toolName}\",\"we_were_unable_to_activate_the_app_578defe7\":\"Impossible d’activer l’application.\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"Nous n’avons pas pu ajouter le jeton d'accès.\",\"we_were_unable_to_add_the_app_418877ef\":\"Nous n’avons pas pu ajouter l’application.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"Impossible de désactiver l’application.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"Nous n’avons pas pu mettre à jour l’application.\",\"weight_9b308e5b\":\"Pondération\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"Désirez-vous accepter ou ignorer cette mise à jour ?\",\"would_you_like_to_enable_this_app_ccdf735d\":\"Voulez-vous activer cette application ?\",\"xml_configuration_5ea1b942\":\"Configuration XML\",\"yes_install_tool_f51b3278\":\"Oui, installer l'outil\"},\"fr-CA\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"Un tableau contenant le nom du système de notation et des boutons permettant de modifier ou supprimer ce système.\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"Un tableau qui contient les données du système de notation. Chaque ligne comporte un nom, un pourcentage maximum et un pourcentage minimum. De plus, chaque ligne possède un bouton d'ajout de nouvelle ligne au dessous, ainsi qu'un bouton de suppression de la ligne actuelle.\",\"accept_2fdd362e\":\"Accepter\",\"access_token_3be22221\":\"Jeton d’accès\",\"account_navigation_80bbefd4\":\"Navigation du compte\",\"actions_efcde10d\":\"Actions\",\"add_app_baf540f\":\"Ajouter une application\",\"add_grading_scheme_81e23c05\":\"Ajouter un système de notation\",\"all_4321c3a1\":\"Tous\",\"all_changes_were_saved_f6f3ddcc\":\"Toutes les modifications ont été sauvegardées\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"Tous les champs des dates doivent être présents et mis en forme correctement\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"Toutes les périodes de notation doivent avoir un titre\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"Toutes les dates de début doivent être antérieures à la date de fin\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"Autoriser cet outil à accéder aux noms IMS et au service de dotation de rôle\",\"an_update_is_available_for_toolname_bba3fa2\":\"Une mise à jour est disponible pour %{toolName}\",\"anonymous_e1b8ad27\":\"Anonyme\",\"app_b157c2b3\":\"Appl.\",\"app_placements_6d877225\":\"Placements d'application\",\"app_reregistration_87cc8817\":\"Réinscription de l'application\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} a/ont été(s) installé(s) par Admin et est/sont verrouillé(s)\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} a/ont été(s) installé(s) par le cours maître et est/sont verrouillé(s)\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} a/ont été(s) installé(s) par le cours maître\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"Les applications permettent d’ajouter facilement de nouvelles fonctionnalités à Canvas. Elles peuvent être ajoutées à des cours individuels ou à tous les cours d’un compte. Une fois qu’elles sont configurées, vous pouvez créer un lien vers elles via les modules des cours et créer des activités pour les outils d’évaluation.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"Voulez-vous vraiment supprimer cette période de notation?\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"Voulez-vous vraiment supprimer ce système de notation?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"Voulez-vous vraiment retirer cet outil?\",\"assignment_edit_6dced39f\":\"Modifier la tâche \",\"assignment_menu_91fe3716\":\"Menu de la tâche\",\"assignment_selection_6bff05c4\":\"Sélection de la tâche\",\"assignment_view_1206a60b\":\"Voir l’évaluation\",\"back_to_app_center_95420d83\":\"Revenir au centre d’applications\",\"by_lti_2_registration_url_e421e523\":\"Par URL d’inscription LTI 2\",\"by_url_a163275e\":\"Par URL\",\"cancel_caeb1e68\":\"Annuler\",\"close_d634289d\":\"Fermer\",\"close_date_a2f617b3\":\"Date de fermeture\",\"collaboration_71c024f4\":\"Collaboration\",\"config_url_e96ceaf3\":\"Configurer l’URL\",\"configuration_type_25a084a4\":\"Type de configuration\",\"configure_ecb97e30\":\"Configurer\",\"configure_tool_app_3b1bb50b\":\"Configurer l'appli %{tool}?\",\"configure_toolname_app_651371be\":\"Configurer l’application %{toolName}\",\"consumer_key_6f94ba11\":\"Code client\",\"context_contextname_24d82846\":\"(%{context} : %{contextName})\",\"context_level_56d88f5b\":\"(Niveau %{context})\",\"count_apps_found_f4d86860\":\"%{count} applications trouvées\",\"course_assignments_menu_fa6aeb23\":\"Menu des tâches de cours\",\"course_home_sub_navigation_b1ee6b03\":\"Sous-navigation de l'accueil du cours\",\"course_navigation_dd035109\":\"Navigation du cours\",\"course_settings_sub_navigation_b95deae\":\"Sous navigation des paramètres du cours\",\"custom_fields_fc3e55af\":\"Champs personnalisés\",\"delete_a6efa79d\":\"Supprimer\",\"delete_grading_period_dba36e59\":\"Supprimer la période de notation\",\"delete_grading_scheme_6b308832\":\"Supprimer le système de notation\",\"delete_tool_app_9c9f6d35\":\"Supprimer l’application %{tool}?\",\"delete_toolname_app_85f9d4ee\":\"Supprimer l’application %{toolName}\",\"description_436c48d7\":\"Description\",\"disable_a5c05db3\":\"Désactiver\",\"disable_toolname_44d6397c\":\"Désactiver %{toolName}\",\"disabled_18c33a73\":\"(désactivé)\",\"discussion_topic_menu_3d4684c6\":\"Menu des sujets de discussion\",\"dismiss_dacdb625\":\"Ignorer\",\"domain_3b54c511\":\"Domaine\",\"e_mail_only_2cc5e513\":\"Courriel uniquement\",\"edit_app_b0cc1c17\":\"Modifier l’application\",\"edit_c5fbea07\":\"Modifier\",\"edit_grading_scheme_53091236\":\"Modifier le système de notation\",\"edit_toolname_app_23cfbb8\":\"Modifier l’application %{toolName}\",\"editor_button_6647db9c\":\"Touche de l'éditeur\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"Vous devez définir l’URL ou le domaine.\",\"enable_6f5d1328\":\"Activer\",\"enable_toolname_dc64c25a\":\"Autoriser %{toolName}\",\"end_date_e0093ed7\":\"Date de fin\",\"enter_the_access_token_for_your_organization_from__38b84fd1\":\"Saisir le jeton d'accès de votre organisation depuis                     *eduappcenter.com*. Une fois appliqué, uniquement les applications que votre organisation a approuvées dans                     EduAppCenter seront répertoriées sur la page des applications externes.                     Apprenez à **générer un jeton d'accès**.\",\"example_https_example_com_config_xml_be5f36ac\":\"Exemple : https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"Exemple : https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"Applications externes\",\"file_menu_cc0ca54\":\"Menu du fichier\",\"filter_by_name_34cbe139\":\"Filtrer par nom\",\"global_navigation_8bee3501\":\"Navigation mondiale\",\"grading_aa6de9\":\"Notation\",\"grading_period_name_31ceb3e3\":\"Nom de la période de notation\",\"grading_period_title_23b7f8ac\":\"Titre de la période de notation\",\"grading_period_weight_99b66906\":\"Période de classement pondéré\",\"grading_periods_81941e66\":\"Périodes de notation\",\"grading_periods_must_not_overlap_f45336fb\":\"Les périodes de notation ne doivent pas se chevaucher\",\"grading_scheme_deleted_7ae5a072\":\"Système de notation supprimé\",\"grading_scheme_saved_85535151\":\"Système de notation sauvegardé\",\"grading_schemes_1c3c3252\":\"Systèmes de notation\",\"grading_standard_title_58f540a3\":\"Titre standard de la notation\",\"homework_submission_172e8354\":\"Envoi de la tâche personnel\",\"insert_row_below_25187f89\":\"Insérer une ligne ci-dessous\",\"installed_7b284a91\":\"Installés\",\"launch_external_tool_672c0409\":\"Lancer l'outil externe\",\"launch_registration_tool_38d4781\":\"Démarrer l’outil d’inscription\",\"launch_url_e150bd41\":\"URL de lancement\",\"link_selection_1486c5d0\":\"Sélection d'un lien\",\"link_to_lti_tools_608df3b0\":\"Lien vers les outils LTI.\",\"looks_great_e4d883ed\":\"Cela semble excellent!\",\"lower_limit_of_range_6ddd4983\":\"Limite inférieure de la plage\",\"lti_1_3_c84fd177\":\"LTI 1.3\",\"lti_1_3_tools_list_ac30b375\":\"Liste des outils LTI 1.3\",\"manage_app_list_994cc26c\":\"Gérer la liste des applications\",\"manage_grading_schemes_in_context_name_e3678273\":\"Gérer les systèmes de notation dans %{context_name}\",\"manage_update_23de23a1\":\"Gérer la mise à jour\",\"manage_update_for_toolname_f8e3b2fb\":\"Gérer la mise à jour pour %{toolName}\",\"manual_entry_e4a4f99a\":\"Saisie manuelle\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"Sélection de la migration\",\"module_menu_3201af4e\":\"Menu du module\",\"name_1aed4a1b\":\"Nom\",\"name_app_has_been_deleted_fb2d9426\":\"L’application %{name} a été supprimée\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"L’application *name* a bien été installée, mais n’est pas encore activée.\",\"name_is_currently_status_9065c996\":\"*name* est actuellement **status**.\",\"name_only_5f56718e\":\"Nom uniquement\",\"no_cancel_installation_db8d12d7\":\"Non, annuler l'installation\",\"no_grading_schemes_to_display_8b0e92e7\":\"Aucun système de notation à afficher\",\"no_placements_enabled_f705f28\":\"Aucun placement n'est activé\",\"not_installed_37a21a76\":\"Non installés\",\"one_per_line_format_name_value_79647700\":\"Un par ligne. Format : name=value\",\"page_menu_2f8bee0\":\"Menu de page\",\"paste_xml_cda3a64e\":\"Coller XML\",\"placements_5b5e056b\":\"Placements\",\"privacy_290109ea\":\"Confidentialité\",\"public_a749f507\":\"Public\",\"quiz_menu_4fcd5e61\":\"Menu du questionnaire\",\"range_56b2f310\":\"Gamme\",\"range_name_90614433\":\"Nom de la plage\",\"registration_url_60e0eaaa\":\"URL d’inscription\",\"remove_row_c198da5a\":\"Retirer la ligne\",\"reregister_9ab95a57\":\"Réinscrire\",\"reregister_toolname_3dde0bfc\":\"Réinscrire %{toolName}\",\"save_11a80ec3\":\"Enregistrer\",\"save_grading_period_daaaddea\":\"Sauvegarder la période de notation\",\"saving_d55dd90e\":\"Enregistrement...\",\"see_some_lti_tools_that_work_great_with_canvas_53e92091\":\"Voyez quelques outils LTI qui fonctionnent bien avec Canvas.\",\"settings_5aa0fd0c\":\"Paramètres\",\"shared_secret_892c88f2\":\"Secret partagé\",\"similarity_detection_dcada48\":\"Détection de similarité\",\"start_date_e937be8a\":\"Date de début\",\"status_e7fdbe06\":\"Statut\",\"submit_a3cc6859\":\"Envoyer\",\"sync_grades_a16622ca\":\"Synchroniser les notes\",\"the_app_was_activated_a84e055f\":\"L’application était activée\",\"the_app_was_added_58e2836a\":\"L’application a été ajoutée\",\"the_app_was_added_successfully_3f785a23\":\"L’application a bien été ajoutée\",\"the_app_was_deactivated_573520ab\":\"L’application était désactivée\",\"the_app_was_updated_successfully_3d71cd1b\":\"L’application a bien été mise à jour\",\"the_following_content_is_partner_provided_ed1da756\":\"Le contenu suivant est fourni par le partenaire\",\"the_following_fields_are_invalid_fields_b3565800\":\"Les champs suivants ne sont pas valides : %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"La période de notation a été supprimée\",\"the_preceding_content_is_partner_provided_d753928c\":\"Le contenu précédent est fourni par le partenaire\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"Un problème s’est produit lors de la suppression de la période de notation\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"Un problème s’est produit lors de la suppression du système de notation\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"Un problème est survenu lors de la récupération des périodes\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"Un problème s’est produit lors de la sauvegarde de la période de notation\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"Un problème s’est produit lors de l’enregistrement du système de notation\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"Erreur lors du traitement de votre demande\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"Une erreur inconnue s'est produite lors de l'enregistrement de l'outil\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"Des erreurs se sont produites avec le formulaire : %{errors}\",\"this_field_is_required_fa58c4a\":\"Ce champ est obligatoire\",\"this_field_name_is_required_988caebc\":\"Le champ « %{name} » est obligatoire.\",\"this_field_name_is_required_b9196401\":\"Le champ « nom » est obligatoire.\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"Cet outil a déjà été installé dans ce contexte. Voulez-vous quand même l’installer?\",\"to_35c6baa2\":\"à \",\"to_minscore_43e5452e\":\"À %{minScore} %\",\"tool_configuration_63cd43b0\":\"Configuration de l'outil\",\"tool_content_e699e813\":\"Contenu de l'outil\",\"tool_placements_3f996c24\":\"Placements d'outil\",\"unable_to_accept_update_fd53a7e2\":\"Impossible d'accepter le mise à jour\",\"unable_to_dismiss_update_df1e32eb\":\"Impossible d'ignorer la mise à jour\",\"unable_to_load_lti_1_3_tools_cf169f9\":\"Impossible de charger les outils de LTI 1.3\",\"unable_to_remove_app_4293cb53\":\"Impossible de supprimer l’application\",\"unchanged_aca18e02\":\"[Inchangé]\",\"update_tool_7d48ef2a\":\"Actualiser %{tool}\",\"updating_6edbab78\":\"Mise à jour\",\"upper_limit_of_range_c454a8f2\":\"Limite supérieure de la plage\",\"user_navigation_a097be0f\":\"Navigation de l'utilisateur\",\"view_app_center_6c89a3fe\":\"Afficher le centre d’applications\",\"view_app_configurations_52b52441\":\"Afficher les configurations d’applications\",\"view_name_app_62a2ad8e\":\"Voir l’application %{name}\",\"view_toolname_placements_4a5724d1\":\"Afficher les placements de %{toolName}\",\"we_were_unable_to_activate_the_app_578defe7\":\"Impossible d’activer l’application.\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"Nous n’avons pas pu ajouter le jeton d'accès.\",\"we_were_unable_to_add_the_app_418877ef\":\"Nous n’avons pas pu ajouter l’application.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"Impossible de désactiver l’application.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"Nous n’avons pas pu mettre à jour l’application.\",\"weight_9b308e5b\":\"Pondération\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"Désirez-vous accepter ou ignorer cette mise à jour?\",\"would_you_like_to_enable_this_app_ccdf735d\":\"Voulez-vous activer cette application?\",\"xml_configuration_5ea1b942\":\"Configuration XML\",\"yes_install_tool_f51b3278\":\"Oui, installer l’outil\"},\"he\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"טבלה הכוללת את שם סכימת ההערכה והכפתורים לעריכת וביטול הסכימה.\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"טבלה שכוללת את נתוני סכימת ההערכה. כל שורה כוללת שם, אחוז מרבי, ואחוז מזערי. בנוסף, כל שורה כוללת כפתור להוספה של שורה חדשה מתחת, וכפתור לביטול השורה הנוכחית.\",\"accept_2fdd362e\":\"קבלה\",\"access_token_3be22221\":\"אסימון גישה\",\"account_navigation_80bbefd4\":\"ניתוב בדף חשבון משתמש\",\"actions_efcde10d\":\"פעולות\",\"add_app_baf540f\":\"הוספת אפליקציה\",\"add_grading_scheme_81e23c05\":\"הוספת סכימת חישוב ציונים\",\"all_4321c3a1\":\"הכל\",\"all_changes_were_saved_f6f3ddcc\":\"כל השינויים נשמרו\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"כל שדות התאריך חייבים בתוכן בפורמט הנכון\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"כל תקופות חישוב הציונים צריכות לקבל כותרת\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"כל תאריכי התחילה צריכים להיות קודמים לתאריכי הסיום.\",\"an_update_is_available_for_toolname_bba3fa2\":\"יש עדכון זמין עבור %{toolName}\",\"anonymous_e1b8ad27\":\"אנונימי\",\"app_b157c2b3\":\"אפליקציה\",\"app_placements_6d877225\":\"מיקומי אפליקציות\",\"app_reregistration_87cc8817\":\"הרשמה מחודשת של אפליקציה\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} הותקנה ע\\\"י מנהל המערכת והנה נעולה\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} הותקנה ע\\\"י מנהל הקורס והנה נעולה\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} הותקנה ע\\\"י מנהל הקורס\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"אפליקציות הנן דרך נוחה להוסיף תכונות חדשות לקנבס. הן יכולות להתווסף לקורסים מסוימים או לכל הקורסים בחשבון. עם הגדרתן, תוכלו להתקשר אליהם דרך המודולים של הקורס וליצור משימות עבור כלי הערכה.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"בטוח/ה שרוצה לבטל את תקופת ההערכה הזו?\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"בטוח/ה שרוצה לבטל את סכימת ההערכה הזו?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"בטוח/ה שרוצה להסיר כלי זה?\",\"assignment_menu_91fe3716\":\"תפריט משימות\",\"assignment_selection_6bff05c4\":\"בחירת משימה\",\"back_to_app_center_95420d83\":\"חזרה אל מרכז האפליקציות\",\"by_lti_2_registration_url_e421e523\":\"הכתובת להרשמה באמצעות LTI 2\",\"by_url_a163275e\":\"לפי כתובת דף\",\"cancel_caeb1e68\":\"ביטול\",\"close_d634289d\":\"סגירה\",\"close_date_a2f617b3\":\"תאריך סגירה\",\"collaboration_71c024f4\":\"שיתוף פעולה\",\"config_url_e96ceaf3\":\"קינפוג כתובת דף אינטרנט\",\"configuration_type_25a084a4\":\"סוג קונפיגורציה\",\"configure_ecb97e30\":\"קינפוג\",\"configure_tool_app_3b1bb50b\":\"האם לקנפג את האפליקציה %{tool} \",\"configure_toolname_app_651371be\":\"קינפוג של אפליקציה %{toolName} \",\"consumer_key_6f94ba11\":\"מפתח מערכת הלקוח\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(רמת ה %{context} )\",\"count_apps_found_f4d86860\":\"נמצאו %{count} אפליקציות\",\"course_assignments_menu_fa6aeb23\":\"תפריט מטלות קורס\",\"course_home_sub_navigation_b1ee6b03\":\"ניווט משנה של דף הקורס\",\"course_navigation_dd035109\":\"ניווט בקורס\",\"course_settings_sub_navigation_b95deae\":\"ניווט משנה להגדרות קורס\",\"custom_fields_fc3e55af\":\"שדות להגדרה גמישה\",\"delete_a6efa79d\":\"ביטול\",\"delete_grading_period_dba36e59\":\"ביטול תקופת הערכה\",\"delete_grading_scheme_6b308832\":\"ביטול סכימת הערכה\",\"delete_tool_app_9c9f6d35\":\"האם לבטל את האפליקציה %{tool}  ?\",\"description_436c48d7\":\"תיאור\",\"disable_a5c05db3\":\"השבתה\",\"disabled_18c33a73\":\"(לא פעיל)\",\"discussion_topic_menu_3d4684c6\":\"תפריט נושא דיון\",\"dismiss_dacdb625\":\"פטור\",\"domain_3b54c511\":\"דומיין\",\"e_mail_only_2cc5e513\":\"כתובת דוא\\\"ל בלבד\",\"edit_app_b0cc1c17\":\"עריכת אפליקציה\",\"edit_c5fbea07\":\"עריכה\",\"edit_grading_scheme_53091236\":\"עריכת סכימת הערכה\",\"edit_toolname_app_23cfbb8\":\"עריכת אפליקציה %{toolName} \",\"editor_button_6647db9c\":\"כפתור עורך\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"הזנת כתובת הדף או הדומיין שיש להגדיר\",\"enable_6f5d1328\":\"הפעלה\",\"end_date_e0093ed7\":\"תאריך סיום\",\"example_https_example_com_config_xml_be5f36ac\":\"דוגמה: https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"דוגמה: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"אפליקציות חיצוניות\",\"file_menu_cc0ca54\":\"תפריט קבצים\",\"filter_by_name_34cbe139\":\"סינון לפי שם\",\"global_navigation_8bee3501\":\"ניווט ראשי\",\"grading_aa6de9\":\"הערכה\",\"grading_period_name_31ceb3e3\":\"שם תקופת הערכה\",\"grading_period_title_23b7f8ac\":\"כותרת תקופת הערכה\",\"grading_period_weight_99b66906\":\"משקלות תקופות הערכה\",\"grading_periods_81941e66\":\"תקופות הערכה\",\"grading_periods_must_not_overlap_f45336fb\":\"תקופות הערכה אינן יכולות לחפוף\",\"grading_scheme_deleted_7ae5a072\":\"סכימת הערכה בוטלה\",\"grading_scheme_saved_85535151\":\"סכימת הערכה נשמרה\",\"grading_schemes_1c3c3252\":\"סכימות הערכה\",\"grading_standard_title_58f540a3\":\"כותרת תקנית להערכה\",\"homework_submission_172e8354\":\"הגשת שיעורי בית\",\"insert_row_below_25187f89\":\"הוספת שורה מתחת\",\"installed_7b284a91\":\"הותקן\",\"launch_external_tool_672c0409\":\"הפעלת כלי חיצוני\",\"launch_registration_tool_38d4781\":\"הפעלת כלי הרשמה\",\"launch_url_e150bd41\":\"פתיחת דף בכתובת\",\"link_selection_1486c5d0\":\"בחירת קישור\",\"looks_great_e4d883ed\":\"נראה טוב מאד!\",\"lower_limit_of_range_6ddd4983\":\"גבול תחתון לטווח\",\"manage_app_list_994cc26c\":\"ניהול רשימת האפליקציות\",\"manage_grading_schemes_in_context_name_e3678273\":\"ניהול סכימות הערכה ב %{context_name}\",\"manage_update_23de23a1\":\"ניהול עדכונים\",\"manage_update_for_toolname_f8e3b2fb\":\"ניהול עדכונים עבור %{toolName}\",\"manual_entry_e4a4f99a\":\"מופע ידני\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"בחירת תהליך הגירה\",\"module_menu_3201af4e\":\"תפריט מודול\",\"name_1aed4a1b\":\"שם\",\"name_app_has_been_deleted_fb2d9426\":\"האפליקציה  %{name}  בוטלה\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"*שם* הותקן כהלכה אך עדיין לא פעיל\",\"name_is_currently_status_9065c996\":\"*שם* הוא כרגע **מצב**\",\"name_only_5f56718e\":\"רק שם\",\"no_grading_schemes_to_display_8b0e92e7\":\"אין סכימת הערכה להצגה\",\"no_placements_enabled_f705f28\":\"לא הופעלו הצבות\",\"not_installed_37a21a76\":\"לא הותקן\",\"one_per_line_format_name_value_79647700\":\"אחד לשורה. הפורמט: שם=ערך\",\"paste_xml_cda3a64e\":\"הדבקת XML\",\"placements_5b5e056b\":\"הצבות\",\"privacy_290109ea\":\"פרטיות\",\"public_a749f507\":\"ציבורי\",\"quiz_menu_4fcd5e61\":\"תפריט בחנים\",\"range_56b2f310\":\"טווח\",\"range_name_90614433\":\"שם טווח\",\"registration_url_60e0eaaa\":\"כתובת הצטרפות\",\"remove_row_c198da5a\":\"הסרת שורה\",\"reregister_9ab95a57\":\"רישום מחדש\",\"reregister_toolname_3dde0bfc\":\"רישום מחדש של %{toolName}\",\"save_11a80ec3\":\"שמירה\",\"save_grading_period_daaaddea\":\"שמירת תקופת הערכה\",\"saving_d55dd90e\":\"שומר...\",\"settings_5aa0fd0c\":\"הגדרות\",\"shared_secret_892c88f2\":\"מלה סודית משותפת\",\"similarity_detection_dcada48\":\"איתור תאימות\",\"start_date_e937be8a\":\"תאריך תחילה\",\"status_e7fdbe06\":\"מצב\",\"submit_a3cc6859\":\"שליחה\",\"the_app_was_activated_a84e055f\":\"האפליקציה הופעלה\",\"the_app_was_added_58e2836a\":\"האפליקציה נוספה\",\"the_app_was_added_successfully_3f785a23\":\"אפליקציה זו נתווספה בהצלחה\",\"the_app_was_deactivated_573520ab\":\"האפליקציה הושבתה\",\"the_app_was_updated_successfully_3d71cd1b\":\"האפליקציה עודכנה בהצלחה\",\"the_following_fields_are_invalid_fields_b3565800\":\"השדות הבאים אינם חוקיים: %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"תקופת ההערכה בוטלה\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"אירעה תקלה בעת ביטול תקופת ההערכה\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"אירעה תקלה בעת ביטול סכימת ההערכה\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"אירעה תקלה בעת איחזור תקופות\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"אירעה תקלה בעת שמירת תקופת ההערכה\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"אירעה תקלה בעת שמירת סכימת ההערכה\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"היתה שגיאה בתהליך העיבוד של בקשתך\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"היו שגיאות בטופס: %{errors}\",\"this_field_is_required_fa58c4a\":\"חובה למלא שדה זה\",\"this_field_name_is_required_988caebc\":\"שדה זה \\\"%{name}\\\" נדרש.\",\"this_field_name_is_required_b9196401\":\"שדה זה \\\"שם\\\" הנו חובה\",\"to_35c6baa2\":\"עבור\",\"to_minscore_43e5452e\":\"עד %{minScore}%\",\"tool_configuration_63cd43b0\":\"קונפיגורצית כלי\",\"tool_content_e699e813\":\"תוכן הכלי\",\"tool_placements_3f996c24\":\"מיקומי כלי\",\"unable_to_accept_update_fd53a7e2\":\"אין אפשרות לקבל עדכונים\",\"unable_to_dismiss_update_df1e32eb\":\"אין אפשרות לבטל את העדכון\",\"unable_to_remove_app_4293cb53\":\"אין אפשרות להסיר את האפליקציה\",\"unchanged_aca18e02\":\"[לא השתנה]\",\"update_tool_7d48ef2a\":\"עדכון %{tool}\",\"updating_6edbab78\":\"מעדכן\",\"upper_limit_of_range_c454a8f2\":\"גבול עליון לטווח\",\"user_navigation_a097be0f\":\"ניווט משתמש\",\"view_app_center_6c89a3fe\":\"הצגת מרכז אפליקציות\",\"view_app_configurations_52b52441\":\"הצגת קונפיגורצית אפליקציות\",\"view_name_app_62a2ad8e\":\"הצגת האפליקציה  %{name}\",\"view_toolname_placements_4a5724d1\":\"הצגת מיקומי %{toolName} \",\"we_were_unable_to_activate_the_app_578defe7\":\"לא ניתן להפעיל את האפליקציה\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"לא הצלחנו להוסיף את אסימון הגישה\",\"we_were_unable_to_add_the_app_418877ef\":\"לא הצלחנו להוסיף את האפליקציה.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"לא ניתן להשבית את האפליקציה\",\"we_were_unable_to_update_the_app_659f5bc6\":\"לא הצלחנו לעדכן את האפליקציה\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"האם ברצונך לקבל או לדחות את העדכון הזה?\",\"would_you_like_to_enable_this_app_ccdf735d\":\"האם ברצונך להפוך אפליקציה זו לפעילה?\",\"xml_configuration_5ea1b942\":\"קופיגורצית XML\"},\"ht\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"Yon tablo ki genyen non sistèm notasyon an ak touch pou edisyon oswa eliminasyon sistèm nan.\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"Yon tablo ki genyen done sistèn notasyon. Chak liy gen yon non, yon pousantaj maksimòm e yon pousantaj minimòm. Anplis de sa, chak liy gen yon touch pou ajoute yon lòt liy anba li, epi yon lòt touch pou efase liy sa a.\",\"accept_2fdd362e\":\"Aksepte\",\"access_token_3be22221\":\"Token Aksè\",\"account_navigation_80bbefd4\":\"Navigasyon Kont\",\"actions_efcde10d\":\"Aksyon\",\"add_app_baf540f\":\"Ajoute App\",\"add_grading_scheme_81e23c05\":\" Ajoute Sistèm Klasman\",\"all_4321c3a1\":\"Tout\",\"all_changes_were_saved_f6f3ddcc\":\"Tout chanjman yo anrejistre\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"Tout espas dat yo dwe prezan e byen fòmate\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"Tout peryòd klasman yo dwe gen yon tit\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"Tout dat kòmansman yo dwe anvan dat finisman yo\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"Pèmèt lekòl sa a ale sou non ak Sèvis Pwovisyònman Wòl IMS yo\",\"an_update_is_available_for_toolname_bba3fa2\":\"Gen yon aktyalizasyon ki disponib pou %{toolName}\",\"anonymous_e1b8ad27\":\"Anomin\",\"app_b157c2b3\":\"App\",\"app_placements_6d877225\":\"Plasman App\",\"app_reregistration_87cc8817\":\"Re enskripsyon App\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} te enstale pa Admin e li bloke\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} te enstale pa kou prensipal la e li bloke\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} te enstale pa kou prensipal la\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"Apps yo se yon mwayen fasil pou ajoute nouvo fonksyonalite nan Canvas. Ou ka ajoute yo nan yon kou oswa nan tout kou ki nan yon kont. Kou li fin konfigire, ou ka lye avèk yo atravè modil kou epi kreye sesyon pou zouti evalyasyon yo.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"Ou kwè vrèman ou vle efase peryòd klasman sa a?\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"Ou kwè vrèman ou vle efase sistèm klasman sa a?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"Èske se vre ou vle elimine zouti sa a?\",\"assignment_edit_6dced39f\":\"Modifikasyon Sesyon\",\"assignment_menu_91fe3716\":\"Meni Sesyon\",\"assignment_selection_6bff05c4\":\"Seleksyon Sesyon\",\"assignment_view_1206a60b\":\"Afichaj Sesyon\",\"back_to_app_center_95420d83\":\"Retounen nan App Center\",\"by_lti_2_registration_url_e421e523\":\"URL Enskripsyon Pa LTI 2\",\"by_url_a163275e\":\"Pa URL\",\"cancel_caeb1e68\":\"Anile\",\"close_d634289d\":\"Fèmen\",\"close_date_a2f617b3\":\"Dat Fèmti\",\"collaboration_71c024f4\":\"Kolaborasyon\",\"config_url_e96ceaf3\":\"URL Config\",\"configuration_type_25a084a4\":\"Tip Konfigirasyon\",\"configure_ecb97e30\":\"Konfigire\",\"configure_tool_app_3b1bb50b\":\"Konfigire App %{tool}?\",\"configure_toolname_app_651371be\":\"Konfigire App %{toolName}\",\"consumer_key_6f94ba11\":\"Kle Konsomatè\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(%{context} level)\",\"count_apps_found_f4d86860\":\"%{count} app twouve\",\"course_assignments_menu_fa6aeb23\":\"Meni Sesyon Kou\",\"course_home_sub_navigation_b1ee6b03\":\"Sou Navigasyon Akèy Kou\",\"course_navigation_dd035109\":\"Navigasyon Kou\",\"course_settings_sub_navigation_b95deae\":\"Sou Navigasyon Reglaj Kou\",\"custom_fields_fc3e55af\":\"Branch Pèsonalize\",\"delete_a6efa79d\":\"Efase\",\"delete_grading_period_dba36e59\":\"Efase peryòd klasman\",\"delete_grading_scheme_6b308832\":\"Efase sistèm notasyon\",\"delete_tool_app_9c9f6d35\":\"Efase App %{tool}?\",\"delete_toolname_app_85f9d4ee\":\"Efase App %{toolName}?\",\"description_436c48d7\":\"Deskripsyon\",\"disable_a5c05db3\":\"Dezaktive\",\"disable_toolname_44d6397c\":\"Dezaktive %{toolName}\",\"disabled_18c33a73\":\"(dezaktive)\",\"discussion_topic_menu_3d4684c6\":\"Meni Sijè Diskisyon\",\"dismiss_dacdb625\":\"Rejte\",\"domain_3b54c511\":\"Domèn\",\"e_mail_only_2cc5e513\":\"Sèlman Imèl\",\"edit_app_b0cc1c17\":\"Modifye App\",\"edit_c5fbea07\":\"Modifye\",\"edit_grading_scheme_53091236\":\"Modifye Sistèm Notasyon\",\"edit_toolname_app_23cfbb8\":\"Modifye App %{toolName}\",\"editor_button_6647db9c\":\"Touch Editè\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"Ou dwe defini swa domèn nan ou url la.\",\"enable_6f5d1328\":\"Aktive\",\"enable_toolname_dc64c25a\":\"Aktive %{toolName}\",\"end_date_e0093ed7\":\"Dat Finisman\",\"enter_the_access_token_for_your_organization_from__38b84fd1\":\"Antre token aksè òganizasyon ou an sou                     *eduappcenter.com*. Depi w fin aplike, sèlman aplikasyon ki nan                     EduAppCenter ke òganizasyon w lan apwouve k ap afiche sou paj Ekstèn Apps yo.                     Aprann kijan pou **jenere yon token aksè**.\",\"example_https_example_com_config_xml_be5f36ac\":\"Egzanp: https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"Egzanp: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"Apps Ekstèn\",\"file_menu_cc0ca54\":\"Meni Fichye\",\"filter_by_name_34cbe139\":\"Klase pa non\",\"global_navigation_8bee3501\":\"Navigasyon Global\",\"grading_aa6de9\":\"Klasman\",\"grading_period_name_31ceb3e3\":\"Non Peryòd Klasman\",\"grading_period_title_23b7f8ac\":\"Tit Peryòd Klasman\",\"grading_period_weight_99b66906\":\"Ponderasyon Peryòd Klasman\",\"grading_periods_81941e66\":\"Peryòd Klasman\",\"grading_periods_must_not_overlap_f45336fb\":\"Peryòd klasman yo pa dwe kwaze\",\"grading_scheme_deleted_7ae5a072\":\"Sistèm notasyon efase\",\"grading_scheme_saved_85535151\":\"Sistèm notasyon anrejistre\",\"grading_schemes_1c3c3252\":\"Sistèm Notasyon\",\"grading_standard_title_58f540a3\":\"Tit klasman estanda\",\"homework_submission_172e8354\":\"Soumisyon Devwa\",\"insert_row_below_25187f89\":\"Ensere ranje pi ba a\",\"installed_7b284a91\":\"Enstale\",\"launch_external_tool_672c0409\":\"Lanse Zouti eksteryè\",\"launch_registration_tool_38d4781\":\"Lanse Zouti Enskripsyon\",\"launch_url_e150bd41\":\"Lanse URL\",\"link_selection_1486c5d0\":\"Seleksyon Lyen\",\"link_to_lti_tools_608df3b0\":\"Lyen pou ale nan zouti lti\",\"looks_great_e4d883ed\":\"Sa bon!\",\"lower_limit_of_range_6ddd4983\":\"Limit gam enferyè\",\"lti_1_3_c84fd177\":\"LTI 1.3\",\"lti_1_3_tools_list_ac30b375\":\"Lis Zouti LTI 1.3\",\"manage_app_list_994cc26c\":\"Jere Lis App\",\"manage_grading_schemes_in_context_name_e3678273\":\"Jere sistèm notasyon nan %{context_name}\",\"manage_update_23de23a1\":\"Jere Aktylizasyon\",\"manage_update_for_toolname_f8e3b2fb\":\"Jere aktylizasyon pou %{toolName}\",\"manual_entry_e4a4f99a\":\"Antre Manyèl\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"Seleksyon Migrasyon\",\"module_menu_3201af4e\":\"Meni Modil\",\"name_1aed4a1b\":\"Non\",\"name_app_has_been_deleted_fb2d9426\":\"%{name} app efase\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"*name* enstale kòrèkteman men li poko aktive.\",\"name_is_currently_status_9065c996\":\"*name* **status** pou kounye a.\",\"name_only_5f56718e\":\"Non Sèlman\",\"no_cancel_installation_db8d12d7\":\"Non, Anile Enstalasyon\",\"no_grading_schemes_to_display_8b0e92e7\":\"Pa sistèm notasyon pou afiche\",\"no_placements_enabled_f705f28\":\"Pa gen Plasman ki Aktive\",\"not_installed_37a21a76\":\"Pa Enstale\",\"one_per_line_format_name_value_79647700\":\"Yonn pa liy. Fòm: name=value\",\"page_menu_2f8bee0\":\"Paj Meni\",\"paste_xml_cda3a64e\":\"Kole XML\",\"placements_5b5e056b\":\"Plasman\",\"privacy_290109ea\":\"Konfidansyalite\",\"public_a749f507\":\"Piblik\",\"quiz_menu_4fcd5e61\":\"Meni Quiz\",\"range_56b2f310\":\"Entèval\",\"range_name_90614433\":\"Non Entèval\",\"registration_url_60e0eaaa\":\"URL Anrejistreman\",\"remove_row_c198da5a\":\"Elimine ranje\",\"reregister_9ab95a57\":\"Re anrejistre\",\"reregister_toolname_3dde0bfc\":\"Re anrejistre %{toolName}\",\"save_11a80ec3\":\"Anrejistre\",\"save_grading_period_daaaddea\":\"Anrejistre Peryòd Klasman\",\"saving_d55dd90e\":\"Anrejistreman...\",\"see_some_lti_tools_that_work_great_with_canvas_53e92091\":\"Afiche kèk zouti LTI ki fonksyone byen ak Canvas.\",\"settings_5aa0fd0c\":\"Paramèt\",\"shared_secret_892c88f2\":\"Sekrè Pataje\",\"similarity_detection_dcada48\":\"Deteksyon Resanblans\",\"start_date_e937be8a\":\"Dat Kòmansman\",\"status_e7fdbe06\":\"Estati\",\"submit_a3cc6859\":\"Soumèt\",\"sync_grades_a16622ca\":\"Senkwonize Nòt\",\"the_app_was_activated_a84e055f\":\"App la aktive\",\"the_app_was_added_58e2836a\":\"App la ajoute\",\"the_app_was_added_successfully_3f785a23\":\"App la ajoute kòrèkteman\",\"the_app_was_deactivated_573520ab\":\"App la dezaktive\",\"the_app_was_updated_successfully_3d71cd1b\":\"App la aktyalize  kòrèkteman\",\"the_following_content_is_partner_provided_ed1da756\":\"Kontni annapre a se yon asosye ki bay li\",\"the_following_fields_are_invalid_fields_b3565800\":\"Chan annapre yo envalid: %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"Peryòd klasman an te efase\",\"the_preceding_content_is_partner_provided_d753928c\":\"Kontni anvan an se yon asosye ki bay li\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"Te gen yon pwoblèm pou efase peryòd notasyon an\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"Te gen yon pwoblèm pou efase sistèm notasyon an\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"Te gen yon pwoblèm peryòd rekiperasyon\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"Te gen yon pwoblèm pou anrejistre peryòd notasyon an\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"Te gen yon pwoblèm pou anrejistre sistèm notasyon an\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"Gen yon erè ki fèt nan tretman demann ou a\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"Gen yon erè enkoni ki fèt pandan anrejistreman enstriman an\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"Te gen yon erè ak fòmilè: %{errors}\",\"this_field_is_required_fa58c4a\":\"Kazye sa a obligatwa\",\"this_field_name_is_required_988caebc\":\"Kazye \\\"%{name}\\\" obligatwa.\",\"this_field_name_is_required_b9196401\":\"Kazye \\\"name\\\" an obligatwa.\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"Zouti sa a enstale nan kontèks sa a deja. Èske w vle enstale li kanmenm?\",\"to_35c6baa2\":\"pou \",\"to_minscore_43e5452e\":\"pou %{minScore}%\",\"tool_configuration_63cd43b0\":\"Zouti Konfigirasyon\",\"tool_content_e699e813\":\"Zouti Kontni\",\"tool_placements_3f996c24\":\"Zouti Plasman\",\"unable_to_accept_update_fd53a7e2\":\"Paka aksepte aktyalizasyon\",\"unable_to_dismiss_update_df1e32eb\":\"Paka refize aktyalizasyon\",\"unable_to_load_lti_1_3_tools_cf169f9\":\"Enposib pou chaje Zouti  Lti 1.3\",\"unable_to_remove_app_4293cb53\":\"Paka elimine app\",\"unchanged_aca18e02\":\"[Unchanged]\",\"update_tool_7d48ef2a\":\"Aktyalize %{tool}\",\"updating_6edbab78\":\"Aktyalizasyon\",\"upper_limit_of_range_c454a8f2\":\"Limit siperyè gam\",\"user_navigation_a097be0f\":\"Navigasyon Itilizatè\",\"view_app_center_6c89a3fe\":\"Afiche App Center\",\"view_app_configurations_52b52441\":\"Afiche konfigirasyon App\",\"view_name_app_62a2ad8e\":\"Afiche %{name} app\",\"view_toolname_placements_4a5724d1\":\"Afichaj Plasman %{toolName}\",\"we_were_unable_to_activate_the_app_578defe7\":\"Nou pa t ka aktive app la.\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"Nou pa t ka ajoute token aksè a.\",\"we_were_unable_to_add_the_app_418877ef\":\"Nou pa t ka ajoute app la.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"Nou pa t ka dezaktive app la.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"Nou pa t ka aktyalize app la.\",\"weight_9b308e5b\":\"Pwa\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"Èske w ta renmen aksepte oswa refize aktyalizasyon sa a?\",\"would_you_like_to_enable_this_app_ccdf735d\":\"Èske w ta renmen aktive app sa a?\",\"xml_configuration_5ea1b942\":\"Konfigirasyon XML\",\"yes_install_tool_f51b3278\":\"Wi, Enstale Zouti\"},\"hu\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"Az osztályzási rendszer nevét és a szerkesztésükre és törlésükre szolgáló gombokat tartalmazó táblázat.\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"Az osztályzási rendszer adatait tartalmazó táblázat. Minden sor tartalmaz egy nevet, egy maximum százalékot, és egy minimum százalékot. Ezen kívül minden sor tartalmaz egy gombot, ami új sor hozzáadására szolgál a jelenlegi sor alá, valamint a jelenlegi sor törlésére szolgáló gombot.\",\"accept_2fdd362e\":\"Elfogad\",\"access_token_3be22221\":\"Hozzáférési token\",\"account_navigation_80bbefd4\":\"Fióknavigáció\",\"actions_efcde10d\":\"Tevékenységek\",\"add_app_baf540f\":\"Alkalmazás hozzáadása\",\"add_grading_scheme_81e23c05\":\"Osztályzási séma hozzáadása\",\"all_4321c3a1\":\"Összes\",\"all_changes_were_saved_f6f3ddcc\":\"Minden módosítás el lett mentve\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"Minden dátummezőnek jelen kell lennie és helyesen formázottnak kell lennie.\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"Minden osztályzási időszaknak kell, hogy legyen címe\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"A záródátum nem lehet a kezdődátumnál korábbi. Minden kezdődátumnak a záródátumot meg kell előznie.\",\"an_update_is_available_for_toolname_bba3fa2\":\"A frissítés elérhető a következő számára: %{toolName}\",\"anonymous_e1b8ad27\":\"Névtelen\",\"app_b157c2b3\":\"Alkalmazás\",\"app_placements_6d877225\":\"Alkalmazás elhelyezések\",\"app_reregistration_87cc8817\":\"Applikáció újraregisztrálása \",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"Az alkalmazások segítségével egyszerűen társíthat új funkciókat a Canvashoz. Ezek akár egyenként, vagy egy fiókon belül minden kurzushoz hozzáadhatóak. A beállítások után, a kurzusmodulon keresztül hivatkozhat ezekre, és akár ezekkel megoldható, speciális feladatokat is létrehozhat.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"Biztos benne, hogy törli ezt az osztályzási időszakot?\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"Biztos benne, hogy törli ezt az osztályzási rendszert?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"Biztos benne, hogy el szeretné távolítani ezt az eszközt?\",\"assignment_menu_91fe3716\":\"Feladat menü\",\"assignment_selection_6bff05c4\":\"Feladatkiválasztás\",\"back_to_app_center_95420d83\":\"Vissza az Alkalmazásközpontba\",\"by_lti_2_registration_url_e421e523\":\"LTI 2 regisztrációs URL alapján\",\"by_url_a163275e\":\"URL szerint\",\"cancel_caeb1e68\":\"Mégse\",\"close_d634289d\":\"Bezárás\",\"collaboration_71c024f4\":\"Együttműködés\",\"config_url_e96ceaf3\":\"Konfigurációs URL\",\"configuration_type_25a084a4\":\"Konfiguráció típusa\",\"configure_ecb97e30\":\"Konfigurálás\",\"configure_tool_app_3b1bb50b\":\"%{tool} App konfigurálása?\",\"configure_toolname_app_651371be\":\"%{toolName} alkalmazás konfigurálása\",\"consumer_key_6f94ba11\":\"Vevőazonosító\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(%{context} level)\",\"count_apps_found_f4d86860\":\"%{count}appot találtunk\",\"course_home_sub_navigation_b1ee6b03\":\"Kurzus kezdőlap alnavigáció\",\"course_navigation_dd035109\":\"Kurzusnavigáció\",\"course_settings_sub_navigation_b95deae\":\"Kurzusbeállítások alnavigáció\",\"custom_fields_fc3e55af\":\"Egyéni mezők\",\"delete_a6efa79d\":\"Törlés\",\"delete_grading_period_dba36e59\":\"Osztályzási időszak törlése\",\"delete_grading_scheme_6b308832\":\"Osztályzási rendszer törlése\",\"delete_tool_app_9c9f6d35\":\"Törli a következő applikációt: %{tool}? \",\"delete_toolname_app_85f9d4ee\":\"%{toolName} applikáció törlése\",\"description_436c48d7\":\"Leírás\",\"disable_a5c05db3\":\"Letilt\",\"disabled_18c33a73\":\"(letiltva)\",\"discussion_topic_menu_3d4684c6\":\"Fórumtéma menü\",\"dismiss_dacdb625\":\"Elvetés\",\"domain_3b54c511\":\"Tartomány\",\"e_mail_only_2cc5e513\":\"Csak e-mail \",\"edit_app_b0cc1c17\":\"Alkalmazás szerkesztése\",\"edit_c5fbea07\":\"Szerkesztés\",\"edit_grading_scheme_53091236\":\"Osztályzási rendszer szerkesztése\",\"edit_toolname_app_23cfbb8\":\"%{toolName} Alkalmazás szerkesztése\",\"editor_button_6647db9c\":\"Szerkesztőgomb\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"Vagy az url, vagy a tartomány megadása kötelező\",\"enable_6f5d1328\":\"Engedélyezés\",\"end_date_e0093ed7\":\"Záródátum\",\"example_https_example_com_config_xml_be5f36ac\":\"Példa: https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"Példa: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"Külső applikációk\",\"file_menu_cc0ca54\":\"Fájlmenü\",\"filter_by_name_34cbe139\":\"Szűrés névre\",\"global_navigation_8bee3501\":\"Globális navigáció\",\"grading_aa6de9\":\"Osztályzás\",\"grading_period_name_31ceb3e3\":\"Osztályzási időszak neve\",\"grading_period_title_23b7f8ac\":\"Osztályzási időszak címe\",\"grading_periods_81941e66\":\"Osztályzási időszakok\",\"grading_periods_must_not_overlap_f45336fb\":\"Az osztályzási időszakok nem lehetnek egymással átfedésben\",\"grading_scheme_deleted_7ae5a072\":\"Törölt osztályzási rendszer\",\"grading_scheme_saved_85535151\":\"Mentett osztályzási rendszer\",\"grading_schemes_1c3c3252\":\"Osztályzási rendszerek\",\"grading_standard_title_58f540a3\":\"Értékelési szabvány címe\",\"homework_submission_172e8354\":\"Házifeladat beadása\",\"insert_row_below_25187f89\":\"Sor beszúrása alá\",\"installed_7b284a91\":\"Telepített\",\"launch_registration_tool_38d4781\":\"Regisztrációs eszköz indítása\",\"launch_url_e150bd41\":\"URL betöltése\",\"link_selection_1486c5d0\":\"Link kiválasztása\",\"looks_great_e4d883ed\":\"Szép munka!\",\"lower_limit_of_range_6ddd4983\":\"Intervallum alsó határa\",\"manage_app_list_994cc26c\":\"Alkalmazáslista kezelése\",\"manage_grading_schemes_in_context_name_e3678273\":\"Osztályzási rendszer kezelése %{context_name} alapján\",\"manage_update_23de23a1\":\"Frissítés kezelése\",\"manage_update_for_toolname_f8e3b2fb\":\"Frissítés kezelése ehhez: %{toolName}\",\"manual_entry_e4a4f99a\":\"Kézi bejegyzés\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"Migrációkijelölés\",\"module_menu_3201af4e\":\"Modul menüje\",\"name_1aed4a1b\":\"Név\",\"name_app_has_been_deleted_fb2d9426\":\"%{name} applikáció törölve lett \",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"*name* sikeresen telepítve lett, de még nincs engedélyezve.\",\"name_is_currently_status_9065c996\":\"*név* jelenleg **státusz** státuszú.\",\"name_only_5f56718e\":\"Csak név\",\"no_grading_schemes_to_display_8b0e92e7\":\"Nincs megjeleníthető osztályzási rendszer\",\"no_placements_enabled_f705f28\":\"Nincsenek engedélyezett elhelyezések\",\"not_installed_37a21a76\":\"Nem telepített\",\"one_per_line_format_name_value_79647700\":\"Soronként egy. Formátum: név=érték\",\"paste_xml_cda3a64e\":\"XML beillesztés\",\"placements_5b5e056b\":\"Elhelyezések\",\"privacy_290109ea\":\"Adatvédelem\",\"public_a749f507\":\"Publikus\",\"quiz_menu_4fcd5e61\":\"Kvíz Menü\",\"range_56b2f310\":\"Tartomány\",\"range_name_90614433\":\"Tartomány neve\",\"registration_url_60e0eaaa\":\"Regisztrációs URL\",\"remove_row_c198da5a\":\"Sor törlése\",\"reregister_9ab95a57\":\"Újraregisztrálás\",\"reregister_toolname_3dde0bfc\":\"%{toolName} újra regisztrálása\",\"save_11a80ec3\":\"Mentés\",\"save_grading_period_daaaddea\":\"Osztályzási időszak mentése\",\"saving_d55dd90e\":\"Mentés...\",\"settings_5aa0fd0c\":\"Beállítások\",\"shared_secret_892c88f2\":\"Megosztott titkos kulcs\",\"start_date_e937be8a\":\"Kezdődátum\",\"status_e7fdbe06\":\"Státusz\",\"submit_a3cc6859\":\"Küldés\",\"the_app_was_activated_a84e055f\":\"Az alkalmazás aktiválva\",\"the_app_was_added_58e2836a\":\"Az alkalmazás hozzáadva\",\"the_app_was_added_successfully_3f785a23\":\"Az alkalmazás sikeresen hozzáadva\",\"the_app_was_deactivated_573520ab\":\"Az alkalmazás deaktiválva\",\"the_app_was_updated_successfully_3d71cd1b\":\"Az alkalmazás sikeresen frissítve\",\"the_following_fields_are_invalid_fields_b3565800\":\"A következő mezők nem érvényesek: %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"Osztályzási időszak törölve\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"Probléma adódott az osztályzási időszak törlése közben\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"Probléma adódott az osztályzási rendszer törlése közben\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"Probléma adódott az időszakok összegyűjtése közben\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"Probléma adódott az osztályzási időszak mentése közben\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"Probléma adódott az osztályzási rendszer mentése közben\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"Hiba történt a kérés feldolgozása közben\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"Hibák történtek az űrlappal: %{errors}\",\"this_field_is_required_fa58c4a\":\"A mező kitöltése kötelező\",\"this_field_name_is_required_988caebc\":\"A mező \\\"%{name}\\\" kitöltése kötelező.\",\"this_field_name_is_required_b9196401\":\"A \\\"név\\\" mező kitöltése kötelező.\",\"to_35c6baa2\":\"eddig \",\"to_minscore_43e5452e\":\"\\u003c %{minScore}%\",\"tool_configuration_63cd43b0\":\"Eszközkonfiguráció\",\"tool_content_e699e813\":\"Eszköztartalom\",\"tool_placements_3f996c24\":\"Eszköz elhelyezése\",\"unable_to_accept_update_fd53a7e2\":\"A frissítést nem lehet elfogadni\",\"unable_to_dismiss_update_df1e32eb\":\"A frissítést nem lehet elvetni\",\"unable_to_remove_app_4293cb53\":\"Az alkalmazás nem távolítható el\",\"unchanged_aca18e02\":\"[Változatlan]\",\"update_tool_7d48ef2a\":\"%{tool} frissítése\",\"updating_6edbab78\":\"Frissítés\",\"upper_limit_of_range_c454a8f2\":\"Intervallum felső határa\",\"user_navigation_a097be0f\":\"Felhasználói navigáció\",\"view_app_center_6c89a3fe\":\"Alkalmazásközpont megtekintése\",\"view_app_configurations_52b52441\":\"Alkalmazáskonfigurációk megtekintése\",\"view_name_app_62a2ad8e\":\"%{name} app megtekintése\",\"view_toolname_placements_4a5724d1\":\"%{toolName} elhelyezések megtekintése\",\"we_were_unable_to_activate_the_app_578defe7\":\"Nem sikerült aktiválni az alkalmazást.\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"Nem sikerült hozzáadni a hozzáférési tokent.\",\"we_were_unable_to_add_the_app_418877ef\":\"Nem sikerült hozzáadni az alkalmazást.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"Nem sikerült deaktiválni az alkalmazást.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"Nem tudtuk frissíteni az applikációt. \",\"weight_9b308e5b\":\"Súly\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"Elfogadja vagy elveti ezt a frissítést?\",\"would_you_like_to_enable_this_app_ccdf735d\":\"Szeretné engedélyezni ezt az alkalmazást? \",\"xml_configuration_5ea1b942\":\"XML Konfiguráció\",\"yes_install_tool_f51b3278\":\"Igen, eszköz telepítése\"},\"hy\":{\"accept_2fdd362e\":\"Ընդունել\",\"account_navigation_80bbefd4\":\"Հաշվի նավարկում\",\"actions_efcde10d\":\"Գործողություններ\",\"add_app_baf540f\":\"Ավելացնել հավելված\",\"add_grading_scheme_81e23c05\":\"Ավելացնել գնահատման սխեման\",\"all_4321c3a1\":\"Բոլորը\",\"all_changes_were_saved_f6f3ddcc\":\"Բոլոր փոփոխությունները պահպանվել են\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"Ամսաթվերի բոլոր դաշտերը պետք է առկա լինեն և ճիշտ ձևով ֆորմատավորված\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"Բոլոր գնահատման ժամանակահատվածները պետք է անվանում ունենան\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"Մեկնարկման բոլոր ամսաթվերը պետք է լինեն նախքան ավարտման ամսաթվերը\",\"an_update_is_available_for_toolname_bba3fa2\":\"%{toolName} համար տեղի է ունեցել թարմացում\",\"anonymous_e1b8ad27\":\"Անանուն\",\"app_placements_6d877225\":\"Հավելվածների տեղադրումներ\",\"app_reregistration_87cc8817\":\"Հավելվածի վերագրանցում\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"Հավելվածները պարզ միջոց են նոր ֆունկցիաներ ավելացնելու Canvas-ին: Դրանք կարող են ավելացվել առանձին դասընթացներին կամ հաշվի բոլոր դասընթացներին: Կարգաբերումից հետո դուք կարող եք կապվել դրանց դասընթացի մոդուլների միջոցով և ստեղծել հանձնարարություններ գիտելիքների գնահատման գործիքների համար:\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"Դուք իսկապե՞ս ցանկանում եք ջնջել գնահատման այս ժամանակահատվածը:\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"Դուք իսկապե՞ս ցանկանում եք ջնջել գնահատման այս սխեման:\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"Դուք իսկապե՞ս ցանկանում եք ջնջել այս գործիքը:\",\"assignment_menu_91fe3716\":\"Հանձնարարության մենյու\",\"assignment_selection_6bff05c4\":\"Հանձնարարության ընտրություն\",\"back_to_app_center_95420d83\":\"Վերադառնալ App Center\",\"by_lti_2_registration_url_e421e523\":\"Urlհասցեի միջոցով LTI 2 գրանցում \",\"by_url_a163275e\":\"Ըստ Url հասցեի\",\"cancel_caeb1e68\":\"Չեղյալ համարել\",\"close_d634289d\":\"Փակել\",\"config_url_e96ceaf3\":\"URL հասցեի կարգաբերում\",\"configuration_type_25a084a4\":\"Կարգաբերման տեսակ\",\"configure_ecb97e30\":\"Կարգաբերել\",\"configure_toolname_app_651371be\":\"Կարգաբերել %{toolName} հավելվածը\",\"consumer_key_6f94ba11\":\"Օգտատիրոջ բանալի\",\"context_contextname_24d82846\":\"(%{context}:%{contextName})\",\"context_level_56d88f5b\":\"(%{context} մակարդակ)\",\"course_home_sub_navigation_b1ee6b03\":\"Դասընթացի հիմնական էջի ենթանավարկման ֆունկցիա\",\"course_navigation_dd035109\":\"Նավարկում դասընթացում\",\"course_settings_sub_navigation_b95deae\":\"Դասընթացի կարգաբերումների սուբնավարկում\",\"custom_fields_fc3e55af\":\"Օգտատիրոջ դաշտեր\",\"delete_a6efa79d\":\"Ջնջել\",\"delete_grading_period_dba36e59\":\"Ջնջել գնահատման ժամանակահատվածը\",\"delete_grading_scheme_6b308832\":\"Ջնջել գնահատման սխեման\",\"delete_tool_app_9c9f6d35\":\"Ջնջե՞լ %{tool} հավելվածը\",\"delete_toolname_app_85f9d4ee\":\"Ջնջել %{toolName} հավելվածը\",\"description_436c48d7\":\"Նկարագրություն\",\"disable_a5c05db3\":\"Անջատել\",\"disabled_18c33a73\":\"(անջատված է)\",\"discussion_topic_menu_3d4684c6\":\"Քննարկման թեմայի մենյու\",\"dismiss_dacdb625\":\"Հեռացնել\",\"domain_3b54c511\":\"Դոմեն\",\"e_mail_only_2cc5e513\":\"Միայն էլեկտրոնային փոստ\",\"edit_app_b0cc1c17\":\"Խմբագրել հավելվածը\",\"edit_c5fbea07\":\"Խմբագրել\",\"edit_grading_scheme_53091236\":\"Խմբագրել գնահատման սխեման\",\"edit_toolname_app_23cfbb8\":\"Խմբագրել %{toolName}  հավելվածը\",\"editor_button_6647db9c\":\"Խմբագրի կոճակ\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"Url կամ դոմենը պետք է կարգաբերվեն\",\"enable_6f5d1328\":\"Միացնել\",\"end_date_e0093ed7\":\"Ավարտման ամսաթիվ\",\"example_https_example_com_config_xml_be5f36ac\":\"Օրինակ՝  https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"Օրինակ՝ https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"Արտաքին հավելվածներ\",\"file_menu_cc0ca54\":\"Ֆայլերի մենյու\",\"filter_by_name_34cbe139\":\"Զտել ըստ անվանումների\",\"global_navigation_8bee3501\":\"Գլոբալ նավարկում\",\"grading_period_name_31ceb3e3\":\"Գնահատման ժամանակահատվածի անվանումը\",\"grading_periods_81941e66\":\"Գնահատման ժամանակահատվածներ\",\"grading_periods_must_not_overlap_f45336fb\":\"Գնահատման ժամանակահատվածը չպետք է մասամբ համընկնի\",\"grading_scheme_deleted_7ae5a072\":\"Գնահատման սխեման ջնջված է\",\"grading_scheme_saved_85535151\":\"Գնահատման սխեման պահպանված է\",\"grading_schemes_1c3c3252\":\"Գնահատման սխեմաներ\",\"grading_standard_title_58f540a3\":\"Գնահատման ստանդարտի անվանում\",\"homework_submission_172e8354\":\"Տնային հանձնարարության ուղարկում\",\"insert_row_below_25187f89\":\"Տեղադրել տող ներքևում\",\"installed_7b284a91\":\"Տեղադրված է\",\"launch_registration_tool_38d4781\":\"Գործարկել գրանցման գործիքը\",\"launch_url_e150bd41\":\"Գործարկել url\",\"link_selection_1486c5d0\":\"Հղումների ընտրություն\",\"looks_great_e4d883ed\":\"Գերազանց է:\",\"lower_limit_of_range_6ddd4983\":\"Տիրույթի ամենացածր սահմանը\",\"manage_grading_schemes_in_context_name_e3678273\":\"Կառավարել %{context_name} գտնվող գնահատման սխեմաները\",\"manage_update_23de23a1\":\"Կառավարել թարմացման գործընթացը\",\"manage_update_for_toolname_f8e3b2fb\":\"Կառավարել %{toolName}-ի թարմացման գործընթացը\",\"manual_entry_e4a4f99a\":\"Մուտքագրում ձեռքով\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"Տեղափոխության ընտրություն\",\"module_menu_3201af4e\":\"Մոդուլի մենյու\",\"name_1aed4a1b\":\"Անուն\",\"name_app_has_been_deleted_fb2d9426\":\"%{name} հավելվածը ջնջվել է\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"*անունը* հաջողությամբ տեղադրվել է, սակայն դեռևս չի միացվել:\",\"name_is_currently_status_9065c996\":\"*անունը* ներկա պահին **կարգավիճակն** է:\",\"name_only_5f56718e\":\"Միայն անունը\",\"no_grading_schemes_to_display_8b0e92e7\":\"Ցուցադրման համար բացակայում են գնահատման սխեմաները\",\"no_placements_enabled_f705f28\":\"Տեղադրումները միացված չեն\",\"not_installed_37a21a76\":\"Տեղադրված չէ\",\"one_per_line_format_name_value_79647700\":\"Մեկ տողին՝ մեկը: Ֆորմատ՝ անուն=մեծություն\",\"paste_xml_cda3a64e\":\"Տեղադրել XML\",\"placements_5b5e056b\":\"Տեղադրումներ\",\"privacy_290109ea\":\"Գաղտնիություն\",\"public_a749f507\":\"Հանրությանը հասանելի\",\"quiz_menu_4fcd5e61\":\"Թեստի մենյու\",\"range_name_90614433\":\"Դիապազոնի անվանումը\",\"registration_url_60e0eaaa\":\"Գրանցման URL-հասցե\",\"remove_row_c198da5a\":\"Հանել տողը\",\"reregister_9ab95a57\":\"Կրկին գրանցել\",\"reregister_toolname_3dde0bfc\":\"Վերագրանցել %{toolName}\",\"save_11a80ec3\":\"Պահպանել\",\"saving_d55dd90e\":\"Պահպանվում է...\",\"settings_5aa0fd0c\":\"Կարգաբերումներ\",\"shared_secret_892c88f2\":\"Ընդհանուր գաղտնի բանալի\",\"start_date_e937be8a\":\"Մեկնարկման ամսաթիվ\",\"status_e7fdbe06\":\"Կարգավիճակ\",\"submit_a3cc6859\":\"Ուղարկել\",\"the_app_was_activated_a84e055f\":\"Հավելվածը ակտիվացվել է\",\"the_app_was_added_58e2836a\":\"Հավելվածը ավելացվել է\",\"the_app_was_added_successfully_3f785a23\":\"Հավելվածը հաջողությամբ ավելացվել է\",\"the_app_was_deactivated_573520ab\":\"Հավելվածի ապաակտիվացվել է\",\"the_app_was_updated_successfully_3d71cd1b\":\"Հավելվածը հաջողությամբ թարմացվել է\",\"the_following_fields_are_invalid_fields_b3565800\":\"Հետևյալ դաշտերը անընդունելի են՝ %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"Գնահատման ժամանակահատվածը ջնջվել է\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"Գնահատման սխեման ջնջելիս խնդիր է առաջացել\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"Գնահատման սխեման ջնջելիս խնդիր է առաջացել\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"Ժամանակահատվածների ներբերման ժամանակ խնդիր է առաջացել\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"Գնահատման ժամանակահատվածը պահպանելիս խնդիր է առաջացել\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"Գնահատման սխեման պահպանելիս խնդիր է առաջացել\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"Ձեր հարցումը մշակելիս սխալ է տեղի ունեցել\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"Տեսքի հետ կապված սխալներ՝ %{errors}\",\"this_field_is_required_fa58c4a\":\"Անհրաժեշտ է լրացնել այս դաշտը\",\"this_field_name_is_required_988caebc\":\"Անհրաժեշտ է լրացնել \\\"%{name}\\\" դաշտը:\",\"this_field_name_is_required_b9196401\":\"Անհրաժեշտ է լրացնել \\\"name\\\" դաշտը:\",\"to_35c6baa2\":\"ում\",\"to_minscore_43e5452e\":\"%{minScore}% համար\",\"tool_configuration_63cd43b0\":\"Գործիքի կարգաբերում\",\"tool_content_e699e813\":\"Գործիքակազմի բովանդակություն\",\"tool_placements_3f996c24\":\"Գործիքի դիրքը\",\"unable_to_remove_app_4293cb53\":\"Հնարավոր չէ հանել հավելվածը\",\"unchanged_aca18e02\":\"[Անփոփոխ է]\",\"update_tool_7d48ef2a\":\"Թարմացնել %{tool}\",\"updating_6edbab78\":\"Թարմացվում է\",\"upper_limit_of_range_c454a8f2\":\"Տիրույթի վերին սահմանը\",\"user_navigation_a097be0f\":\"Օգտատիրոջ նավարկում\",\"view_app_center_6c89a3fe\":\"Դիտել App Center\",\"view_app_configurations_52b52441\":\"Դիտել հավելվածի կարգաբերումները\",\"view_name_app_62a2ad8e\":\"Դիտել %{name} հավելվածը\",\"view_toolname_placements_4a5724d1\":\"Դիտել %{toolName} տեղադրումները\",\"we_were_unable_to_activate_the_app_578defe7\":\"Հնարավոր չէր ակտիվացնել հավելվածը:\",\"we_were_unable_to_add_the_app_418877ef\":\"Հնարավոր չէր ավելացնել հավելվածը:\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"Հնարավոր չէր ապաակտիվացնել հավելվածը:\",\"we_were_unable_to_update_the_app_659f5bc6\":\"Հնարավոր չէր թարմացնել հավելվածը:\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"Դուք ցանկանում եք այս թարմացումը ընդունել թե՞ մերժել: \",\"would_you_like_to_enable_this_app_ccdf735d\":\"Կցանկանայի՞ք միացնել այս հավելվածը:\",\"xml_configuration_5ea1b942\":\"XML կոնֆիգուրացիա\"},\"is\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"Tafla með heiti einkunnamynsturs og hnöppum fyrir að breyta eða eyða mynstrinu.\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"Tafla með einkunnamynstri.  Í hverri línu er nafn, hámarkshlutfall og lágmarkshlutfall. Að auki er í hverri línu hnappur til að bæta við nýrri röð fyrir neðan og hnappur til að eyða núverandi röð.\",\"accept_2fdd362e\":\"Samþykkja\",\"access_token_3be22221\":\"Aðgangsmerki\",\"account_navigation_80bbefd4\":\"Leiðarstýring reiknings\",\"actions_efcde10d\":\"Aðgerðir\",\"add_app_baf540f\":\"Bæta við smáforriti\",\"add_grading_scheme_81e23c05\":\"Bæta við einkunnamynstur\",\"all_4321c3a1\":\"Allt\",\"all_changes_were_saved_f6f3ddcc\":\"Allar breytingar voru vistaðar\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"Allir dagsetningareitir þurfa að vera til staðar og rétt sniðnir\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"Öll einkunnatímabil þurfa að hafa titil\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"Allir upphafsdagar verða að vera fyrir lokadag\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"Veittu þessu verkfæri aðgang að IMS Names og Role provisioning Service\",\"an_update_is_available_for_toolname_bba3fa2\":\"Uppfærsla tiltæk fyrir %{toolName}\",\"anonymous_e1b8ad27\":\"Nafnlaus\",\"app_b157c2b3\":\"Smáforrit\",\"app_placements_6d877225\":\"Staðsetningar smáforrits\",\"app_reregistration_87cc8817\":\"Endurskráning smáforrits\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} var sett upp af stjórnanda og er læst\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} var sett upp af aðalnámskeiði og er læst\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} var sett upp af aðalnámskeiði\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"Smáforrit eru auðveld leið til að bæta við nýjum þáttum í Canvas. Þeim má bæta við einstök námskeið eða öll námskeið á reikningi. Eftir samstillingu er hægt að tengja á þá gegnum námskeiðs námsefni og stofna verkefni fyrir matstæki.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"Viltu örugglega eyða þessu einkunnatímabili?\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"Viltu örugglega eyða þessu einkunnamynstri?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"Viltu örugglega fjarlægja þetta verkfæri?\",\"assignment_edit_6dced39f\":\"Breyta verkefni\",\"assignment_menu_91fe3716\":\"Valmynd verkefnis\",\"assignment_selection_6bff05c4\":\"Verkefnaval\",\"assignment_view_1206a60b\":\"Skoða verkefni\",\"back_to_app_center_95420d83\":\"Aftur í smáforritamiðstöð\",\"by_lti_2_registration_url_e421e523\":\"Eftir LTI 2 skráningarvefslóð\",\"by_url_a163275e\":\"Eftir slóð\",\"cancel_caeb1e68\":\"Hætta við\",\"close_d634289d\":\"Loka\",\"close_date_a2f617b3\":\"Lokadagur\",\"collaboration_71c024f4\":\"Samvinna\",\"config_url_e96ceaf3\":\"Stillingarvefslóð\",\"configuration_type_25a084a4\":\"Tegund stillingar\",\"configure_ecb97e30\":\"Stilla\",\"configure_tool_app_3b1bb50b\":\"Stilla %{tool} smáforrit?\",\"configure_toolname_app_651371be\":\"Stilla %{toolName} smáforrit\",\"consumer_key_6f94ba11\":\"Neytandalykill\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(%{context} stig)\",\"count_apps_found_f4d86860\":\"%{count} smáforrit fundust\",\"course_assignments_menu_fa6aeb23\":\"Valmynd námskeiðsverkefna\",\"course_home_sub_navigation_b1ee6b03\":\"Undirleiðarstýring um aðsetur námskeiðs\",\"course_navigation_dd035109\":\"Leiðarnet námskeiðs\",\"course_settings_sub_navigation_b95deae\":\"Víðtæk leitarstilling námskeiðs\",\"custom_fields_fc3e55af\":\"Sérsniðnir reitir\",\"delete_a6efa79d\":\"Eyða\",\"delete_grading_period_dba36e59\":\"Eyða einkunnatímabili\",\"delete_grading_scheme_6b308832\":\"Eyða einkunnamynstri\",\"delete_tool_app_9c9f6d35\":\"Eyða forriti %{tool} ?\",\"delete_toolname_app_85f9d4ee\":\"Eyða forritinu %{toolName} ?\",\"description_436c48d7\":\"Lýsing\",\"disable_a5c05db3\":\"Aftengja\",\"disable_toolname_44d6397c\":\"Aftengja %{toolName}\",\"disabled_18c33a73\":\"(aftengt)\",\"discussion_topic_menu_3d4684c6\":\"Valmynd umræðuefna\",\"dismiss_dacdb625\":\"Fella niður\",\"domain_3b54c511\":\"Lén\",\"e_mail_only_2cc5e513\":\"Aðeins tölvupóstur\",\"edit_app_b0cc1c17\":\"Breyta forriti\",\"edit_c5fbea07\":\"Breyta\",\"edit_grading_scheme_53091236\":\"Breyta einkunnakerfi\",\"edit_toolname_app_23cfbb8\":\"Breyta %{toolName} forritinu\",\"editor_button_6647db9c\":\"Ritilshnappur\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"Annað hvort vefslóð eða lén þarf að vera skilgreint.\",\"enable_6f5d1328\":\"Heimila\",\"enable_toolname_dc64c25a\":\"Heimila %{toolName}\",\"end_date_e0093ed7\":\"Lokadagur\",\"enter_the_access_token_for_your_organization_from__38b84fd1\":\"Settu inn aðgangskóða fyrir fyrirtæki þitt frá                     *eduappcenter.com*. Þegar hann er kominn inn verða aðeins öpp sem fyrirtæki þitt hefur samþykkt                     EduAppCenter skráð á ytri öpp síðuna.                     Lærðu hvernig þú **býrð til aðgangstákn**.\",\"example_https_example_com_config_xml_be5f36ac\":\"Dæmi: https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"Dæmi: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"Ytri smáforit\",\"file_menu_cc0ca54\":\"Skráavalmynd\",\"filter_by_name_34cbe139\":\"Sía eftir nafni\",\"global_navigation_8bee3501\":\"Aðalvalmynd\",\"grading_aa6de9\":\"Einkunnagjöf\",\"grading_period_name_31ceb3e3\":\"Heiti einkunnatímabils\",\"grading_period_title_23b7f8ac\":\"Titill einkunnatímabils\",\"grading_period_weight_99b66906\":\"Vægi einkunnatímabils\",\"grading_periods_81941e66\":\"Einkunnatímabil\",\"grading_periods_must_not_overlap_f45336fb\":\"Einkunnatímabil mega ekki skarast\",\"grading_scheme_deleted_7ae5a072\":\"Einkunnamynstri eytt\",\"grading_scheme_saved_85535151\":\"Einkunnamynstur vistað\",\"grading_schemes_1c3c3252\":\"Einkunnamynstur\",\"grading_standard_title_58f540a3\":\"Titill einkunnaviðmiða\",\"homework_submission_172e8354\":\"Heimaverkefnisskil\",\"insert_row_below_25187f89\":\"Setja inn línu fyrir neðan\",\"installed_7b284a91\":\"Uppsett\",\"launch_external_tool_672c0409\":\"Nota ytra verkfæri\",\"launch_registration_tool_38d4781\":\"Opna skráningartól\",\"launch_url_e150bd41\":\"Opna vefslóð\",\"link_selection_1486c5d0\":\"Val á tengli\",\"link_to_lti_tools_608df3b0\":\"Tengja við Iti verkfæri.\",\"looks_great_e4d883ed\":\"Lítur vel út!\",\"lower_limit_of_range_6ddd4983\":\"Lægri mörk sviðs\",\"lti_1_3_c84fd177\":\"LTI 1.3\",\"lti_1_3_tools_list_ac30b375\":\"LTI 1.3 verkfæralisti\",\"manage_app_list_994cc26c\":\"Umsjón með smáforritalista\",\"manage_grading_schemes_in_context_name_e3678273\":\"Umsjón með einkunnakerfi  í %{context_name}\",\"manage_update_23de23a1\":\"Umsjón með uppfærslu\",\"manage_update_for_toolname_f8e3b2fb\":\"Umsjón með uppfærslu fyrir %{toolName}\",\"manual_entry_e4a4f99a\":\"Handfærð færsla\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"Afritun vals\",\"module_menu_3201af4e\":\"Valmynd eininga\",\"name_1aed4a1b\":\"Nafn\",\"name_app_has_been_deleted_fb2d9426\":\"Forritinu %{name} var eytt\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"*nafn* hefur verið uppsett en ekki heimiluð.\",\"name_is_currently_status_9065c996\":\"*nafn* er **staða** eins og er.\",\"name_only_5f56718e\":\"Aðeins nafn\",\"no_cancel_installation_db8d12d7\":\"Nei, hætta við að hlaða inn\",\"no_grading_schemes_to_display_8b0e92e7\":\"Ekki hægt að sýna neitt einkunnamynstur\",\"no_placements_enabled_f705f28\":\"Engar staðsetningar leyfðar\",\"not_installed_37a21a76\":\"Ekki uppsett\",\"one_per_line_format_name_value_79647700\":\"Eitt á hverja línu. Snið: Nafn=gildi\",\"page_menu_2f8bee0\":\"Valmynd síðu\",\"paste_xml_cda3a64e\":\"Líma XML\",\"placements_5b5e056b\":\"Staðsetningar\",\"privacy_290109ea\":\"Friðhelgi\",\"public_a749f507\":\"Opinbert\",\"quiz_menu_4fcd5e61\":\"Prófvalmynd\",\"range_56b2f310\":\"Svið\",\"range_name_90614433\":\"Heiti sviðs\",\"registration_url_60e0eaaa\":\"Skráningarslóð\",\"remove_row_c198da5a\":\"Fjarlægja röð\",\"reregister_9ab95a57\":\"Endurskrá\",\"reregister_toolname_3dde0bfc\":\"Endurskrá %{toolName}\",\"save_11a80ec3\":\"Vista\",\"save_grading_period_daaaddea\":\"Vista einkunnatímabil\",\"saving_d55dd90e\":\"Vista...\",\"see_some_lti_tools_that_work_great_with_canvas_53e92091\":\"Sjá LTI verkfæri sem virka vel með Canvas.\",\"settings_5aa0fd0c\":\"Stillingar\",\"shared_secret_892c88f2\":\"Deilt auðkenni\",\"similarity_detection_dcada48\":\"Líkindagreining\",\"start_date_e937be8a\":\"Upphafsdagur\",\"status_e7fdbe06\":\"Staða\",\"submit_a3cc6859\":\"Leggja fram\",\"sync_grades_a16622ca\":\"Samhæfa einkunnir\",\"the_app_was_activated_a84e055f\":\"Smáforritið var virkjað\",\"the_app_was_added_58e2836a\":\"Smáforritinu var bætt við\",\"the_app_was_added_successfully_3f785a23\":\"Smáforritinu var bætt við\",\"the_app_was_deactivated_573520ab\":\"Smáforritið var aftengt\",\"the_app_was_updated_successfully_3d71cd1b\":\"Smáforritið var uppfært\",\"the_following_content_is_partner_provided_ed1da756\":\"Eftirfarandi efni er gefið upp af samstarfsaðila\",\"the_following_fields_are_invalid_fields_b3565800\":\"Eftirtaldir reitir eru ógildir: %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"Einkunnatímabili var eytt\",\"the_preceding_content_is_partner_provided_d753928c\":\"Framangreint efni er gefið upp af samstarfsaðila\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"Vandamál kom upp við að eyða einkunnatímabili\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"Vandamál kom upp við að eyða einkunnamynstri\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"Vandamál kom upp við að sækja tímabil\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"Vandamál kom upp við að vista einkunnatímabil\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"Ekki tókst að vista einkunnamynstur\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"Villa varð við vinnslu beiðnar\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"Óþekkt villa kom upp við að skrá tólið\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"Villur í eyðublaðinu: %{errors}\",\"this_field_is_required_fa58c4a\":\"Fylla þarf í þennan reit\",\"this_field_name_is_required_988caebc\":\"Fylla þarf í þennan reit \\\"%{name}\\\".\",\"this_field_name_is_required_b9196401\":\"Fylla þarf í þennan reit \\\"nafn\\\".\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"Þetta verkfæri hefur þegar verið sett upp í þessu samhengi Villt þú samt setja það upp?\",\"to_35c6baa2\":\"til\",\"to_minscore_43e5452e\":\"til %{minScore}%\",\"tool_configuration_63cd43b0\":\"Stilling tóls\",\"tool_content_e699e813\":\"Tólaefni\",\"tool_placements_3f996c24\":\"Staðsetningar tóls\",\"unable_to_accept_update_fd53a7e2\":\"Ekki hægt að samþykkja uppfærslu\",\"unable_to_dismiss_update_df1e32eb\":\"Ekki hægt að hunsa uppfærslu\",\"unable_to_load_lti_1_3_tools_cf169f9\":\"Ekki tókst að hlaða inn Lti 1.3 verkfærum\",\"unable_to_remove_app_4293cb53\":\"Ekki hægt að fjarlægja smáforrit\",\"unchanged_aca18e02\":\"[Óbreytt]\",\"update_tool_7d48ef2a\":\"Uppfæra %{tool}\",\"updating_6edbab78\":\"Uppfæri\",\"upper_limit_of_range_c454a8f2\":\"Efri mörk sviðs\",\"user_navigation_a097be0f\":\"Leiðarstýring notanda\",\"view_app_center_6c89a3fe\":\"Skoða forritamiðstöð\",\"view_app_configurations_52b52441\":\"Skoða forritsstillingar\",\"view_name_app_62a2ad8e\":\"Skoða %{name} forrit\",\"view_toolname_placements_4a5724d1\":\"Skoða %{toolName} staðsetningar\",\"we_were_unable_to_activate_the_app_578defe7\":\"Ekki tókst að gera smáforritið virkt.\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"Ekki tókst að bæta aðgangsmerkinu við.\",\"we_were_unable_to_add_the_app_418877ef\":\"Ekki tókst að bæta smáforritinu við.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"Ekki tókst að gera smáforritið óvirkt.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"Ekki tókst að uppfæra smáforritið.\",\"weight_9b308e5b\":\"Vægi\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"Viltu samþykkja eða hunsa þessa uppfærslu?\",\"would_you_like_to_enable_this_app_ccdf735d\":\"Viltu heimila þetta smáforrit?\",\"xml_configuration_5ea1b942\":\"XML stilling\",\"yes_install_tool_f51b3278\":\"Já, settu upp verkfæri\"},\"it\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"Tabella contenente il nome dello schema di valutazione e i pulsanti per la modifica o l'eliminazione dello schema.\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"Tabella contenente i dati dello schema di valutazione. Ciascuna riga contiene un nome, una percentuale massima e una percentuale minima. Inoltre, ciascuna riga contiene un pulsante per aggiungere una nuova riga sotto e un pulsante per eliminare la riga corrente.\",\"accept_2fdd362e\":\"Accetta\",\"access_token_3be22221\":\"Token di accesso\",\"account_navigation_80bbefd4\":\"Navigazione account\",\"actions_efcde10d\":\"Azioni\",\"add_app_baf540f\":\"Aggiungi app\",\"add_grading_scheme_81e23c05\":\" Aggiungi schema di valutazione\",\"all_4321c3a1\":\"Tutto\",\"all_changes_were_saved_f6f3ddcc\":\"Tutte le modifiche sono state salvate\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"Tutti i campi delle date devono essere presenti e formattati correttamente\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"Tutti i periodi di valutazione devono avere un titolo\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"Tutte le date di inizio devono essere precedenti alla data di fine\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"Consenti a questo strumento di accedere ai nomi IMS e al servizio di provisioning dei ruoli\",\"an_update_is_available_for_toolname_bba3fa2\":\"È disponibile un aggiornamento per %{toolName}\",\"anonymous_e1b8ad27\":\"Anonimo\",\"app_b157c2b3\":\"App\",\"app_placements_6d877225\":\"Posizionamenti app\",\"app_reregistration_87cc8817\":\"Registrazione app\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} è stato installato dall'amministratore ed è bloccato\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} è stato installato dal corso master ed è bloccato\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} è stato installato dal corso master\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"Le app offrono un modo semplice per aggiungere nuove funzioni a Canvas. Puoi aggiungerle ai corsi individuali oppure a tutti i corsi in un account. Una volta completata la configurazione, puoi collegarti alle app tramite i moduli dei corsi e creare compiti per gli strumenti di valutazione.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"Vuoi eliminare questo periodo di valutazione?\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"Vuoi eliminare questo schema di valutazione?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"Vuoi rimuovere questo gruppo?\",\"assignment_edit_6dced39f\":\"Modifica compito\",\"assignment_menu_91fe3716\":\"Menu compiti\",\"assignment_selection_6bff05c4\":\"Selezione compiti\",\"assignment_view_1206a60b\":\"Visualizzazione compito\",\"back_to_app_center_95420d83\":\"Torna all'App Center\",\"by_lti_2_registration_url_e421e523\":\"Per URL di registrazione LTI 2\",\"by_url_a163275e\":\"Per URL\",\"cancel_caeb1e68\":\"Annulla\",\"close_d634289d\":\"Chiudi\",\"close_date_a2f617b3\":\"Data di chiusura\",\"collaboration_71c024f4\":\"Collaborazione\",\"config_url_e96ceaf3\":\"Configura URL\",\"configuration_type_25a084a4\":\"Tipo di configurazione\",\"configure_ecb97e30\":\"Configura\",\"configure_tool_app_3b1bb50b\":\"Configurare l'app %{tool}?\",\"configure_toolname_app_651371be\":\"Configura app %{toolName}\",\"consumer_key_6f94ba11\":\"Chiave consumer\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(livello %{context})\",\"count_apps_found_f4d86860\":\"%{count} app trovate\",\"course_assignments_menu_fa6aeb23\":\"Menu Compiti corso\",\"course_home_sub_navigation_b1ee6b03\":\"Sottomenu di navigazione home page corso\",\"course_navigation_dd035109\":\"Esplorazione corso\",\"course_settings_sub_navigation_b95deae\":\"Sottomenu di navigazione impostazioni corso\",\"custom_fields_fc3e55af\":\"Campi personalizzati\",\"delete_a6efa79d\":\"Elimina\",\"delete_grading_period_dba36e59\":\"Elimina periodo di valutazione\",\"delete_grading_scheme_6b308832\":\"Elimina schema di valutazione\",\"delete_tool_app_9c9f6d35\":\"Eliminare l'app %{tool}?\",\"delete_toolname_app_85f9d4ee\":\"Elimina app %{toolName}\",\"description_436c48d7\":\"Descrizione\",\"disable_a5c05db3\":\"Disabilita\",\"disable_toolname_44d6397c\":\"Disabilita %{toolName}\",\"disabled_18c33a73\":\"(disabilitato)\",\"discussion_topic_menu_3d4684c6\":\"Menu Argomento di discussione\",\"dismiss_dacdb625\":\"Ignora\",\"domain_3b54c511\":\"Dominio\",\"e_mail_only_2cc5e513\":\"Solo email\",\"edit_app_b0cc1c17\":\"Modifica app\",\"edit_c5fbea07\":\"Modifica\",\"edit_grading_scheme_53091236\":\"Modifica schema di valutazione\",\"edit_toolname_app_23cfbb8\":\"Modifica app %{toolName}\",\"editor_button_6647db9c\":\"Pulsante Editor\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"Devi impostare l'URL o il dominio.\",\"enable_6f5d1328\":\"Abilita\",\"enable_toolname_dc64c25a\":\"Abilita %{toolName}\",\"end_date_e0093ed7\":\"Data di fine\",\"enter_the_access_token_for_your_organization_from__38b84fd1\":\"Inserire il token di accesso per l’organizzazione da                     *eduappcenter.com*. Una volta applicato, solo le app approvate dalla tua organizzazione in                     EduAppCenter saranno elencate nella pagina App esterne.                     Scopri come **generare un token di accesso**.\",\"example_https_example_com_config_xml_be5f36ac\":\"Esempio: https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"Esempio: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"App esterne\",\"file_menu_cc0ca54\":\"Menu file\",\"filter_by_name_34cbe139\":\"Filtra per nome\",\"global_navigation_8bee3501\":\"Navigazione globale\",\"grading_aa6de9\":\"Valutazione\",\"grading_period_name_31ceb3e3\":\"Nome periodo di valutazione\",\"grading_period_title_23b7f8ac\":\"Titolo periodo di valutazione\",\"grading_period_weight_99b66906\":\"Peso periodo di valutazione\",\"grading_periods_81941e66\":\"Periodi di valutazione\",\"grading_periods_must_not_overlap_f45336fb\":\"I periodi di valutazione non devono sovrapporsi\",\"grading_scheme_deleted_7ae5a072\":\"Schema di valutazione eliminato\",\"grading_scheme_saved_85535151\":\"Schema di valutazione salvato\",\"grading_schemes_1c3c3252\":\"Schemi di valutazione\",\"grading_standard_title_58f540a3\":\"Titolo standard di valutazione\",\"homework_submission_172e8354\":\"Consegna compiti a casa\",\"insert_row_below_25187f89\":\"Inserisci riga sotto\",\"installed_7b284a91\":\"Installato\",\"launch_external_tool_672c0409\":\"Avvia strumento esterno\",\"launch_registration_tool_38d4781\":\"Avvia strumento di registrazione\",\"launch_url_e150bd41\":\"Avvia URL\",\"link_selection_1486c5d0\":\"Selezione link\",\"link_to_lti_tools_608df3b0\":\"Link a strumenti lti.\",\"looks_great_e4d883ed\":\"Fantastico.\",\"lower_limit_of_range_6ddd4983\":\"Limite inferiore dell'intervallo\",\"lti_1_3_c84fd177\":\"LTI 1.3\",\"lti_1_3_tools_list_ac30b375\":\"Elenco strumenti LTI 1.3\",\"manage_app_list_994cc26c\":\"Gestisci elenco app\",\"manage_grading_schemes_in_context_name_e3678273\":\"Gestisci schemi di valutazione in %{context_name}\",\"manage_update_23de23a1\":\"Gestisci aggiornamento\",\"manage_update_for_toolname_f8e3b2fb\":\"Gestisci aggiornamento per %{toolName}\",\"manual_entry_e4a4f99a\":\"Immissione manuale\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"Selezione migrazione\",\"module_menu_3201af4e\":\"Menu Modulo\",\"name_1aed4a1b\":\"Nome\",\"name_app_has_been_deleted_fb2d9426\":\"%{name} app è stata eliminata\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"*nome* è stato installato correttamente ma non è stato ancora abilitato.\",\"name_is_currently_status_9065c996\":\"*nome* è al momento **stato**.\",\"name_only_5f56718e\":\"Solo nome\",\"no_cancel_installation_db8d12d7\":\"No, annulla l'installazione\",\"no_grading_schemes_to_display_8b0e92e7\":\"Nessuno schema di valutazione da visualizzare\",\"no_placements_enabled_f705f28\":\"Nessun posizionamento abilitato\",\"not_installed_37a21a76\":\"Non installato\",\"one_per_line_format_name_value_79647700\":\"Uno per riga. Formato: nome=valore\",\"page_menu_2f8bee0\":\"Menu Pagina\",\"paste_xml_cda3a64e\":\"Incolla XML\",\"placements_5b5e056b\":\"Posizionamenti\",\"privacy_290109ea\":\"Privacy\",\"public_a749f507\":\"Pubblico\",\"quiz_menu_4fcd5e61\":\"Menu Quiz\",\"range_56b2f310\":\"Intervallo\",\"range_name_90614433\":\"Nome intervallo\",\"registration_url_60e0eaaa\":\"URL di registrazione\",\"remove_row_c198da5a\":\"Rimuovi riga\",\"reregister_9ab95a57\":\"Registrati di nuovo\",\"reregister_toolname_3dde0bfc\":\"Registrati di nuovo %{toolName}\",\"save_11a80ec3\":\"Salva\",\"save_grading_period_daaaddea\":\"Salva periodo di valutazione\",\"saving_d55dd90e\":\"Salvataggio in corso...\",\"see_some_lti_tools_that_work_great_with_canvas_53e92091\":\"Vedi alcuni strumenti LTI che funzionano perfettamente con Canvas.\",\"settings_5aa0fd0c\":\"Impostazioni\",\"shared_secret_892c88f2\":\"Segreto condiviso\",\"similarity_detection_dcada48\":\"Rilevamento similarità\",\"start_date_e937be8a\":\"Data di inizio\",\"status_e7fdbe06\":\"Stato\",\"submit_a3cc6859\":\"Invia\",\"sync_grades_a16622ca\":\"Sincronizza voti\",\"the_app_was_activated_a84e055f\":\"L'app è stata attivata\",\"the_app_was_added_58e2836a\":\"L'app è stata aggiunta\",\"the_app_was_added_successfully_3f785a23\":\"L'app è stata aggiunta correttamente\",\"the_app_was_deactivated_573520ab\":\"L'app è stata disattivata\",\"the_app_was_updated_successfully_3d71cd1b\":\"L'app è stata aggiornata correttamente\",\"the_following_content_is_partner_provided_ed1da756\":\"I contenuti seguenti sono forniti dal partner\",\"the_following_fields_are_invalid_fields_b3565800\":\"I seguenti campi non sono validi: %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"Il periodo di valutazione è stato eliminato\",\"the_preceding_content_is_partner_provided_d753928c\":\"I contenuti precedenti sono forniti dal partner\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"Si è verificato un problema durante l'eliminazione del periodo di valutazione\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"Si è verificato un problema durante l'eliminazione dello schema di valutazione\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"Si è verificato un problema durante il recupero dei periodi\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"Si è verificato un problema durante il salvataggio del periodo di valutazione\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"Si è verificato un problema durante il salvataggio dello schema di valutazione\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"Si è verificato un errore durante l'elaborazione della tua richiesta\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"Errore sconosciuto durante la registrazione dello strumento\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"Si è verificato un errore con il modulo: %{errors}\",\"this_field_is_required_fa58c4a\":\"Questo campo è obbligatorio\",\"this_field_name_is_required_988caebc\":\"Questo campo \\\"%{name}\\\" è obbligatorio.\",\"this_field_name_is_required_b9196401\":\"Questo campo \\\"nome\\\" è obbligatorio.\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"Questo strumento è stato già installato in questo contesto. Vuoi installarlo comunque?\",\"to_35c6baa2\":\"a \",\"to_minscore_43e5452e\":\"a %{minScore}%\",\"tool_configuration_63cd43b0\":\"Configurazione strumento\",\"tool_content_e699e813\":\"Contenuto strumento\",\"tool_placements_3f996c24\":\"Posizionamenti strumento\",\"unable_to_accept_update_fd53a7e2\":\"Impossibile accettare l'aggiornamento\",\"unable_to_dismiss_update_df1e32eb\":\"Impossibile ignorare l'aggiornamento\",\"unable_to_load_lti_1_3_tools_cf169f9\":\"Impossibile caricare strumenti Lti 1.3\",\"unable_to_remove_app_4293cb53\":\"Impossibile rimuovere l'app\",\"unchanged_aca18e02\":\"[Non modificato]\",\"update_tool_7d48ef2a\":\"Aggiorna %{tool}\",\"updating_6edbab78\":\"Aggiornamento\",\"upper_limit_of_range_c454a8f2\":\"Limite superiore dell'intervallo\",\"user_navigation_a097be0f\":\"Navigazione utente\",\"view_app_center_6c89a3fe\":\"Visualizza App Center\",\"view_app_configurations_52b52441\":\"Visualizza configurazioni app\",\"view_name_app_62a2ad8e\":\"Visualizza app %{name}\",\"view_toolname_placements_4a5724d1\":\"Visualizza posizionamenti %{toolName}\",\"we_were_unable_to_activate_the_app_578defe7\":\"Non siamo riusciti ad attivare l'app.\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"Non siamo riusciti ad aggiungere il token di accesso.\",\"we_were_unable_to_add_the_app_418877ef\":\"Non siamo riusciti ad aggiungere l'app.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"Non siamo riusciti a disattivare l'app.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"Non siamo riusciti ad aggiornare l'app.\",\"weight_9b308e5b\":\"Peso\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"Desideri accettare o rifiutare questo aggiornamento?\",\"would_you_like_to_enable_this_app_ccdf735d\":\"Desideri abilitare questa app?\",\"xml_configuration_5ea1b942\":\"Configurazione XML\",\"yes_install_tool_f51b3278\":\"Sì, installa lo strumento\"},\"ja\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"採点スキームの名前とスキームの編集または削除用のボタンを含む表です。\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"採点スキームのデータを含む表です。各行には、名前、最大のパーセンテージ、最低のパーセンテージが含まれています。さらに、下に行を追加するためのアイコンと現在の行を削除するボタンも含まれています。\",\"accept_2fdd362e\":\"受諾\",\"access_token_3be22221\":\"アクセス トークン\",\"account_navigation_80bbefd4\":\"アカウントナビゲーション\",\"actions_efcde10d\":\"操作\",\"add_app_baf540f\":\"アプリの追加\",\"add_grading_scheme_81e23c05\":\"採点スキームを追加\",\"all_4321c3a1\":\"すべて\",\"all_changes_were_saved_f6f3ddcc\":\"すべてのカテゴリーは保存されました\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"すべての日付け欄は現在の日付けで、正しいフォーマットである必要があります\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"すべての採点期間には、タイトルがついている必要があります\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"すべての開始日は、終了日の前である必要があります\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"このツールで IMS の名前と役割のプロビジョニングサービスにアクセスできるようにする\",\"an_update_is_available_for_toolname_bba3fa2\":\"%{toolName}の更新を利用できます\",\"anonymous_e1b8ad27\":\"匿名\",\"app_b157c2b3\":\"アプリ\",\"app_placements_6d877225\":\"アプリプレースメント\",\"app_reregistration_87cc8817\":\"アプリ登録\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} 管理者によってインストールされ、ロックされています\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} マスターコースによってインストールされ、ロックされています\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} マスターコースによってインストールされています\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"アプリを利用すると、Canvas に新しい機能を簡単に追加できます。アプリは、個別のコースに追加することも、アカウントのすべてのコースに追加することもできます。アプリを設定すると、コース モジュールからアプリにリンクして、アセスメント ツール用の課題を作成できます。\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"この採点期間を削除してもよろしいですか?\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"この採点スキームを削除してもよろしいですか?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"このツールを削除してもよろしいですか?\",\"assignment_edit_6dced39f\":\"課題編集\",\"assignment_menu_91fe3716\":\"課題のメニュー\",\"assignment_selection_6bff05c4\":\"課題の選択\",\"assignment_view_1206a60b\":\"課題ビュー\",\"back_to_app_center_95420d83\":\"アプリ センターに戻る\",\"by_lti_2_registration_url_e421e523\":\"LTI 2 登録 URL\",\"by_url_a163275e\":\"URL ごと\",\"cancel_caeb1e68\":\"キャンセル\",\"close_d634289d\":\"閉じる\",\"close_date_a2f617b3\":\"締切日\",\"collaboration_71c024f4\":\"共同作業\",\"config_url_e96ceaf3\":\"URL 設定\",\"configuration_type_25a084a4\":\"設定のタイプ\",\"configure_ecb97e30\":\"設定\",\"configure_tool_app_3b1bb50b\":\"%{tool} アプリを設定しますか?\",\"configure_toolname_app_651371be\":\"%{toolName} アプリの設定\",\"consumer_key_6f94ba11\":\"コンシューマ鍵\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(%{context} レベル)\",\"count_apps_found_f4d86860\":\"%{count} アプリが見つかりました\",\"course_assignments_menu_fa6aeb23\":\":コースの割り当てメニュー\",\"course_home_sub_navigation_b1ee6b03\":\"コース ホームのサブ ナビゲーション\",\"course_navigation_dd035109\":\"コース ナビゲーション\",\"course_settings_sub_navigation_b95deae\":\"コース設定のサブ ナビゲーション\",\"custom_fields_fc3e55af\":\"カスタム フィールド\",\"delete_a6efa79d\":\"削除\",\"delete_grading_period_dba36e59\":\"採点期間の削除\",\"delete_grading_scheme_6b308832\":\"採点スキームの削除\",\"delete_tool_app_9c9f6d35\":\"%{tool} アプリを削除しますか?\",\"delete_toolname_app_85f9d4ee\":\"%{toolName} アプリを削除\",\"description_436c48d7\":\"説明\",\"disable_a5c05db3\":\"無効\",\"disable_toolname_44d6397c\":\"無効%{toolName}\",\"disabled_18c33a73\":\"(無効)\",\"discussion_topic_menu_3d4684c6\":\"ディスカッション トピック メニュー\",\"dismiss_dacdb625\":\"解散\",\"domain_3b54c511\":\"ドメイン\",\"e_mail_only_2cc5e513\":\"電子メールのみ\",\"edit_app_b0cc1c17\":\"アプリの編集\",\"edit_c5fbea07\":\"編集\",\"edit_grading_scheme_53091236\":\"採点スキームの編集\",\"edit_toolname_app_23cfbb8\":\"%{toolName} アプリの編集\",\"editor_button_6647db9c\":\"エディタのボタン\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"URL またはドメインのどちらか一方を設定する必要があります。\",\"enable_6f5d1328\":\"有効\",\"enable_toolname_dc64c25a\":\"有効にする%{toolName}\",\"end_date_e0093ed7\":\"終了日\",\"enter_the_access_token_for_your_organization_from__38b84fd1\":\"あなたの組織のアクセストークンを                     *eduappcenter.com*から入力してください。適用されると、あなたの組織が                       EduAppCenterで承認したアプリのみが外部アプリページに表示されます。**アクセストークンの生成**方法については、こちらをご覧ください。\",\"example_https_example_com_config_xml_be5f36ac\":\"例: https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"例: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"外部アプリ\",\"file_menu_cc0ca54\":\"ファイルメニュー\",\"filter_by_name_34cbe139\":\"名前でフィルタ\",\"global_navigation_8bee3501\":\"グローバル ナビゲーション\",\"grading_aa6de9\":\"採点\",\"grading_period_name_31ceb3e3\":\"採点期間名\",\"grading_period_title_23b7f8ac\":\"採点期間タイトル\",\"grading_period_weight_99b66906\":\"採点期間比重\",\"grading_periods_81941e66\":\"採点期間\",\"grading_periods_must_not_overlap_f45336fb\":\"採点期間は重複を避ける必要があります\",\"grading_scheme_deleted_7ae5a072\":\"採点スキームは削除されました\",\"grading_scheme_saved_85535151\":\"採点スキームは保存されました\",\"grading_schemes_1c3c3252\":\"採点スキーム\",\"grading_standard_title_58f540a3\":\"採点基準タイトル\",\"homework_submission_172e8354\":\"宿題の提出\",\"insert_row_below_25187f89\":\"下に行を挿入\",\"installed_7b284a91\":\"インストール済み\",\"launch_external_tool_672c0409\":\"外部ツールを起動する\",\"launch_registration_tool_38d4781\":\"登録ツールを起動\",\"launch_url_e150bd41\":\"URL を起動\",\"link_selection_1486c5d0\":\"リンクの選択\",\"link_to_lti_tools_608df3b0\":\"lTI ツールにリンクする。\",\"looks_great_e4d883ed\":\"素晴らしいです！\",\"lower_limit_of_range_6ddd4983\":\"範囲の下限\",\"lti_1_3_c84fd177\":\"LTI 1.3\",\"lti_1_3_tools_list_ac30b375\":\"LTI 1.3 ツールリスト\",\"manage_app_list_994cc26c\":\"アプリリストを管理する\",\"manage_grading_schemes_in_context_name_e3678273\":\"%{context_name}における採点スキームの管理\",\"manage_update_23de23a1\":\"更新の管理\",\"manage_update_for_toolname_f8e3b2fb\":\" %{toolName}の更新の管理\",\"manual_entry_e4a4f99a\":\"手入力\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"移行の選択\",\"module_menu_3201af4e\":\"モジュールメニュー\",\"name_1aed4a1b\":\"名前\",\"name_app_has_been_deleted_fb2d9426\":\"%{name} アプリは削除されました\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"*名前* は正常にインストールされましたが、まだ有効化されていません。\",\"name_is_currently_status_9065c996\":\"*名前* は現在 **状況** です。\",\"name_only_5f56718e\":\"名前のみ\",\"no_cancel_installation_db8d12d7\":\"いいえ、インストールをキャンセルします\",\"no_grading_schemes_to_display_8b0e92e7\":\"表示する採点スキームがありません\",\"no_placements_enabled_f705f28\":\"プレースメントは有効ではありません\",\"not_installed_37a21a76\":\"未インストール\",\"one_per_line_format_name_value_79647700\":\"1 行に 1 つ。形式:名前=値\",\"page_menu_2f8bee0\":\"ページメニュー\",\"paste_xml_cda3a64e\":\"XML を貼り付け\",\"placements_5b5e056b\":\"プレースメント\",\"privacy_290109ea\":\"プライバシー\",\"public_a749f507\":\"公開\",\"quiz_menu_4fcd5e61\":\"クイズメニュー\",\"range_56b2f310\":\"範囲\",\"range_name_90614433\":\"範囲名\",\"registration_url_60e0eaaa\":\"登録 URL\",\"remove_row_c198da5a\":\"行を削除\",\"reregister_9ab95a57\":\"再登録\",\"reregister_toolname_3dde0bfc\":\"%{toolName}を再登録する\",\"save_11a80ec3\":\"保存\",\"save_grading_period_daaaddea\":\"採点期間を保存する\",\"saving_d55dd90e\":\"保存しています...\",\"see_some_lti_tools_that_work_great_with_canvas_53e92091\":\"Canvas と相性のよいLTIツールをご覧ください。\",\"settings_5aa0fd0c\":\"設定\",\"shared_secret_892c88f2\":\"共有シークレット\",\"similarity_detection_dcada48\":\"類似性検知\",\"start_date_e937be8a\":\"開始日\",\"status_e7fdbe06\":\"ステータス\",\"submit_a3cc6859\":\"提出\",\"sync_grades_a16622ca\":\"成績を同期\",\"the_app_was_activated_a84e055f\":\"アプリがアクティブ化されました\",\"the_app_was_added_58e2836a\":\"アプリが追加されました\",\"the_app_was_added_successfully_3f785a23\":\"アプリが正常に追加されました\",\"the_app_was_deactivated_573520ab\":\"アプリが非アクティブ化されました\",\"the_app_was_updated_successfully_3d71cd1b\":\"アプリが正常に更新されました\",\"the_following_content_is_partner_provided_ed1da756\":\"以下のコンテンツはパートナーが提供しています\",\"the_following_fields_are_invalid_fields_b3565800\":\"次のフィールドは無効です: %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"採点期間は削除されました\",\"the_preceding_content_is_partner_provided_d753928c\":\"上記のコンテンツはパートナーが提供しています\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"採点期間を削除する際に問題が発生しました\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"採点スキームを削除する際に問題が発生しました\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"期間取得の際に問題が発生しました\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"採点期間を保存するb際に問題が発生しました\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"採点スキームを保存する際に問題が発生しました\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"要求を処理する際にエラーが発生しました\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"ツール登録中に不明なエラーが発生しました\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"フォームにエラーがあります: %{errors}\",\"this_field_is_required_fa58c4a\":\"このフィールドは必須項目です\",\"this_field_name_is_required_988caebc\":\"このフィールド \\\"%{name}\\\" は必須です。\",\"this_field_name_is_required_b9196401\":\"このフィールド \\\"名前\\\" は必須です。\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"このツールはこのコンテキストで既にインストールされています。それでもインストールしますか？\",\"to_35c6baa2\":\"～\",\"to_minscore_43e5452e\":\"%{minScore}% まで\",\"tool_configuration_63cd43b0\":\"ツールの設定\",\"tool_content_e699e813\":\"ツールコンテンツ\",\"tool_placements_3f996c24\":\"ツールプレースメント\",\"unable_to_accept_update_fd53a7e2\":\"更新を受け入れることができません\",\"unable_to_dismiss_update_df1e32eb\":\"解散の更新ができません\",\"unable_to_load_lti_1_3_tools_cf169f9\":\"Lti 1.3 ツールを読み込めません\",\"unable_to_remove_app_4293cb53\":\"アプリを削除できません\",\"unchanged_aca18e02\":\"[Unchanged]\",\"update_tool_7d48ef2a\":\" %{tool}を更新\",\"updating_6edbab78\":\"更新しています\",\"upper_limit_of_range_c454a8f2\":\"範囲の上限\",\"user_navigation_a097be0f\":\"ユーザのナビゲーション\",\"view_app_center_6c89a3fe\":\"アプリ センターの表示\",\"view_app_configurations_52b52441\":\"アプリ設定の表示\",\"view_name_app_62a2ad8e\":\"%{name} アプリを表示\",\"view_toolname_placements_4a5724d1\":\"%{toolName}プレースメントを閲覧\",\"we_were_unable_to_activate_the_app_578defe7\":\"アプリをアクティブ化できませんでした。\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"アクセストークンを追加できませんでした。\",\"we_were_unable_to_add_the_app_418877ef\":\"アプリを追加できませんでした。\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"アプリを非アクティブ化できませんでした。\",\"we_were_unable_to_update_the_app_659f5bc6\":\"アプリを更新できませんでした。\",\"weight_9b308e5b\":\"重み\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"このアップグレードを受け入れますか、または却下しますか？\",\"would_you_like_to_enable_this_app_ccdf735d\":\"このアプリを有効にしますか?\",\"xml_configuration_5ea1b942\":\"XML 設定\",\"yes_install_tool_f51b3278\":\"はい、ツールをインストールします\"},\"ko\":{\"actions_efcde10d\":\"작업\",\"add_app_baf540f\":\"앱 추가\",\"all_4321c3a1\":\"전부\",\"anonymous_e1b8ad27\":\"익명\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"앱은 Canvas에 새 기능을 추가하는 쉬운 방법입니다. 개별 과목이나 계정에 있는 모든 과목에 추가할 수 있습니다. 구성을 마치면 과목 모듈을 통해 연결하거나고 평가 도구를 위한 과제를 만들 수 있습니다.\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"이 평가 구성표를 삭제하시겠습니까?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"이 도구를 제거하시겠습니까?\",\"back_to_app_center_95420d83\":\"앱 센터로 돌아가기\",\"by_url_a163275e\":\"URL로\",\"cancel_caeb1e68\":\"취소\",\"close_d634289d\":\"닫기\",\"configuration_type_25a084a4\":\"구성 유형\",\"configure_ecb97e30\":\"구성\",\"consumer_key_6f94ba11\":\"소비자 키\",\"course_navigation_dd035109\":\"과목 탐색\",\"custom_fields_fc3e55af\":\"사용자 정의 필드\",\"delete_a6efa79d\":\"삭제\",\"delete_grading_scheme_6b308832\":\"평가 구성표 삭제\",\"description_436c48d7\":\"설명\",\"disable_a5c05db3\":\"사용 안 함\",\"domain_3b54c511\":\"도메인\",\"e_mail_only_2cc5e513\":\"이메일만\",\"edit_c5fbea07\":\"편집\",\"edit_grading_scheme_53091236\":\"평가 구성표 편집\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"url이나 도메인을 설정해야 합니다.\",\"enable_6f5d1328\":\"사용\",\"end_date_e0093ed7\":\"종료일\",\"external_apps_f5490181\":\"외부 앱\",\"filter_by_name_34cbe139\":\"이름으로 필터링\",\"grading_schemes_1c3c3252\":\"평가 구성표\",\"installed_7b284a91\":\"설치됨\",\"lower_limit_of_range_6ddd4983\":\"범위의 하한\",\"manual_entry_e4a4f99a\":\"수동 항목\",\"name_1aed4a1b\":\"이름\",\"name_only_5f56718e\":\"이름만\",\"not_installed_37a21a76\":\"설치 안 됨\",\"one_per_line_format_name_value_79647700\":\"한 줄에 한 개씩, 형식: 이름=값\",\"paste_xml_cda3a64e\":\"XML 붙여넣기\",\"privacy_290109ea\":\"개인 정보\",\"public_a749f507\":\"공개\",\"remove_row_c198da5a\":\"행 삭제\",\"save_11a80ec3\":\"저장\",\"saving_d55dd90e\":\"저장 중...\",\"shared_secret_892c88f2\":\"공유 시크릿\",\"start_date_e937be8a\":\"시작 날짜\",\"submit_a3cc6859\":\"제출\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"요청을 처리하는 중 오류 발생\",\"this_field_is_required_fa58c4a\":\"이 필드가 필요함\",\"upper_limit_of_range_c454a8f2\":\"범위의 상한\",\"view_app_center_6c89a3fe\":\"앱 센터 보기\",\"view_app_configurations_52b52441\":\"앱 구성 보기\"},\"mi\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"He tepu kei roto i te ingoa o te kaupapa kōeke me ngā pātene mō te whakatika te muku i te kaupapa rānei.\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"He ripa kei roto te raraunga kaupapa kōeke. Kei ia rārangi he ingoa, he ōrau mōrahi, me te ōrau iti. I tua atu, kei ia rārangi he pātene ki te tāpiri i te rārangi hou i raro, me te pātene ki te muku i te rārangi o nāianei.\",\"accept_2fdd362e\":\"Manakohia\",\"access_token_3be22221\":\"Tohu Whakauru\",\"account_navigation_80bbefd4\":\"Pūkete Whakatere\",\"actions_efcde10d\":\"Ngā mahi\",\"add_app_baf540f\":\"Tāpiri Taupānga\",\"add_grading_scheme_81e23c05\":\"Tāpiri kaupapa kōeke\",\"all_4321c3a1\":\"Katoa\",\"all_changes_were_saved_f6f3ddcc\":\"I tiakina ngā huringa katoa i\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"Ngā rā whīra katoa me noho mo nāianei, ka hōputu tika\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"Me whai wā kōeke katoa te taitara\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"Kia rā tīmatanga katoa i te aroaro o te rā mutunga\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"Whakāetia tēnei taputapu ki te whakauru te IMS ngā Ingoa me te Ratonga Whakarato Mahi.\",\"an_update_is_available_for_toolname_bba3fa2\":\"Kei te wātea hoki te whakahōu %{toolName}\",\"anonymous_e1b8ad27\":\"Ingoa kore\",\"app_b157c2b3\":\"Taupānga\",\"app_placements_6d877225\":\"he tūnga taupānga\",\"app_reregistration_87cc8817\":\"Taupānga Rehitatanga anō\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} I Tāutia e te Whakahaere me te rakaina\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} I Tāutia e te akoranga matua me te rakaina\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} I Tāutia e te akoranga matua\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"He huarahi māmā te pūmanawa tautono ki te āpiti i ētahi āhuatanga hou ki te ratonga o Canvas. Ka tāea te āpiti ki te kaupapa kotahi rānei, ki ngā kaupapa katoa o te pae rānei. Kia oti te panoni, ka tāea te hono ki ngā peka kaupapa e pai ai te whakamahi ki te hanga whakataunga mā ngā rauemi aromatawai.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"Kei te tino hiahia koe ki te muku i tēnei wā kōeke?\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"E tino hiahia ana koe ki te muku i tēnei kaupapa kōeke?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"E tino hiahia ana koe ki te tango i tēnei taputapu?\",\"assignment_edit_6dced39f\":\"Whakataunga Whakatika\",\"assignment_menu_91fe3716\":\"Tahua Whakataunga\",\"assignment_selection_6bff05c4\":\"Whakataunga Tīpakonga\",\"assignment_view_1206a60b\":\"Whakataunga Tirohanga\",\"back_to_app_center_95420d83\":\"Hoki ki Taupānga Pokapū\",\"by_lti_2_registration_url_e421e523\":\"Na LTI URL 2 Rehita\",\"by_url_a163275e\":\"Na URL\",\"cancel_caeb1e68\":\"Whakakore\",\"close_d634289d\":\"Katia\",\"close_date_a2f617b3\":\"Ra Kati\",\"collaboration_71c024f4\":\"Tahi\",\"config_url_e96ceaf3\":\"Whirihoranga URL\",\"configuration_type_25a084a4\":\"Momo whirihoranga\",\"configure_ecb97e30\":\"Whirihorahia\",\"configure_tool_app_3b1bb50b\":\"Whirihoratia %{tool}Taupānga?\",\"configure_toolname_app_651371be\":\"Whirihoratia %{toolName} Taupānga\",\"consumer_key_6f94ba11\":\"kī Kaihoko\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(%{context} horopaki\",\"count_apps_found_f4d86860\":\"%{count} Ngā taupānga kitea\",\"course_assignments_menu_fa6aeb23\":\"Tahua ngā Akoranga Whakataunga\",\"course_home_sub_navigation_b1ee6b03\":\"Kāinga Akoranga Whakatere Raro\",\"course_navigation_dd035109\":\"Whaktere akoranga\",\"course_settings_sub_navigation_b95deae\":\"Tautuhinga akoranga Whakatere Raro\",\"custom_fields_fc3e55af\":\"Whīra ritenga\",\"delete_a6efa79d\":\"Muku\",\"delete_grading_period_dba36e59\":\"Mukua wā kōeke\",\"delete_grading_scheme_6b308832\":\"Mukua Kōeke Aronui\",\"delete_tool_app_9c9f6d35\":\"Mukua %{tool} taupānga?\",\"delete_toolname_app_85f9d4ee\":\"Mukua %{toolName} Taupānga\",\"description_436c48d7\":\"Whakāhuatanga\",\"disable_a5c05db3\":\"Monokia\",\"disable_toolname_44d6397c\":\"Monokia %{toolName}\",\"disabled_18c33a73\":\"(monokia)\",\"discussion_topic_menu_3d4684c6\":\"Tahua kōrerorero Kaupapa\",\"dismiss_dacdb625\":\"Pana\",\"domain_3b54c511\":\"rohe\",\"e_mail_only_2cc5e513\":\"ī-mēra anake\",\"edit_app_b0cc1c17\":\"Whakatika Taupānga\",\"edit_c5fbea07\":\"Whakatika\",\"edit_grading_scheme_53091236\":\"Whakatikahia te Aronui Kōeketanga\",\"edit_toolname_app_23cfbb8\":\"Whakatika %{toolName} Taupānga\",\"editor_button_6647db9c\":\"Pātene Kaiwhakatika\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"Ko te url ara rohe rānei kia whakaturia.\",\"enable_6f5d1328\":\"Whakahohea\",\"enable_toolname_dc64c25a\":\"Whakahohea %{toolName}\",\"end_date_e0093ed7\":\"Whakamutunga rā\",\"enter_the_access_token_for_your_organization_from__38b84fd1\":\"Whakauruhia te tohu whakauru mo to whakahaere mai i                     *eduappcenter.com*. Kia tonohia, ko ngā taupānga kua whakāetia e to rōpū i roto i te                      EduAppCenter ka tohua ki te whārangi Whakāturanga o waho.                     Ako ki te **whakatō he tohu whakauru**.\",\"example_https_example_com_config_xml_be5f36ac\":\"Tauira: https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"Tauira: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"waho Taupānga\",\"file_menu_cc0ca54\":\"Tahua kōnae\",\"filter_by_name_34cbe139\":\"Whiriwhiringia mā te ingoa\",\"global_navigation_8bee3501\":\"Whakatere o te Ao\",\"grading_aa6de9\":\"Kōeke\",\"grading_period_name_31ceb3e3\":\"Ingoa Kōeke wa\",\"grading_period_title_23b7f8ac\":\"Kōeke wa Taitara\",\"grading_period_weight_99b66906\":\"Taimaha wā kōeke\",\"grading_periods_81941e66\":\"Takiwā kōeke\",\"grading_periods_must_not_overlap_f45336fb\":\"E kore ngā wā kōeke īnaki\",\"grading_scheme_deleted_7ae5a072\":\"Kaupapa kōeke mukua\",\"grading_scheme_saved_85535151\":\"Ora kaupapa kōeke\",\"grading_schemes_1c3c3252\":\"Aronui kōeke\",\"grading_standard_title_58f540a3\":\"Kōeke taitara paerewa\",\"homework_submission_172e8354\":\"Kaingamahi tāpaetanga\",\"insert_row_below_25187f89\":\"Kōkuhu haupae i raro\",\"installed_7b284a91\":\"Tāutahia\",\"launch_external_tool_672c0409\":\"Neke Taputapu Waho\",\"launch_registration_tool_38d4781\":\"Tool Rehita Whakarewa\",\"launch_url_e150bd41\":\"Whakarewa URL\",\"link_selection_1486c5d0\":\"Tīpakonga hono\",\"link_to_lti_tools_608df3b0\":\"Hono ki ngā taonga iti.\",\"looks_great_e4d883ed\":\"Titiro nui!\",\"lower_limit_of_range_6ddd4983\":\"Rohe Kura o awhe\",\"lti_1_3_c84fd177\":\"LTI 1.3\",\"lti_1_3_tools_list_ac30b375\":\"LTI 1.3 Ngā Taonga Rārangi\",\"manage_app_list_994cc26c\":\"Whakahaere Rārangi taupānga\",\"manage_grading_schemes_in_context_name_e3678273\":\"Whakahaere kaupapa māka i roto i %{context_name}\",\"manage_update_23de23a1\":\"Whakahaere Whakahōu\",\"manage_update_for_toolname_f8e3b2fb\":\"Whakahaere whakahou hoki %{toolName}\",\"manual_entry_e4a4f99a\":\"Tāurunga ā\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"Tīpakonga hekenga\",\"module_menu_3201af4e\":\"Tahua kōwae\",\"name_1aed4a1b\":\"Ingoa\",\"name_app_has_been_deleted_fb2d9426\":\"%{name} kua mukua te taupānga\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"*ingoa* kua momoho te tāuta ēngari kua kore anō i whakahohea.\",\"name_is_currently_status_9065c996\":\"*ingoa* ko tēnei wā **tūnga**.\",\"name_only_5f56718e\":\"Ingoa anake\",\"no_cancel_installation_db8d12d7\":\"Kao, Whakakore whakaurunga\",\"no_grading_schemes_to_display_8b0e92e7\":\"No kaupapa kōeke ki te Whakātu\",\"no_placements_enabled_f705f28\":\"Kāore he wāhi i whakahohea\",\"not_installed_37a21a76\":\"Kāore i Tāutahia\",\"one_per_line_format_name_value_79647700\":\"Ko tētahi mō ia raina. Hōputu: ingoa = uara\",\"page_menu_2f8bee0\":\"Whārangi Tahua\",\"paste_xml_cda3a64e\":\"whakapiri XML\",\"placements_5b5e056b\":\"i kuhuna\",\"privacy_290109ea\":\"Tūmataitinga\",\"public_a749f507\":\"tūmatanui\",\"quiz_menu_4fcd5e61\":\"Tahua Quiz\",\"range_56b2f310\":\"whānui\",\"range_name_90614433\":\"ingoa whānui\",\"registration_url_60e0eaaa\":\"Rehita URL\",\"remove_row_c198da5a\":\"Tangohia te rarangi\",\"reregister_9ab95a57\":\" Rēhita anō\",\"reregister_toolname_3dde0bfc\":\"Kore rēhita %{toolName}\",\"save_11a80ec3\":\"Tiaki\",\"save_grading_period_daaaddea\":\"Tiaki Kōeke Wā\",\"saving_d55dd90e\":\"Kei te tiakina\",\"see_some_lti_tools_that_work_great_with_canvas_53e92091\":\"Tirohia ētahi taputapu LTI e mahi nui ana me Canvas.\",\"settings_5aa0fd0c\":\"Ngā Tautuhinga\",\"shared_secret_892c88f2\":\"huna Tiri\",\"similarity_detection_dcada48\":\"Rapunga Ritenga\",\"start_date_e937be8a\":\"Rā tīmata\",\"status_e7fdbe06\":\"tūnga\",\"submit_a3cc6859\":\"Tuku\",\"sync_grades_a16622ca\":\"Tukutahi ngā kōeke\",\"the_app_was_activated_a84e055f\":\"Whakahohe te taupānga i\",\"the_app_was_added_58e2836a\":\"Ko te taupānga i honoa\",\"the_app_was_added_successfully_3f785a23\":\"I tāpiri pai ngā taupānga\",\"the_app_was_deactivated_573520ab\":\"Taupāhohea te taupānga i\",\"the_app_was_updated_successfully_3d71cd1b\":\"I tutuki pai te whakahōu i te taupānga\",\"the_following_content_is_partner_provided_ed1da756\":\"Ko ngā kōrero e whai ake nei he hoa mahi\",\"the_following_fields_are_invalid_fields_b3565800\":\"He muhu ngā whīra e whai ake nei: %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"Mukua te wā kōeke i\",\"the_preceding_content_is_partner_provided_d753928c\":\"Ko te tuhinga o mua he hoa mahi\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"He raruraru i te wā e muku ana i te wā kōeke\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"He raruraru i te wā e muku ana i te kaupapa kōeke\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"He raruraru i te wā o te tiki wā\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"He raruraru i te wā e tiaki ana i te wā o te kōeke\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"He raruraru i te wā e tiaki ana i te kaupapa o te kōeke\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"I hapa i roto i te tukatuka i tō tono\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"He hapa kaore e mōhiotia i te wa e rēhita ana i te taputapu.\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"He hapa ki te pukapuka: %{errors}\",\"this_field_is_required_fa58c4a\":\"Kei te hiahiatia tēnei whīra\",\"this_field_name_is_required_988caebc\":\"tēnei mara \\\"%{name}\\\" Kei te hiahiatia.\",\"this_field_name_is_required_b9196401\":\"tēnei \\\"te ingoa\\\" āpure e hiahiatia ana te.\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"Kua tāutatia tēnei taputapu i roto i tēnei horopaki E hiahia ana koe ki te tāuta?\",\"to_35c6baa2\":\"kī\",\"to_minscore_43e5452e\":\"ki te %{minScore}%\",\"tool_configuration_63cd43b0\":\"Taputapu Whirihoranga\",\"tool_content_e699e813\":\"ihirangi taputapu\",\"tool_placements_3f996c24\":\" Taputapu Wāhi\",\"unable_to_accept_update_fd53a7e2\":\"Kāore e taea te whakāe i te whakahōu\",\"unable_to_dismiss_update_df1e32eb\":\"Kāore e taea te tonoa whakahōu\",\"unable_to_load_lti_1_3_tools_cf169f9\":\"Kaore e taea te uta ngā Lti 1.3 Taonga\",\"unable_to_remove_app_4293cb53\":\"Kāore e taea te tango taupānga\",\"unchanged_aca18e02\":\"[Kāore i]\",\"update_tool_7d48ef2a\":\"Whakahōu %{tool}\",\"updating_6edbab78\":\"Whakahōu ana\",\"upper_limit_of_range_c454a8f2\":\"Rohe tepe o te whānui\",\"user_navigation_a097be0f\":\"Whakatere kaiwhakamahi\",\"view_app_center_6c89a3fe\":\"Tirohia Taupānga Waenganui\",\"view_app_configurations_52b52441\":\"Tirohia Taupānga Whakahohe\",\"view_name_app_62a2ad8e\":\"Tirohia %{name} taupānga\",\"view_toolname_placements_4a5724d1\":\"Tirohia %{toolName} ngā wāhi\",\"we_were_unable_to_activate_the_app_578defe7\":\"Kaore i taea e mātou ki te whakahohe i te taupānga.\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"Kaore i taea e mātou ki te tāpiri i te tohu uru.\",\"we_were_unable_to_add_the_app_418877ef\":\"Kaore I taea e mātou ki te tāpiri i te taupānga.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"Kaore I taea e mātou ki te wetehohe te taupānga.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"I taea te whakahōu i te taupānga mātou.\",\"weight_9b308e5b\":\"Taumaha\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"E hiahia ana koe ki te whakāe rānei te tonoa tēnei whakahou?\",\"would_you_like_to_enable_this_app_ccdf735d\":\"E hiahia ana koe ki te whakahohe i tēnei taupānga?\",\"xml_configuration_5ea1b942\":\"Whirihoranga XML\",\"yes_install_tool_f51b3278\":\"Ae, Whakauru Taputapu\"},\"nb\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"En tabell som inneholder navnet på karakteroversikten og knapper for å redigere eller slette rader.\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"En tabell som inneholder data fra karakteroversikten. Hver rad inneholder et navn, en maksimum prosentandel, og en minimum prosentandel. I tillegg inneholder hver rad en knapp for å legge til en ny rad nedenfor, og en knapp for å slette gjeldende rad.\",\"accept_2fdd362e\":\"Godta\",\"access_token_3be22221\":\"Tilgangssymbol\",\"account_navigation_80bbefd4\":\"Kontonavigering\",\"actions_efcde10d\":\"Aksjoner\",\"add_app_baf540f\":\"Legg til app\",\"add_grading_scheme_81e23c05\":\"Legg til vurderingsskala\",\"all_4321c3a1\":\"Alle\",\"all_changes_were_saved_f6f3ddcc\":\"Alle endringer ble lagret\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"Alle datafelt må være til stede og formatert riktig\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"Alle vurderingsperioder må ha en tittel\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"Alle startdatoer må være før sluttdatoen\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"Tillat dette verktøyet tilgang til IMS navn og rolle klargjøringstjeneste\",\"an_update_is_available_for_toolname_bba3fa2\":\"En oppdatering er tilgjengelig for %{toolName}\",\"anonymous_e1b8ad27\":\"Anonym\",\"app_b157c2b3\":\"App\",\"app_placements_6d877225\":\"App-plasseringer\",\"app_reregistration_87cc8817\":\"App-registrering\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} ble installert av Admin og er låst\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} ble installert av hovedemnet og er låst\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} ble installert av hovedemnet\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"Apper er en enkel måte å legge til funksjoner i Canvas. Appene kan legges til individuelle emner, eller til alle emnene tilgjengelig i en konto. Når de er satt opp kan du lenke til dem fra emnemodulene og opprette oppgaver for vurderingsverktøy.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"Er du sikker på at du vil slette denne vurderingsperioden?\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"Er du sikker på at du vil slette denne vurderingsskala?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"Er du sikker på at du vil fjerne dette verktøyet?\",\"assignment_edit_6dced39f\":\"Rediger oppgave\",\"assignment_menu_91fe3716\":\"Oppgave-meny\",\"assignment_selection_6bff05c4\":\"Oppgave-utvalg\",\"assignment_view_1206a60b\":\"Vis oppgave\",\"back_to_app_center_95420d83\":\"Tilbake til appsenteret\",\"by_lti_2_registration_url_e421e523\":\"Av LTI 2 Registrering URL\",\"by_url_a163275e\":\"Fra URL\",\"cancel_caeb1e68\":\"Avbryt\",\"close_d634289d\":\"Lukk\",\"close_date_a2f617b3\":\"Lukkedato\",\"collaboration_71c024f4\":\"Samarbeid\",\"config_url_e96ceaf3\":\"Konfig URL\",\"configuration_type_25a084a4\":\"Konfigurasjonstype\",\"configure_ecb97e30\":\"Konfigurer\",\"configure_tool_app_3b1bb50b\":\"Konfigurere %{tool} App?\",\"configure_toolname_app_651371be\":\"Konfigurere %{toolName} App\",\"consumer_key_6f94ba11\":\"Forbruker nøkkel\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(%{context} nivå)\",\"count_apps_found_f4d86860\":\"%{count} apper funnet\",\"course_assignments_menu_fa6aeb23\":\"Meny for emneoppgaver\",\"course_home_sub_navigation_b1ee6b03\":\"Emnenavigering\",\"course_navigation_dd035109\":\"Emnenavigering\",\"course_settings_sub_navigation_b95deae\":\"Innstillinger-undernavigering for emne\",\"custom_fields_fc3e55af\":\"Egendefinerte felt\",\"delete_a6efa79d\":\"Slett\",\"delete_grading_period_dba36e59\":\"Slett vurderingsperioden\",\"delete_grading_scheme_6b308832\":\"Slett vurderingsskala\",\"delete_tool_app_9c9f6d35\":\"Slett %{tool} App?\",\"delete_toolname_app_85f9d4ee\":\"Slett %{toolName} App\",\"description_436c48d7\":\"Beskrivelse\",\"disable_a5c05db3\":\"Slå av\",\"disable_toolname_44d6397c\":\"Slå av %{toolName}\",\"disabled_18c33a73\":\"(deaktivert)\",\"discussion_topic_menu_3d4684c6\":\"Diskusjonstema-meny\",\"dismiss_dacdb625\":\"Avvise\",\"domain_3b54c511\":\"Domene\",\"e_mail_only_2cc5e513\":\"Kun e-post\",\"edit_app_b0cc1c17\":\"Rediger App\",\"edit_c5fbea07\":\"Rediger\",\"edit_grading_scheme_53091236\":\"Rediger vurderingsskala\",\"edit_toolname_app_23cfbb8\":\"Rediger %{toolName} App\",\"editor_button_6647db9c\":\"Editor-knapp\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"Enten URL-en eller domenet må angis.\",\"enable_6f5d1328\":\"Slå på\",\"enable_toolname_dc64c25a\":\"Slå på %{toolName}\",\"end_date_e0093ed7\":\"Sluttdato\",\"enter_the_access_token_for_your_organization_from__38b84fd1\":\"Legg inn tilgangsymbolet for organisasjonen din fra                    *eduappcenter.com*. Når det er tatt i bruk, vil kun app-er organisasjonen din har godkjent, være listet opp i                     EduAppCenter på siden Eksterne App-er.                     Lær hvordan **generere et tilgangssymbol**.\",\"example_https_example_com_config_xml_be5f36ac\":\"Eksempel: https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"Eksempel: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"Eksterne apper\",\"file_menu_cc0ca54\":\"Filmeny\",\"filter_by_name_34cbe139\":\"Filtrer etter navn\",\"global_navigation_8bee3501\":\"Global navigering\",\"grading_aa6de9\":\"Karaktersetting\",\"grading_period_name_31ceb3e3\":\"Navn på vurderingsperiode\",\"grading_period_title_23b7f8ac\":\"Tittel på vurderingsperiode\",\"grading_period_weight_99b66906\":\"Vurderingsperiodevekt\",\"grading_periods_81941e66\":\"Vurderingsperioder\",\"grading_periods_must_not_overlap_f45336fb\":\"Vurderingsperioder må ikke overlappe\",\"grading_scheme_deleted_7ae5a072\":\"Vurderingsskala slettet\",\"grading_scheme_saved_85535151\":\"Vurderingsskala lagret\",\"grading_schemes_1c3c3252\":\"Vurderingsskala\",\"grading_standard_title_58f540a3\":\"Standardtittel på karaktersetting\",\"homework_submission_172e8354\":\"Lekse-innlevering\",\"insert_row_below_25187f89\":\"Sett inn rad under\",\"installed_7b284a91\":\"Installert\",\"launch_external_tool_672c0409\":\"Åpne eksternt verktøy\",\"launch_registration_tool_38d4781\":\"Start registreringsverktøy\",\"launch_url_e150bd41\":\"Start URL\",\"link_selection_1486c5d0\":\"Lenkeutvalg\",\"link_to_lti_tools_608df3b0\":\"Link til Iti-verktøy.\",\"looks_great_e4d883ed\":\"Ser bra ut!\",\"lower_limit_of_range_6ddd4983\":\"Nedre grense for utvalg\",\"lti_1_3_c84fd177\":\"LTI 1,3\",\"lti_1_3_tools_list_ac30b375\":\"LTI 1,3 verktøyliste\",\"manage_app_list_994cc26c\":\"Administrer app-liste\",\"manage_grading_schemes_in_context_name_e3678273\":\"Administrer vurderingsskala i %{context_name}\",\"manage_update_23de23a1\":\"Administrer oppdatering\",\"manage_update_for_toolname_f8e3b2fb\":\"Administrer oppdatering for %{toolName}\",\"manual_entry_e4a4f99a\":\"Manuell innlegging\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"Flyttevalg\",\"module_menu_3201af4e\":\"Modul-meny\",\"name_1aed4a1b\":\"Navn\",\"name_app_has_been_deleted_fb2d9426\":\"%{name} app har blitt slettet\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"*navn* har blitt installert, men har ennå ikke blitt aktivert.\",\"name_is_currently_status_9065c996\":\"*navn* er for tiden **status**.\",\"name_only_5f56718e\":\"Kun navn\",\"no_cancel_installation_db8d12d7\":\"Nei, avbryt installering\",\"no_grading_schemes_to_display_8b0e92e7\":\"Ingen karakterskalaer å vise\",\"no_placements_enabled_f705f28\":\"Ingen plasseringer aktivert\",\"not_installed_37a21a76\":\"Ikke installert\",\"one_per_line_format_name_value_79647700\":\"Én per linje. Format: navn=verdi\",\"page_menu_2f8bee0\":\"Sidemeny\",\"paste_xml_cda3a64e\":\"Lim inn XML\",\"placements_5b5e056b\":\"Plasseringer\",\"privacy_290109ea\":\"Personvern\",\"public_a749f507\":\"Offentlig\",\"quiz_menu_4fcd5e61\":\"test-meny\",\"range_56b2f310\":\"Område\",\"range_name_90614433\":\"Spekter navn\",\"registration_url_60e0eaaa\":\"Registrering URL\",\"remove_row_c198da5a\":\"Fjern rad\",\"reregister_9ab95a57\":\"Registrere på nytt\",\"reregister_toolname_3dde0bfc\":\"Registrere %{toolName} på nytt\",\"save_11a80ec3\":\"Lagre\",\"save_grading_period_daaaddea\":\"Lagre vurderingsperiode\",\"saving_d55dd90e\":\"Lagrer…\",\"see_some_lti_tools_that_work_great_with_canvas_53e92091\":\"Se noen LTI-verktøy som fungerer bra med Canvas.\",\"settings_5aa0fd0c\":\"Innstillinger\",\"shared_secret_892c88f2\":\"Delt hemmelighet\",\"similarity_detection_dcada48\":\"Likhetsgjenkjenning\",\"start_date_e937be8a\":\"Startdato\",\"status_e7fdbe06\":\"Status\",\"submit_a3cc6859\":\"Send inn\",\"sync_grades_a16622ca\":\"Synkroniser karakterer\",\"the_app_was_activated_a84e055f\":\"Appen ble aktivert\",\"the_app_was_added_58e2836a\":\"App ble lagt\",\"the_app_was_added_successfully_3f785a23\":\"App ble lagt til\",\"the_app_was_deactivated_573520ab\":\"Appen ble deaktivert\",\"the_app_was_updated_successfully_3d71cd1b\":\"App ble oppdatert\",\"the_following_content_is_partner_provided_ed1da756\":\"Følgende innhold er gitt av en partner\",\"the_following_fields_are_invalid_fields_b3565800\":\"Følgende felt er ugyldige: %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"Vurderingsperioden ble slettet\",\"the_preceding_content_is_partner_provided_d753928c\":\"Det foregående innholdet er gitt av en partner\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"Det oppstod et problem ved sletting av vurderingsperioden\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"Det oppstod et problem ved sletting av vurderingsskala\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"Det oppstod et problem ved henting av perioder\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"Det oppstod et problem under lagring av vurderingsperioden\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"Det oppstod et problem under lagring av vurderingsskala\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"En feil oppsto under behandling av forespørselen din\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"Det oppstod en ukjent feil under registrering av verktøyet\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"Det var feilene med skjemaet: %{errors}\",\"this_field_is_required_fa58c4a\":\"Dette feltet er obligatorisk\",\"this_field_name_is_required_988caebc\":\"Feltet \\\"%{name}\\\" er påkrevd.\",\"this_field_name_is_required_b9196401\":\"Feltet \\\"name\\\" påkrevd.\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"Dette verktøyet er alt installert i dette innholdet. Vil du installere likevel?\",\"to_35c6baa2\":\"til \",\"to_minscore_43e5452e\":\"til %{minScore}%\",\"tool_configuration_63cd43b0\":\"Verktøy-konfigurasjon\",\"tool_content_e699e813\":\"Verktøy-innhold\",\"tool_placements_3f996c24\":\"Verktøy-plasseringer\",\"unable_to_accept_update_fd53a7e2\":\"Kan ikke akseptere oppdatering\",\"unable_to_dismiss_update_df1e32eb\":\"Kan ikke fjerne oppdatering\",\"unable_to_load_lti_1_3_tools_cf169f9\":\"Ikke mulig å laste LTI 1,3 verktøyet\",\"unable_to_remove_app_4293cb53\":\"Kan ikke fjerne app\",\"unchanged_aca18e02\":\"[Unchanged]\",\"update_tool_7d48ef2a\":\"Oppdater %{tool}\",\"updating_6edbab78\":\"Oppdaterer\",\"upper_limit_of_range_c454a8f2\":\"Øvre grense for utvalg\",\"user_navigation_a097be0f\":\"Brukernavigering\",\"view_app_center_6c89a3fe\":\"Vis appsenteret\",\"view_app_configurations_52b52441\":\"Vis applikasjonskonfigurasjoner\",\"view_name_app_62a2ad8e\":\"Vis %{name} app\",\"view_toolname_placements_4a5724d1\":\"Vis %{toolName} plasseringer\",\"we_were_unable_to_activate_the_app_578defe7\":\"Vi klarte ikke å aktivere app.\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"Vi klarte ikke å legge til tilgangssymbolet.\",\"we_were_unable_to_add_the_app_418877ef\":\"Vi klarte ikke å legge den appen.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"Vi klarte ikke å deaktivere app.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"Vi klarte ikke å oppdatere app.\",\"weight_9b308e5b\":\"Vekt\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"Ønsker du å godta eller forkaste denne oppdateringen?\",\"would_you_like_to_enable_this_app_ccdf735d\":\"Ønsker du å aktivere denne app?\",\"xml_configuration_5ea1b942\":\"XML Konfigurasjon\",\"yes_install_tool_f51b3278\":\"Ja, installer verktøy\"},\"nb-x-k12\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"En tabell som inneholder navnet på vurderingsoversikten og knapper for å redigere eller slette rader.\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"En tabell som inneholder data fra vurderingsoversikten. Hver rad inneholder et navn, en maksimum prosentandel, og en minimum prosentandel. I tillegg inneholder hver rad en knapp for å legge til en ny rad nedenfor, og en knapp for å slette gjeldende rad.\",\"accept_2fdd362e\":\"Godta\",\"access_token_3be22221\":\"Tilgangssymbol\",\"account_navigation_80bbefd4\":\"Kontonavigering\",\"actions_efcde10d\":\"Aksjoner\",\"add_app_baf540f\":\"Legg til app\",\"add_grading_scheme_81e23c05\":\"Legg til vurderingsskala\",\"all_4321c3a1\":\"Alle\",\"all_changes_were_saved_f6f3ddcc\":\"Alle endringer ble lagret\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"Alle datafelt må være til stede og formatert riktig\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"Alle vurderingsperioder må ha en tittel\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"Alle startdatoer må være før sluttdatoen\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"Tillat dette verktøyet tilgang til IMS navn og rolle klargjøringstjeneste\",\"an_update_is_available_for_toolname_bba3fa2\":\"En oppdatering er tilgjengelig for %{toolName}\",\"anonymous_e1b8ad27\":\"Anonym\",\"app_b157c2b3\":\"App\",\"app_placements_6d877225\":\"App-plasseringer\",\"app_reregistration_87cc8817\":\"App-registrering\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} ble installert av Admin og er låst\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} ble installert av hovedfaget og er låst\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} ble installert av hovedfaget\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"Apper er en enkel måte å legge til funksjoner i Canvas. Appene kan legges til individuelle fag, eller til alle fagene tilgjengelig i en konto. Når de er satt opp kan du lenke til dem fra fagmoduler og opprette oppgaver for vurderingsverktøy.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"Er du sikker på at du vil slette denne vurderingsperioden?\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"Er du sikker på at du vil slette denne vurderingsskalaen?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"Er du sikker på at du vil fjerne dette verktøyet?\",\"assignment_edit_6dced39f\":\"Rediger oppgave\",\"assignment_menu_91fe3716\":\"Oppgave-meny\",\"assignment_selection_6bff05c4\":\"Oppgave-utvalg\",\"assignment_view_1206a60b\":\"Vis oppgave\",\"back_to_app_center_95420d83\":\"Tilbake til appsenteret\",\"by_lti_2_registration_url_e421e523\":\"Av LTI 2 Registrering URL\",\"by_url_a163275e\":\"Fra URL\",\"cancel_caeb1e68\":\"Avbryt\",\"close_d634289d\":\"Lukk\",\"close_date_a2f617b3\":\"Lukkedato\",\"collaboration_71c024f4\":\"Samarbeid\",\"config_url_e96ceaf3\":\"Konfig URL\",\"configuration_type_25a084a4\":\"Konfigurasjonstype\",\"configure_ecb97e30\":\"Konfigurer\",\"configure_tool_app_3b1bb50b\":\"Konfigurere %{tool} App?\",\"configure_toolname_app_651371be\":\"Konfigurere %{toolName} App\",\"consumer_key_6f94ba11\":\"Forbruker nøkkel\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(%{context} nivå)\",\"count_apps_found_f4d86860\":\"%{count} apper funnet\",\"course_assignments_menu_fa6aeb23\":\"Meny for fagoppgaver\",\"course_home_sub_navigation_b1ee6b03\":\"Fagnavigering\",\"course_navigation_dd035109\":\"Fagnavigering\",\"course_settings_sub_navigation_b95deae\":\"Innstillinger-undernavigering for fag\",\"custom_fields_fc3e55af\":\"Egendefinerte felt\",\"delete_a6efa79d\":\"Slett\",\"delete_grading_period_dba36e59\":\"Slett vurderingsperioden\",\"delete_grading_scheme_6b308832\":\"Slett vurderingsskala\",\"delete_tool_app_9c9f6d35\":\"Slett %{tool} App?\",\"delete_toolname_app_85f9d4ee\":\"Slett %{toolName} App\",\"description_436c48d7\":\"Beskrivelse\",\"disable_a5c05db3\":\"Slå av\",\"disable_toolname_44d6397c\":\"Slå av %{toolName}\",\"disabled_18c33a73\":\"(deaktivert)\",\"discussion_topic_menu_3d4684c6\":\"Diskusjonstema-meny\",\"dismiss_dacdb625\":\"Avvise\",\"domain_3b54c511\":\"Domene\",\"e_mail_only_2cc5e513\":\"Kun e-post\",\"edit_app_b0cc1c17\":\"Rediger App\",\"edit_c5fbea07\":\"Rediger\",\"edit_grading_scheme_53091236\":\"Rediger vurderingsskala\",\"edit_toolname_app_23cfbb8\":\"Rediger %{toolName} App\",\"editor_button_6647db9c\":\"Editor-knapp\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"Enten URL-en eller domenet må angis.\",\"enable_6f5d1328\":\"Slå på\",\"enable_toolname_dc64c25a\":\"Slå på %{toolName}\",\"end_date_e0093ed7\":\"Sluttdato\",\"enter_the_access_token_for_your_organization_from__38b84fd1\":\"Legg inn tilgangsymbolet for organisasjonen din fra                    *eduappcenter.com*. Når det er tatt i bruk, vil kun app-er organisasjonen din har godkjent, være listet opp i                     EduAppCenter på siden Eksterne App-er.                     Lær hvordan **generere et tilgangssymbol**.\",\"example_https_example_com_config_xml_be5f36ac\":\"Eksempel: https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"Eksempel: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"Eksterne apper\",\"file_menu_cc0ca54\":\"Filmeny\",\"filter_by_name_34cbe139\":\"Filtrer etter navn\",\"global_navigation_8bee3501\":\"Global navigering\",\"grading_aa6de9\":\"Vurdering\",\"grading_period_name_31ceb3e3\":\"Navn på vurderingsperiode\",\"grading_period_title_23b7f8ac\":\"Tittel på vurderingsperiode\",\"grading_period_weight_99b66906\":\"Vurderingsperiodevekt\",\"grading_periods_81941e66\":\"Vurderingsperioder\",\"grading_periods_must_not_overlap_f45336fb\":\"Vurderingsperioder må ikke overlappe\",\"grading_scheme_deleted_7ae5a072\":\"Vurderingsskala slettet\",\"grading_scheme_saved_85535151\":\"Vurderingsskala lagret\",\"grading_schemes_1c3c3252\":\"Vurderingsskala\",\"grading_standard_title_58f540a3\":\"Standardtittel på vurdering\",\"homework_submission_172e8354\":\"Lekse-innlevering\",\"insert_row_below_25187f89\":\"Sett inn rad under\",\"installed_7b284a91\":\"Installert\",\"launch_external_tool_672c0409\":\"Åpne eksternt verktøy\",\"launch_registration_tool_38d4781\":\"Start registreringsverktøy\",\"launch_url_e150bd41\":\"Start URL\",\"link_selection_1486c5d0\":\"Lenkeutvalg\",\"link_to_lti_tools_608df3b0\":\"Link til Iti-verktøy.\",\"looks_great_e4d883ed\":\"Ser bra ut!\",\"lower_limit_of_range_6ddd4983\":\"Nedre grense for utvalg\",\"lti_1_3_c84fd177\":\"LTI 1,3\",\"lti_1_3_tools_list_ac30b375\":\"LTI 1,3 verktøyliste\",\"manage_app_list_994cc26c\":\"Administrer app-liste\",\"manage_grading_schemes_in_context_name_e3678273\":\"Administrer vurderingsskala i %{context_name}\",\"manage_update_23de23a1\":\"Administrer oppdatering\",\"manage_update_for_toolname_f8e3b2fb\":\"Administrer oppdatering for %{toolName}\",\"manual_entry_e4a4f99a\":\"Manuell innlegging\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"Flyttevalg\",\"module_menu_3201af4e\":\"Modul-meny\",\"name_1aed4a1b\":\"Navn\",\"name_app_has_been_deleted_fb2d9426\":\"%{name} app har blitt slettet\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"*navn* har blitt installert, men har ennå ikke blitt aktivert.\",\"name_is_currently_status_9065c996\":\"*navn* er for tiden **status**.\",\"name_only_5f56718e\":\"Kun navn\",\"no_cancel_installation_db8d12d7\":\"Nei, avbryt installering\",\"no_grading_schemes_to_display_8b0e92e7\":\"Ingen vurderingskalaer å vise\",\"no_placements_enabled_f705f28\":\"Ingen plasseringer aktivert\",\"not_installed_37a21a76\":\"Ikke installert\",\"one_per_line_format_name_value_79647700\":\"Én per linje. Format: navn=verdi\",\"page_menu_2f8bee0\":\"Side-meny\",\"paste_xml_cda3a64e\":\"Lim inn XML\",\"placements_5b5e056b\":\"Plasseringer\",\"privacy_290109ea\":\"Personvern\",\"public_a749f507\":\"Offentlig\",\"quiz_menu_4fcd5e61\":\"test-meny\",\"range_56b2f310\":\"Område\",\"range_name_90614433\":\"Spekter navn\",\"registration_url_60e0eaaa\":\"Registrering URL\",\"remove_row_c198da5a\":\"Fjern rad\",\"reregister_9ab95a57\":\"Registrere på nytt\",\"reregister_toolname_3dde0bfc\":\"Registrere %{toolName} på nytt\",\"save_11a80ec3\":\"Lagre\",\"save_grading_period_daaaddea\":\"Lagre vurderingsperiode\",\"saving_d55dd90e\":\"Lagrer…\",\"see_some_lti_tools_that_work_great_with_canvas_53e92091\":\"Se noen LTI-verktøy som fungerer bra med Canvas.\",\"settings_5aa0fd0c\":\"Innstillinger\",\"shared_secret_892c88f2\":\"Delt hemmelighet\",\"similarity_detection_dcada48\":\"Likhetsgjenkjenning\",\"start_date_e937be8a\":\"Startdato\",\"status_e7fdbe06\":\"Status\",\"submit_a3cc6859\":\"Send inn\",\"sync_grades_a16622ca\":\"Synkroniser vurderinger\",\"the_app_was_activated_a84e055f\":\"Appen ble aktivert\",\"the_app_was_added_58e2836a\":\"App ble lagt\",\"the_app_was_added_successfully_3f785a23\":\"App ble lagt til\",\"the_app_was_deactivated_573520ab\":\"Appen ble deaktivert\",\"the_app_was_updated_successfully_3d71cd1b\":\"App ble oppdatert\",\"the_following_content_is_partner_provided_ed1da756\":\"Følgende innhold er gitt av en partner\",\"the_following_fields_are_invalid_fields_b3565800\":\"Følgende felt er ugyldige: %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"Vurderingsperioden ble slettet\",\"the_preceding_content_is_partner_provided_d753928c\":\"Det foregående innholdet er gitt av en partner\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"Det oppstod et problem ved sletting av vurderingsperioden\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"Det oppstod et problem ved sletting av vurderingsskala\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"Det oppstod et problem ved henting av perioder\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"Det oppstod et problem under lagring av vurderingsperioden\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"Det oppstod et problem under lagring av vurderingsskala\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"En feil oppsto under behandling av forespørselen din\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"Det oppstod en ukjent feil under registrering av verktøyet\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"Det var feilene med skjemaet: %{errors}\",\"this_field_is_required_fa58c4a\":\"Dette feltet er obligatorisk\",\"this_field_name_is_required_988caebc\":\"Feltet \\\"%{name}\\\" er påkrevd.\",\"this_field_name_is_required_b9196401\":\"Feltet \\\"name\\\" påkrevd.\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"Dette verktøyet er alt installert i dette innholdet. Vil du installere likevel?\",\"to_35c6baa2\":\"til\",\"to_minscore_43e5452e\":\"til %{minScore}%\",\"tool_configuration_63cd43b0\":\"Verktøy-konfigurasjon\",\"tool_content_e699e813\":\"Verktøy-innhold\",\"tool_placements_3f996c24\":\"Verktøy-plasseringer\",\"unable_to_accept_update_fd53a7e2\":\"Kan ikke akseptere oppdatering\",\"unable_to_dismiss_update_df1e32eb\":\"Kan ikke fjerne oppdatering\",\"unable_to_load_lti_1_3_tools_cf169f9\":\"Ikke mulig å laste LTI 1,3 verktøyet\",\"unable_to_remove_app_4293cb53\":\"Kan ikke fjerne app\",\"unchanged_aca18e02\":\"[Unchanged]\",\"update_tool_7d48ef2a\":\"Oppdater %{tool}\",\"updating_6edbab78\":\"Oppdaterer\",\"upper_limit_of_range_c454a8f2\":\"Øvre grense for utvalg\",\"user_navigation_a097be0f\":\"Brukernavigering\",\"view_app_center_6c89a3fe\":\"Vis appsenteret\",\"view_app_configurations_52b52441\":\"Vis applikasjonskonfigurasjoner\",\"view_name_app_62a2ad8e\":\"Vis %{name} app\",\"view_toolname_placements_4a5724d1\":\"Vis %{toolName} plasseringer\",\"we_were_unable_to_activate_the_app_578defe7\":\"Vi klarte ikke å aktivere app.\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"Vi klarte ikke å legge til tilgangssymbolet.\",\"we_were_unable_to_add_the_app_418877ef\":\"Vi klarte ikke å legge den appen.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"Vi klarte ikke å deaktivere app.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"Vi klarte ikke å oppdatere app.\",\"weight_9b308e5b\":\"Vekt\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"Ønsker du å godta eller forkaste denne oppdateringen?\",\"would_you_like_to_enable_this_app_ccdf735d\":\"Ønsker du å aktivere denne app?\",\"xml_configuration_5ea1b942\":\"XML Konfigurasjon\",\"yes_install_tool_f51b3278\":\"Ja, installer verktøy\"},\"nl\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"Een tabel met de naam van het beoordelingsschema en iconen om het schema te bewerken of te verwijderen.\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"Een tabel met de data van het beoordelingsschema. Elke rij bevat een naam, een maximum percentage, en een minimum percentage. Elke rij heeft ook een knop om een nieuwe rij eronder toe te voegen en een knop om de huidige rij te verwijderen.\",\"accept_2fdd362e\":\"Accepteren\",\"access_token_3be22221\":\"Toegangstoken\",\"account_navigation_80bbefd4\":\"Accountnavigatie\",\"actions_efcde10d\":\"Acties\",\"add_app_baf540f\":\"App toevoegen\",\"add_grading_scheme_81e23c05\":\"Beoordelingsschema toevoegen\",\"all_4321c3a1\":\"Alle(n)\",\"all_changes_were_saved_f6f3ddcc\":\"Alle wijzigingen opgeslagen\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"Alle datavelden moeten aanwezig zijn en correct geformatteerd\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"Alle beoordelingsperioden moeten een titel hebben\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"Alle begindata moeten voor de einddatum liggen\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"Geef deze tool toegang tot de IMS Names and Role Provisioning Service\",\"an_update_is_available_for_toolname_bba3fa2\":\"Een update is beschikbaar voor %{toolName}\",\"anonymous_e1b8ad27\":\"Anoniem\",\"app_b157c2b3\":\"App\",\"app_placements_6d877225\":\"Plaatsingen toevoegen\",\"app_reregistration_87cc8817\":\"App Herregistratie\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} is geïnstalleerd door de beheerder en is vergrendeld\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} is geïnstalleerd door de hoofdcursus en is vergrendeld\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} is geïnstalleerd door de hoofdcursus\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"Apps zijn een eenvoudige manier om nieuwe functies aan Canvas toe te voegen. Ze kunnen worden toegevoegd aan afzonderlijke cursussen of aan alle cursussen onder een account. Nadat de apps geconfigureerd zijn, kun je ze koppelen via cursusmodules en kun je opdrachten maken voor hulpprogramma's voor beoordelingen.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"Weet je zeker dat je deze beoordelingsperiode wilt verwijderen?\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"Weet je zeker dat je dit beoordelingsschema wilt verwijderen?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"Weet je zeker dat je deze tool wilt verwijderen?\",\"assignment_edit_6dced39f\":\"Opdracht bewerken\",\"assignment_menu_91fe3716\":\"Opdrachtmenu\",\"assignment_selection_6bff05c4\":\"Opdrachtselectie\",\"assignment_view_1206a60b\":\"Opdracht bekijken\",\"back_to_app_center_95420d83\":\"Terug naar App Center\",\"by_lti_2_registration_url_e421e523\":\"Door LTI 2 Registratie URL\",\"by_url_a163275e\":\"Door URL\",\"cancel_caeb1e68\":\"Annuleren\",\"close_d634289d\":\"Sluiten\",\"close_date_a2f617b3\":\"Sluitingsdatum\",\"collaboration_71c024f4\":\"Samenwerking\",\"config_url_e96ceaf3\":\"URL configureren\",\"configuration_type_25a084a4\":\"Type configuratie\",\"configure_ecb97e30\":\"Configureren\",\"configure_tool_app_3b1bb50b\":\"%{tool} app configureren?\",\"configure_toolname_app_651371be\":\"%{toolName} app configureren\",\"consumer_key_6f94ba11\":\"Sleutel voor klant\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(%{context} niveau)\",\"count_apps_found_f4d86860\":\"%{count} apps gevonden\",\"course_assignments_menu_fa6aeb23\":\"Menu Cursusopdrachten\",\"course_home_sub_navigation_b1ee6b03\":\"Subnavigatie op startpagina van de cursus\",\"course_navigation_dd035109\":\"Cursusnavigatie\",\"course_settings_sub_navigation_b95deae\":\"Subnavigatie in instellingen van de cursus\",\"custom_fields_fc3e55af\":\"Aangepaste velden\",\"delete_a6efa79d\":\"Verwijderen\",\"delete_grading_period_dba36e59\":\"Beoordelingsperiode verwijderen\",\"delete_grading_scheme_6b308832\":\"Beoordelingsschema verwijderen\",\"delete_tool_app_9c9f6d35\":\"%{tool} App verwijderen?\",\"delete_toolname_app_85f9d4ee\":\"%{toolName} App verwijderen\",\"description_436c48d7\":\"Beschrijving\",\"disable_a5c05db3\":\"Uitschakelen\",\"disable_toolname_44d6397c\":\"Uitschakelen %{toolName}\",\"disabled_18c33a73\":\"Uitgeschakeld\",\"discussion_topic_menu_3d4684c6\":\"Discussieonderwerp menu\",\"dismiss_dacdb625\":\"Afwijzen\",\"domain_3b54c511\":\"Domein\",\"e_mail_only_2cc5e513\":\"Alleen e-mail\",\"edit_app_b0cc1c17\":\"App bewerken\",\"edit_c5fbea07\":\"Bewerken\",\"edit_grading_scheme_53091236\":\"Beoordelingsschema bewerken\",\"edit_toolname_app_23cfbb8\":\"%{toolName} app bewerken\",\"editor_button_6647db9c\":\"Editorknop\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"Alleen de URL of het domein dient ingesteld te worden, niet allebei.\",\"enable_6f5d1328\":\"Inschakelen\",\"enable_toolname_dc64c25a\":\"Inschakelen %{toolName}\",\"end_date_e0093ed7\":\"Einddatum\",\"enter_the_access_token_for_your_organization_from__38b84fd1\":\"Voer het toegangstoken voor je organisatie in vanaf *eduappcenter.com*. Nadat het token is toegepast, worden op de pagina Externe apps alleen apps weergegeven die door je organisatie zijn goedgekeurd in het EduAppCenter.                     Informatie over het **genereren van een toegangstoken**.\",\"example_https_example_com_config_xml_be5f36ac\":\"Voorbeeld: https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"Voorbeeld: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"Externe apps\",\"file_menu_cc0ca54\":\"Bestandsmenu\",\"filter_by_name_34cbe139\":\"Op naam filteren\",\"global_navigation_8bee3501\":\"Globale Navigatie\",\"grading_aa6de9\":\"Beoordeling\",\"grading_period_name_31ceb3e3\":\"Naam beoordelingsperiode\",\"grading_period_title_23b7f8ac\":\"Titel beoordelingsperiode\",\"grading_period_weight_99b66906\":\"Weging beoordelingsperiode\",\"grading_periods_81941e66\":\"Beoordelingsperioden\",\"grading_periods_must_not_overlap_f45336fb\":\"Beoordelingsperioden mogen niet overlappen\",\"grading_scheme_deleted_7ae5a072\":\"Beoordelingsschema verwijderd\",\"grading_scheme_saved_85535151\":\"Beoordelingsschema opgeslagen\",\"grading_schemes_1c3c3252\":\"Beoordelingsschema's\",\"grading_standard_title_58f540a3\":\"Standaard voor beoordeling titel\",\"homework_submission_172e8354\":\"Huiswerk inzending\",\"insert_row_below_25187f89\":\"Rij hieronder invoegen\",\"installed_7b284a91\":\"Geïnstalleerd\",\"launch_external_tool_672c0409\":\"Extern hulpmiddel lanceren\",\"launch_registration_tool_38d4781\":\"Registratietool starten\",\"launch_url_e150bd41\":\"URL starten\",\"link_selection_1486c5d0\":\"Selectie koppelen\",\"link_to_lti_tools_608df3b0\":\"Link naar LTI-tools.\",\"looks_great_e4d883ed\":\"Ziet er goed uit!\",\"lower_limit_of_range_6ddd4983\":\"Ondergrens van bereik\",\"lti_1_3_c84fd177\":\"LTI 1.3\",\"lti_1_3_tools_list_ac30b375\":\"Lijst van LTI 1.3 Tools\",\"manage_app_list_994cc26c\":\"App lijst beheren\",\"manage_grading_schemes_in_context_name_e3678273\":\"Beoordelingsschema's beheren in %{context_name}\",\"manage_update_23de23a1\":\"Update beheren\",\"manage_update_for_toolname_f8e3b2fb\":\"Update voor %{toolName} beheren\",\"manual_entry_e4a4f99a\":\"Handmatige invoer\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"Migratie Selectie\",\"module_menu_3201af4e\":\"Module menu\",\"name_1aed4a1b\":\"Naam\",\"name_app_has_been_deleted_fb2d9426\":\"%{name} app is verwijderd\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"*naam* is succesvol geïnstalleerd, maar nog niet ingeschakeld.\",\"name_is_currently_status_9065c996\":\"*naam* is momenteel **status**.\",\"name_only_5f56718e\":\"Alleen naam\",\"no_cancel_installation_db8d12d7\":\"Nee, annuleer de installatie\",\"no_grading_schemes_to_display_8b0e92e7\":\"Geen beoordelingsschema's om weer te geven\",\"no_placements_enabled_f705f28\":\"Geen plaatsingen ingeschakeld\",\"not_installed_37a21a76\":\"Niet geïnstalleerd\",\"one_per_line_format_name_value_79647700\":\"Een per regel. Formaat: naam=waarde\",\"page_menu_2f8bee0\":\"Menu Pagina\",\"paste_xml_cda3a64e\":\"XML plakken\",\"placements_5b5e056b\":\"Plaatsingen\",\"privacy_290109ea\":\"Privacy\",\"public_a749f507\":\"Openbaar\",\"quiz_menu_4fcd5e61\":\"Toetsmenu\",\"range_56b2f310\":\"Bereik\",\"range_name_90614433\":\"Naam van bereik\",\"registration_url_60e0eaaa\":\"Registratie URL\",\"remove_row_c198da5a\":\"Rij verwijderen\",\"reregister_9ab95a57\":\"Opnieuw registreren\",\"reregister_toolname_3dde0bfc\":\"%{toolName} Opnieuw registreren\",\"save_11a80ec3\":\"Opslaan\",\"save_grading_period_daaaddea\":\"Beoordelingsperiode opslaan\",\"saving_d55dd90e\":\"Bezig met opslaan...\",\"see_some_lti_tools_that_work_great_with_canvas_53e92091\":\"Bekijk een paar LTI-tools die uitstekend samenwerken met Canvas\",\"settings_5aa0fd0c\":\"Instellingen\",\"shared_secret_892c88f2\":\"Gedeelde geheim\",\"similarity_detection_dcada48\":\"Vergelijkbaarheidsdetectie\",\"start_date_e937be8a\":\"Startdatum\",\"status_e7fdbe06\":\"Status\",\"submit_a3cc6859\":\"Inleveren\",\"sync_grades_a16622ca\":\"Cijfers synchroniseren\",\"the_app_was_activated_a84e055f\":\"De app is geactiveerd\",\"the_app_was_added_58e2836a\":\"De app werd toegevoegd\",\"the_app_was_added_successfully_3f785a23\":\"De app werd succesvol toegevoegd\",\"the_app_was_deactivated_573520ab\":\"De app is gedeactiveerd\",\"the_app_was_updated_successfully_3d71cd1b\":\"De app werd succesvol bijgewerkt\",\"the_following_content_is_partner_provided_ed1da756\":\"De volgende inhoud is door een partner geleverd\",\"the_following_fields_are_invalid_fields_b3565800\":\"De volgende velden zijn ongeldig: %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"De beoordelingsperiode is verwijderd\",\"the_preceding_content_is_partner_provided_d753928c\":\"De voorgaande inhoud is door een partner geleverd\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"Er is een probleem opgetreden tijdens het verwijderen van de beoordelingsperiode\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"Er is een probleem opgetreden tijdens het verwijderen van het beoordelingsschema\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"Er was een probleem bij het ophalen van perioden\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"Er is een probleem bij het verwijderen van de beoordelingsperiode\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"Er is een probleem bij het opslaan van het beoordelingsschema\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"Er is een fout opgetreden bij het verwerken van jouw verzoek\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"Er is een onbekende fout opgetreden bij het registreren van de tool\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"Er zijn fouten opgetreden met het formulier: %{errors}\",\"this_field_is_required_fa58c4a\":\"Dit veld is verplicht\",\"this_field_name_is_required_988caebc\":\"Het veld \\\"%{name}\\\" is verplicht.\",\"this_field_name_is_required_b9196401\":\"Het veld \\\"naam\\\" is verplicht.\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"Deze tool is al in deze context geïnstalleerd. Wilt u de tool toch installeren?\",\"to_35c6baa2\":\"naar \",\"to_minscore_43e5452e\":\"tot %{minScore}%\",\"tool_configuration_63cd43b0\":\"Toolconfiguratie\",\"tool_content_e699e813\":\"Toolinhoud\",\"tool_placements_3f996c24\":\"Plaatsingen van tools\",\"unable_to_accept_update_fd53a7e2\":\"Kan bijwerken niet accepteren\",\"unable_to_dismiss_update_df1e32eb\":\"Kan bijwerken niet verwijderen\",\"unable_to_load_lti_1_3_tools_cf169f9\":\"Kan LTI 1.3 Tools niet laden\",\"unable_to_remove_app_4293cb53\":\"Kan app niet verwijderen\",\"unchanged_aca18e02\":\"[Ongewijzigd]\",\"update_tool_7d48ef2a\":\"%{tool} bijwerken\",\"updating_6edbab78\":\"Bezig met bijwerken\",\"upper_limit_of_range_c454a8f2\":\"Bovengrens van het bereik\",\"user_navigation_a097be0f\":\"Gebruikersnavigatie\",\"view_app_center_6c89a3fe\":\"App Center weergeven\",\"view_app_configurations_52b52441\":\"App configuraties weergeven\",\"view_name_app_62a2ad8e\":\"%{name} app weergeven\",\"view_toolname_placements_4a5724d1\":\"%{toolName} Plaatsingen weergeven\",\"we_were_unable_to_activate_the_app_578defe7\":\"We konden de app niet activeren.\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"We konden de app niet activeren.\",\"we_were_unable_to_add_the_app_418877ef\":\"We konden de app niet toevoegen.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"We konden de app niet deactiveren.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"We konden de app niet bijwerken.\",\"weight_9b308e5b\":\"Gewicht\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"Wil je deze update accepteren of weigeren?\",\"would_you_like_to_enable_this_app_ccdf735d\":\"Wil je deze app inschakelen?\",\"xml_configuration_5ea1b942\":\"XML-configuratie\",\"yes_install_tool_f51b3278\":\"Ja, installeer de tool\"},\"nn\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"Ein tabell som inneheld namnet på karakterskjemaet og knappar for redigering eller sletting av skjemaet.\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"Ein tabell som inneheld data frå graderingsskjemaet. Kvar rad inneheld eit namn, ein maksimum prosentverdi og ein minimum prosentverdi. Kvar rad inneheld også ein knapp for å legge til ei ny rad nedanfor, og ein knapp for å slette gjeldande rad.\",\"accept_2fdd362e\":\"Godta\",\"access_token_3be22221\":\"Tilgangstoken\",\"account_navigation_80bbefd4\":\"Kontonavigering\",\"actions_efcde10d\":\"Handlingar\",\"add_app_baf540f\":\"Legg til app\",\"add_grading_scheme_81e23c05\":\" Legg til skjema for karaktersetjing\",\"all_4321c3a1\":\"Alle\",\"all_changes_were_saved_f6f3ddcc\":\"Alle endringar er lagra\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"Alle datofelt må finnast og vere korrekt formaterte\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"Alle karaktersetjingsperiodar må ha ein tittel\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"Alle startdatoar må setjast før sluttdatoen\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"Tillat at verktøyet får tilgang til IMS-namn og rolletildelingsteneste. \",\"an_update_is_available_for_toolname_bba3fa2\":\"Ein oppdatering er tilgjengeleg for %{toolName}\",\"anonymous_e1b8ad27\":\"Anonym\",\"app_b157c2b3\":\"App\",\"app_placements_6d877225\":\"App-plasseringar\",\"app_reregistration_87cc8817\":\"Ny registrering av app\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app}er installert av admin og er låst\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app}er installert av eit overordna emne og er låst\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app}er installert av eit overordna emne\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"Appar er ein enkel måte å legge nye funksjonar i Canvas. Dei kan leggast til individuelle emne eller til alle emna i ein konto. Når dei er konfigurerte, kan du kople deg til dei gjennom emnemodular og opprette oppgåver med vurderingsverktøy.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"Er du sikker på at du vil slette karaktersetjingsperioden?\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"Er du sikker på at du vil slette karaktersetjingsskjemaet?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"Er du sikker på at du vil fjerne verktøyet?\",\"assignment_menu_91fe3716\":\"Oppgåvemeny\",\"assignment_selection_6bff05c4\":\"Oppgåveutval\",\"back_to_app_center_95420d83\":\"Tilbake til appsenteret\",\"by_lti_2_registration_url_e421e523\":\"Etter LTI 2 sin registrerings-URL\",\"by_url_a163275e\":\"Etter URL\",\"cancel_caeb1e68\":\"Avbryt\",\"close_d634289d\":\"Lukk\",\"close_date_a2f617b3\":\"Lukkedato\",\"collaboration_71c024f4\":\"Samarbeid\",\"config_url_e96ceaf3\":\"Konfigurasjons-URL\",\"configuration_type_25a084a4\":\"Konfigurasjonstype\",\"configure_ecb97e30\":\"Konfigurer\",\"configure_tool_app_3b1bb50b\":\"Vil du konfigurere %{tool}-appen?\",\"configure_toolname_app_651371be\":\"Konfigurer %{toolName}-appen\",\"consumer_key_6f94ba11\":\"Forbrukarnøkkel\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(%{context} level)\",\"count_apps_found_f4d86860\":\"%{count} appar funne\",\"course_assignments_menu_fa6aeb23\":\"Emneoppgåvemeny\",\"course_home_sub_navigation_b1ee6b03\":\"Navigering på emneheimesida\",\"course_navigation_dd035109\":\"Emnenavigering\",\"course_settings_sub_navigation_b95deae\":\"Navigering i emneinnstillingar\",\"custom_fields_fc3e55af\":\"Eigendefinerte felt\",\"delete_a6efa79d\":\"Slett\",\"delete_grading_period_dba36e59\":\"Slett karaktersetjingsperiode\",\"delete_grading_scheme_6b308832\":\"Slett oppsett for karaktersetjing\",\"delete_tool_app_9c9f6d35\":\"Slett %{tool} app?\",\"delete_toolname_app_85f9d4ee\":\"Slett %{toolName} app\",\"description_436c48d7\":\"Skildring\",\"disable_a5c05db3\":\"Deaktiver\",\"disabled_18c33a73\":\"(deaktivert)\",\"discussion_topic_menu_3d4684c6\":\"Meny diskusjonsemne\",\"dismiss_dacdb625\":\"Forkast\",\"domain_3b54c511\":\"Domene\",\"e_mail_only_2cc5e513\":\"Kun e-post\",\"edit_app_b0cc1c17\":\"Rediger app\",\"edit_c5fbea07\":\"Rediger\",\"edit_grading_scheme_53091236\":\"Rediger karakterskjema\",\"edit_toolname_app_23cfbb8\":\"Rediger %{toolName}-app\",\"editor_button_6647db9c\":\"Editorknapp\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"Du må oppgi anten URL-en eller domenet.\",\"enable_6f5d1328\":\"Aktiver\",\"end_date_e0093ed7\":\"Sluttdato\",\"example_https_example_com_config_xml_be5f36ac\":\"Eksempel: https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"Eksempel: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"Eksterne appar\",\"file_menu_cc0ca54\":\"Filmeny\",\"filter_by_name_34cbe139\":\"Filtrer etter namn\",\"global_navigation_8bee3501\":\"Global navigasjon\",\"grading_aa6de9\":\"Karaktersetjing\",\"grading_period_name_31ceb3e3\":\"Namn på karaktersetjingsperiode\",\"grading_period_title_23b7f8ac\":\"Tittel på karaktersetjingsperiode\",\"grading_period_weight_99b66906\":\"Vekting i karaktersetjingsperiode\",\"grading_periods_81941e66\":\"Karaktersetjingsperiodar\",\"grading_periods_must_not_overlap_f45336fb\":\"Karaktersetjingsperiodar kan ikkje overlappe\",\"grading_scheme_deleted_7ae5a072\":\"Oppsett for karaktersetjing er sletta\",\"grading_scheme_saved_85535151\":\"Oppsett for karaktersetjing er lagra\",\"grading_schemes_1c3c3252\":\"Oppsett for karaktersetjing\",\"grading_standard_title_58f540a3\":\"Tittel for standard karaktersetjing\",\"homework_submission_172e8354\":\"Innlevering av heimeoppgåve\",\"insert_row_below_25187f89\":\"Set inn rad nedanfor\",\"installed_7b284a91\":\"Installert\",\"launch_external_tool_672c0409\":\"Start opp eksternt verktøy\",\"launch_registration_tool_38d4781\":\"Start opp registreringsverktøy\",\"launch_url_e150bd41\":\"Opne URL-adresse\",\"link_selection_1486c5d0\":\"Lenkeutval\",\"looks_great_e4d883ed\":\"Flott!\",\"lower_limit_of_range_6ddd4983\":\"Nedre grense i området\",\"manage_app_list_994cc26c\":\"Administrer app-liste\",\"manage_grading_schemes_in_context_name_e3678273\":\"Administrere karaktersetjingsskjema i %{context_name}\",\"manage_update_23de23a1\":\"Rediger oppdatering\",\"manage_update_for_toolname_f8e3b2fb\":\"Rediger oppdatering for %{toolName}\",\"manual_entry_e4a4f99a\":\"Manuell oppføring\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"Overføringsutval\",\"module_menu_3201af4e\":\"Modulmeny\",\"name_1aed4a1b\":\"Namn\",\"name_app_has_been_deleted_fb2d9426\":\"%{name}-app er sletta\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"*name* er installert men, ikkje aktivert.\",\"name_is_currently_status_9065c996\":\"*name* er for tida **status**.\",\"name_only_5f56718e\":\"Berre namn\",\"no_cancel_installation_db8d12d7\":\"Nei, avbryt installasjon\",\"no_grading_schemes_to_display_8b0e92e7\":\"Ingen karaktersetjingsskjema å vise\",\"no_placements_enabled_f705f28\":\"Ingen plasseringar er aktivert\",\"not_installed_37a21a76\":\"Ikkje installert\",\"one_per_line_format_name_value_79647700\":\"Ein per linje. Format: namn=verdi\",\"paste_xml_cda3a64e\":\"Lim inn XML\",\"placements_5b5e056b\":\"Plasseringar\",\"privacy_290109ea\":\"Personvern\",\"public_a749f507\":\"Offentleg\",\"quiz_menu_4fcd5e61\":\"Quizmeny\",\"range_56b2f310\":\"Område\",\"range_name_90614433\":\"Områdenamn\",\"registration_url_60e0eaaa\":\"Registrerings-URL\",\"remove_row_c198da5a\":\"Fjern rad\",\"reregister_9ab95a57\":\"Ny registrering\",\"reregister_toolname_3dde0bfc\":\"Registrer %{toolName} på nytt\",\"save_11a80ec3\":\"Lagre\",\"save_grading_period_daaaddea\":\"Lagre karaktersetjingsperiode\",\"saving_d55dd90e\":\"Lagrar...\",\"settings_5aa0fd0c\":\"Innstillingar\",\"shared_secret_892c88f2\":\"Delt hemmelegheit\",\"similarity_detection_dcada48\":\"Likskapskontroll\",\"start_date_e937be8a\":\"Startdato\",\"status_e7fdbe06\":\"Status\",\"submit_a3cc6859\":\"Send!\",\"sync_grades_a16622ca\":\"Synkroniser karakterar\",\"the_app_was_activated_a84e055f\":\"Appen er aktivert\",\"the_app_was_added_58e2836a\":\"Appen er lagd til\",\"the_app_was_added_successfully_3f785a23\":\"Appen er lagd til\",\"the_app_was_deactivated_573520ab\":\"Appen er deaktivert\",\"the_app_was_updated_successfully_3d71cd1b\":\"Appen er oppdatert\",\"the_following_content_is_partner_provided_ed1da756\":\"Følgande innhald er lagt til av partnar\",\"the_following_fields_are_invalid_fields_b3565800\":\"Følgande felt er ugyldige: %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"Karaktersetjingsperioden er sletta\",\"the_preceding_content_is_partner_provided_d753928c\":\"Det føregåande innhaldet er lagt til av partnar\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"Det oppstod eit problem under sletting av karaktersetjingsperioden\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"Det oppstod eit problem under sletting av karaktersetjingsskjemaet\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"Det oppstod eit problem under henting av periodar\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"Det oppstod eit problem under lagring av karaktersetjingsperioden\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"Det oppstod eit problem under lagring av karaktersetjingsskjemaet\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"Det oppstod ein feil under handsaming av førespurnaden\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"Det oppstod ein ukjend feil under registrering av verktøyet\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"Det oppstod feil i skjemaet: %{errors}\",\"this_field_is_required_fa58c4a\":\"Dette feltet er obligatorisk\",\"this_field_name_is_required_988caebc\":\"Feltet \\\"%{name}\\\" er obligatorisk.\",\"this_field_name_is_required_b9196401\":\"Feltet \\\"name\\\" er obligatorisk.\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"Verktøyet er allereie installert. Vil du installere likevel? \",\"to_35c6baa2\":\"til \",\"to_minscore_43e5452e\":\"to %{minScore}%\",\"tool_configuration_63cd43b0\":\"Verktøykonfigurasjon\",\"tool_content_e699e813\":\"Verktøyinnhald\",\"tool_placements_3f996c24\":\"Verktøyplasseringar\",\"unable_to_accept_update_fd53a7e2\":\"Kan ikkje oppdatere\",\"unable_to_dismiss_update_df1e32eb\":\"Kan ikkje avvise oppdatering\",\"unable_to_remove_app_4293cb53\":\"Kan ikkje fjerne app\",\"unchanged_aca18e02\":\"[Uendra]\",\"update_tool_7d48ef2a\":\"Oppdater %{tool}\",\"updating_6edbab78\":\"Oppdaterer\",\"upper_limit_of_range_c454a8f2\":\"Øvre grense i området\",\"user_navigation_a097be0f\":\"Brukarnavigering\",\"view_app_center_6c89a3fe\":\"Vis appsenteret\",\"view_app_configurations_52b52441\":\"Vis appkonfigurasjonar\",\"view_name_app_62a2ad8e\":\"Vis %{name}-app\",\"view_toolname_placements_4a5724d1\":\"Vis %{toolName}-plasseringar\",\"we_were_unable_to_activate_the_app_578defe7\":\"Vi kan ikkje aktivere appen.\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"Vi kan ikkje legge til tilgangstoken.\",\"we_were_unable_to_add_the_app_418877ef\":\"Vi kan ikkje legge til appen.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"Vi kan ikkje deaktivere appen.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"Vi kan ikkje oppdatere appen.\",\"weight_9b308e5b\":\"Vekting\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"Vil du godta eller avslå oppdateringa?\",\"would_you_like_to_enable_this_app_ccdf735d\":\"Vil du aktivere denne appen?\",\"xml_configuration_5ea1b942\":\"XML-konfigurasjon\",\"yes_install_tool_f51b3278\":\"Ja, installer verktøy\"},\"pl\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"Tabela zawierająca nazwę schematu oceniana i przyciski do edytowania lub usuwania schematu.\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"Tabela, która zawiera dane schematu oceniania. Każdy rząd zawiera nazwę, maksymalną wartość procentową i minimalną wartość procentową. Ponadto każdy rząd zawiera ikonę pozwalającą dodać nowy rząd poniżej, a także ikonę pozwalającą usunąć bieżący rząd.\",\"accept_2fdd362e\":\"Akceptuj\",\"access_token_3be22221\":\"Token dostępu\",\"account_navigation_80bbefd4\":\"Nawigacja konta\",\"actions_efcde10d\":\"Akcje\",\"add_app_baf540f\":\"Dodaj aplikację\",\"add_grading_scheme_81e23c05\":\"Dodaj schemat oceniania\",\"all_4321c3a1\":\"Wszystkie\",\"all_changes_were_saved_f6f3ddcc\":\"Wszystkie zmiany zostały zapisane\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"Wszystkie pola zawierające daty muszą być aktualne i poprawnie sformatowane\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"Wszystkie okresy klasyfikacyjne muszą mieć przyznane tytuły\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"Wszystkie daty rozpoczęcia muszą wypadać przed datą zakończenia\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"Zezwól temu narzędziu na dostęp do nazw IMS oraz usługi rezerwowania roli.\",\"an_update_is_available_for_toolname_bba3fa2\":\"Istnieje możliwość aktualizacji dla %{toolName}\",\"anonymous_e1b8ad27\":\"Anonimowy\",\"app_b157c2b3\":\"Aplikacja\",\"app_placements_6d877225\":\"Miejsca docelowe aplikacji\",\"app_reregistration_87cc8817\":\"Ponowna rejestracja aplikacji\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} został zainstalowany przed administratora i jest zablokowany\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} został zainstalowany przed kurs główny i jest zablokowany\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} został zainstalowany przed kurs główny\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"Dzięki aplikacjom można w łatwy sposób dodawać nowe funkcje do systemu Canvas. Można je dodawać do indywidualnych kursów lub do wszystkich kursów w koncie. Po skonfigurowaniu można je połączyć dzięki modułom kursu i utworzyć zadania dla narzędzi do oceny.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"Czy na pewno chcesz usunąć ten okres oceniania?\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"Czy na pewno chcesz usunąć ten schemat oceniania?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"Czy na pewno chcesz usunąć to narzędzie?\",\"assignment_edit_6dced39f\":\"Edytuj zadanie\",\"assignment_menu_91fe3716\":\"Menu zadań\",\"assignment_selection_6bff05c4\":\"Wybór Zadania\",\"assignment_view_1206a60b\":\"Widok zadania\",\"back_to_app_center_95420d83\":\"Powrót do centrum aplikacji\",\"by_lti_2_registration_url_e421e523\":\"Według adresu rejestracyjnego URL LTI 2\",\"by_url_a163275e\":\"Według adresu URL\",\"cancel_caeb1e68\":\"Anuluj\",\"close_d634289d\":\"Zamknij\",\"close_date_a2f617b3\":\"Data zamknięcia\",\"collaboration_71c024f4\":\"Projekt współpracy\",\"config_url_e96ceaf3\":\"Konfiguruj adres URL\",\"configuration_type_25a084a4\":\"Typ konfiguracji\",\"configure_ecb97e30\":\"Konfiguracja\",\"configure_tool_app_3b1bb50b\":\"Skonfigurować aplikację %{tool}?\",\"configure_toolname_app_651371be\":\"Skonfigurować aplikację %{toolName}?\",\"consumer_key_6f94ba11\":\"Klucz klienta\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(poziom %{context})\",\"count_apps_found_f4d86860\":\"%{count} aplikacji odnaleziono\",\"course_assignments_menu_fa6aeb23\":\"Menu zadań kursu\",\"course_home_sub_navigation_b1ee6b03\":\"Podnawigacja główna kursu\",\"course_navigation_dd035109\":\"Nawigowanie po kursie\",\"course_settings_sub_navigation_b95deae\":\"Podnawigacja ustawień kursu\",\"custom_fields_fc3e55af\":\"Pola niestandardowe\",\"delete_a6efa79d\":\"Usuń\",\"delete_grading_period_dba36e59\":\"Usunąć okres oceniania\",\"delete_grading_scheme_6b308832\":\"Usuń schemat oceniania\",\"delete_tool_app_9c9f6d35\":\"Usunąć aplikację %{tool}?\",\"delete_toolname_app_85f9d4ee\":\"Usuń aplikację %{toolName}\",\"description_436c48d7\":\"Opis\",\"disable_a5c05db3\":\"Wyłącz\",\"disable_toolname_44d6397c\":\"Wyłącz %{toolName}\",\"disabled_18c33a73\":\"(wyłączone)\",\"discussion_topic_menu_3d4684c6\":\"Menu tematów dyskusyjnych\",\"dismiss_dacdb625\":\"Odrzuć\",\"domain_3b54c511\":\"Domena\",\"e_mail_only_2cc5e513\":\"Tylko e-mail\",\"edit_app_b0cc1c17\":\"Edytuj aplikację\",\"edit_c5fbea07\":\"Edytuj\",\"edit_grading_scheme_53091236\":\"Edytuj schemat oceniania\",\"edit_toolname_app_23cfbb8\":\"Edytuj aplikację %{toolName}\",\"editor_button_6647db9c\":\"Przycisk edytora\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"Musisz ustawić url albo domenę\",\"enable_6f5d1328\":\"Uaktywnij\",\"enable_toolname_dc64c25a\":\"Włącz %{toolName}\",\"end_date_e0093ed7\":\"Data zakończenia\",\"enter_the_access_token_for_your_organization_from__38b84fd1\":\"Wprowadź token dostępu dla swojej organizacji z                     *eduappcenter.com*. Po zastosowaniu, tylko aplikacje zatwierdzone przez Twoją organizację w                       EduAppCenter zostaną wyszczególnione na stronie Aplikacje zewnętrzne.                     Dowiedz się, jak **utworzyć token dostępu**.\",\"example_https_example_com_config_xml_be5f36ac\":\"Przykład: https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"Przykład: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"Zewnętrzne aplikacje\",\"file_menu_cc0ca54\":\"Menu pliku\",\"filter_by_name_34cbe139\":\"Filtruj wg nazwy\",\"global_navigation_8bee3501\":\"Globalny system nawigacji\",\"grading_aa6de9\":\"Ocenianie\",\"grading_period_name_31ceb3e3\":\"Nazwa okresu oceniania\",\"grading_period_title_23b7f8ac\":\"Tytuł okresu oceniania\",\"grading_period_weight_99b66906\":\"Waga okresu oceniania\",\"grading_periods_81941e66\":\"Okresy oceniania\",\"grading_periods_must_not_overlap_f45336fb\":\"Okresy klasyfikacyjne nie mogą się nakładać z innymi\",\"grading_scheme_deleted_7ae5a072\":\"System klasyfikacji usunięty\",\"grading_scheme_saved_85535151\":\"System klasyfikacji zapisany\",\"grading_schemes_1c3c3252\":\"Schematy oceniania\",\"grading_standard_title_58f540a3\":\"Tytuł standardu oceniania\",\"homework_submission_172e8354\":\"Złożenie pracy domowej\",\"insert_row_below_25187f89\":\"Wstaw rząd poniżej\",\"installed_7b284a91\":\"Zainstalowano\",\"launch_external_tool_672c0409\":\"Uruchom narzędzie zewnętrzne\",\"launch_registration_tool_38d4781\":\"Uruchom narzędzie rejestracji\",\"launch_url_e150bd41\":\"Uruchom adres URL\",\"link_selection_1486c5d0\":\"Wybieranie linka\",\"link_to_lti_tools_608df3b0\":\"Powiąż z narzędziami LTI.\",\"looks_great_e4d883ed\":\"Świetnie!\",\"lower_limit_of_range_6ddd4983\":\"Niższy limit zakresu\",\"lti_1_3_c84fd177\":\"LTI 1.3\",\"lti_1_3_tools_list_ac30b375\":\"Lista narzędzi LTI 1.3\",\"manage_app_list_994cc26c\":\"Zarządzaj listą aplikacji\",\"manage_grading_schemes_in_context_name_e3678273\":\"Zarządzaj schematami oceniania w %{context_name}\",\"manage_update_23de23a1\":\"Zarządzaj aktualizacją\",\"manage_update_for_toolname_f8e3b2fb\":\"Zarządzaj aktualizacją dla %{toolName}\",\"manual_entry_e4a4f99a\":\"Wpis ręczny\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"Wybór migracji\",\"module_menu_3201af4e\":\"Menu modułu\",\"name_1aed4a1b\":\"Nazwa\",\"name_app_has_been_deleted_fb2d9426\":\"Aplikacja %{name} została usunięta\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"Pomyślnie zainstalowano, ale jeszcze nie włączono *name*.\",\"name_is_currently_status_9065c996\":\"*name* jest obecnie **status**.\",\"name_only_5f56718e\":\"Tylko nazwa\",\"no_cancel_installation_db8d12d7\":\"Nie, anuluj instalację\",\"no_grading_schemes_to_display_8b0e92e7\":\"Brak schematów oceniania do wyświetlenia\",\"no_placements_enabled_f705f28\":\"Włączony Brak Miejsc Docelowych\",\"not_installed_37a21a76\":\"Nie zainstalowano\",\"one_per_line_format_name_value_79647700\":\"Pojedynczo w linii. Format: nazwa=wartość\",\"page_menu_2f8bee0\":\"Menu strony\",\"paste_xml_cda3a64e\":\"Wklej XML\",\"placements_5b5e056b\":\"Miejsca docelowe\",\"privacy_290109ea\":\"Prywatność\",\"public_a749f507\":\"Publiczny\",\"quiz_menu_4fcd5e61\":\"Menu testu\",\"range_56b2f310\":\"Zakres\",\"range_name_90614433\":\"Nazwa zakresu\",\"registration_url_60e0eaaa\":\"Adres URL rejestracji\",\"remove_row_c198da5a\":\"Usuń rząd\",\"reregister_9ab95a57\":\"Zarejestruj ponownie\",\"reregister_toolname_3dde0bfc\":\"Zarejestruj ponownie %{toolName}\",\"save_11a80ec3\":\"Zapisz\",\"save_grading_period_daaaddea\":\"Zapisz okres oceniania\",\"saving_d55dd90e\":\"Trwa zapisywanie...\",\"see_some_lti_tools_that_work_great_with_canvas_53e92091\":\"Poznaj narzędzia LTI, które świetnie współpracują z Canvas.\",\"settings_5aa0fd0c\":\"Ustawienia\",\"shared_secret_892c88f2\":\"Wspólny klucz\",\"similarity_detection_dcada48\":\"Wykrywanie podobieństw\",\"start_date_e937be8a\":\"Data rozpoczęcia\",\"status_e7fdbe06\":\"Status\",\"submit_a3cc6859\":\"Prześlij\",\"sync_grades_a16622ca\":\"Synchronizuj oceny\",\"the_app_was_activated_a84e055f\":\"Aplikacja została aktywowana\",\"the_app_was_added_58e2836a\":\"Aplikacja została dodana\",\"the_app_was_added_successfully_3f785a23\":\"Aplikacja została pomyślnie dodana\",\"the_app_was_deactivated_573520ab\":\"Aplikacja została zdezaktywowana\",\"the_app_was_updated_successfully_3d71cd1b\":\"Aplikacja została pomyślnie zaktualizowana\",\"the_following_content_is_partner_provided_ed1da756\":\"Następującą zawartość dostarcza partner\",\"the_following_fields_are_invalid_fields_b3565800\":\"Poniższe pola są nieprawidłowe: %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"Okres klasyfikacyjny został usunięty\",\"the_preceding_content_is_partner_provided_d753928c\":\"Poprzednią zawartość dostarcza partner\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"Wystąpił problem z usunięciem okresu oceniania\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"Wystąpił problem z usunięciem schematu oceniania\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"Wystąpił problem podczas pobierania okresów oceniania\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"Wystąpił błąd podczas zapisywania okresu klasyfikacyjnego\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"Wystąpił problem z zapisaniem schematu oceniania\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"Wystąpił błąd podczas przetwarzania żądania\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"Wystąpił nieznany błąd podczas rejestrowania narzędzia\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"Wystąpiły błędy w formularzu: %{errors}\",\"this_field_is_required_fa58c4a\":\"To pole jest wymagane\",\"this_field_name_is_required_988caebc\":\"\\\"%{name}\\\" tego pola jest wymagana.\",\"this_field_name_is_required_b9196401\":\"„Nazwa” tego pola jest wymagana.\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"To narzędzie już zainstalowano w tym kontekście. Czy chcesz je zainstalować pomimo to?\",\"to_35c6baa2\":\"do \",\"to_minscore_43e5452e\":\"do %{minScore}%\",\"tool_configuration_63cd43b0\":\"Konfiguracja narzędzi\",\"tool_content_e699e813\":\"Zawartość narzędzi\",\"tool_placements_3f996c24\":\"Miejsca docelowe narzędzi\",\"unable_to_accept_update_fd53a7e2\":\"Nie można zaakceptować aktualizacji\",\"unable_to_dismiss_update_df1e32eb\":\"Nie można odrzucić aktualizacji\",\"unable_to_load_lti_1_3_tools_cf169f9\":\"Nie udało się wczytać narzędzi LTI 1.3\",\"unable_to_remove_app_4293cb53\":\"Nie można usunąć aplikacji\",\"unchanged_aca18e02\":\"[Bez zmian]\",\"update_tool_7d48ef2a\":\"Aktualizacja %{tool}\",\"updating_6edbab78\":\"Trwa aktualizacja\",\"upper_limit_of_range_c454a8f2\":\"Wyższy limit zakresu\",\"user_navigation_a097be0f\":\"Nawigacja użytkownika\",\"view_app_center_6c89a3fe\":\"Zobacz centrum aplikacji\",\"view_app_configurations_52b52441\":\"Wyświetl konfiguracje aplikacji\",\"view_name_app_62a2ad8e\":\"Pokaż aplikację %{name}\",\"view_toolname_placements_4a5724d1\":\"Przeglądaj miejsca docelowe %{toolName}\",\"we_were_unable_to_activate_the_app_578defe7\":\"Nie byliśmy w stanie aktywować aplikacji.\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"Nie byliśmy w stanie dodać tokena dostępu.\",\"we_were_unable_to_add_the_app_418877ef\":\"Nie byliśmy w stanie dodać aplikacji.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"Nie byliśmy w stanie zdezaktywować aplikacji.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"Nie byliśmy w stanie zaktualizować aplikacji.\",\"weight_9b308e5b\":\"Waga\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"Czy chcesz zaakceptować czy odrzucić tą aktualizację?\",\"would_you_like_to_enable_this_app_ccdf735d\":\"Czy chcesz włączyć tę aplikację?\",\"xml_configuration_5ea1b942\":\"Konfiguracja XML\",\"yes_install_tool_f51b3278\":\"Tak, zainstaluj narzędzie\"},\"pt\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"Tabela que contém o nome do esquema de avaliação e ícones para editar ou eliminar o esquema.\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"Tabela que contém os dados do esquema de avaliação. Cada linha contém um nome, uma percentagem máxima e uma percentagem mínima. Cada linha contém também um ícone para adicionar uma nova linha abaixo e um ícone para eliminar a linha atual.\",\"accept_2fdd362e\":\"Aceitar\",\"access_token_3be22221\":\"Token de acesso\",\"account_navigation_80bbefd4\":\"Navegação de Conta\",\"actions_efcde10d\":\"Ações\",\"add_app_baf540f\":\"Adicionar aplicação\",\"add_grading_scheme_81e23c05\":\"Adicionar esquema de avaliação\",\"all_4321c3a1\":\"Todos\",\"all_changes_were_saved_f6f3ddcc\":\"Todas as alterações foram guardadas\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"Todos os campos de dados têm de estar apresentados e formatados corretamente\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"Todos os períodos de classificação têm de ter um título\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"Todas as datas de início têm de ser anteriores às datas finais\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"Permita que esta ferramenta acesse o Serviço de Aprovisionamento de Nomes e Funções IMS\",\"an_update_is_available_for_toolname_bba3fa2\":\"Está disponível uma atualização para %{toolName}\",\"anonymous_e1b8ad27\":\"Anónimo\",\"app_b157c2b3\":\"Aplicativo\",\"app_placements_6d877225\":\"Colocação App\",\"app_reregistration_87cc8817\":\"Registar App\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} Foi instalado pelo administrador e está bloqueado\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} Foi instalado pela disciplina de mestrado e está bloqueado\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} Foi instalado pela disciplina de mestrado\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"As aplicações são uma forma fácil de adicionar novas funcionalidades ao Canvas. Podem ser adicionadas a disciplinas individuais ou a todas as disciplinas incluídas numa conta. Depois de configuradas, pode fazer ligações às aplicações através de módulos de disciplinas e criar tarefas para ferramentas de avaliação.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"Tem a certeza de que pretende eliminar este período de avaliação?\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"Tem a certeza de que pretende eliminar este esquema de avaliação?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"Tem a certeza de que pretende remover esta ferramenta?\",\"assignment_edit_6dced39f\":\"Atribuição Editar\",\"assignment_menu_91fe3716\":\"Menu de Tarefas\",\"assignment_selection_6bff05c4\":\"Seleção de Tarefas\",\"assignment_view_1206a60b\":\"Visualização de atribuição\",\"back_to_app_center_95420d83\":\"Voltar ao Centro de Aplicações\",\"by_lti_2_registration_url_e421e523\":\"Por URL de registo LTI 2\",\"by_url_a163275e\":\"Por URL\",\"cancel_caeb1e68\":\"Cancelar\",\"close_d634289d\":\"Fechar\",\"close_date_a2f617b3\":\"Data de Fecho\",\"collaboration_71c024f4\":\"Colaboração\",\"config_url_e96ceaf3\":\"URL Config.\",\"configuration_type_25a084a4\":\"Tipo de configuração\",\"configure_ecb97e30\":\"Configurar\",\"configure_tool_app_3b1bb50b\":\"Configurar %{tool} App?\",\"configure_toolname_app_651371be\":\"Configurar a aplicação %{toolName}\",\"consumer_key_6f94ba11\":\"Chave do cliente\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(nível de %{context})\",\"count_apps_found_f4d86860\":\"%{count} aplicações encontradas\",\"course_assignments_menu_fa6aeb23\":\"Menu de Atribuições de Curso\",\"course_home_sub_navigation_b1ee6b03\":\"Página Inicial de Navegação do Curso\",\"course_navigation_dd035109\":\"Navegação da disciplina\",\"course_settings_sub_navigation_b95deae\":\"Página Inicial de Definições do Curso\",\"custom_fields_fc3e55af\":\"Campos personalizados\",\"delete_a6efa79d\":\"Eliminar\",\"delete_grading_period_dba36e59\":\"Eliminar período de avaliação\",\"delete_grading_scheme_6b308832\":\"Eliminar esquema de avaliação\",\"delete_tool_app_9c9f6d35\":\"Eliminar aplicação %{tool}?\",\"delete_toolname_app_85f9d4ee\":\"Eliminar aplicação %{toolName}\",\"description_436c48d7\":\"Descrição\",\"disable_a5c05db3\":\"Desativar\",\"disable_toolname_44d6397c\":\"Desativar %{toolName}\",\"disabled_18c33a73\":\"(desativado)\",\"discussion_topic_menu_3d4684c6\":\"Menu do Tópico de Discussão\",\"dismiss_dacdb625\":\"Ignorar\",\"domain_3b54c511\":\"Domínio\",\"e_mail_only_2cc5e513\":\"Apenas e-mail\",\"edit_app_b0cc1c17\":\"Editar aplicação\",\"edit_c5fbea07\":\"Editar\",\"edit_grading_scheme_53091236\":\"Editar esquema de avaliação\",\"edit_toolname_app_23cfbb8\":\"Editar aplicação %{toolName}\",\"editor_button_6647db9c\":\"Botão de Editor\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"Deve definir o url ou o domínio.\",\"enable_6f5d1328\":\"Ativar\",\"enable_toolname_dc64c25a\":\"Ativar %{toolName}\",\"end_date_e0093ed7\":\"Data de fim\",\"enter_the_access_token_for_your_organization_from__38b84fd1\":\"Digite o token de acesso para sua organização no                     *eduappcenter.com*. Depois de aplicados, somente as aplicações aprovadas                     EduAppCenter pela sua organização serão listados na página \\\"Aplicações externas\\\".                     Aprenda como **gerar um token de acesso**.\",\"example_https_example_com_config_xml_be5f36ac\":\"Exemplo: https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"Exemplo: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"Aplicações externas\",\"file_menu_cc0ca54\":\"Menu de Ficheiro\",\"filter_by_name_34cbe139\":\"Filtrar por nome\",\"global_navigation_8bee3501\":\"Navegação Global\",\"grading_aa6de9\":\"Pontuação\",\"grading_period_name_31ceb3e3\":\"Nome do período de avaliação\",\"grading_period_title_23b7f8ac\":\"Título do Período de Classificação\",\"grading_period_weight_99b66906\":\"Classificar Peso do Período\",\"grading_periods_81941e66\":\"Períodos de avaliação\",\"grading_periods_must_not_overlap_f45336fb\":\"Os períodos de classificação não devem sobrepor-se\",\"grading_scheme_deleted_7ae5a072\":\"Esquema de pontuação apagado\",\"grading_scheme_saved_85535151\":\"Esquema de pontuação guardado\",\"grading_schemes_1c3c3252\":\"Esquemas de avaliação\",\"grading_standard_title_58f540a3\":\"Título do padrão de avaliação\",\"homework_submission_172e8354\":\"Submeter Trabalho de Casa\",\"insert_row_below_25187f89\":\"Inserir linha abaixo\",\"installed_7b284a91\":\"Instalado\",\"launch_external_tool_672c0409\":\"Lançar Ferramenta Externa\",\"launch_registration_tool_38d4781\":\"Iniciar ferramenta de registo\",\"launch_url_e150bd41\":\"Iniciar URL\",\"link_selection_1486c5d0\":\"Seleção de Ligações\",\"link_to_lti_tools_608df3b0\":\"Link para ferramentas lti.\",\"looks_great_e4d883ed\":\"Fantástico!\",\"lower_limit_of_range_6ddd4983\":\"Limite inferior do intervalo\",\"lti_1_3_c84fd177\":\"LTI 1.3\",\"lti_1_3_tools_list_ac30b375\":\"Lista de Tarefa LTI 1.3\",\"manage_app_list_994cc26c\":\"Gerenciar Lista de App\",\"manage_grading_schemes_in_context_name_e3678273\":\"Gerir esquemas de avaliação em %{context_name}\",\"manage_update_23de23a1\":\"Gerir Carregamento\",\"manage_update_for_toolname_f8e3b2fb\":\"Gerir carregamento para %{toolName}\",\"manual_entry_e4a4f99a\":\"Introdução manual\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"Selecionar Migração\",\"module_menu_3201af4e\":\"Menu de Módulo\",\"name_1aed4a1b\":\"Nome\",\"name_app_has_been_deleted_fb2d9426\":\"A aplicação %{name} foi eliminada\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"*name* foi instalado com sucesso mas ainda não foi ativado.\",\"name_is_currently_status_9065c996\":\"*name* está **status**.\",\"name_only_5f56718e\":\"Apenas nome\",\"no_cancel_installation_db8d12d7\":\"Não, cancelar a instalação\",\"no_grading_schemes_to_display_8b0e92e7\":\"Não há esquemas de avaliação para mostrar\",\"no_placements_enabled_f705f28\":\"Sem Colocações Permitidas\",\"not_installed_37a21a76\":\"Não instalado\",\"one_per_line_format_name_value_79647700\":\"Um por linha. Formato: nome=valor\",\"page_menu_2f8bee0\":\"Menu de Página\",\"paste_xml_cda3a64e\":\"Colar XML\",\"placements_5b5e056b\":\"Colocações\",\"privacy_290109ea\":\"Privacidade\",\"public_a749f507\":\"Público\",\"quiz_menu_4fcd5e61\":\"Menu de Quiz\",\"range_56b2f310\":\"Âmbito\",\"range_name_90614433\":\"Nome do intervalo\",\"registration_url_60e0eaaa\":\"URL de registo\",\"remove_row_c198da5a\":\"Remover linha\",\"reregister_9ab95a57\":\"Voltar a registar\",\"reregister_toolname_3dde0bfc\":\"Voltar a registar %{toolName}\",\"save_11a80ec3\":\"Guardar\",\"save_grading_period_daaaddea\":\"Guardar Período de Classificação\",\"saving_d55dd90e\":\"A guardar...\",\"see_some_lti_tools_that_work_great_with_canvas_53e92091\":\"Ver algumas ferramentas do LTI que funcionam muito bem com o Canvas.\",\"settings_5aa0fd0c\":\"Configurações\",\"shared_secret_892c88f2\":\"Segredo partilhado\",\"similarity_detection_dcada48\":\"Detecção de Similaridade\",\"start_date_e937be8a\":\"Data de início\",\"status_e7fdbe06\":\"Estado\",\"submit_a3cc6859\":\"Enviar\",\"sync_grades_a16622ca\":\"Notas de sincronização\",\"the_app_was_activated_a84e055f\":\"A aplicação foi ativada\",\"the_app_was_added_58e2836a\":\"A aplicação foi adicionada\",\"the_app_was_added_successfully_3f785a23\":\"A aplicação foi adicionada com sucesso\",\"the_app_was_deactivated_573520ab\":\"A aplicação foi desativada\",\"the_app_was_updated_successfully_3d71cd1b\":\"A aplicação foi atualizada com sucesso\",\"the_following_content_is_partner_provided_ed1da756\":\"O parceiro fornece o seguinte conteúdo\",\"the_following_fields_are_invalid_fields_b3565800\":\"Os seguintes campos são inválidos: %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"O período de avaliação foi apagado\",\"the_preceding_content_is_partner_provided_d753928c\":\"O conteúdo anterior é parceiro fornecido\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"Ocorreu um problema ao eliminar o período de avaliação\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"Ocorreu um problema ao eliminar o esquema de avaliação\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"Ocorreu um problema na recuperação do período\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"Houve um problema ao guardar o período de avaliação\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"Ocorreu um problema ao guardar o esquema de avaliação\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"Ocorreu um erro durante o processamento do pedido\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"Ocorreu um erro desconhecido ao registar a ferramenta\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"Ocorreram erros relacionados com o formulário: %{errors}\",\"this_field_is_required_fa58c4a\":\"Este campo é obrigatório\",\"this_field_name_is_required_988caebc\":\"O campo \\\"%{name}\\\" é obrigatório.\",\"this_field_name_is_required_b9196401\":\"O campo \\\"nome\\\" é obrigatório.\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"Esta ferramenta já foi instalada neste contexto. Gostaria de instalá-la de qualquer maneira?\",\"to_35c6baa2\":\"para \",\"to_minscore_43e5452e\":\"para %{minScore}%\",\"tool_configuration_63cd43b0\":\"Configuração de Ferramentas\",\"tool_content_e699e813\":\"Conteúdo de Ferramentas\",\"tool_placements_3f996c24\":\"Colocação de Ferramentas\",\"unable_to_accept_update_fd53a7e2\":\"Não é possível aceder à aplicação\",\"unable_to_dismiss_update_df1e32eb\":\"Não é possível abortar a atualização\",\"unable_to_load_lti_1_3_tools_cf169f9\":\"Não é possível carregar as ferramentas do Lti 1.3\",\"unable_to_remove_app_4293cb53\":\"Não é possível remover a aplicação\",\"unchanged_aca18e02\":\"[Unchanged]\",\"update_tool_7d48ef2a\":\"Atualizar %{tool}\",\"updating_6edbab78\":\"Atualizando\",\"upper_limit_of_range_c454a8f2\":\"Limite superior do intervalo\",\"user_navigation_a097be0f\":\"Navegação de Utilizador\",\"view_app_center_6c89a3fe\":\"Ver Centro de Aplicações\",\"view_app_configurations_52b52441\":\"Ver configurações de aplicação\",\"view_name_app_62a2ad8e\":\"Ver aplicação %{name}\",\"view_toolname_placements_4a5724d1\":\"Ver %{toolName} Colocações\",\"we_were_unable_to_activate_the_app_578defe7\":\"Não foi possível ativar a aplicação.\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"Fomos incapazes de adicionar o token de acesso.\",\"we_were_unable_to_add_the_app_418877ef\":\"Não foi possível adicionar a aplicação.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"Não foi possível desativar a aplicação.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"Não foi possível atualizar a aplicação.\",\"weight_9b308e5b\":\"Peso\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"Gostaria de aceitar ou rejeitar esta atualização?\",\"would_you_like_to_enable_this_app_ccdf735d\":\"Pretende ativar esta aplicação?\",\"xml_configuration_5ea1b942\":\"Configuração XML\",\"yes_install_tool_f51b3278\":\"Sim, Instale a Ferramenta\"},\"pt-BR\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"Uma tabela contendo o nome do esquema de avaliação e botões para editar ou excluir o esquema.\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"Uma tabela que contém dados do esquema de avaliação. Cada linha contém um nome, uma porcentagem máxima e uma porcentagem mínima. Além disso, cada linha contém um botão para adicionar uma nova linha abaixo e um botão para excluir a linha atual.\",\"accept_2fdd362e\":\"Aceitar\",\"access_token_3be22221\":\"Token de acesso\",\"account_navigation_80bbefd4\":\"Navegação da conta\",\"actions_efcde10d\":\"Ações\",\"add_app_baf540f\":\"Adicionar aplicativo\",\"add_grading_scheme_81e23c05\":\"Adicionar esquema de avaliação\",\"all_4321c3a1\":\"Todos\",\"all_changes_were_saved_f6f3ddcc\":\"Todas as alterações foram salvas\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"Todos os campos de data devem estar presente e formatados corretamente\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"Todos os períodos de classificação devem ter um título\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"Todas as datas de início devem ser anterior à data de término\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"Permitir que essa ferramenta acesse os Nomes IMS e Serviço de provisionamento de funções\",\"an_update_is_available_for_toolname_bba3fa2\":\"Uma atualização está disponivel para %{toolName}\",\"anonymous_e1b8ad27\":\"Anônimo\",\"app_b157c2b3\":\"Aplicativo\",\"app_placements_6d877225\":\"Posicionamentos de Aplicativos\",\"app_reregistration_87cc8817\":\"Recadastramento do Aplicativo\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} foi instalado por Administrador e está bloqueado\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} foi instalado pelo curso master e está bloqueado\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} foi instalado pelo curso master\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"Os aplicativos são uma maneira fácil de adicionar novos recursos ao Canvas. Eles podem ser adicionados aos cursos individuais ou a todos os cursos de uma conta. Uma vez configurado, você pode conectar-se a eles através dos módulos dos cursos e criar tarefas para as ferramentas de avaliação.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"Tem certeza de que deseja excluir este período de avaliação?\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"Tem certeza de que deseja excluir este esquema de avaliação?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"Tem certeza de que deseja remover esta ferramenta?\",\"assignment_edit_6dced39f\":\"Edição da tarefa\",\"assignment_menu_91fe3716\":\"Menu de Atribuições\",\"assignment_selection_6bff05c4\":\"Seleção de Atribuição\",\"assignment_view_1206a60b\":\"Visualização da tarefa\",\"back_to_app_center_95420d83\":\"Voltar para o App Center\",\"by_lti_2_registration_url_e421e523\":\"Por URL de registro LTI 2 \",\"by_url_a163275e\":\"Por URL\",\"cancel_caeb1e68\":\"Cancelar\",\"close_d634289d\":\"Fechar\",\"close_date_a2f617b3\":\"Data de fechamento\",\"collaboration_71c024f4\":\"Colaboração\",\"config_url_e96ceaf3\":\"URL de configuração\",\"configuration_type_25a084a4\":\"Tipo de configuração\",\"configure_ecb97e30\":\"Configurar\",\"configure_tool_app_3b1bb50b\":\"Configurar Aplicativo %{tool}?\",\"configure_toolname_app_651371be\":\"Configurar aplicativo %{toolName}\",\"consumer_key_6f94ba11\":\"Chave do cliente\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(%{context} nível)\",\"count_apps_found_f4d86860\":\"%{count} apps encontrados\",\"course_assignments_menu_fa6aeb23\":\"Menu de tarefas do curso\",\"course_home_sub_navigation_b1ee6b03\":\"Sub-Navegação do Início do Curso\",\"course_navigation_dd035109\":\"Navegação do curso\",\"course_settings_sub_navigation_b95deae\":\"Sub-Navegação de Configurações do Curso\",\"custom_fields_fc3e55af\":\"Campos personalizados\",\"delete_a6efa79d\":\"Excluir\",\"delete_grading_period_dba36e59\":\"Excluir período de classificação\",\"delete_grading_scheme_6b308832\":\"Excluir esquema de avaliação\",\"delete_tool_app_9c9f6d35\":\"Excluir %{tool} App?\",\"delete_toolname_app_85f9d4ee\":\"Excluir %{toolName} App\",\"description_436c48d7\":\"Descrição\",\"disable_a5c05db3\":\"Desativar\",\"disable_toolname_44d6397c\":\"Desativar %{toolName}\",\"disabled_18c33a73\":\"(desativado)\",\"discussion_topic_menu_3d4684c6\":\"Menu de Assuntos de Discussão\",\"dismiss_dacdb625\":\"Descartar\",\"domain_3b54c511\":\"Domínio\",\"e_mail_only_2cc5e513\":\"E-mail somente\",\"edit_app_b0cc1c17\":\"Editar aplicativo\",\"edit_c5fbea07\":\"Editar\",\"edit_grading_scheme_53091236\":\"Editar esquema de avaliação\",\"edit_toolname_app_23cfbb8\":\"Editar %{toolName} App\",\"editor_button_6647db9c\":\"Botão do Editor\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"A url ou o domínio devem ser configurados.\",\"enable_6f5d1328\":\"Ativar\",\"enable_toolname_dc64c25a\":\"Ativar %{toolName}\",\"end_date_e0093ed7\":\"Data de término\",\"enter_the_access_token_for_your_organization_from__38b84fd1\":\"Insira o token de acesso para a sua organização a partir de                       *eduappcenter.com*. Quando aplicado, apenas apps que a sua organização aprovou no                       EduAppCenter serão listados na página Apps externos.                     Saiba como **gerar um token de acesso**.\",\"example_https_example_com_config_xml_be5f36ac\":\"Exemplo: https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"Exemplo: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"Aplicativos externos\",\"file_menu_cc0ca54\":\"Menu de Pastas\",\"filter_by_name_34cbe139\":\"Filtrar por nome\",\"global_navigation_8bee3501\":\"Navegação Global\",\"grading_aa6de9\":\"Pontuação\",\"grading_period_name_31ceb3e3\":\"Nome do período de pontuação\",\"grading_period_title_23b7f8ac\":\"Título do Período de Pontuação\",\"grading_period_weight_99b66906\":\"Peso do Período da Classificação\",\"grading_periods_81941e66\":\"Períodos de pontuação\",\"grading_periods_must_not_overlap_f45336fb\":\"Períodos de classificação não devem se sobrepor\",\"grading_scheme_deleted_7ae5a072\":\"Esquema de pontuação excluído\",\"grading_scheme_saved_85535151\":\"Esquema de pontuação salvo\",\"grading_schemes_1c3c3252\":\"Esquemas de avaliação\",\"grading_standard_title_58f540a3\":\"Título padrão da pontuação\",\"homework_submission_172e8354\":\"Submissão de Tarefa de Casa\",\"insert_row_below_25187f89\":\"Inserir linha abaixo\",\"installed_7b284a91\":\"Instalado\",\"launch_external_tool_672c0409\":\"Lançar Ferramenta Externa\",\"launch_registration_tool_38d4781\":\"Iniciar ferramenta de registro\",\"launch_url_e150bd41\":\"Iniciar URL\",\"link_selection_1486c5d0\":\"Seleção de Link\",\"link_to_lti_tools_608df3b0\":\"Vincular a ferramentas lti.\",\"looks_great_e4d883ed\":\"Parece ótimo!\",\"lower_limit_of_range_6ddd4983\":\"Menor limite do intervalo\",\"lti_1_3_c84fd177\":\"LTI 1.3\",\"lti_1_3_tools_list_ac30b375\":\"Lista de ferramentas do LTI 1.3\",\"manage_app_list_994cc26c\":\"Gerenciar a Lista de Aplicativos\",\"manage_grading_schemes_in_context_name_e3678273\":\"Gerenciar esquemas de avaliação em %{context_name}\",\"manage_update_23de23a1\":\"Gerenciar Atualização\",\"manage_update_for_toolname_f8e3b2fb\":\"Gerenciar atualização para %{toolName}\",\"manual_entry_e4a4f99a\":\"Inserção manual\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"Seleção de Migração\",\"module_menu_3201af4e\":\"Menu de Módulos\",\"name_1aed4a1b\":\"Nome\",\"name_app_has_been_deleted_fb2d9426\":\"O aplicativo %{name} foi excluído\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"*nome* foi instalado com sucesso, mas ainda não foi ativado.\",\"name_is_currently_status_9065c996\":\"*nome* é atualmente **status**.\",\"name_only_5f56718e\":\"Somente nome\",\"no_cancel_installation_db8d12d7\":\"Não, cancelar instalação\",\"no_grading_schemes_to_display_8b0e92e7\":\"Não há esquemas de pontuação a serem exibidos\",\"no_placements_enabled_f705f28\":\"Nenhum Posicionamento Ativado\",\"not_installed_37a21a76\":\"Não instalado\",\"one_per_line_format_name_value_79647700\":\"Um por linha. Formato: nome=valor\",\"page_menu_2f8bee0\":\"Menu da Página\",\"paste_xml_cda3a64e\":\"Colar XML\",\"placements_5b5e056b\":\"Posicionamentos \",\"privacy_290109ea\":\"Privacidade\",\"public_a749f507\":\"Público\",\"quiz_menu_4fcd5e61\":\"Menu de Teste\",\"range_56b2f310\":\"Intervalo\",\"range_name_90614433\":\"Nome do intervalo\",\"registration_url_60e0eaaa\":\"URL de registro\",\"remove_row_c198da5a\":\"Remover linha\",\"reregister_9ab95a57\":\"Matricular novamente\",\"reregister_toolname_3dde0bfc\":\"Matricular %{toolName}\",\"save_11a80ec3\":\"Salvar\",\"save_grading_period_daaaddea\":\"Salvar Período de Pontuação\",\"saving_d55dd90e\":\"Salvando...\",\"see_some_lti_tools_that_work_great_with_canvas_53e92091\":\"Ver algumas ferramentas LTI que funcionam muito bem com Canvas.\",\"settings_5aa0fd0c\":\"Configurações\",\"shared_secret_892c88f2\":\"Segredo compartilhado\",\"similarity_detection_dcada48\":\"Detecção de similaridade\",\"start_date_e937be8a\":\"Data de início\",\"status_e7fdbe06\":\"Status\",\"submit_a3cc6859\":\"Enviar\",\"sync_grades_a16622ca\":\"Sincronizar notas\",\"the_app_was_activated_a84e055f\":\"O aplicativo foi ativado\",\"the_app_was_added_58e2836a\":\"O app foi adicionado\",\"the_app_was_added_successfully_3f785a23\":\"O app foi adicionado com êxito\",\"the_app_was_deactivated_573520ab\":\"O aplicativo foi desativado\",\"the_app_was_updated_successfully_3d71cd1b\":\"O app foi atualizado com êxito\",\"the_following_content_is_partner_provided_ed1da756\":\"O seguinte conteúdo é fornecido por parceiro\",\"the_following_fields_are_invalid_fields_b3565800\":\"Os seguintes campos são inválidos: %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"O período de avaliação foi excluido\",\"the_preceding_content_is_partner_provided_d753928c\":\"O conteúdo precedente é fornecido por parceiro\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"Houve um problema ao excluir o período de pontuação\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"Ocorreu um problema ao excluir o esquema de avaliação\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"Houve um problema ao buscar os períodos\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"Houve um problema ao salvar o período de avaliação\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"Ocorreu um problema ao salvar o esquema de avaliação\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"Ocorreu um erro ao processar seu pedido\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"Houve um erro desconhecido ao registrar a ferramenta\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"Ocorreram erros no formulário: %{errors}\",\"this_field_is_required_fa58c4a\":\"Este campo é obrigatório\",\"this_field_name_is_required_988caebc\":\"Este campo \\\"%{name}\\\" é obrigatório.\",\"this_field_name_is_required_b9196401\":\"Este campo \\\"name\\\" é obrgatório.\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"Essa ferramenta já foi instalada nesse contexto. Gostaria de instalá-la de qualquer forma?\",\"to_35c6baa2\":\"para \",\"to_minscore_43e5452e\":\"para %{minScore}%\",\"tool_configuration_63cd43b0\":\"Configuração de Ferramentas\",\"tool_content_e699e813\":\"Conteúdo de Ferramentas\",\"tool_placements_3f996c24\":\"Colocações de Ferramentas\",\"unable_to_accept_update_fd53a7e2\":\"Não foi possível aceitar atualização\",\"unable_to_dismiss_update_df1e32eb\":\"Não foi possível descartar atualização\",\"unable_to_load_lti_1_3_tools_cf169f9\":\"Incapaz de carregar ferramentas de Lti 1.3\",\"unable_to_remove_app_4293cb53\":\"Não foi possível remover o app\",\"unchanged_aca18e02\":\"[Inalterado]\",\"update_tool_7d48ef2a\":\"Atualizar %{tool}\",\"updating_6edbab78\":\"Atualizando\",\"upper_limit_of_range_c454a8f2\":\"Maior limite do intervalo\",\"user_navigation_a097be0f\":\"Navegação de Usuário\",\"view_app_center_6c89a3fe\":\"Exibir App Center\",\"view_app_configurations_52b52441\":\"Exibir configurações de aplicativos\",\"view_name_app_62a2ad8e\":\"Exibir %{name} app\",\"view_toolname_placements_4a5724d1\":\"Ver posicionamentos de %{toolName}\",\"we_were_unable_to_activate_the_app_578defe7\":\"Não conseguimos ativar o aplicativo.\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"Não conseguimos adicionar o token de acesso.\",\"we_were_unable_to_add_the_app_418877ef\":\"Não conseguimos adicionar o app.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"Não conseguimos desativar o aplicativo.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"Não conseguimos atualizar o app.\",\"weight_9b308e5b\":\"Peso\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"Você deseja aceitar ou rejeitar esta atualização?\",\"would_you_like_to_enable_this_app_ccdf735d\":\"Deseja ativar esse aplicativo?\",\"xml_configuration_5ea1b942\":\"Configuração XML\",\"yes_install_tool_f51b3278\":\"Sim, instalar ferramenta\"},\"ru\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"Таблица содержит название схемы оценок и кнопки для редактирования или удаления схемы.\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"Таблица, содержащая данные схемы оценок. Каждая строка содержит имя, минимальное и максимальное процентное значение. Кроме того, каждая строка содержит кнопку для добавления новой строки снизу и кнопку для удаления текущей строки.\",\"accept_2fdd362e\":\"Принять\",\"access_token_3be22221\":\"Маркер доступа\",\"account_navigation_80bbefd4\":\"Навигация по аккаунту\",\"actions_efcde10d\":\"Действия \",\"add_app_baf540f\":\"Добавить приложение\",\"add_grading_scheme_81e23c05\":\"Добавить схему оценок\",\"all_4321c3a1\":\"Всё\",\"all_changes_were_saved_f6f3ddcc\":\"Все изменения были сохранены\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"Все поля с датами должны присутствовать и быть правильно отформатированными\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"Все периоды оценивания должны иметь название\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"Все даты начала должны быть раньше даты окончания\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"Разрешить этому инструменту доступ к IMS Names и службе присвоения ролей Role Provisioning\",\"an_update_is_available_for_toolname_bba3fa2\":\"Доступно обновление для %{toolName}\",\"anonymous_e1b8ad27\":\"Анонимно\",\"app_b157c2b3\":\"Приложение\",\"app_placements_6d877225\":\"Размещение приложений\",\"app_reregistration_87cc8817\":\"Перерегистрация приложения\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} был установлен администратором и заблокирован\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} был установлен руководителем курса и заблокирован\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} был установлен руководителем курса\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"Приложения являются простым способом добавления новых функций в Canvas. Они могут добавляться к отдельному курсу, либо ко всем курсам учетной записи. После настройки вы можете связать их с помощью модулей курса и создать задания для инструментов проверки знаний.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"Вы уверены, что хотите удалить этот период выставления оценок?\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"Вы уверены, что хотите удалить эту схему оценок?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"Вы уверены, что хотите удалить этот инструмент?\",\"assignment_edit_6dced39f\":\"Редактирование тестирования\",\"assignment_menu_91fe3716\":\"Меню заданий\",\"assignment_selection_6bff05c4\":\"Выбор заданий\",\"assignment_view_1206a60b\":\"Представление тестирования\",\"back_to_app_center_95420d83\":\"Вернуться в App Center\",\"by_lti_2_registration_url_e421e523\":\"С помощью URL-адреса регистрации LTI 2\",\"by_url_a163275e\":\"По URL-адресу\",\"cancel_caeb1e68\":\"Отменить\",\"close_d634289d\":\"Закрыть\",\"close_date_a2f617b3\":\"Дата закрытия\",\"collaboration_71c024f4\":\"Совместные работы\",\"config_url_e96ceaf3\":\"Настройка URL-адреса\",\"configuration_type_25a084a4\":\"Тип конфигурации\",\"configure_ecb97e30\":\"Конфигурация\",\"configure_tool_app_3b1bb50b\":\"Сконфигурировать приложение %{tool}?\",\"configure_toolname_app_651371be\":\"Настроить приложение %{toolName}\",\"consumer_key_6f94ba11\":\"Пользовательский ключ\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(%{context}уровень)\",\"count_apps_found_f4d86860\":\"%{count} найдены приложения\",\"course_assignments_menu_fa6aeb23\":\"Меню заданий курса\",\"course_home_sub_navigation_b1ee6b03\":\"Субнавигация главной страницы курса\",\"course_navigation_dd035109\":\"Навигация по курсу\",\"course_settings_sub_navigation_b95deae\":\"Субнавигация настроек курса\",\"custom_fields_fc3e55af\":\"Пользовательские поля\",\"delete_a6efa79d\":\"Удалить\",\"delete_grading_period_dba36e59\":\"Удалить период выставления оценок\",\"delete_grading_scheme_6b308832\":\"Удалить схему оценок\",\"delete_tool_app_9c9f6d35\":\"Удалить приложение %{tool}?\",\"delete_toolname_app_85f9d4ee\":\"Удалить приложение %{toolName}\",\"description_436c48d7\":\"Описание\",\"disable_a5c05db3\":\"Отключить\",\"disable_toolname_44d6397c\":\"Отключить %{toolName}\",\"disabled_18c33a73\":\"(отключено)\",\"discussion_topic_menu_3d4684c6\":\"Меню Темы обсуждений\",\"dismiss_dacdb625\":\"Отклонить\",\"domain_3b54c511\":\"Домен\",\"e_mail_only_2cc5e513\":\"Только электронная почта\",\"edit_app_b0cc1c17\":\"Редактировать приложение\",\"edit_c5fbea07\":\"Редактировать\",\"edit_grading_scheme_53091236\":\"Редактировать схему оценок\",\"edit_toolname_app_23cfbb8\":\"Редактировать приложение %{toolName}\",\"editor_button_6647db9c\":\"Кнопка редактора\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"Должен быть установлен либо URL-адрес, либо домен.\",\"enable_6f5d1328\":\"Включить\",\"enable_toolname_dc64c25a\":\"Включить %{toolName}\",\"end_date_e0093ed7\":\"Дата окончания\",\"enter_the_access_token_for_your_organization_from__38b84fd1\":\"Введите токен доступа для своей организации из                     *eduappcenter.com*. После применения только приложения, одобренные вашей организацией в                     EduAppCenter, будут отображаться на странице внешних приложений.                     Ознакомьтесь с порядком **генерирования токена доступа**.\",\"example_https_example_com_config_xml_be5f36ac\":\"Пример: https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"Пример: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"Внешние приложения\",\"file_menu_cc0ca54\":\"Меню Файл\",\"filter_by_name_34cbe139\":\"Сортировать по имени\",\"global_navigation_8bee3501\":\"Глобальная навигация\",\"grading_aa6de9\":\"Аттестация\",\"grading_period_name_31ceb3e3\":\"Название периода выставления оценок\",\"grading_period_title_23b7f8ac\":\"Название Периода оценивания\",\"grading_period_weight_99b66906\":\"Весовой коэффициент периода оценки успеваемости\",\"grading_periods_81941e66\":\"Интервалы оценки\",\"grading_periods_must_not_overlap_f45336fb\":\"Периоды оценивания не должны пересекаться\",\"grading_scheme_deleted_7ae5a072\":\"Схема оценивания удалена\",\"grading_scheme_saved_85535151\":\"Схема оценивания сохранена\",\"grading_schemes_1c3c3252\":\"Схемы оценок\",\"grading_standard_title_58f540a3\":\"Заголовок стандарта оценки\",\"homework_submission_172e8354\":\"Сдача домашнего задания\",\"insert_row_below_25187f89\":\"Вставить строку снизу\",\"installed_7b284a91\":\"Установлено\",\"launch_external_tool_672c0409\":\"Запуск внешнего инструмента\",\"launch_registration_tool_38d4781\":\"Запустить инструмент регистрации\",\"launch_url_e150bd41\":\"URL-адрес запуска\",\"link_selection_1486c5d0\":\"Выбор ссылки\",\"link_to_lti_tools_608df3b0\":\"Ссылка на инструменты lti.\",\"looks_great_e4d883ed\":\"Выглядит отлично!\",\"lower_limit_of_range_6ddd4983\":\"Нижняя граница диапазона\",\"lti_1_3_c84fd177\":\"LTI 1.3\",\"lti_1_3_tools_list_ac30b375\":\"Список инструментов LTI 1.3\",\"manage_app_list_994cc26c\":\"Управление списком приложений\",\"manage_grading_schemes_in_context_name_e3678273\":\"Управление схемами оценок в %{context_name}\",\"manage_update_23de23a1\":\"Управлять обновлением\",\"manage_update_for_toolname_f8e3b2fb\":\"Управлять обновлением для %{toolName}\",\"manual_entry_e4a4f99a\":\"Ручной ввод\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"Выбор переноса\",\"module_menu_3201af4e\":\"Меню Модуль\",\"name_1aed4a1b\":\"Имя\",\"name_app_has_been_deleted_fb2d9426\":\"Приложение %{name} было удалено\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"*имя* было успешно установлено, но пока не включено.\",\"name_is_currently_status_9065c996\":\"*имя* в данный момент **статус**.\",\"name_only_5f56718e\":\"Только имя\",\"no_cancel_installation_db8d12d7\":\"Нет, отменить установку\",\"no_grading_schemes_to_display_8b0e92e7\":\"Отсутствуют схемы оценок для отображения\",\"no_placements_enabled_f705f28\":\"Нет включенных размещений\",\"not_installed_37a21a76\":\"Не установлено\",\"one_per_line_format_name_value_79647700\":\"По одному на строку. Формат: имя=значение\",\"page_menu_2f8bee0\":\"Меню страницы\",\"paste_xml_cda3a64e\":\"Вставить XML\",\"placements_5b5e056b\":\"Размещения\",\"privacy_290109ea\":\"Конфиденциальность\",\"public_a749f507\":\"Общедоступный\",\"quiz_menu_4fcd5e61\":\"Меню Тесты\",\"range_56b2f310\":\"Диапазон\",\"range_name_90614433\":\"Имя диапазона\",\"registration_url_60e0eaaa\":\"URL-адрес регистрации\",\"remove_row_c198da5a\":\"Удалить строку\",\"reregister_9ab95a57\":\"Перерегистрировать\",\"reregister_toolname_3dde0bfc\":\"Перерегистрировать %{toolName}\",\"save_11a80ec3\":\"Сохранить\",\"save_grading_period_daaaddea\":\"Сохранить Период оценивания\",\"saving_d55dd90e\":\"Сохранение...\",\"see_some_lti_tools_that_work_great_with_canvas_53e92091\":\"Просмотрите некоторые инструменты LTI, которые отлично работают с Canvas.\",\"settings_5aa0fd0c\":\"Настройки\",\"shared_secret_892c88f2\":\"Общий секретный ключ\",\"similarity_detection_dcada48\":\"Обнаружение сходства\",\"start_date_e937be8a\":\"Дата начала\",\"status_e7fdbe06\":\"Состояние\",\"submit_a3cc6859\":\"Отправить\",\"sync_grades_a16622ca\":\"Синхрониз. оценки\",\"the_app_was_activated_a84e055f\":\"Приложение активировано\",\"the_app_was_added_58e2836a\":\"Приложение добавлено\",\"the_app_was_added_successfully_3f785a23\":\"Приложение успешно добавлено\",\"the_app_was_deactivated_573520ab\":\"Приложение деактивировано\",\"the_app_was_updated_successfully_3d71cd1b\":\"Приложение успешно обновлено\",\"the_following_content_is_partner_provided_ed1da756\":\"Последующий контент предоставляется партнером\",\"the_following_fields_are_invalid_fields_b3565800\":\"Следующие поля являются недействительными: %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"Период оценивания был удален\",\"the_preceding_content_is_partner_provided_d753928c\":\"Предыдущий контент предоставляется партнером\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"Возникла проблема при удалении схемы оценок\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"Возникла проблема при удалении схемы оценок.\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"Возникла проблема при извлечении периодов\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"Возникла проблема при сохранении периода оценивания.\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"Возникла проблема при сохранении схемы оценок.\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"Произошла ошибка при обработке вашего запроса\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"Неизвестная ошибка во время регистрации инструмента\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"Ошибки в форме: %{errors}\",\"this_field_is_required_fa58c4a\":\"Необходимо заполнить это поле\",\"this_field_name_is_required_988caebc\":\"Необходимо заполнить поле \\\"%{name}\\\"\",\"this_field_name_is_required_b9196401\":\"Необходимо заполнить поле \\\" name\\\"\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"Этот инструмент уже был установлен в данном контексте. Вы все равно хотите установить его?\",\"to_35c6baa2\":\"для \",\"to_minscore_43e5452e\":\"для %{minScore}\",\"tool_configuration_63cd43b0\":\"Настройка инструментов\",\"tool_content_e699e813\":\"Контент Инструмента\",\"tool_placements_3f996c24\":\"Размещение инструментов\",\"unable_to_accept_update_fd53a7e2\":\"Невозможно принять обновление\",\"unable_to_dismiss_update_df1e32eb\":\"Невозможно отклонить обновление\",\"unable_to_load_lti_1_3_tools_cf169f9\":\"Невозможно загрузить инструменты Lti 1.3\",\"unable_to_remove_app_4293cb53\":\"Невозможно удалить приложение.\",\"unchanged_aca18e02\":\"[Без изменений]\",\"update_tool_7d48ef2a\":\"Обновить %{tool}\",\"updating_6edbab78\":\"Обновление\",\"upper_limit_of_range_c454a8f2\":\"Верхняя граница диапазона\",\"user_navigation_a097be0f\":\"Навигация пользователя\",\"view_app_center_6c89a3fe\":\"Просмотреть App Center\",\"view_app_configurations_52b52441\":\"Просмотреть конфигурации приложения\",\"view_name_app_62a2ad8e\":\"Просмотреть приложение %{name}\",\"view_toolname_placements_4a5724d1\":\"Просмотреть размещения %{toolName}\",\"we_were_unable_to_activate_the_app_578defe7\":\"Не удалось активировать приложение.\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"Нам не удалось добавить маркер доступа.\",\"we_were_unable_to_add_the_app_418877ef\":\"Не удалось добавить приложение.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"Не удалось деактивировать приложение.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"Не удалось обновить приложение.\",\"weight_9b308e5b\":\"Вес\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"Вы хотите принять или отменить это приложение?\",\"would_you_like_to_enable_this_app_ccdf735d\":\"Вы бы хотели включить это приложение?\",\"xml_configuration_5ea1b942\":\"Конфигурация XML\",\"yes_install_tool_f51b3278\":\"Да, установить инструмент\"},\"sl\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"Preglednica, ki vsebuje ime ocenjevalne sheme in gumbe za urejanje ali odstranjevanje sheme.\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"Preglednica, ki vsebuje podatke o ocenjevalni shemi. V vsaki vrstici so ime ter največji in najmanjši odstotek. Poleg tega sta v vsaki vrstici gumb za dodajanje nove vrstice spodaj in gumb za brisanje trenutne vrstice.\",\"accept_2fdd362e\":\"Sprejmi\",\"access_token_3be22221\":\"Žeton za dostop\",\"account_navigation_80bbefd4\":\"Navigacija po računu\",\"actions_efcde10d\":\"Dejanja\",\"add_app_baf540f\":\"Dodaj aplikacijo\",\"add_grading_scheme_81e23c05\":\" Dodaj ocenjevalno shemo\",\"all_4321c3a1\":\"Vse\",\"all_changes_were_saved_f6f3ddcc\":\"Vse spremembe so shranjene.\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"Vsa polja datumov morajo biti prisotna in pravilno oblikovana.\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"Vsa ocenjevalna obdobja morajo imeti naslov.\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"Vsi datumi začetka morajo biti pred datumom konca.\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"Dovoli temu orodju dostop do storitve IMS za zagotavljanje imen in vlog\",\"an_update_is_available_for_toolname_bba3fa2\":\"Na voljo je posodobitev za %{toolName}\",\"anonymous_e1b8ad27\":\"Anonimni uporabnik\",\"app_b157c2b3\":\"Aplikacija\",\"app_placements_6d877225\":\"Umestitve aplikacij\",\"app_reregistration_87cc8817\":\"Ponovna registracija aplikacij\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} je namestil skrbnik in je zaklenjena.\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} je namestil glavni predmet in je zaklenjena.\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} je namestil glavni predmet.\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"Aplikacije so enostaven način dodajanja novih funkcij v sistem Canvas. Dodane so lahko v posamezne predmete ali v vse predmete v računu. Ko so konfigurirane, jih lahko dodate prek modulov predmeta in ustvarjati naloge za orodja ocenjevanja.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"Ali ste prepričani, da želite izbrisati to ocenjevalno obdobje?\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"Ali ste prepričani, da želite izbrisati to ocenjevalno shemo?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"Ali ste prepričani, da želite odstraniti to orodje?\",\"assignment_edit_6dced39f\":\"Urejanje naloge\",\"assignment_menu_91fe3716\":\"Meni naloge\",\"assignment_selection_6bff05c4\":\"Izbira naloge\",\"assignment_view_1206a60b\":\"Ogled naloge\",\"back_to_app_center_95420d83\":\"Nazaj na storitev App Center\",\"by_lti_2_registration_url_e421e523\":\"Z naslovom URL za registracijo LTI 2\",\"by_url_a163275e\":\"Z naslovom URL\",\"cancel_caeb1e68\":\"Prekliči\",\"close_d634289d\":\"Zapri\",\"close_date_a2f617b3\":\"Zapri datum\",\"collaboration_71c024f4\":\"Skupinska naloga\",\"config_url_e96ceaf3\":\"Naslov URL konfiguracijske datoteke\",\"configuration_type_25a084a4\":\"Vrsta konfiguracije\",\"configure_ecb97e30\":\"Konfiguriraj\",\"configure_tool_app_3b1bb50b\":\"Ali želite konfigurirati aplikacijo %{tool}?\",\"configure_toolname_app_651371be\":\"Konfiguriraj aplikacijo %{toolName}\",\"consumer_key_6f94ba11\":\"Potrošniški ključ\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(raven %{context})\",\"count_apps_found_f4d86860\":\"%{count} aplikacij najdenih\",\"course_assignments_menu_fa6aeb23\":\"Meni nalog pri predmetu\",\"course_home_sub_navigation_b1ee6b03\":\"Podnavigacija glavne strani predmeta\",\"course_navigation_dd035109\":\"Navigacija po predmetu\",\"course_settings_sub_navigation_b95deae\":\"Podnavigacija nastavitev predmeta\",\"custom_fields_fc3e55af\":\"Polja po meri\",\"delete_a6efa79d\":\"Odstrani\",\"delete_grading_period_dba36e59\":\"Izbriši ocenjevalno obdobje\",\"delete_grading_scheme_6b308832\":\"Izbriši ocenjevalno shemo\",\"delete_tool_app_9c9f6d35\":\"Ali želite izbrisati aplikacijo %{tool}?\",\"delete_toolname_app_85f9d4ee\":\"Izbriši aplikacijo %{toolName}\",\"description_436c48d7\":\"Opis\",\"disable_a5c05db3\":\"Onemogoči\",\"disable_toolname_44d6397c\":\"Onemogoči %{toolName}\",\"disabled_18c33a73\":\"(onemogočeno)\",\"discussion_topic_menu_3d4684c6\":\"Meni teme razprave\",\"dismiss_dacdb625\":\"Opusti\",\"domain_3b54c511\":\"Domena\",\"e_mail_only_2cc5e513\":\"Samo e-pošta\",\"edit_app_b0cc1c17\":\"Uredi aplikacijo\",\"edit_c5fbea07\":\"Uredi\",\"edit_grading_scheme_53091236\":\"Uredi ocenjevalno shemo\",\"edit_toolname_app_23cfbb8\":\"Uredi aplikacijo %{toolName}\",\"editor_button_6647db9c\":\"Gumb urejevalnika\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"Nastaviti je treba naslov URL ali domeno.\",\"enable_6f5d1328\":\"Omogoči\",\"enable_toolname_dc64c25a\":\"Omogoči %{toolName}\",\"end_date_e0093ed7\":\"Datum konca\",\"enter_the_access_token_for_your_organization_from__38b84fd1\":\"S spletnega mesta                     *eduappcenter.com* vnesite žeton za dostop za vašo organizacijo. Ko bo uporabljen, bodo na strani                     EduAppCenter »Zunanje aplikacije« navedene le aplikacije, ki jih je odobrila vaša organizacija.                     Naučite se **generirati žeton za dostop**.\",\"example_https_example_com_config_xml_be5f36ac\":\"Primer: https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"Primer: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"Zunanje aplikacije\",\"file_menu_cc0ca54\":\"Meni datoteke\",\"filter_by_name_34cbe139\":\"Filter glede na ime\",\"global_navigation_8bee3501\":\"Glavni meni\",\"grading_aa6de9\":\"Ocenjevanje\",\"grading_period_name_31ceb3e3\":\"Ime ocenjevalnega obdobja\",\"grading_period_title_23b7f8ac\":\"Naslov ocenjevalnega obdobja\",\"grading_period_weight_99b66906\":\"Utež ocenjevalnega obdobja\",\"grading_periods_81941e66\":\"Ocenjevalna obdobja\",\"grading_periods_must_not_overlap_f45336fb\":\"Ocenjevalna obdobja se ne smejo prekrivati.\",\"grading_scheme_deleted_7ae5a072\":\"Ocenjevalna shema je izbrisana.\",\"grading_scheme_saved_85535151\":\"Ocenjevalna shema je shranjena.\",\"grading_schemes_1c3c3252\":\"Ocenjevalne sheme\",\"grading_standard_title_58f540a3\":\"Naslov standarda ocenjevanja\",\"homework_submission_172e8354\":\"Oddaja domače naloge\",\"insert_row_below_25187f89\":\"Vstavi vrstico spodaj\",\"installed_7b284a91\":\"Nameščeno\",\"launch_external_tool_672c0409\":\"Zaženi zunanje orodje\",\"launch_registration_tool_38d4781\":\"Zaženi orodje za registracijo\",\"launch_url_e150bd41\":\"Zaženi naslov URL\",\"link_selection_1486c5d0\":\"Izbira povezave\",\"link_to_lti_tools_608df3b0\":\"Poveži z naslovom orodje LTI\",\"looks_great_e4d883ed\":\"Videti je dobro.\",\"lower_limit_of_range_6ddd4983\":\"Znižaj omejitev razpona\",\"lti_1_3_c84fd177\":\"LTI 1.3\",\"lti_1_3_tools_list_ac30b375\":\"Seznam orodij LTI 1.3\",\"manage_app_list_994cc26c\":\"Urejaj seznam aplikacij\",\"manage_grading_schemes_in_context_name_e3678273\":\"Urejaj ocenjevalne sheme v %{context_name}\",\"manage_update_23de23a1\":\"Urejaj posodobitev\",\"manage_update_for_toolname_f8e3b2fb\":\"Urejaj posodobitev za %{toolName}\",\"manual_entry_e4a4f99a\":\"Ročni vnos\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"Izbira migracije\",\"module_menu_3201af4e\":\"Meni modula\",\"name_1aed4a1b\":\"Ime\",\"name_app_has_been_deleted_fb2d9426\":\"%{name} aplikacija je izbrisana\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"*ime* je uspešno nameščeno, ni pa še omogočeno.\",\"name_is_currently_status_9065c996\":\"*ime* je trenutno **status**.\",\"name_only_5f56718e\":\"Samo ime\",\"no_cancel_installation_db8d12d7\":\"Ne, prekliči namestitev.\",\"no_grading_schemes_to_display_8b0e92e7\":\"Ni ocenjevalnih shem za prikaz.\",\"no_placements_enabled_f705f28\":\"Omogočenih ni nobenih umestitev.\",\"not_installed_37a21a76\":\"Ni nameščeno.\",\"one_per_line_format_name_value_79647700\":\"Eno na vrstico. Oblika: ime = vrednost\",\"page_menu_2f8bee0\":\"Meni strani\",\"paste_xml_cda3a64e\":\"Prilepi datoteko XML\",\"placements_5b5e056b\":\"Umestitve\",\"privacy_290109ea\":\"Zasebnost\",\"public_a749f507\":\"Javno dostopno\",\"quiz_menu_4fcd5e61\":\"Meni kviza\",\"range_56b2f310\":\"Razpon\",\"range_name_90614433\":\"Ime razpona\",\"registration_url_60e0eaaa\":\"Naslov URL za registracijo\",\"remove_row_c198da5a\":\"Odstrani vrstico\",\"reregister_9ab95a57\":\"Ponovno registriraj\",\"reregister_toolname_3dde0bfc\":\"Ponovno registriraj %{toolName}\",\"save_11a80ec3\":\"Shrani\",\"save_grading_period_daaaddea\":\"Shrani ocenjevalno obdobje\",\"saving_d55dd90e\":\"Shranjevanje ...\",\"see_some_lti_tools_that_work_great_with_canvas_53e92091\":\"Ogled nekaterih orodij LTI, ki odlično delujejo s sistemom Canvas.\",\"settings_5aa0fd0c\":\"Nastavitve\",\"shared_secret_892c88f2\":\"Skupna skrivnost\",\"similarity_detection_dcada48\":\"Zaznavanje ujemanja\",\"start_date_e937be8a\":\"Datum začetka\",\"status_e7fdbe06\":\"Status\",\"submit_a3cc6859\":\"Pošlji\",\"sync_grades_a16622ca\":\"Sinhroniziraj ocene\",\"the_app_was_activated_a84e055f\":\"Aplikacija je bila aktivirana.\",\"the_app_was_added_58e2836a\":\"Aplikacija je bila dodana.\",\"the_app_was_added_successfully_3f785a23\":\"Aplikacija je bila uspešno dodana.\",\"the_app_was_deactivated_573520ab\":\"Aplikacija je bila deaktivirana.\",\"the_app_was_updated_successfully_3d71cd1b\":\"Aplikacija je bila uspešno posodobljena.\",\"the_following_content_is_partner_provided_ed1da756\":\"Naslednjo vsebino zagotavljajo partnerji.\",\"the_following_fields_are_invalid_fields_b3565800\":\"Naslednja polja so neveljavna: %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"Ocenjevalno obdobje je bilo izbrisano.\",\"the_preceding_content_is_partner_provided_d753928c\":\"Predhodno vsebino zagotavljajo partnerji.\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"Prišlo je do težave pri brisanju ocenjevalnega obdobja.\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"Prišlo je do težave pri brisanju ocenjevalne sheme.\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"Prišlo je do težave z branjem ocenjevalnih obdobij.\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"Prišlo je do težave pri shranjevanju ocenjevalnega obdobja\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"Prišlo je do težave pri shranjevanju ocenjevalne sheme\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"Prišlo je do napake pri obdelavi vaše zahteve\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"Prišlo je do neznane napake pri registraciji orodja\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"V obrazcu so bile napake: %{errors}\",\"this_field_is_required_fa58c4a\":\"To polje je zahtevano.\",\"this_field_name_is_required_988caebc\":\"To polje »%{name}« je zahtevano.\",\"this_field_name_is_required_b9196401\":\"To »ime« polja je zahtevano.\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"To orodje je bilo v tem kontekstu že nameščeno. Ali ga želite vseeno namestiti?\",\"to_35c6baa2\":\"naslovnik \",\"to_minscore_43e5452e\":\"%{minScore}%\",\"tool_configuration_63cd43b0\":\"Konfiguracija orodja\",\"tool_content_e699e813\":\"Vsebina orodja\",\"tool_placements_3f996c24\":\"Umestitve orodja\",\"unable_to_accept_update_fd53a7e2\":\"Posodobitve ni mogoče sprejeti.\",\"unable_to_dismiss_update_df1e32eb\":\"Posodobitve ni mogoče opustiti.\",\"unable_to_load_lti_1_3_tools_cf169f9\":\"Orodij LTI 1.3 ni mogoče naložiti.\",\"unable_to_remove_app_4293cb53\":\"Aplikacije ni mogoče odstraniti.\",\"unchanged_aca18e02\":\"[Nespremenjeno]\",\"update_tool_7d48ef2a\":\"Posodobi %{tool}\",\"updating_6edbab78\":\"Posodabljanje\",\"upper_limit_of_range_c454a8f2\":\"Zgornja omejitev razpona\",\"user_navigation_a097be0f\":\"Navigacija po uporabniku\",\"view_app_center_6c89a3fe\":\"Ogled storitve App Center\",\"view_app_configurations_52b52441\":\"Ogled konfiguracij aplikacij\",\"view_name_app_62a2ad8e\":\"Ogled aplikacije %{name}\",\"view_toolname_placements_4a5724d1\":\"Ogled umestitev orodja %{toolName}\",\"we_were_unable_to_activate_the_app_578defe7\":\"Aplikacije nismo mogli aktivirati.\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"Žetona za dostop nismo mogli dodati.\",\"we_were_unable_to_add_the_app_418877ef\":\"Aplikacije nismo mogli dodati.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"Aplikacije nismo mogli deaktivirati.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"Aplikacije nismo mogli posodobiti.\",\"weight_9b308e5b\":\"Utež\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"Ali želite to posodobitev sprejeti ali jo opustiti?\",\"would_you_like_to_enable_this_app_ccdf735d\":\"Ali želite omogočiti to aplikacijo?\",\"xml_configuration_5ea1b942\":\"Konfiguracija XML\",\"yes_install_tool_f51b3278\":\"Da, namesti orodje.\"},\"sv\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"En tabell som innehåller namnet på omdömesschemat och knapparna för att ändra eller ta bort schemat.\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"En tabell som innehåller data för omdömesschema. Varje rad innehåller ett namn, ett maximalt procenttal och ett minsta procenttal. Dessutom innehåller varje rad en knapp för att lägga till en ny rad nedan, och en knapp för att ta bort nuvarande rad.\",\"accept_2fdd362e\":\"Acceptera\",\"access_token_3be22221\":\"Tillgångstoken\",\"account_navigation_80bbefd4\":\"Kontonavigering\",\"actions_efcde10d\":\"Handling\",\"add_app_baf540f\":\"Lägg till App\",\"add_grading_scheme_81e23c05\":\"Lägg till omdömesschema\",\"all_4321c3a1\":\"Alla\",\"all_changes_were_saved_f6f3ddcc\":\"Alla ändringar sparades\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"Alla datumfält måste presenteras och formateras korrekt\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"Alla omdömesperioder måste ha en titel\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"Alla startdatum måste vara före slutdatum\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"Tillåt det här verktyget att komma åt IMS-namnen och roll-leverantörstjänsten\",\"an_update_is_available_for_toolname_bba3fa2\":\"En uppdatering finns tillgänglig för %{toolName}\",\"anonymous_e1b8ad27\":\"Anonym\",\"app_b157c2b3\":\"App\",\"app_placements_6d877225\":\"App placering\",\"app_reregistration_87cc8817\":\"App omregistrering\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} installerades av Admin och är låst\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} installerades av master-kursen och är låst\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} installerades av master-kursen\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"Appar erbjuder ett enkelt sätt att lägga till nya funktioner i Canvas. De kan läggas till i enskilda kurser eller till alla kurser i ett konto. När de har konfigurerats kan du länka dem genom kursmoduler och skapa uppgifter för uppgiftsverktyg.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"Är du säker på att du vill radera den här omdömesperioden?\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"Är du säker på att du vill radera det här omdömesschemat?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"Är du säker på att du vill ta bort det här verktyget?\",\"assignment_edit_6dced39f\":\"Uppgiftsredigering\",\"assignment_menu_91fe3716\":\"Uppgiftsmeny\",\"assignment_selection_6bff05c4\":\"Uppgiftssortiment\",\"assignment_view_1206a60b\":\"Uppgiftsvy\",\"back_to_app_center_95420d83\":\"Tillbaka till App center\",\"by_lti_2_registration_url_e421e523\":\"Genom LTI 2 Registrerings URL\",\"by_url_a163275e\":\"Genom URL\",\"cancel_caeb1e68\":\"Avbryt\",\"close_d634289d\":\"Stäng\",\"close_date_a2f617b3\":\"Slutdatum\",\"collaboration_71c024f4\":\"Samarbete\",\"config_url_e96ceaf3\":\"Konfigurera URL\",\"configuration_type_25a084a4\":\"Konfigureringstyp\",\"configure_ecb97e30\":\"Konfigurera\",\"configure_tool_app_3b1bb50b\":\"Konfigurera %{tool} app?\",\"configure_toolname_app_651371be\":\"Konfigurera %{toolName} Appen\",\"consumer_key_6f94ba11\":\"Konsumentnyckel\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(%{context} nivå)\",\"count_apps_found_f4d86860\":\"%{count} apps hittade\",\"course_assignments_menu_fa6aeb23\":\"Kursuppgiftsmeny\",\"course_home_sub_navigation_b1ee6b03\":\"Kurs hem Sub Navigation\",\"course_navigation_dd035109\":\"Kursnavigering\",\"course_settings_sub_navigation_b95deae\":\"Kursinställningar under-navigering\",\"custom_fields_fc3e55af\":\"Anpassade fält\",\"delete_a6efa79d\":\"Radera\",\"delete_grading_period_dba36e59\":\"Radera omdömesperiod\",\"delete_grading_scheme_6b308832\":\"Radera omdömesschema\",\"delete_tool_app_9c9f6d35\":\"Radera %{tool} App?\",\"delete_toolname_app_85f9d4ee\":\"Radera %{toolName} app\",\"description_436c48d7\":\"Beskrivning\",\"disable_a5c05db3\":\"Avaktivera\",\"disable_toolname_44d6397c\":\"Avaktivera %{toolName}\",\"disabled_18c33a73\":\"(avaktiverad)\",\"discussion_topic_menu_3d4684c6\":\"Diskussionsämne meny\",\"dismiss_dacdb625\":\"Avfärda\",\"domain_3b54c511\":\"Domän\",\"e_mail_only_2cc5e513\":\"Endast e-post\",\"edit_app_b0cc1c17\":\"Redigera app\",\"edit_c5fbea07\":\"Redigera\",\"edit_grading_scheme_53091236\":\"Redigera omdömesschema\",\"edit_toolname_app_23cfbb8\":\"Redigera %{toolName} App\",\"editor_button_6647db9c\":\"Redigeringsknapp\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"Uppge url eller domänen som ska ställas in.\",\"enable_6f5d1328\":\"Aktivera\",\"enable_toolname_dc64c25a\":\"Aktivera %{toolName}\",\"end_date_e0093ed7\":\"Slutdatum\",\"enter_the_access_token_for_your_organization_from__38b84fd1\":\"Ange din organisations åtkomsttoken från                     *eduappcenter.com*. Efter tillämpning kommer endast appar som din organisation har godkänt i                     EduAppCenter att visas på sidan Externa appar.                     Läs om hur du **genererar en åtkomsttoken**.\",\"example_https_example_com_config_xml_be5f36ac\":\"Exempel: https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"Exempel: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"Externa Appar\",\"file_menu_cc0ca54\":\"Filmeny\",\"filter_by_name_34cbe139\":\"Filtrera efter namn\",\"global_navigation_8bee3501\":\"Global navigering\",\"grading_aa6de9\":\"Omdömesschema\",\"grading_period_name_31ceb3e3\":\"Omdömesperiodens namn\",\"grading_period_title_23b7f8ac\":\"Namn på omdömesperiod\",\"grading_period_weight_99b66906\":\"Vikt för omdömesperiod\",\"grading_periods_81941e66\":\"Omdömesperioder\",\"grading_periods_must_not_overlap_f45336fb\":\"Omdömesperioder får inte överlappa\",\"grading_scheme_deleted_7ae5a072\":\"Omdömesschema har raderats\",\"grading_scheme_saved_85535151\":\"Omdömesschemat har sparats\",\"grading_schemes_1c3c3252\":\"Omdömesscheman\",\"grading_standard_title_58f540a3\":\"Omdömesstandardens titel\",\"homework_submission_172e8354\":\"Läxinlämning\",\"insert_row_below_25187f89\":\"Lägg till en rad under\",\"installed_7b284a91\":\"Installerad\",\"launch_external_tool_672c0409\":\"Starta externt verktyg\",\"launch_registration_tool_38d4781\":\"Starta registreringsverktyget\",\"launch_url_e150bd41\":\"Starta URL\",\"link_selection_1486c5d0\":\"Länksamling\",\"link_to_lti_tools_608df3b0\":\"Länk till LTI-verktyg\",\"looks_great_e4d883ed\":\"Ser väldigt bra ut!\",\"lower_limit_of_range_6ddd4983\":\"Sänk gränsvidden\",\"lti_1_3_c84fd177\":\"LTI 1.3\",\"lti_1_3_tools_list_ac30b375\":\"LTI 1.3-verktygslista\",\"manage_app_list_994cc26c\":\"Hantera applista\",\"manage_grading_schemes_in_context_name_e3678273\":\"Hantera omdömesscheman i %{context_name}\",\"manage_update_23de23a1\":\"Hantera uppdatering\",\"manage_update_for_toolname_f8e3b2fb\":\"Hantera uppdatering för %{toolName}\",\"manual_entry_e4a4f99a\":\"Manuellt inlägg\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"Migreringsurval\",\"module_menu_3201af4e\":\"Modul-meny\",\"name_1aed4a1b\":\"Namn\",\"name_app_has_been_deleted_fb2d9426\":\"%{name} appen har raderats\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"*namn* har installerats men inte aktiverats än.\",\"name_is_currently_status_9065c996\":\"*namn* är för tillfället **status**\",\"name_only_5f56718e\":\"Endast namn\",\"no_cancel_installation_db8d12d7\":\"Nej, avbryt installation\",\"no_grading_schemes_to_display_8b0e92e7\":\"Inga omdömesscheman att visa\",\"no_placements_enabled_f705f28\":\"Inga placeringar har aktiverats\",\"not_installed_37a21a76\":\"Inte installerad\",\"one_per_line_format_name_value_79647700\":\"En per rad. Format: namn=värde\",\"page_menu_2f8bee0\":\"Sidmeny\",\"paste_xml_cda3a64e\":\"Klistra in XML\",\"placements_5b5e056b\":\"Placeringar\",\"privacy_290109ea\":\"Integritet\",\"public_a749f507\":\"Offentlig\",\"quiz_menu_4fcd5e61\":\"Quizmeny\",\"range_56b2f310\":\"Räckvidd\",\"range_name_90614433\":\"Räckvidd namn\",\"registration_url_60e0eaaa\":\"Registrerings URL\",\"remove_row_c198da5a\":\"Ta bort rad\",\"reregister_9ab95a57\":\"Omregistrera\",\"reregister_toolname_3dde0bfc\":\"Omregistrera %{toolName}\",\"save_11a80ec3\":\"Spara\",\"save_grading_period_daaaddea\":\"Spara omdömesperiod\",\"saving_d55dd90e\":\"Sparar...\",\"see_some_lti_tools_that_work_great_with_canvas_53e92091\":\"Se några LTI-verktyg som fungerar bra med Canvas.\",\"settings_5aa0fd0c\":\"Inställningar\",\"shared_secret_892c88f2\":\"Delad hemlighet\",\"similarity_detection_dcada48\":\"Likhets upptäckning\",\"start_date_e937be8a\":\"Startdatum\",\"status_e7fdbe06\":\"Status\",\"submit_a3cc6859\":\"Lämna in\",\"sync_grades_a16622ca\":\"Synkronisera omdöme\",\"the_app_was_activated_a84e055f\":\"Appen har aktiverats\",\"the_app_was_added_58e2836a\":\"Appen har lagts till\",\"the_app_was_added_successfully_3f785a23\":\"Appen lades till\",\"the_app_was_deactivated_573520ab\":\"Appen har avaktiverats\",\"the_app_was_updated_successfully_3d71cd1b\":\"Appen uppdaterades\",\"the_following_content_is_partner_provided_ed1da756\":\"Följande innehåll är partner tillhandahållet\",\"the_following_fields_are_invalid_fields_b3565800\":\"Följande fält är ogiltiga: %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"Omdömesperioden har raderats\",\"the_preceding_content_is_partner_provided_d753928c\":\"Det föregående innehållet är partner tillhandahållet\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"Ett problem uppstod när omdömesperioden raderades\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"Ett problem uppstod när omdömeschemat raderades\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"Ett problem uppstod när perioderna hämtades\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"Ett problem uppstod när omdömesperioden sparades\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"Ett problem uppstod när omdömesschemat sparades\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"Ett fel uppstod när din begäran bearbetades\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"Det fanns ett okänt fel som registrerade verktyget\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"Där fanns fel i formuläret: %{errors}\",\"this_field_is_required_fa58c4a\":\"Det här fältet är nödvändigt\",\"this_field_name_is_required_988caebc\":\"Det här fältet \\\"%{name}\\\" krävs\",\"this_field_name_is_required_b9196401\":\"Fältet \\\"namn\\\" krävs.\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"Detta verktyg har redan installerats i detta sammanhang. Vill du installera det ändå?\",\"to_35c6baa2\":\"till \",\"to_minscore_43e5452e\":\"till %{minScore}%\",\"tool_configuration_63cd43b0\":\"Verktygkonfigurering\",\"tool_content_e699e813\":\"Verktygsinnehåll\",\"tool_placements_3f996c24\":\"Verktygsplacering\",\"unable_to_accept_update_fd53a7e2\":\"Kunde inte acceptera uppdateringen\",\"unable_to_dismiss_update_df1e32eb\":\"Kunde inte avfärda uppdateringen\",\"unable_to_load_lti_1_3_tools_cf169f9\":\"Det gick inte att läsa in Lti 1.3-verktyg\",\"unable_to_remove_app_4293cb53\":\"Kunde inte ta bort appen\",\"unchanged_aca18e02\":\"[Oförändrad]\",\"update_tool_7d48ef2a\":\"Uppdatera %{tool}\",\"updating_6edbab78\":\"Uppdaterar\",\"upper_limit_of_range_c454a8f2\":\"Räckviddens övre gräns\",\"user_navigation_a097be0f\":\"Användarnavigering\",\"view_app_center_6c89a3fe\":\"visa app-center\",\"view_app_configurations_52b52441\":\"Visa konfiguration av appar\",\"view_name_app_62a2ad8e\":\"Visa %{name} appen\",\"view_toolname_placements_4a5724d1\":\"Visa %{toolName} placeringar\",\"we_were_unable_to_activate_the_app_578defe7\":\"Vi lyckades inte aktivera appen.\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"Vi kunde inte lägga till tillgångstoken.\",\"we_were_unable_to_add_the_app_418877ef\":\"Vi lyckades inte lägga till appen.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"Vi lyckades inte avaktivera appen.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"Vi lyckades inte uppdatera appen.\",\"weight_9b308e5b\":\"Vikt\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"Vill du acceptera eller avfärda uppdateringen?\",\"would_you_like_to_enable_this_app_ccdf735d\":\"Vill du aktivera den här appen?\",\"xml_configuration_5ea1b942\":\"XML konfiguration\",\"yes_install_tool_f51b3278\":\"Ja, installera verktyget\"},\"sv-x-k12\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"En tabell som innehåller namnet på bedömningsschemat och knapparna för att ändra eller ta bort schemat.\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"En tabell som innehåller data för bedömningsschema. Varje rad innehåller ett namn, ett maximalt procenttal och ett minsta procenttal. Dessutom innehåller varje rad en knapp för att lägga till en ny rad nedan, och en knapp för att ta bort nuvarande rad.\",\"accept_2fdd362e\":\"Acceptera\",\"access_token_3be22221\":\"Tillgångstoken\",\"account_navigation_80bbefd4\":\"Kontonavigering\",\"actions_efcde10d\":\"Handling\",\"add_app_baf540f\":\"Lägg till App\",\"add_grading_scheme_81e23c05\":\"Lägg till bedömningsschema\",\"all_4321c3a1\":\"Alla\",\"all_changes_were_saved_f6f3ddcc\":\"Alla ändringar sparades\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"Alla datumfält måste presenteras och formateras korrekt\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"Alla bedömningsperioder måste ha en titel\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"Alla startdatum måste vara före slutdatum\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"Tillåt det här verktyget att komma åt IMS-namnen och roll-leverantörstjänsten\",\"an_update_is_available_for_toolname_bba3fa2\":\"En uppdatering finns tillgänglig för %{toolName}\",\"anonymous_e1b8ad27\":\"Anonym\",\"app_b157c2b3\":\"App\",\"app_placements_6d877225\":\"App placering\",\"app_reregistration_87cc8817\":\"App omregistrering\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} installerades av Admin och är låst\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} installerades av master-kursen och är låst\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} installerades av master-kursen\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"Appar erbjuder ett enkelt sätt att lägga till nya funktioner i Canvas. De kan läggas till i enskilda kurser eller till alla kurser i ett konto. När de har konfigurerats kan du länka dem genom kursmoduler och skapa uppgifter för uppgiftsverktyg.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"Är du säker på att du vill radera den här bedömningsperioden?\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"Är du säker på att du vill radera det här bedömningsschemat?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"Är du säker på att du vill ta bort det här verktyget?\",\"assignment_menu_91fe3716\":\"Uppgiftsmeny\",\"assignment_selection_6bff05c4\":\"Uppgiftssortiment\",\"back_to_app_center_95420d83\":\"Tillbaka till App center\",\"by_lti_2_registration_url_e421e523\":\"Genom LTI 2 Registrerings URL\",\"by_url_a163275e\":\"Genom URL\",\"cancel_caeb1e68\":\"Avbryt\",\"close_d634289d\":\"Stäng\",\"close_date_a2f617b3\":\"Slutdatum\",\"collaboration_71c024f4\":\"Samarbete\",\"config_url_e96ceaf3\":\"Konfigurera URL\",\"configuration_type_25a084a4\":\"Konfigureringstyp\",\"configure_ecb97e30\":\"Konfigurera\",\"configure_tool_app_3b1bb50b\":\"Konfigurera %{tool} app?\",\"configure_toolname_app_651371be\":\"Konfigurera %{toolName} Appen\",\"consumer_key_6f94ba11\":\"Konsumentnyckel\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(%{context} nivå)\",\"count_apps_found_f4d86860\":\"%{count} apps hittade\",\"course_assignments_menu_fa6aeb23\":\"Kursuppgiftsmeny\",\"course_home_sub_navigation_b1ee6b03\":\"Kurs hem Sub Navigation\",\"course_navigation_dd035109\":\"Kursnavigering\",\"course_settings_sub_navigation_b95deae\":\"Kursinställningar under-navigering\",\"custom_fields_fc3e55af\":\"Anpassade fält\",\"delete_a6efa79d\":\"Radera\",\"delete_grading_period_dba36e59\":\"Radera bedömningsperiod\",\"delete_grading_scheme_6b308832\":\"Radera bedömningsschema\",\"delete_tool_app_9c9f6d35\":\"Radera %{tool} App?\",\"delete_toolname_app_85f9d4ee\":\"Radera %{toolName} app\",\"description_436c48d7\":\"Beskrivning\",\"disable_a5c05db3\":\"Avaktivera\",\"disabled_18c33a73\":\"(avaktiverad)\",\"discussion_topic_menu_3d4684c6\":\"Diskussionsämne meny\",\"dismiss_dacdb625\":\"Avfärda\",\"domain_3b54c511\":\"Domän\",\"e_mail_only_2cc5e513\":\"Endast e-post\",\"edit_app_b0cc1c17\":\"Redigera app\",\"edit_c5fbea07\":\"Redigera\",\"edit_grading_scheme_53091236\":\"Redigera bedömningsschema\",\"edit_toolname_app_23cfbb8\":\"Redigera %{toolName} App\",\"editor_button_6647db9c\":\"Redigeringsknapp\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"Uppge url eller domänen som ska ställas in.\",\"enable_6f5d1328\":\"Aktivera\",\"end_date_e0093ed7\":\"Slutdatum\",\"example_https_example_com_config_xml_be5f36ac\":\"Exempel: https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"Exempel: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"Externa Appar\",\"file_menu_cc0ca54\":\"Filmeny\",\"filter_by_name_34cbe139\":\"Filtrera efter namn\",\"global_navigation_8bee3501\":\"Global navigering\",\"grading_aa6de9\":\"Bedömningsschema\",\"grading_period_name_31ceb3e3\":\"Bedömningsperiodens namn\",\"grading_period_title_23b7f8ac\":\"Namn på bedömningsperiod\",\"grading_period_weight_99b66906\":\"Bedömningsperiod vikt\",\"grading_periods_81941e66\":\"Bedömningsperioder\",\"grading_periods_must_not_overlap_f45336fb\":\"Bedömningsperioder får inte överlappa\",\"grading_scheme_deleted_7ae5a072\":\"Bedömningsschema har raderats\",\"grading_scheme_saved_85535151\":\"Bedömningsschema har sparats\",\"grading_schemes_1c3c3252\":\"Bedömningsscheman\",\"grading_standard_title_58f540a3\":\"Bedömningsstandard titel\",\"homework_submission_172e8354\":\"Läxinlämning\",\"insert_row_below_25187f89\":\"Lägg till en rad under\",\"installed_7b284a91\":\"Installerad\",\"launch_external_tool_672c0409\":\"Starta externt verktyg\",\"launch_registration_tool_38d4781\":\"Starta registreringsverktyget\",\"launch_url_e150bd41\":\"Starta URL\",\"link_selection_1486c5d0\":\"Länksamling\",\"looks_great_e4d883ed\":\"Ser väldigt bra ut!\",\"lower_limit_of_range_6ddd4983\":\"Sänk gränsvidden\",\"manage_app_list_994cc26c\":\"Hantera applista\",\"manage_grading_schemes_in_context_name_e3678273\":\"Hantera bedömningsscheman i %{context_name}\",\"manage_update_23de23a1\":\"Hantera uppdatering\",\"manage_update_for_toolname_f8e3b2fb\":\"Hantera uppdatering för %{toolName}\",\"manual_entry_e4a4f99a\":\"Manuellt inlägg\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"Migreringsurval\",\"module_menu_3201af4e\":\"Modul-meny\",\"name_1aed4a1b\":\"Namn\",\"name_app_has_been_deleted_fb2d9426\":\"%{name} appen har raderats\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"*namn* har installerats men inte aktiverats än.\",\"name_is_currently_status_9065c996\":\"*namn* är för tillfället **status**\",\"name_only_5f56718e\":\"Endast namn\",\"no_cancel_installation_db8d12d7\":\"Nej, avbryt installation\",\"no_grading_schemes_to_display_8b0e92e7\":\"Inga bedömningsscheman att visa\",\"no_placements_enabled_f705f28\":\"Inga placeringar har aktiverats\",\"not_installed_37a21a76\":\"Inte installerad\",\"one_per_line_format_name_value_79647700\":\"En per rad. Format: namn=värde\",\"page_menu_2f8bee0\":\"Sidmeny\",\"paste_xml_cda3a64e\":\"Klistra in XML\",\"placements_5b5e056b\":\"Placeringar\",\"privacy_290109ea\":\"Integritet\",\"public_a749f507\":\"Offentlig\",\"quiz_menu_4fcd5e61\":\"Quizmeny\",\"range_56b2f310\":\"Räckvidd\",\"range_name_90614433\":\"Räckvidd namn\",\"registration_url_60e0eaaa\":\"Registrerings URL\",\"remove_row_c198da5a\":\"Ta bort rad\",\"reregister_9ab95a57\":\"Omregistrera\",\"reregister_toolname_3dde0bfc\":\"Omregistrera %{toolName}\",\"save_11a80ec3\":\"Spara\",\"save_grading_period_daaaddea\":\"Spara bedömningsperiod\",\"saving_d55dd90e\":\"Sparar...\",\"settings_5aa0fd0c\":\"Inställningar\",\"shared_secret_892c88f2\":\"Delad hemlighet\",\"similarity_detection_dcada48\":\"Likhets upptäckning\",\"start_date_e937be8a\":\"Startdatum\",\"status_e7fdbe06\":\"Status\",\"submit_a3cc6859\":\"Lämna in\",\"sync_grades_a16622ca\":\"Synkronisera bedömningar\",\"the_app_was_activated_a84e055f\":\"Appen har aktiverats\",\"the_app_was_added_58e2836a\":\"Appen har lagts till\",\"the_app_was_added_successfully_3f785a23\":\"Appen lades till\",\"the_app_was_deactivated_573520ab\":\"Appen har avaktiverats\",\"the_app_was_updated_successfully_3d71cd1b\":\"Appen uppdaterades\",\"the_following_content_is_partner_provided_ed1da756\":\"Följande innehåll är partner tillhandahållet\",\"the_following_fields_are_invalid_fields_b3565800\":\"Följande fält är ogiltiga: %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"Bedömningsperioden har raderats\",\"the_preceding_content_is_partner_provided_d753928c\":\"Det föregående innehållet är partner tillhandahållet\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"Ett problem uppstod när bedömningsperioden raderades\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"Ett problem uppstod när bedömningsschemat raderades\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"Ett problem uppstod när perioderna hämtades\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"Ett problem uppstod när bedömningsperioden sparades\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"Ett problem uppstod när bedömningsschemat sparades\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"Ett fel uppstod när din begäran bearbetades\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"Det fanns ett okänt fel som registrerade verktyget\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"Där fanns fel i formuläret: %{errors}\",\"this_field_is_required_fa58c4a\":\"Det här fältet är nödvändigt\",\"this_field_name_is_required_988caebc\":\"Det här fältet \\\"%{name}\\\" krävs\",\"this_field_name_is_required_b9196401\":\"Fältet \\\"namn\\\" krävs.\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"Detta verktyg har redan installerats i detta sammanhang. Vill du installera det ändå?\",\"to_35c6baa2\":\"till\",\"to_minscore_43e5452e\":\"till %{minScore}%\",\"tool_configuration_63cd43b0\":\"Verktygkonfigurering\",\"tool_content_e699e813\":\"Verktygsinnehåll\",\"tool_placements_3f996c24\":\"Verktygsplacering\",\"unable_to_accept_update_fd53a7e2\":\"Kunde inte acceptera uppdateringen\",\"unable_to_dismiss_update_df1e32eb\":\"Kunde inte avfärda uppdateringen\",\"unable_to_remove_app_4293cb53\":\"Kunde inte ta bort appen\",\"unchanged_aca18e02\":\"[Oförändrad]\",\"update_tool_7d48ef2a\":\"Uppdatera %{tool}\",\"updating_6edbab78\":\"Uppdaterar\",\"upper_limit_of_range_c454a8f2\":\"Räckviddens övre gräns\",\"user_navigation_a097be0f\":\"Användarnavigering\",\"view_app_center_6c89a3fe\":\"visa app-center\",\"view_app_configurations_52b52441\":\"Visa konfiguration av appar\",\"view_name_app_62a2ad8e\":\"Visa %{name} appen\",\"view_toolname_placements_4a5724d1\":\"Visa %{toolName} placeringar\",\"we_were_unable_to_activate_the_app_578defe7\":\"Vi lyckades inte aktivera appen.\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"Vi kunde inte lägga till tillgångstoken.\",\"we_were_unable_to_add_the_app_418877ef\":\"Vi lyckades inte lägga till appen.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"Vi lyckades inte avaktivera appen.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"Vi lyckades inte uppdatera appen.\",\"weight_9b308e5b\":\"Vikt\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"Vill du acceptera eller avfärda uppdateringen?\",\"would_you_like_to_enable_this_app_ccdf735d\":\"Vill du aktivera den här appen?\",\"xml_configuration_5ea1b942\":\"XML konfiguration\",\"yes_install_tool_f51b3278\":\"Ja, installera verktyget\"},\"tr\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"Notlandırma şemasının adını, şemayı düzenleme ya da silme ikonlarının adlarını içeren tablo\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"Notlandırma şema verisini içeren tablo. Her satırda bir isim, maksimum yüzde ve minimum yüzde vardır. Ayrıca, her satırda bir alt satır eklemek ve mevcut satırı silmek için bir simge vardır.\",\"accept_2fdd362e\":\"Onayla\",\"access_token_3be22221\":\"Access Token\",\"account_navigation_80bbefd4\":\"Hesapta Gezinme\",\"actions_efcde10d\":\"Eylemler\",\"add_app_baf540f\":\"Uygulama Ekle\",\"add_grading_scheme_81e23c05\":\"Notlandırma şeması ekle\",\"all_4321c3a1\":\"Tümü\",\"all_changes_were_saved_f6f3ddcc\":\"Tüm değişiklikler kaydedildi\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"Tüm tarih alanları olmalı ve doğru biçimlendirilmeli\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"Tüm notlandırma peryodlarının bir başlığı olmalı\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"Tüm başlangıç tarihleri son tarihten önce olmalı\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"Bu aracın IMS İsileri ve Rol Sağlama Servisine erişimine izin verin\",\"an_update_is_available_for_toolname_bba3fa2\":\"%{toolName} aracı için güncelleme mevcut\",\"anonymous_e1b8ad27\":\"Anonim\",\"app_b157c2b3\":\"Uygulama\",\"app_placements_6d877225\":\"Uygulama Yerleştirmeleri\",\"app_reregistration_87cc8817\":\"Uygulama Yeniden Kayıt\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"Yönetici tarafından %{app} yüklendi ve kilitli\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"Ana derste %{app} yüklü ve kilitli\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"Ana derste %{app} yüklü\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"Uygulamalar Canvas'a yeni özellikler eklemenin kolay yoludur. Tek bir derse ya da bir hesaba bağlı tüm derslere eklenebilirler. Ayarları yapıldıktan sonra ders modüllerinde bunlara bağlantı verebilir ve değerlendirme araçları için ödevler oluşturabilirsiniz.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"Bu notlandırma peryodunu silmek istediğinize emin misiniz?\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"Bu notlandırma şemasını silmek istediğinize emin misiniz?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"Bu aracı kaldırmak istediğinize emin misiniz?\",\"assignment_menu_91fe3716\":\"Ödev Menüsü\",\"assignment_selection_6bff05c4\":\"Ödev Seçimi\",\"back_to_app_center_95420d83\":\"Uygulama Merkezine Geri Dön\",\"by_lti_2_registration_url_e421e523\":\"LTI 2 Kayıt URL'sine göre\",\"by_url_a163275e\":\"URL'ye göre\",\"cancel_caeb1e68\":\"İptal\",\"close_d634289d\":\"Kapat\",\"close_date_a2f617b3\":\"Tarihi Kapat\",\"collaboration_71c024f4\":\"İşbirliği\",\"config_url_e96ceaf3\":\"Ayar URL'si\",\"configuration_type_25a084a4\":\"Yapılandırma Türü\",\"configure_ecb97e30\":\"Yapılandır\",\"configure_tool_app_3b1bb50b\":\"%{tool} Uygulaması Yapılandırılsın mı?\",\"configure_toolname_app_651371be\":\"%{toolName} Uygulamasını Yapılandır\",\"consumer_key_6f94ba11\":\"Kullanıcı Anahtarı\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(%{context} seviyesi)\",\"count_apps_found_f4d86860\":\"%{count} uygulama bulundu.\",\"course_assignments_menu_fa6aeb23\":\"Ödevler Menüsü\",\"course_home_sub_navigation_b1ee6b03\":\"Ders Ana Sayfa Alt Gezinme\",\"course_navigation_dd035109\":\"Ders Gezinme Menüsü\",\"course_settings_sub_navigation_b95deae\":\"Ders Ayarları Alt Gezinme\",\"custom_fields_fc3e55af\":\"Varsayılan Alanlar\",\"delete_a6efa79d\":\"Sil\",\"delete_grading_period_dba36e59\":\"Notlandırma peryodunu sil\",\"delete_grading_scheme_6b308832\":\"Notlandırma Şemasını Sil\",\"delete_tool_app_9c9f6d35\":\"%{tool} Uygulaması Silinsin mi?\",\"delete_toolname_app_85f9d4ee\":\"%{toolName} Uygulamasını Sil\",\"description_436c48d7\":\"Açıklama\",\"disable_a5c05db3\":\"Devre Dışı\",\"disabled_18c33a73\":\"(devre dışı)\",\"discussion_topic_menu_3d4684c6\":\"Tartışma Konusu Menüsü\",\"dismiss_dacdb625\":\"Yoksay\",\"domain_3b54c511\":\"Alan\",\"e_mail_only_2cc5e513\":\"Sadece E-Posta\",\"edit_app_b0cc1c17\":\"Uygulamayı Düzenle\",\"edit_c5fbea07\":\"Düzenle\",\"edit_grading_scheme_53091236\":\"Notlandırma Şemasını Düzenle\",\"edit_toolname_app_23cfbb8\":\"%{toolName} Uygulamasını Düzenle\",\"editor_button_6647db9c\":\"Düzenleyici Butonu\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"Web adresi ya da alan adından biri belirtilmeli.\",\"enable_6f5d1328\":\"Etkinleştir\",\"end_date_e0093ed7\":\"Bitiş Tarihi\",\"example_https_example_com_config_xml_be5f36ac\":\"Örneğin: https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"Örnek: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"Harici Uygulamalar\",\"file_menu_cc0ca54\":\"Dosya Menüsü\",\"filter_by_name_34cbe139\":\"İsme göre filtrele\",\"global_navigation_8bee3501\":\"Genel Gezinme\",\"grading_aa6de9\":\"Notlandırma\",\"grading_period_name_31ceb3e3\":\"Notlandırma Peryot Adı\",\"grading_periods_81941e66\":\"Notlandırma Periyotları\",\"grading_periods_must_not_overlap_f45336fb\":\"Notlandırma peryotları çakışmamalı\",\"grading_scheme_deleted_7ae5a072\":\"Notlandırma şeması silindi\",\"grading_scheme_saved_85535151\":\"Notlandırma şeması kaydedildi\",\"grading_schemes_1c3c3252\":\"Notlandırma Şemaları\",\"grading_standard_title_58f540a3\":\"Notlandırma standart başlığı\",\"homework_submission_172e8354\":\"Ev ödevi Gönderimi\",\"insert_row_below_25187f89\":\"Alta satır ekle\",\"installed_7b284a91\":\"Yüklü\",\"launch_registration_tool_38d4781\":\"Kayıt Aracını Başlat\",\"launch_url_e150bd41\":\"URL'i Çalıştır\",\"link_selection_1486c5d0\":\"Bağlantı Seçimi\",\"looks_great_e4d883ed\":\"Harika görünüyor!\",\"lower_limit_of_range_6ddd4983\":\"Aralık alt sınırı\",\"manage_app_list_994cc26c\":\"Uygulama Listesini Yönet\",\"manage_grading_schemes_in_context_name_e3678273\":\"%{context_name} deki notlandırma şemalarını yönet\",\"manage_update_23de23a1\":\"Güncellemeyi Yönet\",\"manage_update_for_toolname_f8e3b2fb\":\"%{toolName} için güncellemeyi yönet\",\"manual_entry_e4a4f99a\":\"Elle Giriş\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"Aktarım Seçimi\",\"module_menu_3201af4e\":\"Modül Menüsü\",\"name_1aed4a1b\":\"İsim\",\"name_app_has_been_deleted_fb2d9426\":\"%{name} uygulaması silindi\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"*isim* başarılı bir şekilde yüklendi fakat henüz etkinleştirilmedi.\",\"name_is_currently_status_9065c996\":\"*isim* şu anda **durum**.\",\"name_only_5f56718e\":\"Sadece İsim\",\"no_grading_schemes_to_display_8b0e92e7\":\"Gösterilecek notlandırma şeması yok\",\"not_installed_37a21a76\":\"Yüklü Değil\",\"one_per_line_format_name_value_79647700\":\"Her satırda bir değer Format: isim=değer\",\"paste_xml_cda3a64e\":\"XML Yapıştır\",\"placements_5b5e056b\":\"Yerleştirmeler\",\"privacy_290109ea\":\"Gizlilik\",\"public_a749f507\":\"Herkese Açık\",\"range_name_90614433\":\"Aralık adı\",\"registration_url_60e0eaaa\":\"Kayıt URL'si\",\"remove_row_c198da5a\":\"Satırı sil\",\"reregister_9ab95a57\":\"Tekrar kayıt ol\",\"save_11a80ec3\":\"Kaydet\",\"saving_d55dd90e\":\"Kaydediliyor...\",\"settings_5aa0fd0c\":\"Ayarlar\",\"shared_secret_892c88f2\":\"Paylaşım Anahtarı\",\"start_date_e937be8a\":\"Başlangıç Tarihi\",\"status_e7fdbe06\":\"Durum\",\"submit_a3cc6859\":\"Gönder\",\"the_app_was_activated_a84e055f\":\"Uygulama etkinleştirildi\",\"the_app_was_added_58e2836a\":\"Uygulama eklendi\",\"the_app_was_added_successfully_3f785a23\":\"Uygulama başarıyla eklendi\",\"the_app_was_deactivated_573520ab\":\"Uygulama devre dışı bırakıldı\",\"the_app_was_updated_successfully_3d71cd1b\":\"Uygulama başarıyla güncellendi\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"Notlandırma peryodunu silmede hata\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"Notlandırma şemasını silmede hata\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"Notlandırma şemasını kaydetmede hata\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"İsteğin işlenmesinde hata ile karşılaşıldı\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"Şu formla ilgili hatalar oluştu: %{errors}\",\"this_field_is_required_fa58c4a\":\"Bu alan zorunludur\",\"this_field_name_is_required_988caebc\":\"\\\"%{name}\\\" alanı gereklidir.\",\"this_field_name_is_required_b9196401\":\"\\\"İsim\\\" alanı gereklidir.\",\"to_35c6baa2\":\"a\",\"to_minscore_43e5452e\":\"to %{minScore}%\",\"tool_configuration_63cd43b0\":\"Araç Ayarları\",\"tool_content_e699e813\":\"Araç İçeriği\",\"tool_placements_3f996c24\":\"Araç Yerleştirmeleri\",\"unable_to_remove_app_4293cb53\":\"Uygulama kaldırılamıyor\",\"unchanged_aca18e02\":\"[Değişmemiş]\",\"update_tool_7d48ef2a\":\"%{tool} güncelle\",\"updating_6edbab78\":\"Güncelleniyor\",\"upper_limit_of_range_c454a8f2\":\"Aralık üst sınırı\",\"view_app_center_6c89a3fe\":\"Uygulama Merkezini Gör\",\"view_app_configurations_52b52441\":\"Uygulama Ayarlarını Gör\",\"view_name_app_62a2ad8e\":\"%{name} ugulamasını göster\",\"we_were_unable_to_activate_the_app_578defe7\":\"Uygulamayı etkinleştiremiyoruz.\",\"we_were_unable_to_add_the_app_418877ef\":\"Uygulamayı ekleyemiyoruz.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"Uygulamayı devre dışı bırakamıyoruz.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"Uygulamayı güncelleyemiyoruz.\",\"would_you_like_to_enable_this_app_ccdf735d\":\"Bu uygulamayı etkinleştirmek ister misiniz?\",\"xml_configuration_5ea1b942\":\"XML Ayarları\"},\"uk\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"Таблиця, що містить ім'я схеми оцінювання і кнопки для редагування або видалення схеми.\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"Таблиця містить дані схеми оцінювання. Кожен рядок містить ім'я, максимальний і мінімальний відсотки. Крім того, кожен рядок містить кнопки для додавання нового та видалення поточного рядків.\",\"accept_2fdd362e\":\"Прийняти\",\"access_token_3be22221\":\"Маркер доступу\",\"account_navigation_80bbefd4\":\"Навігація облікового запису\",\"actions_efcde10d\":\"Дії\",\"add_app_baf540f\":\"Додати застосунок\",\"add_grading_scheme_81e23c05\":\"Додати схему оцінювання\",\"all_4321c3a1\":\"Всі\",\"all_changes_were_saved_f6f3ddcc\":\"Всі зміни було збережено\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"Всі поля с датами мають бути присутні і правильно відформатовані\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"Всі періоди оцінювання повинні мати назву\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"Дата початку має бути до часу завершення\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"Дозволити засобу доспуп до системи забезпечення імен і ролей IMS\",\"an_update_is_available_for_toolname_bba3fa2\":\"Оновлення доступне для %{toolName}\",\"anonymous_e1b8ad27\":\"Анонімний\",\"app_b157c2b3\":\"Застосунок\",\"app_placements_6d877225\":\"Розміщення застосунку\",\"app_reregistration_87cc8817\":\"Перереєстрація застосунку\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} встановлено Адміністратором і замкнено\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} встановлено майстер-курсом і замкнено\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} встановлено майстер-курсом\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"Додатки - це простий спосіб додавання нових функцій до Canvas. Вони можуть бути додані до окремих курсів, або до всіх курсів в обліковому записі. Після налаштування, ви можете зв'язатися з ними через модулі курсу і створити завдання для інструментів оцінки.\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"Ви впевнені, що хочете видалити цей період оцінювання?\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"Ви впевнені, що хочете видалити цю схему оцінювання?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"Ви впевнені, що хочете видалити цей інструмент?\",\"assignment_menu_91fe3716\":\"Меню завдань\",\"assignment_selection_6bff05c4\":\"Вибір завдання\",\"back_to_app_center_95420d83\":\"Повернутися до Центру застосунків\",\"by_lti_2_registration_url_e421e523\":\"За LTI 2 реєстраційним URL\",\"by_url_a163275e\":\"За URL\",\"cancel_caeb1e68\":\"Скасувати\",\"close_d634289d\":\"Закрити\",\"close_date_a2f617b3\":\"Дата закриття\",\"collaboration_71c024f4\":\"Взаємодія\",\"config_url_e96ceaf3\":\"Конфігураційний URL\",\"configuration_type_25a084a4\":\"Тип конфігурації\",\"configure_ecb97e30\":\"Налаштувати\",\"configure_tool_app_3b1bb50b\":\"Налаштувати %{tool} застосунок?\",\"configure_toolname_app_651371be\":\"Налаштувати %{toolName} застосунок\",\"consumer_key_6f94ba11\":\"Ключ клієнта\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(%{context} рівень)\",\"count_apps_found_f4d86860\":\"%{count} застосунків знайдено\",\"course_assignments_menu_fa6aeb23\":\"Меню завдань курсу\",\"course_home_sub_navigation_b1ee6b03\":\"Домашні додаткова навігація курсу\",\"course_navigation_dd035109\":\"Навігація курсу\",\"course_settings_sub_navigation_b95deae\":\"Додаткова навігація по налаштуваннях Canvas\",\"custom_fields_fc3e55af\":\"Поля користувача\",\"delete_a6efa79d\":\"Видалити\",\"delete_grading_period_dba36e59\":\"Видалити період оцінювання\",\"delete_grading_scheme_6b308832\":\"Видалити схему оцінювання\",\"delete_tool_app_9c9f6d35\":\"Видалити %{tool} застосунок?\",\"delete_toolname_app_85f9d4ee\":\"Видалити %{toolName} застосунок\",\"description_436c48d7\":\"Опис\",\"disable_a5c05db3\":\"Відключити\",\"disabled_18c33a73\":\"(відключений)\",\"discussion_topic_menu_3d4684c6\":\"Меню теми для обговорення\",\"dismiss_dacdb625\":\"Відхилити\",\"domain_3b54c511\":\"Домен\",\"e_mail_only_2cc5e513\":\"Тільки електронна адреса\",\"edit_app_b0cc1c17\":\"Редагувати застосунок\",\"edit_c5fbea07\":\"Редагувати\",\"edit_grading_scheme_53091236\":\"Редагувати схему оцінювання\",\"edit_toolname_app_23cfbb8\":\"Редагувати застосунок %{toolName} \",\"editor_button_6647db9c\":\"Кнопка редактора\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"Потрібно встановити URL-адресу або домен.\",\"enable_6f5d1328\":\"Доступний\",\"end_date_e0093ed7\":\"Кінцева дата\",\"example_https_example_com_config_xml_be5f36ac\":\"Приклад: https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"Приклад: https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"Зовнішні застосунки\",\"file_menu_cc0ca54\":\"Меню Файл\",\"filter_by_name_34cbe139\":\"Фільтрувати за назвою\",\"global_navigation_8bee3501\":\"Глобальна навігація\",\"grading_aa6de9\":\"Оцінювання\",\"grading_period_name_31ceb3e3\":\"Назва періоду оцінювання\",\"grading_period_title_23b7f8ac\":\"Заголовок періоду оцінювання\",\"grading_period_weight_99b66906\":\"Вага періоду оцінювання\",\"grading_periods_81941e66\":\"Періоди оцінювання\",\"grading_periods_must_not_overlap_f45336fb\":\"Періоди оцінювання не повинні перекриватися\",\"grading_scheme_deleted_7ae5a072\":\"Схему оцінювання видалено\",\"grading_scheme_saved_85535151\":\"Схему оцінювання збережено\",\"grading_schemes_1c3c3252\":\"Схеми оцінювання \",\"grading_standard_title_58f540a3\":\"Стандартний заголовок оцінювання\",\"homework_submission_172e8354\":\"Відправлення домашньої роботи\",\"insert_row_below_25187f89\":\"Вставити рядок до\",\"installed_7b284a91\":\"Установлено\",\"launch_external_tool_672c0409\":\"Запустити зовнішній інструмент\",\"launch_registration_tool_38d4781\":\"Запустити інструмент реєстрації\",\"launch_url_e150bd41\":\"Запустити URL\",\"link_selection_1486c5d0\":\"Вибір посилання\",\"looks_great_e4d883ed\":\"Виглядає здорово!\",\"lower_limit_of_range_6ddd4983\":\"Нижня межа діапазону\",\"manage_app_list_994cc26c\":\"Керувати списком застосунків\",\"manage_grading_schemes_in_context_name_e3678273\":\"Керувати схемами оцінювання в %{context_name}\",\"manage_update_23de23a1\":\"Керувати оновленням\",\"manage_update_for_toolname_f8e3b2fb\":\"Керувати оновленням для %{toolName}\",\"manual_entry_e4a4f99a\":\"Ручне введення\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"Вибір переміщення\",\"module_menu_3201af4e\":\"Меню модуля\",\"name_1aed4a1b\":\"Ім'я\",\"name_app_has_been_deleted_fb2d9426\":\"%{name} застосунок було видалено\",\"name_is_currently_status_9065c996\":\"*name* в даний час **status**.\",\"name_only_5f56718e\":\"Тільки ім'я\",\"no_cancel_installation_db8d12d7\":\"Ні, Скасувати Установку\",\"no_grading_schemes_to_display_8b0e92e7\":\"Жодної схеми оцінювання не показано\",\"no_placements_enabled_f705f28\":\"Не доступне розміщення\",\"not_installed_37a21a76\":\"Не встановлено \",\"one_per_line_format_name_value_79647700\":\"По одному на рядок. Формат: name=value\",\"paste_xml_cda3a64e\":\"Вставити XML\",\"placements_5b5e056b\":\"Розміщення\",\"privacy_290109ea\":\"Приватність\",\"public_a749f507\":\"Публічно\",\"quiz_menu_4fcd5e61\":\"Меню контрольної роботи\",\"range_56b2f310\":\"Діапазон\",\"range_name_90614433\":\"Ім'я діапазону\",\"registration_url_60e0eaaa\":\"URL-адреса реєстрації\",\"remove_row_c198da5a\":\"Видалити рядок\",\"reregister_9ab95a57\":\"Зареєструватися заново \",\"reregister_toolname_3dde0bfc\":\"Зареєструватися заново %{toolName}\",\"save_11a80ec3\":\"Зберегти\",\"save_grading_period_daaaddea\":\"Зберегти період оцінювання\",\"saving_d55dd90e\":\"Збереження...\",\"settings_5aa0fd0c\":\"Налаштування\",\"shared_secret_892c88f2\":\"Загальний секретний ключ\",\"similarity_detection_dcada48\":\"Виявлення схожості\",\"start_date_e937be8a\":\"Дата початку\",\"status_e7fdbe06\":\"Статус\",\"submit_a3cc6859\":\"Підтвердити\",\"sync_grades_a16622ca\":\"Синхронізувати оцінки\",\"the_app_was_activated_a84e055f\":\"Застосунок було активовано\",\"the_app_was_added_58e2836a\":\"Застосунок було додано\",\"the_app_was_added_successfully_3f785a23\":\"Застосунок було  успішно додано\",\"the_app_was_deactivated_573520ab\":\"Застосунок було деактивовано \",\"the_app_was_updated_successfully_3d71cd1b\":\"Застосунок було успішно  оновлено \",\"the_following_content_is_partner_provided_ed1da756\":\"Наступний контент наданий партнером\",\"the_following_fields_are_invalid_fields_b3565800\":\"Наступні поля не некоректні: %{fields}\",\"the_grading_period_was_deleted_7814a349\":\"Період оцінювання було видалено  \",\"the_preceding_content_is_partner_provided_d753928c\":\"Попередній контент наданий партнером\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"Виникла проблема з видаленням періоду оцінювання\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"Виникла проблема з видаленням схеми оцінювання\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"Виникла проблема з періодами отримання\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"Виникла проблема зі збереженням періоду оцінювання\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"Виникла проблема зі збереженням схеми оцінювання\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"Виникла помилка під час виконанням вашого запиту\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"Сталася невідома помилка реєстрації інструменту \",\"there_were_errors_with_the_form_errors_ab5b559a\":\"Помилок у формі: %{errors}\",\"this_field_is_required_fa58c4a\":\"Це поле є обов'язковим.\",\"this_field_name_is_required_988caebc\":\"Це поле \\\"%{name}\\\" є обов'язковим.\",\"this_field_name_is_required_b9196401\":\"Це поле \\\"ім'я\\\" є обов'язковим.\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"Цей інструмент вже встановлений у цьому контексті. Все одно хочете встановити його?\",\"to_35c6baa2\":\"до\",\"to_minscore_43e5452e\":\"до %{minScore}%\",\"tool_configuration_63cd43b0\":\"Налаштування інструменту\",\"tool_content_e699e813\":\"Контент інструменту \",\"tool_placements_3f996c24\":\"Розміщення інструменту\",\"unable_to_accept_update_fd53a7e2\":\"Не вдається  прийняти оновлення\",\"unable_to_dismiss_update_df1e32eb\":\"Неможливо відхилити оновлення\",\"unable_to_remove_app_4293cb53\":\"Неможливо видалити додаток\",\"unchanged_aca18e02\":\"[Не змінено]\",\"update_tool_7d48ef2a\":\"Оновити %{tool}\",\"updating_6edbab78\":\"Оновлення\",\"upper_limit_of_range_c454a8f2\":\"Верхня межа діапазону\",\"user_navigation_a097be0f\":\"Навігація користувача\",\"view_app_center_6c89a3fe\":\"Переглянути центр застосунків\",\"view_app_configurations_52b52441\":\"Переглянути налаштування застосунку\",\"view_name_app_62a2ad8e\":\"Переглянути %{name} застосунок\",\"view_toolname_placements_4a5724d1\":\"Переглянути %{toolName}місця разташування\",\"we_were_unable_to_activate_the_app_578defe7\":\"Не вдалося активувати додаток.\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"Не вдалося додати маркер доступу.\",\"we_were_unable_to_add_the_app_418877ef\":\"Не вдалося додати застосунок.\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"Не вдалося деактивувати додаток.\",\"we_were_unable_to_update_the_app_659f5bc6\":\"Не вдалося оновити додаток.\",\"weight_9b308e5b\":\"Вага\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"Ви бажаєте прийняти чи відхилити це оновлення?\",\"would_you_like_to_enable_this_app_ccdf735d\":\"Хочете увімкнути цей додаток?\",\"xml_configuration_5ea1b942\":\"Конфігурація XML\",\"yes_install_tool_f51b3278\":\"Так, встановити інструмент\"},\"zh-Hans\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"一份包含评分方案名称和编辑按钮或删除方案的表格。\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"一份包含评分方案数据的表格。每行包含一个名称，一个最大百分比和最小百分比。此外，每行还包含一个在下方添加新行的按钮，以及一个删除当前行的按钮。\",\"accept_2fdd362e\":\"接受\",\"access_token_3be22221\":\"访问令牌\",\"account_navigation_80bbefd4\":\"帐户导航\",\"actions_efcde10d\":\"动作\",\"add_app_baf540f\":\"添加应用程序\",\"add_grading_scheme_81e23c05\":\"添加评分方案\",\"all_4321c3a1\":\"全部\",\"all_changes_were_saved_f6f3ddcc\":\"所有更改已被保存\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"所有日期栏必须以正确的格式呈现\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"所有评分周期必须有一个标题\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"所有开始日期必须是在结束日期前\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"准许该工具访问 IMS 姓名和角色配置服务\",\"an_update_is_available_for_toolname_bba3fa2\":\"更新可用于%{toolName}\",\"anonymous_e1b8ad27\":\"匿名\",\"app_b157c2b3\":\"应用程序\",\"app_placements_6d877225\":\"应用程序安置\",\"app_reregistration_87cc8817\":\"应用程序登记\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} 由管理员安装并已锁定\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} 由主课程安装并已锁定\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} 由主课程安装\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"应用程序是向 Canvas 添加新功能的简单方式。这些功能可添加到帐户中的各个课程或所有课程。配置完毕后，您可以通过课程单元与其链接，并为测验工具创建作业。\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"是否确定要删除此评分周期？\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"是否确定要删除此评分方案?\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"是否确定要删除此工具？\",\"assignment_edit_6dced39f\":\"作业编辑\",\"assignment_menu_91fe3716\":\"作业菜单\",\"assignment_selection_6bff05c4\":\"作业选项\",\"assignment_view_1206a60b\":\"作业视图\",\"back_to_app_center_95420d83\":\"返回 App Center\",\"by_lti_2_registration_url_e421e523\":\"按照 LTI 2 注册 URL\",\"by_url_a163275e\":\"通过 URL\",\"cancel_caeb1e68\":\"取消\",\"close_d634289d\":\"关闭\",\"close_date_a2f617b3\":\"关闭日期\",\"collaboration_71c024f4\":\"协作\",\"config_url_e96ceaf3\":\"配置 URL\",\"configuration_type_25a084a4\":\"配置类型\",\"configure_ecb97e30\":\"配置\",\"configure_tool_app_3b1bb50b\":\"要配置 %{tool} 应用程序吗？\",\"configure_toolname_app_651371be\":\"配置 %{toolName} 应用程序\",\"consumer_key_6f94ba11\":\"用户密钥\",\"context_contextname_24d82846\":\"（%{context}：%{contextName}）\",\"context_level_56d88f5b\":\"（%{context} 级别）\",\"count_apps_found_f4d86860\":\"%{count} 找到的应用\",\"course_assignments_menu_fa6aeb23\":\"课程作业菜单\",\"course_home_sub_navigation_b1ee6b03\":\"课程主页的子导航\",\"course_navigation_dd035109\":\"课程导航\",\"course_settings_sub_navigation_b95deae\":\"课程设置的子导航\",\"custom_fields_fc3e55af\":\"自定义字段\",\"delete_a6efa79d\":\"删除\",\"delete_grading_period_dba36e59\":\"删除评分时段\",\"delete_grading_scheme_6b308832\":\"删除评分方案\",\"delete_tool_app_9c9f6d35\":\"删除 %{tool} 应用程序？\",\"delete_toolname_app_85f9d4ee\":\"删除 %{toolName} 应用程序\",\"description_436c48d7\":\"描述\",\"disable_a5c05db3\":\"禁用\",\"disable_toolname_44d6397c\":\"禁用%{toolName}\",\"disabled_18c33a73\":\"（已禁用）\",\"discussion_topic_menu_3d4684c6\":\"讨论主题菜单\",\"dismiss_dacdb625\":\"撤销\",\"domain_3b54c511\":\"域\",\"e_mail_only_2cc5e513\":\"仅限电子邮件\",\"edit_app_b0cc1c17\":\"编辑应用程序\",\"edit_c5fbea07\":\"编辑\",\"edit_grading_scheme_53091236\":\"编辑评分方案\",\"edit_toolname_app_23cfbb8\":\"编辑 %{toolName} 应用程序\",\"editor_button_6647db9c\":\"编辑按钮\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"应设置 URL 或域名。\",\"enable_6f5d1328\":\"启用\",\"enable_toolname_dc64c25a\":\"启用%{toolName}\",\"end_date_e0093ed7\":\"结束日期\",\"enter_the_access_token_for_your_organization_from__38b84fd1\":\"输入您的组织从 *eduappcenter.com* 获取的访问令牌。应用后，仅您组织在EduAppCenter中批准的应用会显示在外部应用页列表上。了解如何**生成访问令牌**。\",\"example_https_example_com_config_xml_be5f36ac\":\"示例：https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"示例：https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"外部应用程序\",\"file_menu_cc0ca54\":\"文件菜单\",\"filter_by_name_34cbe139\":\"按姓名过滤\",\"global_navigation_8bee3501\":\"全局导航\",\"grading_aa6de9\":\"评分\",\"grading_period_name_31ceb3e3\":\"评分时段名称\",\"grading_period_title_23b7f8ac\":\"评分周期的标题\",\"grading_period_weight_99b66906\":\"评分周期权重\",\"grading_periods_81941e66\":\"评分时段\",\"grading_periods_must_not_overlap_f45336fb\":\"评分周期不可重叠\",\"grading_scheme_deleted_7ae5a072\":\"删除评分计划\",\"grading_scheme_saved_85535151\":\"保存评分计划\",\"grading_schemes_1c3c3252\":\"计分方案\",\"grading_standard_title_58f540a3\":\"评分标准标题\",\"homework_submission_172e8354\":\"作业提交\",\"insert_row_below_25187f89\":\"在下面插入行\",\"installed_7b284a91\":\"已安装\",\"launch_external_tool_672c0409\":\"启动外部工具\",\"launch_registration_tool_38d4781\":\"启动注册工具\",\"launch_url_e150bd41\":\"启动 URL\",\"link_selection_1486c5d0\":\"链接选择\",\"link_to_lti_tools_608df3b0\":\"LTI工具链接。\",\"looks_great_e4d883ed\":\"好极！\",\"lower_limit_of_range_6ddd4983\":\"范围的下限\",\"lti_1_3_c84fd177\":\"LTI 1.3\",\"lti_1_3_tools_list_ac30b375\":\"LTI 1.3 工具列表\",\"manage_app_list_994cc26c\":\"管理应用程序列表\",\"manage_grading_schemes_in_context_name_e3678273\":\"在%{context_name} 管理评分计划\",\"manage_update_23de23a1\":\"管理更新\",\"manage_update_for_toolname_f8e3b2fb\":\"为%{toolName}管理更新\",\"manual_entry_e4a4f99a\":\"手动输入\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"转移选项\",\"module_menu_3201af4e\":\"单元菜单\",\"name_1aed4a1b\":\"名称\",\"name_app_has_been_deleted_fb2d9426\":\"%{name} 应用程序已被删除\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"*名称* 已成功安装，但尚未启用。\",\"name_is_currently_status_9065c996\":\"*名称* 目前的状态为 **状态**。\",\"name_only_5f56718e\":\"仅限姓名\",\"no_cancel_installation_db8d12d7\":\"不，取消安装\",\"no_grading_schemes_to_display_8b0e92e7\":\"没有可显示的评分方案\",\"no_placements_enabled_f705f28\":\"没有启用的安置\",\"not_installed_37a21a76\":\"未安装\",\"one_per_line_format_name_value_79647700\":\"每行一个。格式:姓名=值\",\"page_menu_2f8bee0\":\"页面菜单\",\"paste_xml_cda3a64e\":\"粘贴 XML\",\"placements_5b5e056b\":\"安置\",\"privacy_290109ea\":\"隐私\",\"public_a749f507\":\"公共\",\"quiz_menu_4fcd5e61\":\"测验菜单\",\"range_56b2f310\":\"范围\",\"range_name_90614433\":\"范围名称\",\"registration_url_60e0eaaa\":\"注册 URL\",\"remove_row_c198da5a\":\"移除行\",\"reregister_9ab95a57\":\"重新注册\",\"reregister_toolname_3dde0bfc\":\"重新注册%{toolName}\",\"save_11a80ec3\":\"保存\",\"save_grading_period_daaaddea\":\"保存评分周期\",\"saving_d55dd90e\":\"正在保存...\",\"see_some_lti_tools_that_work_great_with_canvas_53e92091\":\"查看可与Canvas一起使用的LTI工具。\",\"settings_5aa0fd0c\":\"设置\",\"shared_secret_892c88f2\":\"共享密钥\",\"similarity_detection_dcada48\":\"相似性检测\",\"start_date_e937be8a\":\"开始日期\",\"status_e7fdbe06\":\"状态\",\"submit_a3cc6859\":\"提交\",\"sync_grades_a16622ca\":\"同步评分\",\"the_app_was_activated_a84e055f\":\"应用程序已激活\",\"the_app_was_added_58e2836a\":\"已添加应用程序\",\"the_app_was_added_successfully_3f785a23\":\"已成功添加应用程序\",\"the_app_was_deactivated_573520ab\":\"应用程序已取消激活\",\"the_app_was_updated_successfully_3d71cd1b\":\"已成功更新应用程序\",\"the_following_content_is_partner_provided_ed1da756\":\"以下内容由合作伙伴提供\",\"the_following_fields_are_invalid_fields_b3565800\":\"以下栏目是无效的：%{fields}\",\"the_grading_period_was_deleted_7814a349\":\"删除评分期限\",\"the_preceding_content_is_partner_provided_d753928c\":\"以上内容由合作伙伴提供\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"删除评分时段时遇到问题\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"删除评分方案时遇到问题\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"有一个获取周期的问题\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"有保存评分期限的问题\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"保存评分方案时遇到问题\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"处理您的请求时出错\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"登记此工具时发生未知错误\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"表格出错：%{errors}\",\"this_field_is_required_fa58c4a\":\"此字段为必填字段\",\"this_field_name_is_required_988caebc\":\"此字段“%{name}”必填。\",\"this_field_name_is_required_b9196401\":\"此字段“name”必填。\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"该工具已安装在该上下文中。您仍要安装该工具吗？\",\"to_35c6baa2\":\"至\",\"to_minscore_43e5452e\":\"至 %{minScore}%\",\"tool_configuration_63cd43b0\":\"工具配置\",\"tool_content_e699e813\":\"工具内容\",\"tool_placements_3f996c24\":\"工具展示\",\"unable_to_accept_update_fd53a7e2\":\"无法接受更新\",\"unable_to_dismiss_update_df1e32eb\":\"无法撤销更新\",\"unable_to_load_lti_1_3_tools_cf169f9\":\"无法加载 Lti 1.3 工具\",\"unable_to_remove_app_4293cb53\":\"无法删除应用程序\",\"unchanged_aca18e02\":\"[不变]\",\"update_tool_7d48ef2a\":\"更新 %{tool}\",\"updating_6edbab78\":\"正在更新\",\"upper_limit_of_range_c454a8f2\":\"范围的上限\",\"user_navigation_a097be0f\":\"用户导航\",\"view_app_center_6c89a3fe\":\"查看 App Center\",\"view_app_configurations_52b52441\":\"查看应用程序配置\",\"view_name_app_62a2ad8e\":\"查看 %{name} 应用程序\",\"view_toolname_placements_4a5724d1\":\"查看%{toolName} 的安置\",\"we_were_unable_to_activate_the_app_578defe7\":\"我们无法激活该应用程序。\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"我们无法添加访问令牌。\",\"we_were_unable_to_add_the_app_418877ef\":\"我们无法添加应用程序。\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"我们无法取消激活该应用程序。\",\"we_were_unable_to_update_the_app_659f5bc6\":\"我们无法更新应用程序。\",\"weight_9b308e5b\":\"权重\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"您愿意接受还是拒绝此更新？\",\"would_you_like_to_enable_this_app_ccdf735d\":\"是否要启用此应用程序？\",\"xml_configuration_5ea1b942\":\"XML 配置\",\"yes_install_tool_f51b3278\":\"是的，安装工具\"},\"zh-Hant\":{\"a_table_containing_the_name_of_the_grading_scheme__8e6d32f8\":\"一個包含評分方案名稱的圖表與用于編輯或刪除該方案的按钮。\",\"a_table_that_contains_the_grading_scheme_data_each_fe739bf6\":\"一個包含評分方案數據的表格。每一行均包含一個名稱、一個最大百分比以及一個最小百分比。此外，每一行均包含一個用於在下方添加新一行的按鈕以及一個用於刪除當前行的按鈕。\",\"accept_2fdd362e\":\"接受\",\"access_token_3be22221\":\"訪問令牌\",\"account_navigation_80bbefd4\":\"帳戶導航\",\"actions_efcde10d\":\"動作\",\"add_app_baf540f\":\"添加應用程式\",\"add_grading_scheme_81e23c05\":\"添加評分方案\",\"all_4321c3a1\":\"全部\",\"all_changes_were_saved_f6f3ddcc\":\"所有改動已保存\",\"all_dates_fields_must_be_present_and_formatted_cor_3a0fe925\":\"所有日期字段必須存在並且格式正確\",\"all_grading_periods_must_have_a_title_a1a38d87\":\"所有評分時段必須有標題\",\"all_start_dates_must_be_before_the_end_date_d949eca9\":\"開始開始日期必須早於結束日期\",\"allow_this_tool_to_access_the_ims_names_and_role_p_33e16d7f\":\"允許此工具訪問 IMS 名稱和角色佈建服務\",\"an_update_is_available_for_toolname_bba3fa2\":\"%{toolName}有可用更新\",\"anonymous_e1b8ad27\":\"匿名\",\"app_b157c2b3\":\"應用程式\",\"app_placements_6d877225\":\"應用程式配置\",\"app_reregistration_87cc8817\":\"應用程式再註冊\",\"app_was_installed_by_admin_and_is_locked_3bee4d39\":\"%{app} 由管理員安裝及已被鎖定\",\"app_was_installed_by_the_master_course_and_is_lock_dbeb24a6\":\"%{app} 由主課程安裝及已被鎖定\",\"app_was_installed_by_the_master_course_e55ba1d7\":\"%{app} 由主課程安裝\",\"apps_are_an_easy_way_to_add_new_features_to_canvas_2cbc2531\":\"應用程式是添加新功能至 Canvas 的簡便方法。您可以添加應用程式到單獨課程中，又或者帳戶中內所有課程。完成配置之後，就可以透過課程單元連接到應用程式，並創建評估工具任務。\",\"are_you_sure_you_want_to_delete_this_grading_perio_422359cd\":\"是否確定要刪除此評分時段？\",\"are_you_sure_you_want_to_delete_this_grading_schem_df8b75f9\":\"是否確定要刪除此評分方案？\",\"are_you_sure_you_want_to_remove_this_tool_7363f90b\":\"是否確定要刪除此工具？\",\"assignment_edit_6dced39f\":\"作業編輯\",\"assignment_menu_91fe3716\":\"任務功能表\",\"assignment_selection_6bff05c4\":\"任務選擇\",\"assignment_view_1206a60b\":\"作業視圖\",\"back_to_app_center_95420d83\":\"返回應用程式中心\",\"by_lti_2_registration_url_e421e523\":\"按照 LTI 2 註冊 URL\",\"by_url_a163275e\":\"透過 URL\",\"cancel_caeb1e68\":\"取消\",\"close_d634289d\":\"關閉\",\"close_date_a2f617b3\":\"結束日期\",\"collaboration_71c024f4\":\"協作\",\"config_url_e96ceaf3\":\"配置 URL\",\"configuration_type_25a084a4\":\"配置類型\",\"configure_ecb97e30\":\"配置\",\"configure_tool_app_3b1bb50b\":\"配置 %{tool} 應用程式？\",\"configure_toolname_app_651371be\":\"配置 %{toolName} 應用程式\",\"consumer_key_6f94ba11\":\"消費者密鑰\",\"context_contextname_24d82846\":\"(%{context}: %{contextName})\",\"context_level_56d88f5b\":\"(%{context} level)\",\"count_apps_found_f4d86860\":\"%{count} 找到應用程式\",\"course_assignments_menu_fa6aeb23\":\"課程任務功能表\",\"course_home_sub_navigation_b1ee6b03\":\"課程主頁子導航\",\"course_navigation_dd035109\":\"課程導覽\",\"course_settings_sub_navigation_b95deae\":\"課程設置子導航\",\"custom_fields_fc3e55af\":\"自訂字段\",\"delete_a6efa79d\":\"刪除\",\"delete_grading_period_dba36e59\":\"刪除評分時段\",\"delete_grading_scheme_6b308832\":\"刪除評分方案\",\"delete_tool_app_9c9f6d35\":\"要刪除 %{tool} 應用程式？\",\"delete_toolname_app_85f9d4ee\":\"刪除 %{toolName} 應用程式\",\"description_436c48d7\":\"說明\",\"disable_a5c05db3\":\"停用\",\"disable_toolname_44d6397c\":\"停用%{toolName}\",\"disabled_18c33a73\":\"（已停用）\",\"discussion_topic_menu_3d4684c6\":\"討論話題功能表\",\"dismiss_dacdb625\":\"解除\",\"domain_3b54c511\":\"網域\",\"e_mail_only_2cc5e513\":\"僅限電子郵件\",\"edit_app_b0cc1c17\":\"編輯應用程式\",\"edit_c5fbea07\":\"編輯\",\"edit_grading_scheme_53091236\":\"編輯評分方案\",\"edit_toolname_app_23cfbb8\":\"編輯 %{toolName} 應用程式\",\"editor_button_6647db9c\":\"編輯器按鈕\",\"either_the_url_or_domain_should_be_set_c29cf8c1\":\"應該設置 URL 或網域。\",\"enable_6f5d1328\":\"啟用\",\"enable_toolname_dc64c25a\":\"啟用%{toolName}\",\"end_date_e0093ed7\":\"結束日期\",\"enter_the_access_token_for_your_organization_from__38b84fd1\":\"輸入您的所屬機構的                     *eduappcenter.com* 訪問許可證。套用後，外部應用程式頁面上，只會列出您所屬機構在                     EduAppCenter 內核可的應用程式。瞭解如何**產生訪問許可證**。\",\"example_https_example_com_config_xml_be5f36ac\":\"例如：https://example.com/config.xml\",\"example_https_lti_tool_provider_example_herokuapp__e9802142\":\"範例：https://lti-tool-provider-example.herokuapp.com/register\",\"external_apps_f5490181\":\"外部應用程式\",\"file_menu_cc0ca54\":\"文檔菜單\",\"filter_by_name_34cbe139\":\"按名稱篩選\",\"global_navigation_8bee3501\":\"全域導航\",\"grading_aa6de9\":\"評分\",\"grading_period_name_31ceb3e3\":\"評分時段名稱\",\"grading_period_title_23b7f8ac\":\"評分時段標題\",\"grading_period_weight_99b66906\":\"評分週期權重\",\"grading_periods_81941e66\":\"評分時段\",\"grading_periods_must_not_overlap_f45336fb\":\"評分時段之間不得出現重合\",\"grading_scheme_deleted_7ae5a072\":\"評分方案已刪除\",\"grading_scheme_saved_85535151\":\"評分方案已保存\",\"grading_schemes_1c3c3252\":\"評分方案\",\"grading_standard_title_58f540a3\":\"評分標準標題\",\"homework_submission_172e8354\":\"作業提交\",\"insert_row_below_25187f89\":\"在下方插入一行\",\"installed_7b284a91\":\"已安裝\",\"launch_external_tool_672c0409\":\"啟動外部工具\",\"launch_registration_tool_38d4781\":\"啟動註冊工具\",\"launch_url_e150bd41\":\"啟動 URL\",\"link_selection_1486c5d0\":\"連結選擇\",\"link_to_lti_tools_608df3b0\":\"連接至 LTI 工具。\",\"looks_great_e4d883ed\":\"非常棒！\",\"lower_limit_of_range_6ddd4983\":\"範圍下限\",\"lti_1_3_c84fd177\":\"LTI 1.3\",\"lti_1_3_tools_list_ac30b375\":\"LTI 1.3 工具清單\",\"manage_app_list_994cc26c\":\"管理應用列表\",\"manage_grading_schemes_in_context_name_e3678273\":\"管理 %{context_name} 的評分方案\",\"manage_update_23de23a1\":\"管理升級\",\"manage_update_for_toolname_f8e3b2fb\":\"管理 %{toolName} 的更新\",\"manual_entry_e4a4f99a\":\"手動輸入\",\"message_896d2ed0\":\"%{message}\",\"migration_selection_5f1c5f55\":\"資料移轉選項\",\"module_menu_3201af4e\":\"單元功能表\",\"name_1aed4a1b\":\"名稱\",\"name_app_has_been_deleted_fb2d9426\":\"%{name} 應用程式已被刪除\",\"name_has_been_successfully_installed_but_has_not_y_c3148b96\":\"*名稱* 已成功安裝，但尚未啟用。\",\"name_is_currently_status_9065c996\":\"*名稱* 目前的狀態為 **狀態**。\",\"name_only_5f56718e\":\"僅限名稱\",\"no_cancel_installation_db8d12d7\":\"不，取消安裝\",\"no_grading_schemes_to_display_8b0e92e7\":\"沒有可顯示的評分方案\",\"no_placements_enabled_f705f28\":\"未啟用配置\",\"not_installed_37a21a76\":\"未安裝\",\"one_per_line_format_name_value_79647700\":\"每行一個。格式：名稱 = 數值\",\"page_menu_2f8bee0\":\"頁面功能表\",\"paste_xml_cda3a64e\":\"粘貼 XML\",\"placements_5b5e056b\":\"配置\",\"privacy_290109ea\":\"隱私權\",\"public_a749f507\":\"公共\",\"quiz_menu_4fcd5e61\":\"測驗菜單\",\"range_56b2f310\":\"範圍\",\"range_name_90614433\":\"範圍名稱\",\"registration_url_60e0eaaa\":\"註冊 URL\",\"remove_row_c198da5a\":\"刪除行\",\"reregister_9ab95a57\":\"再註冊\",\"reregister_toolname_3dde0bfc\":\"再註冊%{toolName}\",\"save_11a80ec3\":\"保存\",\"save_grading_period_daaaddea\":\"保存評分時段\",\"saving_d55dd90e\":\"正在保存...\",\"see_some_lti_tools_that_work_great_with_canvas_53e92091\":\"檢視可與 Canvas 完美兼容的 LTI 工具。\",\"settings_5aa0fd0c\":\"設置\",\"shared_secret_892c88f2\":\"共用密碼\",\"similarity_detection_dcada48\":\"相似性檢測\",\"start_date_e937be8a\":\"開始日期\",\"status_e7fdbe06\":\"狀態\",\"submit_a3cc6859\":\"提交\",\"sync_grades_a16622ca\":\"同步成績\",\"the_app_was_activated_a84e055f\":\"應用程式已激活\",\"the_app_was_added_58e2836a\":\"該應用程式已添加\",\"the_app_was_added_successfully_3f785a23\":\"該應用程式已成功添加\",\"the_app_was_deactivated_573520ab\":\"應用程式已停用\",\"the_app_was_updated_successfully_3d71cd1b\":\"該應用程式已成功更新\",\"the_following_content_is_partner_provided_ed1da756\":\"以下內容由合作夥伴提供\",\"the_following_fields_are_invalid_fields_b3565800\":\"如下字段無效：%{fields}\",\"the_grading_period_was_deleted_7814a349\":\"評分時段已刪除\",\"the_preceding_content_is_partner_provided_d753928c\":\"上述內容由合作夥伴提供\",\"there_was_a_problem_deleting_the_grading_period_50ce07c5\":\"刪除評分時段時遇到問題\",\"there_was_a_problem_deleting_the_grading_scheme_2a959c40\":\"在刪除評分方案時發生了一個問題\",\"there_was_a_problem_fetching_periods_bdc09a8f\":\"讀取時段時遇到問題\",\"there_was_a_problem_saving_the_grading_period_243bed6c\":\"在保存評分時段時出現了一個問題\",\"there_was_a_problem_saving_the_grading_scheme_5e6076e9\":\"在保存評分方案時發生了一個問題\",\"there_was_an_error_in_processing_your_request_6513a49a\":\"處理您的要求時發生錯誤\",\"there_was_an_unknown_error_registering_the_tool_b9a29954\":\"註冊工具時出現未知錯誤\",\"there_were_errors_with_the_form_errors_ab5b559a\":\"該表單含有多個錯誤：%{errors}\",\"this_field_is_required_fa58c4a\":\"此字段為必填項\",\"this_field_name_is_required_988caebc\":\"『%{name}』這一字段為必填項。\",\"this_field_name_is_required_b9196401\":\"『姓名』這一字段為必填項。\",\"this_tool_has_already_been_installed_in_this_conte_b73ea29c\":\"此工具已經安裝在此語境中。您想仍然安裝它嗎？\",\"to_35c6baa2\":\"至\",\"to_minscore_43e5452e\":\"至 %{minScore}%\",\"tool_configuration_63cd43b0\":\"工具配置\",\"tool_content_e699e813\":\"工具內容\",\"tool_placements_3f996c24\":\"工具配置\",\"unable_to_accept_update_fd53a7e2\":\"無法接受更新\",\"unable_to_dismiss_update_df1e32eb\":\"無法解除更新\",\"unable_to_load_lti_1_3_tools_cf169f9\":\"無法載入 Lti 1.3 工具\",\"unable_to_remove_app_4293cb53\":\"無法刪除應用程式\",\"unchanged_aca18e02\":\"[不變]\",\"update_tool_7d48ef2a\":\"更新 %{tool}\",\"updating_6edbab78\":\"正在更新\",\"upper_limit_of_range_c454a8f2\":\"範圍上限\",\"user_navigation_a097be0f\":\"使用者導航\",\"view_app_center_6c89a3fe\":\"檢視應用程式中心\",\"view_app_configurations_52b52441\":\"檢視應用程式配置\",\"view_name_app_62a2ad8e\":\"檢視 %{name} 應用程式\",\"view_toolname_placements_4a5724d1\":\"檢視 %{toolName} 配置\",\"we_were_unable_to_activate_the_app_578defe7\":\"我們無法激活該應用程式。\",\"we_were_unable_to_add_the_access_token_1f471fe6\":\"我們無法添加該訪問令牌。\",\"we_were_unable_to_add_the_app_418877ef\":\"我們無法添加該應用程式。\",\"we_were_unable_to_deactivate_the_app_5e2632f3\":\"我們無法停用該應用程式。\",\"we_were_unable_to_update_the_app_659f5bc6\":\"我們無法更新該應用程式。\",\"weight_9b308e5b\":\"權重\",\"would_you_like_to_accept_or_dismiss_this_update_9009d696\":\"您希望接受還是放棄此更新？\",\"would_you_like_to_enable_this_app_ccdf735d\":\"您是否要啟用此應用程式？\",\"xml_configuration_5ea1b942\":\"XML 配置\",\"yes_install_tool_f51b3278\":\"是，安裝工具\"}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/external_tools.js\n// module id = a2fyKqLZ3Q\n// module chunks = 54 82 84 109","\n    define('jst/DialogFormWrapper', [\"handlebars/runtime\",\"i18n!dialog_form_wrapper\",\"coffeescripts/handlebars_helpers.coffee\"], function(Handlebars){\n      Handlebars = Handlebars.default\n      var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};\n      var name = 'DialogFormWrapper';\n      templates[name] = template(function (Handlebars,depth0,helpers,partials,data) {\n  this.compilerInfo = [4,'>= 1.0.0'];\nhelpers = this.merge(helpers, Handlebars.helpers); data = data || {};\n  var buffer = \"\", helper, options, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression;\n\n\n  buffer += \"<div class=\\\"outlet\\\"></div>\\n\\n<div class=\\\"button-container\\\">\\n  <button class=\\\"btn dialog_closer\\\">\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"dialog_form_wrapper\")\n  },data:data},helper ? helper.call(depth0, \"cancel\", \"Cancel\", options) : helperMissing.call(depth0, \"t\", \"cancel\", \"Cancel\", options)))\n    + \"</button>\\n  <button\\n    class=\\\"btn btn-primary\\\"\\n    data-text-while-loading='\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"dialog_form_wrapper\")\n  },data:data},helper ? helper.call(depth0, \"saving\", \"Saving...\", options) : helperMissing.call(depth0, \"t\", \"saving\", \"Saving...\", options)))\n    + \"'\\n    type=\\\"submit\\\"\\n  >\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"dialog_form_wrapper\")\n  },data:data},helper ? helper.call(depth0, \"save_settings\", \"Save Settings\", options) : helperMissing.call(depth0, \"t\", \"save_settings\", \"Save Settings\", options)))\n    + \"</button>\\n\\n\";\n  return buffer;\n  });\n      ;\n      ;\n      return templates[name];\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./app/views/jst/DialogFormWrapper.handlebars\n// module id = anfu55gJJ4\n// module chunks = 33 36 37 44 45 51 54 56 62 77 95","#\n# Copyright (C) 2012 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  'jquery'\n  'underscore'\n  'Backbone'\n  '../backbone-ext/DefaultUrlMixin'\n  '../models/TurnitinSettings'\n  '../models/VeriCiteSettings'\n  '../models/DateGroup'\n  '../collections/AssignmentOverrideCollection'\n  '../collections/DateGroupCollection'\n  'i18n!assignments'\n  'jsx/grading/helpers/GradingPeriodsHelper'\n  'timezone'\n  'jsx/shared/helpers/numberHelper'\n  '../util/PandaPubPoller'\n], ($, _, {Model}, DefaultUrlMixin, TurnitinSettings, VeriCiteSettings, DateGroup,\n    AssignmentOverrideCollection, DateGroupCollection, I18n, GradingPeriodsHelper,\n    tz, numberHelper, PandaPubPoller) ->\n\n  isAdmin = () ->\n    _.contains(ENV.current_user_roles, 'admin')\n\n  class Assignment extends Model\n    @mixin DefaultUrlMixin\n    resourceName: 'assignments'\n\n    urlRoot: -> @_defaultUrl()\n\n    defaults:\n      \"publishable\": true\n      \"hidden\": false\n      \"unpublishable\": true\n\n    initialize: ->\n      if (overrides = @get('assignment_overrides'))?\n        @set 'assignment_overrides', new AssignmentOverrideCollection(overrides)\n      if (turnitin_settings = @get('turnitin_settings'))?\n        @set 'turnitin_settings', new TurnitinSettings(turnitin_settings),\n          silent: true\n      if (vericite_settings = @get('vericite_settings'))?\n        @set 'vericite_settings', new VeriCiteSettings(vericite_settings),\n          silent: true\n      if (all_dates = @get('all_dates'))?\n        @set 'all_dates', new DateGroupCollection(all_dates)\n      if (@postToSISEnabled())\n        if !@get('id') && @get('post_to_sis') != false\n          @set 'post_to_sis', !!ENV?.POST_TO_SIS_DEFAULT\n\n    isQuiz: => @_hasOnlyType 'online_quiz'\n    isDiscussionTopic: => @_hasOnlyType 'discussion_topic'\n    isPage: => @_hasOnlyType 'wiki_page'\n    isExternalTool: => @_hasOnlyType 'external_tool'\n    isNotGraded: => @_hasOnlyType 'not_graded'\n    isAssignment: =>\n      ! _.include @_submissionTypes(), 'online_quiz', 'discussion_topic',\n        'not_graded', 'external_tool'\n\n    assignmentType: (type) =>\n      return @_getAssignmentType() unless arguments.length > 0\n      if type == 'assignment'\n        @set 'submission_types', [ 'none' ]\n      else\n        @set 'submission_types', [ type ]\n\n    dueAt: (date) =>\n      return @get 'due_at' unless arguments.length > 0\n      @set 'due_at', date\n\n    unlockAt: (date) =>\n      return @get 'unlock_at' unless arguments.length > 0\n      @set 'unlock_at', date\n\n    lockAt: (date)  =>\n      return @get 'lock_at' unless arguments.length > 0\n      @set 'lock_at', date\n\n    dueDateRequired: (newDueDateRequired) =>\n      return @get 'dueDateRequired' unless arguments.length > 0\n      @set 'dueDateRequired', newDueDateRequired\n\n    description: (newDescription) =>\n      return @get 'description' unless arguments.length > 0\n      @set 'description', newDescription\n\n    name: (newName) =>\n      return @get 'name' unless arguments.length > 0\n      @set 'name', newName\n\n    pointsPossible: (points) =>\n      return @get('points_possible') || 0 unless arguments.length > 0\n      # if the incoming value is valid, set the field to the numeric value\n      # if not, set to the incoming string and let validation handle it later\n      if(numberHelper.validate(points))\n        @set 'points_possible', numberHelper.parse(points)\n      else\n        @set 'points_possible', points\n\n    secureParams: =>\n      @get('secure_params')\n\n    assignmentGroupId: (assignment_group_id) =>\n      return @get 'assignment_group_id' unless arguments.length > 0\n      @set 'assignment_group_id', assignment_group_id\n\n    canFreeze: =>\n      @get('frozen_attributes')? && !@frozen() && !@isQuizLTIAssignment()\n\n    canDelete: =>\n      not @inClosedGradingPeriod() and not @frozen()\n\n    canMove: =>\n      not @inClosedGradingPeriod() and not _.include(@frozenAttributes(), 'assignment_group_id')\n\n    freezeOnCopy: =>\n      @get('freeze_on_copy')\n\n    frozen: =>\n      @get('frozen')\n\n    frozenAttributes: =>\n      @get('frozen_attributes') || []\n\n    inClosedGradingPeriod: =>\n      return false if isAdmin()\n      @get('in_closed_grading_period')\n\n    gradingType: (gradingType) =>\n      return @get('grading_type') || 'points' unless gradingType\n      @set 'grading_type', gradingType\n\n    omitFromFinalGrade: (omitFromFinalGradeBoolean) =>\n      return @get 'omit_from_final_grade' unless arguments.length > 0\n      @set 'omit_from_final_grade', omitFromFinalGradeBoolean\n\n    courseID: => @get('course_id')\n\n    submissionTypes: (submissionTypes) =>\n      return @_submissionTypes() unless arguments.length > 0\n      @set 'submission_types', submissionTypes\n\n    submissionType: =>\n      submissionTypes = @_submissionTypes()\n      if _.include(submissionTypes, 'none') || submissionTypes.length == 0 then 'none'\n      else if _.include submissionTypes, 'on_paper' then 'on_paper'\n      else if _.include submissionTypes, 'external_tool' then 'external_tool'\n      else 'online'\n\n    expectsSubmission: =>\n      submissionTypes = @_submissionTypes()\n      submissionTypes.length > 0 && !_.include(submissionTypes, \"\") && !_.include(submissionTypes, 'none') && !_.include(submissionTypes, 'not_graded') && !_.include(submissionTypes, 'on_paper') && !_.include(submissionTypes, 'external_tool')\n\n    allowedToSubmit: =>\n      submissionTypes = @_submissionTypes()\n      @expectsSubmission() && !@get('locked_for_user') && !_.include(submissionTypes, 'online_quiz') && !_.include(submissionTypes, 'attendance')\n\n    hasSubmittedSubmissions: =>\n      @get('has_submitted_submissions')\n\n    withoutGradedSubmission: =>\n      sub = @get('submission')\n      !sub? || sub.withoutGradedSubmission()\n\n    acceptsOnlineUpload: =>\n      !! _.include @_submissionTypes(), 'online_upload'\n\n    acceptsOnlineURL: =>\n      !! _.include @_submissionTypes(), 'online_url'\n\n    acceptsMediaRecording: =>\n      !! _.include @_submissionTypes(), 'media_recording'\n\n    acceptsOnlineTextEntries: =>\n      !! _.include @_submissionTypes(), 'online_text_entry'\n\n    isOnlineSubmission: =>\n      _.any @_submissionTypes(), (thing) ->\n        thing in ['online', 'online_text_entry',\n          'media_recording', 'online_url', 'online_upload']\n\n    postToSIS: (postToSisBoolean) =>\n      return @get 'post_to_sis' unless arguments.length > 0\n      @set 'post_to_sis', postToSisBoolean\n\n    moderatedGrading: (enabled) =>\n      return @get('moderated_grading') or false unless arguments.length > 0\n      @set('moderated_grading', enabled)\n\n    anonymousInstructorAnnotations: (anonymousInstructorAnnotationsBoolean) =>\n      return @get 'anonymous_instructor_annotations' unless arguments.length > 0\n      @set 'anonymous_instructor_annotations', anonymousInstructorAnnotationsBoolean\n\n    anonymousGrading: (anonymousGradingBoolean) =>\n      return @get 'anonymous_grading' unless arguments.length > 0\n      @set 'anonymous_grading', anonymousGradingBoolean\n\n    gradersAnonymousToGraders: (anonymousGraders) =>\n      return @get('graders_anonymous_to_graders') unless arguments.length > 0\n      @set 'graders_anonymous_to_graders', anonymousGraders\n\n    graderCommentsVisibleToGraders: (commentsVisible) =>\n      return !!@get('grader_comments_visible_to_graders') unless arguments.length > 0\n      @set 'grader_comments_visible_to_graders', commentsVisible\n\n    peerReviews: (peerReviewBoolean) =>\n      return @get 'peer_reviews' unless arguments.length > 0\n      @set 'peer_reviews', peerReviewBoolean\n\n    anonymousPeerReviews: (anonymousPeerReviewBoolean) =>\n      return @get 'anonymous_peer_reviews' unless arguments.length > 0\n      @set 'anonymous_peer_reviews', anonymousPeerReviewBoolean\n\n    automaticPeerReviews: (autoPeerReviewBoolean) =>\n      return @get 'automatic_peer_reviews' unless arguments.length > 0\n      @set 'automatic_peer_reviews', autoPeerReviewBoolean\n\n    peerReviewCount:(peerReviewCount) =>\n      return @get('peer_review_count') || 0 unless arguments.length > 0\n      @set 'peer_review_count', peerReviewCount\n\n    peerReviewsAssignAt: (date)  =>\n      return @get('peer_reviews_assign_at') || null unless arguments.length > 0\n      @set 'peer_reviews_assign_at', date\n\n    intraGroupPeerReviews: ->\n      @get('intra_group_peer_reviews')\n\n    notifyOfUpdate: (notifyOfUpdateBoolean) =>\n      return @get 'notify_of_update' unless arguments.length > 0\n      @set 'notify_of_update', notifyOfUpdateBoolean\n\n    restrictFileExtensions: => !!@allowedExtensions()\n\n    allowedExtensions: (extensionsList) =>\n      return @get('allowed_extensions') unless arguments.length > 0\n      @set 'allowed_extensions', extensionsList\n\n    turnitinAvailable: =>\n      typeof @get('turnitin_enabled') != 'undefined'\n\n    vericiteAvailable: =>\n      typeof @get('vericite_enabled') != 'undefined'\n\n    gradeGroupStudentsIndividually: (setting) =>\n      return @get('grade_group_students_individually') unless arguments.length > 0\n      @set 'grade_group_students_individually', setting\n\n    turnitinEnabled: (setting) =>\n      if arguments.length == 0\n        if @get( 'turnitin_enabled' ) == undefined\n          false\n        else\n          !!@get( 'turnitin_enabled' )\n      else\n        @set( 'turnitin_enabled', setting )\n\n    vericiteEnabled: (setting) =>\n      if arguments.length == 0\n        if @get( 'vericite_enabled' ) == undefined\n          false\n        else\n          !!@get( 'vericite_enabled' )\n      else\n        @set( 'vericite_enabled', setting )\n\n    groupCategoryId: (id) =>\n      return @get( 'group_category_id' ) unless arguments.length > 0\n      @set 'group_category_id', id\n\n    canGroup: -> !@get('has_submitted_submissions')\n\n    gradingStandardId: (id) =>\n      return @get('grading_standard_id') unless arguments.length > 0\n      @set 'grading_standard_id', id\n\n    externalToolUrl: (url) =>\n      tagAttributes = @get('external_tool_tag_attributes') || {}\n      return tagAttributes.url unless arguments.length > 0\n      tagAttributes.url = url\n      @set 'external_tool_tag_attributes', tagAttributes\n\n    externalToolNewTab: (b) =>\n      tagAttributes = @get('external_tool_tag_attributes') || {}\n      return tagAttributes.new_tab unless arguments.length > 0\n      tagAttributes.new_tab = b\n      @set 'external_tool_tag_attributes', tagAttributes\n\n    isSimple: =>\n      overrides = @get('assignment_overrides')\n      @gradingType() == 'points' and\n        @submissionType() == 'none' and\n        !@groupCategoryId() and\n        !@peerReviews() and\n        !@frozen() and\n        (!overrides or overrides.isSimple())\n\n    isLetterGraded: =>\n      @gradingType() == 'letter_grade'\n\n    isGpaScaled: =>\n      @gradingType() == 'gpa_scale'\n\n    published: (newPublished) =>\n      return @get 'published' unless arguments.length > 0\n      @set 'published', newPublished\n\n    position: (newPosition) ->\n      return @get('position') || 0 unless arguments.length > 0\n      @set 'position', newPosition\n\n    iconType: =>\n      return 'quiz' if @isQuiz()\n      return 'discussion' if @isDiscussionTopic()\n      return 'document' if @isPage()\n      return 'assignment'\n\n    objectType: =>\n      return 'Quiz' if @isQuiz()\n      return 'Discussion' if @isDiscussionTopic()\n      return 'WikiPage' if @isPage()\n      return 'Assignment'\n\n    htmlUrl: =>\n      @get 'html_url'\n\n    htmlEditUrl: =>\n      \"#{@get 'html_url'}/edit\"\n\n    labelId: =>\n      return @id\n\n    postToSISEnabled: =>\n      return ENV.POST_TO_SIS\n\n    postToSISName: =>\n      return ENV.SIS_NAME\n\n    sisIntegrationSettingsEnabled: =>\n      return ENV.SIS_INTEGRATION_SETTINGS_ENABLED\n\n    maxNameLength: =>\n      return ENV.MAX_NAME_LENGTH\n\n    maxNameLengthRequiredForAccount: =>\n      return ENV.MAX_NAME_LENGTH_REQUIRED_FOR_ACCOUNT\n\n    dueDateRequiredForAccount: =>\n      return ENV.DUE_DATE_REQUIRED_FOR_ACCOUNT\n\n    defaultDates: =>\n      group = new DateGroup\n        due_at:    @get(\"due_at\")\n        unlock_at: @get(\"unlock_at\")\n        lock_at:   @get(\"lock_at\")\n\n    multipleDueDates: =>\n      count = @get(\"all_dates_count\")\n      if count && count > 1\n        true\n      else\n        dateGroups = @get(\"all_dates\")\n        dateGroups && dateGroups.length > 1\n\n    hasDueDate: =>\n      !@isPage()\n\n    hasPointsPossible: =>\n      !@isQuiz() && !@isPage()\n\n    nonBaseDates: =>\n      dateGroups = @get(\"all_dates\")\n      return false unless dateGroups\n      withouBase = _.filter(dateGroups.models, (dateGroup) =>\n        dateGroup && !dateGroup.get(\"base\")\n      )\n      withouBase.length > 0\n\n    allDates: =>\n      groups = @get(\"all_dates\")\n      models = (groups and groups.models) or []\n      result = _.map models, (group) -> group.toJSON()\n\n    singleSectionDueDate: =>\n      if !@multipleDueDates() && !@dueAt()\n        allDates = @allDates()\n        for section in allDates\n          if section.dueAt\n            return section.dueAt.toISOString()\n      else\n        return @dueAt()\n\n    canDuplicate: =>\n      @get('can_duplicate')\n\n    isDuplicating: =>\n      @get('workflow_state') == 'duplicating'\n\n    failedToDuplicate: =>\n      @get('workflow_state') == 'failed_to_duplicate'\n\n    originalCourseID: =>\n      @get('original_course_id')\n\n    originalAssignmentID: =>\n      @get('original_assignment_id')\n\n    originalAssignmentName: =>\n      @get('original_assignment_name')\n\n    is_quiz_assignment: =>\n      @get('is_quiz_assignment')\n\n    isQuizLTIAssignment: =>\n      @get('is_quiz_lti_assignment')\n\n    isImporting: =>\n      @get('workflow_state') == 'importing'\n\n    failedToImport: =>\n      @get('workflow_state') == 'failed_to_import'\n\n    submissionTypesFrozen: =>\n      _.include(@frozenAttributes(), 'submission_types')\n\n    toView: =>\n      fields = [\n        'name', 'dueAt', 'description', 'pointsPossible', 'lockAt', 'unlockAt',\n        'gradingType', 'notifyOfUpdate', 'peerReviews', 'automaticPeerReviews',\n        'peerReviewCount', 'peerReviewsAssignAt', 'anonymousPeerReviews',\n        'acceptsOnlineUpload', 'acceptsMediaRecording', 'submissionType',\n        'acceptsOnlineTextEntries', 'acceptsOnlineURL', 'allowedExtensions',\n        'restrictFileExtensions', 'isOnlineSubmission', 'isNotGraded',\n        'isExternalTool', 'externalToolUrl', 'externalToolNewTab',\n        'turnitinAvailable', 'turnitinEnabled', 'vericiteAvailable',\n        'vericiteEnabled', 'gradeGroupStudentsIndividually', 'groupCategoryId',\n        'frozen', 'frozenAttributes', 'freezeOnCopy', 'canFreeze', 'isSimple',\n        'gradingStandardId', 'isLetterGraded', 'isGpaScaled',\n        'assignmentGroupId', 'iconType', 'published', 'htmlUrl', 'htmlEditUrl',\n        'labelId', 'position', 'postToSIS', 'multipleDueDates', 'nonBaseDates',\n        'allDates', 'hasDueDate', 'hasPointsPossible', 'singleSectionDueDate',\n        'moderatedGrading', 'postToSISEnabled', 'isOnlyVisibleToOverrides',\n        'omitFromFinalGrade', 'isDuplicating', 'failedToDuplicate',\n        'originalAssignmentName', 'is_quiz_assignment', 'isQuizLTIAssignment',\n        'isImporting', 'failedToImport',\n        'secureParams', 'inClosedGradingPeriod', 'dueDateRequired',\n        'submissionTypesFrozen', 'anonymousInstructorAnnotations',\n        'anonymousGrading', 'gradersAnonymousToGraders', 'showGradersAnonymousToGradersCheckbox'\n      ]\n\n      hash =\n        id: @get('id'),\n        is_master_course_child_content: @get('is_master_course_child_content'),\n        restricted_by_master_course: @get('restricted_by_master_course'),\n        master_course_restrictions: @get('master_course_restrictions')\n      for field in fields\n        hash[field] = @[field]()\n      hash\n\n    toJSON: ->\n      data = super\n      data = @_filterFrozenAttributes(data)\n      delete data.description if (ENV.MASTER_COURSE_DATA?.is_master_course_child_content && ENV.MASTER_COURSE_DATA?.master_course_restrictions?.content)\n      if @alreadyScoped then data else { assignment: data }\n\n    inGradingPeriod: (gradingPeriod) ->\n      dateGroups = @get(\"all_dates\")\n      gradingPeriodsHelper = new GradingPeriodsHelper(gradingPeriod)\n      if dateGroups\n        _.any dateGroups.models, (dateGroup) =>\n          gradingPeriodsHelper.isDateInGradingPeriod(dateGroup.dueAt(), gradingPeriod.id)\n      else\n        gradingPeriodsHelper.isDateInGradingPeriod(tz.parse(@dueAt()), gradingPeriod.id)\n\n    search: (regex, gradingPeriod) ->\n      match = regex == \"\" || @get('name').match(regex)\n      match = @inGradingPeriod(gradingPeriod) if match && gradingPeriod\n      if match\n        @set 'hidden', false\n        return true\n      else\n        @set 'hidden', true\n        return false\n\n    endSearch: ->\n      @set 'hidden', false\n\n    parse: (data) ->\n      data = super data\n      if (overrides = data.assignment_overrides)?\n        data.assignment_overrides = new AssignmentOverrideCollection overrides\n      if (turnitin_settings = data.turnitin_settings)?\n        data.turnitin_settings = new TurnitinSettings turnitin_settings\n      if (vericite_settings = data.vericite_settings)?\n        data.vericite_settings = new VeriCiteSettings vericite_settings\n      data\n\n    # Update the Assignment model instance to not parse results from the\n    # server. This is a hack to work around the fact that the server will\n    # always return an overridden due date after a successful PUT request. If\n    # that is parsed and set on the model, and then another save() is called,\n    # the assignments default due date will be updated accidentally. Ugh.\n    doNotParse: ->\n      @parse = -> {}\n\n    # @api private\n    _submissionTypes: =>\n      @get('submission_types') || []\n\n    # @api private\n    _hasOnlyType: (type) =>\n      submissionTypes = @_submissionTypes()\n      submissionTypes.length == 1 && submissionTypes[0] == type\n\n    # @api private\n    _getAssignmentType: =>\n      if @isDiscussionTopic() then 'discussion_topic'\n      else if @isPage() then 'wiki_page'\n      else if @isQuiz() then 'online_quiz'\n      else if @isExternalTool() then 'external_tool'\n      else if @isNotGraded() then 'not_graded'\n      else 'assignment'\n\n    _filterFrozenAttributes: (data) =>\n      for own key, value of @attributes\n        if _.contains(@frozenAttributes(), key)\n          delete data[key]\n      if _.contains(@frozenAttributes(), \"title\")\n        delete data.name\n      if _.contains(@frozenAttributes(), \"group_category_id\")\n        delete data.grade_group_students_individually\n      if _.contains(@frozenAttributes(), \"peer_reviews\")\n        delete data.automatic_peer_reviews\n        delete data.peer_review_count\n        delete data.peer_reviews_assign_at\n      delete data.frozen\n      delete data.frozen_attributes\n      data\n\n    setNullDates: =>\n      @dueAt null\n      @lockAt null\n      @unlockAt null\n      this\n\n    publish: -> @save(\"published\", true)\n    unpublish: -> @save(\"published\", false)\n\n    disabledMessage: ->\n      I18n.t(\"Can't unpublish %{name} if there are student submissions\", name: @get('name'))\n\n    # caller is original assignment\n    duplicate: (callback) =>\n      course_id = @courseID()\n      assignment_id = @id\n      $.ajaxJSON \"/api/v1/courses/#{course_id}/assignments/#{assignment_id}/duplicate\", 'POST',\n        {}, callback\n\n    # caller is failed assignment\n    duplicate_failed: (callback) =>\n      target_course_id = @courseID()\n      target_assignment_id = @id\n      original_course_id = @originalCourseID()\n      original_assignment_id = @originalAssignmentID()\n      query_string = \"?target_assignment_id=#{target_assignment_id}\"\n      if (original_course_id != target_course_id) # when it's a course copy failure\n        query_string += \"&target_course_id=#{target_course_id}\"\n      $.ajaxJSON \"/api/v1/courses/#{original_course_id}/assignments/#{original_assignment_id}/duplicate#{query_string}\",\n        'POST', {}, callback\n\n    pollUntilFinishedDuplicating: (interval = 3000) =>\n      @pollUntilFinished(interval, @isDuplicating)\n\n    pollUntilFinishedImporting: (interval = 3000) =>\n      @pollUntilFinished(interval, @isImporting)\n\n    pollUntilFinishedLoading: (interval = 3000) =>\n      if @isDuplicating()\n        @pollUntilFinishedDuplicating(interval)\n      else if @isImporting()\n        @pollUntilFinishedImporting(interval)\n\n    pollUntilFinished: (interval, isFinished) =>\n      # TODO: implement pandapub streaming updates\n      poller = new PandaPubPoller interval, interval * 5, (done) =>\n        @fetch().always =>\n          done()\n          poller.stop() unless isFinished()\n      poller.start()\n\n    isOnlyVisibleToOverrides: (override_flag) ->\n      return @get('only_visible_to_overrides') || false unless arguments.length > 0\n      @set 'only_visible_to_overrides', override_flag\n\n    isRestrictedByMasterCourse: ->\n      @get('is_master_course_child_content') && @get('restricted_by_master_course')\n\n    showGradersAnonymousToGradersCheckbox: =>\n      @moderatedGrading() && @get('grader_comments_visible_to_graders')\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/models/Assignment.coffee","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"لن يتم تعيين درجة لهذه المهمة.\",\"assignment_not_yet_graded_screenreader\":\"لم يتم تقييم المهمة حتى الآن. %{pointsPossible} نقطة/نقاط ممكنة.\",\"empty_points_possible\":\"-/%{pointsPossible} من النقاط\",\"no_submission\":\"لا يوجد إرسال\",\"no_submission_for_assignment_screenreader\":\"لا يوجد إرسال لهذه المهمة. %{pointsPossible} نقطة/نقاط ممكنة.\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} من النقاط\",\"score_with_points_possible_screenreader\":\"الدرجة: %{score} من %{pointsPossible} من النقاط.\"}},\"excused_cf8792eb\":\"ليس إجباري\",\"not_yet_graded_40475341\":\"لم يتم التقييم بعد\",\"this_assignment_has_been_excused_87f1dc13\":\"هذه المهمة لم تعد إجبارية.\"},\"cy\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"Fydd dim un radd yn cael ei rhoi i’r aseiniad hwn.\",\"assignment_not_yet_graded_screenreader\":\"Dydy’r aseiniad ddim wedi’i raddio eto. %{pointsPossible} pwynt yn bosib.\",\"empty_points_possible\":\"-/%{pointsPossible} pwynt\",\"no_submission\":\"Dim byd wedi’i gyflwyno\",\"no_submission_for_assignment_screenreader\":\"Does dim byd wedi’i gyflwyno ar gyfer yr aseiniad hwn. %{pointsPossible} pwynt yn bosib.\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} pwynt\",\"score_with_points_possible_screenreader\":\"Sgôr: %{score} allan o %{pointsPossible} pwynt.\"}},\"excused_cf8792eb\":\"Wedi esgusodi\",\"not_yet_graded_40475341\":\"Heb eu graddio hyd yma\",\"this_assignment_has_been_excused_87f1dc13\":\"Mae’r aseiniad hwn wedi’i esgusodi.\"},\"da\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"Denne opgave tildeles ikke en karakter.\",\"assignment_not_yet_graded_screenreader\":\"Opgave endnu ikke bedømt. %{pointsPossible} mulige point.\",\"empty_points_possible\":\"-/%{pointsPossible} point\",\"no_submission\":\"Ingen aflevering\",\"no_submission_for_assignment_screenreader\":\"Inge aflevering for denne opgave. %{pointsPossible} mulige point.\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} point\",\"score_with_points_possible_screenreader\":\"Resultat: %{score} ud af %{pointsPossible} point\"}},\"excused_cf8792eb\":\"Undskyldt\",\"not_yet_graded_40475341\":\"Endnu ikke bedømt\",\"this_assignment_has_been_excused_87f1dc13\":\"Denne opgave er blevet fritaget.\"},\"da-x-k12\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"Denne opgave tildeles ikke en vurdering.\",\"assignment_not_yet_graded_screenreader\":\"Opgave endnu ikke bedømt. %{pointsPossible} mulige point.\",\"empty_points_possible\":\"-/%{pointsPossible} point\",\"no_submission\":\"Ingen aflevering\",\"no_submission_for_assignment_screenreader\":\"Inge aflevering for denne opgave. %{pointsPossible} mulige point.\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} point\",\"score_with_points_possible_screenreader\":\"Resultat: %{score} ud af %{pointsPossible} point\"}},\"excused_cf8792eb\":\"Undskyldt\",\"this_assignment_has_been_excused_87f1dc13\":\"Denne opgave er blevet fritaget.\"},\"de\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"Diese Aufgabe wird nicht benotet.\",\"assignment_not_yet_graded_screenreader\":\"Aufgabe noch nicht benotet. %{pointsPossible} mögliche Punkte.\",\"empty_points_possible\":\"-/%{pointsPossible} Pkte.\",\"no_submission\":\"Keine Abgabe\",\"no_submission_for_assignment_screenreader\":\"Keine Abgabe für diese Aufgabe. %{pointsPossible} mögliche Punkte.\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} Pkte.\",\"score_with_points_possible_screenreader\":\"Punktzahl: %{score} von %{pointsPossible} Punkten.\"}},\"excused_cf8792eb\":\"Entschuldigt\",\"not_yet_graded_40475341\":\"Noch nicht benotet\",\"this_assignment_has_been_excused_87f1dc13\":\"Diese Aufgabe wurde entschuldigt.\"},\"el\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"Σε αυτήν την εργασία δεν θα αποδοθεί βαθμός\",\"assignment_not_yet_graded_screenreader\":\"Η εργασία δεν έχει βαθμολογηθεί ακόμη. %{pointsPossible} πιθανά μόρια.\",\"empty_points_possible\":\"-/%{pointsPossible} μόρια\",\"no_submission\":\"Καμία υποβολή\",\"no_submission_for_assignment_screenreader\":\"Δεν υπάρχει υποβολή για αυτήν την εργασία. %{pointsPossible} μόρια possible.\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} μόρια\",\"score_with_points_possible_screenreader\":\"Βαθμολογία: %{score} από %{pointsPossible} μόρια.\"}},\"excused_cf8792eb\":\"Δικαιολογημένος/η\",\"this_assignment_has_been_excused_87f1dc13\":\"Αυτή η εργασία έχει παραλειφθεί.\"},\"en-AU\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"This assignment will not be assigned a mark.\",\"assignment_not_yet_graded_screenreader\":\"Assignment not yet marked. %{pointsPossible} points possible.\",\"empty_points_possible\":\"-/%{pointsPossible} pts\",\"no_submission\":\"No Submission\",\"no_submission_for_assignment_screenreader\":\"No submission for this assignment. %{pointsPossible} points possible.\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} pts\",\"score_with_points_possible_screenreader\":\"Score: %{score} out of %{pointsPossible} points.\"}},\"excused_cf8792eb\":\"Excused\",\"not_yet_graded_40475341\":\"Not Yet Graded\",\"this_assignment_has_been_excused_87f1dc13\":\"This assignment has been excused.\"},\"en-CA\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"This assignment will not be assigned a grade.\",\"assignment_not_yet_graded_screenreader\":\"Assignment not yet graded. %{pointsPossible} points possible.\",\"empty_points_possible\":\"-/%{pointsPossible} pts\",\"no_submission\":\"No Submission\",\"no_submission_for_assignment_screenreader\":\"No submission for this assignment. %{pointsPossible} points possible.\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} pts\",\"score_with_points_possible_screenreader\":\"Score: %{score} out of %{pointsPossible} points.\"}},\"excused_cf8792eb\":\"Excused\",\"not_yet_graded_40475341\":\"Not Yet Graded\",\"this_assignment_has_been_excused_87f1dc13\":\"This assignment has been excused.\"},\"en-GB\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"This assignment will not be assigned a grade.\",\"assignment_not_yet_graded_screenreader\":\"Assignment not yet graded. %{pointsPossible} points possible.\",\"empty_points_possible\":\"-/%{pointsPossible} pts\",\"no_submission\":\"No submission\",\"no_submission_for_assignment_screenreader\":\"No submission for this assignment. %{pointsPossible} points possible.\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} pts\",\"score_with_points_possible_screenreader\":\"Score: %{score} out of %{pointsPossible} points.\"}},\"excused_cf8792eb\":\"Excused\",\"not_yet_graded_40475341\":\"Not Yet Graded\",\"this_assignment_has_been_excused_87f1dc13\":\"This assignment has been excused.\"},\"en-GB-x-lbs\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"This task will not be assigned a grade.\",\"assignment_not_yet_graded_screenreader\":\"Task not yet graded. %{pointsPossible} points possible.\",\"empty_points_possible\":\"-/%{pointsPossible} pts\",\"no_submission\":\"No submission\",\"no_submission_for_assignment_screenreader\":\"No submission for this task. %{pointsPossible} points possible.\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} pts\",\"score_with_points_possible_screenreader\":\"Score: %{score} out of %{pointsPossible} points.\"}},\"excused_cf8792eb\":\"Excused\",\"not_yet_graded_40475341\":\"Not Yet Graded\",\"this_assignment_has_been_excused_87f1dc13\":\"This task has been excused.\"},\"en-GB-x-ukhe\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"This assignment will not be assigned a grade.\",\"assignment_not_yet_graded_screenreader\":\"Assignment not yet graded. %{pointsPossible} points possible.\",\"empty_points_possible\":\"-/%{pointsPossible} pts\",\"no_submission\":\"No submission\",\"no_submission_for_assignment_screenreader\":\"No submission for this assignment. %{pointsPossible} points possible.\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} pts\",\"score_with_points_possible_screenreader\":\"Score: %{score} out of %{pointsPossible} points.\"}},\"excused_cf8792eb\":\"Excused\",\"not_yet_graded_40475341\":\"Not Yet Graded\",\"this_assignment_has_been_excused_87f1dc13\":\"This assignment has been excused.\"},\"es\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"Esta tarea no se calificará con una nota.\",\"assignment_not_yet_graded_screenreader\":\"Tarea aún no calificada. %{pointsPossible} puntos posibles.\",\"empty_points_possible\":\"-/%{pointsPossible} ptos.\",\"no_submission\":\"No hay presentación\",\"no_submission_for_assignment_screenreader\":\"No hay presentación para esta tarea. %{pointsPossible} puntos posibles.\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} ptos.\",\"score_with_points_possible_screenreader\":\"Puntaje: %{score} puntos de %{pointsPossible}.\"}},\"excused_cf8792eb\":\"Justificado\",\"not_yet_graded_40475341\":\"Aún no calificado\",\"this_assignment_has_been_excused_87f1dc13\":\"Esta tarea ha sido justificada.\"},\"fa\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"به این تکلیف نمره ای تعلق نخواهد گرفت.\",\"assignment_not_yet_graded_screenreader\":\"تکلیف هنوز نمره گذاری نشده است. %{pointsPossible} امتیاز ممکن.\",\"empty_points_possible\":\"-/%{pointsPossible} امتیاز\",\"no_submission\":\"مورد ارسالی موجود نیست\",\"no_submission_for_assignment_screenreader\":\"هیچ مورد ارسالی برای این تکلیف موجود نیست. %{pointsPossible} امتیاز ممکن.\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} امتیاز\",\"score_with_points_possible_screenreader\":\"نمره: %{score} از %{pointsPossible} امتیاز.\"}},\"excused_cf8792eb\":\"معاف شد\",\"this_assignment_has_been_excused_87f1dc13\":\"این تکلیف اجرا شده است.\"},\"fr\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"Ce travail ne sera pas noté.\",\"assignment_not_yet_graded_screenreader\":\"Travail pas encore noté. %{pointsPossible} points possibles.\",\"empty_points_possible\":\"-/%{pointsPossible} pts\",\"no_submission\":\"Aucun envoi\",\"no_submission_for_assignment_screenreader\":\"Pas d’envoi pour ce travail. %{pointsPossible} points possibles.\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} points\",\"score_with_points_possible_screenreader\":\"Résultat : %{score} sur %{pointsPossible} points.\"}},\"excused_cf8792eb\":\"Pas obligatoire\",\"not_yet_graded_40475341\":\"Pas encore noté\",\"this_assignment_has_been_excused_87f1dc13\":\"Ce devoir n'est plus obligatoire.\"},\"fr-CA\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"Cette tâche ne sera pas noté.\",\"assignment_not_yet_graded_screenreader\":\"Tâche pas encore noté. %{pointsPossible} points possibles.\",\"empty_points_possible\":\"-/%{pointsPossible} points\",\"no_submission\":\"Aucun envoi\",\"no_submission_for_assignment_screenreader\":\"Pas d’envoi pour cette tâche. %{pointsPossible} points possibles.\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} points\",\"score_with_points_possible_screenreader\":\"Résultat : %{score} sur %{pointsPossible} points.\"}},\"excused_cf8792eb\":\"Pas obligatoire\",\"not_yet_graded_40475341\":\"Pas encore noté\",\"this_assignment_has_been_excused_87f1dc13\":\"Cette tâche a été mis de côté.\"},\"he\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"למשימה זו לא ינתן ציון.\",\"assignment_not_yet_graded_screenreader\":\"המשימה טרם הוערכה.  %{pointsPossible} נקודות אפשריות\",\"empty_points_possible\":\"%{pointsPossible} /- נקודות\",\"no_submission\":\"אין הגשה\",\"no_submission_for_assignment_screenreader\":\"אין הגשה למשימה זו. %{pointsPossible} נקודות אפשריות\",\"score_with_points_possible\":\"%{score}*/%{pointsPossible}* נקודות\",\"score_with_points_possible_screenreader\":\"ציון: %{score} מתוך  %{pointsPossible} נקודות\"}},\"excused_cf8792eb\":\"נסלח\",\"this_assignment_has_been_excused_87f1dc13\":\"משימה זו קיבלה פטור\"},\"ht\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"Yo pa p bay sesyon sa a yon nòt.\",\"assignment_not_yet_graded_screenreader\":\"Sesyon poko evalye. %{pointsPossible} pwen posib.\",\"empty_points_possible\":\"-/%{pointsPossible} pwen\",\"no_submission\":\"Pa gen Soumisyon\",\"no_submission_for_assignment_screenreader\":\"Pa gen soumisyon pou sesyon sa a. %{pointsPossible} pwen posib.\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} pwen\",\"score_with_points_possible_screenreader\":\"Nòt: %{score} sou %{pointsPossible} pwen.\"}},\"excused_cf8792eb\":\"Egzante\",\"not_yet_graded_40475341\":\"Poko Klase\",\"this_assignment_has_been_excused_87f1dc13\":\"Yo egzante sesyon sa a.\"},\"hu\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"Ehhez a feladathoz nem lesz osztályzat rendelve.\",\"assignment_not_yet_graded_screenreader\":\"A feladat még nincs értékelve. %{pointsPossible} az elérhető pontszám.\",\"empty_points_possible\":\"-/%{pointsPossible} pont\",\"no_submission\":\"Nincs beadandó\",\"no_submission_for_assignment_screenreader\":\"Ehhez a feladathoz nincs beadandó feladat. %{pointsPossible} az elérhető pontszám.\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} pont\",\"score_with_points_possible_screenreader\":\"Eredmény: %{score} az %{pointsPossible} pontból. \"}},\"excused_cf8792eb\":\"Felmentve\",\"this_assignment_has_been_excused_87f1dc13\":\"Ez a feladat kifogásolva lett.\"},\"hy\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"Այս հանձնարարությունը չի գնահատվելու:\",\"assignment_not_yet_graded_screenreader\":\"Հանձնարարությունը դեռևս գնահատված չէ: %{pointsPossible} հնարավոր միավորներ\",\"empty_points_possible\":\"-/%{pointsPossible} միավորներ\",\"no_submission\":\"Չկան ներկայացված աշխատանքներ\",\"no_submission_for_assignment_screenreader\":\"Այս հանձնարարության համար չկան ներկայացված աշխատանքներ:%{pointsPossible} հնարավոր միավորներ:\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} միավորներ\",\"score_with_points_possible_screenreader\":\"Գնահատականը՝  %{pointsPossible} հնարավոր միավորից %{score} \"}},\"excused_cf8792eb\":\"Ներված է\",\"this_assignment_has_been_excused_87f1dc13\":\"Այս հանձնարարության կատարումից ունկնդրին ազատված է:\"},\"is\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"Þetta verkefni fær ekki einkunn.\",\"assignment_not_yet_graded_screenreader\":\"Verkefni er enn ómetið. %{pointsPossible} punktar mögulegir.\",\"empty_points_possible\":\"-/%{pointsPossible} punktar\",\"no_submission\":\"Engin skil\",\"no_submission_for_assignment_screenreader\":\"Engin skil  fyrir þetta verkefni. %{pointsPossible} punktar mögulegir.\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} punktar\",\"score_with_points_possible_screenreader\":\"Einkunn: %{score} af %{pointsPossible} punktum.\"}},\"excused_cf8792eb\":\"Undanþegið\",\"not_yet_graded_40475341\":\"Hefur ekki fengið einkunn\",\"this_assignment_has_been_excused_87f1dc13\":\"Þetta verkefni er undanskilið\"},\"it\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"A questo compito non verrà assegnato un voto.\",\"assignment_not_yet_graded_screenreader\":\"Compito non ancora valutato. %{pointsPossible} punti possibili.\",\"empty_points_possible\":\"-/%{pointsPossible} punti\",\"no_submission\":\"Nessuna consegna\",\"no_submission_for_assignment_screenreader\":\"Nessuna consegna per questo compito. %{pointsPossible} punti possibili.\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} punti\",\"score_with_points_possible_screenreader\":\"Punteggio: %{score} su %{pointsPossible} punti.\"}},\"excused_cf8792eb\":\"Giustificato\",\"not_yet_graded_40475341\":\"Nessun voto ancora assegnato\",\"this_assignment_has_been_excused_87f1dc13\":\"Questo compito è stato giustificato.\"},\"ja\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"この課題には成績は割り当てられません。\",\"assignment_not_yet_graded_screenreader\":\"課題はまだ採点されていません。配点は %{pointsPossible} です。\",\"empty_points_possible\":\"-/%{pointsPossible} 点\",\"no_submission\":\"提出なし\",\"no_submission_for_assignment_screenreader\":\"この課題は提出されていません。配点は %{pointsPossible} です。\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} 点\",\"score_with_points_possible_screenreader\":\"スコア: %{score}/%{pointsPossible} 点。\"}},\"excused_cf8792eb\":\"免除\",\"not_yet_graded_40475341\":\"まだ採点されていません\",\"this_assignment_has_been_excused_87f1dc13\":\"この課題は免除されました\"},\"ko\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"이 과제는 평점이 할당되지 않습니다.\",\"assignment_not_yet_graded_screenreader\":\"과제물을 아직 평가하지 않았습니다. %{pointsPossible}점이 가능합니다.\",\"empty_points_possible\":\"-/%{pointsPossible}점\",\"no_submission\":\"제출물 없음\",\"no_submission_for_assignment_screenreader\":\"이 과제에 대한 제출물이 없습니다. %{pointsPossible}점이 가능합니다.\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} pts\",\"score_with_points_possible_screenreader\":\"점수: %{pointsPossible}점 중 %{score}\"}}},\"mi\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"E kore tēnei kōeke e tohua i tētahi kōeke\",\"assignment_not_yet_graded_screenreader\":\"Kaore anō te whakataunga i kōeketia %{pointsPossible} ngā koinga taea pea.\",\"empty_points_possible\":\"-/%{pointsPossible} ngā koinga\",\"no_submission\":\"Kāore he Tāpaetanga\",\"no_submission_for_assignment_screenreader\":\"Kaore he tāpaetangamo tēnei whakataunga %{pointsPossible} ngā koinga e taea pea.\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} ngā koinga\",\"score_with_points_possible_screenreader\":\"Kaute: %{score} i roto i %{pointsPossible} ngā.\"}},\"excused_cf8792eb\":\"Whakawātea\",\"not_yet_graded_40475341\":\"Kaore anō i kōeketia\",\"this_assignment_has_been_excused_87f1dc13\":\"Kua whakawāteatia tēnei whakataunga.\"},\"nb\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"Denne oppgaven vil ikke bli gitt karakter.\",\"assignment_not_yet_graded_screenreader\":\"Oppgaven er ikke karaktersatt enda. %{pointsPossible} oppnåelige poeng.\",\"empty_points_possible\":\"-/%{pointsPossible} poeng\",\"no_submission\":\"Ingen innlevering\",\"no_submission_for_assignment_screenreader\":\"Ingen innlevering for denne oppgaven. %{pointsPossible} oppnåelige poeng.\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} poeng\",\"score_with_points_possible_screenreader\":\"Resultat: %{score} av %{pointsPossible} poeng.\"}},\"excused_cf8792eb\":\"Fritatt\",\"not_yet_graded_40475341\":\"Ikke satt karakter ennå\",\"this_assignment_has_been_excused_87f1dc13\":\"Denne oppgaven har blitt fritatt.\"},\"nb-x-k12\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"Denne oppgaven vil ikke bli gitt vurdering.\",\"assignment_not_yet_graded_screenreader\":\"Oppgaven er ikke vurdert enda. %{pointsPossible} oppnåelige poeng.\",\"empty_points_possible\":\"-/%{pointsPossible} poeng\",\"no_submission\":\"Ingen innlevering\",\"no_submission_for_assignment_screenreader\":\"Ingen innlevering for denne oppgaven. %{pointsPossible} oppnåelige poeng.\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} poeng\",\"score_with_points_possible_screenreader\":\"Resultat: %{score} av %{pointsPossible} poeng.\"}},\"excused_cf8792eb\":\"Fritatt\",\"not_yet_graded_40475341\":\"Ikke satt karakter ennå\",\"this_assignment_has_been_excused_87f1dc13\":\"Denne oppgaven har blitt fritatt.\"},\"nl\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"Deze opdracht zal geen cijfer krijgen.\",\"assignment_not_yet_graded_screenreader\":\"Opdracht is nog niet beoordeeld. %{pointsPossible} punten mogelijk.\",\"empty_points_possible\":\"-/%{pointsPossible} punten\",\"no_submission\":\"Geen inzending\",\"no_submission_for_assignment_screenreader\":\"Geen inzending voor deze opdracht. %{pointsPossible} punten mogelijk.\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} punten\",\"score_with_points_possible_screenreader\":\"Score: %{score} op %{pointsPossible} punten.\"}},\"excused_cf8792eb\":\"Geëxcuseerd!\",\"not_yet_graded_40475341\":\"Nog niet beoordeeld\",\"this_assignment_has_been_excused_87f1dc13\":\"Deze opdracht is verwijderd.\"},\"nn\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"Denne oppgåva får ikkje karakter.\",\"assignment_not_yet_graded_screenreader\":\"Oppgåva er ikkje karaktersett. %{pointsPossible} moglege poeng.\",\"empty_points_possible\":\"-/%{pointsPossible} poeng\",\"no_submission\":\"Inga innlevering\",\"no_submission_for_assignment_screenreader\":\"Inga innlevering for denne oppgåva. %{pointsPossible} moglege poeng.\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} poeng\",\"score_with_points_possible_screenreader\":\"Poengsum: %{score} av %{pointsPossible} poeng.\"}},\"excused_cf8792eb\":\"Fritak er innvilga\",\"this_assignment_has_been_excused_87f1dc13\":\"Oppgåva er fritatt.\"},\"pl\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"Do tego zadania nie zostanie przydzielona ocena.\",\"assignment_not_yet_graded_screenreader\":\"Zadanie nie zostało jeszcze ocenione. Liczba punktów możliwych do zdobycia: %{pointsPossible}.\",\"empty_points_possible\":\"-/%{pointsPossible} pkt\",\"no_submission\":\"Brak przesłanych zadań\",\"no_submission_for_assignment_screenreader\":\"Brak przesłanego zadania do tego zlecenia. Liczba punktów możliwych do zdobycia: %{pointsPossible}.\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} pkt\",\"score_with_points_possible_screenreader\":\"Wynik: %{score} na %{pointsPossible} punktów\"}},\"excused_cf8792eb\":\"Usprawiedliwiony!\",\"not_yet_graded_40475341\":\"Jeszcze nie oceniono\",\"this_assignment_has_been_excused_87f1dc13\":\"To zadanie zostało usprawiedliwione.\"},\"pt\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"Não será atribuída uma nota a esta tarefa.\",\"assignment_not_yet_graded_screenreader\":\"Tarefa ainda não avaliada. %{pointsPossible} pontos possíveis.\",\"empty_points_possible\":\"-/%{pointsPossible} pts\",\"no_submission\":\"Nenhum envio\",\"no_submission_for_assignment_screenreader\":\"Nenhum envio para esta tarefa. %{pointsPossible} pontos possíveis.\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} pts\",\"score_with_points_possible_screenreader\":\"Pontuação: %{score} em %{pointsPossible} pontos.\"}},\"excused_cf8792eb\":\"Desculpado\",\"not_yet_graded_40475341\":\"Ainda não classificado\",\"this_assignment_has_been_excused_87f1dc13\":\"Esta tarefa foi dispensada.\"},\"pt-BR\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"Esta tarefa não receberá uma nota.\",\"assignment_not_yet_graded_screenreader\":\"Tarefa não avaliada ainda. %{pointsPossible} pontos possíveis.\",\"empty_points_possible\":\"-/%{pointsPossible} pts\",\"no_submission\":\"Sem envio\",\"no_submission_for_assignment_screenreader\":\"Nenhum envio para esta tarefa. %{pointsPossible} pontos possíveis.\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} pts\",\"score_with_points_possible_screenreader\":\"Pontuação: %{score} de %{pointsPossible} pontos.\"}},\"excused_cf8792eb\":\"Dispensado\",\"not_yet_graded_40475341\":\"Não avaliado ainda\",\"this_assignment_has_been_excused_87f1dc13\":\"Esta tarefa tem sido dispensado.\"},\"ru\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"Этому заданию не будет присвоена оценка.\",\"assignment_not_yet_graded_screenreader\":\"Задание еще не оценено. %{pointsPossible} возможных баллов.\",\"empty_points_possible\":\"-/%{pointsPossible} бал\",\"no_submission\":\"Нет отправки\",\"no_submission_for_assignment_screenreader\":\"По данному заданию ничего не отправлено. %{pointsPossible} возможных баллов.\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} баллов\",\"score_with_points_possible_screenreader\":\"Оценка: %{score} из %{pointsPossible} баллов.\"}},\"excused_cf8792eb\":\"По уважительной причине\",\"not_yet_graded_40475341\":\"Пока не оценено\",\"this_assignment_has_been_excused_87f1dc13\":\"Это задание нельзя пропустить по уважительной причине.\"},\"sl\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"Tej nalogi ocena ne bo dodeljena.\",\"assignment_not_yet_graded_screenreader\":\"Naloga še ni ocenjena. %{pointsPossible} možnih točk.\",\"empty_points_possible\":\"–/%{pointsPossible} točk\",\"no_submission\":\"Ni oddaj.\",\"no_submission_for_assignment_screenreader\":\"Ni oddaje za to nalogo. %{pointsPossible} možnih točk.\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} točk\",\"score_with_points_possible_screenreader\":\"Rezultat: %{score} od %{pointsPossible} točk.\"}},\"excused_cf8792eb\":\"Opravičeno\",\"not_yet_graded_40475341\":\"Še ni ocenjeno.\",\"this_assignment_has_been_excused_87f1dc13\":\"Ta naloga je opravičena.\"},\"sv\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"Den här uppgiften kommer inte bedömas.\",\"assignment_not_yet_graded_screenreader\":\"Uppgiften har inte bedömts ännu. %{pointsPossible} möjliga poäng.\",\"empty_points_possible\":\"-/%{pointsPossible} poäng\",\"no_submission\":\"Ingen inlämning\",\"no_submission_for_assignment_screenreader\":\"Ingen inlämning för den här uppgiften. %{pointsPossible} möjliga poäng\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} poäng\",\"score_with_points_possible_screenreader\":\"Poäng: %{score} av %{pointsPossible} möjliga poäng.\"}},\"excused_cf8792eb\":\"Ursäktad\",\"not_yet_graded_40475341\":\"Ännu inte bedömd\",\"this_assignment_has_been_excused_87f1dc13\":\"Uppgiften har genomförts.\"},\"sv-x-k12\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"Den här uppgiften kommer inte bedömas.\",\"assignment_not_yet_graded_screenreader\":\"Uppgiften har inte bedömts ännu. %{pointsPossible} möjliga poäng.\",\"empty_points_possible\":\"-/%{pointsPossible} poäng\",\"no_submission\":\"Ingen inlämning\",\"no_submission_for_assignment_screenreader\":\"Ingen inlämning för den här uppgiften. %{pointsPossible} möjliga poäng\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} poäng\",\"score_with_points_possible_screenreader\":\"Resultat: %{score} av %{pointsPossible} möjliga poäng.\"}},\"excused_cf8792eb\":\"Slipper göras\",\"this_assignment_has_been_excused_87f1dc13\":\"Uppgiften har genomförts.\"},\"tr\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"Bu ödev için not verilmemiştir.\",\"assignment_not_yet_graded_screenreader\":\"Ödev henüz değerlendirilmedi. Olası %{pointsPossible} puan.\",\"empty_points_possible\":\"-/%{pointsPossible} puan\",\"no_submission\":\"Gönderi Yok\",\"no_submission_for_assignment_screenreader\":\"Ödev için gönderi yok. Olası %{pointsPossible} puan.\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} puan\",\"score_with_points_possible_screenreader\":\"Puan: %{pointsPossible} üzerinden %{score} puan.\"}},\"excused_cf8792eb\":\"Mazeretli\",\"this_assignment_has_been_excused_87f1dc13\":\"Bu ödev mazeretli.\"},\"uk\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"Цьому завданню не може бути призначена оцінка.\",\"assignment_not_yet_graded_screenreader\":\"Завдання ще не оцінено. %{pointsPossible} балів доступно.\",\"empty_points_possible\":\"-/%{pointsPossible} pts\",\"no_submission\":\"Матеріалів немає\",\"no_submission_for_assignment_screenreader\":\"Матеріали для цього завдання відсутні. %{pointsPossible} балів доступно.\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} pts\",\"score_with_points_possible_screenreader\":\"Рахунок: %{score} з можливих %{pointsPossible} балів.\"}},\"excused_cf8792eb\":\"Виправдано\",\"this_assignment_has_been_excused_87f1dc13\":\"Це завдання було вивільнено.\"},\"zh-Hans\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"此作业将不评分。\",\"assignment_not_yet_graded_screenreader\":\"作业尚未计分。%{pointsPossible} 最高得分。\",\"empty_points_possible\":\"-/%{pointsPossible} 分\",\"no_submission\":\"无提交\",\"no_submission_for_assignment_screenreader\":\"此作业无提交。%{pointsPossible} 最高得分。\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} 分\",\"score_with_points_possible_screenreader\":\"分数: %{score}，满分 %{pointsPossible} 分。\"}},\"excused_cf8792eb\":\"已请假\",\"not_yet_graded_40475341\":\"尚未评分\",\"this_assignment_has_been_excused_87f1dc13\":\"这个作业已被免除。\"},\"zh-Hant\":{\"assignments\":{\"assignment_list_item_score\":{\"assignment_grading_type_is_not_graded\":\"不會為此任務指定成績。\",\"assignment_not_yet_graded_screenreader\":\"任務尚未評分。可能分數：%{pointsPossible}。\",\"empty_points_possible\":\"-/%{pointsPossible} 分\",\"no_submission\":\"無提交件\",\"no_submission_for_assignment_screenreader\":\"沒有此任務的提交件。可能分數：%{pointsPossible}。\",\"score_with_points_possible\":\"*%{score}*/%{pointsPossible} 分\",\"score_with_points_possible_screenreader\":\"得分：%{score} 分；總分 %{pointsPossible} 分。\"}},\"excused_cf8792eb\":\"已免除\",\"not_yet_graded_40475341\":\"尚未評分\",\"this_assignment_has_been_excused_87f1dc13\":\"此任務已被免除。\"}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/assignments.assignment_list_item_score.js\n// module id = b71gn2ODQy\n// module chunks = 54","function createThunkMiddleware(extraArgument) {\n  return function (_ref) {\n    var dispatch = _ref.dispatch,\n        getState = _ref.getState;\n    return function (next) {\n      return function (action) {\n        if (typeof action === 'function') {\n          return action(dispatch, getState, extraArgument);\n        }\n\n        return next(action);\n      };\n    };\n  };\n}\n\nvar thunk = createThunkMiddleware();\nthunk.withExtraArgument = createThunkMiddleware;\n\nexport default thunk;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/redux-thunk/es/index.js\n// module id = bEzlmIktg4\n// module chunks = 2 10 27 30 32 33 37 38 39 42 43 49 52 54 55 57 65 67 69 74 78 91 386","\n    define(['i18nObj', 'translations/assignments.assignment_sync_settings', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('assignments.assignment_sync_settings')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?assignments.assignment_sync_settings!./public/javascripts/dummyI18nResource.js\n// module id = bKNSwDjagJ\n// module chunks = 54","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n  if (key in obj) {\n    (0, _defineProperty2.default)(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/defineProperty.js\n// module id = bOdIgMcp8F\n// module chunks = 2 3 14 27 28 30 31 32 33 34 35 37 38 39 40 42 43 44 45 49 51 52 54 55 57 62 64 65 67 69 70 72 74 76 78 84 87 91 97 98 104 120 122 129 386","#\n# Copyright (C) 2013 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  'Backbone'\n  'jquery'\n  '../collections/ModuleItemCollection'\n], (Backbone, $, ModuleItemCollection) ->\n\n  class Module extends Backbone.Model\n    resourceName: 'modules'\n\n    initialize: ->\n      @course_id = @get('course_id')\n      @course_id ||= @collection.course_id if @collection\n\n      unless @collection?.skip_items\n        items = @get('items')\n        @itemCollection = new ModuleItemCollection items,\n          module_id: @get('id')\n          course_id: @course_id\n        if !items\n          @itemCollection.setParam('per_page', 50)\n          @itemCollection.fetch()\n\n      super\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/models/Module.coffee","\n    define('jst/assignments/AssignmentSettings', [\"handlebars/runtime\",\"i18n!assignments.assignment_settings\",\"coffeescripts/handlebars_helpers.coffee\"], function(Handlebars){\n      Handlebars = Handlebars.default\n      var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};\n      var name = 'assignments/AssignmentSettings';\n      templates[name] = template(function (Handlebars,depth0,helpers,partials,data) {\n  this.compilerInfo = [4,'>= 1.0.0'];\nhelpers = this.merge(helpers, Handlebars.helpers); data = data || {};\n  var buffer = \"\", stack1, helper, options, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, self=this;\n\nfunction program1(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n  <span class=\\\"ag-weights-message alert\\\">\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\", \"Assignment group weights can't be edited because there are assignments in one of the groups whose due dates are closed.\", options) : helperMissing.call(depth0, \"t\", \"assignment_group_weights_can_t_be_edited_because_t_b6b591ae\", \"Assignment group weights can't be edited because there are assignments in one of the groups whose due dates are closed.\", options)))\n    + \"</span>\\n  \";\n  return buffer;\n  }\n\nfunction program3(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n      \"\n    + escapeExpression((helper = helpers.checkbox || (depth0 && depth0.checkbox),options={hash:{},data:data},helper ? helper.call(depth0, \"apply_assignment_group_weights\", options) : helperMissing.call(depth0, \"checkbox\", \"apply_assignment_group_weights\", options)))\n    + \"\\n    \";\n  return buffer;\n  }\n\nfunction program5(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n      \"\n    + escapeExpression((helper = helpers.checkbox || (depth0 && depth0.checkbox),options={hash:{\n    'class': (\"disabled\"),\n    'readonly': (true)\n  },data:data},helper ? helper.call(depth0, \"apply_assignment_group_weights\", options) : helperMissing.call(depth0, \"checkbox\", \"apply_assignment_group_weights\", options)))\n    + \"\\n    \";\n  return buffer;\n  }\n\nfunction program7(depth0,data) {\n  \n  \n  return \"disabled\";\n  }\n\nfunction program9(depth0,data) {\n  \n  \n  return \"aria-disabled=true\";\n  }\n\n  buffer += \"<div class=\\\"form-dialog-content ag-weights-content\\\">\\n  \";\n  stack1 = helpers.unless.call(depth0, (depth0 && depth0.canChangeWeights), {hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n\\n  <label class=\\\"checkbox\\\" id=\\\"weight-groups\\\" for=\\\"apply_assignment_group_weights\\\">\\n    \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.canChangeWeights), {hash:{},inverse:self.program(5, program5, data),fn:self.program(3, program3, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n    \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"weight_final_grade_based_on_assignment_groups_3124161\", \"Weight final grade based on assignment groups\", options) : helperMissing.call(depth0, \"t\", \"weight_final_grade_based_on_assignment_groups_3124161\", \"Weight final grade based on assignment groups\", options)))\n    + \"\\n  </label>\\n\\n  <div class=\\\"form-horizontal ag-weights-form\\\">\\n    <div id=\\\"ag_weights_wrapper\\\" class=\\\"ag-weights-table\\\">\\n      <table id=\\\"assignment_groups_weights\\\">\\n        <tbody>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <th scope=\\\"row\\\">Total</th>\\n            <td id=\\\"percent_total\\\" class=\\\"right-align\\\"></td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </div>\\n  </div>\\n</div>\\n\\n<div class=\\\"form-controls\\\">\\n  <button\\n    id=\\\"cancel-assignment-settings\\\"\\n    class=\\\"btn dialog_closer \";\n  stack1 = helpers.unless.call(depth0, (depth0 && depth0.canChangeWeights), {hash:{},inverse:self.noop,fn:self.program(7, program7, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\\"\\n    type=\\\"button\\\"\\n    \";\n  stack1 = helpers.unless.call(depth0, (depth0 && depth0.canChangeWeights), {hash:{},inverse:self.noop,fn:self.program(9, program9, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n  >\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"cancel_caeb1e68\", \"Cancel\", options) : helperMissing.call(depth0, \"t\", \"cancel_caeb1e68\", \"Cancel\", options)))\n    + \"</button>\\n  <button\\n    id=\\\"update-assignment-settings\\\"\\n    class=\\\"btn btn-primary \";\n  stack1 = helpers.unless.call(depth0, (depth0 && depth0.canChangeWeights), {hash:{},inverse:self.noop,fn:self.program(7, program7, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\\"\\n    data-text-while-loading='\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"saving_d55dd90e\", \"Saving...\", options) : helperMissing.call(depth0, \"t\", \"saving_d55dd90e\", \"Saving...\", options)))\n    + \"'\\n    type=\\\"submit\\\"\\n    \";\n  stack1 = helpers.unless.call(depth0, (depth0 && depth0.canChangeWeights), {hash:{},inverse:self.noop,fn:self.program(9, program9, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n  >\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"save_11a80ec3\", \"Save\", options) : helperMissing.call(depth0, \"t\", \"save_11a80ec3\", \"Save\", options)))\n    + \"</button>\\n</div>\\n\";\n  return buffer;\n  });\n      ;\n      ;\n      return templates[name];\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./app/views/jst/assignments/AssignmentSettings.handlebars\n// module id = cDfVPmgNjE\n// module chunks = 54","/*\n * Copyright (C) 2016 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport I18n from 'i18n!cyoe_assignment_sidebar'\n\n  const GradingTypes = {\n    points: {\n      label: I18n.t('points'),\n      key: 'points',\n    },\n    percent: {\n      label: I18n.t('percent'),\n      key: 'percent',\n    },\n    letter_grade: {\n      label: I18n.t('letter grade'),\n      key: 'letter_grade',\n    },\n    gpa_scale: {\n      label: I18n.t('GPA scale'),\n      key: 'gpa_scale',\n    },\n    other: {\n      label: I18n.t('other'),\n      key: 'other',\n    },\n  }\n\nexport default GradingTypes\n\n\n\n// WEBPACK FOOTER //\n// ./app/jsx/shared/conditional_release/grading-types.js","#\n# Copyright (C) 2013 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  'Backbone'\n  'jst/assignments/DateDueColumnView'\n  'jquery'\n  '../../behaviors/tooltip'\n], (Backbone, template, $) ->\n\n  class DateDueColumnView extends Backbone.View\n    template: template\n\n    els:\n      '.vdd_tooltip_link': '$link'\n\n    afterRender: ->\n      @$link.tooltip\n        position: {my: 'center bottom', at: 'center top-10', collision: 'fit fit'},\n        tooltipClass: 'center bottom vertical',\n        content: -> $($(@).data('tooltipSelector')).html()\n\n    # has to handle both the discusson's model,\n    # and a graded discussion's child assignment model\n    toJSON: ->\n      data = @model.toView()\n      m = @model.get('assignment') || @model\n\n      data.selector  = m.get(\"id\") + \"_due\"\n      data.linkHref  = m.htmlUrl()\n      data.allDates  = m.allDates()\n      data\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/views/assignments/DateDueColumnView.coffee","//\n// Copyright (C) 2012 - present Instructure, Inc.\n//\n// This file is part of Canvas.\n//\n// Canvas is free software: you can redistribute it and/or modify it under\n// the terms of the GNU Affero General Public License as published by the Free\n// Software Foundation, version 3 of the License.\n//\n// Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n// A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n// details.\n//\n// You should have received a copy of the GNU Affero General Public License along\n// with this program. If not, see <http://www.gnu.org/licenses/>.\n\nimport PaginatedCollection from '../collections/PaginatedCollection'\nimport AssignmentGroup from '../models/AssignmentGroup'\nimport _ from 'underscore'\nimport SubmissionCollection from '../collections/SubmissionCollection'\nimport ModuleCollection from '../collections/ModuleCollection'\n\nconst PER_PAGE_LIMIT = 50\n\nexport default class AssignmentGroupCollection extends PaginatedCollection {\n  loadModuleNames() {\n    const modules = new ModuleCollection([], {course_id: this.course.id})\n    modules.loadAll = true\n    modules.skip_items = true\n    modules.fetch()\n    modules.on('fetched:last', () => {\n      const moduleNames = {}\n      for (const m of modules.toJSON()) {\n        moduleNames[m.id] = m.name\n      }\n\n      for (const assignment of this.assignments()) {\n        const assignmentModuleNames = _(assignment.get('module_ids')).map(id => moduleNames[id])\n        assignment.set('modules', assignmentModuleNames)\n      }\n    })\n  }\n\n  assignments() {\n    return this.chain()\n      .map(ag => ag.get('assignments').toArray())\n      .flatten()\n      .value()\n  }\n\n  canReadGrades() {\n    return ENV.PERMISSIONS.read_grades\n  }\n\n  getGrades() {\n    if (this.canReadGrades() && ENV.observed_student_ids.length <= 1) {\n      const collection = new SubmissionCollection()\n      if (ENV.observed_student_ids.length === 1) {\n        collection.url = () =>\n          `${this.courseSubmissionsURL}?student_ids[]=${\n            ENV.observed_student_ids[0]\n          }&per_page=${PER_PAGE_LIMIT}`\n      } else {\n        collection.url = () => `${this.courseSubmissionsURL}?per_page=${PER_PAGE_LIMIT}`\n      }\n      collection.loadAll = true\n      collection.on('fetched:last', () => this.loadGradesFromSubmissions(collection.toArray()))\n      return collection.fetch()\n    } else {\n      return this.trigger('change:submissions')\n    }\n  }\n\n  loadGradesFromSubmissions(submissions) {\n    const submissionsHash = {}\n    for (const submission of submissions) {\n      submissionsHash[submission.get('assignment_id')] = submission\n    }\n\n    for (const assignment of this.assignments()) {\n      const submission = submissionsHash[assignment.get('id')]\n      if (submission) {\n        if (submission.get('grade') != null) {\n          const grade = parseFloat(submission.get('grade'))\n          // may be a letter grade like 'A-'\n          if (!isNaN(grade)) {\n            submission.set('grade', grade)\n          }\n        } else {\n          submission.set('notYetGraded', true)\n        }\n        assignment.set('submission', submission)\n      } else {\n        // manually trigger a change so the UI can update appropriately.\n        assignment.set('submission', null)\n        assignment.trigger('change:submission')\n      }\n    }\n\n    return this.trigger('change:submissions')\n  }\n}\n\nAssignmentGroupCollection.prototype.loadAll = true\nAssignmentGroupCollection.prototype.model = AssignmentGroup\n\nAssignmentGroupCollection.optionProperty('course')\nAssignmentGroupCollection.optionProperty('courseSubmissionsURL')\n\n// TODO: this will also return the assignments discussion_topic if it is of\n// that type, which we don't need.\nAssignmentGroupCollection.prototype.defaults = {\n  params: {\n    include: ['assignments']\n  }\n}\n\nAssignmentGroupCollection.prototype.comparator = 'position'\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/collections/AssignmentGroupCollection.js","\n    define('jst/assignments/AssignmentListItem', [\"handlebars/runtime\",\"jst/_spinner\",\"jst/ExternalTools/_external_tools_menu\",\"i18n!assignments.assignment_list_item\",\"coffeescripts/handlebars_helpers.coffee\"], function(Handlebars){\n      Handlebars = Handlebars.default\n      var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};\n      var name = 'assignments/AssignmentListItem';\n      templates[name] = template(function (Handlebars,depth0,helpers,partials,data) {\n  this.compilerInfo = [4,'>= 1.0.0'];\nhelpers = this.merge(helpers, Handlebars.helpers); partials = this.merge(partials, Handlebars.partials); data = data || {};\n  var buffer = \"\", stack1, helper, options, self=this, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, functionType=\"function\";\n\nfunction program1(depth0,data) {\n  \n  \n  return \"ig-published\";\n  }\n\nfunction program3(depth0,data) {\n  \n  \n  return \"is-master\";\n  }\n\nfunction program5(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n    <div class=\\\"ig-row__layout\\\">\\n      \";\n  stack1 = self.invokePartial(partials.spinner, 'spinner', depth0, helpers, partials, data);\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \" \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'originalAssignmentName': ((depth0 && depth0.originalAssignmentName)),\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"making_a_copy_of_originalassignmentname_b7268992\", \"Making a copy of \\\"%{originalAssignmentName}\\\"\", options) : helperMissing.call(depth0, \"t\", \"making_a_copy_of_originalassignmentname_b7268992\", \"Making a copy of \\\"%{originalAssignmentName}\\\"\", options)))\n    + \"\\n    </div>\\n  \";\n  return buffer;\n  }\n\nfunction program7(depth0,data) {\n  \n  var buffer = \"\", stack1;\n  buffer += \"\\n  \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.failedToDuplicate), {hash:{},inverse:self.program(10, program10, data),fn:self.program(8, program8, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n  \";\n  return buffer;\n  }\nfunction program8(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n    <span aria-live=\\\"polite\\\">\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'originalAssignmentName': ((depth0 && depth0.originalAssignmentName)),\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695\", \"Oops! Something went wrong with making a copy of \\\"%{originalAssignmentName}\\\"\", options) : helperMissing.call(depth0, \"t\", \"oops_something_went_wrong_with_making_a_copy_of_or_7e9d6695\", \"Oops! Something went wrong with making a copy of \\\"%{originalAssignmentName}\\\"\", options)))\n    + \"</span>\\n    <div class=\\\"duplicate-failed-actions\\\">\\n      <button class=\\\"duplicate-failed-retry btn btn-primary\\\">\\n        <span class=\\\"screenreader-only\\\">\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'originalAssignmentName': ((depth0 && depth0.originalAssignmentName)),\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"retry_duplicating_originalassignmentname_884aee1\", \"Retry duplicating \\\"%{originalAssignmentName}\\\"\", options) : helperMissing.call(depth0, \"t\", \"retry_duplicating_originalassignmentname_884aee1\", \"Retry duplicating \\\"%{originalAssignmentName}\\\"\", options)))\n    + \"</span>\\n        <span aria-hidden=\\\"true\\\">\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"retry_ebd5f8ba\", \"Retry\", options) : helperMissing.call(depth0, \"t\", \"retry_ebd5f8ba\", \"Retry\", options)))\n    + \"</span>\\n      </button>\\n      <button class=\\\"duplicate-failed-cancel btn\\\">\\n        <span class=\\\"screenreader-only\\\">\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'originalAssignmentName': ((depth0 && depth0.originalAssignmentName)),\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"cancel_duplicating_originalassignmentname_fd7ee1d8\", \"Cancel duplicating \\\"%{originalAssignmentName}\\\"\", options) : helperMissing.call(depth0, \"t\", \"cancel_duplicating_originalassignmentname_fd7ee1d8\", \"Cancel duplicating \\\"%{originalAssignmentName}\\\"\", options)))\n    + \"</span>\\n        <span aria-hidden=\\\"true\\\">\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"cancel_caeb1e68\", \"Cancel\", options) : helperMissing.call(depth0, \"t\", \"cancel_caeb1e68\", \"Cancel\", options)))\n    + \"</span>\\n      </button>\\n    </div>\\n  \";\n  return buffer;\n  }\n\nfunction program10(depth0,data) {\n  \n  var buffer = \"\", stack1;\n  buffer += \"\\n  \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.isImporting), {hash:{},inverse:self.program(13, program13, data),fn:self.program(11, program11, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n  \";\n  return buffer;\n  }\nfunction program11(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n    <div class=\\\"ig-row__layout\\\">\\n      \";\n  stack1 = self.invokePartial(partials.spinner, 'spinner', depth0, helpers, partials, data);\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \" \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'name': ((depth0 && depth0.name)),\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"importing_name_8f2b131d\", \"Importing \\\"%{name}\\\"\", options) : helperMissing.call(depth0, \"t\", \"importing_name_8f2b131d\", \"Importing \\\"%{name}\\\"\", options)))\n    + \"\\n    </div>\\n  \";\n  return buffer;\n  }\n\nfunction program13(depth0,data) {\n  \n  var buffer = \"\", stack1;\n  buffer += \"\\n  \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.failedToImport), {hash:{},inverse:self.program(16, program16, data),fn:self.program(14, program14, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n  \";\n  return buffer;\n  }\nfunction program14(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n    <span aria-live=\\\"polite\\\">\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'name': ((depth0 && depth0.name)),\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"oops_something_went_wrong_importing_name_d382cac1\", \"Oops! Something went wrong importing \\\"%{name}\\\"\", options) : helperMissing.call(depth0, \"t\", \"oops_something_went_wrong_importing_name_d382cac1\", \"Oops! Something went wrong importing \\\"%{name}\\\"\", options)))\n    + \"</span>\\n    <div class=\\\"import-failed-actions\\\">\\n      <button class=\\\"import-failed-cancel btn\\\">\\n        <span class=\\\"screenreader-only\\\">\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'name': ((depth0 && depth0.name)),\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"cancel_importing_name_a0b6f3e1\", \"Cancel importing \\\"%{name}\\\"\", options) : helperMissing.call(depth0, \"t\", \"cancel_importing_name_a0b6f3e1\", \"Cancel importing \\\"%{name}\\\"\", options)))\n    + \"</span>\\n        <span aria-hidden=\\\"true\\\">\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"cancel_caeb1e68\", \"Cancel\", options) : helperMissing.call(depth0, \"t\", \"cancel_caeb1e68\", \"Cancel\", options)))\n    + \"</span>\\n      </button>\\n    </div>\\n  \";\n  return buffer;\n  }\n\nfunction program16(depth0,data) {\n  \n  var buffer = \"\", stack1, helper;\n  buffer += \"\\n  <div class=\\\"ig-row__layout\\\">\\n    \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.canManage), {hash:{},inverse:self.noop,fn:self.program(17, program17, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n    <div class=\\\"ig-type-icon\\\">\\n      <i aria-hidden=\\\"true\\\" class='icon-\";\n  if (helper = helpers.iconType) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.iconType); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"'></i>\\n    </div>\\n    <div class=\\\"ig-info\\\">\\n      <a href=\\\"\";\n  if (helper = helpers.htmlUrl) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.htmlUrl); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\" class=\\\"ig-title\\\" aria-live=\\\"polite\\\">\\n        \";\n  if (helper = helpers.name) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.name); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\n      </a>\\n      <div class=\\\"ig-details\\\">\\n        \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.canManage), {hash:{},inverse:self.noop,fn:self.program(20, program20, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n        \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.showAvailability), {hash:{},inverse:self.noop,fn:self.program(28, program28, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n        \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.showDueDate), {hash:{},inverse:self.noop,fn:self.program(30, program30, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n        \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.pointsPossible), {hash:{},inverse:self.program(34, program34, data),fn:self.program(32, program32, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n      </div>\\n    </div>\\n    \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.canManage), {hash:{},inverse:self.noop,fn:self.program(36, program36, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n  \";\n  return buffer;\n  }\nfunction program17(depth0,data) {\n  \n  var buffer = \"\", stack1;\n  buffer += \"\\n    <div aria-hidden='true' class=\\\"ig-handle\\\">\\n      <span class=\\\"draggable-handle\";\n  stack1 = helpers.unless.call(depth0, (depth0 && depth0.canMove), {hash:{},inverse:self.noop,fn:self.program(18, program18, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\\">\\n        <i class=\\\"icon-drag-handle\\\"></i>\\n      </span>\\n    </div>\\n    \";\n  return buffer;\n  }\nfunction program18(depth0,data) {\n  \n  \n  return \" disabled\";\n  }\n\nfunction program20(depth0,data) {\n  \n  var buffer = \"\", stack1;\n  buffer += \"\\n          \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.has_modules), {hash:{},inverse:self.noop,fn:self.program(21, program21, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n        \";\n  return buffer;\n  }\nfunction program21(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n            <div class=\\\"ig-details__item ig-details__item--wrap-text modules\\\">\\n              \";\n  stack1 = (helper = helpers.ifEqual || (depth0 && depth0.ifEqual),options={hash:{},inverse:self.program(24, program24, data),fn:self.program(22, program22, data),data:data},helper ? helper.call(depth0, (depth0 && depth0.module_count), 1, options) : helperMissing.call(depth0, \"ifEqual\", (depth0 && depth0.module_count), 1, options));\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n              <div id=\\\"module_tooltip_\";\n  if (helper = helpers.labelId) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.labelId); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\" style=\\\"display:none;\\\">\\n                \";\n  stack1 = helpers.each.call(depth0, (depth0 && depth0.modules), {hash:{},inverse:self.noop,fn:self.program(26, program26, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n              </div>\\n            </div>\\n          \";\n  return buffer;\n  }\nfunction program22(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n                \";\n  if (helper = helpers.module_name) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.module_name); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \" \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"module_90d9fd32\", \"Module\", options) : helperMissing.call(depth0, \"t\", \"module_90d9fd32\", \"Module\", options)))\n    + \"\\n              \";\n  return buffer;\n  }\n\nfunction program24(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n                <a\\n                  title='\";\n  if (helper = helpers.joined_names) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.joined_names); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"'\\n                  class=\\\"tooltip_link\\\"\\n                  data-tooltip-selector=\\\"#module_tooltip_\";\n  if (helper = helpers.labelId) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.labelId); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\"\\n                >\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"multiple_modules_930713d4\", \"Multiple Modules\", options) : helperMissing.call(depth0, \"t\", \"multiple_modules_930713d4\", \"Multiple Modules\", options)))\n    + \"</a>\\n              \";\n  return buffer;\n  }\n\nfunction program26(depth0,data) {\n  \n  var buffer = \"\";\n  buffer += \"\\n                  <span>\"\n    + escapeExpression((typeof depth0 === functionType ? depth0.apply(depth0) : depth0))\n    + \"</span>\\n                \";\n  return buffer;\n  }\n\nfunction program28(depth0,data) {\n  \n  \n  return \"\\n        <div class=\\\"ig-details__item assignment-date-available\\\" data-view=\\\"date-available\\\">\\n        </div>\\n        \";\n  }\n\nfunction program30(depth0,data) {\n  \n  \n  return \"\\n          <div class=\\\"ig-details__item assignment-date-due\\\" data-view=\\\"date-due\\\">\\n          </div>\\n        \";\n  }\n\nfunction program32(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n          <div class=\\\"ig-details__item js-score\\\">\\n            <span class=\\\"screenreader-only\\\">\\n              \";\n  stack1 = (helper = helpers.n || (depth0 && depth0.n),options={hash:{},data:data},helper ? helper.call(depth0, (depth0 && depth0.pointsPossible), options) : helperMissing.call(depth0, \"n\", (depth0 && depth0.pointsPossible), options));\n  buffer += escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'n_pointsPossible': (stack1),\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"n_pointspossible_points_possible_1d098245\", \"%{n_pointsPossible} Points Possible\", options) : helperMissing.call(depth0, \"t\", \"n_pointspossible_points_possible_1d098245\", \"%{n_pointsPossible} Points Possible\", options)))\n    + \"\\n            </span>\\n            <span class=\\\"non-screenreader\\\" aria-hidden=\\\"true\\\">\\n              \";\n  stack1 = (helper = helpers.n || (depth0 && depth0.n),options={hash:{},data:data},helper ? helper.call(depth0, (depth0 && depth0.pointsPossible), options) : helperMissing.call(depth0, \"n\", (depth0 && depth0.pointsPossible), options));\n  buffer += escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'n_pointsPossible': (stack1),\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"n_pointspossible_pts_73274d36\", \"%{n_pointsPossible} pts\", options) : helperMissing.call(depth0, \"t\", \"n_pointspossible_pts_73274d36\", \"%{n_pointsPossible} pts\", options)))\n    + \"\\n            </span>\\n          </div>\\n        \";\n  return buffer;\n  }\n\nfunction program34(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n          <span class=\\\"js-score screenreader-only\\\">\\n            \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"no_points_possible_368669d\", \"No Points Possible\", options) : helperMissing.call(depth0, \"t\", \"no_points_possible_368669d\", \"No Points Possible\", options)))\n    + \"\\n          </span>\\n        \";\n  return buffer;\n  }\n\nfunction program36(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n      <div class=\\\"ig-admin\\\">\\n        \";\n  stack1 = helpers['if'].call(depth0, ((stack1 = (depth0 && depth0.cyoe)),stack1 == null || stack1 === false ? stack1 : stack1.isTrigger), {hash:{},inverse:self.noop,fn:self.program(37, program37, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n        \";\n  stack1 = helpers['if'].call(depth0, ((stack1 = (depth0 && depth0.cyoe)),stack1 == null || stack1 === false ? stack1 : stack1.isReleased), {hash:{},inverse:self.noop,fn:self.program(39, program39, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n        <span class=\\\"sis-button\\\" data-view=\\\"sis-button\\\"></span>\\n        <span class=\\\"lock-icon\\\" data-view=\\\"lock-icon\\\"></span>\\n        <span class=\\\"publish-icon\\\" data-view=\\\"publish-icon\\\"></span>\\n        <div class=\\\"inline-block\\\">\\n          <a\\n            class=\\\"al-trigger al-trigger-gray\\\"\\n            id=\\\"assign_\";\n  if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_manage_link\\\"\\n            role=\\\"button\\\"\\n            tabindex=\\\"0\\\"\\n          >\\n            <i class=\\\"icon-more\\\" aria-hidden=\\\"true\\\"></i>\\n            <span class=\\\"screenreader-only\\\">\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'name': ((depth0 && depth0.name)),\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"settings_for_assignment_name_c19565e1\", \"Settings for Assignment %{name}\", options) : helperMissing.call(depth0, \"t\", \"settings_for_assignment_name_c19565e1\", \"Settings for Assignment %{name}\", options)))\n    + \"</span>\\n          </a>\\n\\n          <ul\\n            id=\\\"assignment_\";\n  if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_settings_list\\\"\\n            class=\\\"al-options\\\"\\n          >\\n            \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.canEdit), {hash:{},inverse:self.program(43, program43, data),fn:self.program(41, program41, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n            \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.canDuplicate), {hash:{},inverse:self.noop,fn:self.program(45, program45, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n            \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.canMove), {hash:{},inverse:self.program(49, program49, data),fn:self.program(47, program47, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n            \";\n  stack1 = helpers['if'].call(depth0, ((stack1 = (depth0 && depth0.cyoe)),stack1 == null || stack1 === false ? stack1 : stack1.isCyoeAble), {hash:{},inverse:self.noop,fn:self.program(51, program51, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n            \";\n  stack1 = helpers.unless.call(depth0, (depth0 && depth0.is_locked), {hash:{},inverse:self.noop,fn:self.program(53, program53, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n            \";\n  stack1 = self.invokePartial(partials['ExternalTools/external_tools_menu'], 'ExternalTools/external_tools_menu', (depth0 && depth0.menu_tools), helpers, partials, data);\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n          </ul>\\n        </div>\\n      </div>\\n    </div>\\n\\n    <form data-view=\\\"edit-assignment\\\" class=\\\"form-dialog\\\"></form>\\n  \";\n  return buffer;\n  }\nfunction program37(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n        <a href=\\\"\";\n  if (helper = helpers.htmlEditUrl) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.htmlEditUrl); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"?return_to=\";\n  if (helper = helpers.return_to) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.return_to); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"#mastery-paths-editor\\\" title=\\\"\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'name': ((depth0 && depth0.name)),\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"edit_mastery_paths_for_name_c9fc59f9\", \"Edit Mastery Paths for %{name}\", options) : helperMissing.call(depth0, \"t\", \"edit_mastery_paths_for_name_c9fc59f9\", \"Edit Mastery Paths for %{name}\", options)))\n    + \"\\\">\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"mastery_paths_cc4096c2\", \"Mastery Paths\", options) : helperMissing.call(depth0, \"t\", \"mastery_paths_cc4096c2\", \"Mastery Paths\", options)))\n    + \"</a>\\n        \";\n  return buffer;\n  }\n\nfunction program39(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n        <span class=\\\"pill mastery-path-icon\\\" aria-hidden=\\\"true\\\" data-tooltip title=\\\"\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'cyoe.releasedLabel': (((stack1 = (depth0 && depth0.cyoe)),stack1 == null || stack1 === false ? stack1 : stack1.releasedLabel)),\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"released_by_mastery_path_cyoe_releasedlabel_14c67a92\", \"Released by Mastery Path: %{cyoe.releasedLabel}\", options) : helperMissing.call(depth0, \"t\", \"released_by_mastery_path_cyoe_releasedlabel_14c67a92\", \"Released by Mastery Path: %{cyoe.releasedLabel}\", options)))\n    + \"\\\">\\n          <i class=\\\"icon-mastery-path\\\"></i>\"\n    + escapeExpression(((stack1 = ((stack1 = (depth0 && depth0.cyoe)),stack1 == null || stack1 === false ? stack1 : stack1.releasedLabel)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1))\n    + \"\\n        </span>\\n        <span class=\\\"screenreader-only\\\">\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'cyoe.releasedLabel': (((stack1 = (depth0 && depth0.cyoe)),stack1 == null || stack1 === false ? stack1 : stack1.releasedLabel)),\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"released_by_mastery_path_cyoe_releasedlabel_14c67a92\", \"Released by Mastery Path: %{cyoe.releasedLabel}\", options) : helperMissing.call(depth0, \"t\", \"released_by_mastery_path_cyoe_releasedlabel_14c67a92\", \"Released by Mastery Path: %{cyoe.releasedLabel}\", options)))\n    + \"</span>\\n        \";\n  return buffer;\n  }\n\nfunction program41(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n              <li>\\n                <a\\n                  class=\\\"edit_assignment icon-edit\\\"\\n                  id=\\\"assignment_\";\n  if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_settings_edit_item\\\"\\n                  aria-label=\\\"\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'name': ((depth0 && depth0.name)),\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"edit_assignment_name_a8f7fae1\", \"Edit Assignment %{name}\", options) : helperMissing.call(depth0, \"t\", \"edit_assignment_name_a8f7fae1\", \"Edit Assignment %{name}\", options)))\n    + \"\\\"\\n                  data-focus-returns-to=\\\"assign_\";\n  if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_manage_link\\\"\\n                >\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"edit_c5fbea07\", \"Edit\", options) : helperMissing.call(depth0, \"t\", \"edit_c5fbea07\", \"Edit\", options)))\n    + \"</a>\\n              </li>\\n            \";\n  return buffer;\n  }\n\nfunction program43(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n              <li>\\n                <a\\n                  class=\\\"edit_assignment icon-edit disabled\\\"\\n                  id=\\\"assignment_\";\n  if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_settings_edit_item\\\"\\n                  aria-label=\\\"\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'name': ((depth0 && depth0.name)),\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"edit_assignment_name_a8f7fae1\", \"Edit Assignment %{name}\", options) : helperMissing.call(depth0, \"t\", \"edit_assignment_name_a8f7fae1\", \"Edit Assignment %{name}\", options)))\n    + \"\\\"\\n                  aria-disabled=\\\"true\\\"\\n                >\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"edit_c5fbea07\", \"Edit\", options) : helperMissing.call(depth0, \"t\", \"edit_c5fbea07\", \"Edit\", options)))\n    + \"</a>\\n                <span class=\\\"screenreader-only\\\">\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"you_do_not_have_permissions_to_edit_this_moderated_3195294f\", \"You do not have permissions to edit this moderated assignment\", options) : helperMissing.call(depth0, \"t\", \"you_do_not_have_permissions_to_edit_this_moderated_3195294f\", \"You do not have permissions to edit this moderated assignment\", options)))\n    + \"</span>\\n              </li>\\n            \";\n  return buffer;\n  }\n\nfunction program45(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n            <li>\\n              <a\\n                class=\\\"duplicate_assignment icon-copy-course\\\"\\n                id=\\\"assignment_\";\n  if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_settings_duplicate_item\\\"\\n                aria-label=\\\"\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'name': ((depth0 && depth0.name)),\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"duplicate_assignment_name_3ca7d753\", \"Duplicate Assignment %{name}\", options) : helperMissing.call(depth0, \"t\", \"duplicate_assignment_name_3ca7d753\", \"Duplicate Assignment %{name}\", options)))\n    + \"\\\"\\n                data-focus-returns-to\\\"assign_\";\n  if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_manage_link\\\"\\n              >\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"duplicate_31cec192\", \"Duplicate\", options) : helperMissing.call(depth0, \"t\", \"duplicate_31cec192\", \"Duplicate\", options)))\n    + \"</a>\\n            </li>\\n            \";\n  return buffer;\n  }\n\nfunction program47(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n            <li>\\n              <a\\n                class=\\\"move_assignment icon-updown\\\"\\n                id=\\\"assignment_\";\n  if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_settings_move_item\\\"\\n                aria-label='\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'name': ((depth0 && depth0.name)),\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"move_assignment_name_aa253f26\", \"Move Assignment %{name}\", options) : helperMissing.call(depth0, \"t\", \"move_assignment_name_aa253f26\", \"Move Assignment %{name}\", options)))\n    + \"'\\n                data-focus-returns-to=\\\"assign_\";\n  if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_manage_link\\\"\\n              >\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"move_to_9b91c6e0\", \"Move To…\", options) : helperMissing.call(depth0, \"t\", \"move_to_9b91c6e0\", \"Move To…\", options)))\n    + \"</a>\\n            </li>\\n            \";\n  return buffer;\n  }\n\nfunction program49(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n            <li>\\n              <a\\n                class=\\\"move_assignment icon-updown disabled\\\"\\n                id=\\\"assignment_\";\n  if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_settings_move_item\\\"\\n                aria-label='\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'name': ((depth0 && depth0.name)),\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"move_assignment_name_aa253f26\", \"Move Assignment %{name}\", options) : helperMissing.call(depth0, \"t\", \"move_assignment_name_aa253f26\", \"Move Assignment %{name}\", options)))\n    + \"'\\n                aria-disabled=true\\n              >\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"move_to_9b91c6e0\", \"Move To…\", options) : helperMissing.call(depth0, \"t\", \"move_to_9b91c6e0\", \"Move To…\", options)))\n    + \"</a>\\n            </li>\\n            \";\n  return buffer;\n  }\n\nfunction program51(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n            <li>\\n              <a\\n                href=\\\"\";\n  if (helper = helpers.htmlEditUrl) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.htmlEditUrl); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"?return_to=\";\n  if (helper = helpers.return_to) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.return_to); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"#mastery-paths-editor\\\"\\n                class=\\\"edit_mastery_paths icon-mastery-path\\\"\\n                id=\\\"assignment_\";\n  if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_settings_edit_item_mastery_paths\\\"\\n                aria-label=\\\"\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'name': ((depth0 && depth0.name)),\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"edit_assignment_name_mastery_paths_40b50541\", \"Edit Assignment %{name} Mastery Paths\", options) : helperMissing.call(depth0, \"t\", \"edit_assignment_name_mastery_paths_40b50541\", \"Edit Assignment %{name} Mastery Paths\", options)))\n    + \"\\\"\\n                data-focus-returns-to=\\\"assign_\";\n  if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_manage_link\\\"\\n                title=\\\"\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'name': ((depth0 && depth0.name)),\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"edit_mastery_paths_for_name_c9fc59f9\", \"Edit Mastery Paths for %{name}\", options) : helperMissing.call(depth0, \"t\", \"edit_mastery_paths_for_name_c9fc59f9\", \"Edit Mastery Paths for %{name}\", options)))\n    + \"\\\"\\n              >\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"mastery_paths_cc4096c2\", \"Mastery Paths\", options) : helperMissing.call(depth0, \"t\", \"mastery_paths_cc4096c2\", \"Mastery Paths\", options)))\n    + \"</a>\\n            </li>\\n            \";\n  return buffer;\n  }\n\nfunction program53(depth0,data) {\n  \n  var buffer = \"\", stack1;\n  buffer += \"\\n              <li>\\n                \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.canDelete), {hash:{},inverse:self.program(56, program56, data),fn:self.program(54, program54, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n              </li>\\n            \";\n  return buffer;\n  }\nfunction program54(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n                  <a\\n                    class=\\\"delete_assignment icon-trash\\\"\\n                    id=\\\"assignment_\";\n  if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_settings_delete_item\\\"\\n                    aria-label=\\\"\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'name': ((depth0 && depth0.name)),\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"delete_assignment_name_deec56e3\", \"Delete Assignment %{name}\", options) : helperMissing.call(depth0, \"t\", \"delete_assignment_name_deec56e3\", \"Delete Assignment %{name}\", options)))\n    + \"\\\"\\n                    data-focus-returns-to=\\\"assign_\";\n  if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_manage_link\\\"\\n                  >\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.assignment_list_item\")\n  },data:data},helper ? helper.call(depth0, \"delete\", \"Delete\", options) : helperMissing.call(depth0, \"t\", \"delete\", \"Delete\", options)))\n    + \"</a>\\n                \";\n  return buffer;\n  }\n\nfunction program56(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n                  <a\\n                    class=\\\"delete_assignment icon-trash disabled\\\"\\n                    id=\\\"assignment_\";\n  if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_settings_delete_item\\\"\\n                    aria-label=\\\"\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'name': ((depth0 && depth0.name)),\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"delete_assignment_name_deec56e3\", \"Delete Assignment %{name}\", options) : helperMissing.call(depth0, \"t\", \"delete_assignment_name_deec56e3\", \"Delete Assignment %{name}\", options)))\n    + \"\\\"\\n                    aria-disabled=true\\n                  >\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.assignment_list_item\")\n  },data:data},helper ? helper.call(depth0, \"delete\", \"Delete\", options) : helperMissing.call(depth0, \"t\", \"delete\", \"Delete\", options)))\n    + \"</a>\\n                \";\n  return buffer;\n  }\n\n  buffer += \"<div\\n  id=\\\"assignment_\";\n  if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\"\\n  class=\\\"ig-row \";\n  stack1 = (helper = helpers.ifAll || (depth0 && depth0.ifAll),options={hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data},helper ? helper.call(depth0, (depth0 && depth0.canManage), (depth0 && depth0.published), options) : helperMissing.call(depth0, \"ifAll\", (depth0 && depth0.canManage), (depth0 && depth0.published), options));\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \" \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.is_master_course_master_content), {hash:{},inverse:self.noop,fn:self.program(3, program3, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\\"\\n  data-item-id=\\\"\";\n  if (helper = helpers.labelId) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.labelId); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\"\\n>\\n  \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.isDuplicating), {hash:{},inverse:self.program(7, program7, data),fn:self.program(5, program5, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n</div>\\n\";\n  return buffer;\n  });\n      ;\n      ;\n      return templates[name];\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./app/views/jst/assignments/AssignmentListItem.handlebars\n// module id = eb2ifQ7ito\n// module chunks = 54","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"متوفر حتى\",\"closed\":\"مغلق\",\"not_available_until\":\"غير متوفر حتى\"}}},\"cy\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"Ar gael tan\",\"closed\":\"Wedi cau\",\"not_available_until\":\"Ddim ar gael tan\"}}},\"da\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"Tilgængelig indtil\",\"closed\":\"Lukket\",\"not_available_until\":\"Ikke tilgængelig før\"}}},\"da-x-k12\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"Tilgængelig indtil\",\"closed\":\"Lukket\",\"not_available_until\":\"Ikke tilgængelig før\"}}},\"de\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"Verfügbar bis\",\"closed\":\"Geschlossen\",\"not_available_until\":\"Nicht verfügbar bis\"}}},\"el\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"Διαθέσιμο μέχρι\",\"closed\":\"Κλειστό\",\"not_available_until\":\"Μη διαθέσιμο μέχρι\"}}},\"en-AU\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"Available until\",\"closed\":\"Closed\",\"not_available_until\":\"Not available until\"}}},\"en-CA\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"Available until\",\"closed\":\"Closed\",\"not_available_until\":\"Not available until\"}}},\"en-GB\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"Available until\",\"closed\":\"Closed\",\"not_available_until\":\"Not available until\"}}},\"en-GB-x-lbs\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"Available until\",\"closed\":\"Closed\",\"not_available_until\":\"Not available until\"}}},\"en-GB-x-ukhe\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"Available until\",\"closed\":\"Closed\",\"not_available_until\":\"Not available until\"}}},\"es\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"Disponible hasta\",\"closed\":\"Cerrado\",\"not_available_until\":\"No disponible hasta\"}}},\"fa\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"قابل دسترسی تا\",\"closed\":\"بسته شده\",\"not_available_until\":\"غیر قابل دسترسی تا\"}}},\"fr\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"Disponibles jusqu’au\",\"closed\":\"Fermés\",\"not_available_until\":\"Pas disponibles jusqu’au\"}}},\"fr-CA\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"Disponibles jusqu’au\",\"closed\":\"Fermés\",\"not_available_until\":\"Pas disponibles jusqu’au\"}}},\"he\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"זמין עד\",\"closed\":\"סגור\",\"not_available_until\":\"אינו זמין לפני\"}}},\"ht\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"Disponib jiska\",\"closed\":\"Fèmen\",\"not_available_until\":\"Pa disponib jiska\"}}},\"hu\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"Elérhető eddig\",\"closed\":\"Lezárva\",\"not_available_until\":\"Nem érhető el eddig\"}}},\"hy\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"Հասանելի է մինչև\",\"closed\":\"Փակված է\",\"not_available_until\":\"Հասանելի չէ մինչև \"}}},\"is\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"Tiltækt til\",\"closed\":\"Lokað\",\"not_available_until\":\"Ekki tiltækt fyrr en\"}}},\"it\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"Disponibile fino a\",\"closed\":\"Chiuso\",\"not_available_until\":\"Non disponibile fino a\"}}},\"ja\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"次の日付まで利用可能\",\"closed\":\"締切済み\",\"not_available_until\":\"次の日付まで利用不可\"}}},\"ko\":{\"assignments\":{\"available_date_description\":{\"closed\":\"닫힘\"}}},\"mi\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"wātea noa\",\"closed\":\"katia\",\"not_available_until\":\"Kāore i te wātea noa\"}}},\"nb\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"Tilgjengelig til\",\"closed\":\"Lukket\",\"not_available_until\":\"Ikke tilgjengelig før\"}}},\"nb-x-k12\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"Tilgjengelig til\",\"closed\":\"Lukket\",\"not_available_until\":\"Ikke tilgjengelig før\"}}},\"nl\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"Beschikbaar tot\",\"closed\":\"Gesloten\",\"not_available_until\":\"Niet beschikbaar tot\"}}},\"nn\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"Tilgjengeleg til\",\"closed\":\"Lukka\",\"not_available_until\":\"Utilgjengeleg til\"}}},\"pl\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"Dostępny do\",\"closed\":\"Zamknięte\",\"not_available_until\":\"Niedostępny do\"}}},\"pt\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"Disponível até\",\"closed\":\"Fechado\",\"not_available_until\":\"Não disponível até\"}}},\"pt-BR\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"Disponível até\",\"closed\":\"Fechado\",\"not_available_until\":\"Não disponível até\"}}},\"ru\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"Доступно до\",\"closed\":\"Закрыто\",\"not_available_until\":\"Недоступно до\"}}},\"sl\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"Na voljo do\",\"closed\":\"Zaprto\",\"not_available_until\":\"Ni na voljo do\"}}},\"sv\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"Tillgänglig tills\",\"closed\":\"Stängda\",\"not_available_until\":\"Inte tillgänglig förrän\"}}},\"sv-x-k12\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"Tillgänglig tills\",\"closed\":\"Stängda\",\"not_available_until\":\"Inte tillgänglig förrän\"}}},\"tr\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"Şu zamana kadar kullanılabilir\",\"closed\":\"Kapalı\",\"not_available_until\":\"Şu zamana kadar kullanılamaz\"}}},\"uk\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"Доступно до\",\"closed\":\"Закрито\",\"not_available_until\":\"Не доступно до\"}}},\"zh-Hans\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"可供使用的截止日期\",\"closed\":\"已关闭\",\"not_available_until\":\"可供使用的开始时间\"}}},\"zh-Hant\":{\"assignments\":{\"available_date_description\":{\"available_until\":\"可用截止時間：\",\"closed\":\"已關閉\",\"not_available_until\":\"可用起始時間：\"}}}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/assignments.available_date_description.js\n// module id = eoQ8C9EqRa\n// module chunks = 54 73","/*\n * Copyright (C) 2016 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport parseNumber from 'parse-decimal-number'\nimport I18n from 'i18nObj'\n\n  const helper = {\n    _parseNumber: parseNumber,\n\n    parse (input) {\n      if (input == null) {\n        return NaN\n      } else if (typeof input === 'number') {\n        return input\n      }\n\n      let num = helper._parseNumber(input.toString(), {\n        thousands: I18n.lookup('number.format.delimiter'),\n        decimal: I18n.lookup('number.format.separator')\n      })\n\n      // fallback to default delimiters if invalid with locale specific ones\n      if (isNaN(num)) {\n        num = helper._parseNumber(input)\n      }\n\n      return num\n    },\n\n    validate (input) {\n      return !isNaN(helper.parse(input))\n    }\n  }\n\nexport default helper\n\n\n\n// WEBPACK FOOTER //\n// ./app/jsx/shared/helpers/numberHelper.js","\n    define('jst/assignments/CreateGroup', [\"handlebars/runtime\",\"i18n!assignments.create_group\",\"coffeescripts/handlebars_helpers.coffee\"], function(Handlebars){\n      Handlebars = Handlebars.default\n      var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};\n      var name = 'assignments/CreateGroup';\n      templates[name] = template(function (Handlebars,depth0,helpers,partials,data) {\n  this.compilerInfo = [4,'>= 1.0.0'];\nhelpers = this.merge(helpers, Handlebars.helpers); data = data || {};\n  var buffer = \"\", stack1, helper, options, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, functionType=\"function\", self=this;\n\nfunction program1(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n    <div class=\\\"ag-settings-weights-message alert\\\">\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\", \"Assignment group weights and drop rules can't be edited because there are assignments in one of the groups whose due dates are closed.\", options) : helperMissing.call(depth0, \"t\", \"assignment_group_weights_and_drop_rules_can_t_be_e_7b5f305d\", \"Assignment group weights and drop rules can't be edited because there are assignments in one of the groups whose due dates are closed.\", options)))\n    + \"</div>\\n    \";\n  return buffer;\n  }\n\nfunction program3(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n    <div class=\\\"control-group\\\">\\n      <div class=\\\"controls\\\">\\n        <input\\n          type=\\\"text\\\"\\n          id=\\\"ag_\";\n  if (helper = helpers.label_id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.label_id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_group_weight\\\"\\n          class=\\\"span1 group_weight\\\"\\n          name=\\\"group_weight\\\"\\n          value=\\\"\";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.group_weight), {hash:{},inverse:self.noop,fn:self.program(4, program4, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\\"\\n          \";\n  stack1 = helpers.unless.call(depth0, (depth0 && depth0.can_change_weighting), {hash:{},inverse:self.noop,fn:self.program(6, program6, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n        />\\n        <label style=\\\"display:inline-block\\\" for=\\\"ag_\";\n  if (helper = helpers.label_id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.label_id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_group_weight\\\">\\n          \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.create_group\")\n  },data:data},helper ? helper.call(depth0, \"percent_of_total\", \"% of total grade\", options) : helperMissing.call(depth0, \"t\", \"percent_of_total\", \"% of total grade\", options)))\n    + \"\\n        </label>\\n      </div>\\n    </div>\\n    \";\n  return buffer;\n  }\nfunction program4(depth0,data) {\n  \n  var helper, options;\n  return escapeExpression((helper = helpers.n || (depth0 && depth0.n),options={hash:{},data:data},helper ? helper.call(depth0, (depth0 && depth0.group_weight), options) : helperMissing.call(depth0, \"n\", (depth0 && depth0.group_weight), options)));\n  }\n\nfunction program6(depth0,data) {\n  \n  \n  return \"readonly\";\n  }\n\nfunction program8(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n      <hr/>\\n      <fieldset>\\n        <legend class=\\\"drop_rules_section\\\">\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"number_of_scores_to_ignore_for_each_student_fb94e818\", \"Number of scores to ignore for each student\", options) : helperMissing.call(depth0, \"t\", \"number_of_scores_to_ignore_for_each_student_fb94e818\", \"Number of scores to ignore for each student\", options)))\n    + \"</legend>\\n\\n        <div class=\\\"control-group\\\">\\n          <label class=\\\"control-label\\\" for=\\\"ag_\";\n  if (helper = helpers.label_id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.label_id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_drop_lowest\\\">\\n            \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.create_group\")\n  },data:data},helper ? helper.call(depth0, \"drop_lowest\", \"Lowest Scores:\", options) : helperMissing.call(depth0, \"t\", \"drop_lowest\", \"Lowest Scores:\", options)))\n    + \"\\n          </label>\\n          <div class=\\\"controls\\\">\\n            <input\\n              type=\";\n  if (helper = helpers.number_input) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.number_input); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\n              id=\\\"ag_\";\n  if (helper = helpers.label_id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.label_id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_drop_lowest\\\"\\n              class=\\\"span1 field\\\"\\n              name=\\\"rules[drop_lowest]\\\"\\n              value=\\\"\"\n    + escapeExpression((helper = helpers.n || (depth0 && depth0.n),options={hash:{},data:data},helper ? helper.call(depth0, (depth0 && depth0.drop_lowest), options) : helperMissing.call(depth0, \"n\", (depth0 && depth0.drop_lowest), options)))\n    + \"\\\"\\n              min=\\\"0\\\"\\n              \";\n  stack1 = helpers.unless.call(depth0, (depth0 && depth0.can_change_weighting), {hash:{},inverse:self.noop,fn:self.program(6, program6, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n            />\\n          </div>\\n        </div>\\n        <div class=\\\"control-group\\\">\\n          <label class=\\\"control-label\\\" for=\\\"ag_\";\n  if (helper = helpers.label_id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.label_id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_drop_highest\\\">\\n            \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.create_group\")\n  },data:data},helper ? helper.call(depth0, \"drop_highest\", \"Highest Scores:\", options) : helperMissing.call(depth0, \"t\", \"drop_highest\", \"Highest Scores:\", options)))\n    + \"\\n          </label>\\n          <div class=\\\"controls\\\">\\n            <input\\n              type=\";\n  if (helper = helpers.number_input) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.number_input); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\n              id=\\\"ag_\";\n  if (helper = helpers.label_id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.label_id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_drop_highest\\\"\\n              class=\\\"span1 field\\\"\\n              name=\\\"rules[drop_highest]\\\"\\n              value=\\\"\"\n    + escapeExpression((helper = helpers.n || (depth0 && depth0.n),options={hash:{},data:data},helper ? helper.call(depth0, (depth0 && depth0.drop_highest), options) : helperMissing.call(depth0, \"n\", (depth0 && depth0.drop_highest), options)))\n    + \"\\\"\\n              min=\\\"0\\\"\\n              \";\n  stack1 = helpers.unless.call(depth0, (depth0 && depth0.can_change_weighting), {hash:{},inverse:self.noop,fn:self.program(6, program6, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n            />\\n          </div>\\n        </div>\\n\\n        <hr/>\\n        <div class=\\\"control-group\\\">\\n          <label class=\\\"control-label\\\" id=\\\"ag_\";\n  if (helper = helpers.label_id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.label_id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_never_drop\\\">\\n            \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.create_group\")\n  },data:data},helper ? helper.call(depth0, \"never_drop\", \"Never Drop:\", options) : helperMissing.call(depth0, \"t\", \"never_drop\", \"Never Drop:\", options)))\n    + \"\\n          </label>\\n          <div class=\\\"controls never_drop_rules_group\\\">\\n          </div>\\n        </div>\\n      </fieldset>\\n    \";\n  return buffer;\n  }\n\n  buffer += \"<div class=\\\"form-dialog-content\\\">\\n  <div class=\\\"form-horizontal\\\">\\n    \";\n  stack1 = helpers.unless.call(depth0, (depth0 && depth0.can_change_weighting), {hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n\\n    <div class=\\\"control-group\\\">\\n      <label class=\\\"control-label\\\" for=\\\"ag_\";\n  if (helper = helpers.label_id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.label_id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_name\\\">\\n        \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.create_group\")\n  },data:data},helper ? helper.call(depth0, \"group_name\", \"Group Name:\", options) : helperMissing.call(depth0, \"t\", \"group_name\", \"Group Name:\", options)))\n    + \"\\n      </label>\\n      <div class=\\\"controls\\\">\\n        <input\\n          type=\\\"text\\\"\\n          id=\\\"ag_\";\n  if (helper = helpers.label_id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.label_id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_name\\\"\\n          name=\\\"name\\\"\\n          value=\\\"\";\n  if (helper = helpers.name) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.name); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\"\\n          placeholder='\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.create_group\")\n  },data:data},helper ? helper.call(depth0, \"example_group_name\", \"e.g., Essay Group 1\", options) : helperMissing.call(depth0, \"t\", \"example_group_name\", \"e.g., Essay Group 1\", options)))\n    + \"'\\n        />\\n      </div>\\n    </div>\\n\\n    \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.show_weight), {hash:{},inverse:self.noop,fn:self.program(3, program3, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n    \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.editable_drop), {hash:{},inverse:self.noop,fn:self.program(8, program8, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n  </div>\\n</div>\\n<div class=\\\"form-controls\\\">\\n  <button\\n    class=\\\"cancel_button btn dialog_closer\\\"\\n    type=\\\"button\\\"\\n  >\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.create_group\")\n  },data:data},helper ? helper.call(depth0, \"cancel\", \"Cancel\", options) : helperMissing.call(depth0, \"t\", \"cancel\", \"Cancel\", options)))\n    + \"</button>\\n  <button\\n    class=\\\"create_group btn btn-primary\\\"\\n    data-text-while-loading='\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.create_group\")\n  },data:data},helper ? helper.call(depth0, \"saving\", \"Saving...\", options) : helperMissing.call(depth0, \"t\", \"saving\", \"Saving...\", options)))\n    + \"'\\n    type=\\\"submit\\\"\\n  >\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.create_group\")\n  },data:data},helper ? helper.call(depth0, \"save\", \"Save\", options) : helperMissing.call(depth0, \"t\", \"save\", \"Save\", options)))\n    + \"</button>\\n</div>\\n\";\n  return buffer;\n  });\n      ;\n      ;\n      return templates[name];\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./app/views/jst/assignments/CreateGroup.handlebars\n// module id = f/xzeQUEis\n// module chunks = 54","module.exports = function(originalModule) {\r\n\tif(!originalModule.webpackPolyfill) {\r\n\t\tvar module = Object.create(originalModule);\r\n\t\t// module.parent = undefined by default\r\n\t\tif(!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"exports\", {\r\n\t\t\tenumerable: true,\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/harmony-module.js\n// module id = f1Eh1aymbA\n// module chunks = 2 10 27 28 29 30 31 32 33 34 35 36 37 38 39 42 43 46 49 52 53 54 55 57 65 67 69 74 78 91 386","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"لم يتم العثور على مجموعات مهام\"}}},\"cy\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"Heb ddod o hyd i Grwpiau Aseiniadau\"}}},\"da\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"Der er ikke fundet opgavegrupper\"}}},\"da-x-k12\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"Der er ikke fundet opgavegrupper\"}}},\"de\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"Es wurden keine Aufgabengruppen gefunden\"}}},\"el\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"Δεν βρέθηκαν Ομάδες Υποβολής\"}}},\"en-AU\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"No Assignment Groups found\"}}},\"en-CA\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"No Assignment Groups found\"}}},\"en-GB\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"No assignment groups found\"}}},\"en-GB-x-lbs\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"No task groups found\"}}},\"en-GB-x-ukhe\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"No assignment groups found\"}}},\"es\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"No se encontraron grupos de tarea\"}}},\"fa\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"هیچ گروه تکلیف یافت نشد\"}}},\"fr\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"Aucun groupe de tâches trouvé\"}}},\"fr-CA\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"Aucun groupe de tâches trouvé\"}}},\"he\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"אין קבוצות משימה\"}}},\"ht\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"Nou pa jwenn okenn Sesyon Gwoup\"}}},\"hu\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"Nem található feladatcsoport\"}}},\"hy\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"Հանձնարարության խմբեր չեն գտնվել \"}}},\"is\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"Engir verkefnahópar fundust\"}}},\"it\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"Nessun gruppo di compiti trovato\"}}},\"ja\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"課題グループが見つかりません\"}}},\"ko\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"과제 그룹을 찾을 수 없음\"}}},\"mi\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"Kāore i kitea he Rōpū Whakataunga\"}}},\"nb\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"Ingen oppgavegrupper funnet\"}}},\"nb-x-k12\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"Ingen oppgavegrupper funnet\"}}},\"nl\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"Geen opdrachtgroepen gevonden\"}}},\"nn\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"Finn ikkje oppgåvegrupper\"}}},\"pl\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"Nie znaleziono grup zadań\"}}},\"pt\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"Não foram encontrados grupos de tarefa\"}}},\"pt-BR\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"Nenhum grupo de tarefas encontrado\"}}},\"ru\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"Группы заданий не найдены\"}}},\"sl\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"Skupin nalog ni mogoče najti.\"}}},\"sv\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"Ingen uppgiftsgrupp hittades\"}}},\"sv-x-k12\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"Ingen uppgiftsgrupp hittades\"}}},\"tr\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"Ödev Grupları bulunamadı\"}}},\"uk\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"Завдань для групи не знайдено\"}}},\"zh-Hans\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"未找到作业小组\"}}},\"zh-Hant\":{\"assignments\":{\"assignment_group_list\":{\"no_assignment_groups\":\"找不到任務群組\"}}}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/assignments.assignment_group_list.js\n// module id = f6p5lVJDLo\n// module chunks = 54","/*\n * Copyright (C) 2017 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport React from 'react'\n\nconst ConnectorIcon = (props) => (\n  <span {...props}>\n    <svg width=\"15px\" height=\"57px\" viewBox=\"0 0 15 57\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlnsXlink=\"http://www.w3.org/1999/xlink\">\n      <g id=\"Page-1\" stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n        <g id=\"Alt-Move-Module-To-02\" transform=\"translate(-1174.000000, -193.000000)\" fillRule=\"nonzero\" fill=\"#A5AFB5\">\n          <g id=\"Group\" transform=\"translate(1174.000000, 193.000000)\">\n            <path d=\"M2.08984375,50.4040286 L2.08984375,2.140625 L14.2460937,2.140625 L14.2460937,0.140625 L0.08984375,0.140625 L0.08984375,52.4040286 L12.3117575,52.4040286 L12.3117575,50.4040286 L2.08984375,50.4040286 Z M8.75061079,46.8029894 C8.34904169,46.401618 7.70214858,46.397441 7.29950809,46.7998832 L7.29950809,46.7998832 C6.8996553,47.1995392 6.89963974,47.8474939 7.30261575,48.2502716 L11.1577205,52.1034784 C11.5592896,52.5048499 12.2061828,52.5090268 12.6088232,52.1065846 L12.6088232,52.1065846 C13.008676,51.7069286 13.0086916,51.0589739 12.6057156,50.6561963 L8.75061079,46.8029894 L8.75061079,46.8029894 Z M8.75061079,56.1970106 C8.34904169,56.598382 7.70214858,56.602559 7.29950809,56.2001168 L7.29950809,56.2001168 C6.8996553,55.8004608 6.89963974,55.1525061 7.30261575,54.7497284 L11.1577205,50.8965216 C11.5592896,50.4951501 12.2061828,50.4909732 12.6088232,50.8934154 L12.6088232,50.8934154 C13.008676,51.2930714 13.0086916,51.9410261 12.6057156,52.3438037 L8.75061079,56.1970106 L8.75061079,56.1970106 Z\" id=\"connector\"/>\n          </g>\n        </g>\n      </g>\n    </svg>\n  </span>\n)\n\nexport default ConnectorIcon\n\n\n\n// WEBPACK FOOTER //\n// ./app/jsx/move_item/ConnectorIcon.js","#\n# Copyright (C) 2012 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  'Backbone'\n  './ValidatedMixin'\n  'jquery'\n  'underscore'\n  '../fn/preventDefault'\n  'i18n!errors'\n  'jquery.toJSON'\n  'jquery.disableWhileLoading'\n  'jquery.instructure_forms'\n], (Backbone, ValidatedMixin, $, _, preventDefault, I18n) ->\n\n  ##\n  # Sets model data from a form, saves it, and displays errors returned in a\n  # failed request.\n  #\n  # @event submit\n  #\n  # @event fail\n  #   @signature `(errors, jqXHR, status, statusText)`\n  #   @param errors - the validation errors, each error has the form $input\n  #                   and the $errorBox attached to it for easy access\n  #\n  # @event success\n  #   @signature `(response, status, jqXHR)`\n  class ValidatedFormView extends Backbone.View\n\n    @mixin ValidatedMixin\n\n    tagName: 'form'\n\n    className: 'validated-form-view'\n\n    events:\n      submit: 'submit'\n\n    ##\n    # Default options to pass when saving the model.\n    saveOpts:\n      # wait for server success response before updating model attributes locally\n      wait: true\n\n    ##\n    # Default options to pass to disableWhileLoading when submitting\n    disableWhileLoadingOpts: {}\n\n    ##\n    # Sets the model data from the form and saves it. Called when the form\n    # submits, or can be called programatically.\n    # set @saveOpts in your view to to pass opts to Backbone.sync (like multipart: true if you have\n    # a file attachment).  if you want the form not to be re-enabled after save success (because you\n    # are navigating to a new page, set dontRenableAfterSaveSuccess to true on your view)\n    #\n    # NOTE: If you are uploading a file attachment, be careful! our\n    # syncWithMultipart extension doesn't call toJSON on your model!\n    #\n    # @api public\n    # @returns jqXHR\n    submit: (event) ->\n      event?.preventDefault()\n      @hideErrors()\n\n      data = @getFormData()\n      errors = @validateBeforeSave data, {}\n\n      if _.keys(errors).length == 0\n        disablingDfd = new $.Deferred()\n        saveDfd = @saveFormData(data)\n        saveDfd.then(@onSaveSuccess, @onSaveFail)\n        saveDfd.fail =>\n          disablingDfd.reject()\n          @setFocusAfterError() if @setFocusAfterError\n\n        unless @dontRenableAfterSaveSuccess\n          saveDfd.done -> disablingDfd.resolve()\n\n        @$el.disableWhileLoading disablingDfd, @disableWhileLoadingOpts\n        @trigger 'submit'\n        saveDfd\n      else\n        # focus on the first element with an error for accessibility\n        dateOverrideErrors = _.map($('[data-error-type]'), (element) =>\n          $(element).attr('data-error-type')\n        )\n        assignmentFieldErrors = _.chain(_.keys(errors))\n                                .reject((err) -> _.contains(dateOverrideErrors, err))\n                                .value()\n        first_error = assignmentFieldErrors[0] || dateOverrideErrors[0]\n        @findField(first_error).focus()\n        # short timeout to ensure alerts are properly read after focus change.\n        window.setTimeout((=>\n          @showErrors errors\n          null\n        ), 50)\n\n\n    ##\n    # Converts the form to an object. Override this if the form's input names\n    # don't match the model/API fields\n    getFormData: ->\n      @$el.toJSON()\n\n    ##\n    # Saves data from the form using the model.\n    # Override to provide customized saving behavior.\n    saveFormData: (data=null) ->\n      model = @model\n      data ||= @getFormData()\n      saveOpts = @saveOpts\n      model.save(data, saveOpts)\n\n    ##\n    # Performs validation on the form, using the validateFormData method, and\n    # shows the errors using showErrors.\n    #\n    # Override validateFormData or showErrors to change their respective behaviors.\n    #\n    # @api public\n    # @returns true if there were no validation errors, otherwise false\n    validate: (opts={}) ->\n      opts ||= {}\n      data = opts['data'] || @getFormData()\n      errors = @validateFormData data, {}\n\n      @hideErrors()\n      @showErrors(errors)\n      errors.length == 0\n\n    ##\n    # Validates provided form data, returning any errors found.\n    # Override to provide customized validation behavior.\n    #\n    # @returns errors (see parseErrorResponse for the errors format)\n    validateFormData: (data) ->\n      {}\n\n    ##\n    # Validates provided form data just before saving, returning any errors\n    # found. By default it delegates to @validateFormData to perform validation,\n    # but allows for alternative save-oriented validation to be performed.\n    # Override to provide customized pre-save validation behavior.\n    #\n    # @returns errors (see parseErrorResponse for the errors format)\n    validateBeforeSave: (data) ->\n      @validateFormData(data)\n\n    ##\n    # Hides all errors previously shown in the UI.\n    # Override to match the way showErrors displays the errors.\n    hideErrors: ->\n      @$el.hideErrors()\n\n    onSaveSuccess: =>\n      @trigger 'success', arguments...\n\n    onSaveFail: (xhr) =>\n      errors = @parseErrorResponse xhr\n      errors ||= {}\n      @showErrors errors\n      @trigger 'fail', errors, arguments...\n\n    ##\n    # Parses the response body into an error object `@showErrors` understands.\n    # Override for API end-points that don't follow convention, needs to return\n    # something that looks like this:\n    #\n    #   {\n    #     <field1>: [errors],\n    #     <field2>: [errors]\n    #   }\n    #\n    # For example:\n    #\n    #   {\n    #     first_name: [\n    #       {\n    #         type: 'required'\n    #         message: 'First name is required'\n    #       },\n    #       {\n    #         type: 'no_numbers',\n    #         message: \"First name can't contain numbers\"\n    #       }\n    #     ]\n    #   }\n    parseErrorResponse: (response) ->\n      if response.status is 422\n        {authenticity_token: \"invalid\"}\n      else\n        try\n          $.parseJSON(response.responseText).errors\n        catch error\n          {}\n\n    translations:\n      required: I18n.t \"required\", \"Required\"\n      blank: I18n.t \"blank\", \"Required\"\n      unsaved: I18n.t \"unsaved_changes\", \"You have unsaved changes.\"\n\n    ##\n    # Errors are displayed relative to the field to which they belong. If\n    # the key of the error in the response doesn't match the name attribute\n    # of the form input element, configure a selector here.\n    #\n    # For example, given a form field like this:\n    #\n    #   <input name=\"user[first_name]\">\n    #\n    # and an error response like this:\n    #\n    #   {errors: { first_name: {...} }}\n    #\n    # you would do this:\n    #\n    #   fieldSelectors:\n    #     first_name: '[name=user[first_name]]'\n    fieldSelectors: null\n\n    findField: (field) ->\n      selector = @fieldSelectors?[field] or \"[name='#{field}']\"\n      $el = @$(selector)\n      if $el.length == 0 # 3rd fallback in case prior selectors find no elements\n        $el = @$(\"[data-error-type='#{field}']\")\n      if $el.data('rich_text')\n        $el = @findSiblingTinymce($el)\n      if $el.length > 1 # e.g. hidden input + checkbox, show it by the checkbox\n        $el = $el.not('[type=hidden]')\n      $el\n\n    castJSON: (obj) ->\n      return obj unless _.isObject(obj)\n      return obj.toJSON() if obj.toJSON?\n      clone = _.clone(obj)\n      _.each clone, (val, key) => clone[key] = @castJSON(val)\n      clone\n\n    original: null\n    watchUnload: =>\n      @original = @castJSON(@getFormData())\n      @unwatchUnload()\n      $(window).on 'beforeunload', @checkUnload\n\n    unwatchUnload: ->\n      $(window).off 'beforeunload', @checkUnload\n\n    checkUnload: =>\n      current = @castJSON(@getFormData())\n      @translations.unsaved unless _.isEqual(@original, current)\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/views/ValidatedFormView.coffee","\n    define('jst/assignments/NeverDropCollection', [\"handlebars/runtime\",\"i18n!assignments.never_drop_collection\",\"coffeescripts/handlebars_helpers.coffee\"], function(Handlebars){\n      Handlebars = Handlebars.default\n      var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};\n      var name = 'assignments/NeverDropCollection';\n      templates[name] = template(function (Handlebars,depth0,helpers,partials,data) {\n  this.compilerInfo = [4,'>= 1.0.0'];\nhelpers = this.merge(helpers, Handlebars.helpers); data = data || {};\n  var buffer = \"\", stack1, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, self=this;\n\nfunction program1(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n  <button\\n    class=\\\"btn btn-link add_never_drop\";\n  stack1 = helpers.unless.call(depth0, (depth0 && depth0.canChangeDropRules), {hash:{},inverse:self.noop,fn:self.program(2, program2, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\\"\\n    \";\n  stack1 = helpers.unless.call(depth0, (depth0 && depth0.canChangeDropRules), {hash:{},inverse:self.noop,fn:self.program(4, program4, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n    type=\\\"button\\\"\\n  >\"\n    + escapeExpression((helper = helpers.addIcon || (depth0 && depth0.addIcon),options={hash:{},data:data},helper ? helper.call(depth0, \"add\", options) : helperMissing.call(depth0, \"addIcon\", \"add\", options)))\n    + \"\\n    \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.hasNeverDrops), {hash:{},inverse:self.program(8, program8, data),fn:self.program(6, program6, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n  </button>\\n\";\n  return buffer;\n  }\nfunction program2(depth0,data) {\n  \n  \n  return \" disabled\";\n  }\n\nfunction program4(depth0,data) {\n  \n  \n  return \"aria-disabled=true\";\n  }\n\nfunction program6(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n      \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"add_another_assignment_fc5c908f\", \"Add another assignment\", options) : helperMissing.call(depth0, \"t\", \"add_another_assignment_fc5c908f\", \"Add another assignment\", options)))\n    + \"\\n    \";\n  return buffer;\n  }\n\nfunction program8(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n      \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"add_an_assignment_fb73942e\", \"Add an assignment\", options) : helperMissing.call(depth0, \"t\", \"add_an_assignment_fb73942e\", \"Add an assignment\", options)))\n    + \"\\n    \";\n  return buffer;\n  }\n\n  buffer += \"<div class=\\\"never_drop collectionViewItems\\\"> </div>\\n\";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.hasAssignments), {hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n\";\n  return buffer;\n  });\n      ;\n      ;\n      return templates[name];\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./app/views/jst/assignments/NeverDropCollection.handlebars\n// module id = g9SztOoMx8\n// module chunks = 54","#\n# Copyright (C) 2017 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  'jquery'\n  'i18n!assignments'\n  'underscore'\n  '../DialogFormView'\n  'jst/EmptyDialogFormWrapper'\n  'jst/assignments/AssignmentSyncSettings'\n  \"../../jquery.rails_flash_notifications\"\n], ($, I18n, _, DialogFormView, wrapper, assignmentSyncSettingsTemplate) ->\n\n  class AssignmentSyncSettingsView extends DialogFormView\n    template: assignmentSyncSettingsTemplate\n    wrapperTemplate: wrapper\n\n    defaults:\n      width: 600\n      height: 300\n      collapsedHeight: 300\n\n    events: _.extend({}, @::events,\n      'click .dialog_closer': 'cancel'\n    )\n\n    @optionProperty 'viewToggle'\n    @optionProperty 'sisName'\n\n    initialize: ->\n      @viewToggle = false\n      super\n\n    openDisableSync: ->\n      if @viewToggle\n        @openAgain()\n      else\n        @viewToggle = true\n        @open()\n\n    currentGradingPeriod: ->\n      selected_id = $(\"#grading_period_selector\").children(\":selected\").attr(\"id\")\n      id = if selected_id == undefined then '' else selected_id.split(\"_\").pop()\n      id\n\n    submit: (event) ->\n      event?.preventDefault()\n      success_message = I18n.t('Sync to %{name} successfully disabled', name: @sisName)\n      error_message = I18n.t('Disabling Sync to %{name} failed', name: @sisName)\n      $.ajaxJSON '/api/sis/courses/' +\n                 @model.id +\n                 '/disable_post_to_sis', 'PUT',\n                 grading_period_id: @currentGradingPeriod(),\n                 ((data) ->\n                   $.flashMessage success_message\n                   setTimeout(window.location.reload(true))\n                 ), ->\n                   $.flashError error_message\n\n    cancel: ->\n      @close()\n\n    toJSON: ->\n      data = super\n      data.course\n      data.sisName = @sisName\n      data\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/views/assignments/AssignmentSyncSettingsView.coffee","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"errors\":{\"blank\":\"مطلوب\",\"required\":\"مطلوب\",\"unsaved_changes\":\"توجد تغييرات لم يتم حفظها.\"}},\"cy\":{\"errors\":{\"blank\":\"Gofynnol\",\"required\":\"Gofynnol\",\"unsaved_changes\":\"Mae gennych chi newidiadau heb eu cadw.\"}},\"da\":{\"errors\":{\"blank\":\"Påkrævet\",\"required\":\"Påkrævet\",\"unsaved_changes\":\"Du har ændringer, der ikke er gemt.\"}},\"da-x-k12\":{\"errors\":{\"blank\":\"Påkrævet\",\"required\":\"Påkrævet\",\"unsaved_changes\":\"Du har ændringer, der ikke er gemt.\"}},\"de\":{\"errors\":{\"blank\":\"Erforderlich\",\"required\":\"Erforderlich\",\"unsaved_changes\":\"Sie haben nicht gespeicherte Änderungen.\"}},\"el\":{\"errors\":{\"blank\":\"Απαιτούμενο\",\"required\":\"Απαιτούμενο\",\"unsaved_changes\":\"Έχετε αλλαγές που δεν έχουν αποθηκευτεί\"}},\"en-AU\":{\"errors\":{\"blank\":\"Required\",\"required\":\"Required\",\"unsaved_changes\":\"You have unsaved changes.\"}},\"en-CA\":{\"errors\":{\"blank\":\"Required\",\"required\":\"Required\",\"unsaved_changes\":\"You have unsaved changes.\"}},\"en-GB\":{\"errors\":{\"blank\":\"Required\",\"required\":\"Required\",\"unsaved_changes\":\"You have unsaved changes.\"}},\"en-GB-x-lbs\":{\"errors\":{\"blank\":\"Required\",\"required\":\"Required\",\"unsaved_changes\":\"You have unsaved changes.\"}},\"en-GB-x-ukhe\":{\"errors\":{\"blank\":\"Required\",\"required\":\"Required\",\"unsaved_changes\":\"You have unsaved changes.\"}},\"es\":{\"errors\":{\"blank\":\"Obligatorio\",\"required\":\"Obligatorio\",\"unsaved_changes\":\"Tiene cambios sin guardar.\"}},\"fa\":{\"errors\":{\"blank\":\"لازم\",\"required\":\"لازم\",\"unsaved_changes\":\"ذخیره سازی تغییرات را لغو کرده اید.\"}},\"fr\":{\"errors\":{\"blank\":\"Requis\",\"required\":\"Requis\",\"unsaved_changes\":\"Vous avez des modifications non enregistrées.\"}},\"fr-CA\":{\"errors\":{\"blank\":\"Requis\",\"required\":\"Requis\",\"unsaved_changes\":\"Vous avez des modifications non enregistrées.\"}},\"he\":{\"errors\":{\"blank\":\"נדרש\",\"required\":\"נדרש\",\"unsaved_changes\":\"יש עדיין שינויים שטרם נשמרו\"}},\"ht\":{\"errors\":{\"blank\":\"Obligatwa\",\"required\":\"Obligatwa\",\"unsaved_changes\":\"Ou gen chanjman ki pa anrejistre.\"}},\"hu\":{\"errors\":{\"blank\":\"Kötelező\",\"required\":\"Kötelező\",\"unsaved_changes\":\"Még el nem mentett módosításai vannak.\"}},\"hy\":{\"errors\":{\"blank\":\"Պահանջվում է\",\"required\":\"Պահանջվում է\",\"unsaved_changes\":\"Դուք չպահպանված փոփոխություններ եք արել:\"}},\"is\":{\"errors\":{\"blank\":\"Krafist\",\"required\":\"Krafist\",\"unsaved_changes\":\"Þú átt óvistaðar breytingar.\"}},\"it\":{\"errors\":{\"blank\":\"Obbligatorio\",\"required\":\"Obbligatorio\",\"unsaved_changes\":\"Hai delle modifiche non salvate.\"}},\"ja\":{\"errors\":{\"blank\":\"必須\",\"required\":\"必須\",\"unsaved_changes\":\"未保存の変更内容があります。\"}},\"ko\":{\"errors\":{\"blank\":\"필수 사항\",\"required\":\"필수 사항\"}},\"mi\":{\"errors\":{\"blank\":\"e hiahiatia ana\",\"required\":\"e hiahiatia ana\",\"unsaved_changes\":\"Whai huringa tiakina koe.\"}},\"nb\":{\"errors\":{\"blank\":\"Obligatorisk\",\"required\":\"Obligatorisk\",\"unsaved_changes\":\"Du har endringer som ikke er lagret.\"}},\"nb-x-k12\":{\"errors\":{\"blank\":\"Obligatorisk\",\"required\":\"Obligatorisk\",\"unsaved_changes\":\"Du har endringer som ikke er lagret.\"}},\"nl\":{\"errors\":{\"blank\":\"Vereist\",\"required\":\"Vereist\",\"unsaved_changes\":\"Je hebt veranderingen die nog niet zijn opgeslagen.\"}},\"nn\":{\"errors\":{\"blank\":\"Obligatorisk\",\"required\":\"Obligatorisk\",\"unsaved_changes\":\"Du har endringar som ikkje er lagra.\"}},\"pl\":{\"errors\":{\"blank\":\"Wymagany\",\"required\":\"Wymagany\",\"unsaved_changes\":\"Nie zapisano wszystkich zmian.\"}},\"pt\":{\"errors\":{\"blank\":\"Necessário\",\"required\":\"Necessário\",\"unsaved_changes\":\"Tem alterações não guardadas.\"}},\"pt-BR\":{\"errors\":{\"blank\":\"Obrigatório\",\"required\":\"Obrigatório\",\"unsaved_changes\":\"Você tem alterações não salvas\"}},\"ru\":{\"errors\":{\"blank\":\"Требуется\",\"required\":\"Требуется\",\"unsaved_changes\":\"Вы сохранили не все изменения.\"}},\"sl\":{\"errors\":{\"blank\":\"Zahtevano\",\"required\":\"Zahtevano\",\"unsaved_changes\":\"Obstajajo spremembe, ki jih niste shranili.\"}},\"sv\":{\"errors\":{\"blank\":\"Nödvändig\",\"required\":\"Nödvändig\",\"unsaved_changes\":\"Du har osparade ändringar\"}},\"sv-x-k12\":{\"errors\":{\"blank\":\"Nödvändig\",\"required\":\"Nödvändig\",\"unsaved_changes\":\"Du har osparade ändringar\"}},\"tr\":{\"errors\":{\"blank\":\"Zorunlu\",\"required\":\"Zorunlu\",\"unsaved_changes\":\"Kaydedilmemiş değişiklikler var.\"}},\"uk\":{\"errors\":{\"blank\":\"Обов'язковий\",\"required\":\"Обов'язковий\",\"unsaved_changes\":\"Ви маєте незбережені зміни.\"}},\"zh-Hans\":{\"errors\":{\"blank\":\"必需\",\"required\":\"必需\",\"unsaved_changes\":\"您有未保存的更改。\"}},\"zh-Hant\":{\"errors\":{\"blank\":\"必填\",\"required\":\"必填\",\"unsaved_changes\":\"您有未保存的更改。\"}}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/errors.js\n// module id = h1GRbSnPJx\n// module chunks = 27 33 36 37 40 44 45 51 52 54 56 61 62 66 68 76 77 95","#\n# Copyright (C) 2013 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  'jquery'\n  '../../util/round'\n  'Backbone'\n  'jst/assignments/AssignmentGroupWeights'\n  'jsx/shared/helpers/numberHelper'\n], ($, round, Backbone, AssignmentGroupWeightsTemplate, numberHelper) ->\n\n  class AssignmentGroupWeightsView extends Backbone.View\n    template: AssignmentGroupWeightsTemplate\n    tagName: 'tr'\n    className: 'ag-weights-tr'\n\n    @optionProperty 'canChangeWeights'\n\n    events:\n      'blur .group_weight_value' : 'roundWeight'\n\n    roundWeight: (e) ->\n      value = $(e.target).val()\n      rounded_value = round(numberHelper.parse(value), 2)\n      if isNaN(rounded_value)\n        return\n      else\n        $(e.target).val(I18n.n(rounded_value))\n\n    findWeight: ->\n      round(numberHelper.parse(@$el.find('.group_weight_value').val()), 2)\n\n    toJSON: ->\n      data = super\n      data.canChangeWeights = @canChangeWeights\n      data\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/views/assignments/AssignmentGroupWeightsView.coffee","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"cancel_caeb1e68\":\"إلغاء\",\"group_select_330df8bd\":\"تحديد المجموعة\",\"item_select_fe0f320a\":\"تحديد عنصر\",\"move_abf00365\":\"نقل\",\"place_b128fa94\":\"وضع\",\"place_title_2c183274\":\"المكان \\\"%{title}\\\"\",\"position_select_c2dd3980\":\"تحديد موضع\",\"select_one_b647b384\":\"تحديد عنصر واحد\"},\"cy\":{\"cancel_caeb1e68\":\"Canslo\",\"group_select_330df8bd\":\"Dewis Grŵp\",\"item_select_fe0f320a\":\"Dewis Eitem\",\"move_abf00365\":\"Symud\",\"place_b128fa94\":\"Rhoi\",\"place_title_2c183274\":\"Rhoi \\\"%{title}\\\"\",\"position_select_c2dd3980\":\"Dewis Safle\",\"select_one_b647b384\":\"Dewiswch un\"},\"da\":{\"cancel_caeb1e68\":\"Annuller\",\"group_select_330df8bd\":\"Vælg gruppe\",\"item_select_fe0f320a\":\"Vælg element\",\"move_abf00365\":\"Flyt\",\"place_b128fa94\":\"Anbring\",\"place_title_2c183274\":\"Placer \\\"%{title}\\\"\",\"position_select_c2dd3980\":\"Vælg position\",\"select_one_b647b384\":\"Vælg en\"},\"da-x-k12\":{\"cancel_caeb1e68\":\"Annuller\",\"group_select_330df8bd\":\"Vælg gruppe\",\"item_select_fe0f320a\":\"Vælg element\",\"move_abf00365\":\"Flyt\",\"place_b128fa94\":\"Anbring\",\"place_title_2c183274\":\"Placer \\\"%{title}\\\"\",\"position_select_c2dd3980\":\"Vælg position\",\"select_one_b647b384\":\"Vælg en\"},\"de\":{\"cancel_caeb1e68\":\"Abbrechen\",\"group_select_330df8bd\":\"Gruppenauswahl\",\"item_select_fe0f320a\":\"Elementauswahl\",\"move_abf00365\":\"Verschieben\",\"place_b128fa94\":\"Speicherort\",\"place_title_2c183274\":\"„%{title}“ platzieren\",\"position_select_c2dd3980\":\"Positionsauswahl\",\"select_one_b647b384\":\"Eine auswählen\"},\"el\":{\"cancel_caeb1e68\":\"Ακύρωση\",\"move_abf00365\":\"Μετακίνησε\"},\"en-AU\":{\"cancel_caeb1e68\":\"Cancel\",\"group_select_330df8bd\":\"Group Select\",\"item_select_fe0f320a\":\"Item Select\",\"move_abf00365\":\"Move\",\"place_b128fa94\":\"Place\",\"place_title_2c183274\":\"Place \\\"%{title}\\\"\",\"position_select_c2dd3980\":\"Position Select\",\"select_one_b647b384\":\"Select one\"},\"en-CA\":{\"cancel_caeb1e68\":\"Cancel\",\"group_select_330df8bd\":\"Group Select\",\"item_select_fe0f320a\":\"Item Select\",\"move_abf00365\":\"Move\",\"place_b128fa94\":\"Place\",\"place_title_2c183274\":\"Place \\\"%{title}\\\"\",\"position_select_c2dd3980\":\"Position Select\",\"select_one_b647b384\":\"Select one\"},\"en-GB\":{\"cancel_caeb1e68\":\"Cancel\",\"group_select_330df8bd\":\"Group select\",\"item_select_fe0f320a\":\"Item Select\",\"move_abf00365\":\"Move\",\"place_b128fa94\":\"Place\",\"place_title_2c183274\":\"Place \\\"%{title}\\\"\",\"position_select_c2dd3980\":\"Position select\",\"select_one_b647b384\":\"Select one\"},\"en-GB-x-lbs\":{\"cancel_caeb1e68\":\"Cancel\",\"group_select_330df8bd\":\"Group select\",\"item_select_fe0f320a\":\"Item Select\",\"move_abf00365\":\"Move\",\"place_b128fa94\":\"Place\",\"place_title_2c183274\":\"Place \\\"%{title}\\\"\",\"position_select_c2dd3980\":\"Position select\",\"select_one_b647b384\":\"Select one\"},\"en-GB-x-ukhe\":{\"cancel_caeb1e68\":\"Cancel\",\"group_select_330df8bd\":\"Group select\",\"item_select_fe0f320a\":\"Item Select\",\"move_abf00365\":\"Move\",\"place_b128fa94\":\"Place\",\"place_title_2c183274\":\"Place \\\"%{title}\\\"\",\"position_select_c2dd3980\":\"Position select\",\"select_one_b647b384\":\"Select one\"},\"es\":{\"cancel_caeb1e68\":\"Cancelar\",\"group_select_330df8bd\":\"Seleccionar grupo\",\"item_select_fe0f320a\":\"Seleccionar elemento\",\"move_abf00365\":\"Mover\",\"place_b128fa94\":\"Lugar\",\"place_title_2c183274\":\"Colocar \\\"%{title}\\\"\",\"position_select_c2dd3980\":\"Seleccionar posición\",\"select_one_b647b384\":\"Seleccionar uno\"},\"fa\":{\"cancel_caeb1e68\":\"لغو\",\"group_select_330df8bd\":\"گروه انتخاب شد\",\"item_select_fe0f320a\":\"انتخاب مورد\",\"move_abf00365\":\"انتقال\",\"place_b128fa94\":\"مکان\",\"place_title_2c183274\":\"\\\"%{title}\\\" را قرار دهید\",\"position_select_c2dd3980\":\"انتخاب موقعیت\",\"select_one_b647b384\":\"یکی را انتخاب کنید\"},\"fr\":{\"cancel_caeb1e68\":\"Annuler\",\"group_select_330df8bd\":\"Sélection de groupe\",\"item_select_fe0f320a\":\"Sélection d'élément\",\"move_abf00365\":\"Déplacer\",\"place_b128fa94\":\"Placer\",\"place_title_2c183274\":\"Placer « %{title} »\",\"position_select_c2dd3980\":\"Sélection de la position\",\"select_one_b647b384\":\"En sélectionner une\"},\"fr-CA\":{\"cancel_caeb1e68\":\"Annuler\",\"group_select_330df8bd\":\"Sélection d'un groupe\",\"item_select_fe0f320a\":\"Sélection d’élément\",\"move_abf00365\":\"Déplacer\",\"place_b128fa94\":\"Placer\",\"place_title_2c183274\":\"Placer « %{title} »\",\"position_select_c2dd3980\":\"Sélection de position\",\"select_one_b647b384\":\"Sélectionner un élément\"},\"he\":{\"cancel_caeb1e68\":\"ביטול\",\"group_select_330df8bd\":\"בחירה קבוצתית\",\"item_select_fe0f320a\":\"בחירת פריט\",\"move_abf00365\":\"העברה\",\"place_b128fa94\":\"מיקום\"},\"ht\":{\"cancel_caeb1e68\":\"Anile\",\"group_select_330df8bd\":\"Seleksyon Gwoup\",\"item_select_fe0f320a\":\"Eleman Seleksyone\",\"move_abf00365\":\"Deplase\",\"place_b128fa94\":\"Plas\",\"place_title_2c183274\":\"Plase \\\"%{title}\\\"\",\"position_select_c2dd3980\":\"Seleksyone Pozisyon\",\"select_one_b647b384\":\"Seleksyone yonn\"},\"hu\":{\"cancel_caeb1e68\":\"Mégse\",\"item_select_fe0f320a\":\"Elem kiválasztása\",\"move_abf00365\":\"Áthelyezés\",\"place_b128fa94\":\"Elhelyezés\",\"select_one_b647b384\":\"Válasszon egyet\"},\"hy\":{\"cancel_caeb1e68\":\"Չեղյալ համարել\",\"move_abf00365\":\"Տեղափոխել\"},\"is\":{\"cancel_caeb1e68\":\"Hætta við\",\"group_select_330df8bd\":\"Hópval\",\"item_select_fe0f320a\":\"Atriðaval\",\"move_abf00365\":\"Færa\",\"place_b128fa94\":\"Staður\",\"place_title_2c183274\":\"Staður \\\"%{title}\\\"\",\"position_select_c2dd3980\":\"Velja stöðu\",\"select_one_b647b384\":\"Veldu eitt\"},\"it\":{\"cancel_caeb1e68\":\"Annulla\",\"group_select_330df8bd\":\"Selezione gruppo\",\"item_select_fe0f320a\":\"Selezione elemento\",\"move_abf00365\":\"Sposta\",\"place_b128fa94\":\"Posiziona\",\"place_title_2c183274\":\"Posiziona \\\"%{title}\\\"\",\"position_select_c2dd3980\":\"Selezione posizione\",\"select_one_b647b384\":\"Scegli un'opzione\"},\"ja\":{\"cancel_caeb1e68\":\"キャンセル\",\"group_select_330df8bd\":\"グループ選択\",\"item_select_fe0f320a\":\"項目選択\",\"move_abf00365\":\"移動\",\"place_b128fa94\":\"場所\",\"place_title_2c183274\":\"\\\"%{title}\\\"を設置する\",\"position_select_c2dd3980\":\"位置選択\",\"select_one_b647b384\":\"ひとつ選んでください\"},\"ko\":{\"cancel_caeb1e68\":\"취소\",\"move_abf00365\":\"이동\"},\"mi\":{\"cancel_caeb1e68\":\"Whakakore\",\"group_select_330df8bd\":\"Rōpū Tīpako\",\"item_select_fe0f320a\":\"Tūemi Tīpako\",\"move_abf00365\":\"Nuku\",\"place_b128fa94\":\"Wāhi\",\"place_title_2c183274\":\"Wāhi \\\"%{title}\\\"\",\"position_select_c2dd3980\":\"Whakatau Tīpako\",\"select_one_b647b384\":\"Tīpako kotahi\"},\"nb\":{\"cancel_caeb1e68\":\"Avbryt\",\"group_select_330df8bd\":\"Gruppevalg\",\"item_select_fe0f320a\":\"Elementvalg\",\"move_abf00365\":\"Flytt\",\"place_b128fa94\":\"Sted\",\"place_title_2c183274\":\"Plasser \\\"%{title}\\\"\",\"position_select_c2dd3980\":\"Posisjonsvalg\",\"select_one_b647b384\":\"Velg en\"},\"nb-x-k12\":{\"cancel_caeb1e68\":\"Avbryt\",\"group_select_330df8bd\":\"Gruppevalg\",\"item_select_fe0f320a\":\"Elementvalg\",\"move_abf00365\":\"Flytt\",\"place_b128fa94\":\"Sted\",\"place_title_2c183274\":\"Plasser \\\"%{title}\\\"\",\"position_select_c2dd3980\":\"Posisjonsvalg\",\"select_one_b647b384\":\"Velg en\"},\"nl\":{\"cancel_caeb1e68\":\"Annuleren\",\"group_select_330df8bd\":\"Groep selecteren\",\"item_select_fe0f320a\":\"Item selecteren\",\"move_abf00365\":\"Verplaatsen\",\"place_b128fa94\":\"Locatie\",\"place_title_2c183274\":\"Plaats \\\"%{title}\\\"\",\"position_select_c2dd3980\":\"Positie selecteren\",\"select_one_b647b384\":\"Selecteer er één\"},\"nn\":{\"cancel_caeb1e68\":\"Avbryt\",\"group_select_330df8bd\":\"Vel gruppevis\",\"item_select_fe0f320a\":\"Elementval\",\"move_abf00365\":\"Flytt\",\"place_b128fa94\":\"Plassering\",\"place_title_2c183274\":\"Plassering \\\"%{title}\\\"\",\"position_select_c2dd3980\":\"Vel plassering\",\"select_one_b647b384\":\"Vel ein\"},\"pl\":{\"cancel_caeb1e68\":\"Anuluj\",\"group_select_330df8bd\":\"Wybór grupowy\",\"item_select_fe0f320a\":\"Wybór elementu\",\"move_abf00365\":\"Przenieś\",\"place_b128fa94\":\"Umieść\",\"place_title_2c183274\":\"Umieść \\\"%{title}\\\"\",\"position_select_c2dd3980\":\"Wybór pozycji\",\"select_one_b647b384\":\"Wybierz jeden\"},\"pt\":{\"cancel_caeb1e68\":\"Cancelar\",\"group_select_330df8bd\":\"Seleção de grupo\",\"item_select_fe0f320a\":\"Seleção de Item\",\"move_abf00365\":\"Mover\",\"place_b128fa94\":\"Colocar\",\"place_title_2c183274\":\"Lugar \\\"%{title}\\\"\",\"position_select_c2dd3980\":\"Seleção de posição\",\"select_one_b647b384\":\"Selecionar um\"},\"pt-BR\":{\"cancel_caeb1e68\":\"Cancelar\",\"group_select_330df8bd\":\"Seleção de grupo\",\"item_select_fe0f320a\":\"Seleção de itens\",\"move_abf00365\":\"Mover\",\"place_b128fa94\":\"Lugar\",\"place_title_2c183274\":\"Colocar \\\"%{title}\\\"\",\"position_select_c2dd3980\":\"Seleção de posição\",\"select_one_b647b384\":\"Selecionar um\"},\"ru\":{\"cancel_caeb1e68\":\"Отменить\",\"group_select_330df8bd\":\"Выбор группы\",\"item_select_fe0f320a\":\"Выбор элемента\",\"move_abf00365\":\"Переместить\",\"place_b128fa94\":\"Разместить\",\"place_title_2c183274\":\"Поместить \\\"%{title}\\\"\",\"position_select_c2dd3980\":\"Выбор позиции\",\"select_one_b647b384\":\"Выбрать один\"},\"sl\":{\"cancel_caeb1e68\":\"Prekliči\",\"group_select_330df8bd\":\"Izbira skupine\",\"item_select_fe0f320a\":\"Izbira elementa\",\"move_abf00365\":\"Premakni\",\"place_b128fa94\":\"Umesti\",\"place_title_2c183274\":\"Umesti »%{title}«\",\"position_select_c2dd3980\":\"Izbira položaja\",\"select_one_b647b384\":\"Izberi eno\"},\"sv\":{\"cancel_caeb1e68\":\"Avbryt\",\"group_select_330df8bd\":\"Gruppval\",\"item_select_fe0f320a\":\"Föremål val\",\"move_abf00365\":\"Flytta\",\"place_b128fa94\":\"Plats\",\"place_title_2c183274\":\"Placera \\\"%{title}\\\"\",\"position_select_c2dd3980\":\"Position-val\",\"select_one_b647b384\":\"Välj en\"},\"sv-x-k12\":{\"cancel_caeb1e68\":\"Avbryt\",\"group_select_330df8bd\":\"Gruppval\",\"item_select_fe0f320a\":\"Objekt val\",\"move_abf00365\":\"Flytta\",\"place_b128fa94\":\"Plats\",\"place_title_2c183274\":\"Placera \\\"%{title}\\\"\",\"position_select_c2dd3980\":\"Position-val\",\"select_one_b647b384\":\"Välj en\"},\"tr\":{\"cancel_caeb1e68\":\"İptal\",\"move_abf00365\":\"Taşı\",\"place_b128fa94\":\"Yerleştir\",\"place_title_2c183274\":\"\\\"%{title}\\\" yerleştir\"},\"uk\":{\"cancel_caeb1e68\":\"Скасувати\",\"group_select_330df8bd\":\"Вибір групи\",\"item_select_fe0f320a\":\"Вибір елементу\",\"move_abf00365\":\"Перемітитися\",\"place_b128fa94\":\"Місце\",\"place_title_2c183274\":\"Місце \\\"%{title}\\\"\",\"position_select_c2dd3980\":\"Вибір позиції\",\"select_one_b647b384\":\"Вибрати один\"},\"zh-Hans\":{\"cancel_caeb1e68\":\"取消\",\"group_select_330df8bd\":\"小组选择\",\"item_select_fe0f320a\":\"项目选择\",\"move_abf00365\":\"移动\",\"place_b128fa94\":\"放在\",\"place_title_2c183274\":\"放置“%{title}”\",\"position_select_c2dd3980\":\"位置选择\",\"select_one_b647b384\":\"选择一个\"},\"zh-Hant\":{\"cancel_caeb1e68\":\"取消\",\"group_select_330df8bd\":\"選擇群組\",\"item_select_fe0f320a\":\"選擇項目\",\"move_abf00365\":\"移動\",\"place_b128fa94\":\"放置\",\"place_title_2c183274\":\"位置「%{title}」\",\"position_select_c2dd3980\":\"選擇位置\",\"select_one_b647b384\":\"選擇一個\"}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/move_select.js\n// module id = hJQJh4Q0AL\n// module chunks = 32 36 51 54 58 59 67","#\n# Copyright (C) 2012 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  'Backbone'\n  'underscore'\n  '../backbone-ext/DefaultUrlMixin'\n  '../collections/AssignmentCollection'\n], (Backbone, _, DefaultUrlMixin, AssignmentCollection) ->\n\n  isAdmin = ->\n    _.contains(ENV.current_user_roles, 'admin')\n\n  class AssignmentGroup extends Backbone.Model\n    @mixin DefaultUrlMixin\n    resourceName: 'assignment_groups'\n\n    urlRoot: -> @_defaultUrl()\n\n    initialize: ->\n      if (assignments = @get('assignments'))?\n        @set 'assignments', new AssignmentCollection(assignments)\n\n    name: (newName) ->\n      return @get 'name' unless arguments.length > 0\n      @set 'name', newName\n\n    position: (newPosition) ->\n      return @get('position') || 0 unless arguments.length > 0\n      @set 'position', newPosition\n\n    groupWeight: (newWeight) ->\n      return @get('group_weight') || 0 unless arguments.length > 0\n      @set 'group_weight', newWeight\n\n    rules: (newRules) ->\n      return @get 'rules' unless arguments.length > 0\n      @set 'rules', newRules\n\n    removeNeverDrops: ->\n      rules = @rules()\n      if rules.never_drop\n        delete rules.never_drop\n\n    hasRules: ->\n      @countRules() > 0\n\n    countRules: ->\n      rules = @rules() or {}\n      aids = @assignmentIds()\n      count = 0\n      for k,v of rules\n        if k == \"never_drop\"\n          count += _.intersection(aids, v).length\n        else\n          count++\n      count\n\n    assignmentIds: ->\n      assignments = @get('assignments')\n      return [] unless assignments?\n      assignments.pluck('id')\n\n    canDelete: ->\n      return true if isAdmin()\n      not @anyAssignmentInClosedGradingPeriod() and not @hasFrozenAssignments()\n\n    hasFrozenAssignments: ->\n      @get('assignments').any (m) ->\n        m.get('frozen')\n\n    anyAssignmentInClosedGradingPeriod: ->\n      @get('any_assignment_in_closed_grading_period')\n\n    hasIntegrationData: ->\n      !_.isEmpty(@get('integration_data')) || !_.isEmpty(@get('sis_source_id'))\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/models/AssignmentGroup.coffee","\n    define('jst/assignments/NeverDrop', [\"handlebars/runtime\",\"coffeescripts/handlebars_helpers.coffee\"], function(Handlebars){\n      Handlebars = Handlebars.default\n      var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};\n      var name = 'assignments/NeverDrop';\n      templates[name] = template(function (Handlebars,depth0,helpers,partials,data) {\n  this.compilerInfo = [4,'>= 1.0.0'];\nhelpers = this.merge(helpers, Handlebars.helpers); data = data || {};\n  var buffer = \"\", stack1, helper, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, functionType=\"function\", self=this;\n\nfunction program1(depth0,data) {\n  \n  \n  return \" disabled\";\n  }\n\nfunction program3(depth0,data) {\n  \n  \n  return \"aria-disabled=true\";\n  }\n\nfunction program5(depth0,data) {\n  \n  var buffer = \"\", stack1, helper;\n  buffer += \"\\n  <select\\n    name=\\\"rules[never_drop][]\\\"\\n    aria-labelledby=\\\"ag_\";\n  if (helper = helpers.label_id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.label_id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_never_drop\\\"\\n    \";\n  stack1 = helpers.unless.call(depth0, (depth0 && depth0.canChangeDropRules), {hash:{},inverse:self.noop,fn:self.program(6, program6, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n  >\\n    \";\n  stack1 = helpers.each.call(depth0, (depth0 && depth0.assignments), {hash:{},inverse:self.noop,fn:self.programWithDepth(8, program8, data, depth0),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n  </select>\\n\";\n  return buffer;\n  }\nfunction program6(depth0,data) {\n  \n  \n  return \"readonly\";\n  }\n\nfunction program8(depth0,data,depth1) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n      <option \"\n    + escapeExpression((helper = helpers.selectedIf || (depth0 && depth0.selectedIf),options={hash:{},data:data},helper ? helper.call(depth0, (depth0 && depth0.id), (depth1 && depth1.chosen_id), options) : helperMissing.call(depth0, \"selectedIf\", (depth0 && depth0.id), (depth1 && depth1.chosen_id), options)))\n    + \" value=\\\"\";\n  if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\">\";\n  if (helper = helpers.name) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.name); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"</option>\\n    \";\n  return buffer;\n  }\n\nfunction program10(depth0,data) {\n  \n  var buffer = \"\", stack1, helper;\n  buffer += \"\\n  <span>\";\n  if (helper = helpers.chosen) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.chosen); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"</span>\\n  <input type=\\\"hidden\\\" name=\\\"rules[never_drop][]\\\" value=\\\"\";\n  if (helper = helpers.chosen_id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.chosen_id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\"/>\\n\";\n  return buffer;\n  }\n\n  buffer += \"<button\\n  class=\\\"remove_never_drop btn btn-link\";\n  stack1 = helpers.unless.call(depth0, (depth0 && depth0.canChangeDropRules), {hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\\"\\n  type=\\\"button\\\"\\n  title=\\\"\";\n  if (helper = helpers.buttonTitle) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.buttonTitle); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\"\\n  aria-label=\\\"\";\n  if (helper = helpers.buttonTitle) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.buttonTitle); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\"\\n  \";\n  stack1 = helpers.unless.call(depth0, (depth0 && depth0.canChangeDropRules), {hash:{},inverse:self.noop,fn:self.program(3, program3, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n><i class=\\\"icon-end\\\"></i></button>\\n\\n\";\n  stack1 = helpers.unless.call(depth0, (depth0 && depth0.chosen), {hash:{},inverse:self.noop,fn:self.program(5, program5, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n\\n\";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.chosen), {hash:{},inverse:self.noop,fn:self.program(10, program10, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n\";\n  return buffer;\n  });\n      ;\n      ;\n      return templates[name];\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./app/views/jst/assignments/NeverDrop.handlebars\n// module id = iTeA9C9tI1\n// module chunks = 54","\n    define('jst/assignments/NoAssignmentsListItem', [\"handlebars/runtime\",\"i18n!assignments.no_assignments_list_item\",\"coffeescripts/handlebars_helpers.coffee\"], function(Handlebars){\n      Handlebars = Handlebars.default\n      var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};\n      var name = 'assignments/NoAssignmentsListItem';\n      templates[name] = template(function (Handlebars,depth0,helpers,partials,data) {\n  this.compilerInfo = [4,'>= 1.0.0'];\nhelpers = this.merge(helpers, Handlebars.helpers); data = data || {};\n  var buffer = \"\", helper, options, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression;\n\n\n  buffer += \"<div class=\\\"ig-row ig-row-empty\\\">\\n  <div class=\\\"ig-empty-msg\\\">\\n    \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.no_assignments_list_item\")\n  },data:data},helper ? helper.call(depth0, \"no_assignments_in_this_group\", \"No assignments in this group\", options) : helperMissing.call(depth0, \"t\", \"no_assignments_in_this_group\", \"No assignments in this group\", options)))\n    + \"\\n  </div>\\n</div>\";\n  return buffer;\n  });\n      ;\n      ;\n      return templates[name];\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./app/views/jst/assignments/NoAssignmentsListItem.handlebars\n// module id = izwVBo2CuE\n// module chunks = 54","\n    define(['i18nObj', 'translations/assignments.assignment_group_list', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('assignments.assignment_group_list')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?assignments.assignment_group_list!./public/javascripts/dummyI18nResource.js\n// module id = j+v5NcvJ++\n// module chunks = 54","#\n# Copyright (C) 2013 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  'jquery'\n  './ValidatedFormView'\n  '../fn/preventDefault'\n  'jst/DialogFormWrapper'\n  'jqueryui/dialog'\n  '../jquery/fixDialogButtons'\n], ($, ValidatedFormView, preventDefault, wrapper) ->\n\n  ##\n  # Creates a form dialog.\n  #\n  # - Wraps your template in a form (don't need a form tag or button controls\n  #   in the template)\n  #\n  # - Handles saving the model to the server\n  #\n  # usage:\n  #\n  #   handlebars:\n  #     <p>\n  #       <label><input name=\"first_name\" value=\"{{first_name}}\"/></label>\n  #     </p>\n  #\n  #   coffeescript:\n  #     new DialogFormView\n  #       template: someTemplate\n  #       model: someModel\n  #       trigger: '#editSettings'\n  #\n  class DialogFormView extends ValidatedFormView\n\n    defaults:\n\n      ##\n      # the element selector that opens the dialog, if false, no trigger logic\n      # will be established\n      trigger: false\n\n      ##\n      # will figure out the title from the trigger if null\n      title: null\n\n      width: null\n\n      height: null\n\n      minWidth: null\n\n      minHeight: null\n\n      fixDialogButtons: true\n\n    $dialogAppendTarget: $ 'body'\n\n    className: 'dialogFormView'\n\n    ##\n    # creates the form wrapper, with button controls\n    # override in subclasses at will\n    wrapperTemplate: wrapper\n\n    initialize: ->\n      super\n      @setTrigger()\n      @open = @firstOpen\n      @renderEl = @firstRenderEl\n\n    ##\n    # the function to open the dialog.  will be set to either @firstOpen or\n    # @openAgain depending on the state of the view\n    #\n    # @api public\n    open: null\n\n    ##\n    # @api public\n    close: ->\n      # could be calling this from the close event\n      # so we want to check if it's open\n      if @dialog?.isOpen()\n        @dialog.close()\n      @focusReturnsTo()?.focus()\n\n    ##\n    # @api public\n    toggle: =>\n      if @dialog?.isOpen()\n        @close()\n      else\n        @open()\n\n    ##\n    # @api public\n    remove: ->\n      super\n      @$trigger?.off '.dialogFormView'\n      @$dialog?.remove()\n      @open = @firstOpen\n      @renderEl = @firstRenderEl\n\n    ##\n    # lazy init on first open\n    # @api private\n    firstOpen: ->\n      @insert()\n      @render()\n      @setupDialog()\n      @openAgain()\n      @open = @openAgain\n\n    ##\n    # @api private\n    openAgain: ->\n      @dialog.open()\n      @dialog.focusable.focus()\n\n    ##\n    # @api private\n    insert: ->\n      @$el.appendTo @$dialogAppendTarget\n\n    ##\n    # If your trigger isn't rendered after this view (like a parent view\n    # contains the trigger) then you can set this manually (like in the\n    # parent views afterRender), otherwise it'll use the options.\n    #\n    # @api public\n    #\n    setTrigger: (el) ->\n      @options.trigger = el if el\n      return unless @options.trigger\n      @$trigger = $ @options.trigger\n      @attachTrigger()\n\n    ##\n    # @api private\n    attachTrigger: ->\n      @$trigger?.on 'click.dialogFormView', preventDefault(@toggle)\n\n    ##\n    # the function to render the element.  it will either be firstRenderEl or\n    # renderElAgain depending on the state of the view\n    #\n    # @api private\n    renderEl: null\n\n    firstRenderEl: =>\n      @$el.html @wrapperTemplate @toJSON()\n      @renderElAgain()\n      # reassign: only render the outlet now\n      @renderEl = @renderElAgain\n\n    ##\n    # @api private\n    renderElAgain: =>\n      html = @template @toJSON()\n      @$el.find('.outlet').html html\n\n    ##\n    # @api private\n    getDialogTitle: ->\n      @options.title or\n      @$trigger?.attr('title') or\n      @getAriaTitle()\n\n    getAriaTitle: ->\n      ariaID = @$trigger?.attr 'aria-describedby'\n      $(\"##{ariaID}\").text()\n\n    ##\n    # @api private\n    setupDialog: ->\n      opts =\n        autoOpen: false\n        title: @getDialogTitle()\n        close: =>\n          @close()\n          @trigger 'close'\n        open: => @trigger 'open'\n      opts.width = @options.width\n      opts.height = @options.height\n      opts.minWidth = @options.minWidth\n      opts.minHeight = @options.minHeight\n      @$el.dialog(opts)\n      @$el.fixDialogButtons() if @options.fixDialogButtons\n      @dialog = @$el.data 'dialog'\n      $('.ui-resizable-handle').attr('aria-hidden', true)\n\n    setDimensions: (width, height) ->\n      width = if width? then width else @options.width\n      height = if height? then height else @options.height\n      opts =\n        width: width\n        height: height\n      @$el.dialog(opts)\n\n    ##\n    # @api private\n    onSaveSuccess: =>\n      super\n      @close()\n\n    ##\n    # @api private\n    focusReturnsTo: ->\n      return null unless @$trigger\n      if id = @$trigger.data('focusReturnsTo')\n        return $(\"##{id}\")\n      else\n        return @$trigger\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/views/DialogFormView.coffee","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"multiple_ba5220cd\":\"متعدد\",\"upper_lower_56cad16c\":\"%{upper} - %{lower}\"},\"cy\":{\"multiple_ba5220cd\":\"Mwy nag un\",\"upper_lower_56cad16c\":\"%{upper} - %{lower}\"},\"da\":{\"multiple_ba5220cd\":\"Multiple\",\"upper_lower_56cad16c\":\"%{upper} - %{lower}\"},\"da-x-k12\":{\"multiple_ba5220cd\":\"Multiple\",\"upper_lower_56cad16c\":\"%{upper} - %{lower}\"},\"de\":{\"multiple_ba5220cd\":\"Mehrfach\",\"upper_lower_56cad16c\":\"%{upper} – %{lower}\"},\"en-AU\":{\"multiple_ba5220cd\":\"Multiple\",\"upper_lower_56cad16c\":\"%{upper} - %{lower}\"},\"en-CA\":{\"multiple_ba5220cd\":\"Multiple\",\"upper_lower_56cad16c\":\"%{upper} - %{lower}\"},\"en-GB\":{\"multiple_ba5220cd\":\"Multiple\",\"upper_lower_56cad16c\":\"%{upper} - %{lower}\"},\"en-GB-x-lbs\":{\"multiple_ba5220cd\":\"Multiple\",\"upper_lower_56cad16c\":\"%{upper} - %{lower}\"},\"en-GB-x-ukhe\":{\"multiple_ba5220cd\":\"Multiple\",\"upper_lower_56cad16c\":\"%{upper} - %{lower}\"},\"es\":{\"multiple_ba5220cd\":\"Múltiple\",\"upper_lower_56cad16c\":\"%{upper}-%{lower}\"},\"fa\":{\"multiple_ba5220cd\":\"چند مورد\",\"upper_lower_56cad16c\":\"%{upper} -%{lower}\"},\"fr\":{\"multiple_ba5220cd\":\"Multiple\",\"upper_lower_56cad16c\":\"%{upper} – %{lower}\"},\"fr-CA\":{\"multiple_ba5220cd\":\"Multiple\",\"upper_lower_56cad16c\":\"%{upper} – %{lower}\"},\"he\":{\"multiple_ba5220cd\":\"מרובים\",\"upper_lower_56cad16c\":\"%{upper} - %{lower}\"},\"ht\":{\"multiple_ba5220cd\":\"Plizyè\",\"upper_lower_56cad16c\":\"%{upper} - %{lower}\"},\"hu\":{\"multiple_ba5220cd\":\"Többszörös\",\"upper_lower_56cad16c\":\"%{upper} - %{lower}\"},\"is\":{\"multiple_ba5220cd\":\"Margir\",\"upper_lower_56cad16c\":\"%{upper} - %{lower}\"},\"it\":{\"multiple_ba5220cd\":\"Multipli\",\"upper_lower_56cad16c\":\"%{upper} - %{lower}\"},\"ja\":{\"multiple_ba5220cd\":\"複数\",\"upper_lower_56cad16c\":\"%{upper} -%{lower}\"},\"mi\":{\"multiple_ba5220cd\":\"Maha\",\"upper_lower_56cad16c\":\"%{upper} - %{lower}\"},\"nb\":{\"multiple_ba5220cd\":\"Flere\",\"upper_lower_56cad16c\":\"%{upper} - %{lower}\"},\"nb-x-k12\":{\"multiple_ba5220cd\":\"Flere\",\"upper_lower_56cad16c\":\"%{upper} - %{lower}\"},\"nl\":{\"multiple_ba5220cd\":\"Meerdere\",\"upper_lower_56cad16c\":\"%{upper} - %{lower}\"},\"nn\":{\"multiple_ba5220cd\":\"Fleire\",\"upper_lower_56cad16c\":\"%{upper} - %{lower}\"},\"pl\":{\"multiple_ba5220cd\":\"Wiele\",\"upper_lower_56cad16c\":\"%{upper} - %{lower}\"},\"pt\":{\"multiple_ba5220cd\":\"Múltiplo\",\"upper_lower_56cad16c\":\"%{upper} - %{lower}\"},\"pt-BR\":{\"multiple_ba5220cd\":\"Múltiplos(as)\",\"upper_lower_56cad16c\":\"%{upper} - %{lower}\"},\"ru\":{\"multiple_ba5220cd\":\"Множественное число\",\"upper_lower_56cad16c\":\"%{upper} - %{lower}\"},\"sl\":{\"multiple_ba5220cd\":\"Večkratni\",\"upper_lower_56cad16c\":\"%{upper} – %{lower}\"},\"sv\":{\"multiple_ba5220cd\":\"Flera\",\"upper_lower_56cad16c\":\"%{upper} - %{lower}\"},\"sv-x-k12\":{\"multiple_ba5220cd\":\"Flera\",\"upper_lower_56cad16c\":\"%{upper} - %{lower}\"},\"uk\":{\"multiple_ba5220cd\":\"Множинний\",\"upper_lower_56cad16c\":\"%{upper} - %{lower}\"},\"zh-Hans\":{\"multiple_ba5220cd\":\"多个\",\"upper_lower_56cad16c\":\"%{upper} -%{lower}\"},\"zh-Hant\":{\"multiple_ba5220cd\":\"多個\",\"upper_lower_56cad16c\":\"%{upper} -%{lower}\"}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/format_range.js\n// module id = j5H9HPPYu+\n// module chunks = 32 51 54 58 59 73","\n    define(['i18nObj', 'translations/format_range', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('format_range')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?format_range!./public/javascripts/dummyI18nResource.js\n// module id = jHERQtX/tm\n// module chunks = 32 51 54 58 59 73","//\n// Copyright (C) 2014 - present Instructure, Inc.\n//\n// This file is part of Canvas.\n//\n// Canvas is free software: you can redistribute it and/or modify it under\n// the terms of the GNU Affero General Public License as published by the Free\n// Software Foundation, version 3 of the License.\n//\n// Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n// A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n// details.\n//\n// You should have received a copy of the GNU Affero General Public License along\n// with this program. If not, see <http://www.gnu.org/licenses/>.\n\nimport pandapub from '../PandaPub'\nimport $ from 'jquery'\n\n// This class handles the common logic of \"use PandaPub when available,\n// otherwise poll\".\n\nexport default class PandaPubPoller {\n  // Create a new PandaPubPoller.\n  //\n  // @pollInterval (ms) - How long to poll when pandapub is disabled\n  // @rarePollInterval (ms) - How long to poll when pandapub is enabled\n  // @pollCB - The function to call when we should poll. Normally this will\n  //   wrap your normal poll method. It is passed another function that should\n  //   be called when the poll is complete.\n\n  constructor (pollInterval, rarePollInterval, pollCB) {\n    this.pollInterval = pollInterval\n    this.rarePollInterval = rarePollInterval\n    this.pollCB = pollCB\n    this.running = false\n    this.lastUpdate = null\n\n    // make sure our timer doesn't fire again as leaving the page\n    // workaround for https://code.google.com/p/chromium/issues/detail?id=263981\n    $(window).on('beforeunload', () => {\n      if (this.timeout) this.stopTimeout()\n    })\n  }\n\n  // Configures the PandaPub channel and token.\n\n  setToken = (channel, token) => {\n    this.channel = channel\n    this.token = token\n    if (pandapub.enabled && this.running) this.subscribe()\n  }\n\n  // Set the function to call when data is received via the streaming\n  // channel.\n\n  setOnData = (streamingCB) => {\n    this.streamingCB = streamingCB\n  }\n\n  // Starts polling/streaming.\n\n  start = () => {\n    this.lastUpdate = Date.now()\n    this.running = true\n    this.startTimeout()\n    if (pandapub.enabled) this.subscribe()\n  }\n\n  // Stop polling/streaming.\n\n  stop = () => {\n    this.stopTimeout()\n    if (pandapub.enabled) this.unsubscribe()\n    this.running = false\n  }\n\n  isRunning = () => this.running\n\n  // Start the timeout that schedules the periodic polling consideration.\n  //\n  // @api private\n\n  startTimeout = () => this.timeout = setTimeout(this.considerPoll, this.pollInterval)\n\n\n  // Stop the timeout\n  //\n  // @api private\n\n  stopTimeout = () => clearTimeout(this.timeout)\n\n  // Triggers a poll based on time passed since last data received, and\n  // whether pandapub is enabled\n  //\n  // @api private\n\n  considerPoll = () => {\n    let interval = this.pollInterval\n\n    if (pandapub.enabled) {\n      interval = this.rarePollInterval\n    }\n\n    if (Date.now() - this.lastUpdate >= interval) {\n      return this.pollCB(this.pollDone)\n    } else {\n      return this.startTimeout()\n    }\n  }\n\n  // Fired when a poll completes\n  //\n  // @api private\n\n  pollDone = () => {\n    this.lastUpdate = Date.now()\n    this.startTimeout()\n  }\n\n  subscribe = () => {\n    // TODO: make this smart so you can update credentials periodically\n    if (this.subscription) return\n\n    // don't attempt to subscribe until we get a channel and a token\n    if (!this.channel || !this.token) return\n\n    this.subscription = pandapub.subscribe(this.channel, this.token, (message) => {\n      this.lastUpdate = Date.now()\n      this.streamingCB(message)\n    })\n  }\n\n  unsubscribe = () => {\n    if (this.subscription) this.subscription.cancel()\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/util/PandaPubPoller.js","/*** IMPORTS FROM imports-loader ***/\n(function() {\n\n(function () {\nvar media = (function () {\n    'use strict';\n\n    var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.Env');\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    var getScripts = function (editor) {\n      return editor.getParam('media_scripts');\n    };\n    var getAudioTemplateCallback = function (editor) {\n      return editor.getParam('audio_template_callback');\n    };\n    var getVideoTemplateCallback = function (editor) {\n      return editor.getParam('video_template_callback');\n    };\n    var hasLiveEmbeds = function (editor) {\n      return editor.getParam('media_live_embeds', true);\n    };\n    var shouldFilterHtml = function (editor) {\n      return editor.getParam('media_filter_html', true);\n    };\n    var getUrlResolver = function (editor) {\n      return editor.getParam('media_url_resolver');\n    };\n    var hasAltSource = function (editor) {\n      return editor.getParam('media_alt_source', true);\n    };\n    var hasPoster = function (editor) {\n      return editor.getParam('media_poster', true);\n    };\n    var hasDimensions = function (editor) {\n      return editor.getParam('media_dimensions', true);\n    };\n    var Settings = {\n      getScripts: getScripts,\n      getAudioTemplateCallback: getAudioTemplateCallback,\n      getVideoTemplateCallback: getVideoTemplateCallback,\n      hasLiveEmbeds: hasLiveEmbeds,\n      shouldFilterHtml: shouldFilterHtml,\n      getUrlResolver: getUrlResolver,\n      hasAltSource: hasAltSource,\n      hasPoster: hasPoster,\n      hasDimensions: hasDimensions\n    };\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.html.SaxParser');\n\n    var global$4 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n    var getVideoScriptMatch = function (prefixes, src) {\n      if (prefixes) {\n        for (var i = 0; i < prefixes.length; i++) {\n          if (src.indexOf(prefixes[i].filter) !== -1) {\n            return prefixes[i];\n          }\n        }\n      }\n    };\n    var VideoScript = { getVideoScriptMatch: getVideoScriptMatch };\n\n    var trimPx = function (value) {\n      return value.replace(/px$/, '');\n    };\n    var addPx = function (value) {\n      return /^[0-9.]+$/.test(value) ? value + 'px' : value;\n    };\n    var getSize = function (name) {\n      return function (elm) {\n        return elm ? trimPx(elm.style[name]) : '';\n      };\n    };\n    var setSize = function (name) {\n      return function (elm, value) {\n        if (elm) {\n          elm.style[name] = addPx(value);\n        }\n      };\n    };\n    var Size = {\n      getMaxWidth: getSize('maxWidth'),\n      getMaxHeight: getSize('maxHeight'),\n      setMaxWidth: setSize('maxWidth'),\n      setMaxHeight: setSize('maxHeight')\n    };\n\n    var DOM = global$4.DOM;\n    var getEphoxEmbedIri = function (elm) {\n      return DOM.getAttrib(elm, 'data-ephox-embed-iri');\n    };\n    var isEphoxEmbed = function (html) {\n      var fragment = DOM.createFragment(html);\n      return getEphoxEmbedIri(fragment.firstChild) !== '';\n    };\n    var htmlToDataSax = function (prefixes, html) {\n      var data = {};\n      global$3({\n        validate: false,\n        allow_conditional_comments: true,\n        special: 'script,noscript',\n        start: function (name, attrs) {\n          if (!data.source1 && name === 'param') {\n            data.source1 = attrs.map.movie;\n          }\n          if (name === 'iframe' || name === 'object' || name === 'embed' || name === 'video' || name === 'audio') {\n            if (!data.type) {\n              data.type = name;\n            }\n            data = global$2.extend(attrs.map, data);\n          }\n          if (name === 'script') {\n            var videoScript = VideoScript.getVideoScriptMatch(prefixes, attrs.map.src);\n            if (!videoScript) {\n              return;\n            }\n            data = {\n              type: 'script',\n              source1: attrs.map.src,\n              width: videoScript.width,\n              height: videoScript.height\n            };\n          }\n          if (name === 'source') {\n            if (!data.source1) {\n              data.source1 = attrs.map.src;\n            } else if (!data.source2) {\n              data.source2 = attrs.map.src;\n            }\n          }\n          if (name === 'img' && !data.poster) {\n            data.poster = attrs.map.src;\n          }\n        }\n      }).parse(html);\n      data.source1 = data.source1 || data.src || data.data;\n      data.source2 = data.source2 || '';\n      data.poster = data.poster || '';\n      return data;\n    };\n    var ephoxEmbedHtmlToData = function (html) {\n      var fragment = DOM.createFragment(html);\n      var div = fragment.firstChild;\n      return {\n        type: 'ephox-embed-iri',\n        source1: getEphoxEmbedIri(div),\n        source2: '',\n        poster: '',\n        width: Size.getMaxWidth(div),\n        height: Size.getMaxHeight(div)\n      };\n    };\n    var htmlToData = function (prefixes, html) {\n      return isEphoxEmbed(html) ? ephoxEmbedHtmlToData(html) : htmlToDataSax(prefixes, html);\n    };\n    var HtmlToData = { htmlToData: htmlToData };\n\n    var global$5 = tinymce.util.Tools.resolve('tinymce.util.Promise');\n\n    var guess = function (url) {\n      var mimes = {\n        mp3: 'audio/mpeg',\n        wav: 'audio/wav',\n        mp4: 'video/mp4',\n        webm: 'video/webm',\n        ogg: 'video/ogg',\n        swf: 'application/x-shockwave-flash'\n      };\n      var fileEnd = url.toLowerCase().split('.').pop();\n      var mime = mimes[fileEnd];\n      return mime ? mime : '';\n    };\n    var Mime = { guess: guess };\n\n    var global$6 = tinymce.util.Tools.resolve('tinymce.html.Writer');\n\n    var global$7 = tinymce.util.Tools.resolve('tinymce.html.Schema');\n\n    var DOM$1 = global$4.DOM;\n    var setAttributes = function (attrs, updatedAttrs) {\n      var name;\n      var i;\n      var value;\n      var attr;\n      for (name in updatedAttrs) {\n        value = '' + updatedAttrs[name];\n        if (attrs.map[name]) {\n          i = attrs.length;\n          while (i--) {\n            attr = attrs[i];\n            if (attr.name === name) {\n              if (value) {\n                attrs.map[name] = value;\n                attr.value = value;\n              } else {\n                delete attrs.map[name];\n                attrs.splice(i, 1);\n              }\n            }\n          }\n        } else if (value) {\n          attrs.push({\n            name: name,\n            value: value\n          });\n          attrs.map[name] = value;\n        }\n      }\n    };\n    var normalizeHtml = function (html) {\n      var writer = global$6();\n      var parser = global$3(writer);\n      parser.parse(html);\n      return writer.getContent();\n    };\n    var updateHtmlSax = function (html, data, updateAll) {\n      var writer = global$6();\n      var sourceCount = 0;\n      var hasImage;\n      global$3({\n        validate: false,\n        allow_conditional_comments: true,\n        special: 'script,noscript',\n        comment: function (text) {\n          writer.comment(text);\n        },\n        cdata: function (text) {\n          writer.cdata(text);\n        },\n        text: function (text, raw) {\n          writer.text(text, raw);\n        },\n        start: function (name, attrs, empty) {\n          switch (name) {\n          case 'video':\n          case 'object':\n          case 'embed':\n          case 'img':\n          case 'iframe':\n            if (data.height !== undefined && data.width !== undefined) {\n              setAttributes(attrs, {\n                width: data.width,\n                height: data.height\n              });\n            }\n            break;\n          }\n          if (updateAll) {\n            switch (name) {\n            case 'video':\n              setAttributes(attrs, {\n                poster: data.poster,\n                src: ''\n              });\n              if (data.source2) {\n                setAttributes(attrs, { src: '' });\n              }\n              break;\n            case 'iframe':\n              setAttributes(attrs, { src: data.source1 });\n              break;\n            case 'source':\n              sourceCount++;\n              if (sourceCount <= 2) {\n                setAttributes(attrs, {\n                  src: data['source' + sourceCount],\n                  type: data['source' + sourceCount + 'mime']\n                });\n                if (!data['source' + sourceCount]) {\n                  return;\n                }\n              }\n              break;\n            case 'img':\n              if (!data.poster) {\n                return;\n              }\n              hasImage = true;\n              break;\n            }\n          }\n          writer.start(name, attrs, empty);\n        },\n        end: function (name) {\n          if (name === 'video' && updateAll) {\n            for (var index = 1; index <= 2; index++) {\n              if (data['source' + index]) {\n                var attrs = [];\n                attrs.map = {};\n                if (sourceCount < index) {\n                  setAttributes(attrs, {\n                    src: data['source' + index],\n                    type: data['source' + index + 'mime']\n                  });\n                  writer.start('source', attrs, true);\n                }\n              }\n            }\n          }\n          if (data.poster && name === 'object' && updateAll && !hasImage) {\n            var imgAttrs = [];\n            imgAttrs.map = {};\n            setAttributes(imgAttrs, {\n              src: data.poster,\n              width: data.width,\n              height: data.height\n            });\n            writer.start('img', imgAttrs, true);\n          }\n          writer.end(name);\n        }\n      }, global$7({})).parse(html);\n      return writer.getContent();\n    };\n    var isEphoxEmbed$1 = function (html) {\n      var fragment = DOM$1.createFragment(html);\n      return DOM$1.getAttrib(fragment.firstChild, 'data-ephox-embed-iri') !== '';\n    };\n    var updateEphoxEmbed = function (html, data) {\n      var fragment = DOM$1.createFragment(html);\n      var div = fragment.firstChild;\n      Size.setMaxWidth(div, data.width);\n      Size.setMaxHeight(div, data.height);\n      return normalizeHtml(div.outerHTML);\n    };\n    var updateHtml = function (html, data, updateAll) {\n      return isEphoxEmbed$1(html) ? updateEphoxEmbed(html, data) : updateHtmlSax(html, data, updateAll);\n    };\n    var UpdateHtml = { updateHtml: updateHtml };\n\n    var urlPatterns = [\n      {\n        regex: /youtu\\.be\\/([\\w\\-_\\?&=.]+)/i,\n        type: 'iframe',\n        w: 560,\n        h: 314,\n        url: '//www.youtube.com/embed/$1',\n        allowFullscreen: true\n      },\n      {\n        regex: /youtube\\.com(.+)v=([^&]+)(&([a-z0-9&=\\-_]+))?/i,\n        type: 'iframe',\n        w: 560,\n        h: 314,\n        url: '//www.youtube.com/embed/$2?$4',\n        allowFullscreen: true\n      },\n      {\n        regex: /youtube.com\\/embed\\/([a-z0-9\\?&=\\-_]+)/i,\n        type: 'iframe',\n        w: 560,\n        h: 314,\n        url: '//www.youtube.com/embed/$1',\n        allowFullscreen: true\n      },\n      {\n        regex: /vimeo\\.com\\/([0-9]+)/,\n        type: 'iframe',\n        w: 425,\n        h: 350,\n        url: '//player.vimeo.com/video/$1?title=0&byline=0&portrait=0&color=8dc7dc',\n        allowFullscreen: true\n      },\n      {\n        regex: /vimeo\\.com\\/(.*)\\/([0-9]+)/,\n        type: 'iframe',\n        w: 425,\n        h: 350,\n        url: '//player.vimeo.com/video/$2?title=0&amp;byline=0',\n        allowFullscreen: true\n      },\n      {\n        regex: /maps\\.google\\.([a-z]{2,3})\\/maps\\/(.+)msid=(.+)/,\n        type: 'iframe',\n        w: 425,\n        h: 350,\n        url: '//maps.google.com/maps/ms?msid=$2&output=embed\"',\n        allowFullscreen: false\n      },\n      {\n        regex: /dailymotion\\.com\\/video\\/([^_]+)/,\n        type: 'iframe',\n        w: 480,\n        h: 270,\n        url: '//www.dailymotion.com/embed/video/$1',\n        allowFullscreen: true\n      },\n      {\n        regex: /dai\\.ly\\/([^_]+)/,\n        type: 'iframe',\n        w: 480,\n        h: 270,\n        url: '//www.dailymotion.com/embed/video/$1',\n        allowFullscreen: true\n      }\n    ];\n    var getUrl = function (pattern, url) {\n      var match = pattern.regex.exec(url);\n      var newUrl = pattern.url;\n      var _loop_1 = function (i) {\n        newUrl = newUrl.replace('$' + i, function () {\n          return match[i] ? match[i] : '';\n        });\n      };\n      for (var i = 0; i < match.length; i++) {\n        _loop_1(i);\n      }\n      return newUrl.replace(/\\?$/, '');\n    };\n    var matchPattern = function (url) {\n      var pattern = urlPatterns.filter(function (pattern) {\n        return pattern.regex.test(url);\n      });\n      if (pattern.length > 0) {\n        return global$2.extend({}, pattern[0], { url: getUrl(pattern[0], url) });\n      } else {\n        return null;\n      }\n    };\n\n    var getIframeHtml = function (data) {\n      var allowFullscreen = data.allowFullscreen ? ' allowFullscreen=\"1\"' : '';\n      return '<iframe src=\"' + data.source1 + '\" width=\"' + data.width + '\" height=\"' + data.height + '\"' + allowFullscreen + '></iframe>';\n    };\n    var getFlashHtml = function (data) {\n      var html = '<object data=\"' + data.source1 + '\" width=\"' + data.width + '\" height=\"' + data.height + '\" type=\"application/x-shockwave-flash\">';\n      if (data.poster) {\n        html += '<img src=\"' + data.poster + '\" width=\"' + data.width + '\" height=\"' + data.height + '\" />';\n      }\n      html += '</object>';\n      return html;\n    };\n    var getAudioHtml = function (data, audioTemplateCallback) {\n      if (audioTemplateCallback) {\n        return audioTemplateCallback(data);\n      } else {\n        return '<audio controls=\"controls\" src=\"' + data.source1 + '\">' + (data.source2 ? '\\n<source src=\"' + data.source2 + '\"' + (data.source2mime ? ' type=\"' + data.source2mime + '\"' : '') + ' />\\n' : '') + '</audio>';\n      }\n    };\n    var getVideoHtml = function (data, videoTemplateCallback) {\n      if (videoTemplateCallback) {\n        return videoTemplateCallback(data);\n      } else {\n        return '<video width=\"' + data.width + '\" height=\"' + data.height + '\"' + (data.poster ? ' poster=\"' + data.poster + '\"' : '') + ' controls=\"controls\">\\n' + '<source src=\"' + data.source1 + '\"' + (data.source1mime ? ' type=\"' + data.source1mime + '\"' : '') + ' />\\n' + (data.source2 ? '<source src=\"' + data.source2 + '\"' + (data.source2mime ? ' type=\"' + data.source2mime + '\"' : '') + ' />\\n' : '') + '</video>';\n      }\n    };\n    var getScriptHtml = function (data) {\n      return '<script src=\"' + data.source1 + '\"></script>';\n    };\n    var dataToHtml = function (editor, dataIn) {\n      var data = global$2.extend({}, dataIn);\n      if (!data.source1) {\n        global$2.extend(data, HtmlToData.htmlToData(Settings.getScripts(editor), data.embed));\n        if (!data.source1) {\n          return '';\n        }\n      }\n      if (!data.source2) {\n        data.source2 = '';\n      }\n      if (!data.poster) {\n        data.poster = '';\n      }\n      data.source1 = editor.convertURL(data.source1, 'source');\n      data.source2 = editor.convertURL(data.source2, 'source');\n      data.source1mime = Mime.guess(data.source1);\n      data.source2mime = Mime.guess(data.source2);\n      data.poster = editor.convertURL(data.poster, 'poster');\n      var pattern = matchPattern(data.source1);\n      if (pattern) {\n        data.source1 = pattern.url;\n        data.type = pattern.type;\n        data.allowFullscreen = pattern.allowFullscreen;\n        data.width = data.width || pattern.w;\n        data.height = data.height || pattern.h;\n      }\n      if (data.embed) {\n        return UpdateHtml.updateHtml(data.embed, data, true);\n      } else {\n        var videoScript = VideoScript.getVideoScriptMatch(Settings.getScripts(editor), data.source1);\n        if (videoScript) {\n          data.type = 'script';\n          data.width = videoScript.width;\n          data.height = videoScript.height;\n        }\n        var audioTemplateCallback = Settings.getAudioTemplateCallback(editor);\n        var videoTemplateCallback = Settings.getVideoTemplateCallback(editor);\n        data.width = data.width || 300;\n        data.height = data.height || 150;\n        global$2.each(data, function (value, key) {\n          data[key] = editor.dom.encode(value);\n        });\n        if (data.type === 'iframe') {\n          return getIframeHtml(data);\n        } else if (data.source1mime === 'application/x-shockwave-flash') {\n          return getFlashHtml(data);\n        } else if (data.source1mime.indexOf('audio') !== -1) {\n          return getAudioHtml(data, audioTemplateCallback);\n        } else if (data.type === 'script') {\n          return getScriptHtml(data);\n        } else {\n          return getVideoHtml(data, videoTemplateCallback);\n        }\n      }\n    };\n    var DataToHtml = { dataToHtml: dataToHtml };\n\n    var cache = {};\n    var embedPromise = function (data, dataToHtml, handler) {\n      return new global$5(function (res, rej) {\n        var wrappedResolve = function (response) {\n          if (response.html) {\n            cache[data.source1] = response;\n          }\n          return res({\n            url: data.source1,\n            html: response.html ? response.html : dataToHtml(data)\n          });\n        };\n        if (cache[data.source1]) {\n          wrappedResolve(cache[data.source1]);\n        } else {\n          handler({ url: data.source1 }, wrappedResolve, rej);\n        }\n      });\n    };\n    var defaultPromise = function (data, dataToHtml) {\n      return new global$5(function (res) {\n        res({\n          html: dataToHtml(data),\n          url: data.source1\n        });\n      });\n    };\n    var loadedData = function (editor) {\n      return function (data) {\n        return DataToHtml.dataToHtml(editor, data);\n      };\n    };\n    var getEmbedHtml = function (editor, data) {\n      var embedHandler = Settings.getUrlResolver(editor);\n      return embedHandler ? embedPromise(data, loadedData(editor), embedHandler) : defaultPromise(data, loadedData(editor));\n    };\n    var isCached = function (url) {\n      return cache.hasOwnProperty(url);\n    };\n    var Service = {\n      getEmbedHtml: getEmbedHtml,\n      isCached: isCached\n    };\n\n    var doSyncSize = function (widthCtrl, heightCtrl) {\n      widthCtrl.state.set('oldVal', widthCtrl.value());\n      heightCtrl.state.set('oldVal', heightCtrl.value());\n    };\n    var doSizeControls = function (win, f) {\n      var widthCtrl = win.find('#width')[0];\n      var heightCtrl = win.find('#height')[0];\n      var constrained = win.find('#constrain')[0];\n      if (widthCtrl && heightCtrl && constrained) {\n        f(widthCtrl, heightCtrl, constrained.checked());\n      }\n    };\n    var doUpdateSize = function (widthCtrl, heightCtrl, isContrained) {\n      var oldWidth = widthCtrl.state.get('oldVal');\n      var oldHeight = heightCtrl.state.get('oldVal');\n      var newWidth = widthCtrl.value();\n      var newHeight = heightCtrl.value();\n      if (isContrained && oldWidth && oldHeight && newWidth && newHeight) {\n        if (newWidth !== oldWidth) {\n          newHeight = Math.round(newWidth / oldWidth * newHeight);\n          if (!isNaN(newHeight)) {\n            heightCtrl.value(newHeight);\n          }\n        } else {\n          newWidth = Math.round(newHeight / oldHeight * newWidth);\n          if (!isNaN(newWidth)) {\n            widthCtrl.value(newWidth);\n          }\n        }\n      }\n      doSyncSize(widthCtrl, heightCtrl);\n    };\n    var syncSize = function (win) {\n      doSizeControls(win, doSyncSize);\n    };\n    var updateSize = function (win) {\n      doSizeControls(win, doUpdateSize);\n    };\n    var createUi = function (onChange) {\n      var recalcSize = function () {\n        onChange(function (win) {\n          updateSize(win);\n        });\n      };\n      return {\n        type: 'container',\n        label: 'Dimensions',\n        layout: 'flex',\n        align: 'center',\n        spacing: 5,\n        items: [\n          {\n            name: 'width',\n            type: 'textbox',\n            maxLength: 5,\n            size: 5,\n            onchange: recalcSize,\n            ariaLabel: 'Width'\n          },\n          {\n            type: 'label',\n            text: 'x'\n          },\n          {\n            name: 'height',\n            type: 'textbox',\n            maxLength: 5,\n            size: 5,\n            onchange: recalcSize,\n            ariaLabel: 'Height'\n          },\n          {\n            name: 'constrain',\n            type: 'checkbox',\n            checked: true,\n            text: 'Constrain proportions'\n          }\n        ]\n      };\n    };\n    var SizeManager = {\n      createUi: createUi,\n      syncSize: syncSize,\n      updateSize: updateSize\n    };\n\n    var embedChange = global$1.ie && global$1.ie <= 8 ? 'onChange' : 'onInput';\n    var handleError = function (editor) {\n      return function (error) {\n        var errorMessage = error && error.msg ? 'Media embed handler error: ' + error.msg : 'Media embed handler threw unknown error.';\n        editor.notificationManager.open({\n          type: 'error',\n          text: errorMessage\n        });\n      };\n    };\n    var getData = function (editor) {\n      var element = editor.selection.getNode();\n      var dataEmbed = element.getAttribute('data-ephox-embed-iri');\n      if (dataEmbed) {\n        return {\n          'source1': dataEmbed,\n          'data-ephox-embed-iri': dataEmbed,\n          'width': Size.getMaxWidth(element),\n          'height': Size.getMaxHeight(element)\n        };\n      }\n      return element.getAttribute('data-mce-object') ? HtmlToData.htmlToData(Settings.getScripts(editor), editor.serializer.serialize(element, { selection: true })) : {};\n    };\n    var getSource = function (editor) {\n      var elm = editor.selection.getNode();\n      if (elm.getAttribute('data-mce-object') || elm.getAttribute('data-ephox-embed-iri')) {\n        return editor.selection.getContent();\n      }\n    };\n    var addEmbedHtml = function (win, editor) {\n      return function (response) {\n        var html = response.html;\n        var embed = win.find('#embed')[0];\n        var data = global$2.extend(HtmlToData.htmlToData(Settings.getScripts(editor), html), { source1: response.url });\n        win.fromJSON(data);\n        if (embed) {\n          embed.value(html);\n          SizeManager.updateSize(win);\n        }\n      };\n    };\n    var selectPlaceholder = function (editor, beforeObjects) {\n      var i;\n      var y;\n      var afterObjects = editor.dom.select('img[data-mce-object]');\n      for (i = 0; i < beforeObjects.length; i++) {\n        for (y = afterObjects.length - 1; y >= 0; y--) {\n          if (beforeObjects[i] === afterObjects[y]) {\n            afterObjects.splice(y, 1);\n          }\n        }\n      }\n      editor.selection.select(afterObjects[0]);\n    };\n    var handleInsert = function (editor, html) {\n      var beforeObjects = editor.dom.select('img[data-mce-object]');\n      editor.insertContent(html);\n      selectPlaceholder(editor, beforeObjects);\n      editor.nodeChanged();\n    };\n    var submitForm = function (win, editor) {\n      var data = win.toJSON();\n      data.embed = UpdateHtml.updateHtml(data.embed, data);\n      if (data.embed && Service.isCached(data.source1)) {\n        handleInsert(editor, data.embed);\n      } else {\n        Service.getEmbedHtml(editor, data).then(function (response) {\n          handleInsert(editor, response.html);\n        }).catch(handleError(editor));\n      }\n    };\n    var populateMeta = function (win, meta) {\n      global$2.each(meta, function (value, key) {\n        win.find('#' + key).value(value);\n      });\n    };\n    var showDialog = function (editor) {\n      var win;\n      var data;\n      var generalFormItems = [{\n          name: 'source1',\n          type: 'filepicker',\n          filetype: 'media',\n          size: 40,\n          autofocus: true,\n          label: 'Source',\n          onpaste: function () {\n            setTimeout(function () {\n              Service.getEmbedHtml(editor, win.toJSON()).then(addEmbedHtml(win, editor)).catch(handleError(editor));\n            }, 1);\n          },\n          onchange: function (e) {\n            Service.getEmbedHtml(editor, win.toJSON()).then(addEmbedHtml(win, editor)).catch(handleError(editor));\n            populateMeta(win, e.meta);\n          },\n          onbeforecall: function (e) {\n            e.meta = win.toJSON();\n          }\n        }];\n      var advancedFormItems = [];\n      var reserialise = function (update) {\n        update(win);\n        data = win.toJSON();\n        win.find('#embed').value(UpdateHtml.updateHtml(data.embed, data));\n      };\n      if (Settings.hasAltSource(editor)) {\n        advancedFormItems.push({\n          name: 'source2',\n          type: 'filepicker',\n          filetype: 'media',\n          size: 40,\n          label: 'Alternative source'\n        });\n      }\n      if (Settings.hasPoster(editor)) {\n        advancedFormItems.push({\n          name: 'poster',\n          type: 'filepicker',\n          filetype: 'image',\n          size: 40,\n          label: 'Poster'\n        });\n      }\n      if (Settings.hasDimensions(editor)) {\n        var control = SizeManager.createUi(reserialise);\n        generalFormItems.push(control);\n      }\n      data = getData(editor);\n      var embedTextBox = {\n        id: 'mcemediasource',\n        type: 'textbox',\n        flex: 1,\n        name: 'embed',\n        value: getSource(editor),\n        multiline: true,\n        rows: 5,\n        label: 'Source'\n      };\n      var updateValueOnChange = function () {\n        data = global$2.extend({}, HtmlToData.htmlToData(Settings.getScripts(editor), this.value()));\n        this.parent().parent().fromJSON(data);\n      };\n      embedTextBox[embedChange] = updateValueOnChange;\n      var body = [\n        {\n          title: 'General',\n          type: 'form',\n          items: generalFormItems\n        },\n        {\n          title: 'Embed',\n          type: 'container',\n          layout: 'flex',\n          direction: 'column',\n          align: 'stretch',\n          padding: 10,\n          spacing: 10,\n          items: [\n            {\n              type: 'label',\n              text: 'Paste your embed code below:',\n              forId: 'mcemediasource'\n            },\n            embedTextBox\n          ]\n        }\n      ];\n      if (advancedFormItems.length > 0) {\n        body.push({\n          title: 'Advanced',\n          type: 'form',\n          items: advancedFormItems\n        });\n      }\n      win = editor.windowManager.open({\n        title: 'Insert/edit media',\n        data: data,\n        bodyType: 'tabpanel',\n        body: body,\n        onSubmit: function () {\n          SizeManager.updateSize(win);\n          submitForm(win, editor);\n        }\n      });\n      SizeManager.syncSize(win);\n    };\n    var Dialog = { showDialog: showDialog };\n\n    var get = function (editor) {\n      var showDialog = function () {\n        Dialog.showDialog(editor);\n      };\n      return { showDialog: showDialog };\n    };\n    var Api = { get: get };\n\n    var register = function (editor) {\n      var showDialog = function () {\n        Dialog.showDialog(editor);\n      };\n      editor.addCommand('mceMedia', showDialog);\n    };\n    var Commands = { register: register };\n\n    var global$8 = tinymce.util.Tools.resolve('tinymce.html.Node');\n\n    var sanitize = function (editor, html) {\n      if (Settings.shouldFilterHtml(editor) === false) {\n        return html;\n      }\n      var writer = global$6();\n      var blocked;\n      global$3({\n        validate: false,\n        allow_conditional_comments: false,\n        special: 'script,noscript',\n        comment: function (text) {\n          writer.comment(text);\n        },\n        cdata: function (text) {\n          writer.cdata(text);\n        },\n        text: function (text, raw) {\n          writer.text(text, raw);\n        },\n        start: function (name, attrs, empty) {\n          blocked = true;\n          if (name === 'script' || name === 'noscript') {\n            return;\n          }\n          for (var i = 0; i < attrs.length; i++) {\n            if (attrs[i].name.indexOf('on') === 0) {\n              return;\n            }\n            if (attrs[i].name === 'style') {\n              attrs[i].value = editor.dom.serializeStyle(editor.dom.parseStyle(attrs[i].value), name);\n            }\n          }\n          writer.start(name, attrs, empty);\n          blocked = false;\n        },\n        end: function (name) {\n          if (blocked) {\n            return;\n          }\n          writer.end(name);\n        }\n      }, global$7({})).parse(html);\n      return writer.getContent();\n    };\n    var Sanitize = { sanitize: sanitize };\n\n    var createPlaceholderNode = function (editor, node) {\n      var placeHolder;\n      var name = node.name;\n      placeHolder = new global$8('img', 1);\n      placeHolder.shortEnded = true;\n      retainAttributesAndInnerHtml(editor, node, placeHolder);\n      placeHolder.attr({\n        'width': node.attr('width') || '300',\n        'height': node.attr('height') || (name === 'audio' ? '30' : '150'),\n        'style': node.attr('style'),\n        'src': global$1.transparentSrc,\n        'data-mce-object': name,\n        'class': 'mce-object mce-object-' + name\n      });\n      return placeHolder;\n    };\n    var createPreviewIframeNode = function (editor, node) {\n      var previewWrapper;\n      var previewNode;\n      var shimNode;\n      var name = node.name;\n      previewWrapper = new global$8('span', 1);\n      previewWrapper.attr({\n        'contentEditable': 'false',\n        'style': node.attr('style'),\n        'data-mce-object': name,\n        'class': 'mce-preview-object mce-object-' + name\n      });\n      retainAttributesAndInnerHtml(editor, node, previewWrapper);\n      previewNode = new global$8(name, 1);\n      previewNode.attr({\n        src: node.attr('src'),\n        allowfullscreen: node.attr('allowfullscreen'),\n        style: node.attr('style'),\n        class: node.attr('class'),\n        width: node.attr('width'),\n        height: node.attr('height'),\n        frameborder: '0'\n      });\n      shimNode = new global$8('span', 1);\n      shimNode.attr('class', 'mce-shim');\n      previewWrapper.append(previewNode);\n      previewWrapper.append(shimNode);\n      return previewWrapper;\n    };\n    var retainAttributesAndInnerHtml = function (editor, sourceNode, targetNode) {\n      var attrName;\n      var attrValue;\n      var attribs;\n      var ai;\n      var innerHtml;\n      attribs = sourceNode.attributes;\n      ai = attribs.length;\n      while (ai--) {\n        attrName = attribs[ai].name;\n        attrValue = attribs[ai].value;\n        if (attrName !== 'width' && attrName !== 'height' && attrName !== 'style') {\n          if (attrName === 'data' || attrName === 'src') {\n            attrValue = editor.convertURL(attrValue, attrName);\n          }\n          targetNode.attr('data-mce-p-' + attrName, attrValue);\n        }\n      }\n      innerHtml = sourceNode.firstChild && sourceNode.firstChild.value;\n      if (innerHtml) {\n        targetNode.attr('data-mce-html', escape(Sanitize.sanitize(editor, innerHtml)));\n        targetNode.firstChild = null;\n      }\n    };\n    var isWithinEphoxEmbed = function (node) {\n      while (node = node.parent) {\n        if (node.attr('data-ephox-embed-iri')) {\n          return true;\n        }\n      }\n      return false;\n    };\n    var placeHolderConverter = function (editor) {\n      return function (nodes) {\n        var i = nodes.length;\n        var node;\n        var videoScript;\n        while (i--) {\n          node = nodes[i];\n          if (!node.parent) {\n            continue;\n          }\n          if (node.parent.attr('data-mce-object')) {\n            continue;\n          }\n          if (node.name === 'script') {\n            videoScript = VideoScript.getVideoScriptMatch(Settings.getScripts(editor), node.attr('src'));\n            if (!videoScript) {\n              continue;\n            }\n          }\n          if (videoScript) {\n            if (videoScript.width) {\n              node.attr('width', videoScript.width.toString());\n            }\n            if (videoScript.height) {\n              node.attr('height', videoScript.height.toString());\n            }\n          }\n          if (node.name === 'iframe' && Settings.hasLiveEmbeds(editor) && global$1.ceFalse) {\n            if (!isWithinEphoxEmbed(node)) {\n              node.replace(createPreviewIframeNode(editor, node));\n            }\n          } else {\n            if (!isWithinEphoxEmbed(node)) {\n              node.replace(createPlaceholderNode(editor, node));\n            }\n          }\n        }\n      };\n    };\n    var Nodes = {\n      createPreviewIframeNode: createPreviewIframeNode,\n      createPlaceholderNode: createPlaceholderNode,\n      placeHolderConverter: placeHolderConverter\n    };\n\n    var setup = function (editor) {\n      editor.on('preInit', function () {\n        var specialElements = editor.schema.getSpecialElements();\n        global$2.each('video audio iframe object'.split(' '), function (name) {\n          specialElements[name] = new RegExp('</' + name + '[^>]*>', 'gi');\n        });\n        var boolAttrs = editor.schema.getBoolAttrs();\n        global$2.each('webkitallowfullscreen mozallowfullscreen allowfullscreen'.split(' '), function (name) {\n          boolAttrs[name] = {};\n        });\n        editor.parser.addNodeFilter('iframe,video,audio,object,embed,script', Nodes.placeHolderConverter(editor));\n        editor.serializer.addAttributeFilter('data-mce-object', function (nodes, name) {\n          var i = nodes.length;\n          var node;\n          var realElm;\n          var ai;\n          var attribs;\n          var innerHtml;\n          var innerNode;\n          var realElmName;\n          var className;\n          while (i--) {\n            node = nodes[i];\n            if (!node.parent) {\n              continue;\n            }\n            realElmName = node.attr(name);\n            realElm = new global$8(realElmName, 1);\n            if (realElmName !== 'audio' && realElmName !== 'script') {\n              className = node.attr('class');\n              if (className && className.indexOf('mce-preview-object') !== -1) {\n                realElm.attr({\n                  width: node.firstChild.attr('width'),\n                  height: node.firstChild.attr('height')\n                });\n              } else {\n                realElm.attr({\n                  width: node.attr('width'),\n                  height: node.attr('height')\n                });\n              }\n            }\n            realElm.attr({ style: node.attr('style') });\n            attribs = node.attributes;\n            ai = attribs.length;\n            while (ai--) {\n              var attrName = attribs[ai].name;\n              if (attrName.indexOf('data-mce-p-') === 0) {\n                realElm.attr(attrName.substr(11), attribs[ai].value);\n              }\n            }\n            if (realElmName === 'script') {\n              realElm.attr('type', 'text/javascript');\n            }\n            innerHtml = node.attr('data-mce-html');\n            if (innerHtml) {\n              innerNode = new global$8('#text', 3);\n              innerNode.raw = true;\n              innerNode.value = Sanitize.sanitize(editor, unescape(innerHtml));\n              realElm.append(innerNode);\n            }\n            node.replace(realElm);\n          }\n        });\n      });\n      editor.on('setContent', function () {\n        editor.$('span.mce-preview-object').each(function (index, elm) {\n          var $elm = editor.$(elm);\n          if ($elm.find('span.mce-shim', elm).length === 0) {\n            $elm.append('<span class=\"mce-shim\"></span>');\n          }\n        });\n      });\n    };\n    var FilterContent = { setup: setup };\n\n    var setup$1 = function (editor) {\n      editor.on('ResolveName', function (e) {\n        var name;\n        if (e.target.nodeType === 1 && (name = e.target.getAttribute('data-mce-object'))) {\n          e.name = name;\n        }\n      });\n    };\n    var ResolveName = { setup: setup$1 };\n\n    var setup$2 = function (editor) {\n      editor.on('click keyup', function () {\n        var selectedNode = editor.selection.getNode();\n        if (selectedNode && editor.dom.hasClass(selectedNode, 'mce-preview-object')) {\n          if (editor.dom.getAttrib(selectedNode, 'data-mce-selected')) {\n            selectedNode.setAttribute('data-mce-selected', '2');\n          }\n        }\n      });\n      editor.on('ObjectSelected', function (e) {\n        var objectType = e.target.getAttribute('data-mce-object');\n        if (objectType === 'audio' || objectType === 'script') {\n          e.preventDefault();\n        }\n      });\n      editor.on('objectResized', function (e) {\n        var target = e.target;\n        var html;\n        if (target.getAttribute('data-mce-object')) {\n          html = target.getAttribute('data-mce-html');\n          if (html) {\n            html = unescape(html);\n            target.setAttribute('data-mce-html', escape(UpdateHtml.updateHtml(html, {\n              width: e.width,\n              height: e.height\n            })));\n          }\n        }\n      });\n    };\n    var Selection = { setup: setup$2 };\n\n    var register$1 = function (editor) {\n      editor.addButton('media', {\n        tooltip: 'Insert/edit media',\n        cmd: 'mceMedia',\n        stateSelector: [\n          'img[data-mce-object]',\n          'span[data-mce-object]',\n          'div[data-ephox-embed-iri]'\n        ]\n      });\n      editor.addMenuItem('media', {\n        icon: 'media',\n        text: 'Media',\n        cmd: 'mceMedia',\n        context: 'insert',\n        prependToContext: true\n      });\n    };\n    var Buttons = { register: register$1 };\n\n    global.add('media', function (editor) {\n      Commands.register(editor);\n      Buttons.register(editor);\n      ResolveName.setup(editor);\n      FilterContent.setup(editor);\n      Selection.setup(editor);\n      return Api.get(editor);\n    });\n    function Plugin () {\n    }\n\n    return Plugin;\n\n}());\n})();\n\n}.call(window));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/tinymce/plugins/media/plugin.js\n// module id = jUW6NcSBGv\n// module chunks = 2 3 28 35 44 54 73 85 102","#\n# Copyright (C) 2013 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  'jquery'\n  'i18n!assignments'\n  '../../util/round'\n  'jsx/shared/helpers/numberHelper'\n  'underscore'\n  '../DialogFormView'\n  'jst/EmptyDialogFormWrapper'\n  'jst/assignments/AssignmentSettings'\n], ($, I18n, round, numberHelper, _, DialogFormView, wrapper, assignmentSettingsTemplate) ->\n\n  class AssignmentSettingsView extends DialogFormView\n    template: assignmentSettingsTemplate\n    wrapperTemplate: wrapper\n\n    defaults:\n      width: 450\n      height: 500\n      collapsedHeight: 300\n\n    events: _.extend({}, @::events,\n      'click .dialog_closer': 'cancel'\n      'click #apply_assignment_group_weights': 'toggleTableByClick'\n      'keyup .group_weight_value': 'updateTotalWeight'\n    )\n\n    @optionProperty 'assignmentGroups'\n    @optionProperty 'weightsView'\n    @optionProperty 'userIsAdmin'\n\n    initialize: ->\n      super\n      @weights = []\n\n    validateFormData: ->\n      errors = {}\n      weights = @$el.find('.group_weight_value')\n      _.each weights, (weight) =>\n        weight_value = $(weight).val()\n        field_selector = weight.getAttribute(\"name\")\n        if (weight_value && isNaN(numberHelper.parse(weight_value)))\n          errors[field_selector] = [{type: 'number', message: I18n.t(\"Must be a valid number\")}]\n      errors\n\n    openAgain: ->\n      super\n      @toggleTableByModel()\n      @addAssignmentGroups()\n\n    canChangeWeights: ->\n      @userIsAdmin or !_.any @assignmentGroups.models, (ag) ->\n        ag.anyAssignmentInClosedGradingPeriod()\n\n    submit: (event) ->\n      if @canChangeWeights()\n        super(event)\n      else\n        event?.preventDefault()\n\n    saveFormData: (data=null) ->\n      for v in @weights\n        new_weight = v.findWeight()\n        v.model.set('group_weight', new_weight)\n        v.model.save()\n      super(data)\n\n    cancel: ->\n      if @canChangeWeights()\n        @close()\n\n    onSaveSuccess: ->\n      super\n      @assignmentGroups.trigger 'change:groupWeights'\n      checked = @model.get('apply_assignment_group_weights')\n      @trigger('weightedToggle', checked)\n\n    toggleTableByModel: ->\n      checked = @model.get('apply_assignment_group_weights')\n      @toggleWeightsTable(checked)\n\n    toggleTableByClick: (e) ->\n      if @canChangeWeights()\n        checked = $(e.currentTarget).is(':checked')\n        @toggleWeightsTable(checked)\n      else\n        e.preventDefault()\n\n    toggleWeightsTable: (show) ->\n      if show\n        @$('#ag_weights_wrapper').show()\n        @$('#apply_assignment_group_weights').prop('checked', true)\n        @setDimensions(null, @defaults.height)\n      else\n        @$('#ag_weights_wrapper').hide()\n        @$('#apply_assignment_group_weights').prop('checked', false)\n        @setDimensions(null, @defaults.collapsedHeight)\n\n    addAssignmentGroups: ->\n      @clearWeights()\n      canChangeWeights = @canChangeWeights()\n      total_weight = 0\n      for model in @assignmentGroups.models\n        #create view\n        v = new @weightsView {model, canChangeWeights: canChangeWeights}\n        v.render()\n        #add to table\n        @$el.find('#assignment_groups_weights tbody').append(v.el)\n        @weights.push v\n        #sum group weights\n        total_weight += model.get('group_weight') || 0\n      total_weight = round(total_weight,2)\n\n      @$el.find('#percent_total').text(I18n.n(total_weight, { percentage: true }))\n\n    clearWeights: ->\n      @weights = []\n      @$el.find('#assignment_groups_weights tbody').empty()\n\n    updateTotalWeight: ->\n      total_weight = 0\n      for v in @weights\n        total_weight += v.findWeight() || 0\n      total_weight = round(total_weight,2)\n      @$el.find('#percent_total').text(I18n.n(total_weight, { percentage: true }))\n\n    toJSON: ->\n      data = super\n      data.course\n      data.canChangeWeights = @canChangeWeights()\n      data\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/views/assignments/AssignmentSettingsView.coffee","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"loading_bde52856\":\"يتم الآن التحميل...\"},\"cy\":{\"loading_bde52856\":\"Wrthi’n llwytho\"},\"da\":{\"loading_bde52856\":\"Indlæser\"},\"da-x-k12\":{\"loading_bde52856\":\"Indlæser\"},\"de\":{\"loading_bde52856\":\"Wird geladen\"},\"el\":{\"loading_bde52856\":\"Φόρτωση\"},\"en-AU\":{\"loading_bde52856\":\"Loading\"},\"en-CA\":{\"loading_bde52856\":\"Loading\"},\"en-GB\":{\"loading_bde52856\":\"Loading\"},\"en-GB-x-lbs\":{\"loading_bde52856\":\"Loading\"},\"en-GB-x-ukhe\":{\"loading_bde52856\":\"Loading\"},\"es\":{\"loading_bde52856\":\"Cargando\"},\"fa\":{\"loading_bde52856\":\"در حال بارگذاری\"},\"fr\":{\"loading_bde52856\":\"En cours de chargement\"},\"fr-CA\":{\"loading_bde52856\":\"Chargement\"},\"he\":{\"loading_bde52856\":\"טוען\"},\"ht\":{\"loading_bde52856\":\"Chajman\"},\"hu\":{\"loading_bde52856\":\"Töltődik\"},\"hy\":{\"loading_bde52856\":\"Բեռնում է\"},\"is\":{\"loading_bde52856\":\"Sæki\"},\"it\":{\"loading_bde52856\":\"Caricamento in corso\"},\"ja\":{\"loading_bde52856\":\"読み込み中\"},\"mi\":{\"loading_bde52856\":\"E tukuake ana\"},\"nb\":{\"loading_bde52856\":\"Laster\"},\"nb-x-k12\":{\"loading_bde52856\":\"Laster\"},\"nl\":{\"loading_bde52856\":\"Bezig met laden...\"},\"nn\":{\"loading_bde52856\":\"Lastar\"},\"pl\":{\"loading_bde52856\":\"Trwa ładowanie\"},\"pt\":{\"loading_bde52856\":\"Carregando\"},\"pt-BR\":{\"loading_bde52856\":\"Carregando\"},\"ru\":{\"loading_bde52856\":\"Загрузка\"},\"sl\":{\"loading_bde52856\":\"Nalaganje\"},\"sv\":{\"loading_bde52856\":\"Laddar\"},\"sv-x-k12\":{\"loading_bde52856\":\"Laddar\"},\"tr\":{\"loading_bde52856\":\"Yükleniyor\"},\"uk\":{\"loading_bde52856\":\"Завантаження\"},\"zh-Hans\":{\"loading_bde52856\":\"加载\"},\"zh-Hant\":{\"loading_bde52856\":\"正在載入\"}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/spinner.js\n// module id = ka09gX1swn\n// module chunks = 54","\n    define(['i18nObj', 'translations/assignments', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('assignments')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?assignments!./public/javascripts/dummyI18nResource.js\n// module id = keVy46qfCB\n// module chunks = 27 32 37 39 40 44 45 51 54 55 62 73 77 79 81 92 181","/*\n * Copyright (C) 2017 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport I18n from 'i18n!move_item_tray'\nimport axios from 'axios'\nimport React from 'react'\nimport { string, func, arrayOf } from 'prop-types'\nimport Tray from '@instructure/ui-overlays/lib/components/Tray'\nimport Heading from '@instructure/ui-elements/lib/components/Heading'\nimport View from '@instructure/ui-layout/lib/components/View'\nimport CloseButton from '@instructure/ui-buttons/lib/components/CloseButton'\n\nimport { showFlashError } from '../shared/FlashAlert'\nimport { itemShape, moveOptionsType } from './propTypes'\nimport MoveSelect from './MoveSelect'\n\nexport default class MoveItemTray extends React.Component {\n  static propTypes = {\n    title: string,\n    items: arrayOf(itemShape).isRequired,\n    moveOptions: moveOptionsType.isRequired,\n    focusOnExit: func,\n    formatSaveUrl: func,\n    formatSaveData: func,\n    onMoveSuccess: func,\n    onExited: func,\n  }\n\n  static defaultProps = {\n    title: I18n.t('Move To'),\n    focusOnExit: () => null,\n    formatSaveUrl: () => null,\n    formatSaveData: (order) => ({ order: order.join(',') }),\n    onExited: () => {},\n    onMoveSuccess: () => {},\n  }\n\n  state = {\n    open: true,\n  }\n\n  onExited = () => {\n    setTimeout(() => {\n      const focusTo = this.props.focusOnExit(this.props.items[0])\n      if (focusTo) focusTo.focus()\n    })\n    if (this.props.onExited) this.props.onExited()\n  }\n\n  onMoveSelect = ({ order, itemId, groupId, itemIds }) => {\n    const saveUrl = this.props.formatSaveUrl({ itemId, groupId })\n    const promise = saveUrl\n                  ? axios.post(saveUrl, this.props.formatSaveData(order))\n                  : Promise.resolve({ data: order })\n    promise.then(res => {\n      this.props.onMoveSuccess({ data: res.data, groupId, itemId, itemIds })\n      this.close()\n    })\n    .catch(showFlashError(I18n.t('Move Item Failed')))\n  }\n\n  open = () => {\n    this.setState({ open: true })\n  }\n\n  close = () => {\n    this.setState({ open: false })\n  }\n\n  render () {\n    return (\n      <Tray\n        label={this.props.title}\n        open={this.state.open}\n        onDismiss={this.close}\n        onExited={this.onExited}\n        placement=\"end\"\n        closeButtonVariant=\"icon\"\n        shouldContainFocus\n      >\n        <CloseButton placement=\"start\" onClick={this.close}>\n          {I18n.t('close move tray')}\n        </CloseButton>\n        <Heading margin=\"small xx-large\" level=\"h4\" as=\"h2\">\n          {this.props.title}\n        </Heading>\n        <View display=\"block\" padding=\"medium medium large\">\n          <MoveSelect\n            items={this.props.items}\n            moveOptions={this.props.moveOptions}\n            onSelect={this.onMoveSelect}\n            onClose={this.close}\n          />\n        </View>\n      </Tray>\n    )\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/jsx/move_item/MoveItemTray.js","\n    define(['i18nObj', 'translations/assignments.date_available_column_view', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('assignments.date_available_column_view')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?assignments.date_available_column_view!./public/javascripts/dummyI18nResource.js\n// module id = lDeUlEkHaH\n// module chunks = 54 73","\n    define('jst/assignments/AssignmentSyncSettings', [\"handlebars/runtime\",\"i18n!assignments.assignment_sync_settings\",\"coffeescripts/handlebars_helpers.coffee\"], function(Handlebars){\n      Handlebars = Handlebars.default\n      var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};\n      var name = 'assignments/AssignmentSyncSettings';\n      templates[name] = template(function (Handlebars,depth0,helpers,partials,data) {\n  this.compilerInfo = [4,'>= 1.0.0'];\nhelpers = this.merge(helpers, Handlebars.helpers); data = data || {};\n  var buffer = \"\", helper, options, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression;\n\n\n  buffer += \"<div class=\\\"form-dialog-content sync-to-sis-message-content\\\">\\n  <span class=\\\"disable-sync-to-sis-message\\\">\\n    \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'sisName': ((depth0 && depth0.sisName)),\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\", \"Are you sure you want to disable Sync to %{sisName} for all assignments?\", options) : helperMissing.call(depth0, \"t\", \"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\", \"Are you sure you want to disable Sync to %{sisName} for all assignments?\", options)))\n    + \"\\n  </span>\\n</div>\\n\\n<div class=\\\"form-controls\\\">\\n  <button\\n    id=\\\"cancel-assignment-settings\\\"\\n    class=\\\"btn dialog_closer\\\"\\n    type=\\\"button\\\"\\n  >\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"cancel_caeb1e68\", \"Cancel\", options) : helperMissing.call(depth0, \"t\", \"cancel_caeb1e68\", \"Cancel\", options)))\n    + \"</button>\\n  <button\\n    id=\\\"update-assignment-settings\\\"\\n    class=\\\"btn btn-primary\\\"\\n    data-text-while-loading='\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"disabling_f594bda\", \"Disabling...\", options) : helperMissing.call(depth0, \"t\", \"disabling_f594bda\", \"Disabling...\", options)))\n    + \"'\\n    type=\\\"submit\\\"\\n  >\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"disable_a5c05db3\", \"Disable\", options) : helperMissing.call(depth0, \"t\", \"disable_a5c05db3\", \"Disable\", options)))\n    + \"</button>\\n</div>\\n\";\n  return buffer;\n  });\n      ;\n      ;\n      return templates[name];\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./app/views/jst/assignments/AssignmentSyncSettings.handlebars\n// module id = lFIKABEWux\n// module chunks = 54","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = generator;\n\nvar _color = require(\"@instructure/ui-themeable/lib/utils/color\");\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nfunction generator(_ref) {\n  var colors = _ref.colors,\n      borders = _ref.borders,\n      typography = _ref.typography,\n      forms = _ref.forms,\n      spacing = _ref.spacing;\n  return {\n    borderTopColor: colors.borderMedium,\n    borderRightColor: colors.borderMedium,\n    borderBottomColor: colors.borderMedium,\n    borderLeftColor: colors.borderMedium,\n    borderWidth: borders.widthSmall,\n    borderStyle: borders.style,\n    borderRadius: borders.radiusMedium,\n    background: colors.backgroundLightest,\n    color: colors.textDarkest,\n    fontFamily: typography.fontFamily,\n    fontWeight: typography.fontWeightNormal,\n    padding: spacing.small,\n    arrowColor: colors.textDarkest,\n    smallHeight: forms.inputHeightSmall,\n    smallFontSize: typography.fontSizeSmall,\n    smallArrowWidth: '0.75rem',\n    mediumHeight: forms.inputHeightMedium,\n    mediumFontSize: typography.fontSizeMedium,\n    mediumArrowWidth: '0.875rem',\n    largeHeight: forms.inputHeightLarge,\n    largeFontSize: typography.fontSizeLarge,\n    largeArrowWidth: '1rem',\n    focusBorderColor: colors.borderBrand,\n    focusOutlineColor: (0, _color.alpha)(colors.borderBrand, 50),\n    errorBorderColor: colors.borderDanger,\n    errorOutlineColor: (0, _color.alpha)(colors.borderDanger, 50)\n  };\n}\n\ngenerator.canvas = function (variables) {\n  return {\n    color: variables['ic-brand-font-color-dark'],\n    arrowColor: variables['ic-brand-font-color-dark'],\n    focusBorderColor: variables['ic-brand-primary'],\n    focusOutlineColor: (0, _color.alpha)(variables['ic-brand-primary'], 50)\n  };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@instructure/ui-core/lib/components/Select/theme.js\n// module id = lWzAT8rFHy\n// module chunks = 2 3 13 28 31 32 33 36 39 43 49 51 54 58 59 64 67 70 102 125","\n    define(['i18nObj', 'translations/assignments.available_date_description', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('assignments.available_date_description')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?assignments.available_date_description!./public/javascripts/dummyI18nResource.js\n// module id = lnp+JFVxWO\n// module chunks = 54 73","/*** IMPORTS FROM imports-loader ***/\n(function() {\n\n(function () {\nvar link = (function () {\n    'use strict';\n\n    var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.util.VK');\n\n    var assumeExternalTargets = function (editorSettings) {\n      return typeof editorSettings.link_assume_external_targets === 'boolean' ? editorSettings.link_assume_external_targets : false;\n    };\n    var hasContextToolbar = function (editorSettings) {\n      return typeof editorSettings.link_context_toolbar === 'boolean' ? editorSettings.link_context_toolbar : false;\n    };\n    var getLinkList = function (editorSettings) {\n      return editorSettings.link_list;\n    };\n    var hasDefaultLinkTarget = function (editorSettings) {\n      return typeof editorSettings.default_link_target === 'string';\n    };\n    var getDefaultLinkTarget = function (editorSettings) {\n      return editorSettings.default_link_target;\n    };\n    var getTargetList = function (editorSettings) {\n      return editorSettings.target_list;\n    };\n    var setTargetList = function (editor, list) {\n      editor.settings.target_list = list;\n    };\n    var shouldShowTargetList = function (editorSettings) {\n      return getTargetList(editorSettings) !== false;\n    };\n    var getRelList = function (editorSettings) {\n      return editorSettings.rel_list;\n    };\n    var hasRelList = function (editorSettings) {\n      return getRelList(editorSettings) !== undefined;\n    };\n    var getLinkClassList = function (editorSettings) {\n      return editorSettings.link_class_list;\n    };\n    var hasLinkClassList = function (editorSettings) {\n      return getLinkClassList(editorSettings) !== undefined;\n    };\n    var shouldShowLinkTitle = function (editorSettings) {\n      return editorSettings.link_title !== false;\n    };\n    var allowUnsafeLinkTarget = function (editorSettings) {\n      return typeof editorSettings.allow_unsafe_link_target === 'boolean' ? editorSettings.allow_unsafe_link_target : false;\n    };\n    var Settings = {\n      assumeExternalTargets: assumeExternalTargets,\n      hasContextToolbar: hasContextToolbar,\n      getLinkList: getLinkList,\n      hasDefaultLinkTarget: hasDefaultLinkTarget,\n      getDefaultLinkTarget: getDefaultLinkTarget,\n      getTargetList: getTargetList,\n      setTargetList: setTargetList,\n      shouldShowTargetList: shouldShowTargetList,\n      getRelList: getRelList,\n      hasRelList: hasRelList,\n      getLinkClassList: getLinkClassList,\n      hasLinkClassList: hasLinkClassList,\n      shouldShowLinkTitle: shouldShowLinkTitle,\n      allowUnsafeLinkTarget: allowUnsafeLinkTarget\n    };\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.Env');\n\n    var appendClickRemove = function (link, evt) {\n      document.body.appendChild(link);\n      link.dispatchEvent(evt);\n      document.body.removeChild(link);\n    };\n    var open$$1 = function (url) {\n      if (!global$3.ie || global$3.ie > 10) {\n        var link = document.createElement('a');\n        link.target = '_blank';\n        link.href = url;\n        link.rel = 'noreferrer noopener';\n        var evt = document.createEvent('MouseEvents');\n        evt.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);\n        appendClickRemove(link, evt);\n      } else {\n        var win = window.open('', '_blank');\n        if (win) {\n          win.opener = null;\n          var doc = win.document;\n          doc.open();\n          doc.write('<meta http-equiv=\"refresh\" content=\"0; url=' + global$2.DOM.encode(url) + '\">');\n          doc.close();\n        }\n      }\n    };\n    var OpenUrl = { open: open$$1 };\n\n    var global$4 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    var toggleTargetRules = function (rel, isUnsafe) {\n      var rules = ['noopener'];\n      var newRel = rel ? rel.split(/\\s+/) : [];\n      var toString = function (rel) {\n        return global$4.trim(rel.sort().join(' '));\n      };\n      var addTargetRules = function (rel) {\n        rel = removeTargetRules(rel);\n        return rel.length ? rel.concat(rules) : rules;\n      };\n      var removeTargetRules = function (rel) {\n        return rel.filter(function (val) {\n          return global$4.inArray(rules, val) === -1;\n        });\n      };\n      newRel = isUnsafe ? addTargetRules(newRel) : removeTargetRules(newRel);\n      return newRel.length ? toString(newRel) : null;\n    };\n    var trimCaretContainers = function (text) {\n      return text.replace(/\\uFEFF/g, '');\n    };\n    var getAnchorElement = function (editor, selectedElm) {\n      selectedElm = selectedElm || editor.selection.getNode();\n      if (isImageFigure(selectedElm)) {\n        return editor.dom.select('a[href]', selectedElm)[0];\n      } else {\n        return editor.dom.getParent(selectedElm, 'a[href]');\n      }\n    };\n    var getAnchorText = function (selection, anchorElm) {\n      var text = anchorElm ? anchorElm.innerText || anchorElm.textContent : selection.getContent({ format: 'text' });\n      return trimCaretContainers(text);\n    };\n    var isLink = function (elm) {\n      return elm && elm.nodeName === 'A' && elm.href;\n    };\n    var hasLinks = function (elements) {\n      return global$4.grep(elements, isLink).length > 0;\n    };\n    var isOnlyTextSelected = function (html) {\n      if (/</.test(html) && (!/^<a [^>]+>[^<]+<\\/a>$/.test(html) || html.indexOf('href=') === -1)) {\n        return false;\n      }\n      return true;\n    };\n    var isImageFigure = function (node) {\n      return node && node.nodeName === 'FIGURE' && /\\bimage\\b/i.test(node.className);\n    };\n    var link = function (editor, attachState) {\n      return function (data) {\n        editor.undoManager.transact(function () {\n          var selectedElm = editor.selection.getNode();\n          var anchorElm = getAnchorElement(editor, selectedElm);\n          var linkAttrs = {\n            href: data.href,\n            target: data.target ? data.target : null,\n            rel: data.rel ? data.rel : null,\n            class: data.class ? data.class : null,\n            title: data.title ? data.title : null\n          };\n          if (!Settings.hasRelList(editor.settings) && Settings.allowUnsafeLinkTarget(editor.settings) === false) {\n            linkAttrs.rel = toggleTargetRules(linkAttrs.rel, linkAttrs.target === '_blank');\n          }\n          if (data.href === attachState.href) {\n            attachState.attach();\n            attachState = {};\n          }\n          if (anchorElm) {\n            editor.focus();\n            if (data.hasOwnProperty('text')) {\n              if ('innerText' in anchorElm) {\n                anchorElm.innerText = data.text;\n              } else {\n                anchorElm.textContent = data.text;\n              }\n            }\n            editor.dom.setAttribs(anchorElm, linkAttrs);\n            editor.selection.select(anchorElm);\n            editor.undoManager.add();\n          } else {\n            if (isImageFigure(selectedElm)) {\n              linkImageFigure(editor, selectedElm, linkAttrs);\n            } else if (data.hasOwnProperty('text')) {\n              editor.insertContent(editor.dom.createHTML('a', linkAttrs, editor.dom.encode(data.text)));\n            } else {\n              editor.execCommand('mceInsertLink', false, linkAttrs);\n            }\n          }\n        });\n      };\n    };\n    var unlink = function (editor) {\n      return function () {\n        editor.undoManager.transact(function () {\n          var node = editor.selection.getNode();\n          if (isImageFigure(node)) {\n            unlinkImageFigure(editor, node);\n          } else {\n            editor.execCommand('unlink');\n          }\n        });\n      };\n    };\n    var unlinkImageFigure = function (editor, fig) {\n      var a, img;\n      img = editor.dom.select('img', fig)[0];\n      if (img) {\n        a = editor.dom.getParents(img, 'a[href]', fig)[0];\n        if (a) {\n          a.parentNode.insertBefore(img, a);\n          editor.dom.remove(a);\n        }\n      }\n    };\n    var linkImageFigure = function (editor, fig, attrs) {\n      var a, img;\n      img = editor.dom.select('img', fig)[0];\n      if (img) {\n        a = editor.dom.create('a', attrs);\n        img.parentNode.insertBefore(a, img);\n        a.appendChild(img);\n      }\n    };\n    var Utils = {\n      link: link,\n      unlink: unlink,\n      isLink: isLink,\n      hasLinks: hasLinks,\n      isOnlyTextSelected: isOnlyTextSelected,\n      getAnchorElement: getAnchorElement,\n      getAnchorText: getAnchorText,\n      toggleTargetRules: toggleTargetRules\n    };\n\n    var global$5 = tinymce.util.Tools.resolve('tinymce.util.Delay');\n\n    var global$6 = tinymce.util.Tools.resolve('tinymce.util.XHR');\n\n    var attachState = {};\n    var createLinkList = function (editor, callback) {\n      var linkList = Settings.getLinkList(editor.settings);\n      if (typeof linkList === 'string') {\n        global$6.send({\n          url: linkList,\n          success: function (text) {\n            callback(editor, JSON.parse(text));\n          }\n        });\n      } else if (typeof linkList === 'function') {\n        linkList(function (list) {\n          callback(editor, list);\n        });\n      } else {\n        callback(editor, linkList);\n      }\n    };\n    var buildListItems = function (inputList, itemCallback, startItems) {\n      var appendItems = function (values, output) {\n        output = output || [];\n        global$4.each(values, function (item) {\n          var menuItem = { text: item.text || item.title };\n          if (item.menu) {\n            menuItem.menu = appendItems(item.menu);\n          } else {\n            menuItem.value = item.value;\n            if (itemCallback) {\n              itemCallback(menuItem);\n            }\n          }\n          output.push(menuItem);\n        });\n        return output;\n      };\n      return appendItems(inputList, startItems || []);\n    };\n    var delayedConfirm = function (editor, message, callback) {\n      var rng = editor.selection.getRng();\n      global$5.setEditorTimeout(editor, function () {\n        editor.windowManager.confirm(message, function (state) {\n          editor.selection.setRng(rng);\n          callback(state);\n        });\n      });\n    };\n    var showDialog = function (editor, linkList) {\n      var data = {};\n      var selection = editor.selection;\n      var dom = editor.dom;\n      var anchorElm, initialText;\n      var win, onlyText, textListCtrl, linkListCtrl, relListCtrl, targetListCtrl, classListCtrl, linkTitleCtrl, value;\n      var linkListChangeHandler = function (e) {\n        var textCtrl = win.find('#text');\n        if (!textCtrl.value() || e.lastControl && textCtrl.value() === e.lastControl.text()) {\n          textCtrl.value(e.control.text());\n        }\n        win.find('#href').value(e.control.value());\n      };\n      var buildAnchorListControl = function (url) {\n        var anchorList = [];\n        global$4.each(editor.dom.select('a:not([href])'), function (anchor) {\n          var id = anchor.name || anchor.id;\n          if (id) {\n            anchorList.push({\n              text: id,\n              value: '#' + id,\n              selected: url.indexOf('#' + id) !== -1\n            });\n          }\n        });\n        if (anchorList.length) {\n          anchorList.unshift({\n            text: 'None',\n            value: ''\n          });\n          return {\n            name: 'anchor',\n            type: 'listbox',\n            label: 'Anchors',\n            values: anchorList,\n            onselect: linkListChangeHandler\n          };\n        }\n      };\n      var updateText = function () {\n        if (!initialText && onlyText && !data.text) {\n          this.parent().parent().find('#text')[0].value(this.value());\n        }\n      };\n      var urlChange = function (e) {\n        var meta = e.meta || {};\n        if (linkListCtrl) {\n          linkListCtrl.value(editor.convertURL(this.value(), 'href'));\n        }\n        global$4.each(e.meta, function (value, key) {\n          var inp = win.find('#' + key);\n          if (key === 'text') {\n            if (initialText.length === 0) {\n              inp.value(value);\n              data.text = value;\n            }\n          } else {\n            inp.value(value);\n          }\n        });\n        if (meta.attach) {\n          attachState = {\n            href: this.value(),\n            attach: meta.attach\n          };\n        }\n        if (!meta.text) {\n          updateText.call(this);\n        }\n      };\n      var onBeforeCall = function (e) {\n        e.meta = win.toJSON();\n      };\n      onlyText = Utils.isOnlyTextSelected(selection.getContent());\n      anchorElm = Utils.getAnchorElement(editor);\n      data.text = initialText = Utils.getAnchorText(editor.selection, anchorElm);\n      data.href = anchorElm ? dom.getAttrib(anchorElm, 'href') : '';\n      if (anchorElm) {\n        data.target = dom.getAttrib(anchorElm, 'target');\n      } else if (Settings.hasDefaultLinkTarget(editor.settings)) {\n        data.target = Settings.getDefaultLinkTarget(editor.settings);\n      }\n      if (value = dom.getAttrib(anchorElm, 'rel')) {\n        data.rel = value;\n      }\n      if (value = dom.getAttrib(anchorElm, 'class')) {\n        data.class = value;\n      }\n      if (value = dom.getAttrib(anchorElm, 'title')) {\n        data.title = value;\n      }\n      if (onlyText) {\n        textListCtrl = {\n          name: 'text',\n          type: 'textbox',\n          size: 40,\n          label: 'Text to display',\n          onchange: function () {\n            data.text = this.value();\n          }\n        };\n      }\n      if (linkList) {\n        linkListCtrl = {\n          type: 'listbox',\n          label: 'Link list',\n          values: buildListItems(linkList, function (item) {\n            item.value = editor.convertURL(item.value || item.url, 'href');\n          }, [{\n              text: 'None',\n              value: ''\n            }]),\n          onselect: linkListChangeHandler,\n          value: editor.convertURL(data.href, 'href'),\n          onPostRender: function () {\n            linkListCtrl = this;\n          }\n        };\n      }\n      if (Settings.shouldShowTargetList(editor.settings)) {\n        if (Settings.getTargetList(editor.settings) === undefined) {\n          Settings.setTargetList(editor, [\n            {\n              text: 'None',\n              value: ''\n            },\n            {\n              text: 'New window',\n              value: '_blank'\n            }\n          ]);\n        }\n        targetListCtrl = {\n          name: 'target',\n          type: 'listbox',\n          label: 'Target',\n          values: buildListItems(Settings.getTargetList(editor.settings))\n        };\n      }\n      if (Settings.hasRelList(editor.settings)) {\n        relListCtrl = {\n          name: 'rel',\n          type: 'listbox',\n          label: 'Rel',\n          values: buildListItems(Settings.getRelList(editor.settings), function (item) {\n            if (Settings.allowUnsafeLinkTarget(editor.settings) === false) {\n              item.value = Utils.toggleTargetRules(item.value, data.target === '_blank');\n            }\n          })\n        };\n      }\n      if (Settings.hasLinkClassList(editor.settings)) {\n        classListCtrl = {\n          name: 'class',\n          type: 'listbox',\n          label: 'Class',\n          values: buildListItems(Settings.getLinkClassList(editor.settings), function (item) {\n            if (item.value) {\n              item.textStyle = function () {\n                return editor.formatter.getCssText({\n                  inline: 'a',\n                  classes: [item.value]\n                });\n              };\n            }\n          })\n        };\n      }\n      if (Settings.shouldShowLinkTitle(editor.settings)) {\n        linkTitleCtrl = {\n          name: 'title',\n          type: 'textbox',\n          label: 'Title',\n          value: data.title\n        };\n      }\n      win = editor.windowManager.open({\n        title: 'Insert link',\n        data: data,\n        body: [\n          {\n            name: 'href',\n            type: 'filepicker',\n            filetype: 'file',\n            size: 40,\n            autofocus: true,\n            label: 'Url',\n            onchange: urlChange,\n            onkeyup: updateText,\n            onpaste: updateText,\n            onbeforecall: onBeforeCall\n          },\n          textListCtrl,\n          linkTitleCtrl,\n          buildAnchorListControl(data.href),\n          linkListCtrl,\n          relListCtrl,\n          targetListCtrl,\n          classListCtrl\n        ],\n        onSubmit: function (e) {\n          var assumeExternalTargets = Settings.assumeExternalTargets(editor.settings);\n          var insertLink = Utils.link(editor, attachState);\n          var removeLink = Utils.unlink(editor);\n          var resultData = global$4.extend({}, data, e.data);\n          var href = resultData.href;\n          if (!href) {\n            removeLink();\n            return;\n          }\n          if (!onlyText || resultData.text === initialText) {\n            delete resultData.text;\n          }\n          if (href.indexOf('@') > 0 && href.indexOf('//') === -1 && href.indexOf('mailto:') === -1) {\n            delayedConfirm(editor, 'The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?', function (state) {\n              if (state) {\n                resultData.href = 'mailto:' + href;\n              }\n              insertLink(resultData);\n            });\n            return;\n          }\n          if (assumeExternalTargets === true && !/^\\w+:/i.test(href) || assumeExternalTargets === false && /^\\s*www[\\.|\\d\\.]/i.test(href)) {\n            delayedConfirm(editor, 'The URL you entered seems to be an external link. Do you want to add the required http:// prefix?', function (state) {\n              if (state) {\n                resultData.href = 'http://' + href;\n              }\n              insertLink(resultData);\n            });\n            return;\n          }\n          insertLink(resultData);\n        }\n      });\n    };\n    var open$1 = function (editor) {\n      createLinkList(editor, showDialog);\n    };\n    var Dialog = { open: open$1 };\n\n    var getLink = function (editor, elm) {\n      return editor.dom.getParent(elm, 'a[href]');\n    };\n    var getSelectedLink = function (editor) {\n      return getLink(editor, editor.selection.getStart());\n    };\n    var getHref = function (elm) {\n      var href = elm.getAttribute('data-mce-href');\n      return href ? href : elm.getAttribute('href');\n    };\n    var isContextMenuVisible = function (editor) {\n      var contextmenu = editor.plugins.contextmenu;\n      return contextmenu ? contextmenu.isContextMenuVisible() : false;\n    };\n    var hasOnlyAltModifier = function (e) {\n      return e.altKey === true && e.shiftKey === false && e.ctrlKey === false && e.metaKey === false;\n    };\n    var gotoLink = function (editor, a) {\n      if (a) {\n        var href = getHref(a);\n        if (/^#/.test(href)) {\n          var targetEl = editor.$(href);\n          if (targetEl.length) {\n            editor.selection.scrollIntoView(targetEl[0], true);\n          }\n        } else {\n          OpenUrl.open(a.href);\n        }\n      }\n    };\n    var openDialog = function (editor) {\n      return function () {\n        Dialog.open(editor);\n      };\n    };\n    var gotoSelectedLink = function (editor) {\n      return function () {\n        gotoLink(editor, getSelectedLink(editor));\n      };\n    };\n    var leftClickedOnAHref = function (editor) {\n      return function (elm) {\n        var sel, rng, node;\n        if (Settings.hasContextToolbar(editor.settings) && !isContextMenuVisible(editor) && Utils.isLink(elm)) {\n          sel = editor.selection;\n          rng = sel.getRng();\n          node = rng.startContainer;\n          if (node.nodeType === 3 && sel.isCollapsed() && rng.startOffset > 0 && rng.startOffset < node.data.length) {\n            return true;\n          }\n        }\n        return false;\n      };\n    };\n    var setupGotoLinks = function (editor) {\n      editor.on('click', function (e) {\n        var link = getLink(editor, e.target);\n        if (link && global$1.metaKeyPressed(e)) {\n          e.preventDefault();\n          gotoLink(editor, link);\n        }\n      });\n      editor.on('keydown', function (e) {\n        var link = getSelectedLink(editor);\n        if (link && e.keyCode === 13 && hasOnlyAltModifier(e)) {\n          e.preventDefault();\n          gotoLink(editor, link);\n        }\n      });\n    };\n    var toggleActiveState = function (editor) {\n      return function () {\n        var self = this;\n        editor.on('nodechange', function (e) {\n          self.active(!editor.readonly && !!Utils.getAnchorElement(editor, e.element));\n        });\n      };\n    };\n    var toggleViewLinkState = function (editor) {\n      return function () {\n        var self = this;\n        var toggleVisibility = function (e) {\n          if (Utils.hasLinks(e.parents)) {\n            self.show();\n          } else {\n            self.hide();\n          }\n        };\n        if (!Utils.hasLinks(editor.dom.getParents(editor.selection.getStart()))) {\n          self.hide();\n        }\n        editor.on('nodechange', toggleVisibility);\n        self.on('remove', function () {\n          editor.off('nodechange', toggleVisibility);\n        });\n      };\n    };\n    var Actions = {\n      openDialog: openDialog,\n      gotoSelectedLink: gotoSelectedLink,\n      leftClickedOnAHref: leftClickedOnAHref,\n      setupGotoLinks: setupGotoLinks,\n      toggleActiveState: toggleActiveState,\n      toggleViewLinkState: toggleViewLinkState\n    };\n\n    var register = function (editor) {\n      editor.addCommand('mceLink', Actions.openDialog(editor));\n    };\n    var Commands = { register: register };\n\n    var setup = function (editor) {\n      editor.addShortcut('Meta+K', '', Actions.openDialog(editor));\n    };\n    var Keyboard = { setup: setup };\n\n    var setupButtons = function (editor) {\n      editor.addButton('link', {\n        active: false,\n        icon: 'link',\n        tooltip: 'Insert/edit link',\n        onclick: Actions.openDialog(editor),\n        onpostrender: Actions.toggleActiveState(editor)\n      });\n      editor.addButton('unlink', {\n        active: false,\n        icon: 'unlink',\n        tooltip: 'Remove link',\n        onclick: Utils.unlink(editor),\n        onpostrender: Actions.toggleActiveState(editor)\n      });\n      if (editor.addContextToolbar) {\n        editor.addButton('openlink', {\n          icon: 'newtab',\n          tooltip: 'Open link',\n          onclick: Actions.gotoSelectedLink(editor)\n        });\n      }\n    };\n    var setupMenuItems = function (editor) {\n      editor.addMenuItem('openlink', {\n        text: 'Open link',\n        icon: 'newtab',\n        onclick: Actions.gotoSelectedLink(editor),\n        onPostRender: Actions.toggleViewLinkState(editor),\n        prependToContext: true\n      });\n      editor.addMenuItem('link', {\n        icon: 'link',\n        text: 'Link',\n        shortcut: 'Meta+K',\n        onclick: Actions.openDialog(editor),\n        stateSelector: 'a[href]',\n        context: 'insert',\n        prependToContext: true\n      });\n      editor.addMenuItem('unlink', {\n        icon: 'unlink',\n        text: 'Remove link',\n        onclick: Utils.unlink(editor),\n        stateSelector: 'a[href]'\n      });\n    };\n    var setupContextToolbars = function (editor) {\n      if (editor.addContextToolbar) {\n        editor.addContextToolbar(Actions.leftClickedOnAHref(editor), 'openlink | link unlink');\n      }\n    };\n    var Controls = {\n      setupButtons: setupButtons,\n      setupMenuItems: setupMenuItems,\n      setupContextToolbars: setupContextToolbars\n    };\n\n    global.add('link', function (editor) {\n      Controls.setupButtons(editor);\n      Controls.setupMenuItems(editor);\n      Controls.setupContextToolbars(editor);\n      Actions.setupGotoLinks(editor);\n      Commands.register(editor);\n      Keyboard.setup(editor);\n    });\n    function Plugin () {\n    }\n\n    return Plugin;\n\n}());\n})();\n\n}.call(window));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/tinymce/plugins/link/plugin.js\n// module id = m/OWov42EY\n// module chunks = 2 3 28 35 44 54 73 85 102","/*\n * Copyright (C) 2015 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport React from 'react'\n\nexport default class ModalContent extends React.Component {\n  static displayName = 'ModalContent'\n\n  static defaultProps = {\n    className: 'ReactModal__Body',\n    style: {}\n  }\n\n  render() {\n    return (\n      <div className={this.props.className} style={this.props.style}>\n        {this.props.children}\n      </div>\n    )\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/jsx/shared/modal-content.js","#\n# Copyright (C) 2013 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  'Backbone'\n  'jquery'\n  'underscore'\n  './CollectionView'\n], (Backbone, $, _, CollectionView) ->\n\n  class DraggableCollectionView extends CollectionView\n\n    # A Backbone Collection of Models that have an array of items (a child collection)\n    @optionProperty 'parentCollection'\n    # The key used to find the child collection\n    @optionProperty 'childKey'\n    # The group's ID\n    @optionProperty 'groupId'\n    # The group's name within the child\n    @optionProperty 'groupKey'\n    # the URL to send reorder updates to\n    @optionProperty 'reorderURL'\n    # the template used to fill empty groups\n    @optionProperty 'noItemTemplate'\n\n    sortOptions:\n      tolerance: 'pointer'\n      opacity: 0.9\n      zIndex: 100\n      connectWith: '.draggable.collectionViewItems'\n      placeholder: 'draggable-dropzone'\n      forcePlaceholderSize: true\n\n    render: (drag=true) ->\n      super\n      @initSort() if drag\n      @\n\n    attachCollection: ->\n      super\n      @collection.on 'add', @_noItemsViewIfEmpty\n\n    initSort: ->\n      @$list.sortable(_.extend({}, @sortOptions, scope: @cid))\n        .on('sortstart', @modifyPlaceholder)\n        .on('sortreceive', @_onReceive)\n        .on('sortupdate', @_updateSort)\n        .on('sortremove', @_noItemsViewIfEmpty)\n      @$list.disableSelection()\n      @_noItemsViewIfEmpty()\n\n    modifyPlaceholder: (e, ui) =>\n      # Prevent the sortstart action from propagating up.\n      e.stopPropagation()\n      $(ui.placeholder).data(\"group\", @groupId)\n\n    # If there are no children within the group,\n    # add the view that is used when there are no items in a group\n    _noItemsViewIfEmpty: =>\n      list = @$list.children()\n      if list.length == 0\n        @insertNoItemView()\n      else\n        @removeNoItemView()\n\n    insertNoItemView: ->\n      @noItems = new Backbone.View\n        template: @noItemTemplate\n        tagName: \"li\"\n        className: \"no-items\"\n      @$list.append(@noItems.render().el)\n\n    removeNoItemView: ->\n      @noItems.remove() if @noItems\n\n    # Find an item without knowing the group it is in\n    searchItem: (itemId) ->\n      chosen = null\n      @parentCollection.find (group) =>\n        assignments = group.get(@childKey)\n        result = assignments.findWhere id: itemId\n        chosen = result if result?\n      chosen\n\n    # Internal: get an item's ID from the ui element\n    # Assumes that the first child DOM element will have the id in the data-item-id attribute\n    _getItemId: (item) ->\n      id = item.children(\":first\").data('item-id')\n      id && String(id)\n\n    # Internal: When an item is moved from one group to another\n    # Assumes that the first child DOM element will have the id of the model in the data-item-id attribute\n    #\n    # e - Event object\n    # ui - jQueryUI object\n    #\n    # Returns nothing.\n    _onReceive: (e, ui) =>\n      item_id = @_getItemId(ui.item)\n      model = @searchItem(item_id)\n      @_removeFromGroup(model)\n      @_addToGroup(model)\n\n    # must explicitly update @empty attribute from CollectionView class so view\n    # will properly recognize if it does/doesn't have items on subsequent\n    # re-renders, since drag & drop doesn't trigger a render\n    _removeFromGroup: (model) ->\n      old_group_id = model.get(@groupKey)\n      old_group = @parentCollection.findWhere id: old_group_id\n      old_children = old_group.get(@childKey)\n      old_children.remove(model, {silent: true})\n      @empty = _.isEmpty(old_children.models)\n\n    _addToGroup: (model) ->\n      model.set(@groupKey, @groupId)\n      new_group = @parentCollection.findWhere id: @groupId\n      new_children = new_group.get(@childKey)\n      new_children.add(model, {silent: true})\n      @empty = false if @empty\n\n    # Internal: On a user's sort action, update the sort order on the server.\n    #\n    # Assumes that the first child DOM element will have the id of the model in the data-item-id attribute\n    #\n    # e - Event object.\n    # ui - jQueryUI object.\n    #\n    # Returns nothing.\n    _updateSort: (e, ui) =>\n      e.stopImmediatePropagation(); #parent sortables won't fire\n\n      # if the ui.item is not still inside the view, we only want to\n      # resort, not save\n      shouldSave = @$(ui.item).length\n      #only save the sorting if this is the group that the item is in (moving to)\n      id = @_getItemId(ui.item)\n      model = @collection.get(id)\n      new_index = ui.item.index()\n\n      models = @updateModels(model, new_index, shouldSave)\n      if shouldSave\n        model.set 'position', new_index + 1\n        @collection.sort()\n        @_sendPositions(@collection.pluck('id'))\n      else\n        # will still have the moved model in the collection for now\n        @collection.sort()\n\n    updateModels: (model, new_index, inView) =>\n      # start at the model's current position because we don't want to include the model in the slice,\n      # we'll update it separately\n      old_pos = model.get('position')\n      if old_pos\n        old_index = old_pos - 1\n\n      movedDown = (old_index < new_index)\n      #figure out how to slice the models\n      slice_args =\n        if !inView\n          #model is being removed so we need to update everything\n          #after it\n          model.unset('position')\n          [old_index]\n        else if not old_pos\n          #model is new so we need to update everything after it\n          [new_index]\n        else if movedDown\n          # moved down so slice from old to new\n          # we want to include the one at new index\n          # so we add 1\n          [old_index, new_index + 1]\n        else\n          # moved up so slice from new to old\n          [new_index, old_index + 1]\n\n      #carve out just the models that need updating\n      models_to_update = @collection.slice.apply @collection, slice_args\n      #update the position on just these models\n      _.each models_to_update, (m) ->\n        #if the model gets sliced in here, don't update its\n        #position as we'll update it later\n        if m.id != model.id\n          old = m.get('position')\n          #if we moved an item down we want to move\n          #the shifted items up (so we subtract 1)\n          neue = if !inView or movedDown then old - 1 else old + 1\n          m.set 'position', neue\n\n\n    # Internal: sends an array of model_ids as a comma delimited string\n    # to the sortURL\n    _sendPositions: (ids) ->\n      $.post @reorderURL, order: ids.join(\",\")\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/views/DraggableCollectionView.coffee","#\n# Copyright (C) 2013 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  'i18n!assignments'\n  'jquery'\n  'underscore'\n  '../../models/AssignmentGroup'\n  '../DialogFormView'\n  'jst/assignments/DeleteGroup'\n  'jst/EmptyDialogFormWrapper'\n  'jquery.disableWhileLoading'\n], (I18n, $, _, AssignmentGroup, DialogFormView, template, wrapper) ->\n\n  class DeleteGroupView extends DialogFormView\n    defaults:\n      width: 500\n      height: 350\n      title: I18n.t('Delete Assignment Group')\n\n    els:\n      '.assignment_count': '$assignmentCount'\n      '.group_select': '$groupSelect'\n\n    events: _.extend({}, @::events,\n      'click .dialog_closer': 'close'\n      'change .group_select': 'selectMove'\n    )\n\n    template: template\n    wrapperTemplate: wrapper\n\n    initialize: ->\n      super\n      @model.get('assignments').on 'add remove', @updateAssignmentCount\n      @model.collection.on 'add', @addToGroupOptions\n      @model.collection.on 'remove', @removeFromGroupOptions\n\n    toJSON: ->\n      data = super\n      groups = @model.collection.reject (model) =>\n        model.get('id') == @model.get('id')\n      groups_json = groups.map (model) ->\n        model.toJSON()\n\n      _.extend(data, {\n        assignment_count: @model.get('assignments').length\n        groups: groups_json\n        label_id: data.id\n      })\n\n    updateAssignmentCount: =>\n      @$assignmentCount.text(@model.get('assignments').length)\n\n    addToGroupOptions: (model) =>\n      id = model.get('id')\n      $opt = $('<option>')\n      $opt.val(id)\n      $opt.addClass(\"ag_#{id}\")\n      $opt.text(model.get('name'))\n      @$groupSelect.append $opt\n\n    removeFromGroupOptions: (model) =>\n      id = model.get('id')\n      @$groupSelect.find(\"move_to_ag_#{id}\").remove()\n\n    validateFormData: (data) ->\n      errors = {}\n      if data.action == \"move\" && !data.move_assignments_to\n        errors.move_assignments_to = [\n          type: 'required'\n          message: I18n.t('You must select an assignment group.')\n        ]\n      errors\n\n    saveFormData: (data) ->\n      if data.action == \"move\" && data.move_assignments_to\n        @destroyModel(data.move_assignments_to)\n      else if data.action == \"delete\"\n        @destroyModel()\n\n    destroyModel: (moveTo=null) ->\n      @collection = @model.collection\n      data = if moveTo then \"move_assignments_to=#{moveTo}\" else ''\n      destroyDfd = @model.destroy(data: data, wait: true)\n      destroyDfd.then =>\n        @collection.fetch(reset: true) if moveTo\n      @$el.disableWhileLoading destroyDfd\n      destroyDfd\n\n    selectMove: ->\n      if !@$el.find(\".group_select :selected\").hasClass(\"blank\")\n        @$el.find('.assignment_group_move').prop('checked', true)\n\n    openAgain: ->\n      # make sure there is more than one assignment group\n      if @model.collection.models.length > 1\n        # check if it has assignments\n        if @model.get('assignments').length > 0\n          super\n        else\n          # no assignments, so just confirm\n          if confirm I18n.t('confirm_delete_group', \"Are you sure you want to delete this Assignment Group?\")\n            @destroyModel()\n      else\n        # last assignment group, so alert, but don't destroy\n        alert I18n.t('cannot_delete_group', \"You must have at least one Assignment Group\")\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/views/assignments/DeleteGroupView.coffee","/*\n * Copyright (C) 2015 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport { createStore, applyMiddleware } from 'redux'\nimport ReduxThunk from 'redux-thunk'\nimport rootReducer from '../reducers/indexMenuReducer'\n\nconst createStoreWithMiddleware = applyMiddleware(\n  ReduxThunk\n)(createStore);\n\nfunction configureStore (initialState) {\n  return createStoreWithMiddleware(rootReducer, initialState);\n};\n\nexport default configureStore\n\n\n\n// WEBPACK FOOTER //\n// ./app/jsx/assignments/store/indexMenuStore.js","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"حدث خطأ أثناء إجراء طلب شبكة\",\"close_d634289d\":\"إغلاق\",\"details_98a31b68\":\"التفاصيل\"},\"cy\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"Gwall wrth wneud cais ar gyfer y rhwydwaith\",\"close_d634289d\":\"Cau\",\"details_98a31b68\":\"Manylion\"},\"da\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"Der opstod en fejl under oprettelse af en netværksanmodning\",\"close_d634289d\":\"Luk\",\"details_98a31b68\":\"Nærmere oplysninger\"},\"da-x-k12\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"Der opstod en fejl under oprettelse af en netværksanmodning\",\"close_d634289d\":\"Luk\",\"details_98a31b68\":\"Nærmere oplysninger\"},\"de\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"Fehler beim einer Netzwerkanforderung\",\"close_d634289d\":\"Schließen\",\"details_98a31b68\":\"Details\"},\"el\":{\"close_d634289d\":\"Κλείσιμο\",\"details_98a31b68\":\"Λεπτομέρειες\"},\"en-AU\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"An error occurred making a network request\",\"close_d634289d\":\"Close\",\"details_98a31b68\":\"Details\"},\"en-CA\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"An error occurred making a network request\",\"close_d634289d\":\"Close\",\"details_98a31b68\":\"Details\"},\"en-GB\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"An error occurred making a network request\",\"close_d634289d\":\"Close\",\"details_98a31b68\":\"Details\"},\"en-GB-x-lbs\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"An error occurred making a network request\",\"close_d634289d\":\"Close\",\"details_98a31b68\":\"Details\"},\"en-GB-x-ukhe\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"An error occurred making a network request\",\"close_d634289d\":\"Close\",\"details_98a31b68\":\"Details\"},\"es\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"Se produjo un error al realizar una solicitud de red\",\"close_d634289d\":\"Cerrar\",\"details_98a31b68\":\"Detalles\"},\"fa\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"برای یک  درخواست شبکه خطا رخ داده است\",\"close_d634289d\":\"بستن\",\"details_98a31b68\":\"اطلاعات\"},\"fr\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"Une erreur est survenue lors de la réalisation d'une requête réseau\",\"close_d634289d\":\"Fermer\",\"details_98a31b68\":\"Détails\"},\"fr-CA\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"Une erreur s'est produite en faisant une demande de réseau\",\"close_d634289d\":\"Fermer\",\"details_98a31b68\":\"Informations\"},\"he\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"אירעה שגיאה ביצירת בקשת רשת\",\"close_d634289d\":\"סגירה\",\"details_98a31b68\":\"פרטים\"},\"ht\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"Gen yon erè ki fèt pandan demann rezo a\",\"close_d634289d\":\"Fèmen\",\"details_98a31b68\":\"Detay\"},\"hu\":{\"close_d634289d\":\"Bezárás\",\"details_98a31b68\":\"Részletek\"},\"hy\":{\"close_d634289d\":\"Փակել\"},\"is\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"Villa kom upp við netbeiðni\",\"close_d634289d\":\"Loka\",\"details_98a31b68\":\"Upplýsingar\"},\"it\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"Si è verificato un errore durante la creazione di una richiesta di rete\",\"close_d634289d\":\"Chiudi\",\"details_98a31b68\":\"Dettagli\"},\"ja\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"ネットワーク要求の作成中にエラーが発生しました\",\"close_d634289d\":\"閉じる\",\"details_98a31b68\":\"詳細\"},\"ko\":{\"close_d634289d\":\"닫기\"},\"mi\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"I puta he hapa i te wā e hanga ana i te tono whatunga\",\"close_d634289d\":\"Katia\",\"details_98a31b68\":\"Ngā taipitopito\"},\"nb\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"Det oppstod en feil ved utførelse av en nettverksforespørsel\",\"close_d634289d\":\"Lukk\",\"details_98a31b68\":\"Detaljer\"},\"nb-x-k12\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"Det oppstod en feil ved utførelse av en nettverksforespørsel\",\"close_d634289d\":\"Lukk\",\"details_98a31b68\":\"Detaljer\"},\"nl\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"Er is een fout opgetreden bij het maken van een netwerkaanvraag\",\"close_d634289d\":\"Sluiten\",\"details_98a31b68\":\"Details\"},\"nn\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"Det oppstod ein feil ved nettverksførespurnaden \",\"close_d634289d\":\"Lukk\",\"details_98a31b68\":\"Detaljar\"},\"pl\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"Wystąpił błąd podczas przesyłania żądania sieciowego\",\"close_d634289d\":\"Zamknij\",\"details_98a31b68\":\"Informacje szczegółowe:\"},\"pt\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"Ocorreu um erro ao fazer uma solicitação de rede\",\"close_d634289d\":\"Fechar\",\"details_98a31b68\":\"Detalhes\"},\"pt-BR\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"Um erro ocorreu ao fazer uma solicitação de rede\",\"close_d634289d\":\"Fechar\",\"details_98a31b68\":\"Detalhes\"},\"ru\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"Произошла ошибка, что привело к созданию сетевого запроса\",\"close_d634289d\":\"Закрыть\",\"details_98a31b68\":\"Сведения\"},\"sl\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"Med podajanjem omrežne zahteve je prišlo do napake.\",\"close_d634289d\":\"Zapri\",\"details_98a31b68\":\"Podrobnosti\"},\"sv\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"Ett fel uppstod vid försök att göra en nätverksförfrågan\",\"close_d634289d\":\"Stäng\",\"details_98a31b68\":\"Detaljer\"},\"sv-x-k12\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"Ett fel uppstod vid försök att göra en nätverksförfrågan\",\"close_d634289d\":\"Stäng\",\"details_98a31b68\":\"Detaljer\"},\"tr\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"Ağ isteğinde bulunurken bir hata oluştu\",\"close_d634289d\":\"Kapat\",\"details_98a31b68\":\"Ayrıntılar\"},\"uk\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"Сталася помилка при виконанні запиту мережі\",\"close_d634289d\":\"Закрити\",\"details_98a31b68\":\"Подробиці\"},\"zh-Hans\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"发出网络请求时出错\",\"close_d634289d\":\"关闭\",\"details_98a31b68\":\"详细信息、细节\"},\"zh-Hant\":{\"an_error_occurred_making_a_network_request_d1bda348\":\"發出連線請求時發生錯誤\",\"close_d634289d\":\"關閉\",\"details_98a31b68\":\"詳細資料\"}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/ajaxflashalert.js\n// module id = nSPZMg86vV\n// module chunks = 0 27 28 29 30 31 32 36 38 39 42 43 45 49 51 52 54 57 58 59 60 64 66 67 69 78 79 81 84 103 107","//\n// Copyright (C) 2012 - present Instructure, Inc.\n//\n// This file is part of Canvas.\n//\n// Canvas is free software: you can redistribute it and/or modify it under\n// the terms of the GNU Affero General Public License as published by the Free\n// Software Foundation, version 3 of the License.\n//\n// Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n// A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n// details.\n//\n// You should have received a copy of the GNU Affero General Public License along\n// with this program. If not, see <http://www.gnu.org/licenses/>.\n//\n\n// cache.coffee\n// defines a caching mixin for classes. may use memory, sessionStorage, or\n// localStorage to hold cached data. also accepts a prefix to namespace any\n// data stored (e.g. if using localStorage).\n//\n// ex.\n//\n// class Thing\n//   constructor: ->\n//     $.extend true, this, cache\n//     ...\n//\n// thing = new Thing\n// thing.cache.use 'memory'\n// thing.cache.set 'key', 'value'\n// thing.cache.get 'key'\n\nimport _ from 'underscore'\n\nexport default {\n  cache: {\n    prefix: '',\n    store: {},\n\n    // #\n    // set the storage mechanism. available options are:\n    //   * memory\n    //   * sessionStorage\n    //   * localStorage\n    //\n    //   ex.\n    //\n    //   @obj.cache.use 'localStorage'\n    //\n    // @api public\n    use (store) {\n      const possibleStores = {\n        memory: {},\n        sessionStorage,\n        localStorage,\n      }\n      this.store = possibleStores[store]\n    },\n\n    // #\n    // create a unique key from an array of arguments by\n    // converting them to json.\n    //\n    // @return String\n    // @api private\n    toKey (...key) {\n      return this.prefix + _.flatten(key).map(arg => JSON.stringify(arg)).join('|')\n    },\n\n    // #\n    // given a key, return an item from the cache. a key may\n    // be a single string, array, object, or a combination of\n    // those.\n    //\n    // ex.\n    //\n    // @thing.cache.get 'keyName'\n    // @thing.cache.get [1, 2, 3], @name, @params\n    //\n    // @return String|Object|Array|Boolean\n    // @api public\n    get (...key) {\n      const val = this.store[this.toKey(key)]\n      if (val) {\n        return JSON.parse(val)\n      } else {\n        return null\n      }\n    },\n\n    // #\n    // given a value and a key, store data in the cache. returns\n    // the cache object so that additional set actions can be\n    // chained.\n    //\n    // ex.\n    //\n    // @thing.set 'value', 'keyValue'\n    // @thing.set { value: 123 }, [@name, request.params]\n    // @thing\n    //   .set('value1', 'key1')\n    //   .set('value2', 'key2')\n    //\n    // @api public\n    set (...args) {\n      const key = args.slice(0, args.length - 1)\n      const value = args[args.length - 1]\n      this.store[this.toKey(key)] = JSON.stringify(value)\n      return this\n    },\n\n    // #\n    // given a key, remove its contents from the cache\n    remove (...key) {\n      delete this.store[this.toKey(key)]\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/class/cache.js","/*** IMPORTS FROM imports-loader ***/\n(function() {\n\n(function () {\nvar modern = (function () {\n    'use strict';\n\n    var global = tinymce.util.Tools.resolve('tinymce.ThemeManager');\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.EditorManager');\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    var isBrandingEnabled = function (editor) {\n      return editor.getParam('branding', true, 'boolean');\n    };\n    var hasMenubar = function (editor) {\n      return getMenubar(editor) !== false;\n    };\n    var getMenubar = function (editor) {\n      return editor.getParam('menubar');\n    };\n    var hasStatusbar = function (editor) {\n      return editor.getParam('statusbar', true, 'boolean');\n    };\n    var getToolbarSize = function (editor) {\n      return editor.getParam('toolbar_items_size');\n    };\n    var isReadOnly = function (editor) {\n      return editor.getParam('readonly', false, 'boolean');\n    };\n    var getFixedToolbarContainer = function (editor) {\n      return editor.getParam('fixed_toolbar_container');\n    };\n    var getInlineToolbarPositionHandler = function (editor) {\n      return editor.getParam('inline_toolbar_position_handler');\n    };\n    var getMenu = function (editor) {\n      return editor.getParam('menu');\n    };\n    var getRemovedMenuItems = function (editor) {\n      return editor.getParam('removed_menuitems', '');\n    };\n    var getMinWidth = function (editor) {\n      return editor.getParam('min_width', 100, 'number');\n    };\n    var getMinHeight = function (editor) {\n      return editor.getParam('min_height', 100, 'number');\n    };\n    var getMaxWidth = function (editor) {\n      return editor.getParam('max_width', 65535, 'number');\n    };\n    var getMaxHeight = function (editor) {\n      return editor.getParam('max_height', 65535, 'number');\n    };\n    var isSkinDisabled = function (editor) {\n      return editor.settings.skin === false;\n    };\n    var isInline = function (editor) {\n      return editor.getParam('inline', false, 'boolean');\n    };\n    var getResize = function (editor) {\n      var resize = editor.getParam('resize', 'vertical');\n      if (resize === false) {\n        return 'none';\n      } else if (resize === 'both') {\n        return 'both';\n      } else {\n        return 'vertical';\n      }\n    };\n    var getSkinUrl = function (editor) {\n      var settings = editor.settings;\n      var skin = settings.skin;\n      var skinUrl = settings.skin_url;\n      if (skin !== false) {\n        var skinName = skin ? skin : 'lightgray';\n        if (skinUrl) {\n          skinUrl = editor.documentBaseURI.toAbsolute(skinUrl);\n        } else {\n          skinUrl = global$1.baseURL + '/skins/' + skinName;\n        }\n      }\n      return skinUrl;\n    };\n    var getIndexedToolbars = function (settings, defaultToolbar) {\n      var toolbars = [];\n      for (var i = 1; i < 10; i++) {\n        var toolbar = settings['toolbar' + i];\n        if (!toolbar) {\n          break;\n        }\n        toolbars.push(toolbar);\n      }\n      var mainToolbar = settings.toolbar ? [settings.toolbar] : [defaultToolbar];\n      return toolbars.length > 0 ? toolbars : mainToolbar;\n    };\n    var getToolbars = function (editor) {\n      var toolbar = editor.getParam('toolbar');\n      var defaultToolbar = 'undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image';\n      if (toolbar === false) {\n        return [];\n      } else if (global$2.isArray(toolbar)) {\n        return global$2.grep(toolbar, function (toolbar) {\n          return toolbar.length > 0;\n        });\n      } else {\n        return getIndexedToolbars(editor.settings, defaultToolbar);\n      }\n    };\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n    var global$4 = tinymce.util.Tools.resolve('tinymce.ui.Factory');\n\n    var global$5 = tinymce.util.Tools.resolve('tinymce.util.I18n');\n\n    var fireSkinLoaded = function (editor) {\n      return editor.fire('SkinLoaded');\n    };\n    var fireResizeEditor = function (editor) {\n      return editor.fire('ResizeEditor');\n    };\n    var fireBeforeRenderUI = function (editor) {\n      return editor.fire('BeforeRenderUI');\n    };\n    var Events = {\n      fireSkinLoaded: fireSkinLoaded,\n      fireResizeEditor: fireResizeEditor,\n      fireBeforeRenderUI: fireBeforeRenderUI\n    };\n\n    var focus = function (panel, type) {\n      return function () {\n        var item = panel.find(type)[0];\n        if (item) {\n          item.focus(true);\n        }\n      };\n    };\n    var addKeys = function (editor, panel) {\n      editor.shortcuts.add('Alt+F9', '', focus(panel, 'menubar'));\n      editor.shortcuts.add('Alt+F10,F10', '', focus(panel, 'toolbar'));\n      editor.shortcuts.add('Alt+F11', '', focus(panel, 'elementpath'));\n      panel.on('cancel', function () {\n        editor.focus();\n      });\n    };\n    var A11y = { addKeys: addKeys };\n\n    var global$6 = tinymce.util.Tools.resolve('tinymce.geom.Rect');\n\n    var global$7 = tinymce.util.Tools.resolve('tinymce.util.Delay');\n\n    var noop = function () {\n      var args = [];\n      for (var _i = 0; _i < arguments.length; _i++) {\n        args[_i] = arguments[_i];\n      }\n    };\n    var constant = function (value) {\n      return function () {\n        return value;\n      };\n    };\n    var never = constant(false);\n    var always = constant(true);\n\n    var never$1 = never;\n    var always$1 = always;\n    var none = function () {\n      return NONE;\n    };\n    var NONE = function () {\n      var eq = function (o) {\n        return o.isNone();\n      };\n      var call$$1 = function (thunk) {\n        return thunk();\n      };\n      var id = function (n) {\n        return n;\n      };\n      var noop$$1 = function () {\n      };\n      var nul = function () {\n        return null;\n      };\n      var undef = function () {\n        return undefined;\n      };\n      var me = {\n        fold: function (n, s) {\n          return n();\n        },\n        is: never$1,\n        isSome: never$1,\n        isNone: always$1,\n        getOr: id,\n        getOrThunk: call$$1,\n        getOrDie: function (msg) {\n          throw new Error(msg || 'error: getOrDie called on none.');\n        },\n        getOrNull: nul,\n        getOrUndefined: undef,\n        or: id,\n        orThunk: call$$1,\n        map: none,\n        ap: none,\n        each: noop$$1,\n        bind: none,\n        flatten: none,\n        exists: never$1,\n        forall: always$1,\n        filter: none,\n        equals: eq,\n        equals_: eq,\n        toArray: function () {\n          return [];\n        },\n        toString: constant('none()')\n      };\n      if (Object.freeze)\n        Object.freeze(me);\n      return me;\n    }();\n    var some = function (a) {\n      var constant_a = function () {\n        return a;\n      };\n      var self = function () {\n        return me;\n      };\n      var map = function (f) {\n        return some(f(a));\n      };\n      var bind = function (f) {\n        return f(a);\n      };\n      var me = {\n        fold: function (n, s) {\n          return s(a);\n        },\n        is: function (v) {\n          return a === v;\n        },\n        isSome: always$1,\n        isNone: never$1,\n        getOr: constant_a,\n        getOrThunk: constant_a,\n        getOrDie: constant_a,\n        getOrNull: constant_a,\n        getOrUndefined: constant_a,\n        or: self,\n        orThunk: self,\n        map: map,\n        ap: function (optfab) {\n          return optfab.fold(none, function (fab) {\n            return some(fab(a));\n          });\n        },\n        each: function (f) {\n          f(a);\n        },\n        bind: bind,\n        flatten: constant_a,\n        exists: bind,\n        forall: bind,\n        filter: function (f) {\n          return f(a) ? me : NONE;\n        },\n        equals: function (o) {\n          return o.is(a);\n        },\n        equals_: function (o, elementEq) {\n          return o.fold(never$1, function (b) {\n            return elementEq(a, b);\n          });\n        },\n        toArray: function () {\n          return [a];\n        },\n        toString: function () {\n          return 'some(' + a + ')';\n        }\n      };\n      return me;\n    };\n    var from = function (value) {\n      return value === null || value === undefined ? NONE : some(value);\n    };\n    var Option = {\n      some: some,\n      none: none,\n      from: from\n    };\n\n    var getUiContainerDelta = function (ctrl) {\n      var uiContainer = getUiContainer(ctrl);\n      if (uiContainer && global$3.DOM.getStyle(uiContainer, 'position', true) !== 'static') {\n        var containerPos = global$3.DOM.getPos(uiContainer);\n        var dx = uiContainer.scrollLeft - containerPos.x;\n        var dy = uiContainer.scrollTop - containerPos.y;\n        return Option.some({\n          x: dx,\n          y: dy\n        });\n      } else {\n        return Option.none();\n      }\n    };\n    var setUiContainer = function (editor, ctrl) {\n      var uiContainer = global$3.DOM.select(editor.settings.ui_container)[0];\n      ctrl.getRoot().uiContainer = uiContainer;\n    };\n    var getUiContainer = function (ctrl) {\n      return ctrl ? ctrl.getRoot().uiContainer : null;\n    };\n    var inheritUiContainer = function (fromCtrl, toCtrl) {\n      return toCtrl.uiContainer = getUiContainer(fromCtrl);\n    };\n    var UiContainer = {\n      getUiContainerDelta: getUiContainerDelta,\n      setUiContainer: setUiContainer,\n      getUiContainer: getUiContainer,\n      inheritUiContainer: inheritUiContainer\n    };\n\n    var createToolbar = function (editor, items, size) {\n      var toolbarItems = [];\n      var buttonGroup;\n      if (!items) {\n        return;\n      }\n      global$2.each(items.split(/[ ,]/), function (item) {\n        var itemName;\n        var bindSelectorChanged = function () {\n          var selection = editor.selection;\n          if (item.settings.stateSelector) {\n            selection.selectorChanged(item.settings.stateSelector, function (state) {\n              item.active(state);\n            }, true);\n          }\n          if (item.settings.disabledStateSelector) {\n            selection.selectorChanged(item.settings.disabledStateSelector, function (state) {\n              item.disabled(state);\n            });\n          }\n        };\n        if (item === '|') {\n          buttonGroup = null;\n        } else {\n          if (!buttonGroup) {\n            buttonGroup = {\n              type: 'buttongroup',\n              items: []\n            };\n            toolbarItems.push(buttonGroup);\n          }\n          if (editor.buttons[item]) {\n            itemName = item;\n            item = editor.buttons[itemName];\n            if (typeof item === 'function') {\n              item = item();\n            }\n            item.type = item.type || 'button';\n            item.size = size;\n            item = global$4.create(item);\n            buttonGroup.items.push(item);\n            if (editor.initialized) {\n              bindSelectorChanged();\n            } else {\n              editor.on('init', bindSelectorChanged);\n            }\n          }\n        }\n      });\n      return {\n        type: 'toolbar',\n        layout: 'flow',\n        items: toolbarItems\n      };\n    };\n    var createToolbars = function (editor, size) {\n      var toolbars = [];\n      var addToolbar = function (items) {\n        if (items) {\n          toolbars.push(createToolbar(editor, items, size));\n        }\n      };\n      global$2.each(getToolbars(editor), function (toolbar) {\n        addToolbar(toolbar);\n      });\n      if (toolbars.length) {\n        return {\n          type: 'panel',\n          layout: 'stack',\n          classes: 'toolbar-grp',\n          ariaRoot: true,\n          ariaRemember: true,\n          items: toolbars\n        };\n      }\n    };\n    var Toolbar = {\n      createToolbar: createToolbar,\n      createToolbars: createToolbars\n    };\n\n    var DOM = global$3.DOM;\n    var toClientRect = function (geomRect) {\n      return {\n        left: geomRect.x,\n        top: geomRect.y,\n        width: geomRect.w,\n        height: geomRect.h,\n        right: geomRect.x + geomRect.w,\n        bottom: geomRect.y + geomRect.h\n      };\n    };\n    var hideAllFloatingPanels = function (editor) {\n      global$2.each(editor.contextToolbars, function (toolbar) {\n        if (toolbar.panel) {\n          toolbar.panel.hide();\n        }\n      });\n    };\n    var movePanelTo = function (panel, pos) {\n      panel.moveTo(pos.left, pos.top);\n    };\n    var togglePositionClass = function (panel, relPos, predicate) {\n      relPos = relPos ? relPos.substr(0, 2) : '';\n      global$2.each({\n        t: 'down',\n        b: 'up'\n      }, function (cls, pos) {\n        panel.classes.toggle('arrow-' + cls, predicate(pos, relPos.substr(0, 1)));\n      });\n      global$2.each({\n        l: 'left',\n        r: 'right'\n      }, function (cls, pos) {\n        panel.classes.toggle('arrow-' + cls, predicate(pos, relPos.substr(1, 1)));\n      });\n    };\n    var userConstrain = function (handler, x, y, elementRect, contentAreaRect, panelRect) {\n      panelRect = toClientRect({\n        x: x,\n        y: y,\n        w: panelRect.w,\n        h: panelRect.h\n      });\n      if (handler) {\n        panelRect = handler({\n          elementRect: toClientRect(elementRect),\n          contentAreaRect: toClientRect(contentAreaRect),\n          panelRect: panelRect\n        });\n      }\n      return panelRect;\n    };\n    var addContextualToolbars = function (editor) {\n      var scrollContainer;\n      var getContextToolbars = function () {\n        return editor.contextToolbars || [];\n      };\n      var getElementRect = function (elm) {\n        var pos, targetRect, root;\n        pos = DOM.getPos(editor.getContentAreaContainer());\n        targetRect = editor.dom.getRect(elm);\n        root = editor.dom.getRoot();\n        if (root.nodeName === 'BODY') {\n          targetRect.x -= root.ownerDocument.documentElement.scrollLeft || root.scrollLeft;\n          targetRect.y -= root.ownerDocument.documentElement.scrollTop || root.scrollTop;\n        }\n        targetRect.x += pos.x;\n        targetRect.y += pos.y;\n        return targetRect;\n      };\n      var reposition = function (match, shouldShow) {\n        var relPos, panelRect, elementRect, contentAreaRect, panel, relRect, testPositions, smallElementWidthThreshold;\n        var handler = getInlineToolbarPositionHandler(editor);\n        if (editor.removed) {\n          return;\n        }\n        if (!match || !match.toolbar.panel) {\n          hideAllFloatingPanels(editor);\n          return;\n        }\n        testPositions = [\n          'bc-tc',\n          'tc-bc',\n          'tl-bl',\n          'bl-tl',\n          'tr-br',\n          'br-tr'\n        ];\n        panel = match.toolbar.panel;\n        if (shouldShow) {\n          panel.show();\n        }\n        elementRect = getElementRect(match.element);\n        panelRect = DOM.getRect(panel.getEl());\n        contentAreaRect = DOM.getRect(editor.getContentAreaContainer() || editor.getBody());\n        var delta = UiContainer.getUiContainerDelta(panel).getOr({\n          x: 0,\n          y: 0\n        });\n        elementRect.x += delta.x;\n        elementRect.y += delta.y;\n        panelRect.x += delta.x;\n        panelRect.y += delta.y;\n        contentAreaRect.x += delta.x;\n        contentAreaRect.y += delta.y;\n        smallElementWidthThreshold = 25;\n        if (DOM.getStyle(match.element, 'display', true) !== 'inline') {\n          var clientRect = match.element.getBoundingClientRect();\n          elementRect.w = clientRect.width;\n          elementRect.h = clientRect.height;\n        }\n        if (!editor.inline) {\n          contentAreaRect.w = editor.getDoc().documentElement.offsetWidth;\n        }\n        if (editor.selection.controlSelection.isResizable(match.element) && elementRect.w < smallElementWidthThreshold) {\n          elementRect = global$6.inflate(elementRect, 0, 8);\n        }\n        relPos = global$6.findBestRelativePosition(panelRect, elementRect, contentAreaRect, testPositions);\n        elementRect = global$6.clamp(elementRect, contentAreaRect);\n        if (relPos) {\n          relRect = global$6.relativePosition(panelRect, elementRect, relPos);\n          movePanelTo(panel, userConstrain(handler, relRect.x, relRect.y, elementRect, contentAreaRect, panelRect));\n        } else {\n          contentAreaRect.h += panelRect.h;\n          elementRect = global$6.intersect(contentAreaRect, elementRect);\n          if (elementRect) {\n            relPos = global$6.findBestRelativePosition(panelRect, elementRect, contentAreaRect, [\n              'bc-tc',\n              'bl-tl',\n              'br-tr'\n            ]);\n            if (relPos) {\n              relRect = global$6.relativePosition(panelRect, elementRect, relPos);\n              movePanelTo(panel, userConstrain(handler, relRect.x, relRect.y, elementRect, contentAreaRect, panelRect));\n            } else {\n              movePanelTo(panel, userConstrain(handler, elementRect.x, elementRect.y, elementRect, contentAreaRect, panelRect));\n            }\n          } else {\n            panel.hide();\n          }\n        }\n        togglePositionClass(panel, relPos, function (pos1, pos2) {\n          return pos1 === pos2;\n        });\n      };\n      var repositionHandler = function (show) {\n        return function () {\n          var execute = function () {\n            if (editor.selection) {\n              reposition(findFrontMostMatch(editor.selection.getNode()), show);\n            }\n          };\n          global$7.requestAnimationFrame(execute);\n        };\n      };\n      var bindScrollEvent = function (panel) {\n        if (!scrollContainer) {\n          var reposition_1 = repositionHandler(true);\n          var uiContainer_1 = UiContainer.getUiContainer(panel);\n          scrollContainer = editor.selection.getScrollContainer() || editor.getWin();\n          DOM.bind(scrollContainer, 'scroll', reposition_1);\n          DOM.bind(uiContainer_1, 'scroll', reposition_1);\n          editor.on('remove', function () {\n            DOM.unbind(scrollContainer, 'scroll', reposition_1);\n            DOM.unbind(uiContainer_1, 'scroll', reposition_1);\n          });\n        }\n      };\n      var showContextToolbar = function (match) {\n        var panel;\n        if (match.toolbar.panel) {\n          match.toolbar.panel.show();\n          reposition(match);\n          return;\n        }\n        panel = global$4.create({\n          type: 'floatpanel',\n          role: 'dialog',\n          classes: 'tinymce tinymce-inline arrow',\n          ariaLabel: 'Inline toolbar',\n          layout: 'flex',\n          direction: 'column',\n          align: 'stretch',\n          autohide: false,\n          autofix: true,\n          fixed: true,\n          border: 1,\n          items: Toolbar.createToolbar(editor, match.toolbar.items),\n          oncancel: function () {\n            editor.focus();\n          }\n        });\n        UiContainer.setUiContainer(editor, panel);\n        bindScrollEvent(panel);\n        match.toolbar.panel = panel;\n        panel.renderTo().reflow();\n        reposition(match);\n      };\n      var hideAllContextToolbars = function () {\n        global$2.each(getContextToolbars(), function (toolbar) {\n          if (toolbar.panel) {\n            toolbar.panel.hide();\n          }\n        });\n      };\n      var findFrontMostMatch = function (targetElm) {\n        var i, y, parentsAndSelf;\n        var toolbars = getContextToolbars();\n        parentsAndSelf = editor.$(targetElm).parents().add(targetElm);\n        for (i = parentsAndSelf.length - 1; i >= 0; i--) {\n          for (y = toolbars.length - 1; y >= 0; y--) {\n            if (toolbars[y].predicate(parentsAndSelf[i])) {\n              return {\n                toolbar: toolbars[y],\n                element: parentsAndSelf[i]\n              };\n            }\n          }\n        }\n        return null;\n      };\n      editor.on('click keyup setContent ObjectResized', function (e) {\n        if (e.type === 'setcontent' && !e.selection) {\n          return;\n        }\n        global$7.setEditorTimeout(editor, function () {\n          var match;\n          match = findFrontMostMatch(editor.selection.getNode());\n          if (match) {\n            hideAllContextToolbars();\n            showContextToolbar(match);\n          } else {\n            hideAllContextToolbars();\n          }\n        });\n      });\n      editor.on('blur hide contextmenu', hideAllContextToolbars);\n      editor.on('ObjectResizeStart', function () {\n        var match = findFrontMostMatch(editor.selection.getNode());\n        if (match && match.toolbar.panel) {\n          match.toolbar.panel.hide();\n        }\n      });\n      editor.on('ResizeEditor ResizeWindow', repositionHandler(true));\n      editor.on('nodeChange', repositionHandler(false));\n      editor.on('remove', function () {\n        global$2.each(getContextToolbars(), function (toolbar) {\n          if (toolbar.panel) {\n            toolbar.panel.remove();\n          }\n        });\n        editor.contextToolbars = {};\n      });\n      editor.shortcuts.add('ctrl+F9', '', function () {\n        var match = findFrontMostMatch(editor.selection.getNode());\n        if (match && match.toolbar.panel) {\n          match.toolbar.panel.items()[0].focus();\n        }\n      });\n    };\n    var ContextToolbars = { addContextualToolbars: addContextualToolbars };\n\n    var typeOf = function (x) {\n      if (x === null)\n        return 'null';\n      var t = typeof x;\n      if (t === 'object' && Array.prototype.isPrototypeOf(x))\n        return 'array';\n      if (t === 'object' && String.prototype.isPrototypeOf(x))\n        return 'string';\n      return t;\n    };\n    var isType = function (type) {\n      return function (value) {\n        return typeOf(value) === type;\n      };\n    };\n    var isFunction = isType('function');\n    var isNumber = isType('number');\n\n    var rawIndexOf = function () {\n      var pIndexOf = Array.prototype.indexOf;\n      var fastIndex = function (xs, x) {\n        return pIndexOf.call(xs, x);\n      };\n      var slowIndex = function (xs, x) {\n        return slowIndexOf(xs, x);\n      };\n      return pIndexOf === undefined ? slowIndex : fastIndex;\n    }();\n    var indexOf = function (xs, x) {\n      var r = rawIndexOf(xs, x);\n      return r === -1 ? Option.none() : Option.some(r);\n    };\n    var exists = function (xs, pred) {\n      return findIndex(xs, pred).isSome();\n    };\n    var map = function (xs, f) {\n      var len = xs.length;\n      var r = new Array(len);\n      for (var i = 0; i < len; i++) {\n        var x = xs[i];\n        r[i] = f(x, i, xs);\n      }\n      return r;\n    };\n    var each = function (xs, f) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        f(x, i, xs);\n      }\n    };\n    var filter = function (xs, pred) {\n      var r = [];\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        if (pred(x, i, xs)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    var foldl = function (xs, f, acc) {\n      each(xs, function (x) {\n        acc = f(acc, x);\n      });\n      return acc;\n    };\n    var find = function (xs, pred) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        if (pred(x, i, xs)) {\n          return Option.some(x);\n        }\n      }\n      return Option.none();\n    };\n    var findIndex = function (xs, pred) {\n      for (var i = 0, len = xs.length; i < len; i++) {\n        var x = xs[i];\n        if (pred(x, i, xs)) {\n          return Option.some(i);\n        }\n      }\n      return Option.none();\n    };\n    var slowIndexOf = function (xs, x) {\n      for (var i = 0, len = xs.length; i < len; ++i) {\n        if (xs[i] === x) {\n          return i;\n        }\n      }\n      return -1;\n    };\n    var push = Array.prototype.push;\n    var flatten = function (xs) {\n      var r = [];\n      for (var i = 0, len = xs.length; i < len; ++i) {\n        if (!Array.prototype.isPrototypeOf(xs[i]))\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        push.apply(r, xs[i]);\n      }\n      return r;\n    };\n    var slice = Array.prototype.slice;\n    var from$1 = isFunction(Array.from) ? Array.from : function (x) {\n      return slice.call(x);\n    };\n\n    var defaultMenus = {\n      file: {\n        title: 'File',\n        items: 'newdocument restoredraft | preview | print'\n      },\n      edit: {\n        title: 'Edit',\n        items: 'undo redo | cut copy paste pastetext | selectall'\n      },\n      view: {\n        title: 'View',\n        items: 'code | visualaid visualchars visualblocks | spellchecker | preview fullscreen'\n      },\n      insert: {\n        title: 'Insert',\n        items: 'image link media template codesample inserttable | charmap hr | pagebreak nonbreaking anchor toc | insertdatetime'\n      },\n      format: {\n        title: 'Format',\n        items: 'bold italic underline strikethrough superscript subscript codeformat | blockformats align | removeformat'\n      },\n      tools: {\n        title: 'Tools',\n        items: 'spellchecker spellcheckerlanguage | a11ycheck code'\n      },\n      table: { title: 'Table' },\n      help: { title: 'Help' }\n    };\n    var delimiterMenuNamePair = function () {\n      return {\n        name: '|',\n        item: { text: '|' }\n      };\n    };\n    var createMenuNameItemPair = function (name, item) {\n      var menuItem = item ? {\n        name: name,\n        item: item\n      } : null;\n      return name === '|' ? delimiterMenuNamePair() : menuItem;\n    };\n    var hasItemName = function (namedMenuItems, name) {\n      return findIndex(namedMenuItems, function (namedMenuItem) {\n        return namedMenuItem.name === name;\n      }).isSome();\n    };\n    var isSeparator = function (namedMenuItem) {\n      return namedMenuItem && namedMenuItem.item.text === '|';\n    };\n    var cleanupMenu = function (namedMenuItems, removedMenuItems) {\n      var menuItemsPass1 = filter(namedMenuItems, function (namedMenuItem) {\n        return removedMenuItems.hasOwnProperty(namedMenuItem.name) === false;\n      });\n      var menuItemsPass2 = filter(menuItemsPass1, function (namedMenuItem, i, namedMenuItems) {\n        return !isSeparator(namedMenuItem) || !isSeparator(namedMenuItems[i - 1]);\n      });\n      return filter(menuItemsPass2, function (namedMenuItem, i, namedMenuItems) {\n        return !isSeparator(namedMenuItem) || i > 0 && i < namedMenuItems.length - 1;\n      });\n    };\n    var createMenu = function (editorMenuItems, menus, removedMenuItems, context) {\n      var menuButton, menu, namedMenuItems, isUserDefined;\n      if (menus) {\n        menu = menus[context];\n        isUserDefined = true;\n      } else {\n        menu = defaultMenus[context];\n      }\n      if (menu) {\n        menuButton = { text: menu.title };\n        namedMenuItems = [];\n        global$2.each((menu.items || '').split(/[ ,]/), function (name) {\n          var namedMenuItem = createMenuNameItemPair(name, editorMenuItems[name]);\n          if (namedMenuItem) {\n            namedMenuItems.push(namedMenuItem);\n          }\n        });\n        if (!isUserDefined) {\n          global$2.each(editorMenuItems, function (item, name) {\n            if (item.context === context && !hasItemName(namedMenuItems, name)) {\n              if (item.separator === 'before') {\n                namedMenuItems.push(delimiterMenuNamePair());\n              }\n              if (item.prependToContext) {\n                namedMenuItems.unshift(createMenuNameItemPair(name, item));\n              } else {\n                namedMenuItems.push(createMenuNameItemPair(name, item));\n              }\n              if (item.separator === 'after') {\n                namedMenuItems.push(delimiterMenuNamePair());\n              }\n            }\n          });\n        }\n        menuButton.menu = map(cleanupMenu(namedMenuItems, removedMenuItems), function (menuItem) {\n          return menuItem.item;\n        });\n        if (!menuButton.menu.length) {\n          return null;\n        }\n      }\n      return menuButton;\n    };\n    var getDefaultMenubar = function (editor) {\n      var name;\n      var defaultMenuBar = [];\n      var menu = getMenu(editor);\n      if (menu) {\n        for (name in menu) {\n          defaultMenuBar.push(name);\n        }\n      } else {\n        for (name in defaultMenus) {\n          defaultMenuBar.push(name);\n        }\n      }\n      return defaultMenuBar;\n    };\n    var createMenuButtons = function (editor) {\n      var menuButtons = [];\n      var defaultMenuBar = getDefaultMenubar(editor);\n      var removedMenuItems = global$2.makeMap(getRemovedMenuItems(editor).split(/[ ,]/));\n      var menubar = getMenubar(editor);\n      var enabledMenuNames = typeof menubar === 'string' ? menubar.split(/[ ,]/) : defaultMenuBar;\n      for (var i = 0; i < enabledMenuNames.length; i++) {\n        var menuItems = enabledMenuNames[i];\n        var menu = createMenu(editor.menuItems, getMenu(editor), removedMenuItems, menuItems);\n        if (menu) {\n          menuButtons.push(menu);\n        }\n      }\n      return menuButtons;\n    };\n    var Menubar = { createMenuButtons: createMenuButtons };\n\n    var DOM$1 = global$3.DOM;\n    var getSize = function (elm) {\n      return {\n        width: elm.clientWidth,\n        height: elm.clientHeight\n      };\n    };\n    var resizeTo = function (editor, width, height) {\n      var containerElm, iframeElm, containerSize, iframeSize;\n      containerElm = editor.getContainer();\n      iframeElm = editor.getContentAreaContainer().firstChild;\n      containerSize = getSize(containerElm);\n      iframeSize = getSize(iframeElm);\n      if (width !== null) {\n        width = Math.max(getMinWidth(editor), width);\n        width = Math.min(getMaxWidth(editor), width);\n        DOM$1.setStyle(containerElm, 'width', width + (containerSize.width - iframeSize.width));\n        DOM$1.setStyle(iframeElm, 'width', width);\n      }\n      height = Math.max(getMinHeight(editor), height);\n      height = Math.min(getMaxHeight(editor), height);\n      DOM$1.setStyle(iframeElm, 'height', height);\n      Events.fireResizeEditor(editor);\n    };\n    var resizeBy = function (editor, dw, dh) {\n      var elm = editor.getContentAreaContainer();\n      resizeTo(editor, elm.clientWidth + dw, elm.clientHeight + dh);\n    };\n    var Resize = {\n      resizeTo: resizeTo,\n      resizeBy: resizeBy\n    };\n\n    var global$8 = tinymce.util.Tools.resolve('tinymce.Env');\n\n    var api = function (elm) {\n      return {\n        element: function () {\n          return elm;\n        }\n      };\n    };\n    var trigger = function (sidebar, panel, callbackName) {\n      var callback = sidebar.settings[callbackName];\n      if (callback) {\n        callback(api(panel.getEl('body')));\n      }\n    };\n    var hidePanels = function (name, container, sidebars) {\n      global$2.each(sidebars, function (sidebar) {\n        var panel = container.items().filter('#' + sidebar.name)[0];\n        if (panel && panel.visible() && sidebar.name !== name) {\n          trigger(sidebar, panel, 'onhide');\n          panel.visible(false);\n        }\n      });\n    };\n    var deactivateButtons = function (toolbar) {\n      toolbar.items().each(function (ctrl) {\n        ctrl.active(false);\n      });\n    };\n    var findSidebar = function (sidebars, name) {\n      return global$2.grep(sidebars, function (sidebar) {\n        return sidebar.name === name;\n      })[0];\n    };\n    var showPanel = function (editor, name, sidebars) {\n      return function (e) {\n        var btnCtrl = e.control;\n        var container = btnCtrl.parents().filter('panel')[0];\n        var panel = container.find('#' + name)[0];\n        var sidebar = findSidebar(sidebars, name);\n        hidePanels(name, container, sidebars);\n        deactivateButtons(btnCtrl.parent());\n        if (panel && panel.visible()) {\n          trigger(sidebar, panel, 'onhide');\n          panel.hide();\n          btnCtrl.active(false);\n        } else {\n          if (panel) {\n            panel.show();\n            trigger(sidebar, panel, 'onshow');\n          } else {\n            panel = global$4.create({\n              type: 'container',\n              name: name,\n              layout: 'stack',\n              classes: 'sidebar-panel',\n              html: ''\n            });\n            container.prepend(panel);\n            trigger(sidebar, panel, 'onrender');\n            trigger(sidebar, panel, 'onshow');\n          }\n          btnCtrl.active(true);\n        }\n        Events.fireResizeEditor(editor);\n      };\n    };\n    var isModernBrowser = function () {\n      return !global$8.ie || global$8.ie >= 11;\n    };\n    var hasSidebar = function (editor) {\n      return isModernBrowser() && editor.sidebars ? editor.sidebars.length > 0 : false;\n    };\n    var createSidebar = function (editor) {\n      var buttons = global$2.map(editor.sidebars, function (sidebar) {\n        var settings = sidebar.settings;\n        return {\n          type: 'button',\n          icon: settings.icon,\n          image: settings.image,\n          tooltip: settings.tooltip,\n          onclick: showPanel(editor, sidebar.name, editor.sidebars)\n        };\n      });\n      return {\n        type: 'panel',\n        name: 'sidebar',\n        layout: 'stack',\n        classes: 'sidebar',\n        items: [{\n            type: 'toolbar',\n            layout: 'stack',\n            classes: 'sidebar-toolbar',\n            items: buttons\n          }]\n      };\n    };\n    var Sidebar = {\n      hasSidebar: hasSidebar,\n      createSidebar: createSidebar\n    };\n\n    var fireSkinLoaded$1 = function (editor) {\n      var done = function () {\n        editor._skinLoaded = true;\n        Events.fireSkinLoaded(editor);\n      };\n      return function () {\n        if (editor.initialized) {\n          done();\n        } else {\n          editor.on('init', done);\n        }\n      };\n    };\n    var SkinLoaded = { fireSkinLoaded: fireSkinLoaded$1 };\n\n    var DOM$2 = global$3.DOM;\n    var switchMode = function (panel) {\n      return function (e) {\n        panel.find('*').disabled(e.mode === 'readonly');\n      };\n    };\n    var editArea = function (border) {\n      return {\n        type: 'panel',\n        name: 'iframe',\n        layout: 'stack',\n        classes: 'edit-area',\n        border: border,\n        html: ''\n      };\n    };\n    var editAreaContainer = function (editor) {\n      return {\n        type: 'panel',\n        layout: 'stack',\n        classes: 'edit-aria-container',\n        border: '1 0 0 0',\n        items: [\n          editArea('0'),\n          Sidebar.createSidebar(editor)\n        ]\n      };\n    };\n    var render = function (editor, theme, args) {\n      var panel, resizeHandleCtrl, startSize;\n      if (isSkinDisabled(editor) === false && args.skinUiCss) {\n        DOM$2.styleSheetLoader.load(args.skinUiCss, SkinLoaded.fireSkinLoaded(editor));\n      } else {\n        SkinLoaded.fireSkinLoaded(editor)();\n      }\n      panel = theme.panel = global$4.create({\n        type: 'panel',\n        role: 'application',\n        classes: 'tinymce',\n        style: 'visibility: hidden',\n        layout: 'stack',\n        border: 1,\n        items: [\n          {\n            type: 'container',\n            classes: 'top-part',\n            items: [\n              hasMenubar(editor) === false ? null : {\n                type: 'menubar',\n                border: '0 0 1 0',\n                items: Menubar.createMenuButtons(editor)\n              },\n              Toolbar.createToolbars(editor, getToolbarSize(editor))\n            ]\n          },\n          Sidebar.hasSidebar(editor) ? editAreaContainer(editor) : editArea('1 0 0 0')\n        ]\n      });\n      UiContainer.setUiContainer(editor, panel);\n      if (getResize(editor) !== 'none') {\n        resizeHandleCtrl = {\n          type: 'resizehandle',\n          direction: getResize(editor),\n          onResizeStart: function () {\n            var elm = editor.getContentAreaContainer().firstChild;\n            startSize = {\n              width: elm.clientWidth,\n              height: elm.clientHeight\n            };\n          },\n          onResize: function (e) {\n            if (getResize(editor) === 'both') {\n              Resize.resizeTo(editor, startSize.width + e.deltaX, startSize.height + e.deltaY);\n            } else {\n              Resize.resizeTo(editor, null, startSize.height + e.deltaY);\n            }\n          }\n        };\n      }\n      if (hasStatusbar(editor)) {\n        var linkHtml = '<a href=\"https://www.tiny.cloud/?utm_campaign=editor_referral&amp;utm_medium=poweredby&amp;utm_source=tinymce\" rel=\"noopener\" target=\"_blank\" role=\"presentation\" tabindex=\"-1\">Tiny</a>';\n        var html = global$5.translate([\n          'Powered by {0}',\n          linkHtml\n        ]);\n        var brandingLabel = isBrandingEnabled(editor) ? {\n          type: 'label',\n          classes: 'branding',\n          html: ' ' + html\n        } : null;\n        panel.add({\n          type: 'panel',\n          name: 'statusbar',\n          classes: 'statusbar',\n          layout: 'flow',\n          border: '1 0 0 0',\n          ariaRoot: true,\n          items: [\n            {\n              type: 'elementpath',\n              editor: editor\n            },\n            resizeHandleCtrl,\n            brandingLabel\n          ]\n        });\n      }\n      Events.fireBeforeRenderUI(editor);\n      editor.on('SwitchMode', switchMode(panel));\n      panel.renderBefore(args.targetNode).reflow();\n      if (isReadOnly(editor)) {\n        editor.setMode('readonly');\n      }\n      if (args.width) {\n        DOM$2.setStyle(panel.getEl(), 'width', args.width);\n      }\n      editor.on('remove', function () {\n        panel.remove();\n        panel = null;\n      });\n      A11y.addKeys(editor, panel);\n      ContextToolbars.addContextualToolbars(editor);\n      return {\n        iframeContainer: panel.find('#iframe')[0].getEl(),\n        editorContainer: panel.getEl()\n      };\n    };\n    var Iframe = { render: render };\n\n    var global$9 = tinymce.util.Tools.resolve('tinymce.dom.DomQuery');\n\n    var count = 0;\n    var funcs = {\n      id: function () {\n        return 'mceu_' + count++;\n      },\n      create: function (name$$1, attrs, children) {\n        var elm = document.createElement(name$$1);\n        global$3.DOM.setAttribs(elm, attrs);\n        if (typeof children === 'string') {\n          elm.innerHTML = children;\n        } else {\n          global$2.each(children, function (child) {\n            if (child.nodeType) {\n              elm.appendChild(child);\n            }\n          });\n        }\n        return elm;\n      },\n      createFragment: function (html) {\n        return global$3.DOM.createFragment(html);\n      },\n      getWindowSize: function () {\n        return global$3.DOM.getViewPort();\n      },\n      getSize: function (elm) {\n        var width, height;\n        if (elm.getBoundingClientRect) {\n          var rect = elm.getBoundingClientRect();\n          width = Math.max(rect.width || rect.right - rect.left, elm.offsetWidth);\n          height = Math.max(rect.height || rect.bottom - rect.bottom, elm.offsetHeight);\n        } else {\n          width = elm.offsetWidth;\n          height = elm.offsetHeight;\n        }\n        return {\n          width: width,\n          height: height\n        };\n      },\n      getPos: function (elm, root) {\n        return global$3.DOM.getPos(elm, root || funcs.getContainer());\n      },\n      getContainer: function () {\n        return global$8.container ? global$8.container : document.body;\n      },\n      getViewPort: function (win) {\n        return global$3.DOM.getViewPort(win);\n      },\n      get: function (id) {\n        return document.getElementById(id);\n      },\n      addClass: function (elm, cls) {\n        return global$3.DOM.addClass(elm, cls);\n      },\n      removeClass: function (elm, cls) {\n        return global$3.DOM.removeClass(elm, cls);\n      },\n      hasClass: function (elm, cls) {\n        return global$3.DOM.hasClass(elm, cls);\n      },\n      toggleClass: function (elm, cls, state) {\n        return global$3.DOM.toggleClass(elm, cls, state);\n      },\n      css: function (elm, name$$1, value) {\n        return global$3.DOM.setStyle(elm, name$$1, value);\n      },\n      getRuntimeStyle: function (elm, name$$1) {\n        return global$3.DOM.getStyle(elm, name$$1, true);\n      },\n      on: function (target, name$$1, callback, scope) {\n        return global$3.DOM.bind(target, name$$1, callback, scope);\n      },\n      off: function (target, name$$1, callback) {\n        return global$3.DOM.unbind(target, name$$1, callback);\n      },\n      fire: function (target, name$$1, args) {\n        return global$3.DOM.fire(target, name$$1, args);\n      },\n      innerHtml: function (elm, html) {\n        global$3.DOM.setHTML(elm, html);\n      }\n    };\n\n    var isStatic = function (elm) {\n      return funcs.getRuntimeStyle(elm, 'position') === 'static';\n    };\n    var isFixed = function (ctrl) {\n      return ctrl.state.get('fixed');\n    };\n    function calculateRelativePosition(ctrl, targetElm, rel) {\n      var ctrlElm, pos, x, y, selfW, selfH, targetW, targetH, viewport, size;\n      viewport = getWindowViewPort();\n      pos = funcs.getPos(targetElm, UiContainer.getUiContainer(ctrl));\n      x = pos.x;\n      y = pos.y;\n      if (isFixed(ctrl) && isStatic(document.body)) {\n        x -= viewport.x;\n        y -= viewport.y;\n      }\n      ctrlElm = ctrl.getEl();\n      size = funcs.getSize(ctrlElm);\n      selfW = size.width;\n      selfH = size.height;\n      size = funcs.getSize(targetElm);\n      targetW = size.width;\n      targetH = size.height;\n      rel = (rel || '').split('');\n      if (rel[0] === 'b') {\n        y += targetH;\n      }\n      if (rel[1] === 'r') {\n        x += targetW;\n      }\n      if (rel[0] === 'c') {\n        y += Math.round(targetH / 2);\n      }\n      if (rel[1] === 'c') {\n        x += Math.round(targetW / 2);\n      }\n      if (rel[3] === 'b') {\n        y -= selfH;\n      }\n      if (rel[4] === 'r') {\n        x -= selfW;\n      }\n      if (rel[3] === 'c') {\n        y -= Math.round(selfH / 2);\n      }\n      if (rel[4] === 'c') {\n        x -= Math.round(selfW / 2);\n      }\n      return {\n        x: x,\n        y: y,\n        w: selfW,\n        h: selfH\n      };\n    }\n    var getUiContainerViewPort = function (customUiContainer) {\n      return {\n        x: 0,\n        y: 0,\n        w: customUiContainer.scrollWidth - 1,\n        h: customUiContainer.scrollHeight - 1\n      };\n    };\n    var getWindowViewPort = function () {\n      var win = window;\n      var x = Math.max(win.pageXOffset, document.body.scrollLeft, document.documentElement.scrollLeft);\n      var y = Math.max(win.pageYOffset, document.body.scrollTop, document.documentElement.scrollTop);\n      var w = win.innerWidth || document.documentElement.clientWidth;\n      var h = win.innerHeight || document.documentElement.clientHeight;\n      return {\n        x: x,\n        y: y,\n        w: w,\n        h: h\n      };\n    };\n    var getViewPortRect = function (ctrl) {\n      var customUiContainer = UiContainer.getUiContainer(ctrl);\n      return customUiContainer && !isFixed(ctrl) ? getUiContainerViewPort(customUiContainer) : getWindowViewPort();\n    };\n    var Movable = {\n      testMoveRel: function (elm, rels) {\n        var viewPortRect = getViewPortRect(this);\n        for (var i = 0; i < rels.length; i++) {\n          var pos = calculateRelativePosition(this, elm, rels[i]);\n          if (isFixed(this)) {\n            if (pos.x > 0 && pos.x + pos.w < viewPortRect.w && pos.y > 0 && pos.y + pos.h < viewPortRect.h) {\n              return rels[i];\n            }\n          } else {\n            if (pos.x > viewPortRect.x && pos.x + pos.w < viewPortRect.w + viewPortRect.x && pos.y > viewPortRect.y && pos.y + pos.h < viewPortRect.h + viewPortRect.y) {\n              return rels[i];\n            }\n          }\n        }\n        return rels[0];\n      },\n      moveRel: function (elm, rel) {\n        if (typeof rel !== 'string') {\n          rel = this.testMoveRel(elm, rel);\n        }\n        var pos = calculateRelativePosition(this, elm, rel);\n        return this.moveTo(pos.x, pos.y);\n      },\n      moveBy: function (dx, dy) {\n        var self$$1 = this, rect = self$$1.layoutRect();\n        self$$1.moveTo(rect.x + dx, rect.y + dy);\n        return self$$1;\n      },\n      moveTo: function (x, y) {\n        var self$$1 = this;\n        function constrain(value, max, size) {\n          if (value < 0) {\n            return 0;\n          }\n          if (value + size > max) {\n            value = max - size;\n            return value < 0 ? 0 : value;\n          }\n          return value;\n        }\n        if (self$$1.settings.constrainToViewport) {\n          var viewPortRect = getViewPortRect(this);\n          var layoutRect = self$$1.layoutRect();\n          x = constrain(x, viewPortRect.w + viewPortRect.x, layoutRect.w);\n          y = constrain(y, viewPortRect.h + viewPortRect.y, layoutRect.h);\n        }\n        var uiContainer = UiContainer.getUiContainer(self$$1);\n        if (uiContainer && isStatic(uiContainer) && !isFixed(self$$1)) {\n          x -= uiContainer.scrollLeft;\n          y -= uiContainer.scrollTop;\n        }\n        if (uiContainer) {\n          x += 1;\n          y += 1;\n        }\n        if (self$$1.state.get('rendered')) {\n          self$$1.layoutRect({\n            x: x,\n            y: y\n          }).repaint();\n        } else {\n          self$$1.settings.x = x;\n          self$$1.settings.y = y;\n        }\n        self$$1.fire('move', {\n          x: x,\n          y: y\n        });\n        return self$$1;\n      }\n    };\n\n    var global$a = tinymce.util.Tools.resolve('tinymce.util.Class');\n\n    var global$b = tinymce.util.Tools.resolve('tinymce.util.EventDispatcher');\n\n    var BoxUtils = {\n      parseBox: function (value) {\n        var len;\n        var radix = 10;\n        if (!value) {\n          return;\n        }\n        if (typeof value === 'number') {\n          value = value || 0;\n          return {\n            top: value,\n            left: value,\n            bottom: value,\n            right: value\n          };\n        }\n        value = value.split(' ');\n        len = value.length;\n        if (len === 1) {\n          value[1] = value[2] = value[3] = value[0];\n        } else if (len === 2) {\n          value[2] = value[0];\n          value[3] = value[1];\n        } else if (len === 3) {\n          value[3] = value[1];\n        }\n        return {\n          top: parseInt(value[0], radix) || 0,\n          right: parseInt(value[1], radix) || 0,\n          bottom: parseInt(value[2], radix) || 0,\n          left: parseInt(value[3], radix) || 0\n        };\n      },\n      measureBox: function (elm, prefix) {\n        function getStyle(name) {\n          var defaultView = elm.ownerDocument.defaultView;\n          if (defaultView) {\n            var computedStyle = defaultView.getComputedStyle(elm, null);\n            if (computedStyle) {\n              name = name.replace(/[A-Z]/g, function (a) {\n                return '-' + a;\n              });\n              return computedStyle.getPropertyValue(name);\n            } else {\n              return null;\n            }\n          }\n          return elm.currentStyle[name];\n        }\n        function getSide(name) {\n          var val = parseFloat(getStyle(name));\n          return isNaN(val) ? 0 : val;\n        }\n        return {\n          top: getSide(prefix + 'TopWidth'),\n          right: getSide(prefix + 'RightWidth'),\n          bottom: getSide(prefix + 'BottomWidth'),\n          left: getSide(prefix + 'LeftWidth')\n        };\n      }\n    };\n\n    function noop$1() {\n    }\n    function ClassList(onchange) {\n      this.cls = [];\n      this.cls._map = {};\n      this.onchange = onchange || noop$1;\n      this.prefix = '';\n    }\n    global$2.extend(ClassList.prototype, {\n      add: function (cls) {\n        if (cls && !this.contains(cls)) {\n          this.cls._map[cls] = true;\n          this.cls.push(cls);\n          this._change();\n        }\n        return this;\n      },\n      remove: function (cls) {\n        if (this.contains(cls)) {\n          var i = void 0;\n          for (i = 0; i < this.cls.length; i++) {\n            if (this.cls[i] === cls) {\n              break;\n            }\n          }\n          this.cls.splice(i, 1);\n          delete this.cls._map[cls];\n          this._change();\n        }\n        return this;\n      },\n      toggle: function (cls, state) {\n        var curState = this.contains(cls);\n        if (curState !== state) {\n          if (curState) {\n            this.remove(cls);\n          } else {\n            this.add(cls);\n          }\n          this._change();\n        }\n        return this;\n      },\n      contains: function (cls) {\n        return !!this.cls._map[cls];\n      },\n      _change: function () {\n        delete this.clsValue;\n        this.onchange.call(this);\n      }\n    });\n    ClassList.prototype.toString = function () {\n      var value;\n      if (this.clsValue) {\n        return this.clsValue;\n      }\n      value = '';\n      for (var i = 0; i < this.cls.length; i++) {\n        if (i > 0) {\n          value += ' ';\n        }\n        value += this.prefix + this.cls[i];\n      }\n      return value;\n    };\n\n    function unique(array) {\n      var uniqueItems = [];\n      var i = array.length, item;\n      while (i--) {\n        item = array[i];\n        if (!item.__checked) {\n          uniqueItems.push(item);\n          item.__checked = 1;\n        }\n      }\n      i = uniqueItems.length;\n      while (i--) {\n        delete uniqueItems[i].__checked;\n      }\n      return uniqueItems;\n    }\n    var expression = /^([\\w\\\\*]+)?(?:#([\\w\\-\\\\]+))?(?:\\.([\\w\\\\\\.]+))?(?:\\[\\@?([\\w\\\\]+)([\\^\\$\\*!~]?=)([\\w\\\\]+)\\])?(?:\\:(.+))?/i;\n    var chunker = /((?:\\((?:\\([^()]+\\)|[^()]+)+\\)|\\[(?:\\[[^\\[\\]]*\\]|['\"][^'\"]*['\"]|[^\\[\\]'\"]+)+\\]|\\\\.|[^ >+~,(\\[\\\\]+)+|[>+~])(\\s*,\\s*)?((?:.|\\r|\\n)*)/g;\n    var whiteSpace = /^\\s*|\\s*$/g;\n    var Collection;\n    var Selector = global$a.extend({\n      init: function (selector) {\n        var match = this.match;\n        function compileNameFilter(name) {\n          if (name) {\n            name = name.toLowerCase();\n            return function (item) {\n              return name === '*' || item.type === name;\n            };\n          }\n        }\n        function compileIdFilter(id) {\n          if (id) {\n            return function (item) {\n              return item._name === id;\n            };\n          }\n        }\n        function compileClassesFilter(classes) {\n          if (classes) {\n            classes = classes.split('.');\n            return function (item) {\n              var i = classes.length;\n              while (i--) {\n                if (!item.classes.contains(classes[i])) {\n                  return false;\n                }\n              }\n              return true;\n            };\n          }\n        }\n        function compileAttrFilter(name, cmp, check) {\n          if (name) {\n            return function (item) {\n              var value = item[name] ? item[name]() : '';\n              return !cmp ? !!check : cmp === '=' ? value === check : cmp === '*=' ? value.indexOf(check) >= 0 : cmp === '~=' ? (' ' + value + ' ').indexOf(' ' + check + ' ') >= 0 : cmp === '!=' ? value !== check : cmp === '^=' ? value.indexOf(check) === 0 : cmp === '$=' ? value.substr(value.length - check.length) === check : false;\n            };\n          }\n        }\n        function compilePsuedoFilter(name) {\n          var notSelectors;\n          if (name) {\n            name = /(?:not\\((.+)\\))|(.+)/i.exec(name);\n            if (!name[1]) {\n              name = name[2];\n              return function (item, index, length) {\n                return name === 'first' ? index === 0 : name === 'last' ? index === length - 1 : name === 'even' ? index % 2 === 0 : name === 'odd' ? index % 2 === 1 : item[name] ? item[name]() : false;\n              };\n            }\n            notSelectors = parseChunks(name[1], []);\n            return function (item) {\n              return !match(item, notSelectors);\n            };\n          }\n        }\n        function compile(selector, filters, direct) {\n          var parts;\n          function add(filter) {\n            if (filter) {\n              filters.push(filter);\n            }\n          }\n          parts = expression.exec(selector.replace(whiteSpace, ''));\n          add(compileNameFilter(parts[1]));\n          add(compileIdFilter(parts[2]));\n          add(compileClassesFilter(parts[3]));\n          add(compileAttrFilter(parts[4], parts[5], parts[6]));\n          add(compilePsuedoFilter(parts[7]));\n          filters.pseudo = !!parts[7];\n          filters.direct = direct;\n          return filters;\n        }\n        function parseChunks(selector, selectors) {\n          var parts = [];\n          var extra, matches, i;\n          do {\n            chunker.exec('');\n            matches = chunker.exec(selector);\n            if (matches) {\n              selector = matches[3];\n              parts.push(matches[1]);\n              if (matches[2]) {\n                extra = matches[3];\n                break;\n              }\n            }\n          } while (matches);\n          if (extra) {\n            parseChunks(extra, selectors);\n          }\n          selector = [];\n          for (i = 0; i < parts.length; i++) {\n            if (parts[i] !== '>') {\n              selector.push(compile(parts[i], [], parts[i - 1] === '>'));\n            }\n          }\n          selectors.push(selector);\n          return selectors;\n        }\n        this._selectors = parseChunks(selector, []);\n      },\n      match: function (control, selectors) {\n        var i, l, si, sl, selector, fi, fl, filters, index, length, siblings, count, item;\n        selectors = selectors || this._selectors;\n        for (i = 0, l = selectors.length; i < l; i++) {\n          selector = selectors[i];\n          sl = selector.length;\n          item = control;\n          count = 0;\n          for (si = sl - 1; si >= 0; si--) {\n            filters = selector[si];\n            while (item) {\n              if (filters.pseudo) {\n                siblings = item.parent().items();\n                index = length = siblings.length;\n                while (index--) {\n                  if (siblings[index] === item) {\n                    break;\n                  }\n                }\n              }\n              for (fi = 0, fl = filters.length; fi < fl; fi++) {\n                if (!filters[fi](item, index, length)) {\n                  fi = fl + 1;\n                  break;\n                }\n              }\n              if (fi === fl) {\n                count++;\n                break;\n              } else {\n                if (si === sl - 1) {\n                  break;\n                }\n              }\n              item = item.parent();\n            }\n          }\n          if (count === sl) {\n            return true;\n          }\n        }\n        return false;\n      },\n      find: function (container) {\n        var matches = [], i, l;\n        var selectors = this._selectors;\n        function collect(items, selector, index) {\n          var i, l, fi, fl, item;\n          var filters = selector[index];\n          for (i = 0, l = items.length; i < l; i++) {\n            item = items[i];\n            for (fi = 0, fl = filters.length; fi < fl; fi++) {\n              if (!filters[fi](item, i, l)) {\n                fi = fl + 1;\n                break;\n              }\n            }\n            if (fi === fl) {\n              if (index === selector.length - 1) {\n                matches.push(item);\n              } else {\n                if (item.items) {\n                  collect(item.items(), selector, index + 1);\n                }\n              }\n            } else if (filters.direct) {\n              return;\n            }\n            if (item.items) {\n              collect(item.items(), selector, index);\n            }\n          }\n        }\n        if (container.items) {\n          for (i = 0, l = selectors.length; i < l; i++) {\n            collect(container.items(), selectors[i], 0);\n          }\n          if (l > 1) {\n            matches = unique(matches);\n          }\n        }\n        if (!Collection) {\n          Collection = Selector.Collection;\n        }\n        return new Collection(matches);\n      }\n    });\n\n    var Collection$1, proto;\n    var push$1 = Array.prototype.push, slice$1 = Array.prototype.slice;\n    proto = {\n      length: 0,\n      init: function (items) {\n        if (items) {\n          this.add(items);\n        }\n      },\n      add: function (items) {\n        var self = this;\n        if (!global$2.isArray(items)) {\n          if (items instanceof Collection$1) {\n            self.add(items.toArray());\n          } else {\n            push$1.call(self, items);\n          }\n        } else {\n          push$1.apply(self, items);\n        }\n        return self;\n      },\n      set: function (items) {\n        var self = this;\n        var len = self.length;\n        var i;\n        self.length = 0;\n        self.add(items);\n        for (i = self.length; i < len; i++) {\n          delete self[i];\n        }\n        return self;\n      },\n      filter: function (selector) {\n        var self = this;\n        var i, l;\n        var matches = [];\n        var item, match;\n        if (typeof selector === 'string') {\n          selector = new Selector(selector);\n          match = function (item) {\n            return selector.match(item);\n          };\n        } else {\n          match = selector;\n        }\n        for (i = 0, l = self.length; i < l; i++) {\n          item = self[i];\n          if (match(item)) {\n            matches.push(item);\n          }\n        }\n        return new Collection$1(matches);\n      },\n      slice: function () {\n        return new Collection$1(slice$1.apply(this, arguments));\n      },\n      eq: function (index) {\n        return index === -1 ? this.slice(index) : this.slice(index, +index + 1);\n      },\n      each: function (callback) {\n        global$2.each(this, callback);\n        return this;\n      },\n      toArray: function () {\n        return global$2.toArray(this);\n      },\n      indexOf: function (ctrl) {\n        var self = this;\n        var i = self.length;\n        while (i--) {\n          if (self[i] === ctrl) {\n            break;\n          }\n        }\n        return i;\n      },\n      reverse: function () {\n        return new Collection$1(global$2.toArray(this).reverse());\n      },\n      hasClass: function (cls) {\n        return this[0] ? this[0].classes.contains(cls) : false;\n      },\n      prop: function (name, value) {\n        var self = this;\n        var item;\n        if (value !== undefined) {\n          self.each(function (item) {\n            if (item[name]) {\n              item[name](value);\n            }\n          });\n          return self;\n        }\n        item = self[0];\n        if (item && item[name]) {\n          return item[name]();\n        }\n      },\n      exec: function (name) {\n        var self = this, args = global$2.toArray(arguments).slice(1);\n        self.each(function (item) {\n          if (item[name]) {\n            item[name].apply(item, args);\n          }\n        });\n        return self;\n      },\n      remove: function () {\n        var i = this.length;\n        while (i--) {\n          this[i].remove();\n        }\n        return this;\n      },\n      addClass: function (cls) {\n        return this.each(function (item) {\n          item.classes.add(cls);\n        });\n      },\n      removeClass: function (cls) {\n        return this.each(function (item) {\n          item.classes.remove(cls);\n        });\n      }\n    };\n    global$2.each('fire on off show hide append prepend before after reflow'.split(' '), function (name) {\n      proto[name] = function () {\n        var args = global$2.toArray(arguments);\n        this.each(function (ctrl) {\n          if (name in ctrl) {\n            ctrl[name].apply(ctrl, args);\n          }\n        });\n        return this;\n      };\n    });\n    global$2.each('text name disabled active selected checked visible parent value data'.split(' '), function (name) {\n      proto[name] = function (value) {\n        return this.prop(name, value);\n      };\n    });\n    Collection$1 = global$a.extend(proto);\n    Selector.Collection = Collection$1;\n    var Collection$2 = Collection$1;\n\n    var Binding = function (settings) {\n      this.create = settings.create;\n    };\n    Binding.create = function (model, name) {\n      return new Binding({\n        create: function (otherModel, otherName) {\n          var bindings;\n          var fromSelfToOther = function (e) {\n            otherModel.set(otherName, e.value);\n          };\n          var fromOtherToSelf = function (e) {\n            model.set(name, e.value);\n          };\n          otherModel.on('change:' + otherName, fromOtherToSelf);\n          model.on('change:' + name, fromSelfToOther);\n          bindings = otherModel._bindings;\n          if (!bindings) {\n            bindings = otherModel._bindings = [];\n            otherModel.on('destroy', function () {\n              var i = bindings.length;\n              while (i--) {\n                bindings[i]();\n              }\n            });\n          }\n          bindings.push(function () {\n            model.off('change:' + name, fromSelfToOther);\n          });\n          return model.get(name);\n        }\n      });\n    };\n\n    var global$c = tinymce.util.Tools.resolve('tinymce.util.Observable');\n\n    function isNode(node) {\n      return node.nodeType > 0;\n    }\n    function isEqual(a, b) {\n      var k, checked;\n      if (a === b) {\n        return true;\n      }\n      if (a === null || b === null) {\n        return a === b;\n      }\n      if (typeof a !== 'object' || typeof b !== 'object') {\n        return a === b;\n      }\n      if (global$2.isArray(b)) {\n        if (a.length !== b.length) {\n          return false;\n        }\n        k = a.length;\n        while (k--) {\n          if (!isEqual(a[k], b[k])) {\n            return false;\n          }\n        }\n      }\n      if (isNode(a) || isNode(b)) {\n        return a === b;\n      }\n      checked = {};\n      for (k in b) {\n        if (!isEqual(a[k], b[k])) {\n          return false;\n        }\n        checked[k] = true;\n      }\n      for (k in a) {\n        if (!checked[k] && !isEqual(a[k], b[k])) {\n          return false;\n        }\n      }\n      return true;\n    }\n    var ObservableObject = global$a.extend({\n      Mixins: [global$c],\n      init: function (data) {\n        var name, value;\n        data = data || {};\n        for (name in data) {\n          value = data[name];\n          if (value instanceof Binding) {\n            data[name] = value.create(this, name);\n          }\n        }\n        this.data = data;\n      },\n      set: function (name, value) {\n        var key, args;\n        var oldValue = this.data[name];\n        if (value instanceof Binding) {\n          value = value.create(this, name);\n        }\n        if (typeof name === 'object') {\n          for (key in name) {\n            this.set(key, name[key]);\n          }\n          return this;\n        }\n        if (!isEqual(oldValue, value)) {\n          this.data[name] = value;\n          args = {\n            target: this,\n            name: name,\n            value: value,\n            oldValue: oldValue\n          };\n          this.fire('change:' + name, args);\n          this.fire('change', args);\n        }\n        return this;\n      },\n      get: function (name) {\n        return this.data[name];\n      },\n      has: function (name) {\n        return name in this.data;\n      },\n      bind: function (name) {\n        return Binding.create(this, name);\n      },\n      destroy: function () {\n        this.fire('destroy');\n      }\n    });\n\n    var dirtyCtrls = {}, animationFrameRequested;\n    var ReflowQueue = {\n      add: function (ctrl) {\n        var parent$$1 = ctrl.parent();\n        if (parent$$1) {\n          if (!parent$$1._layout || parent$$1._layout.isNative()) {\n            return;\n          }\n          if (!dirtyCtrls[parent$$1._id]) {\n            dirtyCtrls[parent$$1._id] = parent$$1;\n          }\n          if (!animationFrameRequested) {\n            animationFrameRequested = true;\n            global$7.requestAnimationFrame(function () {\n              var id, ctrl;\n              animationFrameRequested = false;\n              for (id in dirtyCtrls) {\n                ctrl = dirtyCtrls[id];\n                if (ctrl.state.get('rendered')) {\n                  ctrl.reflow();\n                }\n              }\n              dirtyCtrls = {};\n            }, document.body);\n          }\n        }\n      },\n      remove: function (ctrl) {\n        if (dirtyCtrls[ctrl._id]) {\n          delete dirtyCtrls[ctrl._id];\n        }\n      }\n    };\n\n    var hasMouseWheelEventSupport = 'onmousewheel' in document;\n    var hasWheelEventSupport = false;\n    var classPrefix = 'mce-';\n    var Control, idCounter = 0;\n    var proto$1 = {\n      Statics: { classPrefix: classPrefix },\n      isRtl: function () {\n        return Control.rtl;\n      },\n      classPrefix: classPrefix,\n      init: function (settings) {\n        var self$$1 = this;\n        var classes, defaultClasses;\n        function applyClasses(classes) {\n          var i;\n          classes = classes.split(' ');\n          for (i = 0; i < classes.length; i++) {\n            self$$1.classes.add(classes[i]);\n          }\n        }\n        self$$1.settings = settings = global$2.extend({}, self$$1.Defaults, settings);\n        self$$1._id = settings.id || 'mceu_' + idCounter++;\n        self$$1._aria = { role: settings.role };\n        self$$1._elmCache = {};\n        self$$1.$ = global$9;\n        self$$1.state = new ObservableObject({\n          visible: true,\n          active: false,\n          disabled: false,\n          value: ''\n        });\n        self$$1.data = new ObservableObject(settings.data);\n        self$$1.classes = new ClassList(function () {\n          if (self$$1.state.get('rendered')) {\n            self$$1.getEl().className = this.toString();\n          }\n        });\n        self$$1.classes.prefix = self$$1.classPrefix;\n        classes = settings.classes;\n        if (classes) {\n          if (self$$1.Defaults) {\n            defaultClasses = self$$1.Defaults.classes;\n            if (defaultClasses && classes !== defaultClasses) {\n              applyClasses(defaultClasses);\n            }\n          }\n          applyClasses(classes);\n        }\n        global$2.each('title text name visible disabled active value'.split(' '), function (name$$1) {\n          if (name$$1 in settings) {\n            self$$1[name$$1](settings[name$$1]);\n          }\n        });\n        self$$1.on('click', function () {\n          if (self$$1.disabled()) {\n            return false;\n          }\n        });\n        self$$1.settings = settings;\n        self$$1.borderBox = BoxUtils.parseBox(settings.border);\n        self$$1.paddingBox = BoxUtils.parseBox(settings.padding);\n        self$$1.marginBox = BoxUtils.parseBox(settings.margin);\n        if (settings.hidden) {\n          self$$1.hide();\n        }\n      },\n      Properties: 'parent,name',\n      getContainerElm: function () {\n        var uiContainer = UiContainer.getUiContainer(this);\n        return uiContainer ? uiContainer : funcs.getContainer();\n      },\n      getParentCtrl: function (elm) {\n        var ctrl;\n        var lookup = this.getRoot().controlIdLookup;\n        while (elm && lookup) {\n          ctrl = lookup[elm.id];\n          if (ctrl) {\n            break;\n          }\n          elm = elm.parentNode;\n        }\n        return ctrl;\n      },\n      initLayoutRect: function () {\n        var self$$1 = this;\n        var settings = self$$1.settings;\n        var borderBox, layoutRect;\n        var elm = self$$1.getEl();\n        var width, height, minWidth, minHeight, autoResize;\n        var startMinWidth, startMinHeight, initialSize;\n        borderBox = self$$1.borderBox = self$$1.borderBox || BoxUtils.measureBox(elm, 'border');\n        self$$1.paddingBox = self$$1.paddingBox || BoxUtils.measureBox(elm, 'padding');\n        self$$1.marginBox = self$$1.marginBox || BoxUtils.measureBox(elm, 'margin');\n        initialSize = funcs.getSize(elm);\n        startMinWidth = settings.minWidth;\n        startMinHeight = settings.minHeight;\n        minWidth = startMinWidth || initialSize.width;\n        minHeight = startMinHeight || initialSize.height;\n        width = settings.width;\n        height = settings.height;\n        autoResize = settings.autoResize;\n        autoResize = typeof autoResize !== 'undefined' ? autoResize : !width && !height;\n        width = width || minWidth;\n        height = height || minHeight;\n        var deltaW = borderBox.left + borderBox.right;\n        var deltaH = borderBox.top + borderBox.bottom;\n        var maxW = settings.maxWidth || 65535;\n        var maxH = settings.maxHeight || 65535;\n        self$$1._layoutRect = layoutRect = {\n          x: settings.x || 0,\n          y: settings.y || 0,\n          w: width,\n          h: height,\n          deltaW: deltaW,\n          deltaH: deltaH,\n          contentW: width - deltaW,\n          contentH: height - deltaH,\n          innerW: width - deltaW,\n          innerH: height - deltaH,\n          startMinWidth: startMinWidth || 0,\n          startMinHeight: startMinHeight || 0,\n          minW: Math.min(minWidth, maxW),\n          minH: Math.min(minHeight, maxH),\n          maxW: maxW,\n          maxH: maxH,\n          autoResize: autoResize,\n          scrollW: 0\n        };\n        self$$1._lastLayoutRect = {};\n        return layoutRect;\n      },\n      layoutRect: function (newRect) {\n        var self$$1 = this;\n        var curRect = self$$1._layoutRect, lastLayoutRect, size, deltaWidth, deltaHeight, repaintControls;\n        if (!curRect) {\n          curRect = self$$1.initLayoutRect();\n        }\n        if (newRect) {\n          deltaWidth = curRect.deltaW;\n          deltaHeight = curRect.deltaH;\n          if (newRect.x !== undefined) {\n            curRect.x = newRect.x;\n          }\n          if (newRect.y !== undefined) {\n            curRect.y = newRect.y;\n          }\n          if (newRect.minW !== undefined) {\n            curRect.minW = newRect.minW;\n          }\n          if (newRect.minH !== undefined) {\n            curRect.minH = newRect.minH;\n          }\n          size = newRect.w;\n          if (size !== undefined) {\n            size = size < curRect.minW ? curRect.minW : size;\n            size = size > curRect.maxW ? curRect.maxW : size;\n            curRect.w = size;\n            curRect.innerW = size - deltaWidth;\n          }\n          size = newRect.h;\n          if (size !== undefined) {\n            size = size < curRect.minH ? curRect.minH : size;\n            size = size > curRect.maxH ? curRect.maxH : size;\n            curRect.h = size;\n            curRect.innerH = size - deltaHeight;\n          }\n          size = newRect.innerW;\n          if (size !== undefined) {\n            size = size < curRect.minW - deltaWidth ? curRect.minW - deltaWidth : size;\n            size = size > curRect.maxW - deltaWidth ? curRect.maxW - deltaWidth : size;\n            curRect.innerW = size;\n            curRect.w = size + deltaWidth;\n          }\n          size = newRect.innerH;\n          if (size !== undefined) {\n            size = size < curRect.minH - deltaHeight ? curRect.minH - deltaHeight : size;\n            size = size > curRect.maxH - deltaHeight ? curRect.maxH - deltaHeight : size;\n            curRect.innerH = size;\n            curRect.h = size + deltaHeight;\n          }\n          if (newRect.contentW !== undefined) {\n            curRect.contentW = newRect.contentW;\n          }\n          if (newRect.contentH !== undefined) {\n            curRect.contentH = newRect.contentH;\n          }\n          lastLayoutRect = self$$1._lastLayoutRect;\n          if (lastLayoutRect.x !== curRect.x || lastLayoutRect.y !== curRect.y || lastLayoutRect.w !== curRect.w || lastLayoutRect.h !== curRect.h) {\n            repaintControls = Control.repaintControls;\n            if (repaintControls) {\n              if (repaintControls.map && !repaintControls.map[self$$1._id]) {\n                repaintControls.push(self$$1);\n                repaintControls.map[self$$1._id] = true;\n              }\n            }\n            lastLayoutRect.x = curRect.x;\n            lastLayoutRect.y = curRect.y;\n            lastLayoutRect.w = curRect.w;\n            lastLayoutRect.h = curRect.h;\n          }\n          return self$$1;\n        }\n        return curRect;\n      },\n      repaint: function () {\n        var self$$1 = this;\n        var style, bodyStyle, bodyElm, rect, borderBox;\n        var borderW, borderH, lastRepaintRect, round, value;\n        round = !document.createRange ? Math.round : function (value) {\n          return value;\n        };\n        style = self$$1.getEl().style;\n        rect = self$$1._layoutRect;\n        lastRepaintRect = self$$1._lastRepaintRect || {};\n        borderBox = self$$1.borderBox;\n        borderW = borderBox.left + borderBox.right;\n        borderH = borderBox.top + borderBox.bottom;\n        if (rect.x !== lastRepaintRect.x) {\n          style.left = round(rect.x) + 'px';\n          lastRepaintRect.x = rect.x;\n        }\n        if (rect.y !== lastRepaintRect.y) {\n          style.top = round(rect.y) + 'px';\n          lastRepaintRect.y = rect.y;\n        }\n        if (rect.w !== lastRepaintRect.w) {\n          value = round(rect.w - borderW);\n          style.width = (value >= 0 ? value : 0) + 'px';\n          lastRepaintRect.w = rect.w;\n        }\n        if (rect.h !== lastRepaintRect.h) {\n          value = round(rect.h - borderH);\n          style.height = (value >= 0 ? value : 0) + 'px';\n          lastRepaintRect.h = rect.h;\n        }\n        if (self$$1._hasBody && rect.innerW !== lastRepaintRect.innerW) {\n          value = round(rect.innerW);\n          bodyElm = self$$1.getEl('body');\n          if (bodyElm) {\n            bodyStyle = bodyElm.style;\n            bodyStyle.width = (value >= 0 ? value : 0) + 'px';\n          }\n          lastRepaintRect.innerW = rect.innerW;\n        }\n        if (self$$1._hasBody && rect.innerH !== lastRepaintRect.innerH) {\n          value = round(rect.innerH);\n          bodyElm = bodyElm || self$$1.getEl('body');\n          if (bodyElm) {\n            bodyStyle = bodyStyle || bodyElm.style;\n            bodyStyle.height = (value >= 0 ? value : 0) + 'px';\n          }\n          lastRepaintRect.innerH = rect.innerH;\n        }\n        self$$1._lastRepaintRect = lastRepaintRect;\n        self$$1.fire('repaint', {}, false);\n      },\n      updateLayoutRect: function () {\n        var self$$1 = this;\n        self$$1.parent()._lastRect = null;\n        funcs.css(self$$1.getEl(), {\n          width: '',\n          height: ''\n        });\n        self$$1._layoutRect = self$$1._lastRepaintRect = self$$1._lastLayoutRect = null;\n        self$$1.initLayoutRect();\n      },\n      on: function (name$$1, callback) {\n        var self$$1 = this;\n        function resolveCallbackName(name$$1) {\n          var callback, scope;\n          if (typeof name$$1 !== 'string') {\n            return name$$1;\n          }\n          return function (e) {\n            if (!callback) {\n              self$$1.parentsAndSelf().each(function (ctrl) {\n                var callbacks = ctrl.settings.callbacks;\n                if (callbacks && (callback = callbacks[name$$1])) {\n                  scope = ctrl;\n                  return false;\n                }\n              });\n            }\n            if (!callback) {\n              e.action = name$$1;\n              this.fire('execute', e);\n              return;\n            }\n            return callback.call(scope, e);\n          };\n        }\n        getEventDispatcher(self$$1).on(name$$1, resolveCallbackName(callback));\n        return self$$1;\n      },\n      off: function (name$$1, callback) {\n        getEventDispatcher(this).off(name$$1, callback);\n        return this;\n      },\n      fire: function (name$$1, args, bubble) {\n        var self$$1 = this;\n        args = args || {};\n        if (!args.control) {\n          args.control = self$$1;\n        }\n        args = getEventDispatcher(self$$1).fire(name$$1, args);\n        if (bubble !== false && self$$1.parent) {\n          var parent$$1 = self$$1.parent();\n          while (parent$$1 && !args.isPropagationStopped()) {\n            parent$$1.fire(name$$1, args, false);\n            parent$$1 = parent$$1.parent();\n          }\n        }\n        return args;\n      },\n      hasEventListeners: function (name$$1) {\n        return getEventDispatcher(this).has(name$$1);\n      },\n      parents: function (selector) {\n        var self$$1 = this;\n        var ctrl, parents = new Collection$2();\n        for (ctrl = self$$1.parent(); ctrl; ctrl = ctrl.parent()) {\n          parents.add(ctrl);\n        }\n        if (selector) {\n          parents = parents.filter(selector);\n        }\n        return parents;\n      },\n      parentsAndSelf: function (selector) {\n        return new Collection$2(this).add(this.parents(selector));\n      },\n      next: function () {\n        var parentControls = this.parent().items();\n        return parentControls[parentControls.indexOf(this) + 1];\n      },\n      prev: function () {\n        var parentControls = this.parent().items();\n        return parentControls[parentControls.indexOf(this) - 1];\n      },\n      innerHtml: function (html) {\n        this.$el.html(html);\n        return this;\n      },\n      getEl: function (suffix) {\n        var id = suffix ? this._id + '-' + suffix : this._id;\n        if (!this._elmCache[id]) {\n          this._elmCache[id] = global$9('#' + id)[0];\n        }\n        return this._elmCache[id];\n      },\n      show: function () {\n        return this.visible(true);\n      },\n      hide: function () {\n        return this.visible(false);\n      },\n      focus: function () {\n        try {\n          this.getEl().focus();\n        } catch (ex) {\n        }\n        return this;\n      },\n      blur: function () {\n        this.getEl().blur();\n        return this;\n      },\n      aria: function (name$$1, value) {\n        var self$$1 = this, elm = self$$1.getEl(self$$1.ariaTarget);\n        if (typeof value === 'undefined') {\n          return self$$1._aria[name$$1];\n        }\n        self$$1._aria[name$$1] = value;\n        if (self$$1.state.get('rendered')) {\n          elm.setAttribute(name$$1 === 'role' ? name$$1 : 'aria-' + name$$1, value);\n        }\n        return self$$1;\n      },\n      encode: function (text, translate) {\n        if (translate !== false) {\n          text = this.translate(text);\n        }\n        return (text || '').replace(/[&<>\"]/g, function (match) {\n          return '&#' + match.charCodeAt(0) + ';';\n        });\n      },\n      translate: function (text) {\n        return Control.translate ? Control.translate(text) : text;\n      },\n      before: function (items) {\n        var self$$1 = this, parent$$1 = self$$1.parent();\n        if (parent$$1) {\n          parent$$1.insert(items, parent$$1.items().indexOf(self$$1), true);\n        }\n        return self$$1;\n      },\n      after: function (items) {\n        var self$$1 = this, parent$$1 = self$$1.parent();\n        if (parent$$1) {\n          parent$$1.insert(items, parent$$1.items().indexOf(self$$1));\n        }\n        return self$$1;\n      },\n      remove: function () {\n        var self$$1 = this;\n        var elm = self$$1.getEl();\n        var parent$$1 = self$$1.parent();\n        var newItems, i;\n        if (self$$1.items) {\n          var controls = self$$1.items().toArray();\n          i = controls.length;\n          while (i--) {\n            controls[i].remove();\n          }\n        }\n        if (parent$$1 && parent$$1.items) {\n          newItems = [];\n          parent$$1.items().each(function (item) {\n            if (item !== self$$1) {\n              newItems.push(item);\n            }\n          });\n          parent$$1.items().set(newItems);\n          parent$$1._lastRect = null;\n        }\n        if (self$$1._eventsRoot && self$$1._eventsRoot === self$$1) {\n          global$9(elm).off();\n        }\n        var lookup = self$$1.getRoot().controlIdLookup;\n        if (lookup) {\n          delete lookup[self$$1._id];\n        }\n        if (elm && elm.parentNode) {\n          elm.parentNode.removeChild(elm);\n        }\n        self$$1.state.set('rendered', false);\n        self$$1.state.destroy();\n        self$$1.fire('remove');\n        return self$$1;\n      },\n      renderBefore: function (elm) {\n        global$9(elm).before(this.renderHtml());\n        this.postRender();\n        return this;\n      },\n      renderTo: function (elm) {\n        global$9(elm || this.getContainerElm()).append(this.renderHtml());\n        this.postRender();\n        return this;\n      },\n      preRender: function () {\n      },\n      render: function () {\n      },\n      renderHtml: function () {\n        return '<div id=\"' + this._id + '\" class=\"' + this.classes + '\"></div>';\n      },\n      postRender: function () {\n        var self$$1 = this;\n        var settings = self$$1.settings;\n        var elm, box, parent$$1, name$$1, parentEventsRoot;\n        self$$1.$el = global$9(self$$1.getEl());\n        self$$1.state.set('rendered', true);\n        for (name$$1 in settings) {\n          if (name$$1.indexOf('on') === 0) {\n            self$$1.on(name$$1.substr(2), settings[name$$1]);\n          }\n        }\n        if (self$$1._eventsRoot) {\n          for (parent$$1 = self$$1.parent(); !parentEventsRoot && parent$$1; parent$$1 = parent$$1.parent()) {\n            parentEventsRoot = parent$$1._eventsRoot;\n          }\n          if (parentEventsRoot) {\n            for (name$$1 in parentEventsRoot._nativeEvents) {\n              self$$1._nativeEvents[name$$1] = true;\n            }\n          }\n        }\n        bindPendingEvents(self$$1);\n        if (settings.style) {\n          elm = self$$1.getEl();\n          if (elm) {\n            elm.setAttribute('style', settings.style);\n            elm.style.cssText = settings.style;\n          }\n        }\n        if (self$$1.settings.border) {\n          box = self$$1.borderBox;\n          self$$1.$el.css({\n            'border-top-width': box.top,\n            'border-right-width': box.right,\n            'border-bottom-width': box.bottom,\n            'border-left-width': box.left\n          });\n        }\n        var root = self$$1.getRoot();\n        if (!root.controlIdLookup) {\n          root.controlIdLookup = {};\n        }\n        root.controlIdLookup[self$$1._id] = self$$1;\n        for (var key in self$$1._aria) {\n          self$$1.aria(key, self$$1._aria[key]);\n        }\n        if (self$$1.state.get('visible') === false) {\n          self$$1.getEl().style.display = 'none';\n        }\n        self$$1.bindStates();\n        self$$1.state.on('change:visible', function (e) {\n          var state = e.value;\n          var parentCtrl;\n          if (self$$1.state.get('rendered')) {\n            self$$1.getEl().style.display = state === false ? 'none' : '';\n            self$$1.getEl().getBoundingClientRect();\n          }\n          parentCtrl = self$$1.parent();\n          if (parentCtrl) {\n            parentCtrl._lastRect = null;\n          }\n          self$$1.fire(state ? 'show' : 'hide');\n          ReflowQueue.add(self$$1);\n        });\n        self$$1.fire('postrender', {}, false);\n      },\n      bindStates: function () {\n      },\n      scrollIntoView: function (align) {\n        function getOffset(elm, rootElm) {\n          var x, y, parent$$1 = elm;\n          x = y = 0;\n          while (parent$$1 && parent$$1 !== rootElm && parent$$1.nodeType) {\n            x += parent$$1.offsetLeft || 0;\n            y += parent$$1.offsetTop || 0;\n            parent$$1 = parent$$1.offsetParent;\n          }\n          return {\n            x: x,\n            y: y\n          };\n        }\n        var elm = this.getEl(), parentElm = elm.parentNode;\n        var x, y, width, height, parentWidth, parentHeight;\n        var pos = getOffset(elm, parentElm);\n        x = pos.x;\n        y = pos.y;\n        width = elm.offsetWidth;\n        height = elm.offsetHeight;\n        parentWidth = parentElm.clientWidth;\n        parentHeight = parentElm.clientHeight;\n        if (align === 'end') {\n          x -= parentWidth - width;\n          y -= parentHeight - height;\n        } else if (align === 'center') {\n          x -= parentWidth / 2 - width / 2;\n          y -= parentHeight / 2 - height / 2;\n        }\n        parentElm.scrollLeft = x;\n        parentElm.scrollTop = y;\n        return this;\n      },\n      getRoot: function () {\n        var ctrl = this, rootControl;\n        var parents = [];\n        while (ctrl) {\n          if (ctrl.rootControl) {\n            rootControl = ctrl.rootControl;\n            break;\n          }\n          parents.push(ctrl);\n          rootControl = ctrl;\n          ctrl = ctrl.parent();\n        }\n        if (!rootControl) {\n          rootControl = this;\n        }\n        var i = parents.length;\n        while (i--) {\n          parents[i].rootControl = rootControl;\n        }\n        return rootControl;\n      },\n      reflow: function () {\n        ReflowQueue.remove(this);\n        var parent$$1 = this.parent();\n        if (parent$$1 && parent$$1._layout && !parent$$1._layout.isNative()) {\n          parent$$1.reflow();\n        }\n        return this;\n      }\n    };\n    global$2.each('text title visible disabled active value'.split(' '), function (name$$1) {\n      proto$1[name$$1] = function (value) {\n        if (arguments.length === 0) {\n          return this.state.get(name$$1);\n        }\n        if (typeof value !== 'undefined') {\n          this.state.set(name$$1, value);\n        }\n        return this;\n      };\n    });\n    Control = global$a.extend(proto$1);\n    function getEventDispatcher(obj) {\n      if (!obj._eventDispatcher) {\n        obj._eventDispatcher = new global$b({\n          scope: obj,\n          toggleEvent: function (name$$1, state) {\n            if (state && global$b.isNative(name$$1)) {\n              if (!obj._nativeEvents) {\n                obj._nativeEvents = {};\n              }\n              obj._nativeEvents[name$$1] = true;\n              if (obj.state.get('rendered')) {\n                bindPendingEvents(obj);\n              }\n            }\n          }\n        });\n      }\n      return obj._eventDispatcher;\n    }\n    function bindPendingEvents(eventCtrl) {\n      var i, l, parents, eventRootCtrl, nativeEvents, name$$1;\n      function delegate(e) {\n        var control = eventCtrl.getParentCtrl(e.target);\n        if (control) {\n          control.fire(e.type, e);\n        }\n      }\n      function mouseLeaveHandler() {\n        var ctrl = eventRootCtrl._lastHoverCtrl;\n        if (ctrl) {\n          ctrl.fire('mouseleave', { target: ctrl.getEl() });\n          ctrl.parents().each(function (ctrl) {\n            ctrl.fire('mouseleave', { target: ctrl.getEl() });\n          });\n          eventRootCtrl._lastHoverCtrl = null;\n        }\n      }\n      function mouseEnterHandler(e) {\n        var ctrl = eventCtrl.getParentCtrl(e.target), lastCtrl = eventRootCtrl._lastHoverCtrl, idx = 0, i, parents, lastParents;\n        if (ctrl !== lastCtrl) {\n          eventRootCtrl._lastHoverCtrl = ctrl;\n          parents = ctrl.parents().toArray().reverse();\n          parents.push(ctrl);\n          if (lastCtrl) {\n            lastParents = lastCtrl.parents().toArray().reverse();\n            lastParents.push(lastCtrl);\n            for (idx = 0; idx < lastParents.length; idx++) {\n              if (parents[idx] !== lastParents[idx]) {\n                break;\n              }\n            }\n            for (i = lastParents.length - 1; i >= idx; i--) {\n              lastCtrl = lastParents[i];\n              lastCtrl.fire('mouseleave', { target: lastCtrl.getEl() });\n            }\n          }\n          for (i = idx; i < parents.length; i++) {\n            ctrl = parents[i];\n            ctrl.fire('mouseenter', { target: ctrl.getEl() });\n          }\n        }\n      }\n      function fixWheelEvent(e) {\n        e.preventDefault();\n        if (e.type === 'mousewheel') {\n          e.deltaY = -1 / 40 * e.wheelDelta;\n          if (e.wheelDeltaX) {\n            e.deltaX = -1 / 40 * e.wheelDeltaX;\n          }\n        } else {\n          e.deltaX = 0;\n          e.deltaY = e.detail;\n        }\n        e = eventCtrl.fire('wheel', e);\n      }\n      nativeEvents = eventCtrl._nativeEvents;\n      if (nativeEvents) {\n        parents = eventCtrl.parents().toArray();\n        parents.unshift(eventCtrl);\n        for (i = 0, l = parents.length; !eventRootCtrl && i < l; i++) {\n          eventRootCtrl = parents[i]._eventsRoot;\n        }\n        if (!eventRootCtrl) {\n          eventRootCtrl = parents[parents.length - 1] || eventCtrl;\n        }\n        eventCtrl._eventsRoot = eventRootCtrl;\n        for (l = i, i = 0; i < l; i++) {\n          parents[i]._eventsRoot = eventRootCtrl;\n        }\n        var eventRootDelegates = eventRootCtrl._delegates;\n        if (!eventRootDelegates) {\n          eventRootDelegates = eventRootCtrl._delegates = {};\n        }\n        for (name$$1 in nativeEvents) {\n          if (!nativeEvents) {\n            return false;\n          }\n          if (name$$1 === 'wheel' && !hasWheelEventSupport) {\n            if (hasMouseWheelEventSupport) {\n              global$9(eventCtrl.getEl()).on('mousewheel', fixWheelEvent);\n            } else {\n              global$9(eventCtrl.getEl()).on('DOMMouseScroll', fixWheelEvent);\n            }\n            continue;\n          }\n          if (name$$1 === 'mouseenter' || name$$1 === 'mouseleave') {\n            if (!eventRootCtrl._hasMouseEnter) {\n              global$9(eventRootCtrl.getEl()).on('mouseleave', mouseLeaveHandler).on('mouseover', mouseEnterHandler);\n              eventRootCtrl._hasMouseEnter = 1;\n            }\n          } else if (!eventRootDelegates[name$$1]) {\n            global$9(eventRootCtrl.getEl()).on(name$$1, delegate);\n            eventRootDelegates[name$$1] = true;\n          }\n          nativeEvents[name$$1] = false;\n        }\n      }\n    }\n    var Control$1 = Control;\n\n    var hasTabstopData = function (elm) {\n      return elm.getAttribute('data-mce-tabstop') ? true : false;\n    };\n    function KeyboardNavigation (settings) {\n      var root = settings.root;\n      var focusedElement, focusedControl;\n      function isElement(node) {\n        return node && node.nodeType === 1;\n      }\n      try {\n        focusedElement = document.activeElement;\n      } catch (ex) {\n        focusedElement = document.body;\n      }\n      focusedControl = root.getParentCtrl(focusedElement);\n      function getRole(elm) {\n        elm = elm || focusedElement;\n        if (isElement(elm)) {\n          return elm.getAttribute('role');\n        }\n        return null;\n      }\n      function getParentRole(elm) {\n        var role, parent$$1 = elm || focusedElement;\n        while (parent$$1 = parent$$1.parentNode) {\n          if (role = getRole(parent$$1)) {\n            return role;\n          }\n        }\n      }\n      function getAriaProp(name$$1) {\n        var elm = focusedElement;\n        if (isElement(elm)) {\n          return elm.getAttribute('aria-' + name$$1);\n        }\n      }\n      function isTextInputElement(elm) {\n        var tagName = elm.tagName.toUpperCase();\n        return tagName === 'INPUT' || tagName === 'TEXTAREA' || tagName === 'SELECT';\n      }\n      function canFocus(elm) {\n        if (isTextInputElement(elm) && !elm.hidden) {\n          return true;\n        }\n        if (hasTabstopData(elm)) {\n          return true;\n        }\n        if (/^(button|menuitem|checkbox|tab|menuitemcheckbox|option|gridcell|slider)$/.test(getRole(elm))) {\n          return true;\n        }\n        return false;\n      }\n      function getFocusElements(elm) {\n        var elements = [];\n        function collect(elm) {\n          if (elm.nodeType !== 1 || elm.style.display === 'none' || elm.disabled) {\n            return;\n          }\n          if (canFocus(elm)) {\n            elements.push(elm);\n          }\n          for (var i = 0; i < elm.childNodes.length; i++) {\n            collect(elm.childNodes[i]);\n          }\n        }\n        collect(elm || root.getEl());\n        return elements;\n      }\n      function getNavigationRoot(targetControl) {\n        var navigationRoot, controls;\n        targetControl = targetControl || focusedControl;\n        controls = targetControl.parents().toArray();\n        controls.unshift(targetControl);\n        for (var i = 0; i < controls.length; i++) {\n          navigationRoot = controls[i];\n          if (navigationRoot.settings.ariaRoot) {\n            break;\n          }\n        }\n        return navigationRoot;\n      }\n      function focusFirst(targetControl) {\n        var navigationRoot = getNavigationRoot(targetControl);\n        var focusElements = getFocusElements(navigationRoot.getEl());\n        if (navigationRoot.settings.ariaRemember && 'lastAriaIndex' in navigationRoot) {\n          moveFocusToIndex(navigationRoot.lastAriaIndex, focusElements);\n        } else {\n          moveFocusToIndex(0, focusElements);\n        }\n      }\n      function moveFocusToIndex(idx, elements) {\n        if (idx < 0) {\n          idx = elements.length - 1;\n        } else if (idx >= elements.length) {\n          idx = 0;\n        }\n        if (elements[idx]) {\n          elements[idx].focus();\n        }\n        return idx;\n      }\n      function moveFocus(dir, elements) {\n        var idx = -1;\n        var navigationRoot = getNavigationRoot();\n        elements = elements || getFocusElements(navigationRoot.getEl());\n        for (var i = 0; i < elements.length; i++) {\n          if (elements[i] === focusedElement) {\n            idx = i;\n          }\n        }\n        idx += dir;\n        navigationRoot.lastAriaIndex = moveFocusToIndex(idx, elements);\n      }\n      function left() {\n        var parentRole = getParentRole();\n        if (parentRole === 'tablist') {\n          moveFocus(-1, getFocusElements(focusedElement.parentNode));\n        } else if (focusedControl.parent().submenu) {\n          cancel();\n        } else {\n          moveFocus(-1);\n        }\n      }\n      function right() {\n        var role = getRole(), parentRole = getParentRole();\n        if (parentRole === 'tablist') {\n          moveFocus(1, getFocusElements(focusedElement.parentNode));\n        } else if (role === 'menuitem' && parentRole === 'menu' && getAriaProp('haspopup')) {\n          enter();\n        } else {\n          moveFocus(1);\n        }\n      }\n      function up() {\n        moveFocus(-1);\n      }\n      function down() {\n        var role = getRole(), parentRole = getParentRole();\n        if (role === 'menuitem' && parentRole === 'menubar') {\n          enter();\n        } else if (role === 'button' && getAriaProp('haspopup')) {\n          enter({ key: 'down' });\n        } else {\n          moveFocus(1);\n        }\n      }\n      function tab(e) {\n        var parentRole = getParentRole();\n        if (parentRole === 'tablist') {\n          var elm = getFocusElements(focusedControl.getEl('body'))[0];\n          if (elm) {\n            elm.focus();\n          }\n        } else {\n          moveFocus(e.shiftKey ? -1 : 1);\n        }\n      }\n      function cancel() {\n        focusedControl.fire('cancel');\n      }\n      function enter(aria) {\n        aria = aria || {};\n        focusedControl.fire('click', {\n          target: focusedElement,\n          aria: aria\n        });\n      }\n      root.on('keydown', function (e) {\n        function handleNonTabOrEscEvent(e, handler) {\n          if (isTextInputElement(focusedElement) || hasTabstopData(focusedElement)) {\n            return;\n          }\n          if (getRole(focusedElement) === 'slider') {\n            return;\n          }\n          if (handler(e) !== false) {\n            e.preventDefault();\n          }\n        }\n        if (e.isDefaultPrevented()) {\n          return;\n        }\n        switch (e.keyCode) {\n        case 37:\n          handleNonTabOrEscEvent(e, left);\n          break;\n        case 39:\n          handleNonTabOrEscEvent(e, right);\n          break;\n        case 38:\n          handleNonTabOrEscEvent(e, up);\n          break;\n        case 40:\n          handleNonTabOrEscEvent(e, down);\n          break;\n        case 27:\n          cancel();\n          break;\n        case 14:\n        case 13:\n        case 32:\n          handleNonTabOrEscEvent(e, enter);\n          break;\n        case 9:\n          tab(e);\n          e.preventDefault();\n          break;\n        }\n      });\n      root.on('focusin', function (e) {\n        focusedElement = e.target;\n        focusedControl = e.control;\n      });\n      return { focusFirst: focusFirst };\n    }\n\n    var selectorCache = {};\n    var Container = Control$1.extend({\n      init: function (settings) {\n        var self = this;\n        self._super(settings);\n        settings = self.settings;\n        if (settings.fixed) {\n          self.state.set('fixed', true);\n        }\n        self._items = new Collection$2();\n        if (self.isRtl()) {\n          self.classes.add('rtl');\n        }\n        self.bodyClasses = new ClassList(function () {\n          if (self.state.get('rendered')) {\n            self.getEl('body').className = this.toString();\n          }\n        });\n        self.bodyClasses.prefix = self.classPrefix;\n        self.classes.add('container');\n        self.bodyClasses.add('container-body');\n        if (settings.containerCls) {\n          self.classes.add(settings.containerCls);\n        }\n        self._layout = global$4.create((settings.layout || '') + 'layout');\n        if (self.settings.items) {\n          self.add(self.settings.items);\n        } else {\n          self.add(self.render());\n        }\n        self._hasBody = true;\n      },\n      items: function () {\n        return this._items;\n      },\n      find: function (selector) {\n        selector = selectorCache[selector] = selectorCache[selector] || new Selector(selector);\n        return selector.find(this);\n      },\n      add: function (items) {\n        var self = this;\n        self.items().add(self.create(items)).parent(self);\n        return self;\n      },\n      focus: function (keyboard) {\n        var self = this;\n        var focusCtrl, keyboardNav, items;\n        if (keyboard) {\n          keyboardNav = self.keyboardNav || self.parents().eq(-1)[0].keyboardNav;\n          if (keyboardNav) {\n            keyboardNav.focusFirst(self);\n            return;\n          }\n        }\n        items = self.find('*');\n        if (self.statusbar) {\n          items.add(self.statusbar.items());\n        }\n        items.each(function (ctrl) {\n          if (ctrl.settings.autofocus) {\n            focusCtrl = null;\n            return false;\n          }\n          if (ctrl.canFocus) {\n            focusCtrl = focusCtrl || ctrl;\n          }\n        });\n        if (focusCtrl) {\n          focusCtrl.focus();\n        }\n        return self;\n      },\n      replace: function (oldItem, newItem) {\n        var ctrlElm;\n        var items = this.items();\n        var i = items.length;\n        while (i--) {\n          if (items[i] === oldItem) {\n            items[i] = newItem;\n            break;\n          }\n        }\n        if (i >= 0) {\n          ctrlElm = newItem.getEl();\n          if (ctrlElm) {\n            ctrlElm.parentNode.removeChild(ctrlElm);\n          }\n          ctrlElm = oldItem.getEl();\n          if (ctrlElm) {\n            ctrlElm.parentNode.removeChild(ctrlElm);\n          }\n        }\n        newItem.parent(this);\n      },\n      create: function (items) {\n        var self = this;\n        var settings;\n        var ctrlItems = [];\n        if (!global$2.isArray(items)) {\n          items = [items];\n        }\n        global$2.each(items, function (item) {\n          if (item) {\n            if (!(item instanceof Control$1)) {\n              if (typeof item === 'string') {\n                item = { type: item };\n              }\n              settings = global$2.extend({}, self.settings.defaults, item);\n              item.type = settings.type = settings.type || item.type || self.settings.defaultType || (settings.defaults ? settings.defaults.type : null);\n              item = global$4.create(settings);\n            }\n            ctrlItems.push(item);\n          }\n        });\n        return ctrlItems;\n      },\n      renderNew: function () {\n        var self = this;\n        self.items().each(function (ctrl, index) {\n          var containerElm;\n          ctrl.parent(self);\n          if (!ctrl.state.get('rendered')) {\n            containerElm = self.getEl('body');\n            if (containerElm.hasChildNodes() && index <= containerElm.childNodes.length - 1) {\n              global$9(containerElm.childNodes[index]).before(ctrl.renderHtml());\n            } else {\n              global$9(containerElm).append(ctrl.renderHtml());\n            }\n            ctrl.postRender();\n            ReflowQueue.add(ctrl);\n          }\n        });\n        self._layout.applyClasses(self.items().filter(':visible'));\n        self._lastRect = null;\n        return self;\n      },\n      append: function (items) {\n        return this.add(items).renderNew();\n      },\n      prepend: function (items) {\n        var self = this;\n        self.items().set(self.create(items).concat(self.items().toArray()));\n        return self.renderNew();\n      },\n      insert: function (items, index, before) {\n        var self = this;\n        var curItems, beforeItems, afterItems;\n        items = self.create(items);\n        curItems = self.items();\n        if (!before && index < curItems.length - 1) {\n          index += 1;\n        }\n        if (index >= 0 && index < curItems.length) {\n          beforeItems = curItems.slice(0, index).toArray();\n          afterItems = curItems.slice(index).toArray();\n          curItems.set(beforeItems.concat(items, afterItems));\n        }\n        return self.renderNew();\n      },\n      fromJSON: function (data) {\n        var self = this;\n        for (var name in data) {\n          self.find('#' + name).value(data[name]);\n        }\n        return self;\n      },\n      toJSON: function () {\n        var self = this, data = {};\n        self.find('*').each(function (ctrl) {\n          var name = ctrl.name(), value = ctrl.value();\n          if (name && typeof value !== 'undefined') {\n            data[name] = value;\n          }\n        });\n        return data;\n      },\n      renderHtml: function () {\n        var self = this, layout = self._layout, role = this.settings.role;\n        self.preRender();\n        layout.preRender(self);\n        return '<div id=\"' + self._id + '\" class=\"' + self.classes + '\"' + (role ? ' role=\"' + this.settings.role + '\"' : '') + '>' + '<div id=\"' + self._id + '-body\" class=\"' + self.bodyClasses + '\">' + (self.settings.html || '') + layout.renderHtml(self) + '</div>' + '</div>';\n      },\n      postRender: function () {\n        var self = this;\n        var box;\n        self.items().exec('postRender');\n        self._super();\n        self._layout.postRender(self);\n        self.state.set('rendered', true);\n        if (self.settings.style) {\n          self.$el.css(self.settings.style);\n        }\n        if (self.settings.border) {\n          box = self.borderBox;\n          self.$el.css({\n            'border-top-width': box.top,\n            'border-right-width': box.right,\n            'border-bottom-width': box.bottom,\n            'border-left-width': box.left\n          });\n        }\n        if (!self.parent()) {\n          self.keyboardNav = KeyboardNavigation({ root: self });\n        }\n        return self;\n      },\n      initLayoutRect: function () {\n        var self = this, layoutRect = self._super();\n        self._layout.recalc(self);\n        return layoutRect;\n      },\n      recalc: function () {\n        var self = this;\n        var rect = self._layoutRect;\n        var lastRect = self._lastRect;\n        if (!lastRect || lastRect.w !== rect.w || lastRect.h !== rect.h) {\n          self._layout.recalc(self);\n          rect = self.layoutRect();\n          self._lastRect = {\n            x: rect.x,\n            y: rect.y,\n            w: rect.w,\n            h: rect.h\n          };\n          return true;\n        }\n      },\n      reflow: function () {\n        var i;\n        ReflowQueue.remove(this);\n        if (this.visible()) {\n          Control$1.repaintControls = [];\n          Control$1.repaintControls.map = {};\n          this.recalc();\n          i = Control$1.repaintControls.length;\n          while (i--) {\n            Control$1.repaintControls[i].repaint();\n          }\n          if (this.settings.layout !== 'flow' && this.settings.layout !== 'stack') {\n            this.repaint();\n          }\n          Control$1.repaintControls = [];\n        }\n        return this;\n      }\n    });\n\n    function getDocumentSize(doc) {\n      var documentElement, body, scrollWidth, clientWidth;\n      var offsetWidth, scrollHeight, clientHeight, offsetHeight;\n      var max = Math.max;\n      documentElement = doc.documentElement;\n      body = doc.body;\n      scrollWidth = max(documentElement.scrollWidth, body.scrollWidth);\n      clientWidth = max(documentElement.clientWidth, body.clientWidth);\n      offsetWidth = max(documentElement.offsetWidth, body.offsetWidth);\n      scrollHeight = max(documentElement.scrollHeight, body.scrollHeight);\n      clientHeight = max(documentElement.clientHeight, body.clientHeight);\n      offsetHeight = max(documentElement.offsetHeight, body.offsetHeight);\n      return {\n        width: scrollWidth < offsetWidth ? clientWidth : scrollWidth,\n        height: scrollHeight < offsetHeight ? clientHeight : scrollHeight\n      };\n    }\n    function updateWithTouchData(e) {\n      var keys, i;\n      if (e.changedTouches) {\n        keys = 'screenX screenY pageX pageY clientX clientY'.split(' ');\n        for (i = 0; i < keys.length; i++) {\n          e[keys[i]] = e.changedTouches[0][keys[i]];\n        }\n      }\n    }\n    function DragHelper (id, settings) {\n      var $eventOverlay;\n      var doc = settings.document || document;\n      var downButton;\n      var start, stop$$1, drag, startX, startY;\n      settings = settings || {};\n      var handleElement = doc.getElementById(settings.handle || id);\n      start = function (e) {\n        var docSize = getDocumentSize(doc);\n        var handleElm, cursor;\n        updateWithTouchData(e);\n        e.preventDefault();\n        downButton = e.button;\n        handleElm = handleElement;\n        startX = e.screenX;\n        startY = e.screenY;\n        if (window.getComputedStyle) {\n          cursor = window.getComputedStyle(handleElm, null).getPropertyValue('cursor');\n        } else {\n          cursor = handleElm.runtimeStyle.cursor;\n        }\n        $eventOverlay = global$9('<div></div>').css({\n          position: 'absolute',\n          top: 0,\n          left: 0,\n          width: docSize.width,\n          height: docSize.height,\n          zIndex: 2147483647,\n          opacity: 0.0001,\n          cursor: cursor\n        }).appendTo(doc.body);\n        global$9(doc).on('mousemove touchmove', drag).on('mouseup touchend', stop$$1);\n        settings.start(e);\n      };\n      drag = function (e) {\n        updateWithTouchData(e);\n        if (e.button !== downButton) {\n          return stop$$1(e);\n        }\n        e.deltaX = e.screenX - startX;\n        e.deltaY = e.screenY - startY;\n        e.preventDefault();\n        settings.drag(e);\n      };\n      stop$$1 = function (e) {\n        updateWithTouchData(e);\n        global$9(doc).off('mousemove touchmove', drag).off('mouseup touchend', stop$$1);\n        $eventOverlay.remove();\n        if (settings.stop) {\n          settings.stop(e);\n        }\n      };\n      this.destroy = function () {\n        global$9(handleElement).off();\n      };\n      global$9(handleElement).on('mousedown touchstart', start);\n    }\n\n    var Scrollable = {\n      init: function () {\n        var self = this;\n        self.on('repaint', self.renderScroll);\n      },\n      renderScroll: function () {\n        var self = this, margin = 2;\n        function repaintScroll() {\n          var hasScrollH, hasScrollV, bodyElm;\n          function repaintAxis(axisName, posName, sizeName, contentSizeName, hasScroll, ax) {\n            var containerElm, scrollBarElm, scrollThumbElm;\n            var containerSize, scrollSize, ratio, rect;\n            var posNameLower, sizeNameLower;\n            scrollBarElm = self.getEl('scroll' + axisName);\n            if (scrollBarElm) {\n              posNameLower = posName.toLowerCase();\n              sizeNameLower = sizeName.toLowerCase();\n              global$9(self.getEl('absend')).css(posNameLower, self.layoutRect()[contentSizeName] - 1);\n              if (!hasScroll) {\n                global$9(scrollBarElm).css('display', 'none');\n                return;\n              }\n              global$9(scrollBarElm).css('display', 'block');\n              containerElm = self.getEl('body');\n              scrollThumbElm = self.getEl('scroll' + axisName + 't');\n              containerSize = containerElm['client' + sizeName] - margin * 2;\n              containerSize -= hasScrollH && hasScrollV ? scrollBarElm['client' + ax] : 0;\n              scrollSize = containerElm['scroll' + sizeName];\n              ratio = containerSize / scrollSize;\n              rect = {};\n              rect[posNameLower] = containerElm['offset' + posName] + margin;\n              rect[sizeNameLower] = containerSize;\n              global$9(scrollBarElm).css(rect);\n              rect = {};\n              rect[posNameLower] = containerElm['scroll' + posName] * ratio;\n              rect[sizeNameLower] = containerSize * ratio;\n              global$9(scrollThumbElm).css(rect);\n            }\n          }\n          bodyElm = self.getEl('body');\n          hasScrollH = bodyElm.scrollWidth > bodyElm.clientWidth;\n          hasScrollV = bodyElm.scrollHeight > bodyElm.clientHeight;\n          repaintAxis('h', 'Left', 'Width', 'contentW', hasScrollH, 'Height');\n          repaintAxis('v', 'Top', 'Height', 'contentH', hasScrollV, 'Width');\n        }\n        function addScroll() {\n          function addScrollAxis(axisName, posName, sizeName, deltaPosName, ax) {\n            var scrollStart;\n            var axisId = self._id + '-scroll' + axisName, prefix = self.classPrefix;\n            global$9(self.getEl()).append('<div id=\"' + axisId + '\" class=\"' + prefix + 'scrollbar ' + prefix + 'scrollbar-' + axisName + '\">' + '<div id=\"' + axisId + 't\" class=\"' + prefix + 'scrollbar-thumb\"></div>' + '</div>');\n            self.draghelper = new DragHelper(axisId + 't', {\n              start: function () {\n                scrollStart = self.getEl('body')['scroll' + posName];\n                global$9('#' + axisId).addClass(prefix + 'active');\n              },\n              drag: function (e) {\n                var ratio, hasScrollH, hasScrollV, containerSize;\n                var layoutRect = self.layoutRect();\n                hasScrollH = layoutRect.contentW > layoutRect.innerW;\n                hasScrollV = layoutRect.contentH > layoutRect.innerH;\n                containerSize = self.getEl('body')['client' + sizeName] - margin * 2;\n                containerSize -= hasScrollH && hasScrollV ? self.getEl('scroll' + axisName)['client' + ax] : 0;\n                ratio = containerSize / self.getEl('body')['scroll' + sizeName];\n                self.getEl('body')['scroll' + posName] = scrollStart + e['delta' + deltaPosName] / ratio;\n              },\n              stop: function () {\n                global$9('#' + axisId).removeClass(prefix + 'active');\n              }\n            });\n          }\n          self.classes.add('scroll');\n          addScrollAxis('v', 'Top', 'Height', 'Y', 'Width');\n          addScrollAxis('h', 'Left', 'Width', 'X', 'Height');\n        }\n        if (self.settings.autoScroll) {\n          if (!self._hasScroll) {\n            self._hasScroll = true;\n            addScroll();\n            self.on('wheel', function (e) {\n              var bodyEl = self.getEl('body');\n              bodyEl.scrollLeft += (e.deltaX || 0) * 10;\n              bodyEl.scrollTop += e.deltaY * 10;\n              repaintScroll();\n            });\n            global$9(self.getEl('body')).on('scroll', repaintScroll);\n          }\n          repaintScroll();\n        }\n      }\n    };\n\n    var Panel = Container.extend({\n      Defaults: {\n        layout: 'fit',\n        containerCls: 'panel'\n      },\n      Mixins: [Scrollable],\n      renderHtml: function () {\n        var self = this;\n        var layout = self._layout;\n        var innerHtml = self.settings.html;\n        self.preRender();\n        layout.preRender(self);\n        if (typeof innerHtml === 'undefined') {\n          innerHtml = '<div id=\"' + self._id + '-body\" class=\"' + self.bodyClasses + '\">' + layout.renderHtml(self) + '</div>';\n        } else {\n          if (typeof innerHtml === 'function') {\n            innerHtml = innerHtml.call(self);\n          }\n          self._hasBody = false;\n        }\n        return '<div id=\"' + self._id + '\" class=\"' + self.classes + '\" hidefocus=\"1\" tabindex=\"-1\" role=\"group\">' + (self._preBodyHtml || '') + innerHtml + '</div>';\n      }\n    });\n\n    var Resizable = {\n      resizeToContent: function () {\n        this._layoutRect.autoResize = true;\n        this._lastRect = null;\n        this.reflow();\n      },\n      resizeTo: function (w, h) {\n        if (w <= 1 || h <= 1) {\n          var rect = funcs.getWindowSize();\n          w = w <= 1 ? w * rect.w : w;\n          h = h <= 1 ? h * rect.h : h;\n        }\n        this._layoutRect.autoResize = false;\n        return this.layoutRect({\n          minW: w,\n          minH: h,\n          w: w,\n          h: h\n        }).reflow();\n      },\n      resizeBy: function (dw, dh) {\n        var self = this, rect = self.layoutRect();\n        return self.resizeTo(rect.w + dw, rect.h + dh);\n      }\n    };\n\n    var documentClickHandler, documentScrollHandler, windowResizeHandler;\n    var visiblePanels = [];\n    var zOrder = [];\n    var hasModal;\n    function isChildOf(ctrl, parent$$1) {\n      while (ctrl) {\n        if (ctrl === parent$$1) {\n          return true;\n        }\n        ctrl = ctrl.parent();\n      }\n    }\n    function skipOrHidePanels(e) {\n      var i = visiblePanels.length;\n      while (i--) {\n        var panel = visiblePanels[i], clickCtrl = panel.getParentCtrl(e.target);\n        if (panel.settings.autohide) {\n          if (clickCtrl) {\n            if (isChildOf(clickCtrl, panel) || panel.parent() === clickCtrl) {\n              continue;\n            }\n          }\n          e = panel.fire('autohide', { target: e.target });\n          if (!e.isDefaultPrevented()) {\n            panel.hide();\n          }\n        }\n      }\n    }\n    function bindDocumentClickHandler() {\n      if (!documentClickHandler) {\n        documentClickHandler = function (e) {\n          if (e.button === 2) {\n            return;\n          }\n          skipOrHidePanels(e);\n        };\n        global$9(document).on('click touchstart', documentClickHandler);\n      }\n    }\n    function bindDocumentScrollHandler() {\n      if (!documentScrollHandler) {\n        documentScrollHandler = function () {\n          var i;\n          i = visiblePanels.length;\n          while (i--) {\n            repositionPanel(visiblePanels[i]);\n          }\n        };\n        global$9(window).on('scroll', documentScrollHandler);\n      }\n    }\n    function bindWindowResizeHandler() {\n      if (!windowResizeHandler) {\n        var docElm_1 = document.documentElement;\n        var clientWidth_1 = docElm_1.clientWidth, clientHeight_1 = docElm_1.clientHeight;\n        windowResizeHandler = function () {\n          if (!document.all || clientWidth_1 !== docElm_1.clientWidth || clientHeight_1 !== docElm_1.clientHeight) {\n            clientWidth_1 = docElm_1.clientWidth;\n            clientHeight_1 = docElm_1.clientHeight;\n            FloatPanel.hideAll();\n          }\n        };\n        global$9(window).on('resize', windowResizeHandler);\n      }\n    }\n    function repositionPanel(panel) {\n      var scrollY$$1 = funcs.getViewPort().y;\n      function toggleFixedChildPanels(fixed, deltaY) {\n        var parent$$1;\n        for (var i = 0; i < visiblePanels.length; i++) {\n          if (visiblePanels[i] !== panel) {\n            parent$$1 = visiblePanels[i].parent();\n            while (parent$$1 && (parent$$1 = parent$$1.parent())) {\n              if (parent$$1 === panel) {\n                visiblePanels[i].fixed(fixed).moveBy(0, deltaY).repaint();\n              }\n            }\n          }\n        }\n      }\n      if (panel.settings.autofix) {\n        if (!panel.state.get('fixed')) {\n          panel._autoFixY = panel.layoutRect().y;\n          if (panel._autoFixY < scrollY$$1) {\n            panel.fixed(true).layoutRect({ y: 0 }).repaint();\n            toggleFixedChildPanels(true, scrollY$$1 - panel._autoFixY);\n          }\n        } else {\n          if (panel._autoFixY > scrollY$$1) {\n            panel.fixed(false).layoutRect({ y: panel._autoFixY }).repaint();\n            toggleFixedChildPanels(false, panel._autoFixY - scrollY$$1);\n          }\n        }\n      }\n    }\n    function addRemove(add, ctrl) {\n      var i, zIndex = FloatPanel.zIndex || 65535, topModal;\n      if (add) {\n        zOrder.push(ctrl);\n      } else {\n        i = zOrder.length;\n        while (i--) {\n          if (zOrder[i] === ctrl) {\n            zOrder.splice(i, 1);\n          }\n        }\n      }\n      if (zOrder.length) {\n        for (i = 0; i < zOrder.length; i++) {\n          if (zOrder[i].modal) {\n            zIndex++;\n            topModal = zOrder[i];\n          }\n          zOrder[i].getEl().style.zIndex = zIndex;\n          zOrder[i].zIndex = zIndex;\n          zIndex++;\n        }\n      }\n      var modalBlockEl = global$9('#' + ctrl.classPrefix + 'modal-block', ctrl.getContainerElm())[0];\n      if (topModal) {\n        global$9(modalBlockEl).css('z-index', topModal.zIndex - 1);\n      } else if (modalBlockEl) {\n        modalBlockEl.parentNode.removeChild(modalBlockEl);\n        hasModal = false;\n      }\n      FloatPanel.currentZIndex = zIndex;\n    }\n    var FloatPanel = Panel.extend({\n      Mixins: [\n        Movable,\n        Resizable\n      ],\n      init: function (settings) {\n        var self$$1 = this;\n        self$$1._super(settings);\n        self$$1._eventsRoot = self$$1;\n        self$$1.classes.add('floatpanel');\n        if (settings.autohide) {\n          bindDocumentClickHandler();\n          bindWindowResizeHandler();\n          visiblePanels.push(self$$1);\n        }\n        if (settings.autofix) {\n          bindDocumentScrollHandler();\n          self$$1.on('move', function () {\n            repositionPanel(this);\n          });\n        }\n        self$$1.on('postrender show', function (e) {\n          if (e.control === self$$1) {\n            var $modalBlockEl_1;\n            var prefix_1 = self$$1.classPrefix;\n            if (self$$1.modal && !hasModal) {\n              $modalBlockEl_1 = global$9('#' + prefix_1 + 'modal-block', self$$1.getContainerElm());\n              if (!$modalBlockEl_1[0]) {\n                $modalBlockEl_1 = global$9('<div id=\"' + prefix_1 + 'modal-block\" class=\"' + prefix_1 + 'reset ' + prefix_1 + 'fade\"></div>').appendTo(self$$1.getContainerElm());\n              }\n              global$7.setTimeout(function () {\n                $modalBlockEl_1.addClass(prefix_1 + 'in');\n                global$9(self$$1.getEl()).addClass(prefix_1 + 'in');\n              });\n              hasModal = true;\n            }\n            addRemove(true, self$$1);\n          }\n        });\n        self$$1.on('show', function () {\n          self$$1.parents().each(function (ctrl) {\n            if (ctrl.state.get('fixed')) {\n              self$$1.fixed(true);\n              return false;\n            }\n          });\n        });\n        if (settings.popover) {\n          self$$1._preBodyHtml = '<div class=\"' + self$$1.classPrefix + 'arrow\"></div>';\n          self$$1.classes.add('popover').add('bottom').add(self$$1.isRtl() ? 'end' : 'start');\n        }\n        self$$1.aria('label', settings.ariaLabel);\n        self$$1.aria('labelledby', self$$1._id);\n        self$$1.aria('describedby', self$$1.describedBy || self$$1._id + '-none');\n      },\n      fixed: function (state) {\n        var self$$1 = this;\n        if (self$$1.state.get('fixed') !== state) {\n          if (self$$1.state.get('rendered')) {\n            var viewport = funcs.getViewPort();\n            if (state) {\n              self$$1.layoutRect().y -= viewport.y;\n            } else {\n              self$$1.layoutRect().y += viewport.y;\n            }\n          }\n          self$$1.classes.toggle('fixed', state);\n          self$$1.state.set('fixed', state);\n        }\n        return self$$1;\n      },\n      show: function () {\n        var self$$1 = this;\n        var i;\n        var state = self$$1._super();\n        i = visiblePanels.length;\n        while (i--) {\n          if (visiblePanels[i] === self$$1) {\n            break;\n          }\n        }\n        if (i === -1) {\n          visiblePanels.push(self$$1);\n        }\n        return state;\n      },\n      hide: function () {\n        removeVisiblePanel(this);\n        addRemove(false, this);\n        return this._super();\n      },\n      hideAll: function () {\n        FloatPanel.hideAll();\n      },\n      close: function () {\n        var self$$1 = this;\n        if (!self$$1.fire('close').isDefaultPrevented()) {\n          self$$1.remove();\n          addRemove(false, self$$1);\n        }\n        return self$$1;\n      },\n      remove: function () {\n        removeVisiblePanel(this);\n        this._super();\n      },\n      postRender: function () {\n        var self$$1 = this;\n        if (self$$1.settings.bodyRole) {\n          this.getEl('body').setAttribute('role', self$$1.settings.bodyRole);\n        }\n        return self$$1._super();\n      }\n    });\n    FloatPanel.hideAll = function () {\n      var i = visiblePanels.length;\n      while (i--) {\n        var panel = visiblePanels[i];\n        if (panel && panel.settings.autohide) {\n          panel.hide();\n          visiblePanels.splice(i, 1);\n        }\n      }\n    };\n    function removeVisiblePanel(panel) {\n      var i;\n      i = visiblePanels.length;\n      while (i--) {\n        if (visiblePanels[i] === panel) {\n          visiblePanels.splice(i, 1);\n        }\n      }\n      i = zOrder.length;\n      while (i--) {\n        if (zOrder[i] === panel) {\n          zOrder.splice(i, 1);\n        }\n      }\n    }\n\n    var isFixed$1 = function (inlineToolbarContainer, editor) {\n      return !!(inlineToolbarContainer && !editor.settings.ui_container);\n    };\n    var render$1 = function (editor, theme, args) {\n      var panel, inlineToolbarContainer;\n      var DOM = global$3.DOM;\n      var fixedToolbarContainer = getFixedToolbarContainer(editor);\n      if (fixedToolbarContainer) {\n        inlineToolbarContainer = DOM.select(fixedToolbarContainer)[0];\n      }\n      var reposition = function () {\n        if (panel && panel.moveRel && panel.visible() && !panel._fixed) {\n          var scrollContainer = editor.selection.getScrollContainer(), body = editor.getBody();\n          var deltaX = 0, deltaY = 0;\n          if (scrollContainer) {\n            var bodyPos = DOM.getPos(body), scrollContainerPos = DOM.getPos(scrollContainer);\n            deltaX = Math.max(0, scrollContainerPos.x - bodyPos.x);\n            deltaY = Math.max(0, scrollContainerPos.y - bodyPos.y);\n          }\n          panel.fixed(false).moveRel(body, editor.rtl ? [\n            'tr-br',\n            'br-tr'\n          ] : [\n            'tl-bl',\n            'bl-tl',\n            'tr-br'\n          ]).moveBy(deltaX, deltaY);\n        }\n      };\n      var show = function () {\n        if (panel) {\n          panel.show();\n          reposition();\n          DOM.addClass(editor.getBody(), 'mce-edit-focus');\n        }\n      };\n      var hide = function () {\n        if (panel) {\n          panel.hide();\n          FloatPanel.hideAll();\n          DOM.removeClass(editor.getBody(), 'mce-edit-focus');\n        }\n      };\n      var render = function () {\n        if (panel) {\n          if (!panel.visible()) {\n            show();\n          }\n          return;\n        }\n        panel = theme.panel = global$4.create({\n          type: inlineToolbarContainer ? 'panel' : 'floatpanel',\n          role: 'application',\n          classes: 'tinymce tinymce-inline',\n          layout: 'flex',\n          direction: 'column',\n          align: 'stretch',\n          autohide: false,\n          autofix: true,\n          fixed: isFixed$1(inlineToolbarContainer, editor),\n          border: 1,\n          items: [\n            hasMenubar(editor) === false ? null : {\n              type: 'menubar',\n              border: '0 0 1 0',\n              items: Menubar.createMenuButtons(editor)\n            },\n            Toolbar.createToolbars(editor, getToolbarSize(editor))\n          ]\n        });\n        UiContainer.setUiContainer(editor, panel);\n        Events.fireBeforeRenderUI(editor);\n        if (inlineToolbarContainer) {\n          panel.renderTo(inlineToolbarContainer).reflow();\n        } else {\n          panel.renderTo().reflow();\n        }\n        A11y.addKeys(editor, panel);\n        show();\n        ContextToolbars.addContextualToolbars(editor);\n        editor.on('nodeChange', reposition);\n        editor.on('ResizeWindow', reposition);\n        editor.on('activate', show);\n        editor.on('deactivate', hide);\n        editor.nodeChanged();\n      };\n      editor.settings.content_editable = true;\n      editor.on('focus', function () {\n        if (isSkinDisabled(editor) === false && args.skinUiCss) {\n          DOM.styleSheetLoader.load(args.skinUiCss, render, render);\n        } else {\n          render();\n        }\n      });\n      editor.on('blur hide', hide);\n      editor.on('remove', function () {\n        if (panel) {\n          panel.remove();\n          panel = null;\n        }\n      });\n      if (isSkinDisabled(editor) === false && args.skinUiCss) {\n        DOM.styleSheetLoader.load(args.skinUiCss, SkinLoaded.fireSkinLoaded(editor));\n      } else {\n        SkinLoaded.fireSkinLoaded(editor)();\n      }\n      return {};\n    };\n    var Inline = { render: render$1 };\n\n    function Throbber (elm, inline) {\n      var self = this;\n      var state;\n      var classPrefix = Control$1.classPrefix;\n      var timer;\n      self.show = function (time, callback) {\n        function render() {\n          if (state) {\n            global$9(elm).append('<div class=\"' + classPrefix + 'throbber' + (inline ? ' ' + classPrefix + 'throbber-inline' : '') + '\"></div>');\n            if (callback) {\n              callback();\n            }\n          }\n        }\n        self.hide();\n        state = true;\n        if (time) {\n          timer = global$7.setTimeout(render, time);\n        } else {\n          render();\n        }\n        return self;\n      };\n      self.hide = function () {\n        var child = elm.lastChild;\n        global$7.clearTimeout(timer);\n        if (child && child.className.indexOf('throbber') !== -1) {\n          child.parentNode.removeChild(child);\n        }\n        state = false;\n        return self;\n      };\n    }\n\n    var setup = function (editor, theme) {\n      var throbber;\n      editor.on('ProgressState', function (e) {\n        throbber = throbber || new Throbber(theme.panel.getEl('body'));\n        if (e.state) {\n          throbber.show(e.time);\n        } else {\n          throbber.hide();\n        }\n      });\n    };\n    var ProgressState = { setup: setup };\n\n    var renderUI = function (editor, theme, args) {\n      var skinUrl = getSkinUrl(editor);\n      if (skinUrl) {\n        args.skinUiCss = skinUrl + '/skin.min.css';\n        editor.contentCSS.push(skinUrl + '/content' + (editor.inline ? '.inline' : '') + '.min.css');\n      }\n      ProgressState.setup(editor, theme);\n      return isInline(editor) ? Inline.render(editor, theme, args) : Iframe.render(editor, theme, args);\n    };\n    var Render = { renderUI: renderUI };\n\n    var Tooltip = Control$1.extend({\n      Mixins: [Movable],\n      Defaults: { classes: 'widget tooltip tooltip-n' },\n      renderHtml: function () {\n        var self = this, prefix = self.classPrefix;\n        return '<div id=\"' + self._id + '\" class=\"' + self.classes + '\" role=\"presentation\">' + '<div class=\"' + prefix + 'tooltip-arrow\"></div>' + '<div class=\"' + prefix + 'tooltip-inner\">' + self.encode(self.state.get('text')) + '</div>' + '</div>';\n      },\n      bindStates: function () {\n        var self = this;\n        self.state.on('change:text', function (e) {\n          self.getEl().lastChild.innerHTML = self.encode(e.value);\n        });\n        return self._super();\n      },\n      repaint: function () {\n        var self = this;\n        var style, rect;\n        style = self.getEl().style;\n        rect = self._layoutRect;\n        style.left = rect.x + 'px';\n        style.top = rect.y + 'px';\n        style.zIndex = 65535 + 65535;\n      }\n    });\n\n    var Widget = Control$1.extend({\n      init: function (settings) {\n        var self = this;\n        self._super(settings);\n        settings = self.settings;\n        self.canFocus = true;\n        if (settings.tooltip && Widget.tooltips !== false) {\n          self.on('mouseenter', function (e) {\n            var tooltip = self.tooltip().moveTo(-65535);\n            if (e.control === self) {\n              var rel = tooltip.text(settings.tooltip).show().testMoveRel(self.getEl(), [\n                'bc-tc',\n                'bc-tl',\n                'bc-tr'\n              ]);\n              tooltip.classes.toggle('tooltip-n', rel === 'bc-tc');\n              tooltip.classes.toggle('tooltip-nw', rel === 'bc-tl');\n              tooltip.classes.toggle('tooltip-ne', rel === 'bc-tr');\n              tooltip.moveRel(self.getEl(), rel);\n            } else {\n              tooltip.hide();\n            }\n          });\n          self.on('mouseleave mousedown click', function () {\n            self.tooltip().remove();\n            self._tooltip = null;\n          });\n        }\n        self.aria('label', settings.ariaLabel || settings.tooltip);\n      },\n      tooltip: function () {\n        if (!this._tooltip) {\n          this._tooltip = new Tooltip({ type: 'tooltip' });\n          UiContainer.inheritUiContainer(this, this._tooltip);\n          this._tooltip.renderTo();\n        }\n        return this._tooltip;\n      },\n      postRender: function () {\n        var self = this, settings = self.settings;\n        self._super();\n        if (!self.parent() && (settings.width || settings.height)) {\n          self.initLayoutRect();\n          self.repaint();\n        }\n        if (settings.autofocus) {\n          self.focus();\n        }\n      },\n      bindStates: function () {\n        var self = this;\n        function disable(state) {\n          self.aria('disabled', state);\n          self.classes.toggle('disabled', state);\n        }\n        function active(state) {\n          self.aria('pressed', state);\n          self.classes.toggle('active', state);\n        }\n        self.state.on('change:disabled', function (e) {\n          disable(e.value);\n        });\n        self.state.on('change:active', function (e) {\n          active(e.value);\n        });\n        if (self.state.get('disabled')) {\n          disable(true);\n        }\n        if (self.state.get('active')) {\n          active(true);\n        }\n        return self._super();\n      },\n      remove: function () {\n        this._super();\n        if (this._tooltip) {\n          this._tooltip.remove();\n          this._tooltip = null;\n        }\n      }\n    });\n\n    var Progress = Widget.extend({\n      Defaults: { value: 0 },\n      init: function (settings) {\n        var self = this;\n        self._super(settings);\n        self.classes.add('progress');\n        if (!self.settings.filter) {\n          self.settings.filter = function (value) {\n            return Math.round(value);\n          };\n        }\n      },\n      renderHtml: function () {\n        var self = this, id = self._id, prefix = this.classPrefix;\n        return '<div id=\"' + id + '\" class=\"' + self.classes + '\">' + '<div class=\"' + prefix + 'bar-container\">' + '<div class=\"' + prefix + 'bar\"></div>' + '</div>' + '<div class=\"' + prefix + 'text\">0%</div>' + '</div>';\n      },\n      postRender: function () {\n        var self = this;\n        self._super();\n        self.value(self.settings.value);\n        return self;\n      },\n      bindStates: function () {\n        var self = this;\n        function setValue(value) {\n          value = self.settings.filter(value);\n          self.getEl().lastChild.innerHTML = value + '%';\n          self.getEl().firstChild.firstChild.style.width = value + '%';\n        }\n        self.state.on('change:value', function (e) {\n          setValue(e.value);\n        });\n        setValue(self.state.get('value'));\n        return self._super();\n      }\n    });\n\n    var updateLiveRegion = function (ctx, text) {\n      ctx.getEl().lastChild.textContent = text + (ctx.progressBar ? ' ' + ctx.progressBar.value() + '%' : '');\n    };\n    var Notification = Control$1.extend({\n      Mixins: [Movable],\n      Defaults: { classes: 'widget notification' },\n      init: function (settings) {\n        var self = this;\n        self._super(settings);\n        self.maxWidth = settings.maxWidth;\n        if (settings.text) {\n          self.text(settings.text);\n        }\n        if (settings.icon) {\n          self.icon = settings.icon;\n        }\n        if (settings.color) {\n          self.color = settings.color;\n        }\n        if (settings.type) {\n          self.classes.add('notification-' + settings.type);\n        }\n        if (settings.timeout && (settings.timeout < 0 || settings.timeout > 0) && !settings.closeButton) {\n          self.closeButton = false;\n        } else {\n          self.classes.add('has-close');\n          self.closeButton = true;\n        }\n        if (settings.progressBar) {\n          self.progressBar = new Progress();\n        }\n        self.on('click', function (e) {\n          if (e.target.className.indexOf(self.classPrefix + 'close') !== -1) {\n            self.close();\n          }\n        });\n      },\n      renderHtml: function () {\n        var self = this;\n        var prefix = self.classPrefix;\n        var icon = '', closeButton = '', progressBar = '', notificationStyle = '';\n        if (self.icon) {\n          icon = '<i class=\"' + prefix + 'ico' + ' ' + prefix + 'i-' + self.icon + '\"></i>';\n        }\n        notificationStyle = ' style=\"max-width: ' + self.maxWidth + 'px;' + (self.color ? 'background-color: ' + self.color + ';\"' : '\"');\n        if (self.closeButton) {\n          closeButton = '<button type=\"button\" class=\"' + prefix + 'close\" aria-hidden=\"true\">\\xD7</button>';\n        }\n        if (self.progressBar) {\n          progressBar = self.progressBar.renderHtml();\n        }\n        return '<div id=\"' + self._id + '\" class=\"' + self.classes + '\"' + notificationStyle + ' role=\"presentation\">' + icon + '<div class=\"' + prefix + 'notification-inner\">' + self.state.get('text') + '</div>' + progressBar + closeButton + '<div style=\"clip: rect(1px, 1px, 1px, 1px);height: 1px;overflow: hidden;position: absolute;width: 1px;\"' + ' aria-live=\"assertive\" aria-relevant=\"additions\" aria-atomic=\"true\"></div>' + '</div>';\n      },\n      postRender: function () {\n        var self = this;\n        global$7.setTimeout(function () {\n          self.$el.addClass(self.classPrefix + 'in');\n          updateLiveRegion(self, self.state.get('text'));\n        }, 100);\n        return self._super();\n      },\n      bindStates: function () {\n        var self = this;\n        self.state.on('change:text', function (e) {\n          self.getEl().firstChild.innerHTML = e.value;\n          updateLiveRegion(self, e.value);\n        });\n        if (self.progressBar) {\n          self.progressBar.bindStates();\n          self.progressBar.state.on('change:value', function (e) {\n            updateLiveRegion(self, self.state.get('text'));\n          });\n        }\n        return self._super();\n      },\n      close: function () {\n        var self = this;\n        if (!self.fire('close').isDefaultPrevented()) {\n          self.remove();\n        }\n        return self;\n      },\n      repaint: function () {\n        var self = this;\n        var style, rect;\n        style = self.getEl().style;\n        rect = self._layoutRect;\n        style.left = rect.x + 'px';\n        style.top = rect.y + 'px';\n        style.zIndex = 65535 - 1;\n      }\n    });\n\n    function NotificationManagerImpl (editor) {\n      var getEditorContainer = function (editor) {\n        return editor.inline ? editor.getElement() : editor.getContentAreaContainer();\n      };\n      var getContainerWidth = function () {\n        var container = getEditorContainer(editor);\n        return funcs.getSize(container).width;\n      };\n      var prePositionNotifications = function (notifications) {\n        each(notifications, function (notification) {\n          notification.moveTo(0, 0);\n        });\n      };\n      var positionNotifications = function (notifications) {\n        if (notifications.length > 0) {\n          var firstItem = notifications.slice(0, 1)[0];\n          var container = getEditorContainer(editor);\n          firstItem.moveRel(container, 'tc-tc');\n          each(notifications, function (notification, index) {\n            if (index > 0) {\n              notification.moveRel(notifications[index - 1].getEl(), 'bc-tc');\n            }\n          });\n        }\n      };\n      var reposition = function (notifications) {\n        prePositionNotifications(notifications);\n        positionNotifications(notifications);\n      };\n      var open = function (args, closeCallback) {\n        var extendedArgs = global$2.extend(args, { maxWidth: getContainerWidth() });\n        var notif = new Notification(extendedArgs);\n        notif.args = extendedArgs;\n        if (extendedArgs.timeout > 0) {\n          notif.timer = setTimeout(function () {\n            notif.close();\n            closeCallback();\n          }, extendedArgs.timeout);\n        }\n        notif.on('close', function () {\n          closeCallback();\n        });\n        notif.renderTo();\n        return notif;\n      };\n      var close = function (notification) {\n        notification.close();\n      };\n      var getArgs = function (notification) {\n        return notification.args;\n      };\n      return {\n        open: open,\n        close: close,\n        reposition: reposition,\n        getArgs: getArgs\n      };\n    }\n\n    var windows = [];\n    var oldMetaValue = '';\n    function toggleFullScreenState(state) {\n      var noScaleMetaValue = 'width=device-width,initial-scale=1.0,user-scalable=0,minimum-scale=1.0,maximum-scale=1.0';\n      var viewport = global$9('meta[name=viewport]')[0], contentValue;\n      if (global$8.overrideViewPort === false) {\n        return;\n      }\n      if (!viewport) {\n        viewport = document.createElement('meta');\n        viewport.setAttribute('name', 'viewport');\n        document.getElementsByTagName('head')[0].appendChild(viewport);\n      }\n      contentValue = viewport.getAttribute('content');\n      if (contentValue && typeof oldMetaValue !== 'undefined') {\n        oldMetaValue = contentValue;\n      }\n      viewport.setAttribute('content', state ? noScaleMetaValue : oldMetaValue);\n    }\n    function toggleBodyFullScreenClasses(classPrefix, state) {\n      if (checkFullscreenWindows() && state === false) {\n        global$9([\n          document.documentElement,\n          document.body\n        ]).removeClass(classPrefix + 'fullscreen');\n      }\n    }\n    function checkFullscreenWindows() {\n      for (var i = 0; i < windows.length; i++) {\n        if (windows[i]._fullscreen) {\n          return true;\n        }\n      }\n      return false;\n    }\n    function handleWindowResize() {\n      if (!global$8.desktop) {\n        var lastSize_1 = {\n          w: window.innerWidth,\n          h: window.innerHeight\n        };\n        global$7.setInterval(function () {\n          var w = window.innerWidth, h = window.innerHeight;\n          if (lastSize_1.w !== w || lastSize_1.h !== h) {\n            lastSize_1 = {\n              w: w,\n              h: h\n            };\n            global$9(window).trigger('resize');\n          }\n        }, 100);\n      }\n      function reposition() {\n        var i;\n        var rect = funcs.getWindowSize();\n        var layoutRect;\n        for (i = 0; i < windows.length; i++) {\n          layoutRect = windows[i].layoutRect();\n          windows[i].moveTo(windows[i].settings.x || Math.max(0, rect.w / 2 - layoutRect.w / 2), windows[i].settings.y || Math.max(0, rect.h / 2 - layoutRect.h / 2));\n        }\n      }\n      global$9(window).on('resize', reposition);\n    }\n    var Window$$1 = FloatPanel.extend({\n      modal: true,\n      Defaults: {\n        border: 1,\n        layout: 'flex',\n        containerCls: 'panel',\n        role: 'dialog',\n        callbacks: {\n          submit: function () {\n            this.fire('submit', { data: this.toJSON() });\n          },\n          close: function () {\n            this.close();\n          }\n        }\n      },\n      init: function (settings) {\n        var self$$1 = this;\n        self$$1._super(settings);\n        if (self$$1.isRtl()) {\n          self$$1.classes.add('rtl');\n        }\n        self$$1.classes.add('window');\n        self$$1.bodyClasses.add('window-body');\n        self$$1.state.set('fixed', true);\n        if (settings.buttons) {\n          self$$1.statusbar = new Panel({\n            layout: 'flex',\n            border: '1 0 0 0',\n            spacing: 3,\n            padding: 10,\n            align: 'center',\n            pack: self$$1.isRtl() ? 'start' : 'end',\n            defaults: { type: 'button' },\n            items: settings.buttons\n          });\n          self$$1.statusbar.classes.add('foot');\n          self$$1.statusbar.parent(self$$1);\n        }\n        self$$1.on('click', function (e) {\n          var closeClass = self$$1.classPrefix + 'close';\n          if (funcs.hasClass(e.target, closeClass) || funcs.hasClass(e.target.parentNode, closeClass)) {\n            self$$1.close();\n          }\n        });\n        self$$1.on('cancel', function () {\n          self$$1.close();\n        });\n        self$$1.on('move', function (e) {\n          if (e.control === self$$1) {\n            FloatPanel.hideAll();\n          }\n        });\n        self$$1.aria('describedby', self$$1.describedBy || self$$1._id + '-none');\n        self$$1.aria('label', settings.title);\n        self$$1._fullscreen = false;\n      },\n      recalc: function () {\n        var self$$1 = this;\n        var statusbar$$1 = self$$1.statusbar;\n        var layoutRect, width, x, needsRecalc;\n        if (self$$1._fullscreen) {\n          self$$1.layoutRect(funcs.getWindowSize());\n          self$$1.layoutRect().contentH = self$$1.layoutRect().innerH;\n        }\n        self$$1._super();\n        layoutRect = self$$1.layoutRect();\n        if (self$$1.settings.title && !self$$1._fullscreen) {\n          width = layoutRect.headerW;\n          if (width > layoutRect.w) {\n            x = layoutRect.x - Math.max(0, width / 2);\n            self$$1.layoutRect({\n              w: width,\n              x: x\n            });\n            needsRecalc = true;\n          }\n        }\n        if (statusbar$$1) {\n          statusbar$$1.layoutRect({ w: self$$1.layoutRect().innerW }).recalc();\n          width = statusbar$$1.layoutRect().minW + layoutRect.deltaW;\n          if (width > layoutRect.w) {\n            x = layoutRect.x - Math.max(0, width - layoutRect.w);\n            self$$1.layoutRect({\n              w: width,\n              x: x\n            });\n            needsRecalc = true;\n          }\n        }\n        if (needsRecalc) {\n          self$$1.recalc();\n        }\n      },\n      initLayoutRect: function () {\n        var self$$1 = this;\n        var layoutRect = self$$1._super();\n        var deltaH = 0, headEl;\n        if (self$$1.settings.title && !self$$1._fullscreen) {\n          headEl = self$$1.getEl('head');\n          var size = funcs.getSize(headEl);\n          layoutRect.headerW = size.width;\n          layoutRect.headerH = size.height;\n          deltaH += layoutRect.headerH;\n        }\n        if (self$$1.statusbar) {\n          deltaH += self$$1.statusbar.layoutRect().h;\n        }\n        layoutRect.deltaH += deltaH;\n        layoutRect.minH += deltaH;\n        layoutRect.h += deltaH;\n        var rect = funcs.getWindowSize();\n        layoutRect.x = self$$1.settings.x || Math.max(0, rect.w / 2 - layoutRect.w / 2);\n        layoutRect.y = self$$1.settings.y || Math.max(0, rect.h / 2 - layoutRect.h / 2);\n        return layoutRect;\n      },\n      renderHtml: function () {\n        var self$$1 = this, layout = self$$1._layout, id = self$$1._id, prefix = self$$1.classPrefix;\n        var settings = self$$1.settings;\n        var headerHtml = '', footerHtml = '', html = settings.html;\n        self$$1.preRender();\n        layout.preRender(self$$1);\n        if (settings.title) {\n          headerHtml = '<div id=\"' + id + '-head\" class=\"' + prefix + 'window-head\">' + '<div id=\"' + id + '-title\" class=\"' + prefix + 'title\">' + self$$1.encode(settings.title) + '</div>' + '<div id=\"' + id + '-dragh\" class=\"' + prefix + 'dragh\"></div>' + '<button type=\"button\" class=\"' + prefix + 'close\" aria-hidden=\"true\">' + '<i class=\"mce-ico mce-i-remove\"></i>' + '</button>' + '</div>';\n        }\n        if (settings.url) {\n          html = '<iframe src=\"' + settings.url + '\" tabindex=\"-1\"></iframe>';\n        }\n        if (typeof html === 'undefined') {\n          html = layout.renderHtml(self$$1);\n        }\n        if (self$$1.statusbar) {\n          footerHtml = self$$1.statusbar.renderHtml();\n        }\n        return '<div id=\"' + id + '\" class=\"' + self$$1.classes + '\" hidefocus=\"1\">' + '<div class=\"' + self$$1.classPrefix + 'reset\" role=\"application\">' + headerHtml + '<div id=\"' + id + '-body\" class=\"' + self$$1.bodyClasses + '\">' + html + '</div>' + footerHtml + '</div>' + '</div>';\n      },\n      fullscreen: function (state) {\n        var self$$1 = this;\n        var documentElement = document.documentElement;\n        var slowRendering;\n        var prefix = self$$1.classPrefix;\n        var layoutRect;\n        if (state !== self$$1._fullscreen) {\n          global$9(window).on('resize', function () {\n            var time;\n            if (self$$1._fullscreen) {\n              if (!slowRendering) {\n                time = new Date().getTime();\n                var rect = funcs.getWindowSize();\n                self$$1.moveTo(0, 0).resizeTo(rect.w, rect.h);\n                if (new Date().getTime() - time > 50) {\n                  slowRendering = true;\n                }\n              } else {\n                if (!self$$1._timer) {\n                  self$$1._timer = global$7.setTimeout(function () {\n                    var rect = funcs.getWindowSize();\n                    self$$1.moveTo(0, 0).resizeTo(rect.w, rect.h);\n                    self$$1._timer = 0;\n                  }, 50);\n                }\n              }\n            }\n          });\n          layoutRect = self$$1.layoutRect();\n          self$$1._fullscreen = state;\n          if (!state) {\n            self$$1.borderBox = BoxUtils.parseBox(self$$1.settings.border);\n            self$$1.getEl('head').style.display = '';\n            layoutRect.deltaH += layoutRect.headerH;\n            global$9([\n              documentElement,\n              document.body\n            ]).removeClass(prefix + 'fullscreen');\n            self$$1.classes.remove('fullscreen');\n            self$$1.moveTo(self$$1._initial.x, self$$1._initial.y).resizeTo(self$$1._initial.w, self$$1._initial.h);\n          } else {\n            self$$1._initial = {\n              x: layoutRect.x,\n              y: layoutRect.y,\n              w: layoutRect.w,\n              h: layoutRect.h\n            };\n            self$$1.borderBox = BoxUtils.parseBox('0');\n            self$$1.getEl('head').style.display = 'none';\n            layoutRect.deltaH -= layoutRect.headerH + 2;\n            global$9([\n              documentElement,\n              document.body\n            ]).addClass(prefix + 'fullscreen');\n            self$$1.classes.add('fullscreen');\n            var rect = funcs.getWindowSize();\n            self$$1.moveTo(0, 0).resizeTo(rect.w, rect.h);\n          }\n        }\n        return self$$1.reflow();\n      },\n      postRender: function () {\n        var self$$1 = this;\n        var startPos;\n        setTimeout(function () {\n          self$$1.classes.add('in');\n          self$$1.fire('open');\n        }, 0);\n        self$$1._super();\n        if (self$$1.statusbar) {\n          self$$1.statusbar.postRender();\n        }\n        self$$1.focus();\n        this.dragHelper = new DragHelper(self$$1._id + '-dragh', {\n          start: function () {\n            startPos = {\n              x: self$$1.layoutRect().x,\n              y: self$$1.layoutRect().y\n            };\n          },\n          drag: function (e) {\n            self$$1.moveTo(startPos.x + e.deltaX, startPos.y + e.deltaY);\n          }\n        });\n        self$$1.on('submit', function (e) {\n          if (!e.isDefaultPrevented()) {\n            self$$1.close();\n          }\n        });\n        windows.push(self$$1);\n        toggleFullScreenState(true);\n      },\n      submit: function () {\n        return this.fire('submit', { data: this.toJSON() });\n      },\n      remove: function () {\n        var self$$1 = this;\n        var i;\n        self$$1.dragHelper.destroy();\n        self$$1._super();\n        if (self$$1.statusbar) {\n          this.statusbar.remove();\n        }\n        toggleBodyFullScreenClasses(self$$1.classPrefix, false);\n        i = windows.length;\n        while (i--) {\n          if (windows[i] === self$$1) {\n            windows.splice(i, 1);\n          }\n        }\n        toggleFullScreenState(windows.length > 0);\n      },\n      getContentWindow: function () {\n        var ifr = this.getEl().getElementsByTagName('iframe')[0];\n        return ifr ? ifr.contentWindow : null;\n      }\n    });\n    handleWindowResize();\n\n    var MessageBox = Window$$1.extend({\n      init: function (settings) {\n        settings = {\n          border: 1,\n          padding: 20,\n          layout: 'flex',\n          pack: 'center',\n          align: 'center',\n          containerCls: 'panel',\n          autoScroll: true,\n          buttons: {\n            type: 'button',\n            text: 'Ok',\n            action: 'ok'\n          },\n          items: {\n            type: 'label',\n            multiline: true,\n            maxWidth: 500,\n            maxHeight: 200\n          }\n        };\n        this._super(settings);\n      },\n      Statics: {\n        OK: 1,\n        OK_CANCEL: 2,\n        YES_NO: 3,\n        YES_NO_CANCEL: 4,\n        msgBox: function (settings) {\n          var buttons;\n          var callback = settings.callback || function () {\n          };\n          function createButton(text, status$$1, primary) {\n            return {\n              type: 'button',\n              text: text,\n              subtype: primary ? 'primary' : '',\n              onClick: function (e) {\n                e.control.parents()[1].close();\n                callback(status$$1);\n              }\n            };\n          }\n          switch (settings.buttons) {\n          case MessageBox.OK_CANCEL:\n            buttons = [\n              createButton('Ok', true, true),\n              createButton('Cancel', false)\n            ];\n            break;\n          case MessageBox.YES_NO:\n          case MessageBox.YES_NO_CANCEL:\n            buttons = [\n              createButton('Yes', 1, true),\n              createButton('No', 0)\n            ];\n            if (settings.buttons === MessageBox.YES_NO_CANCEL) {\n              buttons.push(createButton('Cancel', -1));\n            }\n            break;\n          default:\n            buttons = [createButton('Ok', true, true)];\n            break;\n          }\n          return new Window$$1({\n            padding: 20,\n            x: settings.x,\n            y: settings.y,\n            minWidth: 300,\n            minHeight: 100,\n            layout: 'flex',\n            pack: 'center',\n            align: 'center',\n            buttons: buttons,\n            title: settings.title,\n            role: 'alertdialog',\n            items: {\n              type: 'label',\n              multiline: true,\n              maxWidth: 500,\n              maxHeight: 200,\n              text: settings.text\n            },\n            onPostRender: function () {\n              this.aria('describedby', this.items()[0]._id);\n            },\n            onClose: settings.onClose,\n            onCancel: function () {\n              callback(false);\n            }\n          }).renderTo(document.body).reflow();\n        },\n        alert: function (settings, callback) {\n          if (typeof settings === 'string') {\n            settings = { text: settings };\n          }\n          settings.callback = callback;\n          return MessageBox.msgBox(settings);\n        },\n        confirm: function (settings, callback) {\n          if (typeof settings === 'string') {\n            settings = { text: settings };\n          }\n          settings.callback = callback;\n          settings.buttons = MessageBox.OK_CANCEL;\n          return MessageBox.msgBox(settings);\n        }\n      }\n    });\n\n    function WindowManagerImpl (editor) {\n      var open$$1 = function (args, params, closeCallback) {\n        var win;\n        args.title = args.title || ' ';\n        args.url = args.url || args.file;\n        if (args.url) {\n          args.width = parseInt(args.width || 320, 10);\n          args.height = parseInt(args.height || 240, 10);\n        }\n        if (args.body) {\n          args.items = {\n            defaults: args.defaults,\n            type: args.bodyType || 'form',\n            items: args.body,\n            data: args.data,\n            callbacks: args.commands\n          };\n        }\n        if (!args.url && !args.buttons) {\n          args.buttons = [\n            {\n              text: 'Ok',\n              subtype: 'primary',\n              onclick: function () {\n                win.find('form')[0].submit();\n              }\n            },\n            {\n              text: 'Cancel',\n              onclick: function () {\n                win.close();\n              }\n            }\n          ];\n        }\n        win = new Window$$1(args);\n        win.on('close', function () {\n          closeCallback(win);\n        });\n        if (args.data) {\n          win.on('postRender', function () {\n            this.find('*').each(function (ctrl) {\n              var name$$1 = ctrl.name();\n              if (name$$1 in args.data) {\n                ctrl.value(args.data[name$$1]);\n              }\n            });\n          });\n        }\n        win.features = args || {};\n        win.params = params || {};\n        win = win.renderTo(document.body).reflow();\n        return win;\n      };\n      var alert$$1 = function (message, choiceCallback, closeCallback) {\n        var win;\n        win = MessageBox.alert(message, function () {\n          choiceCallback();\n        });\n        win.on('close', function () {\n          closeCallback(win);\n        });\n        return win;\n      };\n      var confirm$$1 = function (message, choiceCallback, closeCallback) {\n        var win;\n        win = MessageBox.confirm(message, function (state) {\n          choiceCallback(state);\n        });\n        win.on('close', function () {\n          closeCallback(win);\n        });\n        return win;\n      };\n      var close$$1 = function (window$$1) {\n        window$$1.close();\n      };\n      var getParams = function (window$$1) {\n        return window$$1.params;\n      };\n      var setParams = function (window$$1, params) {\n        window$$1.params = params;\n      };\n      return {\n        open: open$$1,\n        alert: alert$$1,\n        confirm: confirm$$1,\n        close: close$$1,\n        getParams: getParams,\n        setParams: setParams\n      };\n    }\n\n    var get = function (editor) {\n      var renderUI = function (args) {\n        return Render.renderUI(editor, this, args);\n      };\n      var resizeTo = function (w, h) {\n        return Resize.resizeTo(editor, w, h);\n      };\n      var resizeBy = function (dw, dh) {\n        return Resize.resizeBy(editor, dw, dh);\n      };\n      var getNotificationManagerImpl = function () {\n        return NotificationManagerImpl(editor);\n      };\n      var getWindowManagerImpl = function () {\n        return WindowManagerImpl(editor);\n      };\n      return {\n        renderUI: renderUI,\n        resizeTo: resizeTo,\n        resizeBy: resizeBy,\n        getNotificationManagerImpl: getNotificationManagerImpl,\n        getWindowManagerImpl: getWindowManagerImpl\n      };\n    };\n    var ThemeApi = { get: get };\n\n    var Layout = global$a.extend({\n      Defaults: {\n        firstControlClass: 'first',\n        lastControlClass: 'last'\n      },\n      init: function (settings) {\n        this.settings = global$2.extend({}, this.Defaults, settings);\n      },\n      preRender: function (container) {\n        container.bodyClasses.add(this.settings.containerClass);\n      },\n      applyClasses: function (items) {\n        var self = this;\n        var settings = self.settings;\n        var firstClass, lastClass, firstItem, lastItem;\n        firstClass = settings.firstControlClass;\n        lastClass = settings.lastControlClass;\n        items.each(function (item) {\n          item.classes.remove(firstClass).remove(lastClass).add(settings.controlClass);\n          if (item.visible()) {\n            if (!firstItem) {\n              firstItem = item;\n            }\n            lastItem = item;\n          }\n        });\n        if (firstItem) {\n          firstItem.classes.add(firstClass);\n        }\n        if (lastItem) {\n          lastItem.classes.add(lastClass);\n        }\n      },\n      renderHtml: function (container) {\n        var self = this;\n        var html = '';\n        self.applyClasses(container.items());\n        container.items().each(function (item) {\n          html += item.renderHtml();\n        });\n        return html;\n      },\n      recalc: function () {\n      },\n      postRender: function () {\n      },\n      isNative: function () {\n        return false;\n      }\n    });\n\n    var AbsoluteLayout = Layout.extend({\n      Defaults: {\n        containerClass: 'abs-layout',\n        controlClass: 'abs-layout-item'\n      },\n      recalc: function (container) {\n        container.items().filter(':visible').each(function (ctrl) {\n          var settings = ctrl.settings;\n          ctrl.layoutRect({\n            x: settings.x,\n            y: settings.y,\n            w: settings.w,\n            h: settings.h\n          });\n          if (ctrl.recalc) {\n            ctrl.recalc();\n          }\n        });\n      },\n      renderHtml: function (container) {\n        return '<div id=\"' + container._id + '-absend\" class=\"' + container.classPrefix + 'abs-end\"></div>' + this._super(container);\n      }\n    });\n\n    var Button = Widget.extend({\n      Defaults: {\n        classes: 'widget btn',\n        role: 'button'\n      },\n      init: function (settings) {\n        var self$$1 = this;\n        var size;\n        self$$1._super(settings);\n        settings = self$$1.settings;\n        size = self$$1.settings.size;\n        self$$1.on('click mousedown', function (e) {\n          e.preventDefault();\n        });\n        self$$1.on('touchstart', function (e) {\n          self$$1.fire('click', e);\n          e.preventDefault();\n        });\n        if (settings.subtype) {\n          self$$1.classes.add(settings.subtype);\n        }\n        if (size) {\n          self$$1.classes.add('btn-' + size);\n        }\n        if (settings.icon) {\n          self$$1.icon(settings.icon);\n        }\n      },\n      icon: function (icon) {\n        if (!arguments.length) {\n          return this.state.get('icon');\n        }\n        this.state.set('icon', icon);\n        return this;\n      },\n      repaint: function () {\n        var btnElm = this.getEl().firstChild;\n        var btnStyle;\n        if (btnElm) {\n          btnStyle = btnElm.style;\n          btnStyle.width = btnStyle.height = '100%';\n        }\n        this._super();\n      },\n      renderHtml: function () {\n        var self$$1 = this, id = self$$1._id, prefix = self$$1.classPrefix;\n        var icon = self$$1.state.get('icon'), image;\n        var text = self$$1.state.get('text');\n        var textHtml = '';\n        var ariaPressed;\n        var settings = self$$1.settings;\n        image = settings.image;\n        if (image) {\n          icon = 'none';\n          if (typeof image !== 'string') {\n            image = window.getSelection ? image[0] : image[1];\n          }\n          image = ' style=\"background-image: url(\\'' + image + '\\')\"';\n        } else {\n          image = '';\n        }\n        if (text) {\n          self$$1.classes.add('btn-has-text');\n          textHtml = '<span class=\"' + prefix + 'txt\">' + self$$1.encode(text) + '</span>';\n        }\n        icon = icon ? prefix + 'ico ' + prefix + 'i-' + icon : '';\n        ariaPressed = typeof settings.active === 'boolean' ? ' aria-pressed=\"' + settings.active + '\"' : '';\n        return '<div id=\"' + id + '\" class=\"' + self$$1.classes + '\" tabindex=\"-1\"' + ariaPressed + '>' + '<button id=\"' + id + '-button\" role=\"presentation\" type=\"button\" tabindex=\"-1\">' + (icon ? '<i class=\"' + icon + '\"' + image + '></i>' : '') + textHtml + '</button>' + '</div>';\n      },\n      bindStates: function () {\n        var self$$1 = this, $ = self$$1.$, textCls = self$$1.classPrefix + 'txt';\n        function setButtonText(text) {\n          var $span = $('span.' + textCls, self$$1.getEl());\n          if (text) {\n            if (!$span[0]) {\n              $('button:first', self$$1.getEl()).append('<span class=\"' + textCls + '\"></span>');\n              $span = $('span.' + textCls, self$$1.getEl());\n            }\n            $span.html(self$$1.encode(text));\n          } else {\n            $span.remove();\n          }\n          self$$1.classes.toggle('btn-has-text', !!text);\n        }\n        self$$1.state.on('change:text', function (e) {\n          setButtonText(e.value);\n        });\n        self$$1.state.on('change:icon', function (e) {\n          var icon = e.value;\n          var prefix = self$$1.classPrefix;\n          self$$1.settings.icon = icon;\n          icon = icon ? prefix + 'ico ' + prefix + 'i-' + self$$1.settings.icon : '';\n          var btnElm = self$$1.getEl().firstChild;\n          var iconElm = btnElm.getElementsByTagName('i')[0];\n          if (icon) {\n            if (!iconElm || iconElm !== btnElm.firstChild) {\n              iconElm = document.createElement('i');\n              btnElm.insertBefore(iconElm, btnElm.firstChild);\n            }\n            iconElm.className = icon;\n          } else if (iconElm) {\n            btnElm.removeChild(iconElm);\n          }\n          setButtonText(self$$1.state.get('text'));\n        });\n        return self$$1._super();\n      }\n    });\n\n    var BrowseButton = Button.extend({\n      init: function (settings) {\n        var self = this;\n        settings = global$2.extend({\n          text: 'Browse...',\n          multiple: false,\n          accept: null\n        }, settings);\n        self._super(settings);\n        self.classes.add('browsebutton');\n        if (settings.multiple) {\n          self.classes.add('multiple');\n        }\n      },\n      postRender: function () {\n        var self = this;\n        var input = funcs.create('input', {\n          type: 'file',\n          id: self._id + '-browse',\n          accept: self.settings.accept\n        });\n        self._super();\n        global$9(input).on('change', function (e) {\n          var files = e.target.files;\n          self.value = function () {\n            if (!files.length) {\n              return null;\n            } else if (self.settings.multiple) {\n              return files;\n            } else {\n              return files[0];\n            }\n          };\n          e.preventDefault();\n          if (files.length) {\n            self.fire('change', e);\n          }\n        });\n        global$9(input).on('click', function (e) {\n          e.stopPropagation();\n        });\n        global$9(self.getEl('button')).on('click', function (e) {\n          e.stopPropagation();\n          input.click();\n        });\n        self.getEl().appendChild(input);\n      },\n      remove: function () {\n        global$9(this.getEl('button')).off();\n        global$9(this.getEl('input')).off();\n        this._super();\n      }\n    });\n\n    var ButtonGroup = Container.extend({\n      Defaults: {\n        defaultType: 'button',\n        role: 'group'\n      },\n      renderHtml: function () {\n        var self = this, layout = self._layout;\n        self.classes.add('btn-group');\n        self.preRender();\n        layout.preRender(self);\n        return '<div id=\"' + self._id + '\" class=\"' + self.classes + '\">' + '<div id=\"' + self._id + '-body\">' + (self.settings.html || '') + layout.renderHtml(self) + '</div>' + '</div>';\n      }\n    });\n\n    var Checkbox = Widget.extend({\n      Defaults: {\n        classes: 'checkbox',\n        role: 'checkbox',\n        checked: false\n      },\n      init: function (settings) {\n        var self$$1 = this;\n        self$$1._super(settings);\n        self$$1.on('click mousedown', function (e) {\n          e.preventDefault();\n        });\n        self$$1.on('click', function (e) {\n          e.preventDefault();\n          if (!self$$1.disabled()) {\n            self$$1.checked(!self$$1.checked());\n          }\n        });\n        self$$1.checked(self$$1.settings.checked);\n      },\n      checked: function (state) {\n        if (!arguments.length) {\n          return this.state.get('checked');\n        }\n        this.state.set('checked', state);\n        return this;\n      },\n      value: function (state) {\n        if (!arguments.length) {\n          return this.checked();\n        }\n        return this.checked(state);\n      },\n      renderHtml: function () {\n        var self$$1 = this, id = self$$1._id, prefix = self$$1.classPrefix;\n        return '<div id=\"' + id + '\" class=\"' + self$$1.classes + '\" unselectable=\"on\" aria-labelledby=\"' + id + '-al\" tabindex=\"-1\">' + '<i class=\"' + prefix + 'ico ' + prefix + 'i-checkbox\"></i>' + '<span id=\"' + id + '-al\" class=\"' + prefix + 'label\">' + self$$1.encode(self$$1.state.get('text')) + '</span>' + '</div>';\n      },\n      bindStates: function () {\n        var self$$1 = this;\n        function checked(state) {\n          self$$1.classes.toggle('checked', state);\n          self$$1.aria('checked', state);\n        }\n        self$$1.state.on('change:text', function (e) {\n          self$$1.getEl('al').firstChild.data = self$$1.translate(e.value);\n        });\n        self$$1.state.on('change:checked change:value', function (e) {\n          self$$1.fire('change');\n          checked(e.value);\n        });\n        self$$1.state.on('change:icon', function (e) {\n          var icon = e.value;\n          var prefix = self$$1.classPrefix;\n          if (typeof icon === 'undefined') {\n            return self$$1.settings.icon;\n          }\n          self$$1.settings.icon = icon;\n          icon = icon ? prefix + 'ico ' + prefix + 'i-' + self$$1.settings.icon : '';\n          var btnElm = self$$1.getEl().firstChild;\n          var iconElm = btnElm.getElementsByTagName('i')[0];\n          if (icon) {\n            if (!iconElm || iconElm !== btnElm.firstChild) {\n              iconElm = document.createElement('i');\n              btnElm.insertBefore(iconElm, btnElm.firstChild);\n            }\n            iconElm.className = icon;\n          } else if (iconElm) {\n            btnElm.removeChild(iconElm);\n          }\n        });\n        if (self$$1.state.get('checked')) {\n          checked(true);\n        }\n        return self$$1._super();\n      }\n    });\n\n    var global$d = tinymce.util.Tools.resolve('tinymce.util.VK');\n\n    var ComboBox = Widget.extend({\n      init: function (settings) {\n        var self$$1 = this;\n        self$$1._super(settings);\n        settings = self$$1.settings;\n        self$$1.classes.add('combobox');\n        self$$1.subinput = true;\n        self$$1.ariaTarget = 'inp';\n        settings.menu = settings.menu || settings.values;\n        if (settings.menu) {\n          settings.icon = 'caret';\n        }\n        self$$1.on('click', function (e) {\n          var elm = e.target;\n          var root = self$$1.getEl();\n          if (!global$9.contains(root, elm) && elm !== root) {\n            return;\n          }\n          while (elm && elm !== root) {\n            if (elm.id && elm.id.indexOf('-open') !== -1) {\n              self$$1.fire('action');\n              if (settings.menu) {\n                self$$1.showMenu();\n                if (e.aria) {\n                  self$$1.menu.items()[0].focus();\n                }\n              }\n            }\n            elm = elm.parentNode;\n          }\n        });\n        self$$1.on('keydown', function (e) {\n          var rootControl;\n          if (e.keyCode === 13 && e.target.nodeName === 'INPUT') {\n            e.preventDefault();\n            self$$1.parents().reverse().each(function (ctrl) {\n              if (ctrl.toJSON) {\n                rootControl = ctrl;\n                return false;\n              }\n            });\n            self$$1.fire('submit', { data: rootControl.toJSON() });\n          }\n        });\n        self$$1.on('keyup', function (e) {\n          if (e.target.nodeName === 'INPUT') {\n            var oldValue = self$$1.state.get('value');\n            var newValue = e.target.value;\n            if (newValue !== oldValue) {\n              self$$1.state.set('value', newValue);\n              self$$1.fire('autocomplete', e);\n            }\n          }\n        });\n        self$$1.on('mouseover', function (e) {\n          var tooltip = self$$1.tooltip().moveTo(-65535);\n          if (self$$1.statusLevel() && e.target.className.indexOf(self$$1.classPrefix + 'status') !== -1) {\n            var statusMessage = self$$1.statusMessage() || 'Ok';\n            var rel = tooltip.text(statusMessage).show().testMoveRel(e.target, [\n              'bc-tc',\n              'bc-tl',\n              'bc-tr'\n            ]);\n            tooltip.classes.toggle('tooltip-n', rel === 'bc-tc');\n            tooltip.classes.toggle('tooltip-nw', rel === 'bc-tl');\n            tooltip.classes.toggle('tooltip-ne', rel === 'bc-tr');\n            tooltip.moveRel(e.target, rel);\n          }\n        });\n      },\n      statusLevel: function (value) {\n        if (arguments.length > 0) {\n          this.state.set('statusLevel', value);\n        }\n        return this.state.get('statusLevel');\n      },\n      statusMessage: function (value) {\n        if (arguments.length > 0) {\n          this.state.set('statusMessage', value);\n        }\n        return this.state.get('statusMessage');\n      },\n      showMenu: function () {\n        var self$$1 = this;\n        var settings = self$$1.settings;\n        var menu;\n        if (!self$$1.menu) {\n          menu = settings.menu || [];\n          if (menu.length) {\n            menu = {\n              type: 'menu',\n              items: menu\n            };\n          } else {\n            menu.type = menu.type || 'menu';\n          }\n          self$$1.menu = global$4.create(menu).parent(self$$1).renderTo(self$$1.getContainerElm());\n          self$$1.fire('createmenu');\n          self$$1.menu.reflow();\n          self$$1.menu.on('cancel', function (e) {\n            if (e.control === self$$1.menu) {\n              self$$1.focus();\n            }\n          });\n          self$$1.menu.on('show hide', function (e) {\n            e.control.items().each(function (ctrl) {\n              ctrl.active(ctrl.value() === self$$1.value());\n            });\n          }).fire('show');\n          self$$1.menu.on('select', function (e) {\n            self$$1.value(e.control.value());\n          });\n          self$$1.on('focusin', function (e) {\n            if (e.target.tagName.toUpperCase() === 'INPUT') {\n              self$$1.menu.hide();\n            }\n          });\n          self$$1.aria('expanded', true);\n        }\n        self$$1.menu.show();\n        self$$1.menu.layoutRect({ w: self$$1.layoutRect().w });\n        self$$1.menu.moveRel(self$$1.getEl(), self$$1.isRtl() ? [\n          'br-tr',\n          'tr-br'\n        ] : [\n          'bl-tl',\n          'tl-bl'\n        ]);\n      },\n      focus: function () {\n        this.getEl('inp').focus();\n      },\n      repaint: function () {\n        var self$$1 = this, elm = self$$1.getEl(), openElm = self$$1.getEl('open'), rect = self$$1.layoutRect();\n        var width, lineHeight, innerPadding = 0;\n        var inputElm = elm.firstChild;\n        if (self$$1.statusLevel() && self$$1.statusLevel() !== 'none') {\n          innerPadding = parseInt(funcs.getRuntimeStyle(inputElm, 'padding-right'), 10) - parseInt(funcs.getRuntimeStyle(inputElm, 'padding-left'), 10);\n        }\n        if (openElm) {\n          width = rect.w - funcs.getSize(openElm).width - 10;\n        } else {\n          width = rect.w - 10;\n        }\n        var doc = document;\n        if (doc.all && (!doc.documentMode || doc.documentMode <= 8)) {\n          lineHeight = self$$1.layoutRect().h - 2 + 'px';\n        }\n        global$9(inputElm).css({\n          width: width - innerPadding,\n          lineHeight: lineHeight\n        });\n        self$$1._super();\n        return self$$1;\n      },\n      postRender: function () {\n        var self$$1 = this;\n        global$9(this.getEl('inp')).on('change', function (e) {\n          self$$1.state.set('value', e.target.value);\n          self$$1.fire('change', e);\n        });\n        return self$$1._super();\n      },\n      renderHtml: function () {\n        var self$$1 = this, id = self$$1._id, settings = self$$1.settings, prefix = self$$1.classPrefix;\n        var value = self$$1.state.get('value') || '';\n        var icon, text, openBtnHtml = '', extraAttrs = '', statusHtml = '';\n        if ('spellcheck' in settings) {\n          extraAttrs += ' spellcheck=\"' + settings.spellcheck + '\"';\n        }\n        if (settings.maxLength) {\n          extraAttrs += ' maxlength=\"' + settings.maxLength + '\"';\n        }\n        if (settings.size) {\n          extraAttrs += ' size=\"' + settings.size + '\"';\n        }\n        if (settings.subtype) {\n          extraAttrs += ' type=\"' + settings.subtype + '\"';\n        }\n        statusHtml = '<i id=\"' + id + '-status\" class=\"mce-status mce-ico\" style=\"display: none\"></i>';\n        if (self$$1.disabled()) {\n          extraAttrs += ' disabled=\"disabled\"';\n        }\n        icon = settings.icon;\n        if (icon && icon !== 'caret') {\n          icon = prefix + 'ico ' + prefix + 'i-' + settings.icon;\n        }\n        text = self$$1.state.get('text');\n        if (icon || text) {\n          openBtnHtml = '<div id=\"' + id + '-open\" class=\"' + prefix + 'btn ' + prefix + 'open\" tabIndex=\"-1\" role=\"button\">' + '<button id=\"' + id + '-action\" type=\"button\" hidefocus=\"1\" tabindex=\"-1\">' + (icon !== 'caret' ? '<i class=\"' + icon + '\"></i>' : '<i class=\"' + prefix + 'caret\"></i>') + (text ? (icon ? ' ' : '') + text : '') + '</button>' + '</div>';\n          self$$1.classes.add('has-open');\n        }\n        return '<div id=\"' + id + '\" class=\"' + self$$1.classes + '\">' + '<input id=\"' + id + '-inp\" class=\"' + prefix + 'textbox\" value=\"' + self$$1.encode(value, false) + '\" hidefocus=\"1\"' + extraAttrs + ' placeholder=\"' + self$$1.encode(settings.placeholder) + '\" />' + statusHtml + openBtnHtml + '</div>';\n      },\n      value: function (value) {\n        if (arguments.length) {\n          this.state.set('value', value);\n          return this;\n        }\n        if (this.state.get('rendered')) {\n          this.state.set('value', this.getEl('inp').value);\n        }\n        return this.state.get('value');\n      },\n      showAutoComplete: function (items, term) {\n        var self$$1 = this;\n        if (items.length === 0) {\n          self$$1.hideMenu();\n          return;\n        }\n        var insert = function (value, title) {\n          return function () {\n            self$$1.fire('selectitem', {\n              title: title,\n              value: value\n            });\n          };\n        };\n        if (self$$1.menu) {\n          self$$1.menu.items().remove();\n        } else {\n          self$$1.menu = global$4.create({\n            type: 'menu',\n            classes: 'combobox-menu',\n            layout: 'flow'\n          }).parent(self$$1).renderTo();\n        }\n        global$2.each(items, function (item) {\n          self$$1.menu.add({\n            text: item.title,\n            url: item.previewUrl,\n            match: term,\n            classes: 'menu-item-ellipsis',\n            onclick: insert(item.value, item.title)\n          });\n        });\n        self$$1.menu.renderNew();\n        self$$1.hideMenu();\n        self$$1.menu.on('cancel', function (e) {\n          if (e.control.parent() === self$$1.menu) {\n            e.stopPropagation();\n            self$$1.focus();\n            self$$1.hideMenu();\n          }\n        });\n        self$$1.menu.on('select', function () {\n          self$$1.focus();\n        });\n        var maxW = self$$1.layoutRect().w;\n        self$$1.menu.layoutRect({\n          w: maxW,\n          minW: 0,\n          maxW: maxW\n        });\n        self$$1.menu.repaint();\n        self$$1.menu.reflow();\n        self$$1.menu.show();\n        self$$1.menu.moveRel(self$$1.getEl(), self$$1.isRtl() ? [\n          'br-tr',\n          'tr-br'\n        ] : [\n          'bl-tl',\n          'tl-bl'\n        ]);\n      },\n      hideMenu: function () {\n        if (this.menu) {\n          this.menu.hide();\n        }\n      },\n      bindStates: function () {\n        var self$$1 = this;\n        self$$1.state.on('change:value', function (e) {\n          if (self$$1.getEl('inp').value !== e.value) {\n            self$$1.getEl('inp').value = e.value;\n          }\n        });\n        self$$1.state.on('change:disabled', function (e) {\n          self$$1.getEl('inp').disabled = e.value;\n        });\n        self$$1.state.on('change:statusLevel', function (e) {\n          var statusIconElm = self$$1.getEl('status');\n          var prefix = self$$1.classPrefix, value = e.value;\n          funcs.css(statusIconElm, 'display', value === 'none' ? 'none' : '');\n          funcs.toggleClass(statusIconElm, prefix + 'i-checkmark', value === 'ok');\n          funcs.toggleClass(statusIconElm, prefix + 'i-warning', value === 'warn');\n          funcs.toggleClass(statusIconElm, prefix + 'i-error', value === 'error');\n          self$$1.classes.toggle('has-status', value !== 'none');\n          self$$1.repaint();\n        });\n        funcs.on(self$$1.getEl('status'), 'mouseleave', function () {\n          self$$1.tooltip().hide();\n        });\n        self$$1.on('cancel', function (e) {\n          if (self$$1.menu && self$$1.menu.visible()) {\n            e.stopPropagation();\n            self$$1.hideMenu();\n          }\n        });\n        var focusIdx = function (idx, menu) {\n          if (menu && menu.items().length > 0) {\n            menu.items().eq(idx)[0].focus();\n          }\n        };\n        self$$1.on('keydown', function (e) {\n          var keyCode = e.keyCode;\n          if (e.target.nodeName === 'INPUT') {\n            if (keyCode === global$d.DOWN) {\n              e.preventDefault();\n              self$$1.fire('autocomplete');\n              focusIdx(0, self$$1.menu);\n            } else if (keyCode === global$d.UP) {\n              e.preventDefault();\n              focusIdx(-1, self$$1.menu);\n            }\n          }\n        });\n        return self$$1._super();\n      },\n      remove: function () {\n        global$9(this.getEl('inp')).off();\n        if (this.menu) {\n          this.menu.remove();\n        }\n        this._super();\n      }\n    });\n\n    var ColorBox = ComboBox.extend({\n      init: function (settings) {\n        var self = this;\n        settings.spellcheck = false;\n        if (settings.onaction) {\n          settings.icon = 'none';\n        }\n        self._super(settings);\n        self.classes.add('colorbox');\n        self.on('change keyup postrender', function () {\n          self.repaintColor(self.value());\n        });\n      },\n      repaintColor: function (value) {\n        var openElm = this.getEl('open');\n        var elm = openElm ? openElm.getElementsByTagName('i')[0] : null;\n        if (elm) {\n          try {\n            elm.style.background = value;\n          } catch (ex) {\n          }\n        }\n      },\n      bindStates: function () {\n        var self = this;\n        self.state.on('change:value', function (e) {\n          if (self.state.get('rendered')) {\n            self.repaintColor(e.value);\n          }\n        });\n        return self._super();\n      }\n    });\n\n    var PanelButton = Button.extend({\n      showPanel: function () {\n        var self = this, settings = self.settings;\n        self.classes.add('opened');\n        if (!self.panel) {\n          var panelSettings = settings.panel;\n          if (panelSettings.type) {\n            panelSettings = {\n              layout: 'grid',\n              items: panelSettings\n            };\n          }\n          panelSettings.role = panelSettings.role || 'dialog';\n          panelSettings.popover = true;\n          panelSettings.autohide = true;\n          panelSettings.ariaRoot = true;\n          self.panel = new FloatPanel(panelSettings).on('hide', function () {\n            self.classes.remove('opened');\n          }).on('cancel', function (e) {\n            e.stopPropagation();\n            self.focus();\n            self.hidePanel();\n          }).parent(self).renderTo(self.getContainerElm());\n          self.panel.fire('show');\n          self.panel.reflow();\n        } else {\n          self.panel.show();\n        }\n        var rtlRels = [\n          'bc-tc',\n          'bc-tl',\n          'bc-tr'\n        ];\n        var ltrRels = [\n          'bc-tc',\n          'bc-tr',\n          'bc-tl',\n          'tc-bc',\n          'tc-br',\n          'tc-bl'\n        ];\n        var rel = self.panel.testMoveRel(self.getEl(), settings.popoverAlign || (self.isRtl() ? rtlRels : ltrRels));\n        self.panel.classes.toggle('start', rel.substr(-1) === 'l');\n        self.panel.classes.toggle('end', rel.substr(-1) === 'r');\n        var isTop = rel.substr(0, 1) === 't';\n        self.panel.classes.toggle('bottom', !isTop);\n        self.panel.classes.toggle('top', isTop);\n        self.panel.moveRel(self.getEl(), rel);\n      },\n      hidePanel: function () {\n        var self = this;\n        if (self.panel) {\n          self.panel.hide();\n        }\n      },\n      postRender: function () {\n        var self = this;\n        self.aria('haspopup', true);\n        self.on('click', function (e) {\n          if (e.control === self) {\n            if (self.panel && self.panel.visible()) {\n              self.hidePanel();\n            } else {\n              self.showPanel();\n              self.panel.focus(!!e.aria);\n            }\n          }\n        });\n        return self._super();\n      },\n      remove: function () {\n        if (this.panel) {\n          this.panel.remove();\n          this.panel = null;\n        }\n        return this._super();\n      }\n    });\n\n    var DOM$3 = global$3.DOM;\n    var ColorButton = PanelButton.extend({\n      init: function (settings) {\n        this._super(settings);\n        this.classes.add('splitbtn');\n        this.classes.add('colorbutton');\n      },\n      color: function (color) {\n        if (color) {\n          this._color = color;\n          this.getEl('preview').style.backgroundColor = color;\n          return this;\n        }\n        return this._color;\n      },\n      resetColor: function () {\n        this._color = null;\n        this.getEl('preview').style.backgroundColor = null;\n        return this;\n      },\n      renderHtml: function () {\n        var self = this, id = self._id, prefix = self.classPrefix, text = self.state.get('text');\n        var icon = self.settings.icon ? prefix + 'ico ' + prefix + 'i-' + self.settings.icon : '';\n        var image = self.settings.image ? ' style=\"background-image: url(\\'' + self.settings.image + '\\')\"' : '';\n        var textHtml = '';\n        if (text) {\n          self.classes.add('btn-has-text');\n          textHtml = '<span class=\"' + prefix + 'txt\">' + self.encode(text) + '</span>';\n        }\n        return '<div id=\"' + id + '\" class=\"' + self.classes + '\" role=\"button\" tabindex=\"-1\" aria-haspopup=\"true\">' + '<button role=\"presentation\" hidefocus=\"1\" type=\"button\" tabindex=\"-1\">' + (icon ? '<i class=\"' + icon + '\"' + image + '></i>' : '') + '<span id=\"' + id + '-preview\" class=\"' + prefix + 'preview\"></span>' + textHtml + '</button>' + '<button type=\"button\" class=\"' + prefix + 'open\" hidefocus=\"1\" tabindex=\"-1\">' + ' <i class=\"' + prefix + 'caret\"></i>' + '</button>' + '</div>';\n      },\n      postRender: function () {\n        var self = this, onClickHandler = self.settings.onclick;\n        self.on('click', function (e) {\n          if (e.aria && e.aria.key === 'down') {\n            return;\n          }\n          if (e.control === self && !DOM$3.getParent(e.target, '.' + self.classPrefix + 'open')) {\n            e.stopImmediatePropagation();\n            onClickHandler.call(self, e);\n          }\n        });\n        delete self.settings.onclick;\n        return self._super();\n      }\n    });\n\n    var global$e = tinymce.util.Tools.resolve('tinymce.util.Color');\n\n    var ColorPicker = Widget.extend({\n      Defaults: { classes: 'widget colorpicker' },\n      init: function (settings) {\n        this._super(settings);\n      },\n      postRender: function () {\n        var self = this;\n        var color = self.color();\n        var hsv, hueRootElm, huePointElm, svRootElm, svPointElm;\n        hueRootElm = self.getEl('h');\n        huePointElm = self.getEl('hp');\n        svRootElm = self.getEl('sv');\n        svPointElm = self.getEl('svp');\n        function getPos(elm, event) {\n          var pos = funcs.getPos(elm);\n          var x, y;\n          x = event.pageX - pos.x;\n          y = event.pageY - pos.y;\n          x = Math.max(0, Math.min(x / elm.clientWidth, 1));\n          y = Math.max(0, Math.min(y / elm.clientHeight, 1));\n          return {\n            x: x,\n            y: y\n          };\n        }\n        function updateColor(hsv, hueUpdate) {\n          var hue = (360 - hsv.h) / 360;\n          funcs.css(huePointElm, { top: hue * 100 + '%' });\n          if (!hueUpdate) {\n            funcs.css(svPointElm, {\n              left: hsv.s + '%',\n              top: 100 - hsv.v + '%'\n            });\n          }\n          svRootElm.style.background = global$e({\n            s: 100,\n            v: 100,\n            h: hsv.h\n          }).toHex();\n          self.color().parse({\n            s: hsv.s,\n            v: hsv.v,\n            h: hsv.h\n          });\n        }\n        function updateSaturationAndValue(e) {\n          var pos;\n          pos = getPos(svRootElm, e);\n          hsv.s = pos.x * 100;\n          hsv.v = (1 - pos.y) * 100;\n          updateColor(hsv);\n          self.fire('change');\n        }\n        function updateHue(e) {\n          var pos;\n          pos = getPos(hueRootElm, e);\n          hsv = color.toHsv();\n          hsv.h = (1 - pos.y) * 360;\n          updateColor(hsv, true);\n          self.fire('change');\n        }\n        self._repaint = function () {\n          hsv = color.toHsv();\n          updateColor(hsv);\n        };\n        self._super();\n        self._svdraghelper = new DragHelper(self._id + '-sv', {\n          start: updateSaturationAndValue,\n          drag: updateSaturationAndValue\n        });\n        self._hdraghelper = new DragHelper(self._id + '-h', {\n          start: updateHue,\n          drag: updateHue\n        });\n        self._repaint();\n      },\n      rgb: function () {\n        return this.color().toRgb();\n      },\n      value: function (value) {\n        var self = this;\n        if (arguments.length) {\n          self.color().parse(value);\n          if (self._rendered) {\n            self._repaint();\n          }\n        } else {\n          return self.color().toHex();\n        }\n      },\n      color: function () {\n        if (!this._color) {\n          this._color = global$e();\n        }\n        return this._color;\n      },\n      renderHtml: function () {\n        var self = this;\n        var id = self._id;\n        var prefix = self.classPrefix;\n        var hueHtml;\n        var stops = '#ff0000,#ff0080,#ff00ff,#8000ff,#0000ff,#0080ff,#00ffff,#00ff80,#00ff00,#80ff00,#ffff00,#ff8000,#ff0000';\n        function getOldIeFallbackHtml() {\n          var i, l, html = '', gradientPrefix, stopsList;\n          gradientPrefix = 'filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=';\n          stopsList = stops.split(',');\n          for (i = 0, l = stopsList.length - 1; i < l; i++) {\n            html += '<div class=\"' + prefix + 'colorpicker-h-chunk\" style=\"' + 'height:' + 100 / l + '%;' + gradientPrefix + stopsList[i] + ',endColorstr=' + stopsList[i + 1] + ');' + '-ms-' + gradientPrefix + stopsList[i] + ',endColorstr=' + stopsList[i + 1] + ')' + '\"></div>';\n          }\n          return html;\n        }\n        var gradientCssText = 'background: -ms-linear-gradient(top,' + stops + ');' + 'background: linear-gradient(to bottom,' + stops + ');';\n        hueHtml = '<div id=\"' + id + '-h\" class=\"' + prefix + 'colorpicker-h\" style=\"' + gradientCssText + '\">' + getOldIeFallbackHtml() + '<div id=\"' + id + '-hp\" class=\"' + prefix + 'colorpicker-h-marker\"></div>' + '</div>';\n        return '<div id=\"' + id + '\" class=\"' + self.classes + '\">' + '<div id=\"' + id + '-sv\" class=\"' + prefix + 'colorpicker-sv\">' + '<div class=\"' + prefix + 'colorpicker-overlay1\">' + '<div class=\"' + prefix + 'colorpicker-overlay2\">' + '<div id=\"' + id + '-svp\" class=\"' + prefix + 'colorpicker-selector1\">' + '<div class=\"' + prefix + 'colorpicker-selector2\"></div>' + '</div>' + '</div>' + '</div>' + '</div>' + hueHtml + '</div>';\n      }\n    });\n\n    var DropZone = Widget.extend({\n      init: function (settings) {\n        var self = this;\n        settings = global$2.extend({\n          height: 100,\n          text: 'Drop an image here',\n          multiple: false,\n          accept: null\n        }, settings);\n        self._super(settings);\n        self.classes.add('dropzone');\n        if (settings.multiple) {\n          self.classes.add('multiple');\n        }\n      },\n      renderHtml: function () {\n        var self = this;\n        var attrs, elm;\n        var cfg = self.settings;\n        attrs = {\n          id: self._id,\n          hidefocus: '1'\n        };\n        elm = funcs.create('div', attrs, '<span>' + this.translate(cfg.text) + '</span>');\n        if (cfg.height) {\n          funcs.css(elm, 'height', cfg.height + 'px');\n        }\n        if (cfg.width) {\n          funcs.css(elm, 'width', cfg.width + 'px');\n        }\n        elm.className = self.classes;\n        return elm.outerHTML;\n      },\n      postRender: function () {\n        var self = this;\n        var toggleDragClass = function (e) {\n          e.preventDefault();\n          self.classes.toggle('dragenter');\n          self.getEl().className = self.classes;\n        };\n        var filter = function (files) {\n          var accept = self.settings.accept;\n          if (typeof accept !== 'string') {\n            return files;\n          }\n          var re = new RegExp('(' + accept.split(/\\s*,\\s*/).join('|') + ')$', 'i');\n          return global$2.grep(files, function (file) {\n            return re.test(file.name);\n          });\n        };\n        self._super();\n        self.$el.on('dragover', function (e) {\n          e.preventDefault();\n        });\n        self.$el.on('dragenter', toggleDragClass);\n        self.$el.on('dragleave', toggleDragClass);\n        self.$el.on('drop', function (e) {\n          e.preventDefault();\n          if (self.state.get('disabled')) {\n            return;\n          }\n          var files = filter(e.dataTransfer.files);\n          self.value = function () {\n            if (!files.length) {\n              return null;\n            } else if (self.settings.multiple) {\n              return files;\n            } else {\n              return files[0];\n            }\n          };\n          if (files.length) {\n            self.fire('change', e);\n          }\n        });\n      },\n      remove: function () {\n        this.$el.off();\n        this._super();\n      }\n    });\n\n    var Path = Widget.extend({\n      init: function (settings) {\n        var self = this;\n        if (!settings.delimiter) {\n          settings.delimiter = '\\xBB';\n        }\n        self._super(settings);\n        self.classes.add('path');\n        self.canFocus = true;\n        self.on('click', function (e) {\n          var index;\n          var target = e.target;\n          if (index = target.getAttribute('data-index')) {\n            self.fire('select', {\n              value: self.row()[index],\n              index: index\n            });\n          }\n        });\n        self.row(self.settings.row);\n      },\n      focus: function () {\n        var self = this;\n        self.getEl().firstChild.focus();\n        return self;\n      },\n      row: function (row) {\n        if (!arguments.length) {\n          return this.state.get('row');\n        }\n        this.state.set('row', row);\n        return this;\n      },\n      renderHtml: function () {\n        var self = this;\n        return '<div id=\"' + self._id + '\" class=\"' + self.classes + '\">' + self._getDataPathHtml(self.state.get('row')) + '</div>';\n      },\n      bindStates: function () {\n        var self = this;\n        self.state.on('change:row', function (e) {\n          self.innerHtml(self._getDataPathHtml(e.value));\n        });\n        return self._super();\n      },\n      _getDataPathHtml: function (data) {\n        var self = this;\n        var parts = data || [];\n        var i, l, html = '';\n        var prefix = self.classPrefix;\n        for (i = 0, l = parts.length; i < l; i++) {\n          html += (i > 0 ? '<div class=\"' + prefix + 'divider\" aria-hidden=\"true\"> ' + self.settings.delimiter + ' </div>' : '') + '<div role=\"button\" class=\"' + prefix + 'path-item' + (i === l - 1 ? ' ' + prefix + 'last' : '') + '\" data-index=\"' + i + '\" tabindex=\"-1\" id=\"' + self._id + '-' + i + '\" aria-level=\"' + (i + 1) + '\">' + parts[i].name + '</div>';\n        }\n        if (!html) {\n          html = '<div class=\"' + prefix + 'path-item\">\\xA0</div>';\n        }\n        return html;\n      }\n    });\n\n    var ElementPath = Path.extend({\n      postRender: function () {\n        var self = this, editor = self.settings.editor;\n        function isHidden(elm) {\n          if (elm.nodeType === 1) {\n            if (elm.nodeName === 'BR' || !!elm.getAttribute('data-mce-bogus')) {\n              return true;\n            }\n            if (elm.getAttribute('data-mce-type') === 'bookmark') {\n              return true;\n            }\n          }\n          return false;\n        }\n        if (editor.settings.elementpath !== false) {\n          self.on('select', function (e) {\n            editor.focus();\n            editor.selection.select(this.row()[e.index].element);\n            editor.nodeChanged();\n          });\n          editor.on('nodeChange', function (e) {\n            var outParents = [];\n            var parents = e.parents;\n            var i = parents.length;\n            while (i--) {\n              if (parents[i].nodeType === 1 && !isHidden(parents[i])) {\n                var args = editor.fire('ResolveName', {\n                  name: parents[i].nodeName.toLowerCase(),\n                  target: parents[i]\n                });\n                if (!args.isDefaultPrevented()) {\n                  outParents.push({\n                    name: args.name,\n                    element: parents[i]\n                  });\n                }\n                if (args.isPropagationStopped()) {\n                  break;\n                }\n              }\n            }\n            self.row(outParents);\n          });\n        }\n        return self._super();\n      }\n    });\n\n    var FormItem = Container.extend({\n      Defaults: {\n        layout: 'flex',\n        align: 'center',\n        defaults: { flex: 1 }\n      },\n      renderHtml: function () {\n        var self = this, layout = self._layout, prefix = self.classPrefix;\n        self.classes.add('formitem');\n        layout.preRender(self);\n        return '<div id=\"' + self._id + '\" class=\"' + self.classes + '\" hidefocus=\"1\" tabindex=\"-1\">' + (self.settings.title ? '<div id=\"' + self._id + '-title\" class=\"' + prefix + 'title\">' + self.settings.title + '</div>' : '') + '<div id=\"' + self._id + '-body\" class=\"' + self.bodyClasses + '\">' + (self.settings.html || '') + layout.renderHtml(self) + '</div>' + '</div>';\n      }\n    });\n\n    var Form = Container.extend({\n      Defaults: {\n        containerCls: 'form',\n        layout: 'flex',\n        direction: 'column',\n        align: 'stretch',\n        flex: 1,\n        padding: 15,\n        labelGap: 30,\n        spacing: 10,\n        callbacks: {\n          submit: function () {\n            this.submit();\n          }\n        }\n      },\n      preRender: function () {\n        var self = this, items = self.items();\n        if (!self.settings.formItemDefaults) {\n          self.settings.formItemDefaults = {\n            layout: 'flex',\n            autoResize: 'overflow',\n            defaults: { flex: 1 }\n          };\n        }\n        items.each(function (ctrl) {\n          var formItem;\n          var label = ctrl.settings.label;\n          if (label) {\n            formItem = new FormItem(global$2.extend({\n              items: {\n                type: 'label',\n                id: ctrl._id + '-l',\n                text: label,\n                flex: 0,\n                forId: ctrl._id,\n                disabled: ctrl.disabled()\n              }\n            }, self.settings.formItemDefaults));\n            formItem.type = 'formitem';\n            ctrl.aria('labelledby', ctrl._id + '-l');\n            if (typeof ctrl.settings.flex === 'undefined') {\n              ctrl.settings.flex = 1;\n            }\n            self.replace(ctrl, formItem);\n            formItem.add(ctrl);\n          }\n        });\n      },\n      submit: function () {\n        return this.fire('submit', { data: this.toJSON() });\n      },\n      postRender: function () {\n        var self = this;\n        self._super();\n        self.fromJSON(self.settings.data);\n      },\n      bindStates: function () {\n        var self = this;\n        self._super();\n        function recalcLabels() {\n          var maxLabelWidth = 0;\n          var labels = [];\n          var i, labelGap, items;\n          if (self.settings.labelGapCalc === false) {\n            return;\n          }\n          if (self.settings.labelGapCalc === 'children') {\n            items = self.find('formitem');\n          } else {\n            items = self.items();\n          }\n          items.filter('formitem').each(function (item) {\n            var labelCtrl = item.items()[0], labelWidth = labelCtrl.getEl().clientWidth;\n            maxLabelWidth = labelWidth > maxLabelWidth ? labelWidth : maxLabelWidth;\n            labels.push(labelCtrl);\n          });\n          labelGap = self.settings.labelGap || 0;\n          i = labels.length;\n          while (i--) {\n            labels[i].settings.minWidth = maxLabelWidth + labelGap;\n          }\n        }\n        self.on('show', recalcLabels);\n        recalcLabels();\n      }\n    });\n\n    var FieldSet = Form.extend({\n      Defaults: {\n        containerCls: 'fieldset',\n        layout: 'flex',\n        direction: 'column',\n        align: 'stretch',\n        flex: 1,\n        padding: '25 15 5 15',\n        labelGap: 30,\n        spacing: 10,\n        border: 1\n      },\n      renderHtml: function () {\n        var self = this, layout = self._layout, prefix = self.classPrefix;\n        self.preRender();\n        layout.preRender(self);\n        return '<fieldset id=\"' + self._id + '\" class=\"' + self.classes + '\" hidefocus=\"1\" tabindex=\"-1\">' + (self.settings.title ? '<legend id=\"' + self._id + '-title\" class=\"' + prefix + 'fieldset-title\">' + self.settings.title + '</legend>' : '') + '<div id=\"' + self._id + '-body\" class=\"' + self.bodyClasses + '\">' + (self.settings.html || '') + layout.renderHtml(self) + '</div>' + '</fieldset>';\n      }\n    });\n\n    var unique$1 = 0;\n    var generate = function (prefix) {\n      var date = new Date();\n      var time = date.getTime();\n      var random = Math.floor(Math.random() * 1000000000);\n      unique$1++;\n      return prefix + '_' + random + unique$1 + String(time);\n    };\n\n    var fromHtml = function (html, scope) {\n      var doc = scope || document;\n      var div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        console.error('HTML does not have a single root node', html);\n        throw 'HTML must have a single root node';\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    var fromTag = function (tag, scope) {\n      var doc = scope || document;\n      var node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    var fromText = function (text, scope) {\n      var doc = scope || document;\n      var node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    var fromDom = function (node) {\n      if (node === null || node === undefined)\n        throw new Error('Node cannot be null or undefined');\n      return { dom: constant(node) };\n    };\n    var fromPoint = function (docElm, x, y) {\n      var doc = docElm.dom();\n      return Option.from(doc.elementFromPoint(x, y)).map(fromDom);\n    };\n    var Element$$1 = {\n      fromHtml: fromHtml,\n      fromTag: fromTag,\n      fromText: fromText,\n      fromDom: fromDom,\n      fromPoint: fromPoint\n    };\n\n    var cached = function (f) {\n      var called = false;\n      var r;\n      return function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          args[_i] = arguments[_i];\n        }\n        if (!called) {\n          called = true;\n          r = f.apply(null, args);\n        }\n        return r;\n      };\n    };\n\n    var ATTRIBUTE = Node.ATTRIBUTE_NODE;\n    var CDATA_SECTION = Node.CDATA_SECTION_NODE;\n    var COMMENT = Node.COMMENT_NODE;\n    var DOCUMENT = Node.DOCUMENT_NODE;\n    var DOCUMENT_TYPE = Node.DOCUMENT_TYPE_NODE;\n    var DOCUMENT_FRAGMENT = Node.DOCUMENT_FRAGMENT_NODE;\n    var ELEMENT = Node.ELEMENT_NODE;\n    var TEXT = Node.TEXT_NODE;\n    var PROCESSING_INSTRUCTION = Node.PROCESSING_INSTRUCTION_NODE;\n    var ENTITY_REFERENCE = Node.ENTITY_REFERENCE_NODE;\n    var ENTITY = Node.ENTITY_NODE;\n    var NOTATION = Node.NOTATION_NODE;\n\n    var Immutable = function () {\n      var fields = [];\n      for (var _i = 0; _i < arguments.length; _i++) {\n        fields[_i] = arguments[_i];\n      }\n      return function () {\n        var values = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n          values[_i] = arguments[_i];\n        }\n        if (fields.length !== values.length) {\n          throw new Error('Wrong number of arguments to struct. Expected \"[' + fields.length + ']\", got ' + values.length + ' arguments');\n        }\n        var struct = {};\n        each(fields, function (name, i) {\n          struct[name] = constant(values[i]);\n        });\n        return struct;\n      };\n    };\n\n    var Global = typeof window !== 'undefined' ? window : Function('return this;')();\n\n    var path = function (parts, scope) {\n      var o = scope !== undefined && scope !== null ? scope : Global;\n      for (var i = 0; i < parts.length && o !== undefined && o !== null; ++i)\n        o = o[parts[i]];\n      return o;\n    };\n    var resolve = function (p, scope) {\n      var parts = p.split('.');\n      return path(parts, scope);\n    };\n\n    var unsafe = function (name, scope) {\n      return resolve(name, scope);\n    };\n    var getOrDie = function (name, scope) {\n      var actual = unsafe(name, scope);\n      if (actual === undefined || actual === null)\n        throw name + ' not available on this browser';\n      return actual;\n    };\n    var Global$1 = { getOrDie: getOrDie };\n\n    var node = function () {\n      var f = Global$1.getOrDie('Node');\n      return f;\n    };\n    var compareDocumentPosition = function (a, b, match) {\n      return (a.compareDocumentPosition(b) & match) !== 0;\n    };\n    var documentPositionPreceding = function (a, b) {\n      return compareDocumentPosition(a, b, node().DOCUMENT_POSITION_PRECEDING);\n    };\n    var documentPositionContainedBy = function (a, b) {\n      return compareDocumentPosition(a, b, node().DOCUMENT_POSITION_CONTAINED_BY);\n    };\n    var Node$1 = {\n      documentPositionPreceding: documentPositionPreceding,\n      documentPositionContainedBy: documentPositionContainedBy\n    };\n\n    var firstMatch = function (regexes, s) {\n      for (var i = 0; i < regexes.length; i++) {\n        var x = regexes[i];\n        if (x.test(s))\n          return x;\n      }\n      return undefined;\n    };\n    var find$2 = function (regexes, agent) {\n      var r = firstMatch(regexes, agent);\n      if (!r)\n        return {\n          major: 0,\n          minor: 0\n        };\n      var group = function (i) {\n        return Number(agent.replace(r, '$' + i));\n      };\n      return nu(group(1), group(2));\n    };\n    var detect = function (versionRegexes, agent) {\n      var cleanedAgent = String(agent).toLowerCase();\n      if (versionRegexes.length === 0)\n        return unknown();\n      return find$2(versionRegexes, cleanedAgent);\n    };\n    var unknown = function () {\n      return nu(0, 0);\n    };\n    var nu = function (major, minor) {\n      return {\n        major: major,\n        minor: minor\n      };\n    };\n    var Version = {\n      nu: nu,\n      detect: detect,\n      unknown: unknown\n    };\n\n    var edge = 'Edge';\n    var chrome = 'Chrome';\n    var ie = 'IE';\n    var opera = 'Opera';\n    var firefox = 'Firefox';\n    var safari = 'Safari';\n    var isBrowser = function (name, current) {\n      return function () {\n        return current === name;\n      };\n    };\n    var unknown$1 = function () {\n      return nu$1({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    var nu$1 = function (info) {\n      var current = info.current;\n      var version = info.version;\n      return {\n        current: current,\n        version: version,\n        isEdge: isBrowser(edge, current),\n        isChrome: isBrowser(chrome, current),\n        isIE: isBrowser(ie, current),\n        isOpera: isBrowser(opera, current),\n        isFirefox: isBrowser(firefox, current),\n        isSafari: isBrowser(safari, current)\n      };\n    };\n    var Browser = {\n      unknown: unknown$1,\n      nu: nu$1,\n      edge: constant(edge),\n      chrome: constant(chrome),\n      ie: constant(ie),\n      opera: constant(opera),\n      firefox: constant(firefox),\n      safari: constant(safari)\n    };\n\n    var windows$1 = 'Windows';\n    var ios = 'iOS';\n    var android = 'Android';\n    var linux = 'Linux';\n    var osx = 'OSX';\n    var solaris = 'Solaris';\n    var freebsd = 'FreeBSD';\n    var isOS = function (name, current) {\n      return function () {\n        return current === name;\n      };\n    };\n    var unknown$2 = function () {\n      return nu$2({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    var nu$2 = function (info) {\n      var current = info.current;\n      var version = info.version;\n      return {\n        current: current,\n        version: version,\n        isWindows: isOS(windows$1, current),\n        isiOS: isOS(ios, current),\n        isAndroid: isOS(android, current),\n        isOSX: isOS(osx, current),\n        isLinux: isOS(linux, current),\n        isSolaris: isOS(solaris, current),\n        isFreeBSD: isOS(freebsd, current)\n      };\n    };\n    var OperatingSystem = {\n      unknown: unknown$2,\n      nu: nu$2,\n      windows: constant(windows$1),\n      ios: constant(ios),\n      android: constant(android),\n      linux: constant(linux),\n      osx: constant(osx),\n      solaris: constant(solaris),\n      freebsd: constant(freebsd)\n    };\n\n    var DeviceType = function (os, browser, userAgent) {\n      var isiPad = os.isiOS() && /ipad/i.test(userAgent) === true;\n      var isiPhone = os.isiOS() && !isiPad;\n      var isAndroid3 = os.isAndroid() && os.version.major === 3;\n      var isAndroid4 = os.isAndroid() && os.version.major === 4;\n      var isTablet = isiPad || isAndroid3 || isAndroid4 && /mobile/i.test(userAgent) === true;\n      var isTouch = os.isiOS() || os.isAndroid();\n      var isPhone = isTouch && !isTablet;\n      var iOSwebview = browser.isSafari() && os.isiOS() && /safari/i.test(userAgent) === false;\n      return {\n        isiPad: constant(isiPad),\n        isiPhone: constant(isiPhone),\n        isTablet: constant(isTablet),\n        isPhone: constant(isPhone),\n        isTouch: constant(isTouch),\n        isAndroid: os.isAndroid,\n        isiOS: os.isiOS,\n        isWebView: constant(iOSwebview)\n      };\n    };\n\n    var detect$1 = function (candidates, userAgent) {\n      var agent = String(userAgent).toLowerCase();\n      return find(candidates, function (candidate) {\n        return candidate.search(agent);\n      });\n    };\n    var detectBrowser = function (browsers, userAgent) {\n      return detect$1(browsers, userAgent).map(function (browser) {\n        var version = Version.detect(browser.versionRegexes, userAgent);\n        return {\n          current: browser.name,\n          version: version\n        };\n      });\n    };\n    var detectOs = function (oses, userAgent) {\n      return detect$1(oses, userAgent).map(function (os) {\n        var version = Version.detect(os.versionRegexes, userAgent);\n        return {\n          current: os.name,\n          version: version\n        };\n      });\n    };\n    var UaString = {\n      detectBrowser: detectBrowser,\n      detectOs: detectOs\n    };\n\n    var contains$1 = function (str, substr) {\n      return str.indexOf(substr) !== -1;\n    };\n\n    var normalVersionRegex = /.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/;\n    var checkContains = function (target) {\n      return function (uastring) {\n        return contains$1(uastring, target);\n      };\n    };\n    var browsers = [\n      {\n        name: 'Edge',\n        versionRegexes: [/.*?edge\\/ ?([0-9]+)\\.([0-9]+)$/],\n        search: function (uastring) {\n          var monstrosity = contains$1(uastring, 'edge/') && contains$1(uastring, 'chrome') && contains$1(uastring, 'safari') && contains$1(uastring, 'applewebkit');\n          return monstrosity;\n        }\n      },\n      {\n        name: 'Chrome',\n        versionRegexes: [\n          /.*?chrome\\/([0-9]+)\\.([0-9]+).*/,\n          normalVersionRegex\n        ],\n        search: function (uastring) {\n          return contains$1(uastring, 'chrome') && !contains$1(uastring, 'chromeframe');\n        }\n      },\n      {\n        name: 'IE',\n        versionRegexes: [\n          /.*?msie\\ ?([0-9]+)\\.([0-9]+).*/,\n          /.*?rv:([0-9]+)\\.([0-9]+).*/\n        ],\n        search: function (uastring) {\n          return contains$1(uastring, 'msie') || contains$1(uastring, 'trident');\n        }\n      },\n      {\n        name: 'Opera',\n        versionRegexes: [\n          normalVersionRegex,\n          /.*?opera\\/([0-9]+)\\.([0-9]+).*/\n        ],\n        search: checkContains('opera')\n      },\n      {\n        name: 'Firefox',\n        versionRegexes: [/.*?firefox\\/\\ ?([0-9]+)\\.([0-9]+).*/],\n        search: checkContains('firefox')\n      },\n      {\n        name: 'Safari',\n        versionRegexes: [\n          normalVersionRegex,\n          /.*?cpu os ([0-9]+)_([0-9]+).*/\n        ],\n        search: function (uastring) {\n          return (contains$1(uastring, 'safari') || contains$1(uastring, 'mobile/')) && contains$1(uastring, 'applewebkit');\n        }\n      }\n    ];\n    var oses = [\n      {\n        name: 'Windows',\n        search: checkContains('win'),\n        versionRegexes: [/.*?windows\\ nt\\ ?([0-9]+)\\.([0-9]+).*/]\n      },\n      {\n        name: 'iOS',\n        search: function (uastring) {\n          return contains$1(uastring, 'iphone') || contains$1(uastring, 'ipad');\n        },\n        versionRegexes: [\n          /.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/,\n          /.*cpu os ([0-9]+)_([0-9]+).*/,\n          /.*cpu iphone os ([0-9]+)_([0-9]+).*/\n        ]\n      },\n      {\n        name: 'Android',\n        search: checkContains('android'),\n        versionRegexes: [/.*?android\\ ?([0-9]+)\\.([0-9]+).*/]\n      },\n      {\n        name: 'OSX',\n        search: checkContains('os x'),\n        versionRegexes: [/.*?os\\ x\\ ?([0-9]+)_([0-9]+).*/]\n      },\n      {\n        name: 'Linux',\n        search: checkContains('linux'),\n        versionRegexes: []\n      },\n      {\n        name: 'Solaris',\n        search: checkContains('sunos'),\n        versionRegexes: []\n      },\n      {\n        name: 'FreeBSD',\n        search: checkContains('freebsd'),\n        versionRegexes: []\n      }\n    ];\n    var PlatformInfo = {\n      browsers: constant(browsers),\n      oses: constant(oses)\n    };\n\n    var detect$2 = function (userAgent) {\n      var browsers = PlatformInfo.browsers();\n      var oses = PlatformInfo.oses();\n      var browser = UaString.detectBrowser(browsers, userAgent).fold(Browser.unknown, Browser.nu);\n      var os = UaString.detectOs(oses, userAgent).fold(OperatingSystem.unknown, OperatingSystem.nu);\n      var deviceType = DeviceType(os, browser, userAgent);\n      return {\n        browser: browser,\n        os: os,\n        deviceType: deviceType\n      };\n    };\n    var PlatformDetection = { detect: detect$2 };\n\n    var detect$3 = cached(function () {\n      var userAgent = navigator.userAgent;\n      return PlatformDetection.detect(userAgent);\n    });\n    var PlatformDetection$1 = { detect: detect$3 };\n\n    var ELEMENT$1 = ELEMENT;\n    var DOCUMENT$1 = DOCUMENT;\n    var bypassSelector = function (dom) {\n      return dom.nodeType !== ELEMENT$1 && dom.nodeType !== DOCUMENT$1 || dom.childElementCount === 0;\n    };\n    var all = function (selector, scope) {\n      var base = scope === undefined ? document : scope.dom();\n      return bypassSelector(base) ? [] : map(base.querySelectorAll(selector), Element$$1.fromDom);\n    };\n    var one = function (selector, scope) {\n      var base = scope === undefined ? document : scope.dom();\n      return bypassSelector(base) ? Option.none() : Option.from(base.querySelector(selector)).map(Element$$1.fromDom);\n    };\n\n    var regularContains = function (e1, e2) {\n      var d1 = e1.dom(), d2 = e2.dom();\n      return d1 === d2 ? false : d1.contains(d2);\n    };\n    var ieContains = function (e1, e2) {\n      return Node$1.documentPositionContainedBy(e1.dom(), e2.dom());\n    };\n    var browser = PlatformDetection$1.detect().browser;\n    var contains$2 = browser.isIE() ? ieContains : regularContains;\n\n    var spot = Immutable('element', 'offset');\n\n    var descendants$1 = function (scope, selector) {\n      return all(selector, scope);\n    };\n\n    var trim$1 = global$2.trim;\n    var hasContentEditableState = function (value) {\n      return function (node) {\n        if (node && node.nodeType === 1) {\n          if (node.contentEditable === value) {\n            return true;\n          }\n          if (node.getAttribute('data-mce-contenteditable') === value) {\n            return true;\n          }\n        }\n        return false;\n      };\n    };\n    var isContentEditableTrue = hasContentEditableState('true');\n    var isContentEditableFalse = hasContentEditableState('false');\n    var create = function (type, title, url, level, attach) {\n      return {\n        type: type,\n        title: title,\n        url: url,\n        level: level,\n        attach: attach\n      };\n    };\n    var isChildOfContentEditableTrue = function (node) {\n      while (node = node.parentNode) {\n        var value = node.contentEditable;\n        if (value && value !== 'inherit') {\n          return isContentEditableTrue(node);\n        }\n      }\n      return false;\n    };\n    var select = function (selector, root) {\n      return map(descendants$1(Element$$1.fromDom(root), selector), function (element) {\n        return element.dom();\n      });\n    };\n    var getElementText = function (elm) {\n      return elm.innerText || elm.textContent;\n    };\n    var getOrGenerateId = function (elm) {\n      return elm.id ? elm.id : generate('h');\n    };\n    var isAnchor = function (elm) {\n      return elm && elm.nodeName === 'A' && (elm.id || elm.name);\n    };\n    var isValidAnchor = function (elm) {\n      return isAnchor(elm) && isEditable(elm);\n    };\n    var isHeader = function (elm) {\n      return elm && /^(H[1-6])$/.test(elm.nodeName);\n    };\n    var isEditable = function (elm) {\n      return isChildOfContentEditableTrue(elm) && !isContentEditableFalse(elm);\n    };\n    var isValidHeader = function (elm) {\n      return isHeader(elm) && isEditable(elm);\n    };\n    var getLevel = function (elm) {\n      return isHeader(elm) ? parseInt(elm.nodeName.substr(1), 10) : 0;\n    };\n    var headerTarget = function (elm) {\n      var headerId = getOrGenerateId(elm);\n      var attach = function () {\n        elm.id = headerId;\n      };\n      return create('header', getElementText(elm), '#' + headerId, getLevel(elm), attach);\n    };\n    var anchorTarget = function (elm) {\n      var anchorId = elm.id || elm.name;\n      var anchorText = getElementText(elm);\n      return create('anchor', anchorText ? anchorText : '#' + anchorId, '#' + anchorId, 0, noop);\n    };\n    var getHeaderTargets = function (elms) {\n      return map(filter(elms, isValidHeader), headerTarget);\n    };\n    var getAnchorTargets = function (elms) {\n      return map(filter(elms, isValidAnchor), anchorTarget);\n    };\n    var getTargetElements = function (elm) {\n      var elms = select('h1,h2,h3,h4,h5,h6,a:not([href])', elm);\n      return elms;\n    };\n    var hasTitle = function (target) {\n      return trim$1(target.title).length > 0;\n    };\n    var find$3 = function (elm) {\n      var elms = getTargetElements(elm);\n      return filter(getHeaderTargets(elms).concat(getAnchorTargets(elms)), hasTitle);\n    };\n    var LinkTargets = { find: find$3 };\n\n    var getActiveEditor = function () {\n      return window.tinymce ? window.tinymce.activeEditor : global$1.activeEditor;\n    };\n    var history = {};\n    var HISTORY_LENGTH = 5;\n    var clearHistory = function () {\n      history = {};\n    };\n    var toMenuItem = function (target) {\n      return {\n        title: target.title,\n        value: {\n          title: { raw: target.title },\n          url: target.url,\n          attach: target.attach\n        }\n      };\n    };\n    var toMenuItems = function (targets) {\n      return global$2.map(targets, toMenuItem);\n    };\n    var staticMenuItem = function (title, url) {\n      return {\n        title: title,\n        value: {\n          title: title,\n          url: url,\n          attach: noop\n        }\n      };\n    };\n    var isUniqueUrl = function (url, targets) {\n      var foundTarget = exists(targets, function (target) {\n        return target.url === url;\n      });\n      return !foundTarget;\n    };\n    var getSetting = function (editorSettings, name, defaultValue) {\n      var value = name in editorSettings ? editorSettings[name] : defaultValue;\n      return value === false ? null : value;\n    };\n    var createMenuItems = function (term, targets, fileType, editorSettings) {\n      var separator = { title: '-' };\n      var fromHistoryMenuItems = function (history) {\n        var historyItems = history.hasOwnProperty(fileType) ? history[fileType] : [];\n        var uniqueHistory = filter(historyItems, function (url) {\n          return isUniqueUrl(url, targets);\n        });\n        return global$2.map(uniqueHistory, function (url) {\n          return {\n            title: url,\n            value: {\n              title: url,\n              url: url,\n              attach: noop\n            }\n          };\n        });\n      };\n      var fromMenuItems = function (type) {\n        var filteredTargets = filter(targets, function (target) {\n          return target.type === type;\n        });\n        return toMenuItems(filteredTargets);\n      };\n      var anchorMenuItems = function () {\n        var anchorMenuItems = fromMenuItems('anchor');\n        var topAnchor = getSetting(editorSettings, 'anchor_top', '#top');\n        var bottomAchor = getSetting(editorSettings, 'anchor_bottom', '#bottom');\n        if (topAnchor !== null) {\n          anchorMenuItems.unshift(staticMenuItem('<top>', topAnchor));\n        }\n        if (bottomAchor !== null) {\n          anchorMenuItems.push(staticMenuItem('<bottom>', bottomAchor));\n        }\n        return anchorMenuItems;\n      };\n      var join = function (items) {\n        return foldl(items, function (a, b) {\n          var bothEmpty = a.length === 0 || b.length === 0;\n          return bothEmpty ? a.concat(b) : a.concat(separator, b);\n        }, []);\n      };\n      if (editorSettings.typeahead_urls === false) {\n        return [];\n      }\n      return fileType === 'file' ? join([\n        filterByQuery(term, fromHistoryMenuItems(history)),\n        filterByQuery(term, fromMenuItems('header')),\n        filterByQuery(term, anchorMenuItems())\n      ]) : filterByQuery(term, fromHistoryMenuItems(history));\n    };\n    var addToHistory = function (url, fileType) {\n      var items = history[fileType];\n      if (!/^https?/.test(url)) {\n        return;\n      }\n      if (items) {\n        if (indexOf(items, url).isNone()) {\n          history[fileType] = items.slice(0, HISTORY_LENGTH).concat(url);\n        }\n      } else {\n        history[fileType] = [url];\n      }\n    };\n    var filterByQuery = function (term, menuItems) {\n      var lowerCaseTerm = term.toLowerCase();\n      var result = global$2.grep(menuItems, function (item) {\n        return item.title.toLowerCase().indexOf(lowerCaseTerm) !== -1;\n      });\n      return result.length === 1 && result[0].title === term ? [] : result;\n    };\n    var getTitle = function (linkDetails) {\n      var title = linkDetails.title;\n      return title.raw ? title.raw : title;\n    };\n    var setupAutoCompleteHandler = function (ctrl, editorSettings, bodyElm, fileType) {\n      var autocomplete = function (term) {\n        var linkTargets = LinkTargets.find(bodyElm);\n        var menuItems = createMenuItems(term, linkTargets, fileType, editorSettings);\n        ctrl.showAutoComplete(menuItems, term);\n      };\n      ctrl.on('autocomplete', function () {\n        autocomplete(ctrl.value());\n      });\n      ctrl.on('selectitem', function (e) {\n        var linkDetails = e.value;\n        ctrl.value(linkDetails.url);\n        var title = getTitle(linkDetails);\n        if (fileType === 'image') {\n          ctrl.fire('change', {\n            meta: {\n              alt: title,\n              attach: linkDetails.attach\n            }\n          });\n        } else {\n          ctrl.fire('change', {\n            meta: {\n              text: title,\n              attach: linkDetails.attach\n            }\n          });\n        }\n        ctrl.focus();\n      });\n      ctrl.on('click', function (e) {\n        if (ctrl.value().length === 0 && e.target.nodeName === 'INPUT') {\n          autocomplete('');\n        }\n      });\n      ctrl.on('PostRender', function () {\n        ctrl.getRoot().on('submit', function (e) {\n          if (!e.isDefaultPrevented()) {\n            addToHistory(ctrl.value(), fileType);\n          }\n        });\n      });\n    };\n    var statusToUiState = function (result) {\n      var status = result.status, message = result.message;\n      if (status === 'valid') {\n        return {\n          status: 'ok',\n          message: message\n        };\n      } else if (status === 'unknown') {\n        return {\n          status: 'warn',\n          message: message\n        };\n      } else if (status === 'invalid') {\n        return {\n          status: 'warn',\n          message: message\n        };\n      } else {\n        return {\n          status: 'none',\n          message: ''\n        };\n      }\n    };\n    var setupLinkValidatorHandler = function (ctrl, editorSettings, fileType) {\n      var validatorHandler = editorSettings.filepicker_validator_handler;\n      if (validatorHandler) {\n        var validateUrl_1 = function (url) {\n          if (url.length === 0) {\n            ctrl.statusLevel('none');\n            return;\n          }\n          validatorHandler({\n            url: url,\n            type: fileType\n          }, function (result) {\n            var uiState = statusToUiState(result);\n            ctrl.statusMessage(uiState.message);\n            ctrl.statusLevel(uiState.status);\n          });\n        };\n        ctrl.state.on('change:value', function (e) {\n          validateUrl_1(e.value);\n        });\n      }\n    };\n    var FilePicker = ComboBox.extend({\n      Statics: { clearHistory: clearHistory },\n      init: function (settings) {\n        var self = this, editor = getActiveEditor(), editorSettings = editor.settings;\n        var actionCallback, fileBrowserCallback, fileBrowserCallbackTypes;\n        var fileType = settings.filetype;\n        settings.spellcheck = false;\n        fileBrowserCallbackTypes = editorSettings.file_picker_types || editorSettings.file_browser_callback_types;\n        if (fileBrowserCallbackTypes) {\n          fileBrowserCallbackTypes = global$2.makeMap(fileBrowserCallbackTypes, /[, ]/);\n        }\n        if (!fileBrowserCallbackTypes || fileBrowserCallbackTypes[fileType]) {\n          fileBrowserCallback = editorSettings.file_picker_callback;\n          if (fileBrowserCallback && (!fileBrowserCallbackTypes || fileBrowserCallbackTypes[fileType])) {\n            actionCallback = function () {\n              var meta = self.fire('beforecall').meta;\n              meta = global$2.extend({ filetype: fileType }, meta);\n              fileBrowserCallback.call(editor, function (value, meta) {\n                self.value(value).fire('change', { meta: meta });\n              }, self.value(), meta);\n            };\n          } else {\n            fileBrowserCallback = editorSettings.file_browser_callback;\n            if (fileBrowserCallback && (!fileBrowserCallbackTypes || fileBrowserCallbackTypes[fileType])) {\n              actionCallback = function () {\n                fileBrowserCallback(self.getEl('inp').id, self.value(), fileType, window);\n              };\n            }\n          }\n        }\n        if (actionCallback) {\n          settings.icon = 'browse';\n          settings.onaction = actionCallback;\n        }\n        self._super(settings);\n        self.classes.add('filepicker');\n        setupAutoCompleteHandler(self, editorSettings, editor.getBody(), fileType);\n        setupLinkValidatorHandler(self, editorSettings, fileType);\n      }\n    });\n\n    var FitLayout = AbsoluteLayout.extend({\n      recalc: function (container) {\n        var contLayoutRect = container.layoutRect(), paddingBox = container.paddingBox;\n        container.items().filter(':visible').each(function (ctrl) {\n          ctrl.layoutRect({\n            x: paddingBox.left,\n            y: paddingBox.top,\n            w: contLayoutRect.innerW - paddingBox.right - paddingBox.left,\n            h: contLayoutRect.innerH - paddingBox.top - paddingBox.bottom\n          });\n          if (ctrl.recalc) {\n            ctrl.recalc();\n          }\n        });\n      }\n    });\n\n    var FlexLayout = AbsoluteLayout.extend({\n      recalc: function (container) {\n        var i, l, items, contLayoutRect, contPaddingBox, contSettings, align, pack, spacing, totalFlex, availableSpace, direction;\n        var ctrl, ctrlLayoutRect, ctrlSettings, flex;\n        var maxSizeItems = [];\n        var size, maxSize, ratio, rect, pos, maxAlignEndPos;\n        var sizeName, minSizeName, posName, maxSizeName, beforeName, innerSizeName, deltaSizeName, contentSizeName;\n        var alignAxisName, alignInnerSizeName, alignSizeName, alignMinSizeName, alignBeforeName, alignAfterName;\n        var alignDeltaSizeName, alignContentSizeName;\n        var max = Math.max, min = Math.min;\n        items = container.items().filter(':visible');\n        contLayoutRect = container.layoutRect();\n        contPaddingBox = container.paddingBox;\n        contSettings = container.settings;\n        direction = container.isRtl() ? contSettings.direction || 'row-reversed' : contSettings.direction;\n        align = contSettings.align;\n        pack = container.isRtl() ? contSettings.pack || 'end' : contSettings.pack;\n        spacing = contSettings.spacing || 0;\n        if (direction === 'row-reversed' || direction === 'column-reverse') {\n          items = items.set(items.toArray().reverse());\n          direction = direction.split('-')[0];\n        }\n        if (direction === 'column') {\n          posName = 'y';\n          sizeName = 'h';\n          minSizeName = 'minH';\n          maxSizeName = 'maxH';\n          innerSizeName = 'innerH';\n          beforeName = 'top';\n          deltaSizeName = 'deltaH';\n          contentSizeName = 'contentH';\n          alignBeforeName = 'left';\n          alignSizeName = 'w';\n          alignAxisName = 'x';\n          alignInnerSizeName = 'innerW';\n          alignMinSizeName = 'minW';\n          alignAfterName = 'right';\n          alignDeltaSizeName = 'deltaW';\n          alignContentSizeName = 'contentW';\n        } else {\n          posName = 'x';\n          sizeName = 'w';\n          minSizeName = 'minW';\n          maxSizeName = 'maxW';\n          innerSizeName = 'innerW';\n          beforeName = 'left';\n          deltaSizeName = 'deltaW';\n          contentSizeName = 'contentW';\n          alignBeforeName = 'top';\n          alignSizeName = 'h';\n          alignAxisName = 'y';\n          alignInnerSizeName = 'innerH';\n          alignMinSizeName = 'minH';\n          alignAfterName = 'bottom';\n          alignDeltaSizeName = 'deltaH';\n          alignContentSizeName = 'contentH';\n        }\n        availableSpace = contLayoutRect[innerSizeName] - contPaddingBox[beforeName] - contPaddingBox[beforeName];\n        maxAlignEndPos = totalFlex = 0;\n        for (i = 0, l = items.length; i < l; i++) {\n          ctrl = items[i];\n          ctrlLayoutRect = ctrl.layoutRect();\n          ctrlSettings = ctrl.settings;\n          flex = ctrlSettings.flex;\n          availableSpace -= i < l - 1 ? spacing : 0;\n          if (flex > 0) {\n            totalFlex += flex;\n            if (ctrlLayoutRect[maxSizeName]) {\n              maxSizeItems.push(ctrl);\n            }\n            ctrlLayoutRect.flex = flex;\n          }\n          availableSpace -= ctrlLayoutRect[minSizeName];\n          size = contPaddingBox[alignBeforeName] + ctrlLayoutRect[alignMinSizeName] + contPaddingBox[alignAfterName];\n          if (size > maxAlignEndPos) {\n            maxAlignEndPos = size;\n          }\n        }\n        rect = {};\n        if (availableSpace < 0) {\n          rect[minSizeName] = contLayoutRect[minSizeName] - availableSpace + contLayoutRect[deltaSizeName];\n        } else {\n          rect[minSizeName] = contLayoutRect[innerSizeName] - availableSpace + contLayoutRect[deltaSizeName];\n        }\n        rect[alignMinSizeName] = maxAlignEndPos + contLayoutRect[alignDeltaSizeName];\n        rect[contentSizeName] = contLayoutRect[innerSizeName] - availableSpace;\n        rect[alignContentSizeName] = maxAlignEndPos;\n        rect.minW = min(rect.minW, contLayoutRect.maxW);\n        rect.minH = min(rect.minH, contLayoutRect.maxH);\n        rect.minW = max(rect.minW, contLayoutRect.startMinWidth);\n        rect.minH = max(rect.minH, contLayoutRect.startMinHeight);\n        if (contLayoutRect.autoResize && (rect.minW !== contLayoutRect.minW || rect.minH !== contLayoutRect.minH)) {\n          rect.w = rect.minW;\n          rect.h = rect.minH;\n          container.layoutRect(rect);\n          this.recalc(container);\n          if (container._lastRect === null) {\n            var parentCtrl = container.parent();\n            if (parentCtrl) {\n              parentCtrl._lastRect = null;\n              parentCtrl.recalc();\n            }\n          }\n          return;\n        }\n        ratio = availableSpace / totalFlex;\n        for (i = 0, l = maxSizeItems.length; i < l; i++) {\n          ctrl = maxSizeItems[i];\n          ctrlLayoutRect = ctrl.layoutRect();\n          maxSize = ctrlLayoutRect[maxSizeName];\n          size = ctrlLayoutRect[minSizeName] + ctrlLayoutRect.flex * ratio;\n          if (size > maxSize) {\n            availableSpace -= ctrlLayoutRect[maxSizeName] - ctrlLayoutRect[minSizeName];\n            totalFlex -= ctrlLayoutRect.flex;\n            ctrlLayoutRect.flex = 0;\n            ctrlLayoutRect.maxFlexSize = maxSize;\n          } else {\n            ctrlLayoutRect.maxFlexSize = 0;\n          }\n        }\n        ratio = availableSpace / totalFlex;\n        pos = contPaddingBox[beforeName];\n        rect = {};\n        if (totalFlex === 0) {\n          if (pack === 'end') {\n            pos = availableSpace + contPaddingBox[beforeName];\n          } else if (pack === 'center') {\n            pos = Math.round(contLayoutRect[innerSizeName] / 2 - (contLayoutRect[innerSizeName] - availableSpace) / 2) + contPaddingBox[beforeName];\n            if (pos < 0) {\n              pos = contPaddingBox[beforeName];\n            }\n          } else if (pack === 'justify') {\n            pos = contPaddingBox[beforeName];\n            spacing = Math.floor(availableSpace / (items.length - 1));\n          }\n        }\n        rect[alignAxisName] = contPaddingBox[alignBeforeName];\n        for (i = 0, l = items.length; i < l; i++) {\n          ctrl = items[i];\n          ctrlLayoutRect = ctrl.layoutRect();\n          size = ctrlLayoutRect.maxFlexSize || ctrlLayoutRect[minSizeName];\n          if (align === 'center') {\n            rect[alignAxisName] = Math.round(contLayoutRect[alignInnerSizeName] / 2 - ctrlLayoutRect[alignSizeName] / 2);\n          } else if (align === 'stretch') {\n            rect[alignSizeName] = max(ctrlLayoutRect[alignMinSizeName] || 0, contLayoutRect[alignInnerSizeName] - contPaddingBox[alignBeforeName] - contPaddingBox[alignAfterName]);\n            rect[alignAxisName] = contPaddingBox[alignBeforeName];\n          } else if (align === 'end') {\n            rect[alignAxisName] = contLayoutRect[alignInnerSizeName] - ctrlLayoutRect[alignSizeName] - contPaddingBox.top;\n          }\n          if (ctrlLayoutRect.flex > 0) {\n            size += ctrlLayoutRect.flex * ratio;\n          }\n          rect[sizeName] = size;\n          rect[posName] = pos;\n          ctrl.layoutRect(rect);\n          if (ctrl.recalc) {\n            ctrl.recalc();\n          }\n          pos += size + spacing;\n        }\n      }\n    });\n\n    var FlowLayout = Layout.extend({\n      Defaults: {\n        containerClass: 'flow-layout',\n        controlClass: 'flow-layout-item',\n        endClass: 'break'\n      },\n      recalc: function (container) {\n        container.items().filter(':visible').each(function (ctrl) {\n          if (ctrl.recalc) {\n            ctrl.recalc();\n          }\n        });\n      },\n      isNative: function () {\n        return true;\n      }\n    });\n\n    var descendant$1 = function (scope, selector) {\n      return one(selector, scope);\n    };\n\n    var toggleFormat = function (editor, fmt) {\n      return function () {\n        editor.execCommand('mceToggleFormat', false, fmt);\n      };\n    };\n    var addFormatChangedListener = function (editor, name, changed) {\n      var handler = function (state) {\n        changed(state, name);\n      };\n      if (editor.formatter) {\n        editor.formatter.formatChanged(name, handler);\n      } else {\n        editor.on('init', function () {\n          editor.formatter.formatChanged(name, handler);\n        });\n      }\n    };\n    var postRenderFormatToggle = function (editor, name) {\n      return function (e) {\n        addFormatChangedListener(editor, name, function (state) {\n          e.control.active(state);\n        });\n      };\n    };\n\n    var register = function (editor) {\n      var alignFormats = [\n        'alignleft',\n        'aligncenter',\n        'alignright',\n        'alignjustify'\n      ];\n      var defaultAlign = 'alignleft';\n      var alignMenuItems = [\n        {\n          text: 'Left',\n          icon: 'alignleft',\n          onclick: toggleFormat(editor, 'alignleft')\n        },\n        {\n          text: 'Center',\n          icon: 'aligncenter',\n          onclick: toggleFormat(editor, 'aligncenter')\n        },\n        {\n          text: 'Right',\n          icon: 'alignright',\n          onclick: toggleFormat(editor, 'alignright')\n        },\n        {\n          text: 'Justify',\n          icon: 'alignjustify',\n          onclick: toggleFormat(editor, 'alignjustify')\n        }\n      ];\n      editor.addMenuItem('align', {\n        text: 'Align',\n        menu: alignMenuItems\n      });\n      editor.addButton('align', {\n        type: 'menubutton',\n        icon: defaultAlign,\n        menu: alignMenuItems,\n        onShowMenu: function (e) {\n          var menu = e.control.menu;\n          global$2.each(alignFormats, function (formatName, idx) {\n            menu.items().eq(idx).each(function (item) {\n              return item.active(editor.formatter.match(formatName));\n            });\n          });\n        },\n        onPostRender: function (e) {\n          var ctrl = e.control;\n          global$2.each(alignFormats, function (formatName, idx) {\n            addFormatChangedListener(editor, formatName, function (state) {\n              ctrl.icon(defaultAlign);\n              if (state) {\n                ctrl.icon(formatName);\n              }\n            });\n          });\n        }\n      });\n      global$2.each({\n        alignleft: [\n          'Align left',\n          'JustifyLeft'\n        ],\n        aligncenter: [\n          'Align center',\n          'JustifyCenter'\n        ],\n        alignright: [\n          'Align right',\n          'JustifyRight'\n        ],\n        alignjustify: [\n          'Justify',\n          'JustifyFull'\n        ],\n        alignnone: [\n          'No alignment',\n          'JustifyNone'\n        ]\n      }, function (item, name) {\n        editor.addButton(name, {\n          active: false,\n          tooltip: item[0],\n          cmd: item[1],\n          onPostRender: postRenderFormatToggle(editor, name)\n        });\n      });\n    };\n    var Align = { register: register };\n\n    var getFirstFont = function (fontFamily) {\n      return fontFamily ? fontFamily.split(',')[0] : '';\n    };\n    var findMatchingValue = function (items, fontFamily) {\n      var font = fontFamily ? fontFamily.toLowerCase() : '';\n      var value;\n      global$2.each(items, function (item) {\n        if (item.value.toLowerCase() === font) {\n          value = item.value;\n        }\n      });\n      global$2.each(items, function (item) {\n        if (!value && getFirstFont(item.value).toLowerCase() === getFirstFont(font).toLowerCase()) {\n          value = item.value;\n        }\n      });\n      return value;\n    };\n    var createFontNameListBoxChangeHandler = function (editor, items) {\n      return function () {\n        var self = this;\n        self.state.set('value', null);\n        editor.on('init nodeChange', function (e) {\n          var fontFamily = editor.queryCommandValue('FontName');\n          var match = findMatchingValue(items, fontFamily);\n          self.value(match ? match : null);\n          if (!match && fontFamily) {\n            self.text(getFirstFont(fontFamily));\n          }\n        });\n      };\n    };\n    var createFormats = function (formats) {\n      formats = formats.replace(/;$/, '').split(';');\n      var i = formats.length;\n      while (i--) {\n        formats[i] = formats[i].split('=');\n      }\n      return formats;\n    };\n    var getFontItems = function (editor) {\n      var defaultFontsFormats = 'Andale Mono=andale mono,monospace;' + 'Arial=arial,helvetica,sans-serif;' + 'Arial Black=arial black,sans-serif;' + 'Book Antiqua=book antiqua,palatino,serif;' + 'Comic Sans MS=comic sans ms,sans-serif;' + 'Courier New=courier new,courier,monospace;' + 'Georgia=georgia,palatino,serif;' + 'Helvetica=helvetica,arial,sans-serif;' + 'Impact=impact,sans-serif;' + 'Symbol=symbol;' + 'Tahoma=tahoma,arial,helvetica,sans-serif;' + 'Terminal=terminal,monaco,monospace;' + 'Times New Roman=times new roman,times,serif;' + 'Trebuchet MS=trebuchet ms,geneva,sans-serif;' + 'Verdana=verdana,geneva,sans-serif;' + 'Webdings=webdings;' + 'Wingdings=wingdings,zapf dingbats';\n      var fonts = createFormats(editor.settings.font_formats || defaultFontsFormats);\n      return global$2.map(fonts, function (font) {\n        return {\n          text: { raw: font[0] },\n          value: font[1],\n          textStyle: font[1].indexOf('dings') === -1 ? 'font-family:' + font[1] : ''\n        };\n      });\n    };\n    var registerButtons = function (editor) {\n      editor.addButton('fontselect', function () {\n        var items = getFontItems(editor);\n        return {\n          type: 'listbox',\n          text: 'Font Family',\n          tooltip: 'Font Family',\n          values: items,\n          fixedWidth: true,\n          onPostRender: createFontNameListBoxChangeHandler(editor, items),\n          onselect: function (e) {\n            if (e.control.settings.value) {\n              editor.execCommand('FontName', false, e.control.settings.value);\n            }\n          }\n        };\n      });\n    };\n    var register$1 = function (editor) {\n      registerButtons(editor);\n    };\n    var FontSelect = { register: register$1 };\n\n    var round = function (number, precision) {\n      var factor = Math.pow(10, precision);\n      return Math.round(number * factor) / factor;\n    };\n    var toPt = function (fontSize, precision) {\n      if (/[0-9.]+px$/.test(fontSize)) {\n        return round(parseInt(fontSize, 10) * 72 / 96, precision || 0) + 'pt';\n      }\n      return fontSize;\n    };\n    var findMatchingValue$1 = function (items, pt, px) {\n      var value;\n      global$2.each(items, function (item) {\n        if (item.value === px) {\n          value = px;\n        } else if (item.value === pt) {\n          value = pt;\n        }\n      });\n      return value;\n    };\n    var createFontSizeListBoxChangeHandler = function (editor, items) {\n      return function () {\n        var self = this;\n        editor.on('init nodeChange', function (e) {\n          var px, pt, precision, match;\n          px = editor.queryCommandValue('FontSize');\n          if (px) {\n            for (precision = 3; !match && precision >= 0; precision--) {\n              pt = toPt(px, precision);\n              match = findMatchingValue$1(items, pt, px);\n            }\n          }\n          self.value(match ? match : null);\n          if (!match) {\n            self.text(pt);\n          }\n        });\n      };\n    };\n    var getFontSizeItems = function (editor) {\n      var defaultFontsizeFormats = '8pt 10pt 12pt 14pt 18pt 24pt 36pt';\n      var fontsizeFormats = editor.settings.fontsize_formats || defaultFontsizeFormats;\n      return global$2.map(fontsizeFormats.split(' '), function (item) {\n        var text = item, value = item;\n        var values = item.split('=');\n        if (values.length > 1) {\n          text = values[0];\n          value = values[1];\n        }\n        return {\n          text: text,\n          value: value\n        };\n      });\n    };\n    var registerButtons$1 = function (editor) {\n      editor.addButton('fontsizeselect', function () {\n        var items = getFontSizeItems(editor);\n        return {\n          type: 'listbox',\n          text: 'Font Sizes',\n          tooltip: 'Font Sizes',\n          values: items,\n          fixedWidth: true,\n          onPostRender: createFontSizeListBoxChangeHandler(editor, items),\n          onclick: function (e) {\n            if (e.control.settings.value) {\n              editor.execCommand('FontSize', false, e.control.settings.value);\n            }\n          }\n        };\n      });\n    };\n    var register$2 = function (editor) {\n      registerButtons$1(editor);\n    };\n    var FontSizeSelect = { register: register$2 };\n\n    var hideMenuObjects = function (editor, menu) {\n      var count = menu.length;\n      global$2.each(menu, function (item) {\n        if (item.menu) {\n          item.hidden = hideMenuObjects(editor, item.menu) === 0;\n        }\n        var formatName = item.format;\n        if (formatName) {\n          item.hidden = !editor.formatter.canApply(formatName);\n        }\n        if (item.hidden) {\n          count--;\n        }\n      });\n      return count;\n    };\n    var hideFormatMenuItems = function (editor, menu) {\n      var count = menu.items().length;\n      menu.items().each(function (item) {\n        if (item.menu) {\n          item.visible(hideFormatMenuItems(editor, item.menu) > 0);\n        }\n        if (!item.menu && item.settings.menu) {\n          item.visible(hideMenuObjects(editor, item.settings.menu) > 0);\n        }\n        var formatName = item.settings.format;\n        if (formatName) {\n          item.visible(editor.formatter.canApply(formatName));\n        }\n        if (!item.visible()) {\n          count--;\n        }\n      });\n      return count;\n    };\n    var createFormatMenu = function (editor) {\n      var count = 0;\n      var newFormats = [];\n      var defaultStyleFormats = [\n        {\n          title: 'Headings',\n          items: [\n            {\n              title: 'Heading 1',\n              format: 'h1'\n            },\n            {\n              title: 'Heading 2',\n              format: 'h2'\n            },\n            {\n              title: 'Heading 3',\n              format: 'h3'\n            },\n            {\n              title: 'Heading 4',\n              format: 'h4'\n            },\n            {\n              title: 'Heading 5',\n              format: 'h5'\n            },\n            {\n              title: 'Heading 6',\n              format: 'h6'\n            }\n          ]\n        },\n        {\n          title: 'Inline',\n          items: [\n            {\n              title: 'Bold',\n              icon: 'bold',\n              format: 'bold'\n            },\n            {\n              title: 'Italic',\n              icon: 'italic',\n              format: 'italic'\n            },\n            {\n              title: 'Underline',\n              icon: 'underline',\n              format: 'underline'\n            },\n            {\n              title: 'Strikethrough',\n              icon: 'strikethrough',\n              format: 'strikethrough'\n            },\n            {\n              title: 'Superscript',\n              icon: 'superscript',\n              format: 'superscript'\n            },\n            {\n              title: 'Subscript',\n              icon: 'subscript',\n              format: 'subscript'\n            },\n            {\n              title: 'Code',\n              icon: 'code',\n              format: 'code'\n            }\n          ]\n        },\n        {\n          title: 'Blocks',\n          items: [\n            {\n              title: 'Paragraph',\n              format: 'p'\n            },\n            {\n              title: 'Blockquote',\n              format: 'blockquote'\n            },\n            {\n              title: 'Div',\n              format: 'div'\n            },\n            {\n              title: 'Pre',\n              format: 'pre'\n            }\n          ]\n        },\n        {\n          title: 'Alignment',\n          items: [\n            {\n              title: 'Left',\n              icon: 'alignleft',\n              format: 'alignleft'\n            },\n            {\n              title: 'Center',\n              icon: 'aligncenter',\n              format: 'aligncenter'\n            },\n            {\n              title: 'Right',\n              icon: 'alignright',\n              format: 'alignright'\n            },\n            {\n              title: 'Justify',\n              icon: 'alignjustify',\n              format: 'alignjustify'\n            }\n          ]\n        }\n      ];\n      var createMenu = function (formats) {\n        var menu = [];\n        if (!formats) {\n          return;\n        }\n        global$2.each(formats, function (format) {\n          var menuItem = {\n            text: format.title,\n            icon: format.icon\n          };\n          if (format.items) {\n            menuItem.menu = createMenu(format.items);\n          } else {\n            var formatName = format.format || 'custom' + count++;\n            if (!format.format) {\n              format.name = formatName;\n              newFormats.push(format);\n            }\n            menuItem.format = formatName;\n            menuItem.cmd = format.cmd;\n          }\n          menu.push(menuItem);\n        });\n        return menu;\n      };\n      var createStylesMenu = function () {\n        var menu;\n        if (editor.settings.style_formats_merge) {\n          if (editor.settings.style_formats) {\n            menu = createMenu(defaultStyleFormats.concat(editor.settings.style_formats));\n          } else {\n            menu = createMenu(defaultStyleFormats);\n          }\n        } else {\n          menu = createMenu(editor.settings.style_formats || defaultStyleFormats);\n        }\n        return menu;\n      };\n      editor.on('init', function () {\n        global$2.each(newFormats, function (format) {\n          editor.formatter.register(format.name, format);\n        });\n      });\n      return {\n        type: 'menu',\n        items: createStylesMenu(),\n        onPostRender: function (e) {\n          editor.fire('renderFormatsMenu', { control: e.control });\n        },\n        itemDefaults: {\n          preview: true,\n          textStyle: function () {\n            if (this.settings.format) {\n              return editor.formatter.getCssText(this.settings.format);\n            }\n          },\n          onPostRender: function () {\n            var self = this;\n            self.parent().on('show', function () {\n              var formatName, command;\n              formatName = self.settings.format;\n              if (formatName) {\n                self.disabled(!editor.formatter.canApply(formatName));\n                self.active(editor.formatter.match(formatName));\n              }\n              command = self.settings.cmd;\n              if (command) {\n                self.active(editor.queryCommandState(command));\n              }\n            });\n          },\n          onclick: function () {\n            if (this.settings.format) {\n              toggleFormat(editor, this.settings.format)();\n            }\n            if (this.settings.cmd) {\n              editor.execCommand(this.settings.cmd);\n            }\n          }\n        }\n      };\n    };\n    var registerMenuItems = function (editor, formatMenu) {\n      editor.addMenuItem('formats', {\n        text: 'Formats',\n        menu: formatMenu\n      });\n    };\n    var registerButtons$2 = function (editor, formatMenu) {\n      editor.addButton('styleselect', {\n        type: 'menubutton',\n        text: 'Formats',\n        menu: formatMenu,\n        onShowMenu: function () {\n          if (editor.settings.style_formats_autohide) {\n            hideFormatMenuItems(editor, this.menu);\n          }\n        }\n      });\n    };\n    var register$3 = function (editor) {\n      var formatMenu = createFormatMenu(editor);\n      registerMenuItems(editor, formatMenu);\n      registerButtons$2(editor, formatMenu);\n    };\n    var Formats = { register: register$3 };\n\n    var defaultBlocks = 'Paragraph=p;' + 'Heading 1=h1;' + 'Heading 2=h2;' + 'Heading 3=h3;' + 'Heading 4=h4;' + 'Heading 5=h5;' + 'Heading 6=h6;' + 'Preformatted=pre';\n    var createFormats$1 = function (formats) {\n      formats = formats.replace(/;$/, '').split(';');\n      var i = formats.length;\n      while (i--) {\n        formats[i] = formats[i].split('=');\n      }\n      return formats;\n    };\n    var createListBoxChangeHandler = function (editor, items, formatName) {\n      return function () {\n        var self = this;\n        editor.on('nodeChange', function (e) {\n          var formatter = editor.formatter;\n          var value = null;\n          global$2.each(e.parents, function (node) {\n            global$2.each(items, function (item) {\n              if (formatName) {\n                if (formatter.matchNode(node, formatName, { value: item.value })) {\n                  value = item.value;\n                }\n              } else {\n                if (formatter.matchNode(node, item.value)) {\n                  value = item.value;\n                }\n              }\n              if (value) {\n                return false;\n              }\n            });\n            if (value) {\n              return false;\n            }\n          });\n          self.value(value);\n        });\n      };\n    };\n    var lazyFormatSelectBoxItems = function (editor, blocks) {\n      return function () {\n        var items = [];\n        global$2.each(blocks, function (block) {\n          items.push({\n            text: block[0],\n            value: block[1],\n            textStyle: function () {\n              return editor.formatter.getCssText(block[1]);\n            }\n          });\n        });\n        return {\n          type: 'listbox',\n          text: blocks[0][0],\n          values: items,\n          fixedWidth: true,\n          onselect: function (e) {\n            if (e.control) {\n              var fmt = e.control.value();\n              toggleFormat(editor, fmt)();\n            }\n          },\n          onPostRender: createListBoxChangeHandler(editor, items)\n        };\n      };\n    };\n    var buildMenuItems = function (editor, blocks) {\n      return global$2.map(blocks, function (block) {\n        return {\n          text: block[0],\n          onclick: toggleFormat(editor, block[1]),\n          textStyle: function () {\n            return editor.formatter.getCssText(block[1]);\n          }\n        };\n      });\n    };\n    var register$4 = function (editor) {\n      var blocks = createFormats$1(editor.settings.block_formats || defaultBlocks);\n      editor.addMenuItem('blockformats', {\n        text: 'Blocks',\n        menu: buildMenuItems(editor, blocks)\n      });\n      editor.addButton('formatselect', lazyFormatSelectBoxItems(editor, blocks));\n    };\n    var FormatSelect = { register: register$4 };\n\n    var createCustomMenuItems = function (editor, names) {\n      var items, nameList;\n      if (typeof names === 'string') {\n        nameList = names.split(' ');\n      } else if (global$2.isArray(names)) {\n        return flatten(global$2.map(names, function (names) {\n          return createCustomMenuItems(editor, names);\n        }));\n      }\n      items = global$2.grep(nameList, function (name) {\n        return name === '|' || name in editor.menuItems;\n      });\n      return global$2.map(items, function (name) {\n        return name === '|' ? { text: '-' } : editor.menuItems[name];\n      });\n    };\n    var isSeparator$1 = function (menuItem) {\n      return menuItem && menuItem.text === '-';\n    };\n    var trimMenuItems = function (menuItems) {\n      var menuItems2 = filter(menuItems, function (menuItem, i, menuItems) {\n        return !isSeparator$1(menuItem) || !isSeparator$1(menuItems[i - 1]);\n      });\n      return filter(menuItems2, function (menuItem, i, menuItems) {\n        return !isSeparator$1(menuItem) || i > 0 && i < menuItems.length - 1;\n      });\n    };\n    var createContextMenuItems = function (editor, context) {\n      var outputMenuItems = [{ text: '-' }];\n      var menuItems = global$2.grep(editor.menuItems, function (menuItem) {\n        return menuItem.context === context;\n      });\n      global$2.each(menuItems, function (menuItem) {\n        if (menuItem.separator === 'before') {\n          outputMenuItems.push({ text: '|' });\n        }\n        if (menuItem.prependToContext) {\n          outputMenuItems.unshift(menuItem);\n        } else {\n          outputMenuItems.push(menuItem);\n        }\n        if (menuItem.separator === 'after') {\n          outputMenuItems.push({ text: '|' });\n        }\n      });\n      return outputMenuItems;\n    };\n    var createInsertMenu = function (editor) {\n      var insertButtonItems = editor.settings.insert_button_items;\n      if (insertButtonItems) {\n        return trimMenuItems(createCustomMenuItems(editor, insertButtonItems));\n      } else {\n        return trimMenuItems(createContextMenuItems(editor, 'insert'));\n      }\n    };\n    var registerButtons$3 = function (editor) {\n      editor.addButton('insert', {\n        type: 'menubutton',\n        icon: 'insert',\n        menu: [],\n        oncreatemenu: function () {\n          this.menu.add(createInsertMenu(editor));\n          this.menu.renderNew();\n        }\n      });\n    };\n    var register$5 = function (editor) {\n      registerButtons$3(editor);\n    };\n    var InsertButton = { register: register$5 };\n\n    var registerFormatButtons = function (editor) {\n      global$2.each({\n        bold: 'Bold',\n        italic: 'Italic',\n        underline: 'Underline',\n        strikethrough: 'Strikethrough',\n        subscript: 'Subscript',\n        superscript: 'Superscript'\n      }, function (text, name) {\n        editor.addButton(name, {\n          active: false,\n          tooltip: text,\n          onPostRender: postRenderFormatToggle(editor, name),\n          onclick: toggleFormat(editor, name)\n        });\n      });\n    };\n    var registerCommandButtons = function (editor) {\n      global$2.each({\n        outdent: [\n          'Decrease indent',\n          'Outdent'\n        ],\n        indent: [\n          'Increase indent',\n          'Indent'\n        ],\n        cut: [\n          'Cut',\n          'Cut'\n        ],\n        copy: [\n          'Copy',\n          'Copy'\n        ],\n        paste: [\n          'Paste',\n          'Paste'\n        ],\n        help: [\n          'Help',\n          'mceHelp'\n        ],\n        selectall: [\n          'Select all',\n          'SelectAll'\n        ],\n        visualaid: [\n          'Visual aids',\n          'mceToggleVisualAid'\n        ],\n        newdocument: [\n          'New document',\n          'mceNewDocument'\n        ],\n        removeformat: [\n          'Clear formatting',\n          'RemoveFormat'\n        ],\n        remove: [\n          'Remove',\n          'Delete'\n        ]\n      }, function (item, name) {\n        editor.addButton(name, {\n          tooltip: item[0],\n          cmd: item[1]\n        });\n      });\n    };\n    var registerCommandToggleButtons = function (editor) {\n      global$2.each({\n        blockquote: [\n          'Blockquote',\n          'mceBlockQuote'\n        ],\n        subscript: [\n          'Subscript',\n          'Subscript'\n        ],\n        superscript: [\n          'Superscript',\n          'Superscript'\n        ]\n      }, function (item, name) {\n        editor.addButton(name, {\n          active: false,\n          tooltip: item[0],\n          cmd: item[1],\n          onPostRender: postRenderFormatToggle(editor, name)\n        });\n      });\n    };\n    var registerButtons$4 = function (editor) {\n      registerFormatButtons(editor);\n      registerCommandButtons(editor);\n      registerCommandToggleButtons(editor);\n    };\n    var registerMenuItems$1 = function (editor) {\n      global$2.each({\n        bold: [\n          'Bold',\n          'Bold',\n          'Meta+B'\n        ],\n        italic: [\n          'Italic',\n          'Italic',\n          'Meta+I'\n        ],\n        underline: [\n          'Underline',\n          'Underline',\n          'Meta+U'\n        ],\n        strikethrough: [\n          'Strikethrough',\n          'Strikethrough'\n        ],\n        subscript: [\n          'Subscript',\n          'Subscript'\n        ],\n        superscript: [\n          'Superscript',\n          'Superscript'\n        ],\n        removeformat: [\n          'Clear formatting',\n          'RemoveFormat'\n        ],\n        newdocument: [\n          'New document',\n          'mceNewDocument'\n        ],\n        cut: [\n          'Cut',\n          'Cut',\n          'Meta+X'\n        ],\n        copy: [\n          'Copy',\n          'Copy',\n          'Meta+C'\n        ],\n        paste: [\n          'Paste',\n          'Paste',\n          'Meta+V'\n        ],\n        selectall: [\n          'Select all',\n          'SelectAll',\n          'Meta+A'\n        ]\n      }, function (item, name) {\n        editor.addMenuItem(name, {\n          text: item[0],\n          icon: name,\n          shortcut: item[2],\n          cmd: item[1]\n        });\n      });\n      editor.addMenuItem('codeformat', {\n        text: 'Code',\n        icon: 'code',\n        onclick: toggleFormat(editor, 'code')\n      });\n    };\n    var register$6 = function (editor) {\n      registerButtons$4(editor);\n      registerMenuItems$1(editor);\n    };\n    var SimpleControls = { register: register$6 };\n\n    var toggleUndoRedoState = function (editor, type) {\n      return function () {\n        var self = this;\n        var checkState = function () {\n          var typeFn = type === 'redo' ? 'hasRedo' : 'hasUndo';\n          return editor.undoManager ? editor.undoManager[typeFn]() : false;\n        };\n        self.disabled(!checkState());\n        editor.on('Undo Redo AddUndo TypingUndo ClearUndos SwitchMode', function () {\n          self.disabled(editor.readonly || !checkState());\n        });\n      };\n    };\n    var registerMenuItems$2 = function (editor) {\n      editor.addMenuItem('undo', {\n        text: 'Undo',\n        icon: 'undo',\n        shortcut: 'Meta+Z',\n        onPostRender: toggleUndoRedoState(editor, 'undo'),\n        cmd: 'undo'\n      });\n      editor.addMenuItem('redo', {\n        text: 'Redo',\n        icon: 'redo',\n        shortcut: 'Meta+Y',\n        onPostRender: toggleUndoRedoState(editor, 'redo'),\n        cmd: 'redo'\n      });\n    };\n    var registerButtons$5 = function (editor) {\n      editor.addButton('undo', {\n        tooltip: 'Undo',\n        onPostRender: toggleUndoRedoState(editor, 'undo'),\n        cmd: 'undo'\n      });\n      editor.addButton('redo', {\n        tooltip: 'Redo',\n        onPostRender: toggleUndoRedoState(editor, 'redo'),\n        cmd: 'redo'\n      });\n    };\n    var register$7 = function (editor) {\n      registerMenuItems$2(editor);\n      registerButtons$5(editor);\n    };\n    var UndoRedo = { register: register$7 };\n\n    var toggleVisualAidState = function (editor) {\n      return function () {\n        var self = this;\n        editor.on('VisualAid', function (e) {\n          self.active(e.hasVisual);\n        });\n        self.active(editor.hasVisual);\n      };\n    };\n    var registerMenuItems$3 = function (editor) {\n      editor.addMenuItem('visualaid', {\n        text: 'Visual aids',\n        selectable: true,\n        onPostRender: toggleVisualAidState(editor),\n        cmd: 'mceToggleVisualAid'\n      });\n    };\n    var register$8 = function (editor) {\n      registerMenuItems$3(editor);\n    };\n    var VisualAid = { register: register$8 };\n\n    var setupEnvironment = function () {\n      Widget.tooltips = !global$8.iOS;\n      Control$1.translate = function (text) {\n        return global$1.translate(text);\n      };\n    };\n    var setupUiContainer = function (editor) {\n      if (editor.settings.ui_container) {\n        global$8.container = descendant$1(Element$$1.fromDom(document.body), editor.settings.ui_container).fold(constant(null), function (elm) {\n          return elm.dom();\n        });\n      }\n    };\n    var setupRtlMode = function (editor) {\n      if (editor.rtl) {\n        Control$1.rtl = true;\n      }\n    };\n    var setupHideFloatPanels = function (editor) {\n      editor.on('mousedown progressstate', function () {\n        FloatPanel.hideAll();\n      });\n    };\n    var setup$1 = function (editor) {\n      setupRtlMode(editor);\n      setupHideFloatPanels(editor);\n      setupUiContainer(editor);\n      setupEnvironment();\n      FormatSelect.register(editor);\n      Align.register(editor);\n      SimpleControls.register(editor);\n      UndoRedo.register(editor);\n      FontSizeSelect.register(editor);\n      FontSelect.register(editor);\n      Formats.register(editor);\n      VisualAid.register(editor);\n      InsertButton.register(editor);\n    };\n    var FormatControls = { setup: setup$1 };\n\n    var GridLayout = AbsoluteLayout.extend({\n      recalc: function (container) {\n        var settings, rows, cols, items, contLayoutRect, width, height, rect, ctrlLayoutRect, ctrl, x, y, posX, posY, ctrlSettings, contPaddingBox, align, spacingH, spacingV, alignH, alignV, maxX, maxY;\n        var colWidths = [];\n        var rowHeights = [];\n        var ctrlMinWidth, ctrlMinHeight, availableWidth, availableHeight, reverseRows, idx;\n        settings = container.settings;\n        items = container.items().filter(':visible');\n        contLayoutRect = container.layoutRect();\n        cols = settings.columns || Math.ceil(Math.sqrt(items.length));\n        rows = Math.ceil(items.length / cols);\n        spacingH = settings.spacingH || settings.spacing || 0;\n        spacingV = settings.spacingV || settings.spacing || 0;\n        alignH = settings.alignH || settings.align;\n        alignV = settings.alignV || settings.align;\n        contPaddingBox = container.paddingBox;\n        reverseRows = 'reverseRows' in settings ? settings.reverseRows : container.isRtl();\n        if (alignH && typeof alignH === 'string') {\n          alignH = [alignH];\n        }\n        if (alignV && typeof alignV === 'string') {\n          alignV = [alignV];\n        }\n        for (x = 0; x < cols; x++) {\n          colWidths.push(0);\n        }\n        for (y = 0; y < rows; y++) {\n          rowHeights.push(0);\n        }\n        for (y = 0; y < rows; y++) {\n          for (x = 0; x < cols; x++) {\n            ctrl = items[y * cols + x];\n            if (!ctrl) {\n              break;\n            }\n            ctrlLayoutRect = ctrl.layoutRect();\n            ctrlMinWidth = ctrlLayoutRect.minW;\n            ctrlMinHeight = ctrlLayoutRect.minH;\n            colWidths[x] = ctrlMinWidth > colWidths[x] ? ctrlMinWidth : colWidths[x];\n            rowHeights[y] = ctrlMinHeight > rowHeights[y] ? ctrlMinHeight : rowHeights[y];\n          }\n        }\n        availableWidth = contLayoutRect.innerW - contPaddingBox.left - contPaddingBox.right;\n        for (maxX = 0, x = 0; x < cols; x++) {\n          maxX += colWidths[x] + (x > 0 ? spacingH : 0);\n          availableWidth -= (x > 0 ? spacingH : 0) + colWidths[x];\n        }\n        availableHeight = contLayoutRect.innerH - contPaddingBox.top - contPaddingBox.bottom;\n        for (maxY = 0, y = 0; y < rows; y++) {\n          maxY += rowHeights[y] + (y > 0 ? spacingV : 0);\n          availableHeight -= (y > 0 ? spacingV : 0) + rowHeights[y];\n        }\n        maxX += contPaddingBox.left + contPaddingBox.right;\n        maxY += contPaddingBox.top + contPaddingBox.bottom;\n        rect = {};\n        rect.minW = maxX + (contLayoutRect.w - contLayoutRect.innerW);\n        rect.minH = maxY + (contLayoutRect.h - contLayoutRect.innerH);\n        rect.contentW = rect.minW - contLayoutRect.deltaW;\n        rect.contentH = rect.minH - contLayoutRect.deltaH;\n        rect.minW = Math.min(rect.minW, contLayoutRect.maxW);\n        rect.minH = Math.min(rect.minH, contLayoutRect.maxH);\n        rect.minW = Math.max(rect.minW, contLayoutRect.startMinWidth);\n        rect.minH = Math.max(rect.minH, contLayoutRect.startMinHeight);\n        if (contLayoutRect.autoResize && (rect.minW !== contLayoutRect.minW || rect.minH !== contLayoutRect.minH)) {\n          rect.w = rect.minW;\n          rect.h = rect.minH;\n          container.layoutRect(rect);\n          this.recalc(container);\n          if (container._lastRect === null) {\n            var parentCtrl = container.parent();\n            if (parentCtrl) {\n              parentCtrl._lastRect = null;\n              parentCtrl.recalc();\n            }\n          }\n          return;\n        }\n        if (contLayoutRect.autoResize) {\n          rect = container.layoutRect(rect);\n          rect.contentW = rect.minW - contLayoutRect.deltaW;\n          rect.contentH = rect.minH - contLayoutRect.deltaH;\n        }\n        var flexV;\n        if (settings.packV === 'start') {\n          flexV = 0;\n        } else {\n          flexV = availableHeight > 0 ? Math.floor(availableHeight / rows) : 0;\n        }\n        var totalFlex = 0;\n        var flexWidths = settings.flexWidths;\n        if (flexWidths) {\n          for (x = 0; x < flexWidths.length; x++) {\n            totalFlex += flexWidths[x];\n          }\n        } else {\n          totalFlex = cols;\n        }\n        var ratio = availableWidth / totalFlex;\n        for (x = 0; x < cols; x++) {\n          colWidths[x] += flexWidths ? flexWidths[x] * ratio : ratio;\n        }\n        posY = contPaddingBox.top;\n        for (y = 0; y < rows; y++) {\n          posX = contPaddingBox.left;\n          height = rowHeights[y] + flexV;\n          for (x = 0; x < cols; x++) {\n            if (reverseRows) {\n              idx = y * cols + cols - 1 - x;\n            } else {\n              idx = y * cols + x;\n            }\n            ctrl = items[idx];\n            if (!ctrl) {\n              break;\n            }\n            ctrlSettings = ctrl.settings;\n            ctrlLayoutRect = ctrl.layoutRect();\n            width = Math.max(colWidths[x], ctrlLayoutRect.startMinWidth);\n            ctrlLayoutRect.x = posX;\n            ctrlLayoutRect.y = posY;\n            align = ctrlSettings.alignH || (alignH ? alignH[x] || alignH[0] : null);\n            if (align === 'center') {\n              ctrlLayoutRect.x = posX + width / 2 - ctrlLayoutRect.w / 2;\n            } else if (align === 'right') {\n              ctrlLayoutRect.x = posX + width - ctrlLayoutRect.w;\n            } else if (align === 'stretch') {\n              ctrlLayoutRect.w = width;\n            }\n            align = ctrlSettings.alignV || (alignV ? alignV[x] || alignV[0] : null);\n            if (align === 'center') {\n              ctrlLayoutRect.y = posY + height / 2 - ctrlLayoutRect.h / 2;\n            } else if (align === 'bottom') {\n              ctrlLayoutRect.y = posY + height - ctrlLayoutRect.h;\n            } else if (align === 'stretch') {\n              ctrlLayoutRect.h = height;\n            }\n            ctrl.layoutRect(ctrlLayoutRect);\n            posX += width + spacingH;\n            if (ctrl.recalc) {\n              ctrl.recalc();\n            }\n          }\n          posY += height + spacingV;\n        }\n      }\n    });\n\n    var Iframe$1 = Widget.extend({\n      renderHtml: function () {\n        var self = this;\n        self.classes.add('iframe');\n        self.canFocus = false;\n        return '<iframe id=\"' + self._id + '\" class=\"' + self.classes + '\" tabindex=\"-1\" src=\"' + (self.settings.url || 'javascript:\\'\\'') + '\" frameborder=\"0\"></iframe>';\n      },\n      src: function (src) {\n        this.getEl().src = src;\n      },\n      html: function (html, callback) {\n        var self = this, body = this.getEl().contentWindow.document.body;\n        if (!body) {\n          global$7.setTimeout(function () {\n            self.html(html);\n          });\n        } else {\n          body.innerHTML = html;\n          if (callback) {\n            callback();\n          }\n        }\n        return this;\n      }\n    });\n\n    var InfoBox = Widget.extend({\n      init: function (settings) {\n        var self = this;\n        self._super(settings);\n        self.classes.add('widget').add('infobox');\n        self.canFocus = false;\n      },\n      severity: function (level) {\n        this.classes.remove('error');\n        this.classes.remove('warning');\n        this.classes.remove('success');\n        this.classes.add(level);\n      },\n      help: function (state) {\n        this.state.set('help', state);\n      },\n      renderHtml: function () {\n        var self = this, prefix = self.classPrefix;\n        return '<div id=\"' + self._id + '\" class=\"' + self.classes + '\">' + '<div id=\"' + self._id + '-body\">' + self.encode(self.state.get('text')) + '<button role=\"button\" tabindex=\"-1\">' + '<i class=\"' + prefix + 'ico ' + prefix + 'i-help\"></i>' + '</button>' + '</div>' + '</div>';\n      },\n      bindStates: function () {\n        var self = this;\n        self.state.on('change:text', function (e) {\n          self.getEl('body').firstChild.data = self.encode(e.value);\n          if (self.state.get('rendered')) {\n            self.updateLayoutRect();\n          }\n        });\n        self.state.on('change:help', function (e) {\n          self.classes.toggle('has-help', e.value);\n          if (self.state.get('rendered')) {\n            self.updateLayoutRect();\n          }\n        });\n        return self._super();\n      }\n    });\n\n    var Label = Widget.extend({\n      init: function (settings) {\n        var self = this;\n        self._super(settings);\n        self.classes.add('widget').add('label');\n        self.canFocus = false;\n        if (settings.multiline) {\n          self.classes.add('autoscroll');\n        }\n        if (settings.strong) {\n          self.classes.add('strong');\n        }\n      },\n      initLayoutRect: function () {\n        var self = this, layoutRect = self._super();\n        if (self.settings.multiline) {\n          var size = funcs.getSize(self.getEl());\n          if (size.width > layoutRect.maxW) {\n            layoutRect.minW = layoutRect.maxW;\n            self.classes.add('multiline');\n          }\n          self.getEl().style.width = layoutRect.minW + 'px';\n          layoutRect.startMinH = layoutRect.h = layoutRect.minH = Math.min(layoutRect.maxH, funcs.getSize(self.getEl()).height);\n        }\n        return layoutRect;\n      },\n      repaint: function () {\n        var self = this;\n        if (!self.settings.multiline) {\n          self.getEl().style.lineHeight = self.layoutRect().h + 'px';\n        }\n        return self._super();\n      },\n      severity: function (level) {\n        this.classes.remove('error');\n        this.classes.remove('warning');\n        this.classes.remove('success');\n        this.classes.add(level);\n      },\n      renderHtml: function () {\n        var self = this;\n        var targetCtrl, forName, forId = self.settings.forId;\n        var text = self.settings.html ? self.settings.html : self.encode(self.state.get('text'));\n        if (!forId && (forName = self.settings.forName)) {\n          targetCtrl = self.getRoot().find('#' + forName)[0];\n          if (targetCtrl) {\n            forId = targetCtrl._id;\n          }\n        }\n        if (forId) {\n          return '<label id=\"' + self._id + '\" class=\"' + self.classes + '\"' + (forId ? ' for=\"' + forId + '\"' : '') + '>' + text + '</label>';\n        }\n        return '<span id=\"' + self._id + '\" class=\"' + self.classes + '\">' + text + '</span>';\n      },\n      bindStates: function () {\n        var self = this;\n        self.state.on('change:text', function (e) {\n          self.innerHtml(self.encode(e.value));\n          if (self.state.get('rendered')) {\n            self.updateLayoutRect();\n          }\n        });\n        return self._super();\n      }\n    });\n\n    var Toolbar$1 = Container.extend({\n      Defaults: {\n        role: 'toolbar',\n        layout: 'flow'\n      },\n      init: function (settings) {\n        var self = this;\n        self._super(settings);\n        self.classes.add('toolbar');\n      },\n      postRender: function () {\n        var self = this;\n        self.items().each(function (ctrl) {\n          ctrl.classes.add('toolbar-item');\n        });\n        return self._super();\n      }\n    });\n\n    var MenuBar = Toolbar$1.extend({\n      Defaults: {\n        role: 'menubar',\n        containerCls: 'menubar',\n        ariaRoot: true,\n        defaults: { type: 'menubutton' }\n      }\n    });\n\n    function isChildOf$1(node, parent$$1) {\n      while (node) {\n        if (parent$$1 === node) {\n          return true;\n        }\n        node = node.parentNode;\n      }\n      return false;\n    }\n    var MenuButton = Button.extend({\n      init: function (settings) {\n        var self$$1 = this;\n        self$$1._renderOpen = true;\n        self$$1._super(settings);\n        settings = self$$1.settings;\n        self$$1.classes.add('menubtn');\n        if (settings.fixedWidth) {\n          self$$1.classes.add('fixed-width');\n        }\n        self$$1.aria('haspopup', true);\n        self$$1.state.set('menu', settings.menu || self$$1.render());\n      },\n      showMenu: function (toggle) {\n        var self$$1 = this;\n        var menu;\n        if (self$$1.menu && self$$1.menu.visible() && toggle !== false) {\n          return self$$1.hideMenu();\n        }\n        if (!self$$1.menu) {\n          menu = self$$1.state.get('menu') || [];\n          self$$1.classes.add('opened');\n          if (menu.length) {\n            menu = {\n              type: 'menu',\n              animate: true,\n              items: menu\n            };\n          } else {\n            menu.type = menu.type || 'menu';\n            menu.animate = true;\n          }\n          if (!menu.renderTo) {\n            self$$1.menu = global$4.create(menu).parent(self$$1).renderTo();\n          } else {\n            self$$1.menu = menu.parent(self$$1).show().renderTo();\n          }\n          self$$1.fire('createmenu');\n          self$$1.menu.reflow();\n          self$$1.menu.on('cancel', function (e) {\n            if (e.control.parent() === self$$1.menu) {\n              e.stopPropagation();\n              self$$1.focus();\n              self$$1.hideMenu();\n            }\n          });\n          self$$1.menu.on('select', function () {\n            self$$1.focus();\n          });\n          self$$1.menu.on('show hide', function (e) {\n            if (e.type === 'hide' && e.control.parent() === self$$1) {\n              self$$1.classes.remove('opened-under');\n            }\n            if (e.control === self$$1.menu) {\n              self$$1.activeMenu(e.type === 'show');\n              self$$1.classes.toggle('opened', e.type === 'show');\n            }\n            self$$1.aria('expanded', e.type === 'show');\n          }).fire('show');\n        }\n        self$$1.menu.show();\n        self$$1.menu.layoutRect({ w: self$$1.layoutRect().w });\n        self$$1.menu.repaint();\n        self$$1.menu.moveRel(self$$1.getEl(), self$$1.isRtl() ? [\n          'br-tr',\n          'tr-br'\n        ] : [\n          'bl-tl',\n          'tl-bl'\n        ]);\n        var menuLayoutRect = self$$1.menu.layoutRect();\n        var selfBottom = self$$1.$el.offset().top + self$$1.layoutRect().h;\n        if (selfBottom > menuLayoutRect.y && selfBottom < menuLayoutRect.y + menuLayoutRect.h) {\n          self$$1.classes.add('opened-under');\n        }\n        self$$1.fire('showmenu');\n      },\n      hideMenu: function () {\n        var self$$1 = this;\n        if (self$$1.menu) {\n          self$$1.menu.items().each(function (item) {\n            if (item.hideMenu) {\n              item.hideMenu();\n            }\n          });\n          self$$1.menu.hide();\n        }\n      },\n      activeMenu: function (state) {\n        this.classes.toggle('active', state);\n      },\n      renderHtml: function () {\n        var self$$1 = this, id = self$$1._id, prefix = self$$1.classPrefix;\n        var icon = self$$1.settings.icon, image;\n        var text = self$$1.state.get('text');\n        var textHtml = '';\n        image = self$$1.settings.image;\n        if (image) {\n          icon = 'none';\n          if (typeof image !== 'string') {\n            image = window.getSelection ? image[0] : image[1];\n          }\n          image = ' style=\"background-image: url(\\'' + image + '\\')\"';\n        } else {\n          image = '';\n        }\n        if (text) {\n          self$$1.classes.add('btn-has-text');\n          textHtml = '<span class=\"' + prefix + 'txt\">' + self$$1.encode(text) + '</span>';\n        }\n        icon = self$$1.settings.icon ? prefix + 'ico ' + prefix + 'i-' + icon : '';\n        self$$1.aria('role', self$$1.parent() instanceof MenuBar ? 'menuitem' : 'button');\n        return '<div id=\"' + id + '\" class=\"' + self$$1.classes + '\" tabindex=\"-1\" aria-labelledby=\"' + id + '\">' + '<button id=\"' + id + '-open\" role=\"presentation\" type=\"button\" tabindex=\"-1\">' + (icon ? '<i class=\"' + icon + '\"' + image + '></i>' : '') + textHtml + ' <i class=\"' + prefix + 'caret\"></i>' + '</button>' + '</div>';\n      },\n      postRender: function () {\n        var self$$1 = this;\n        self$$1.on('click', function (e) {\n          if (e.control === self$$1 && isChildOf$1(e.target, self$$1.getEl())) {\n            self$$1.focus();\n            self$$1.showMenu(!e.aria);\n            if (e.aria) {\n              self$$1.menu.items().filter(':visible')[0].focus();\n            }\n          }\n        });\n        self$$1.on('mouseenter', function (e) {\n          var overCtrl = e.control;\n          var parent$$1 = self$$1.parent();\n          var hasVisibleSiblingMenu;\n          if (overCtrl && parent$$1 && overCtrl instanceof MenuButton && overCtrl.parent() === parent$$1) {\n            parent$$1.items().filter('MenuButton').each(function (ctrl) {\n              if (ctrl.hideMenu && ctrl !== overCtrl) {\n                if (ctrl.menu && ctrl.menu.visible()) {\n                  hasVisibleSiblingMenu = true;\n                }\n                ctrl.hideMenu();\n              }\n            });\n            if (hasVisibleSiblingMenu) {\n              overCtrl.focus();\n              overCtrl.showMenu();\n            }\n          }\n        });\n        return self$$1._super();\n      },\n      bindStates: function () {\n        var self$$1 = this;\n        self$$1.state.on('change:menu', function () {\n          if (self$$1.menu) {\n            self$$1.menu.remove();\n          }\n          self$$1.menu = null;\n        });\n        return self$$1._super();\n      },\n      remove: function () {\n        this._super();\n        if (this.menu) {\n          this.menu.remove();\n        }\n      }\n    });\n\n    var Menu = FloatPanel.extend({\n      Defaults: {\n        defaultType: 'menuitem',\n        border: 1,\n        layout: 'stack',\n        role: 'application',\n        bodyRole: 'menu',\n        ariaRoot: true\n      },\n      init: function (settings) {\n        var self = this;\n        settings.autohide = true;\n        settings.constrainToViewport = true;\n        if (typeof settings.items === 'function') {\n          settings.itemsFactory = settings.items;\n          settings.items = [];\n        }\n        if (settings.itemDefaults) {\n          var items = settings.items;\n          var i = items.length;\n          while (i--) {\n            items[i] = global$2.extend({}, settings.itemDefaults, items[i]);\n          }\n        }\n        self._super(settings);\n        self.classes.add('menu');\n        if (settings.animate && global$8.ie !== 11) {\n          self.classes.add('animate');\n        }\n      },\n      repaint: function () {\n        this.classes.toggle('menu-align', true);\n        this._super();\n        this.getEl().style.height = '';\n        this.getEl('body').style.height = '';\n        return this;\n      },\n      cancel: function () {\n        var self = this;\n        self.hideAll();\n        self.fire('select');\n      },\n      load: function () {\n        var self = this;\n        var time, factory;\n        function hideThrobber() {\n          if (self.throbber) {\n            self.throbber.hide();\n            self.throbber = null;\n          }\n        }\n        factory = self.settings.itemsFactory;\n        if (!factory) {\n          return;\n        }\n        if (!self.throbber) {\n          self.throbber = new Throbber(self.getEl('body'), true);\n          if (self.items().length === 0) {\n            self.throbber.show();\n            self.fire('loading');\n          } else {\n            self.throbber.show(100, function () {\n              self.items().remove();\n              self.fire('loading');\n            });\n          }\n          self.on('hide close', hideThrobber);\n        }\n        self.requestTime = time = new Date().getTime();\n        self.settings.itemsFactory(function (items) {\n          if (items.length === 0) {\n            self.hide();\n            return;\n          }\n          if (self.requestTime !== time) {\n            return;\n          }\n          self.getEl().style.width = '';\n          self.getEl('body').style.width = '';\n          hideThrobber();\n          self.items().remove();\n          self.getEl('body').innerHTML = '';\n          self.add(items);\n          self.renderNew();\n          self.fire('loaded');\n        });\n      },\n      hideAll: function () {\n        var self = this;\n        this.find('menuitem').exec('hideMenu');\n        return self._super();\n      },\n      preRender: function () {\n        var self = this;\n        self.items().each(function (ctrl) {\n          var settings = ctrl.settings;\n          if (settings.icon || settings.image || settings.selectable) {\n            self._hasIcons = true;\n            return false;\n          }\n        });\n        if (self.settings.itemsFactory) {\n          self.on('postrender', function () {\n            if (self.settings.itemsFactory) {\n              self.load();\n            }\n          });\n        }\n        self.on('show hide', function (e) {\n          if (e.control === self) {\n            if (e.type === 'show') {\n              global$7.setTimeout(function () {\n                self.classes.add('in');\n              }, 0);\n            } else {\n              self.classes.remove('in');\n            }\n          }\n        });\n        return self._super();\n      }\n    });\n\n    var ListBox = MenuButton.extend({\n      init: function (settings) {\n        var self = this;\n        var values, selected, selectedText, lastItemCtrl;\n        function setSelected(menuValues) {\n          for (var i = 0; i < menuValues.length; i++) {\n            selected = menuValues[i].selected || settings.value === menuValues[i].value;\n            if (selected) {\n              selectedText = selectedText || menuValues[i].text;\n              self.state.set('value', menuValues[i].value);\n              return true;\n            }\n            if (menuValues[i].menu) {\n              if (setSelected(menuValues[i].menu)) {\n                return true;\n              }\n            }\n          }\n        }\n        self._super(settings);\n        settings = self.settings;\n        self._values = values = settings.values;\n        if (values) {\n          if (typeof settings.value !== 'undefined') {\n            setSelected(values);\n          }\n          if (!selected && values.length > 0) {\n            selectedText = values[0].text;\n            self.state.set('value', values[0].value);\n          }\n          self.state.set('menu', values);\n        }\n        self.state.set('text', settings.text || selectedText);\n        self.classes.add('listbox');\n        self.on('select', function (e) {\n          var ctrl = e.control;\n          if (lastItemCtrl) {\n            e.lastControl = lastItemCtrl;\n          }\n          if (settings.multiple) {\n            ctrl.active(!ctrl.active());\n          } else {\n            self.value(e.control.value());\n          }\n          lastItemCtrl = ctrl;\n        });\n      },\n      value: function (value) {\n        if (arguments.length === 0) {\n          return this.state.get('value');\n        }\n        if (typeof value === 'undefined') {\n          return this;\n        }\n        function valueExists(values) {\n          return exists(values, function (a) {\n            return a.menu ? valueExists(a.menu) : a.value === value;\n          });\n        }\n        if (this.settings.values) {\n          if (valueExists(this.settings.values)) {\n            this.state.set('value', value);\n          } else if (value === null) {\n            this.state.set('value', null);\n          }\n        } else {\n          this.state.set('value', value);\n        }\n        return this;\n      },\n      bindStates: function () {\n        var self = this;\n        function activateMenuItemsByValue(menu, value) {\n          if (menu instanceof Menu) {\n            menu.items().each(function (ctrl) {\n              if (!ctrl.hasMenus()) {\n                ctrl.active(ctrl.value() === value);\n              }\n            });\n          }\n        }\n        function getSelectedItem(menuValues, value) {\n          var selectedItem;\n          if (!menuValues) {\n            return;\n          }\n          for (var i = 0; i < menuValues.length; i++) {\n            if (menuValues[i].value === value) {\n              return menuValues[i];\n            }\n            if (menuValues[i].menu) {\n              selectedItem = getSelectedItem(menuValues[i].menu, value);\n              if (selectedItem) {\n                return selectedItem;\n              }\n            }\n          }\n        }\n        self.on('show', function (e) {\n          activateMenuItemsByValue(e.control, self.value());\n        });\n        self.state.on('change:value', function (e) {\n          var selectedItem = getSelectedItem(self.state.get('menu'), e.value);\n          if (selectedItem) {\n            self.text(selectedItem.text);\n          } else {\n            self.text(self.settings.text);\n          }\n        });\n        return self._super();\n      }\n    });\n\n    var toggleTextStyle = function (ctrl, state) {\n      var textStyle = ctrl._textStyle;\n      if (textStyle) {\n        var textElm = ctrl.getEl('text');\n        textElm.setAttribute('style', textStyle);\n        if (state) {\n          textElm.style.color = '';\n          textElm.style.backgroundColor = '';\n        }\n      }\n    };\n    var MenuItem = Widget.extend({\n      Defaults: {\n        border: 0,\n        role: 'menuitem'\n      },\n      init: function (settings) {\n        var self = this;\n        var text;\n        self._super(settings);\n        settings = self.settings;\n        self.classes.add('menu-item');\n        if (settings.menu) {\n          self.classes.add('menu-item-expand');\n        }\n        if (settings.preview) {\n          self.classes.add('menu-item-preview');\n        }\n        text = self.state.get('text');\n        if (text === '-' || text === '|') {\n          self.classes.add('menu-item-sep');\n          self.aria('role', 'separator');\n          self.state.set('text', '-');\n        }\n        if (settings.selectable) {\n          self.aria('role', 'menuitemcheckbox');\n          self.classes.add('menu-item-checkbox');\n          settings.icon = 'selected';\n        }\n        if (!settings.preview && !settings.selectable) {\n          self.classes.add('menu-item-normal');\n        }\n        self.on('mousedown', function (e) {\n          e.preventDefault();\n        });\n        if (settings.menu && !settings.ariaHideMenu) {\n          self.aria('haspopup', true);\n        }\n      },\n      hasMenus: function () {\n        return !!this.settings.menu;\n      },\n      showMenu: function () {\n        var self = this;\n        var settings = self.settings;\n        var menu;\n        var parent = self.parent();\n        parent.items().each(function (ctrl) {\n          if (ctrl !== self) {\n            ctrl.hideMenu();\n          }\n        });\n        if (settings.menu) {\n          menu = self.menu;\n          if (!menu) {\n            menu = settings.menu;\n            if (menu.length) {\n              menu = {\n                type: 'menu',\n                items: menu\n              };\n            } else {\n              menu.type = menu.type || 'menu';\n            }\n            if (parent.settings.itemDefaults) {\n              menu.itemDefaults = parent.settings.itemDefaults;\n            }\n            menu = self.menu = global$4.create(menu).parent(self).renderTo();\n            menu.reflow();\n            menu.on('cancel', function (e) {\n              e.stopPropagation();\n              self.focus();\n              menu.hide();\n            });\n            menu.on('show hide', function (e) {\n              if (e.control.items) {\n                e.control.items().each(function (ctrl) {\n                  ctrl.active(ctrl.settings.selected);\n                });\n              }\n            }).fire('show');\n            menu.on('hide', function (e) {\n              if (e.control === menu) {\n                self.classes.remove('selected');\n              }\n            });\n            menu.submenu = true;\n          } else {\n            menu.show();\n          }\n          menu._parentMenu = parent;\n          menu.classes.add('menu-sub');\n          var rel = menu.testMoveRel(self.getEl(), self.isRtl() ? [\n            'tl-tr',\n            'bl-br',\n            'tr-tl',\n            'br-bl'\n          ] : [\n            'tr-tl',\n            'br-bl',\n            'tl-tr',\n            'bl-br'\n          ]);\n          menu.moveRel(self.getEl(), rel);\n          menu.rel = rel;\n          rel = 'menu-sub-' + rel;\n          menu.classes.remove(menu._lastRel).add(rel);\n          menu._lastRel = rel;\n          self.classes.add('selected');\n          self.aria('expanded', true);\n        }\n      },\n      hideMenu: function () {\n        var self = this;\n        if (self.menu) {\n          self.menu.items().each(function (item) {\n            if (item.hideMenu) {\n              item.hideMenu();\n            }\n          });\n          self.menu.hide();\n          self.aria('expanded', false);\n        }\n        return self;\n      },\n      renderHtml: function () {\n        var self = this;\n        var id = self._id;\n        var settings = self.settings;\n        var prefix = self.classPrefix;\n        var text = self.state.get('text');\n        var icon = self.settings.icon, image = '', shortcut = settings.shortcut;\n        var url = self.encode(settings.url), iconHtml = '';\n        function convertShortcut(shortcut) {\n          var i, value, replace = {};\n          if (global$8.mac) {\n            replace = {\n              alt: '&#x2325;',\n              ctrl: '&#x2318;',\n              shift: '&#x21E7;',\n              meta: '&#x2318;'\n            };\n          } else {\n            replace = { meta: 'Ctrl' };\n          }\n          shortcut = shortcut.split('+');\n          for (i = 0; i < shortcut.length; i++) {\n            value = replace[shortcut[i].toLowerCase()];\n            if (value) {\n              shortcut[i] = value;\n            }\n          }\n          return shortcut.join('+');\n        }\n        function escapeRegExp(str) {\n          return str.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n        }\n        function markMatches(text) {\n          var match = settings.match || '';\n          return match ? text.replace(new RegExp(escapeRegExp(match), 'gi'), function (match) {\n            return '!mce~match[' + match + ']mce~match!';\n          }) : text;\n        }\n        function boldMatches(text) {\n          return text.replace(new RegExp(escapeRegExp('!mce~match['), 'g'), '<b>').replace(new RegExp(escapeRegExp(']mce~match!'), 'g'), '</b>');\n        }\n        if (icon) {\n          self.parent().classes.add('menu-has-icons');\n        }\n        if (settings.image) {\n          image = ' style=\"background-image: url(\\'' + settings.image + '\\')\"';\n        }\n        if (shortcut) {\n          shortcut = convertShortcut(shortcut);\n        }\n        icon = prefix + 'ico ' + prefix + 'i-' + (self.settings.icon || 'none');\n        iconHtml = text !== '-' ? '<i class=\"' + icon + '\"' + image + '></i>\\xA0' : '';\n        text = boldMatches(self.encode(markMatches(text)));\n        url = boldMatches(self.encode(markMatches(url)));\n        return '<div id=\"' + id + '\" class=\"' + self.classes + '\" tabindex=\"-1\">' + iconHtml + (text !== '-' ? '<span id=\"' + id + '-text\" class=\"' + prefix + 'text\">' + text + '</span>' : '') + (shortcut ? '<div id=\"' + id + '-shortcut\" class=\"' + prefix + 'menu-shortcut\">' + shortcut + '</div>' : '') + (settings.menu ? '<div class=\"' + prefix + 'caret\"></div>' : '') + (url ? '<div class=\"' + prefix + 'menu-item-link\">' + url + '</div>' : '') + '</div>';\n      },\n      postRender: function () {\n        var self = this, settings = self.settings;\n        var textStyle = settings.textStyle;\n        if (typeof textStyle === 'function') {\n          textStyle = textStyle.call(this);\n        }\n        if (textStyle) {\n          var textElm = self.getEl('text');\n          if (textElm) {\n            textElm.setAttribute('style', textStyle);\n            self._textStyle = textStyle;\n          }\n        }\n        self.on('mouseenter click', function (e) {\n          if (e.control === self) {\n            if (!settings.menu && e.type === 'click') {\n              self.fire('select');\n              global$7.requestAnimationFrame(function () {\n                self.parent().hideAll();\n              });\n            } else {\n              self.showMenu();\n              if (e.aria) {\n                self.menu.focus(true);\n              }\n            }\n          }\n        });\n        self._super();\n        return self;\n      },\n      hover: function () {\n        var self = this;\n        self.parent().items().each(function (ctrl) {\n          ctrl.classes.remove('selected');\n        });\n        self.classes.toggle('selected', true);\n        return self;\n      },\n      active: function (state) {\n        toggleTextStyle(this, state);\n        if (typeof state !== 'undefined') {\n          this.aria('checked', state);\n        }\n        return this._super(state);\n      },\n      remove: function () {\n        this._super();\n        if (this.menu) {\n          this.menu.remove();\n        }\n      }\n    });\n\n    var Radio = Checkbox.extend({\n      Defaults: {\n        classes: 'radio',\n        role: 'radio'\n      }\n    });\n\n    var ResizeHandle = Widget.extend({\n      renderHtml: function () {\n        var self = this, prefix = self.classPrefix;\n        self.classes.add('resizehandle');\n        if (self.settings.direction === 'both') {\n          self.classes.add('resizehandle-both');\n        }\n        self.canFocus = false;\n        return '<div id=\"' + self._id + '\" class=\"' + self.classes + '\">' + '<i class=\"' + prefix + 'ico ' + prefix + 'i-resize\"></i>' + '</div>';\n      },\n      postRender: function () {\n        var self = this;\n        self._super();\n        self.resizeDragHelper = new DragHelper(this._id, {\n          start: function () {\n            self.fire('ResizeStart');\n          },\n          drag: function (e) {\n            if (self.settings.direction !== 'both') {\n              e.deltaX = 0;\n            }\n            self.fire('Resize', e);\n          },\n          stop: function () {\n            self.fire('ResizeEnd');\n          }\n        });\n      },\n      remove: function () {\n        if (this.resizeDragHelper) {\n          this.resizeDragHelper.destroy();\n        }\n        return this._super();\n      }\n    });\n\n    function createOptions(options) {\n      var strOptions = '';\n      if (options) {\n        for (var i = 0; i < options.length; i++) {\n          strOptions += '<option value=\"' + options[i] + '\">' + options[i] + '</option>';\n        }\n      }\n      return strOptions;\n    }\n    var SelectBox = Widget.extend({\n      Defaults: {\n        classes: 'selectbox',\n        role: 'selectbox',\n        options: []\n      },\n      init: function (settings) {\n        var self = this;\n        self._super(settings);\n        if (self.settings.size) {\n          self.size = self.settings.size;\n        }\n        if (self.settings.options) {\n          self._options = self.settings.options;\n        }\n        self.on('keydown', function (e) {\n          var rootControl;\n          if (e.keyCode === 13) {\n            e.preventDefault();\n            self.parents().reverse().each(function (ctrl) {\n              if (ctrl.toJSON) {\n                rootControl = ctrl;\n                return false;\n              }\n            });\n            self.fire('submit', { data: rootControl.toJSON() });\n          }\n        });\n      },\n      options: function (state) {\n        if (!arguments.length) {\n          return this.state.get('options');\n        }\n        this.state.set('options', state);\n        return this;\n      },\n      renderHtml: function () {\n        var self = this;\n        var options, size = '';\n        options = createOptions(self._options);\n        if (self.size) {\n          size = ' size = \"' + self.size + '\"';\n        }\n        return '<select id=\"' + self._id + '\" class=\"' + self.classes + '\"' + size + '>' + options + '</select>';\n      },\n      bindStates: function () {\n        var self = this;\n        self.state.on('change:options', function (e) {\n          self.getEl().innerHTML = createOptions(e.value);\n        });\n        return self._super();\n      }\n    });\n\n    function constrain(value, minVal, maxVal) {\n      if (value < minVal) {\n        value = minVal;\n      }\n      if (value > maxVal) {\n        value = maxVal;\n      }\n      return value;\n    }\n    function setAriaProp(el, name, value) {\n      el.setAttribute('aria-' + name, value);\n    }\n    function updateSliderHandle(ctrl, value) {\n      var maxHandlePos, shortSizeName, sizeName, stylePosName, styleValue, handleEl;\n      if (ctrl.settings.orientation === 'v') {\n        stylePosName = 'top';\n        sizeName = 'height';\n        shortSizeName = 'h';\n      } else {\n        stylePosName = 'left';\n        sizeName = 'width';\n        shortSizeName = 'w';\n      }\n      handleEl = ctrl.getEl('handle');\n      maxHandlePos = (ctrl.layoutRect()[shortSizeName] || 100) - funcs.getSize(handleEl)[sizeName];\n      styleValue = maxHandlePos * ((value - ctrl._minValue) / (ctrl._maxValue - ctrl._minValue)) + 'px';\n      handleEl.style[stylePosName] = styleValue;\n      handleEl.style.height = ctrl.layoutRect().h + 'px';\n      setAriaProp(handleEl, 'valuenow', value);\n      setAriaProp(handleEl, 'valuetext', '' + ctrl.settings.previewFilter(value));\n      setAriaProp(handleEl, 'valuemin', ctrl._minValue);\n      setAriaProp(handleEl, 'valuemax', ctrl._maxValue);\n    }\n    var Slider = Widget.extend({\n      init: function (settings) {\n        var self = this;\n        if (!settings.previewFilter) {\n          settings.previewFilter = function (value) {\n            return Math.round(value * 100) / 100;\n          };\n        }\n        self._super(settings);\n        self.classes.add('slider');\n        if (settings.orientation === 'v') {\n          self.classes.add('vertical');\n        }\n        self._minValue = isNumber(settings.minValue) ? settings.minValue : 0;\n        self._maxValue = isNumber(settings.maxValue) ? settings.maxValue : 100;\n        self._initValue = self.state.get('value');\n      },\n      renderHtml: function () {\n        var self = this, id = self._id, prefix = self.classPrefix;\n        return '<div id=\"' + id + '\" class=\"' + self.classes + '\">' + '<div id=\"' + id + '-handle\" class=\"' + prefix + 'slider-handle\" role=\"slider\" tabindex=\"-1\"></div>' + '</div>';\n      },\n      reset: function () {\n        this.value(this._initValue).repaint();\n      },\n      postRender: function () {\n        var self = this;\n        var minValue, maxValue, screenCordName, stylePosName, sizeName, shortSizeName;\n        function toFraction(min, max, val) {\n          return (val + min) / (max - min);\n        }\n        function fromFraction(min, max, val) {\n          return val * (max - min) - min;\n        }\n        function handleKeyboard(minValue, maxValue) {\n          function alter(delta) {\n            var value;\n            value = self.value();\n            value = fromFraction(minValue, maxValue, toFraction(minValue, maxValue, value) + delta * 0.05);\n            value = constrain(value, minValue, maxValue);\n            self.value(value);\n            self.fire('dragstart', { value: value });\n            self.fire('drag', { value: value });\n            self.fire('dragend', { value: value });\n          }\n          self.on('keydown', function (e) {\n            switch (e.keyCode) {\n            case 37:\n            case 38:\n              alter(-1);\n              break;\n            case 39:\n            case 40:\n              alter(1);\n              break;\n            }\n          });\n        }\n        function handleDrag(minValue, maxValue, handleEl) {\n          var startPos, startHandlePos, maxHandlePos, handlePos, value;\n          self._dragHelper = new DragHelper(self._id, {\n            handle: self._id + '-handle',\n            start: function (e) {\n              startPos = e[screenCordName];\n              startHandlePos = parseInt(self.getEl('handle').style[stylePosName], 10);\n              maxHandlePos = (self.layoutRect()[shortSizeName] || 100) - funcs.getSize(handleEl)[sizeName];\n              self.fire('dragstart', { value: value });\n            },\n            drag: function (e) {\n              var delta = e[screenCordName] - startPos;\n              handlePos = constrain(startHandlePos + delta, 0, maxHandlePos);\n              handleEl.style[stylePosName] = handlePos + 'px';\n              value = minValue + handlePos / maxHandlePos * (maxValue - minValue);\n              self.value(value);\n              self.tooltip().text('' + self.settings.previewFilter(value)).show().moveRel(handleEl, 'bc tc');\n              self.fire('drag', { value: value });\n            },\n            stop: function () {\n              self.tooltip().hide();\n              self.fire('dragend', { value: value });\n            }\n          });\n        }\n        minValue = self._minValue;\n        maxValue = self._maxValue;\n        if (self.settings.orientation === 'v') {\n          screenCordName = 'screenY';\n          stylePosName = 'top';\n          sizeName = 'height';\n          shortSizeName = 'h';\n        } else {\n          screenCordName = 'screenX';\n          stylePosName = 'left';\n          sizeName = 'width';\n          shortSizeName = 'w';\n        }\n        self._super();\n        handleKeyboard(minValue, maxValue);\n        handleDrag(minValue, maxValue, self.getEl('handle'));\n      },\n      repaint: function () {\n        this._super();\n        updateSliderHandle(this, this.value());\n      },\n      bindStates: function () {\n        var self = this;\n        self.state.on('change:value', function (e) {\n          updateSliderHandle(self, e.value);\n        });\n        return self._super();\n      }\n    });\n\n    var Spacer = Widget.extend({\n      renderHtml: function () {\n        var self = this;\n        self.classes.add('spacer');\n        self.canFocus = false;\n        return '<div id=\"' + self._id + '\" class=\"' + self.classes + '\"></div>';\n      }\n    });\n\n    var SplitButton = MenuButton.extend({\n      Defaults: {\n        classes: 'widget btn splitbtn',\n        role: 'button'\n      },\n      repaint: function () {\n        var self$$1 = this;\n        var elm = self$$1.getEl();\n        var rect = self$$1.layoutRect();\n        var mainButtonElm, menuButtonElm;\n        self$$1._super();\n        mainButtonElm = elm.firstChild;\n        menuButtonElm = elm.lastChild;\n        global$9(mainButtonElm).css({\n          width: rect.w - funcs.getSize(menuButtonElm).width,\n          height: rect.h - 2\n        });\n        global$9(menuButtonElm).css({ height: rect.h - 2 });\n        return self$$1;\n      },\n      activeMenu: function (state) {\n        var self$$1 = this;\n        global$9(self$$1.getEl().lastChild).toggleClass(self$$1.classPrefix + 'active', state);\n      },\n      renderHtml: function () {\n        var self$$1 = this;\n        var id = self$$1._id;\n        var prefix = self$$1.classPrefix;\n        var image;\n        var icon = self$$1.state.get('icon');\n        var text = self$$1.state.get('text');\n        var settings = self$$1.settings;\n        var textHtml = '', ariaPressed;\n        image = settings.image;\n        if (image) {\n          icon = 'none';\n          if (typeof image !== 'string') {\n            image = window.getSelection ? image[0] : image[1];\n          }\n          image = ' style=\"background-image: url(\\'' + image + '\\')\"';\n        } else {\n          image = '';\n        }\n        icon = settings.icon ? prefix + 'ico ' + prefix + 'i-' + icon : '';\n        if (text) {\n          self$$1.classes.add('btn-has-text');\n          textHtml = '<span class=\"' + prefix + 'txt\">' + self$$1.encode(text) + '</span>';\n        }\n        ariaPressed = typeof settings.active === 'boolean' ? ' aria-pressed=\"' + settings.active + '\"' : '';\n        return '<div id=\"' + id + '\" class=\"' + self$$1.classes + '\" role=\"button\"' + ariaPressed + ' tabindex=\"-1\">' + '<button type=\"button\" hidefocus=\"1\" tabindex=\"-1\">' + (icon ? '<i class=\"' + icon + '\"' + image + '></i>' : '') + textHtml + '</button>' + '<button type=\"button\" class=\"' + prefix + 'open\" hidefocus=\"1\" tabindex=\"-1\">' + (self$$1._menuBtnText ? (icon ? '\\xA0' : '') + self$$1._menuBtnText : '') + ' <i class=\"' + prefix + 'caret\"></i>' + '</button>' + '</div>';\n      },\n      postRender: function () {\n        var self$$1 = this, onClickHandler = self$$1.settings.onclick;\n        self$$1.on('click', function (e) {\n          var node = e.target;\n          if (e.control === this) {\n            while (node) {\n              if (e.aria && e.aria.key !== 'down' || node.nodeName === 'BUTTON' && node.className.indexOf('open') === -1) {\n                e.stopImmediatePropagation();\n                if (onClickHandler) {\n                  onClickHandler.call(this, e);\n                }\n                return;\n              }\n              node = node.parentNode;\n            }\n          }\n        });\n        delete self$$1.settings.onclick;\n        return self$$1._super();\n      }\n    });\n\n    var StackLayout = FlowLayout.extend({\n      Defaults: {\n        containerClass: 'stack-layout',\n        controlClass: 'stack-layout-item',\n        endClass: 'break'\n      },\n      isNative: function () {\n        return true;\n      }\n    });\n\n    var TabPanel = Panel.extend({\n      Defaults: {\n        layout: 'absolute',\n        defaults: { type: 'panel' }\n      },\n      activateTab: function (idx) {\n        var activeTabElm;\n        if (this.activeTabId) {\n          activeTabElm = this.getEl(this.activeTabId);\n          global$9(activeTabElm).removeClass(this.classPrefix + 'active');\n          activeTabElm.setAttribute('aria-selected', 'false');\n        }\n        this.activeTabId = 't' + idx;\n        activeTabElm = this.getEl('t' + idx);\n        activeTabElm.setAttribute('aria-selected', 'true');\n        global$9(activeTabElm).addClass(this.classPrefix + 'active');\n        this.items()[idx].show().fire('showtab');\n        this.reflow();\n        this.items().each(function (item, i) {\n          if (idx !== i) {\n            item.hide();\n          }\n        });\n      },\n      renderHtml: function () {\n        var self = this;\n        var layout = self._layout;\n        var tabsHtml = '';\n        var prefix = self.classPrefix;\n        self.preRender();\n        layout.preRender(self);\n        self.items().each(function (ctrl, i) {\n          var id = self._id + '-t' + i;\n          ctrl.aria('role', 'tabpanel');\n          ctrl.aria('labelledby', id);\n          tabsHtml += '<div id=\"' + id + '\" class=\"' + prefix + 'tab\" ' + 'unselectable=\"on\" role=\"tab\" aria-controls=\"' + ctrl._id + '\" aria-selected=\"false\" tabIndex=\"-1\">' + self.encode(ctrl.settings.title) + '</div>';\n        });\n        return '<div id=\"' + self._id + '\" class=\"' + self.classes + '\" hidefocus=\"1\" tabindex=\"-1\">' + '<div id=\"' + self._id + '-head\" class=\"' + prefix + 'tabs\" role=\"tablist\">' + tabsHtml + '</div>' + '<div id=\"' + self._id + '-body\" class=\"' + self.bodyClasses + '\">' + layout.renderHtml(self) + '</div>' + '</div>';\n      },\n      postRender: function () {\n        var self = this;\n        self._super();\n        self.settings.activeTab = self.settings.activeTab || 0;\n        self.activateTab(self.settings.activeTab);\n        this.on('click', function (e) {\n          var targetParent = e.target.parentNode;\n          if (targetParent && targetParent.id === self._id + '-head') {\n            var i = targetParent.childNodes.length;\n            while (i--) {\n              if (targetParent.childNodes[i] === e.target) {\n                self.activateTab(i);\n              }\n            }\n          }\n        });\n      },\n      initLayoutRect: function () {\n        var self = this;\n        var rect, minW, minH;\n        minW = funcs.getSize(self.getEl('head')).width;\n        minW = minW < 0 ? 0 : minW;\n        minH = 0;\n        self.items().each(function (item) {\n          minW = Math.max(minW, item.layoutRect().minW);\n          minH = Math.max(minH, item.layoutRect().minH);\n        });\n        self.items().each(function (ctrl) {\n          ctrl.settings.x = 0;\n          ctrl.settings.y = 0;\n          ctrl.settings.w = minW;\n          ctrl.settings.h = minH;\n          ctrl.layoutRect({\n            x: 0,\n            y: 0,\n            w: minW,\n            h: minH\n          });\n        });\n        var headH = funcs.getSize(self.getEl('head')).height;\n        self.settings.minWidth = minW;\n        self.settings.minHeight = minH + headH;\n        rect = self._super();\n        rect.deltaH += headH;\n        rect.innerH = rect.h - rect.deltaH;\n        return rect;\n      }\n    });\n\n    var TextBox = Widget.extend({\n      init: function (settings) {\n        var self$$1 = this;\n        self$$1._super(settings);\n        self$$1.classes.add('textbox');\n        if (settings.multiline) {\n          self$$1.classes.add('multiline');\n        } else {\n          self$$1.on('keydown', function (e) {\n            var rootControl;\n            if (e.keyCode === 13) {\n              e.preventDefault();\n              self$$1.parents().reverse().each(function (ctrl) {\n                if (ctrl.toJSON) {\n                  rootControl = ctrl;\n                  return false;\n                }\n              });\n              self$$1.fire('submit', { data: rootControl.toJSON() });\n            }\n          });\n          self$$1.on('keyup', function (e) {\n            self$$1.state.set('value', e.target.value);\n          });\n        }\n      },\n      repaint: function () {\n        var self$$1 = this;\n        var style, rect, borderBox, borderW, borderH = 0, lastRepaintRect;\n        style = self$$1.getEl().style;\n        rect = self$$1._layoutRect;\n        lastRepaintRect = self$$1._lastRepaintRect || {};\n        var doc = document;\n        if (!self$$1.settings.multiline && doc.all && (!doc.documentMode || doc.documentMode <= 8)) {\n          style.lineHeight = rect.h - borderH + 'px';\n        }\n        borderBox = self$$1.borderBox;\n        borderW = borderBox.left + borderBox.right + 8;\n        borderH = borderBox.top + borderBox.bottom + (self$$1.settings.multiline ? 8 : 0);\n        if (rect.x !== lastRepaintRect.x) {\n          style.left = rect.x + 'px';\n          lastRepaintRect.x = rect.x;\n        }\n        if (rect.y !== lastRepaintRect.y) {\n          style.top = rect.y + 'px';\n          lastRepaintRect.y = rect.y;\n        }\n        if (rect.w !== lastRepaintRect.w) {\n          style.width = rect.w - borderW + 'px';\n          lastRepaintRect.w = rect.w;\n        }\n        if (rect.h !== lastRepaintRect.h) {\n          style.height = rect.h - borderH + 'px';\n          lastRepaintRect.h = rect.h;\n        }\n        self$$1._lastRepaintRect = lastRepaintRect;\n        self$$1.fire('repaint', {}, false);\n        return self$$1;\n      },\n      renderHtml: function () {\n        var self$$1 = this;\n        var settings = self$$1.settings;\n        var attrs, elm;\n        attrs = {\n          id: self$$1._id,\n          hidefocus: '1'\n        };\n        global$2.each([\n          'rows',\n          'spellcheck',\n          'maxLength',\n          'size',\n          'readonly',\n          'min',\n          'max',\n          'step',\n          'list',\n          'pattern',\n          'placeholder',\n          'required',\n          'multiple'\n        ], function (name$$1) {\n          attrs[name$$1] = settings[name$$1];\n        });\n        if (self$$1.disabled()) {\n          attrs.disabled = 'disabled';\n        }\n        if (settings.subtype) {\n          attrs.type = settings.subtype;\n        }\n        elm = funcs.create(settings.multiline ? 'textarea' : 'input', attrs);\n        elm.value = self$$1.state.get('value');\n        elm.className = self$$1.classes.toString();\n        return elm.outerHTML;\n      },\n      value: function (value) {\n        if (arguments.length) {\n          this.state.set('value', value);\n          return this;\n        }\n        if (this.state.get('rendered')) {\n          this.state.set('value', this.getEl().value);\n        }\n        return this.state.get('value');\n      },\n      postRender: function () {\n        var self$$1 = this;\n        self$$1.getEl().value = self$$1.state.get('value');\n        self$$1._super();\n        self$$1.$el.on('change', function (e) {\n          self$$1.state.set('value', e.target.value);\n          self$$1.fire('change', e);\n        });\n      },\n      bindStates: function () {\n        var self$$1 = this;\n        self$$1.state.on('change:value', function (e) {\n          if (self$$1.getEl().value !== e.value) {\n            self$$1.getEl().value = e.value;\n          }\n        });\n        self$$1.state.on('change:disabled', function (e) {\n          self$$1.getEl().disabled = e.value;\n        });\n        return self$$1._super();\n      },\n      remove: function () {\n        this.$el.off();\n        this._super();\n      }\n    });\n\n    var getApi = function () {\n      return {\n        Selector: Selector,\n        Collection: Collection$2,\n        ReflowQueue: ReflowQueue,\n        Control: Control$1,\n        Factory: global$4,\n        KeyboardNavigation: KeyboardNavigation,\n        Container: Container,\n        DragHelper: DragHelper,\n        Scrollable: Scrollable,\n        Panel: Panel,\n        Movable: Movable,\n        Resizable: Resizable,\n        FloatPanel: FloatPanel,\n        Window: Window$$1,\n        MessageBox: MessageBox,\n        Tooltip: Tooltip,\n        Widget: Widget,\n        Progress: Progress,\n        Notification: Notification,\n        Layout: Layout,\n        AbsoluteLayout: AbsoluteLayout,\n        Button: Button,\n        ButtonGroup: ButtonGroup,\n        Checkbox: Checkbox,\n        ComboBox: ComboBox,\n        ColorBox: ColorBox,\n        PanelButton: PanelButton,\n        ColorButton: ColorButton,\n        ColorPicker: ColorPicker,\n        Path: Path,\n        ElementPath: ElementPath,\n        FormItem: FormItem,\n        Form: Form,\n        FieldSet: FieldSet,\n        FilePicker: FilePicker,\n        FitLayout: FitLayout,\n        FlexLayout: FlexLayout,\n        FlowLayout: FlowLayout,\n        FormatControls: FormatControls,\n        GridLayout: GridLayout,\n        Iframe: Iframe$1,\n        InfoBox: InfoBox,\n        Label: Label,\n        Toolbar: Toolbar$1,\n        MenuBar: MenuBar,\n        MenuButton: MenuButton,\n        MenuItem: MenuItem,\n        Throbber: Throbber,\n        Menu: Menu,\n        ListBox: ListBox,\n        Radio: Radio,\n        ResizeHandle: ResizeHandle,\n        SelectBox: SelectBox,\n        Slider: Slider,\n        Spacer: Spacer,\n        SplitButton: SplitButton,\n        StackLayout: StackLayout,\n        TabPanel: TabPanel,\n        TextBox: TextBox,\n        DropZone: DropZone,\n        BrowseButton: BrowseButton\n      };\n    };\n    var appendTo = function (target) {\n      if (target.ui) {\n        global$2.each(getApi(), function (ref, key) {\n          target.ui[key] = ref;\n        });\n      } else {\n        target.ui = getApi();\n      }\n    };\n    var registerToFactory = function () {\n      global$2.each(getApi(), function (ref, key) {\n        global$4.add(key, ref);\n      });\n    };\n    var Api = {\n      appendTo: appendTo,\n      registerToFactory: registerToFactory\n    };\n\n    Api.registerToFactory();\n    Api.appendTo(window.tinymce ? window.tinymce : {});\n    global.add('modern', function (editor) {\n      FormatControls.setup(editor);\n      return ThemeApi.get(editor);\n    });\n    function Theme () {\n    }\n\n    return Theme;\n\n}());\n})();\n\n}.call(window));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/tinymce/themes/modern/theme.js\n// module id = o5MNHB+lfN\n// module chunks = 2 3 28 35 44 54 73 85 102","#\n# Copyright (C) 2011 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n\ndefine ['Backbone', 'i18n!overrides'], ({Model}, I18n ) ->\n\n  class Section extends Model\n    @defaultDueDateSection: ->\n      new Section\n        id: Section.defaultDueDateSectionID\n        name: I18n.t 'overrides.everyone', 'Everyone'\n\n    @defaultDueDateSectionID: '0'\n\n    isDefaultDueDateSection: =>\n      @id is Section.defaultDueDateSectionID\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/models/Section.coffee","\n    define(['i18nObj', 'translations/assignments.create_assignment', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('assignments.create_assignment')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?assignments.create_assignment!./public/javascripts/dummyI18nResource.js\n// module id = ocKfL+koO6\n// module chunks = 54","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _SVGIcon = _interopRequireDefault(require(\"@instructure/ui-svg-images/lib/components/SVGIcon\"));\n\nvar _ref =\n/*#__PURE__*/\n_react.default.createElement(\"path\", {\n  d: \"M.08 568.062l176.13-176.13 783.988 783.865 783.74-783.864 176.13 176.13-959.87 960.118z\",\n  fillRule: \"evenodd\",\n  stroke: \"none\",\n  strokeWidth: \"1\"\n});\n\nvar IconArrowOpenDown =\n/*#__PURE__*/\nfunction (_Component) {\n  (0, _inherits2.default)(IconArrowOpenDown, _Component);\n\n  function IconArrowOpenDown() {\n    (0, _classCallCheck2.default)(this, IconArrowOpenDown);\n    return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(IconArrowOpenDown).apply(this, arguments));\n  }\n\n  (0, _createClass2.default)(IconArrowOpenDown, [{\n    key: \"render\",\n    value: function render() {\n      return _react.default.createElement(_SVGIcon.default, (0, _extends2.default)({}, this.props, {\n        name: \"IconArrowOpenDown\",\n        viewBox: \"0 0 1920 1920\"\n      }), _ref);\n    }\n  }]);\n  IconArrowOpenDown.displayName = \"IconArrowOpenDown\";\n  return IconArrowOpenDown;\n}(_react.Component);\n\nexports.default = IconArrowOpenDown;\nIconArrowOpenDown.glyphName = 'arrow-open-down';\nIconArrowOpenDown.variant = 'Solid';\nIconArrowOpenDown.propTypes = (0, _objectSpread2.default)({}, _SVGIcon.default.propTypes);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@instructure/ui-icons/lib/Solid/IconArrowOpenDown.js\n// module id = oiFg6CNb0v\n// module chunks = 2 3 11 13 27 28 29 30 31 32 33 34 36 37 38 39 43 49 51 54 55 57 58 59 64 65 67 70 72 97 102 125","\n    define(['i18nObj', 'translations/assignments.no_assignments_list_item', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('assignments.no_assignments_list_item')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?assignments.no_assignments_list_item!./public/javascripts/dummyI18nResource.js\n// module id = owEVPbQDSo\n// module chunks = 54","\n    define(['i18nObj', 'translations/cyoe_assignment_sidebar', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('cyoe_assignment_sidebar')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?cyoe_assignment_sidebar!./public/javascripts/dummyI18nResource.js\n// module id = p9pT1nMlqs\n// module chunks = 27 32 37 51 54 55 58 59 73","\n    define(['i18nObj', 'translations/publish_btn_module', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('publish_btn_module')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?publish_btn_module!./public/javascripts/dummyI18nResource.js\n// module id = pEupn0Zr6W\n// module chunks = 27 37 51 54 55 58 59 73 77 136","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"هل تريد بالفعل تعطيل المزامنة إلى %{sisName} لجميع المهام؟\",\"cancel_caeb1e68\":\"إلغاء\",\"disable_a5c05db3\":\"تعطيل\",\"disabling_f594bda\":\"جارٍ التعطيل...\"},\"cy\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"Ydych chi’n siŵr eich bod am analluogi’r broses Cysoni â %{sisName} ar gyfer pob aseiniad?\",\"cancel_caeb1e68\":\"Canslo\",\"disable_a5c05db3\":\"Analluogi\",\"disabling_f594bda\":\"Wrthi’n analluogi...\"},\"da\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"Er du sikker på, at du vil deaktivere Synkroniser til %{sisName} for alle opgaver?\",\"cancel_caeb1e68\":\"Annuller\",\"disable_a5c05db3\":\"Deaktiver\",\"disabling_f594bda\":\"Deaktiverer ...\"},\"da-x-k12\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"Er du sikker på, at du vil deaktivere Synkroniser til %{sisName} for alle opgaver?\",\"cancel_caeb1e68\":\"Annuller\",\"disable_a5c05db3\":\"Deaktiver\",\"disabling_f594bda\":\"Deaktiverer ...\"},\"de\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"Sind Sie sicher, dass Sie für alle Aufgaben die Synchronisierung mit %{sisName} deaktivieren möchten?\",\"cancel_caeb1e68\":\"Abbrechen\",\"disable_a5c05db3\":\"Deaktivieren\",\"disabling_f594bda\":\"Wird deaktiviert ...\"},\"el\":{\"cancel_caeb1e68\":\"Ακύρωση\",\"disable_a5c05db3\":\"Απενεργοποίηση\"},\"en-AU\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"Are you sure you want to disable Sync to %{sisName} for all assignments?\",\"cancel_caeb1e68\":\"Cancel\",\"disable_a5c05db3\":\"Disable\",\"disabling_f594bda\":\"Disabling...\"},\"en-CA\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"Are you sure you want to disable Sync to %{sisName} for all assignments?\",\"cancel_caeb1e68\":\"Cancel\",\"disable_a5c05db3\":\"Disable\",\"disabling_f594bda\":\"Disabling...\"},\"en-GB\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"Are you sure you want to disable Sync to %{sisName} for all assignments?\",\"cancel_caeb1e68\":\"Cancel\",\"disable_a5c05db3\":\"Disable\",\"disabling_f594bda\":\"Disabling...\"},\"en-GB-x-lbs\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"Are you sure you want to disable Sync to %{sisName} for all tasks?\",\"cancel_caeb1e68\":\"Cancel\",\"disable_a5c05db3\":\"Disable\",\"disabling_f594bda\":\"Disabling...\"},\"en-GB-x-ukhe\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"Are you sure you want to disable Sync to %{sisName} for all assignments?\",\"cancel_caeb1e68\":\"Cancel\",\"disable_a5c05db3\":\"Disable\",\"disabling_f594bda\":\"Disabling...\"},\"es\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"¿Está seguro de que desea desactivar la sincronización con %{sisName} para todas las tareas?\",\"cancel_caeb1e68\":\"Cancelar\",\"disable_a5c05db3\":\"Deshabilitar\",\"disabling_f594bda\":\"Desactivando...\"},\"fa\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"آیا مطمئن هستید که می خواهید همگام سازی به %{sisName} را برای همه تکالیف غیرفعال کنید؟\",\"cancel_caeb1e68\":\"لغو\",\"disable_a5c05db3\":\"غیر فعال سازی\",\"disabling_f594bda\":\"در حال غیر فعال سازی...\"},\"fr\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"Êtes-vous sûr de vouloir désactiver la Synchro vers %{sisName} pour tous les devoirs ?\",\"cancel_caeb1e68\":\"Annuler\",\"disable_a5c05db3\":\"Désactiver\",\"disabling_f594bda\":\"Désactivation en cours...\"},\"fr-CA\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"Êtes-vous certain de vouloir désactiver Sync pour %{sisName} pour toutes les tâches?\",\"cancel_caeb1e68\":\"Annuler\",\"disable_a5c05db3\":\"Désactiver\",\"disabling_f594bda\":\"Désactivation en cours...\"},\"he\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"האם אתם בטוחים שרוצים למנוע את הסיכנכרוניזציה ל %{sisName} לכל המשימות האלו?\",\"cancel_caeb1e68\":\"ביטול\",\"disable_a5c05db3\":\"השבתה\",\"disabling_f594bda\":\"מנטל...\"},\"ht\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"Se tout bon ou vle dezaktive Sync nan %{sisName} pou tout sesyon yo?\",\"cancel_caeb1e68\":\"Anile\",\"disable_a5c05db3\":\"Dezaktive\",\"disabling_f594bda\":\"Dezaktivasyon...\"},\"hu\":{\"cancel_caeb1e68\":\"Mégse\",\"disable_a5c05db3\":\"Letilt\"},\"hy\":{\"cancel_caeb1e68\":\"Չեղյալ համարել\",\"disable_a5c05db3\":\"Անջատել\"},\"is\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"Viltu örugglega óvirkja samstillingu við %{sisName} fyrir öll verkefni?\",\"cancel_caeb1e68\":\"Hætta við\",\"disable_a5c05db3\":\"Aftengja\",\"disabling_f594bda\":\"Er að óvirkja...\"},\"it\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"Vuoi disattivare la sincronizzazione con %{sisName} per tutti i compiti?\",\"cancel_caeb1e68\":\"Annulla\",\"disable_a5c05db3\":\"Disabilita\",\"disabling_f594bda\":\"Disattivazione in corso...\"},\"ja\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"すべての課題で %{sisName} へのSyncをほんとうに無効にしますか?\",\"cancel_caeb1e68\":\"キャンセル\",\"disable_a5c05db3\":\"無効\",\"disabling_f594bda\":\"無効中...\"},\"ko\":{\"cancel_caeb1e68\":\"취소\",\"disable_a5c05db3\":\"사용 안 함\"},\"mi\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"E pono ana koe e hiahia ana koe ki te mono Sync kī %{sisName} mō ngā taumahi katoa?\",\"cancel_caeb1e68\":\"Whakakore\",\"disable_a5c05db3\":\"Monokia\",\"disabling_f594bda\":\"Kei te monotia ....\"},\"nb\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"Er du sikker på at du vil deaktivere synkronisering til %{sisName} for alle tildelinger?\",\"cancel_caeb1e68\":\"Avbryt\",\"disable_a5c05db3\":\"Slå av\",\"disabling_f594bda\":\"Deaktiverer...\"},\"nb-x-k12\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"Er du sikker på at du vil deaktivere synkronisering til %{sisName} for alle tildelinger?\",\"cancel_caeb1e68\":\"Avbryt\",\"disable_a5c05db3\":\"Slå av\",\"disabling_f594bda\":\"Deaktiverer...\"},\"nl\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"Weet je zeker dat je Synchroniseren naar %{sisName} voor alle opdrachten wilt uitschakelen?\",\"cancel_caeb1e68\":\"Annuleren\",\"disable_a5c05db3\":\"Uitschakelen\",\"disabling_f594bda\":\"Uitschakelen...\"},\"nn\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"Er du sikker på at du vil deaktivere Sync til %{sisName}for alle oppgåver?\",\"cancel_caeb1e68\":\"Avbryt\",\"disable_a5c05db3\":\"Deaktiver\",\"disabling_f594bda\":\"Slår av...\"},\"pl\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"Czy na pewno chcesz wyłączyć synchronizację z %{sisName} dla wszystkich zadań?\",\"cancel_caeb1e68\":\"Anuluj\",\"disable_a5c05db3\":\"Wyłącz\",\"disabling_f594bda\":\"Wyłączanie...\"},\"pt\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"Tem certeza de que deseja desativar a sincronização %{sisName} para todas as atribuições?\",\"cancel_caeb1e68\":\"Cancelar\",\"disable_a5c05db3\":\"Desativar\",\"disabling_f594bda\":\"A desativar...\"},\"pt-BR\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"Tem certeza de que deseja desabilitar a Sincronização a %{sisName} para todas as tarefas?\",\"cancel_caeb1e68\":\"Cancelar\",\"disable_a5c05db3\":\"Desativar\",\"disabling_f594bda\":\"Desabilitando...\"},\"ru\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"Вы действительно хотите отключить синхронизацию с %{sisName} для всех заданий?\",\"cancel_caeb1e68\":\"Отменить\",\"disable_a5c05db3\":\"Отключить\",\"disabling_f594bda\":\"Выполняется отключение...\"},\"sl\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"Ali ste prepričani, da želite onemogočiti sinhronizacijo %{sisName} za vse naloge?\",\"cancel_caeb1e68\":\"Prekliči\",\"disable_a5c05db3\":\"Onemogoči\",\"disabling_f594bda\":\"Onemogočanje ...\"},\"sv\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"Är du säker på att du vill inaktivera Sync till %{sisName} för alla bedömningar?\",\"cancel_caeb1e68\":\"Avbryt\",\"disable_a5c05db3\":\"Avaktivera\",\"disabling_f594bda\":\"Avaktiverar...\"},\"sv-x-k12\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"Är du säker på att du vill inaktivera Sync till %{sisName} för alla bedömningar?\",\"cancel_caeb1e68\":\"Avbryt\",\"disable_a5c05db3\":\"Avaktivera\",\"disabling_f594bda\":\"Avaktiverar...\"},\"tr\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"Tüm ödevler için %{sisName}ile Senkronize etmeyi devre dışı bırakmak istediğinize emin misiniz?\",\"cancel_caeb1e68\":\"İptal\",\"disable_a5c05db3\":\"Devre Dışı\",\"disabling_f594bda\":\"Devre dışı bırakılıyor...\"},\"uk\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"Ви впевнені, що хочете вимкнути синхронізацію %{sisName} для усіх завдань?\",\"cancel_caeb1e68\":\"Скасувати\",\"disable_a5c05db3\":\"Відключити\",\"disabling_f594bda\":\"Відключення...\"},\"zh-Hans\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"是否确定要对所有作业禁用“同步到 %{sisName}”？\",\"cancel_caeb1e68\":\"取消\",\"disable_a5c05db3\":\"禁用\",\"disabling_f594bda\":\"正在禁用...\"},\"zh-Hant\":{\"are_you_sure_you_want_to_disable_sync_to_sisname_f_f24245c1\":\"是否確定要停用所有作業的同步 %{sisName} 功能？\",\"cancel_caeb1e68\":\"取消\",\"disable_a5c05db3\":\"停用\",\"disabling_f594bda\":\"正在停用…\"}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/assignments.assignment_sync_settings.js\n// module id = pqabqQF2Ju\n// module chunks = 54","import INST from 'INST'\nimport $ from 'jquery'\n\nclass Client {\n\n  // Is truthy if PandaPub is enabled.\n  //\n  enabled = INST.pandaPubSettings\n\n  constructor () {\n    this.subscribe = this.subscribe.bind(this)\n    this.on = this.on.bind(this)\n    this.authExtension = this.authExtension.bind(this)\n    this.faye = null\n    this.tokens = {}\n  }\n\n  // Subscribe to a channel with a token. Returns an object\n  // which can receive a .cancel() call in order to unsubscribe.\n  // That object is also a Deferred, to find out when the subscription\n  // is successful or failed.\n  //\n  subscribe = (channel, token, cb) => {\n    const fullChannel = `/${INST.pandaPubSettings.application_id}${channel}`\n\n    this.tokens[fullChannel] = token\n\n    const dfd = new $.Deferred()\n    dfd.cancel = function () {}\n\n    this.client((faye) => {\n      const subscription = faye.subscribe(fullChannel, message => cb(message))\n\n      subscription.then(dfd.resolve, dfd.reject)\n      return (dfd.cancel = () => subscription.cancel())\n    })\n\n    return dfd\n  }\n\n  // Subscribe to transport-level events, transport:down or\n  // transport:up. See http://faye.jcoglan.com/browser/transport.html\n  on = (event, cb) =>\n    this.client(faye => faye.on(event, cb))\n\n  // @api private\n  authExtension = () => {\n    return {\n      outgoing: (message, cb) => {\n        if (message.channel === '/meta/subscribe') {\n          if (message.subscription in this.tokens) {\n            (message.ext || (message.ext = {})).auth = {\n              token: this.tokens[message.subscription]\n            }\n          }\n        }\n        return cb(message)\n      }\n    }\n  }\n\n  // Creates or returns the internal Faye client, loading it first\n  // if necessary.\n  //\n  // @api private\n  client (cb) {\n    if (this.faye) cb(this.faye)\n\n    if (!this.faye) {\n      $.getScript(`${INST.pandaPubSettings.push_url}/client.js`, () => {\n        this.faye = new window.Faye.Client(INST.pandaPubSettings.push_url)\n        this.faye.addExtension(this.authExtension())\n        cb(this.faye)\n      })\n    }\n  }\n}\n\n// We return a singleton instance of our client.\nexport default new Client()\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/PandaPub.js","//\n// Copyright (C) 2012 - present Instructure, Inc.\n//\n// This file is part of Canvas.\n//\n// Canvas is free software: you can redistribute it and/or modify it under\n// the terms of the GNU Affero General Public License as published by the Free\n// Software Foundation, version 3 of the License.\n//\n// Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n// A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n// details.\n//\n// You should have received a copy of the GNU Affero General Public License along\n// with this program. If not, see <http://www.gnu.org/licenses/>.\n\n// #\n// add the [data-tooltip] attribute and title=\"<tooltip contents>\" to anything you want to give a tooltip:\n//\n// usage: (see Styleguide)\n//   <a data-tooltip title=\"pops up on top center\">default</a>\n//   <a data-tooltip=\"top\" title=\"same as default\">top</a>\n//   <a data-tooltip=\"right\" title=\"should be right center\">right</a>\n//   <a data-tooltip=\"bottom\" title=\"should be bottom center\">bottom</a>\n//   <a data-tooltip=\"left\" title=\"should be left center\">left</a>\n//   <a data-tooltip='{\"track\":true}' title=\"this toolstip will stay connected to mouse as it moves around\">\n//     tooltip that tracks mouse\n//   </a>\n//   <button data-tooltip title=\"any type of element can have a tooltip\" class=\"btn\">\n//     button with tooltip\n//   </button>\n\nimport _ from 'underscore'\nimport $ from 'jquery'\nimport htmlEscape from 'str/htmlEscape'\nimport sanitizeHtml from 'jsx/shared/sanitizeHtml'\nimport 'jqueryui/tooltip'\n\nconst tooltipsToShortCirtuit = {}\nconst shortCircutTooltip = target => tooltipsToShortCirtuit[target] || tooltipsToShortCirtuit[target[0]]\n\nconst tooltipUtils = {\n  setPosition (opts) {\n    function caret () {\n      if ((opts.tooltipClass || '').match('popover')) {\n        return 30\n      } else {\n        return 5\n      }\n    }\n\n    const collision = opts.force_position === 'true' ? 'none' : 'flipfit'\n    const positions = {\n      right: {\n        my: 'left center',\n        at: `right+${caret()} center`,\n        collision,\n      },\n      left: {\n        my: 'right center',\n        at: `left-${caret()} center`,\n        collision,\n      },\n      top: {\n        my: 'center bottom',\n        at: `center top-${caret()}`,\n        collision,\n      },\n      bottom: {\n        my: 'center top',\n        at: `center bottom+${caret()}`,\n        collision,\n      },\n    }\n    if (opts.position in positions) {\n      opts.position = positions[opts.position]\n    }\n  }\n}\n\n// create a custom widget that inherits from the default jQuery UI\n// tooltip but extends the open method with a setTimeout wrapper so\n// that our browser can scroll to the tabbed focus element before\n// positioning the tooltip relative to window.\n$.widget('custom.timeoutTooltip', $.ui.tooltip, {\n  _open (event, target, content) {\n    if (shortCircutTooltip(target)) return null\n\n    // Converts arguments to an array\n    const args = Array.prototype.slice.call(arguments, 0)\n    args.splice(2, 1, htmlEscape(content).toString())\n    // if you move very fast, it's possible that\n    // @timeout will be defined\n    if (this.timeout) return\n\n    const apply = this._superApply.bind(this, args)\n    this.timeout = setTimeout(() => {\n      // make sure close will be called\n      delete this.timeout\n      // remove extra handlers we added, super will add them back\n      this._off(target, 'mouseleave focusout keyup')\n      apply()\n    }, 200)\n    // this is from the jquery ui tooltip _open\n    // we need to bind events to trigger close so that the\n    // timeout is cleared when we mouseout / or leave focus\n    return this._on(target, {\n      mouseleave: 'close',\n      focusout: 'close',\n      keyup (event) {\n        if (event.keyCode === $.ui.keyCode.ESCAPE) {\n          const fakeEvent = $.Event(event)\n          fakeEvent.currentTarget = target[0]\n          return this.close(fakeEvent, true)\n        }\n      },\n    })\n  },\n\n  close (event) {\n    if (this.timeout) {\n      clearTimeout(this.timeout)\n      delete this.timeout\n      return\n    }\n    return this._superApply([event, true])\n  },\n})\n\n\n// you can provide a 'using' option to jqueryUI position (which gets called by jqueryui Tooltip to\n// position it on the screen), it will be passed the position cordinates and a feedback object which,\n// among other things, tells you where it positioned it relative to the target. we use it to add some\n// css classes that handle putting the pointer triangle (aka: caret) back to the trigger.\nfunction using (position, feedback) {\n  return $(this).css(position).removeClass('left right top bottom center middle vertical horizontal').addClass([\n    // one of: \"left\", \"right\", \"center\"\n    feedback.horizontal,\n\n    // one of \"top\", \"bottom\", \"middle\"\n    feedback.vertical,\n\n    // if tooltip was positioned mostly above/below trigger then: \"vertical\"\n    // else since the tooltip was positioned more to the left or right: \"horizontal\"\n    feedback.important,\n  ].join(' '))\n}\n\n$('body').on('mouseenter focusin', '[data-tooltip]', function (event) {\n  const $this = $(this)\n  let opts = $this.data('tooltip')\n\n  // allow specifying position by simply doing <a data-tooltip=\"left\">\n  // and allow shorthand top|bottom|left|right positions like <a data-tooltip='{\"position\":\"left\"}'>\n  if (['right', 'left', 'top', 'bottom'].includes(opts)) opts = { position: opts}\n  if (!opts) opts = {}\n  if (!opts.position) opts.position = 'top'\n\n  tooltipUtils.setPosition(opts)\n  if (opts.collision) opts.position.collision = opts.collision\n\n  if (!opts.position.using) opts.position.using = using\n\n  if ($this.data('html-tooltip-title')) {\n    opts.content = function () {\n      return $.raw(sanitizeHtml($(this).data('html-tooltip-title')))\n    }\n    opts.items = '[data-html-tooltip-title]'\n  }\n\n  if ($this.data('tooltip-class')) opts.tooltipClass = $this.data('tooltip-class')\n\n  $this.removeAttr('data-tooltip').timeoutTooltip(opts).timeoutTooltip('open').click(() => $this.timeoutTooltip('close'))\n})\n\nconst restartTooltip = event => (tooltipsToShortCirtuit[event.target] = false)\n\nconst stopTooltip = event => (tooltipsToShortCirtuit[event.target] = true)\n\n$(window).bind('detachTooltip', stopTooltip)\n$(window).bind('reattachTooltip', restartTooltip)\n\nexport default tooltipUtils\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/behaviors/tooltip.js","#\n# Copyright (C) 2013 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  'Backbone'\n  'jquery'\n  'underscore'\n  './CollectionView'\n], (Backbone, $, _, CollectionView) ->\n\n  class SortableCollectionView extends CollectionView\n\n    @optionProperty 'sortURL'\n\n    # Public: Default jQuery sortable options\n    sortOptions:\n      tolerance: 'pointer'\n      opacity: 0.9\n      zIndex: 100\n      placeholder: 'sortable-dropzone'\n      forcePlaceholderSize: true\n\n    render: (sort=true) ->\n      super\n      @_initSort() if sort\n      @\n\n    # Internal: Enable sorting of the this view's itemViews.\n    #\n    # Returns nothing.\n    _initSort: ->\n      @$list.sortable(_.extend({}, @sortOptions, scope: @cid))\n      @$list.on('sortupdate', @_updateSort)\n      @$list.disableSelection()\n\n\n    # Internal: get an item's ID from the ui element\n    # Assumes that the first child DOM element will have the id in the data-item-id attribute\n    _getItemId: (item) ->\n      item.children(\":first\").data('id')\n\n    # Internal: On a user's sort action, update the sort order on the server.\n    #\n    # Assumes that the first child DOM element will have the id of the model in the data-id attribute\n    #\n    # e - Event object.\n    # ui - jQueryUI object.\n    #\n    # Returns nothing.\n    _updateSort: (e, ui) =>\n      e.stopPropagation()\n      positions = {}\n      id = @_getItemId(ui.item)\n      positions[id] = ui.item.index() + 1\n      for s in ui.item.siblings()\n        $s = $(s)\n        model_id = @_getItemId($s)\n\n        index = $s.prevAll().length\n        positions[model_id] = index + 1\n\n      @_updatePositions(positions)\n\n    # Internal: Update the position attributes of all models in the collection\n    # to match their DOM position. Mirror changes to server.\n    #\n    # Returns nothing.\n    _updatePositions: (positions) ->\n      @collection.each (model, index) ->\n        new_position = positions[model.id]\n        model.set('position', new_position)\n\n      # make sure the collection stays in order\n      @collection.sort()\n      @_sendPositions(@_orderPositions(positions))\n\n    # Internal: takes an object of {model_id:position} and returns and array\n    # of model_ids in the correct order\n    _orderPositions: (positions) ->\n      sortable = []\n      for id,order of positions\n        sortable.push [id,order]\n      sortable.sort (a,b) -> a[1] - b[1]\n      output = []\n      for model in sortable\n        output.push model[0]\n      output\n\n    # Internal: sends an array of model_ids as a comma delimited string\n    # to the sortURL\n    _sendPositions: (ids) ->\n      $.post @sortURL, order: ids.join(\",\")\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/views/SortableCollectionView.coffee","\n    define(['i18nObj', 'translations/move_select', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('move_select')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?move_select!./public/javascripts/dummyI18nResource.js\n// module id = qxht3AOfZl\n// module chunks = 32 36 51 54 58 59 67","\n    define('jst/_spinner', [\"handlebars/runtime\",\"i18n!spinner\",\"coffeescripts/handlebars_helpers.coffee\"], function(Handlebars){\n      Handlebars = Handlebars.default\n      var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};\n      var name = '-spinner';\n      templates[name] = template(function (Handlebars,depth0,helpers,partials,data) {\n  this.compilerInfo = [4,'>= 1.0.0'];\nhelpers = this.merge(helpers, Handlebars.helpers); data = data || {};\n  var buffer = \"\", helper, options, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression;\n\n\n  buffer += \"<svg\\n  class=\\\"spinner\\\"\\n  role=\\\"img\\\"\\n  title=\\\"\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"loading_bde52856\", \"Loading\", options) : helperMissing.call(depth0, \"t\", \"loading_bde52856\", \"Loading\", options)))\n    + \"\\\"\\n  focusable=\\\"false\\\"\\n>\\n  <g role=\\\"presentation\\\">\\n    <circle class=\\\"shadow\\\" cx=\\\"50%\\\" cy=\\\"50%\\\" r=\\\"1em\\\" />\\n    <circle class=\\\"track\\\" cx=\\\"50%\\\" cy=\\\"50%\\\" r=\\\"1em\\\" />\\n    <circle class=\\\"spin\\\" cx=\\\"50%\\\" cy=\\\"50%\\\" r=\\\"1em\\\" />\\n  </g>\\n</svg>\\n\";\n  return buffer;\n  });\n      \n      Handlebars.registerPartial('spinner', templates['-spinner']);\n    ;\n      ;\n      return templates[name];\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./app/views/jst/_spinner.handlebars\n// module id = rC0SWPoWci\n// module chunks = 54","\n    define('jst/EmptyDialogFormWrapper', [\"handlebars/runtime\",\"coffeescripts/handlebars_helpers.coffee\"], function(Handlebars){\n      Handlebars = Handlebars.default\n      var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};\n      var name = 'EmptyDialogFormWrapper';\n      templates[name] = template(function (Handlebars,depth0,helpers,partials,data) {\n  this.compilerInfo = [4,'>= 1.0.0'];\nhelpers = this.merge(helpers, Handlebars.helpers); data = data || {};\n  \n\n\n  return \"<div class=\\\"outlet\\\"></div>\\n\";\n  });\n      ;\n      ;\n      return templates[name];\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./app/views/jst/EmptyDialogFormWrapper.handlebars\n// module id = s2PO/tRSFk\n// module chunks = 33 36 37 44 45 52 54 56 95","//\n// Copyright (C) 2017 - present Instructure, Inc.\n//\n// This file is part of Canvas.\n//\n// Canvas is free software: you can redistribute it and/or modify it under\n// the terms of the GNU Affero General Public License as published by the Free\n// Software Foundation, version 3 of the License.\n//\n// Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n// A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n// details.\n//\n// You should have received a copy of the GNU Affero General Public License along\n// with this program. If not, see <http://www.gnu.org/licenses/>.\n\nexport default class SisValidationHelper {\n  constructor (params) {\n    this.postToSIS = params.postToSIS\n    this.allDates = params.allDates\n    this.dueDateRequired = params.dueDateRequired\n    this.maxNameLengthRequired = params.maxNameLengthRequired\n    this.dueDate = params.dueDate\n    this.modelName = params.name\n    this.maxNameLength = params.maxNameLength\n  }\n\n  nameTooLong () {\n    if (!this.postToSIS) return false\n    if (this.maxNameLengthRequired) {\n      return this.nameLengthComparison()\n    } else if (!this.maxNameLengthRequired && this.maxNameLength === 256) {\n      return this.nameLengthComparison()\n    }\n  }\n\n  nameLengthComparison () {\n    return this.modelName.length > this.maxNameLength\n  }\n\n  dueAtNotValid (date) {\n    if(!date) return true\n    return (date.dueAt === null || date.dueAt === undefined || date.dueAt === '')\n  }\n\n  dueDateMissingDifferentiated () {\n    if (!this.allDates) return false\n    return (this.allDates.map(this.dueAtNotValid).indexOf(true) !== -1)\n  }\n\n  baseDueDateMissing () {\n    return ((!this.allDates || this.allDates.length === 0) && !this.dueDate)\n  }\n\n  dueDateMissing () {\n    if (!this.postToSIS) return false\n    return this.dueDateRequired && (this.baseDueDateMissing() || this.dueDateMissingDifferentiated())\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/util/SisValidationHelper.js","#\n# Copyright (C) 2017 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  'i18n!lock_btn_module'\n  'jquery'\n  '../fn/preventDefault'\n  'Backbone'\n  'str/htmlEscape'\n  'jquery.instructure_forms'\n], (I18n, $, preventDefault, Backbone, htmlEscape) ->\n\n  # render as a working button when in a master course,\n  # and as a plain old span if not\n  class LockButton extends Backbone.View\n    lockedClass: 'btn-locked'\n    unlockedClass: 'btn-unlocked'\n    disabledClass: 'disabled'\n\n    # These values allow the default text to be overridden if necessary\n    @optionProperty 'lockedText'\n    @optionProperty 'unlockedText',\n    @optionProperty 'course_id',\n    @optionProperty 'content_id'\n    @optionProperty 'content_type'\n\n    tagName:   'button'\n    className: 'btn'\n\n    events: {'click', 'hover', 'focus', 'blur'}\n\n    els:\n      'i': '$icon'\n      '.lock-text': '$text'\n\n    initialize: ->\n      super\n      # button is enabled only for master courses\n      @disabled = !@isMasterCourseMasterContent()\n      @disabledClass = if @disabled then 'disabled' else ''\n\n      @lockedText = @lockedText || I18n.t 'Locked. Click to unlock.'\n      @unlockedText = @unlockedText || I18n.t 'Unlocked. Click to lock.'\n\n    setElement: ->\n      super\n      @$el.attr 'data-tooltip', ''\n\n    # events\n\n    hover: ({type}) ->\n      return if @disabled\n      if type is 'mouseenter'\n        if @isLocked()\n          @renderWillUnlock()\n        else\n          @renderWillLock()\n      else if type is 'mouseleave'\n        if @isLocked()\n          @renderLocked()\n        else\n          @renderUnlocked()\n\n    focus: () ->\n      @focusblur()\n\n    blur: () ->\n      @focusblur()\n\n    # this causes the button to re-render as it is which seems dumb,\n    # but if you don't, the tooltip gets stuck forever with the hover text\n    # after mouseenter/leave. Even now,\n    # focus-blur-mouseenter-mouseleave-focus and the tooltip is left from hover\n    # follow with blur-focus and it's corrected\n    # I believe this is a but in jquery's tooltip.\n    focusblur: () ->\n      return if @disabled\n      if @isLocked()\n        @renderLocked()\n      else\n        @renderUnlocked()\n\n    click: (event) ->\n      event.preventDefault()\n      event.stopPropagation()\n      return if @disabled\n      if @isLocked()\n        @unlock()\n      else\n        @lock()\n\n    setFocusToElement: ->\n      @$el.focus()\n\n    lock: (event) ->\n      @renderLocking()\n      @setLockState(true)\n\n    unlock: (event) ->\n      @renderUnlocking()\n      @setLockState(false)\n\n    setLockState: (locked) ->\n      $.ajaxJSON(\n        \"/api/v1/courses/#{@course_id}/blueprint_templates/default/restrict_item\",\n        \"PUT\", {\n          content_type: @content_type,\n          content_id: @content_id,\n          restricted: locked\n        },\n        (response) =>\n          @model.set('restricted_by_master_course', locked)\n          @trigger(if locked then \"lock\" else \"unlock\")\n          @render()\n          @setFocusToElement()\n          @closeTooltip()\n          null\n        ,\n        (error) =>\n          @setFocusToElement()\n      )\n\n    # state\n    isLocked: ->\n      @model.get('restricted_by_master_course')\n\n    isMasterCourseMasterContent: ->\n      !!@model.get('is_master_course_master_content')\n\n    isMasterCourseChildContent: ->\n      !!@model.get('is_master_course_child_content')\n\n    isMasterCourseContent: ->\n      @isMasterCourseMasterContent() || @isMasterCourseChildContent()\n\n    reset: ->\n      @$el.removeClass \"#{@lockedClass} #{@unlockedClass} #{@disabledClass}\"\n      @$icon.removeClass 'icon-lock icon-unlock icon-unlocked'\n      @$el.removeAttr 'aria-label'\n      @closeTooltip()\n\n    closeTooltip: ->\n      $(\".ui-tooltip\").remove()\n\n    # render\n\n    render: ->\n      return unless @isMasterCourseContent()\n\n      @$el.attr 'role', 'button'\n      if(!@disabled)\n        @$el.attr 'tabindex', '0'\n\n      @$el.html '<i></i><span class=\"lock-text screenreader-only\"></span>'\n      @cacheEls()\n\n      if @isLocked()\n        @renderLocked()\n      else\n        @renderUnlocked()\n\n    # when locked can...\n    renderLocked: () ->\n      @renderState\n        hint:        I18n.t 'Locked'\n        label:       @lockedText\n        buttonClass: \"#{@lockedClass} #{@disabledClass}\"\n        iconClass:   'icon-blueprint-lock'\n\n    renderWillUnlock: () ->\n      @renderState\n        hint:        I18n.t 'Unlock'\n        label:       @lockedText\n        buttonClass: \"#{@unlockedClass} #{@disabledClass}\"\n        iconClass:   'icon-blueprint'\n\n    renderUnlocking: () ->\n      @renderState\n        hint:        I18n.t 'Unlocking...'\n        buttonClass: \"#{@lockedClass} #{@disabledClass}\"\n        iconClass:   'icon-blueprint-lock'\n\n    # when unlocked can..\n    renderUnlocked: () ->\n      @renderState\n        hint:        I18n.t 'Unlocked'\n        label:       @unlockedText\n        buttonClass: \"#{@unlockedClass} #{@disabledClass}\"\n        iconClass:   'icon-blueprint'\n\n    renderWillLock: () ->\n      @renderState\n        hint:        I18n.t 'Lock'\n        label:       @unlockedText\n        buttonClass: \"#{@lockedClass} #{@disabledClass}\"\n        iconClass:   'icon-blueprint-lock'\n\n    renderLocking: () ->\n      @renderState\n        hint:        I18n.t 'Locking...'\n        buttonClass: \"#{@unlockedClass} #{@disabledClass}\"\n        iconClass:   'icon-blueprint'\n\n    renderState: (options) ->\n      @reset()\n      @$el.addClass options.buttonClass\n      if !@disabled\n        @$el.attr 'aria-pressed', options.buttonClass is @lockedClass\n      else\n        @$el.attr 'aria-disabled', true\n      @$icon.attr('class', options.iconClass)\n\n      @$text.html \"#{htmlEscape(options.label || options.hint)}\"\n\n      @$el.attr 'title', options.hint   # tooltip picks this up (and htmlEscapes it)\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/views/LockButtonView.coffee","/*\n * Copyright (C) 2017 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport I18n from 'i18n!move_positions'\n\nexport function removeFromOrder (set, item) {\n  const order = set.slice()\n  const index = order.indexOf(item)\n  if (index !== -1) {\n    order.splice(index, 1)\n  }\n  return order\n}\n\nexport function removeAllFromOrder (set, items) {\n  let order = set.slice()\n  items.forEach((item) => {\n    order = removeFromOrder(order, item)\n  })\n  return order;\n}\n\nexport const positions = {\n  first: {\n    type: 'absolute',\n    label: I18n.t('At the Top'),\n    apply: ({ items, order }) => [...items, ...removeAllFromOrder(order, items)],\n  },\n  before: {\n    type: 'relative',\n    label: I18n.t('Before..'),\n    apply: ({ order, items, relativeTo }) => {\n      const cleanedOrder = removeAllFromOrder(order, items)\n      return [\n        ...cleanedOrder.slice(0, relativeTo),\n        ...items,\n        ...cleanedOrder.slice(relativeTo),\n      ]\n    },\n  },\n  after: {\n    type: 'relative',\n    label: I18n.t('After..'),\n    apply: ({ order, items, relativeTo }) => {\n      const cleanedOrder = removeAllFromOrder(order, items)\n      return [\n        ...cleanedOrder.slice(0, relativeTo + 1),\n        ...items,\n        ...cleanedOrder.slice(relativeTo + 1),\n      ]\n    },\n  },\n  last: {\n    type: 'absolute',\n    label: I18n.t('At the Bottom'),\n    apply: ({ order, items }) => [...removeAllFromOrder(order, items), ...items]\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/jsx/move_item/positions.js","\n    define(['i18nObj', 'translations/dialog_form_wrapper', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('dialog_form_wrapper')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?dialog_form_wrapper!./public/javascripts/dummyI18nResource.js\n// module id = us6WGGNSvb\n// module chunks = 33 36 37 44 45 51 54 56 62 77 95","#\n# Copyright (C) 2013 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  'underscore'\n  '../CollectionView'\n  './NeverDropView'\n  'jst/assignments/NeverDropCollection'\n], (_, CollectionView, NeverDropView, template) ->\n\n  class NeverDropCollectionView extends CollectionView\n    itemView: NeverDropView\n\n    template: template\n\n    @optionProperty 'canChangeDropRules'\n\n    events:\n      'click .add_never_drop': 'addNeverDrop'\n\n    initialize: ->\n      # feed all events that should trigger a render\n      # through a custom event so that we only render\n      # once per batch of changes\n      @on 'should-render', _.debounce(@render, 100)\n      super\n\n    createItemView: (model) ->\n      options =\n        canChangeDropRules: @canChangeDropRules\n      new @itemView $.extend {}, (@itemViewOptions || {}), {model}, options\n\n    attachCollection: (options) ->\n      #listen to events on the collection that keeps track of what we can add\n      @collection.availableValues.on 'add', @triggerRender\n      @collection.takenValues.on 'add', @triggerRender\n      @collection.on 'add', @triggerRender\n      @collection.on 'remove', @triggerRender\n      @collection.on 'reset', @triggerRender\n\n    # define some attrs here so that we can\n    # use declarative translations in the template\n    toJSON: ->\n      data =\n        canChangeDropRules: @canChangeDropRules\n        hasAssignments: @collection.availableValues.length > 0\n        hasNeverDrops: @collection.takenValues.length > 0\n\n    triggerRender: (model, collection, options)=>\n      @trigger 'should-render'\n\n    # add a new select, and mark it for focusing\n    # when we re-render the collection\n    addNeverDrop: (e) ->\n      e.preventDefault()\n      if @canChangeDropRules\n        model =\n          label_id: @collection.ag_id\n          focus: true\n        @collection.add model\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/views/assignments/NeverDropCollectionView.coffee","/*\n * Copyright (C) 2016 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport GradingTypes from './grading-types'\nimport I18n from 'i18n!cyoe_assignment_sidebar'\nimport numberHelper from '../helpers/numberHelper'\n\n  // stack overflow suggests this implementation\nconst isNumeric = (n) => {\n  const parsed = numberHelper.parse(n)\n  return !isNaN(parsed) && isFinite(parsed)\n}\n\nconst haveGradingScheme = assignment => assignment ? !!assignment.grading_scheme : false\n\nconst getGradingType = (assignment) => {\n  const type = assignment ? assignment.grading_type : GradingTypes.percent.key\n  if ((type === GradingTypes.letter_grade.key || type === GradingTypes.gpa_scale.key) && (!haveGradingScheme(assignment))) {\n    return GradingTypes.percent.key\n  }\n  return type\n}\n\nconst percentToScore = (score, assignment) => {\n  const gradingType = getGradingType(assignment)\n  if (gradingType === GradingTypes.points.key) {\n    return percentToPoints(score, assignment)\n  } else if (gradingType === GradingTypes.letter_grade.key || gradingType === GradingTypes.gpa_scale.key) {\n    return percentToLetterGrade(score, assignment)\n  } else {\n    return percentToExternalPercent(score)\n  }\n}\n\nexport const transformScore = (score, assignment, isUpperBound) => {\n  // The backend stores nil for the upper and lowerbound scoring types\n  if (!score) {\n    if (isUpperBound) {\n      score = '1'\n    } else {\n      score = '0'\n    }\n  }\n  return formatScore(percentToScore(score, assignment), assignment)\n}\n\nconst formatScore = (score, assignment) => {\n  const gradingType = getGradingType(assignment)\n  if (gradingType === GradingTypes.points.key) {\n    return I18n.t('%{score} pts', {\n      score: I18n.n(score, { precision: 2, strip_insignificant_zeros: true })\n    })\n  } else if (gradingType === GradingTypes.letter_grade.key || gradingType === GradingTypes.gpa_scale.key) {\n    return score\n  } else {\n    return I18n.n(score, { precision: 2, percentage: true, strip_insignificant_zeros: true })\n  }\n}\n\nconst percentToPoints = (score, assignment) => {\n  if (!isNumeric(score)) { return score }\n  if (score === 0) { return '0' }\n  const percent = numberHelper.parse(score)\n  const pointsPossible = Number(assignment.points_possible) || 100\n  return parseFloat((percent * pointsPossible).toFixed(2))\n}\n\nconst percentToLetterGrade = (score, assignment) => {\n  if (score === '') { return '' }\n  const parsed = numberHelper.parse(score)\n  const letterGrade = { letter: null, score: -Infinity }\n  for (const k in assignment.grading_scheme) {\n    const v = numberHelper.parse(assignment.grading_scheme[k])\n    if ((v <= parsed && v > letterGrade.score) || (v === 0 && v > parsed)) {\n      letterGrade.score = v\n      letterGrade.letter = k\n    }\n  }\n  return letterGrade.letter ? letterGrade.letter : parsed\n}\n\nconst percentToExternalPercent = (score) => {\n  if (!isNumeric(score)) { return score }\n  return Math.floor(score * 100)\n}\n\nexport const i18nGrade = (grade, assignment) => {\n  if (typeof grade === 'string' &&\n        assignment.grading_type !== GradingTypes.letter_grade.key &&\n        assignment.grading_type !== GradingTypes.gpa_scale.key) {\n    const number = numberHelper.parse(grade.replace(/%$/, ''))\n    if (!isNaN(number)) {\n      return formatScore(number, assignment)\n    }\n  }\n  return grade\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/jsx/shared/conditional_release/score.js","\n    define(['i18nObj', 'translations/assignments.never_drop_collection', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('assignments.never_drop_collection')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?assignments.never_drop_collection!./public/javascripts/dummyI18nResource.js\n// module id = vJJDWZRy67\n// module chunks = 54","#\n# Copyright (C) 2013 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  'Backbone'\n], (Backbone) ->\n\n  class ModuleItem extends Backbone.Model\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/models/ModuleItem.coffee","#\n# Copyright (C) 2013 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  'Backbone'\n  '../models/Assignment'\n], (Backbone, Assignment) ->\n\n  class AssignmentCollection extends Backbone.Collection\n\n    model: Assignment\n\n    comparator: 'position'\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/collections/AssignmentCollection.coffee","\n    define('jst/assignments/AssignmentGroupListItem', [\"handlebars/runtime\",\"i18n!assignments.assignment_group_list_item\",\"coffeescripts/handlebars_helpers.coffee\"], function(Handlebars){\n      Handlebars = Handlebars.default\n      var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};\n      var name = 'assignments/AssignmentGroupListItem';\n      templates[name] = template(function (Handlebars,depth0,helpers,partials,data) {\n  this.compilerInfo = [4,'>= 1.0.0'];\nhelpers = this.merge(helpers, Handlebars.helpers); data = data || {};\n  var buffer = \"\", stack1, helper, options, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, functionType=\"function\", self=this;\n\nfunction program1(depth0,data) {\n  \n  \n  return \"\\n      <span class=\\\"sortable-handle\\\">\\n        <i class=\\\"icon-drag-handle\\\" aria-hidden=\\\"true\\\"></i>\\n      </span>\\n    \";\n  }\n\nfunction program3(depth0,data) {\n  \n  var buffer = \"\", stack1, helper;\n  buffer += \"\\n      <h3 class=\\\"ig-header-title\\\">\\n        <a\\n        class=\\\"element_toggler accessible-toggler\\\"\\n        aria-controls=\\\"assignment_group_\";\n  if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_assignments\\\"\\n        aria-expanded=\\\"true\\\"\\n        aria-label=\\\"\";\n  if (helper = helpers.name) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.name); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \" \";\n  if (helper = helpers.toggleMessage) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.toggleMessage); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\"\\n        tabindex=\\\"0\\\"\\n        href=\\\"#\\\"\\n        role=\\\"button\\\"\\n        >\\n          <i class=\\\"icon-mini-arrow-down\\\"></i>\\n          \";\n  if (helper = helpers.name) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.name); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\n        </a>\\n        \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.hasIntegrationData), {hash:{},inverse:self.noop,fn:self.program(4, program4, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n      </h3>\\n    \";\n  return buffer;\n  }\nfunction program4(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n          <i class=\\\"icon-sis-imported\\\" aria-hidden=\\\"true\\\" title='\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'postToSISName': ((depth0 && depth0.postToSISName)),\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"imported_from_posttosisname_f7cc9258\", \"Imported from %{postToSISName}\", options) : helperMissing.call(depth0, \"t\", \"imported_from_posttosisname_f7cc9258\", \"Imported from %{postToSISName}\", options)))\n    + \"'></i>\\n          <span class=\\\"screenreader-only\\\">\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'postToSISName': ((depth0 && depth0.postToSISName)),\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"imported_from_posttosisname_f7cc9258\", \"Imported from %{postToSISName}\", options) : helperMissing.call(depth0, \"t\", \"imported_from_posttosisname_f7cc9258\", \"Imported from %{postToSISName}\", options)))\n    + \"</span>\\n        \";\n  return buffer;\n  }\n\nfunction program6(depth0,data) {\n  \n  var buffer = \"\", stack1, helper;\n  buffer += \"\\n      <h2 class=\\\"ig-header-title\\\">\\n        <a\\n        class=\\\"element_toggler accessible-toggler\\\"\\n        aria-controls=\\\"assignment_group_\";\n  if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_assignments\\\"\\n        aria-expanded=\\\"true\\\"\\n        aria-label=\\\"\";\n  if (helper = helpers.name) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.name); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \" \";\n  if (helper = helpers.toggleMessage) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.toggleMessage); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\"\\n        tabindex=\\\"0\\\"\\n        href=\\\"#\\\"\\n        role=\\\"button\\\"\\n        >\\n          <i class=\\\"icon-mini-arrow-down\\\" aria-hidden=\\\"true\\\"></i>\\n          \";\n  if (helper = helpers.name) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.name); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\n        </a>\\n        \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.hasIntegrationData), {hash:{},inverse:self.noop,fn:self.program(4, program4, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n      </h2>\\n    \";\n  return buffer;\n  }\n\nfunction program8(depth0,data) {\n  \n  var buffer = \"\", stack1;\n  buffer += \"\\n        <ul class=\\\"pill\\\">\\n          \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.showWeight), {hash:{},inverse:self.noop,fn:self.program(9, program9, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n          \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.showRules), {hash:{},inverse:self.noop,fn:self.program(11, program11, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n        </ul>\\n      \";\n  return buffer;\n  }\nfunction program9(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n            <li>\";\n  stack1 = (helper = helpers.n || (depth0 && depth0.n),options={hash:{\n    'percentage': (true)\n  },data:data},helper ? helper.call(depth0, (depth0 && depth0.groupWeight), options) : helperMissing.call(depth0, \"n\", (depth0 && depth0.groupWeight), options));\n  buffer += escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'n_groupWeight_percentage': (stack1),\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"n_groupweight_percentage_of_total_2ae4d996\", \"%{n_groupWeight_percentage} of Total\", options) : helperMissing.call(depth0, \"t\", \"n_groupweight_percentage_of_total_2ae4d996\", \"%{n_groupWeight_percentage} of Total\", options)))\n    + \"</li>\\n          \";\n  return buffer;\n  }\n\nfunction program11(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n            <li>\\n              <a\\n                href='#'\\n                title='\";\n  stack1 = (helper = helpers.toSentence || (depth0 && depth0.toSentence),options={hash:{},inverse:self.noop,fn:self.program(12, program12, data),data:data},helper ? helper.call(depth0, (depth0 && depth0.displayableRules), options) : helperMissing.call(depth0, \"toSentence\", (depth0 && depth0.displayableRules), options));\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"'\\n                class=\\\"tooltip_link\\\"\\n                data-tooltip-selector=\\\"#ag_\";\n  if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_rules_tooltip\\\"\\n              >\";\n  if (helper = helpers.rulesText) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.rulesText); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"<i class=\\\"icon-mini-arrow-down\\\"></i></a>\\n              <div id=\\\"ag_\";\n  if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_rules_tooltip\\\" style=\\\"display:none;\\\">\\n                \";\n  stack1 = helpers.each.call(depth0, (depth0 && depth0.displayableRules), {hash:{},inverse:self.noop,fn:self.program(14, program14, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n              </div>\\n            </li>\\n          \";\n  return buffer;\n  }\nfunction program12(depth0,data) {\n  \n  \n  return escapeExpression((typeof depth0 === functionType ? depth0.apply(depth0) : depth0));\n  }\n\nfunction program14(depth0,data) {\n  \n  var buffer = \"\";\n  buffer += \"\\n                  <span>\"\n    + escapeExpression((typeof depth0 === functionType ? depth0.apply(depth0) : depth0))\n    + \"</span><br/>\\n                \";\n  return buffer;\n  }\n\nfunction program16(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n        <a\\n          href=\\\"#\\\"\\n          class=\\\"btn add_assignment\\\"\\n          title='\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'name': ((depth0 && depth0.name)),\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"add_assignment_to_name_caf173b0\", \"Add Assignment to %{name}\", options) : helperMissing.call(depth0, \"t\", \"add_assignment_to_name_caf173b0\", \"Add Assignment to %{name}\", options)))\n    + \"'\\n        >\\n          \\n          <span class=\\\"screenreader-only\\\">\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'name': ((depth0 && depth0.name)),\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"add_assignment_to_name_caf173b0\", \"Add Assignment to %{name}\", options) : helperMissing.call(depth0, \"t\", \"add_assignment_to_name_caf173b0\", \"Add Assignment to %{name}\", options)))\n    + \"</span>\\n          <i class=\\\"icon-plus\\\"></i>\\n        </a>\\n\\n        <div class=\\\"inline-block\\\">\\n          <a id=\\\"ag_\";\n  if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_manage_link\\\" class=\\\"al-trigger btn\\\" href=\\\"#\\\" tabindex=\\\"0\\\" role=\\\"button\\\">\\n            <span class=\\\"screenreader-only\\\">\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'name': ((depth0 && depth0.name)),\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"manage_name_7f55f792\", \"Manage %{name}\", options) : helperMissing.call(depth0, \"t\", \"manage_name_7f55f792\", \"Manage %{name}\", options)))\n    + \"</span>\\n            <i class=\\\"icon-more\\\" aria-hidden=\\\"true\\\"></i>\\n          </a>\\n          <ul class=\\\"al-options\\\">\\n            <li>\\n              <a\\n                class=\\\"edit_group icon-edit\\\"\\n                aria-label=\\\"\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"edit_assignment_group_c04c4af0\", \"Edit Assignment Group\", options) : helperMissing.call(depth0, \"t\", \"edit_assignment_group_c04c4af0\", \"Edit Assignment Group\", options)))\n    + \"\\\"\\n                data-focus-returns-to=\\\"ag_\";\n  if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_manage_link\\\"\\n              >\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"edit_c5fbea07\", \"Edit\", options) : helperMissing.call(depth0, \"t\", \"edit_c5fbea07\", \"Edit\", options)))\n    + \"</a>\\n            </li>\\n            \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.canDelete), {hash:{},inverse:self.program(19, program19, data),fn:self.program(17, program17, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n            \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.canMove), {hash:{},inverse:self.noop,fn:self.program(21, program21, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n          </ul>\\n        </div>\\n      \";\n  return buffer;\n  }\nfunction program17(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n            <li>\\n              <a\\n                class=\\\"delete_group icon-trash\\\"\\n                aria-label='\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"delete_assignment_group_7c3b01c4\", \"Delete Assignment Group\", options) : helperMissing.call(depth0, \"t\", \"delete_assignment_group_7c3b01c4\", \"Delete Assignment Group\", options)))\n    + \"'\\n                data-focus-returns-to=\\\"ag_\";\n  if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_manage_link\\\"\\n              >\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"delete_a6efa79d\", \"Delete\", options) : helperMissing.call(depth0, \"t\", \"delete_a6efa79d\", \"Delete\", options)))\n    + \"</a>\\n            </li>\\n            \";\n  return buffer;\n  }\n\nfunction program19(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n            <li>\\n              <a\\n                class=\\\"delete_group icon-trash disabled\\\"\\n                aria-label='\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"delete_assignment_group_7c3b01c4\", \"Delete Assignment Group\", options) : helperMissing.call(depth0, \"t\", \"delete_assignment_group_7c3b01c4\", \"Delete Assignment Group\", options)))\n    + \"'\\n                aria-disabled=true\\n              >\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"delete_a6efa79d\", \"Delete\", options) : helperMissing.call(depth0, \"t\", \"delete_a6efa79d\", \"Delete\", options)))\n    + \"</a>\\n            </li>\\n            \";\n  return buffer;\n  }\n\nfunction program21(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n            <li>\\n              <a\\n                class=\\\"move_contents icon-move-down\\\"\\n                aria-label='\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"move_assignment_contents_245c61bb\", \"Move Assignment Contents\", options) : helperMissing.call(depth0, \"t\", \"move_assignment_contents_245c61bb\", \"Move Assignment Contents\", options)))\n    + \"'\\n                data-focus-returns-to=\\\"ag_\";\n  if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_manage_link\\\"\\n              >\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"move_contents_29713356\", \"Move Contents…\", options) : helperMissing.call(depth0, \"t\", \"move_contents_29713356\", \"Move Contents…\", options)))\n    + \"</a>\\n            </li>\\n            <li>\\n              <a\\n                class=\\\"move_group icon-updown\\\"\\n                aria-label='\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"move_assignment_group_46e09fc3\", \"Move Assignment Group\", options) : helperMissing.call(depth0, \"t\", \"move_assignment_group_46e09fc3\", \"Move Assignment Group\", options)))\n    + \"'\\n                data-focus-returns-to=\\\"ag_\";\n  if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_manage_link\\\"\\n              >\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"move_group_77ae285d\", \"Move Group…\", options) : helperMissing.call(depth0, \"t\", \"move_group_77ae285d\", \"Move Group…\", options)))\n    + \"</a>\\n            </li>\\n            \";\n  return buffer;\n  }\n\nfunction program23(depth0,data) {\n  \n  \n  return \"\\n    <form data-view=\\\"createAssignment\\\" class=\\\"form-dialog\\\"></form>\\n    <form data-view=\\\"editAssignmentGroup\\\" class=\\\"form-dialog\\\"></form>\\n    <form data-view=\\\"deleteAssignmentGroup\\\" class=\\\"form-dialog\\\"></form>\\n  \";\n  }\n\n  buffer += \"<div id=\\\"assignment_group_\";\n  if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\" data-id=\\\"\";\n  if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\" class=\\\"assignment_group\\\">\\n\\n  <div class=\\\"ig-header\\\" style=\\\"position:relative;\\\">\\n    \";\n  stack1 = helpers['if'].call(depth0, ((stack1 = ((stack1 = (depth0 && depth0.ENV)),stack1 == null || stack1 === false ? stack1 : stack1.PERMISSIONS)),stack1 == null || stack1 === false ? stack1 : stack1.manage), {hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n    \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.course_home), {hash:{},inverse:self.program(6, program6, data),fn:self.program(3, program3, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n\\n    <div class=\\\"ag-header-controls\\\">\\n      \";\n  stack1 = (helper = helpers.ifAny || (depth0 && depth0.ifAny),options={hash:{},inverse:self.noop,fn:self.program(8, program8, data),data:data},helper ? helper.call(depth0, (depth0 && depth0.showWeight), (depth0 && depth0.showRules), options) : helperMissing.call(depth0, \"ifAny\", (depth0 && depth0.showWeight), (depth0 && depth0.showRules), options));\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n\\n      \";\n  stack1 = helpers['if'].call(depth0, ((stack1 = ((stack1 = (depth0 && depth0.ENV)),stack1 == null || stack1 === false ? stack1 : stack1.PERMISSIONS)),stack1 == null || stack1 === false ? stack1 : stack1.manage), {hash:{},inverse:self.noop,fn:self.program(16, program16, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n    </div>\\n\\n\\n  </div>\\n\\n  <div id=\\\"assignment_group_\";\n  if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_assignments\\\" class=\\\"assignment-list\\\" >\\n    <ul class=\\\"collectionViewItems ig-list draggable\\\"></ul>\\n  </div>\\n\\n  \";\n  stack1 = helpers['if'].call(depth0, ((stack1 = ((stack1 = (depth0 && depth0.ENV)),stack1 == null || stack1 === false ? stack1 : stack1.PERMISSIONS)),stack1 == null || stack1 === false ? stack1 : stack1.manage), {hash:{},inverse:self.noop,fn:self.program(23, program23, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n</div>\\n\";\n  return buffer;\n  });\n      ;\n      ;\n      return templates[name];\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./app/views/jst/assignments/AssignmentGroupListItem.handlebars\n// module id = w1GJuOVNLo\n// module chunks = 54","#\n# Copyright (C) 2013 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  '../collections/PaginatedCollection'\n  '../models/ModuleItem'\n], (PaginatedCollection, ModuleItem) ->\n\n  class ModuleItemCollection extends PaginatedCollection\n    model: ModuleItem\n\n    @optionProperty 'course_id'\n    @optionProperty 'module_id'\n\n    url: -> \"/api/v1/courses/#{@course_id}/modules/#{@module_id}/items\"\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/collections/ModuleItemCollection.coffee","/*\n * Copyright (C) 2012 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport $ from 'jquery'\nimport 'compiled/jquery/serializeForm'\n\n  var patterns = {\n    validate: /^[a-zA-Z][a-zA-Z0-9_-]*(?:\\[(?:\\d*|[a-zA-Z0-9_-]+)\\])*$/,\n    key:    /[a-zA-Z0-9_-]+|(?=\\[\\])/g,\n    push:   /^$/,\n    fixed:  /^\\d+$/,\n    named:  /^[a-zA-Z0-9_-]+$/\n  };\n\n  var build = function(base, key, value){\n    base[key] = value;\n    return base;\n  };\n\n  $.fn.toJSON = function() {\n\n    var json = {},\n        push_counters = {};\n\n    var push_counter = function(key, i){\n      if(push_counters[key] === undefined){\n        push_counters[key] = 0;\n      }\n      if(i === undefined){\n        return push_counters[key]++;\n      }\n      else if(i !== undefined && i > push_counters[key]){\n        return push_counters[key] = ++i;\n      }\n    };\n\n    $.each($(this).serializeForm(), function(){\n\n      // skip invalid keys\n      if(!patterns.validate.test(this.name)){\n        return;\n      }\n\n      var k,\n        keys = this.name.match(patterns.key),\n        merge = this.value,\n        reverse_key = this.name;\n\n      while((k = keys.pop()) !== undefined){\n\n        // adjust reverse_key\n        reverse_key = reverse_key.replace(new RegExp(\"\\\\[\" + k + \"\\\\]$\"), '');\n\n        // push\n        if(k.match(patterns.push)){\n          merge = build([], push_counter(reverse_key), merge);\n        }\n\n        // fixed\n        else if(k.match(patterns.fixed)){\n          push_counter(reverse_key, k);\n          merge = build([], k, merge);\n        }\n\n        // named\n        else if(k.match(patterns.named)){\n          merge = build({}, k, merge);\n        }\n      }\n\n      json = $.extend(true, json, merge);\n    });\n\n    return json;\n  };\n\n\n\n// WEBPACK FOOTER //\n// ./public/javascripts/jquery.toJSON.js","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"add_an_assignment_fb73942e\":\"إضافة مهمة\",\"add_another_assignment_fc5c908f\":\"إضافة مهمة أخرى\"},\"cy\":{\"add_an_assignment_fb73942e\":\"Ychwanegu aseiniad\",\"add_another_assignment_fc5c908f\":\"Ychwanegu aseiniad arall\"},\"da\":{\"add_an_assignment_fb73942e\":\"Tilføj en opgave\",\"add_another_assignment_fc5c908f\":\"Tilføj en anden opgave\"},\"da-x-k12\":{\"add_an_assignment_fb73942e\":\"Tilføj en opgave\",\"add_another_assignment_fc5c908f\":\"Tilføj en anden opgave\"},\"de\":{\"add_an_assignment_fb73942e\":\"Eine Aufgabe hinzufügen\",\"add_another_assignment_fc5c908f\":\"Eine weitere Aufgabe hinzufügen\"},\"el\":{\"add_an_assignment_fb73942e\":\"Προσθέστε μια εργασία\",\"add_another_assignment_fc5c908f\":\"Προσθέστε άλλη μια εργασία\"},\"en-AU\":{\"add_an_assignment_fb73942e\":\"Add an assignment\",\"add_another_assignment_fc5c908f\":\"Add another assignment\"},\"en-CA\":{\"add_an_assignment_fb73942e\":\"Add an assignment\",\"add_another_assignment_fc5c908f\":\"Add another assignment\"},\"en-GB\":{\"add_an_assignment_fb73942e\":\"Add an assignment\",\"add_another_assignment_fc5c908f\":\"Add another assignment\"},\"en-GB-x-lbs\":{\"add_an_assignment_fb73942e\":\"Add a task\",\"add_another_assignment_fc5c908f\":\"Add another task\"},\"en-GB-x-ukhe\":{\"add_an_assignment_fb73942e\":\"Add an assignment\",\"add_another_assignment_fc5c908f\":\"Add another assignment\"},\"es\":{\"add_an_assignment_fb73942e\":\"Agregar una tarea\",\"add_another_assignment_fc5c908f\":\"Agregar otra tarea\"},\"fa\":{\"add_an_assignment_fb73942e\":\"افزودن تکلیف\",\"add_another_assignment_fc5c908f\":\"افزودن تکلیف دیگر\"},\"fr\":{\"add_an_assignment_fb73942e\":\"Ajouter un travail\",\"add_another_assignment_fc5c908f\":\"Ajouter un autre travail\"},\"fr-CA\":{\"add_an_assignment_fb73942e\":\"Ajouter une tâche\",\"add_another_assignment_fc5c908f\":\"Ajouter un autre tâche\"},\"he\":{\"add_an_assignment_fb73942e\":\"הוספת מטלה\",\"add_another_assignment_fc5c908f\":\"הוספת מטלה נוספת\"},\"ht\":{\"add_an_assignment_fb73942e\":\"Ajoute yon sesyon\",\"add_another_assignment_fc5c908f\":\"Ajoute yon lòt sesyon\"},\"hu\":{\"add_an_assignment_fb73942e\":\"Feladat hozzáadása\",\"add_another_assignment_fc5c908f\":\"További feladat hozzáadása\"},\"is\":{\"add_an_assignment_fb73942e\":\"Bæta við verkefni\",\"add_another_assignment_fc5c908f\":\"Bæta við öðru verkefni\"},\"it\":{\"add_an_assignment_fb73942e\":\"Aggiungi un compito\",\"add_another_assignment_fc5c908f\":\"Aggiungi un altro compito\"},\"ja\":{\"add_an_assignment_fb73942e\":\"課題の追加\",\"add_another_assignment_fc5c908f\":\"別の課題の追加\"},\"mi\":{\"add_an_assignment_fb73942e\":\"Tāpiri i tētahi whakataunga\",\"add_another_assignment_fc5c908f\":\"Tāpiri tētahi atu whakataunga\"},\"nb\":{\"add_an_assignment_fb73942e\":\"Legg til oppgave\",\"add_another_assignment_fc5c908f\":\"Legg til ny oppgave\"},\"nb-x-k12\":{\"add_an_assignment_fb73942e\":\"Legg til oppgave\",\"add_another_assignment_fc5c908f\":\"Legg til ny oppgave\"},\"nl\":{\"add_an_assignment_fb73942e\":\"Een opdracht toevoegen\",\"add_another_assignment_fc5c908f\":\"Een andere opdracht toevoegen\"},\"nn\":{\"add_an_assignment_fb73942e\":\"Legg til ei oppgåve\",\"add_another_assignment_fc5c908f\":\"Legg til ei ny oppgåve\"},\"pl\":{\"add_an_assignment_fb73942e\":\"Dodaj zadanie\",\"add_another_assignment_fc5c908f\":\"Dodaj kolejne zadanie\"},\"pt\":{\"add_an_assignment_fb73942e\":\"Adicionar uma tarefa\",\"add_another_assignment_fc5c908f\":\"Adicionar outra tarefa\"},\"pt-BR\":{\"add_an_assignment_fb73942e\":\"Adicionar uma tarefa\",\"add_another_assignment_fc5c908f\":\"Adicionar outro teste\"},\"ru\":{\"add_an_assignment_fb73942e\":\"Добавить задание\",\"add_another_assignment_fc5c908f\":\"Добавить другое задание\"},\"sl\":{\"add_an_assignment_fb73942e\":\"Dodaj nalogo\",\"add_another_assignment_fc5c908f\":\"Dodaj drugo nalogo\"},\"sv\":{\"add_an_assignment_fb73942e\":\"Lägg till en uppgift\",\"add_another_assignment_fc5c908f\":\"Lägg till en annan uppgift\"},\"sv-x-k12\":{\"add_an_assignment_fb73942e\":\"Lägg till en uppgift\",\"add_another_assignment_fc5c908f\":\"Lägg till en annan uppgift\"},\"tr\":{\"add_an_assignment_fb73942e\":\"Ödev ekle\",\"add_another_assignment_fc5c908f\":\"Başka ödev ekle\"},\"uk\":{\"add_an_assignment_fb73942e\":\"Додати завдання\",\"add_another_assignment_fc5c908f\":\"Додати інше завдання\"},\"zh-Hans\":{\"add_an_assignment_fb73942e\":\"添加作业\",\"add_another_assignment_fc5c908f\":\"添加另一个作业\"},\"zh-Hant\":{\"add_an_assignment_fb73942e\":\"新增任務\",\"add_another_assignment_fc5c908f\":\"新增另一項任務\"}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/assignments.never_drop_collection.js\n// module id = xky9aTw8FG\n// module chunks = 54","\n    define(['i18nObj', 'translations/move_positions', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('move_positions')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?move_positions!./public/javascripts/dummyI18nResource.js\n// module id = xui9hESj6Q\n// module chunks = 32 36 51 54 58 59 67","\n    define('jst/assignments/AssignmentGroupWeights', [\"handlebars/runtime\",\"i18n!assignments.assignment_group_weights\",\"coffeescripts/handlebars_helpers.coffee\"], function(Handlebars){\n      Handlebars = Handlebars.default\n      var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};\n      var name = 'assignments/AssignmentGroupWeights';\n      templates[name] = template(function (Handlebars,depth0,helpers,partials,data) {\n  this.compilerInfo = [4,'>= 1.0.0'];\nhelpers = this.merge(helpers, Handlebars.helpers); data = data || {};\n  var buffer = \"\", stack1, helper, options, functionType=\"function\", escapeExpression=this.escapeExpression, helperMissing=helpers.helperMissing, self=this;\n\nfunction program1(depth0,data) {\n  \n  \n  return \"readonly\";\n  }\n\n  buffer += \"<th scope=\\\"row\\\">\";\n  if (helper = helpers.name) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.name); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"</th>\\n\\n<td class=\\\"right-align\\\">\\n  <div class=\\\"input-append\\\">\\n    <input\\n      aria-label='\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'i18n_inferred_key': (true)\n  },data:data},helper ? helper.call(depth0, \"group_weight_for_d46c5db4\", \"Group weight for:\", options) : helperMissing.call(depth0, \"t\", \"group_weight_for_d46c5db4\", \"Group weight for:\", options)))\n    + \" \";\n  if (helper = helpers.name) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.name); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"'\\n      type=\\\"text\\\"\\n      class=\\\"span1 group_weight_value\\\"\\n      value=\\\"\"\n    + escapeExpression((helper = helpers.n || (depth0 && depth0.n),options={hash:{},data:data},helper ? helper.call(depth0, (depth0 && depth0.group_weight), options) : helperMissing.call(depth0, \"n\", (depth0 && depth0.group_weight), options)))\n    + \"\\\"\\n      name=\\\"\";\n  if (helper = helpers.name) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.name); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"_group_weight\\\"\\n      \";\n  stack1 = helpers.unless.call(depth0, (depth0 && depth0.canChangeWeights), {hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \" />\\n    <span class=\\\"add-on\\\">%</span>\\n  </div>\\n</td>\\n\";\n  return buffer;\n  });\n      ;\n      ;\n      return templates[name];\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./app/views/jst/assignments/AssignmentGroupWeights.handlebars\n// module id = xxRiYekzE5\n// module chunks = 54","\n    define(['i18nObj', 'translations/ajaxflashalert', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('ajaxflashalert')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?ajaxflashalert!./public/javascripts/dummyI18nResource.js\n// module id = y0j+E0e8KE\n// module chunks = 0 27 28 29 30 31 32 36 38 39 42 43 45 49 51 52 54 57 58 59 60 64 66 67 69 78 79 81 84 103 107","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport I18n from 'i18nObj'\nimport $ from 'jquery'\n  $.extend(true, I18n, {translations: {\"ar\":{\"a_name_is_required_b5df38a9\":\"الاسم مطلوب\",\"add_8523c19b\":\"إضافة\",\"add_new_set_of_due_dates_e8e240f\":\"إضافة مجموعة جديدة من تواريخ الاستحقاق\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"إضافة الطلاب من خلال البحث بالاسم أو قسم المساق أو المجموعة. بعد إدخال النص، تنقل بين النتائج باستخدام مفتاح السهم لأسفل. حدد النتائج باستخدام مفتاح Enter.\",\"after_the_assignment_is_graded_53754607\":\"بعد منح علامة للمهمة\",\"after_the_due_date_eee89c9c\":\"بعد تاريخ الاستحقاق\",\"allow_moderator_to_review_multiple_independent_gra_c59d64f6\":\"السماح للمشرف بمراجعة درجات مستقلة متعددة لإرسالات محددة\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"هل تريد الإلغاء بالفعل؟ قد لا يتم حفظ التغييرات التي أجريتها.\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"هل ترغب بالتأكيد في حذف هذه المهمة؟\",\"assign_to_c46e21\":\"تعيين إلى\",\"assignment_group_1a781505\":\"مجموعة المهمة\",\"assignment_group_was_saved_successfully_5caa27d3\":\"تم حفظ مجموعة المهام بنجاح\",\"assignment_was_deleted_8320d26d\":\"تم حذف المهمة\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"إرسال المهمة\"},\"cannot_delete_group\":\"يجب أن يكون لديك مجموعة مهام واحدة على الأقل\",\"complete\":\"مكتمل\",\"confirm_delete_group\":\"هل ترغب بالتأكيد في حذف مجموعة المهام هذه؟\",\"drop_highest_rule\":{\"one\":\"نقطة\",\"other\":\"إسقاط أعلى %{count} نقاط\"},\"drop_lowest_rule\":{\"one\":\"نقطة\",\"other\":\"إسقاط أقل %{count} نقاط\"},\"everyone_else\":\"أي شخص آخر\",\"file_retrieval_error\":\"فشل استرداد الملف\",\"getting_file\":\"جارٍ استرداد الملف...\",\"grade_gpa_scale_screenreader\":\"الدرجة: %{grade}\",\"grade_letter_grade_screenreader\":\"الدرجة: %{grade}\",\"grade_pass_fail_screenreader\":\"الدرجة: %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"الدرجة: %{grade}%\",\"incomplete\":\"غير مكتمل\",\"invalid_file_retrieval\":\"حدثت مشكلة أثناء استرداد الملف المرسل من هذه الأداة.\",\"keyboard_add_item\":\"إضافة مهمة لمجموعة مختارة\",\"keyboard_close_menu\":\"إغلاق الحوار النشط\",\"keyboard_del_item\":\"حذف المهمة أو المجموعة الحالية\",\"keyboard_edit_item\":\"تحرير المهمة أو المجموعة الحالية\",\"keyboard_next_item\":\"التركيز على المهمة أو المجموعة التالية\",\"keyboard_prev_item\":\"التركيز على المهمة أو المجموعة السابقة\",\"keyboard_show_assign\":\"عرض المعاينة الكاملة للمهمة المختارة\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"يجب أن توافق على التعهد بالإرسال قبل أن تتمكن من إرسال هذه المهمة.\",\"not_submitted_yet\":\"لم تنته من إرسال المهمة الخاصة بك.  إنك ما زلت بحاجة إلى النقر فوق \\\"إرسال\\\" لإنهاء إرسالها.  هل ترغب في ترك هذه الصفحة على أية حال؟\",\"now_overdue\":\"هذه المهمة متأخرة الآن.  سيتم وضع علامة أمام أي إرسال جديد كمتأخر.  المتابعة على أية حال؟\",\"overdue\":\"هذه المهمة متأخرة.  هل ما زلت تودّ إرسالها؟\",\"record_before_submitting\":\"تسجيل قبل الإرسال\",\"submit_failed\":\"فشل الإرسال، الرجاء المحاولة مرة أخرى\",\"submitting\":\"جارٍ الإرسال...\"},\"name_is_required\":\"الاسم مطلوب!\",\"never_drop_rule\":\"عدم إسقاط %{assignment_name} مطلقًا\",\"no_tools_found\":\"لم يتم العثور على أدوات\",\"overdue_assignments\":\"مهام متأخرة\",\"past_assignments\":\"مهام سابقة\",\"points_possible_number\":\"النقاط الممكنة لابد أن تكون رقمًا\",\"processing_submission\":\"Canvas يقوم الآن بمعالجة إرسالك. يمكنك الخروج من هذه الصفحة بأمان وسنرسل إليك رسالة عبر البريد الإلكتروني إذا لم تتم معالجة الإرسال.\",\"remove_never_drop_rule\":\"إزالة قاعدة عدم الإسقاط\",\"remove_unsaved_never_drop_rule\":\"إزالة قاعدة عدم الإسقاط غير المحفوظة\",\"rules_text\":{\"one\":\"قاعدة واحدة\",\"other\":\"%{count} من القواعد\"},\"titles\":{\"add_assignment_group\":\"إضافة مجموعة المهام\",\"uploading\":\"تحميل الإرسال\"},\"toggle_message\":\"تبديل رؤية المهام\",\"undated_assignments\":\"مهام غير مؤرخة\",\"upcoming_assignments\":\"مهام قادمة\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"يجب أن يكون حجم الملفات المرفقة أكبر من 0 بايت.\",\"available_from_f84e4611\":\"متوفر بدءًا من\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} الرجاء التأكد من أن %{name} لديه تاريخ استحقاق.\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} الرجاء التأكد من أن %{name} لديه تاريخ استحقاق وأن الاسم ليس طويلاً جدًا.\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} الرجاء التأكد من أن اسم %{name} ليس طويلاً جدًا.\",\"button\":{\"submit_assignment\":\"إرسال المهمة\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"لا يمكن إلغاء نشر %{name} في حال وجود عمليات إرسال لطالب\",\"changes_you_made_may_not_be_saved_4e8db973\":\"قد لا يتم حفظ التغييرات التي أجريتها.\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"استمر في الكتابة للعثور على المزيد من الأقسام الإضافية أو الطلاب\",\"count_assignments_found_17520826\":{\"one\":\"تم العثور على مهمة واحدة.\",\"other\":\"تم العثور على %{count} مهمة/مهام.\",\"zero\":\"لم يتم العثور على مهام متطابقة.\"},\"course_section_7a988066\":\"قسم المساق\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"معيَّن حاليًا إلى %{tokenName}، انقر للإزالة\",\"delete_assignment_group_7c3b01c4\":\"حذف مجموعة المهام\",\"disabling_sync_to_name_failed_e7521ebb\":\"فشل تعطيل المزامنة إلى %{name} \",\"due_a73610f6\":\"الاستحقاق\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"لا يمكن أن يكون تاريخ الاستحقاق بعد تاريخ التأمين\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"لا يمكن أن يكون تاريخ الاستحقاق قبل تاريخ إلغاء التأمين\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"يقع تاريخ الاستحقاق في فترة مغلقة لمنح العلامات\",\"due_date_set_1c6364db\":\"تعيين تاريخ الاستحقاق\",\"edit_assignment_ebf22a72\":\"تحرير المهمة\",\"errors\":{\"no_attached_file\":\"يجب أن ترفق ملفًا واحدًا على الأقل بهذا التعيين\",\"wrong_file_extension\":\"الملف الذي حددته بالامتداد \\\"%{extension}\\\"، غير معتمد للإرسال\"},\"everyone_854554dd\":\"الجميع\",\"everyone_else_6c6dc7b6\":\"أي شخص آخر\",\"file_tree_collapsed_d4b0ae96\":\"تم طي شجرة الملف\",\"file_tree_expanded_a1d20c4a\":\"تم توسيع شجرة الملف\",\"final_grader_can_view_other_grader_names_67736530\":\"يمكن للمقيّم النهائي عرض أسماء المقيّمين الآخرين\",\"grader_that_determines_final_grade_cc55f20\":\"القائم بالتقييم الذي يحدد الدرجة النهائية\",\"graders_can_view_each_other_s_comments_d836b848\":\"يمكن للمقيّمين عرض تعليقات بعضهم البعض\",\"group_a8f5ed9c\":\"المجموعة\",\"immediately_c128ede6\":\"فورًا\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"تذكر أن هذا الإرسال يخص كل شخص في مجموعة %{groupType} الخاصة بك.\",\"loading_25990131\":\"جارٍ التحميل...\",\"mastery_paths_cc4096c2\":\"مسارات الإتقان\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"لا يمكن تمكين التقييم الموجود تحت الإشراف لمهام المجموعات\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"لا يمكن تمكين التقييم الموجود تحت الإشراف لمهام المراجعات النظيرة\",\"moderated_grading_e6127f72\":\"تقييم الدرجات تحت الإشراف\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"لا يمكن تمكين إعدادات التقييم الموجود تحت الإشراف في حال وجود عمليات إرسال تم تقييم درجاتها\",\"move_assignment_6f890f64\":\"نقل المهمة\",\"move_contents_into_f3e4fd9d\":\"نقل المحتويات إلى\",\"move_group_3dd7f76e\":\"نقل المجموعة\",\"must_be_a_valid_number_59f0069\":\"يجب أن يكون رقمًا صالحًا\",\"must_have_at_least_1_grader_d4a54e85\":\"يجب أن يوجد 1 قائم بالتقييم على الأقل\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} مؤمّن. انقر لإلغاء التأمين\",\"name_is_too_long_48daa8db\":\"الاسم طويل للغاية\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"الاسم طويل للغاية، يجب أن يكون أقل من %{length} حرف\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name} غير مؤمَّن. انقر للتأمين.\",\"never_df100b49\":\"أبدًا\",\"no_results_found_58717065\":\"لم يتم العثور على نتائج\",\"number_of_graders_cde8dd54\":\"عدد القائمين بالتقييم\",\"remove_empty_attachment_b2aea632\":\"إزالة المرفق الفارغ\",\"remove_filename_87f3781e\":\"إزالة %{filename}\",\"remove_these_dates_48453a81\":\"إزالة هذه التواريخ\",\"searching_b0207e7f\":\"يتم الآن البحث\",\"select_grader_782af48\":\"تحديد القائم بالتقييم\",\"selected_filename_7552a8c0\":\"تم التحديد %{filename}\",\"show_by_709f525b\":\"إظهار حسب\",\"show_by_date_e3967761\":\"إظهار حسب التاريخ\",\"show_by_type_c5d61732\":\"إظهار حسب النوع\",\"student_5da6bfd1\":\"الطالب\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"تم تعطيل المزامنة إلى %{name}. انقر للتبديل.\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"تم تمكين المزامنة إلى %{name}. انقر للتبديل.\",\"sync_to_name_successfully_disabled_8045ad95\":\"تم تعطيل المزامنة إلى %{name} بنجاح.\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"لن يتزامن تقييم هذه المهمة مع نظام معلومات الطالب.\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"سيتزامن تقييم هذه المهمة مع نظام معلومات الطالب.\",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"أرجعت الأداة التي تم تشغيلها موردًا غير صالح لهذه المهمة\",\"there_are_currently_maxgradercount_available_grade_9ab81123\":\"يوجد حاليًا عدد %{maxGraderCount} من القائمين بالتقييم المتاحين\",\"there_is_currently_1_available_grader_758e4a21\":\"يوجد حاليًا عدد 1 مقيّم متاح\",\"until_4a1f8cda\":\"حتى\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"استخدم هذه القائمة لإزالة الطلاب المعينين. أضف طلابًا جددًا من خلال مربع تحرير وسرد بعد القائمة.\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"لا يمكن استخدام عدد أكبر من عدد المهام\",\"you_must_use_a_number_912ce4bd\":\"يجب استخدام رقم\",\"you_must_use_a_positive_number_203b86fe\":\"يجب استخدام عدد موجب\"},\"cy\":{\"a_name_is_required_b5df38a9\":\"Mae’n rhaid rhoi enw\",\"add_8523c19b\":\"Ychwanegu\",\"add_new_set_of_due_dates_e8e240f\":\"Ychwanegu set newydd o ddyddiadau erbyn\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"Ychwanegu myfyrwyr drwy chwilio yn ôl enw, grŵp neu adran cwrs. Ar ôl rhoi’r testun, gallwch ddefnyddio’r fysell saeth i lawr i symud rhwng y canlyniadau. Dewiswch ganlyniad drwy ddefnyddio’r fysell Enter.\",\"after_the_assignment_is_graded_53754607\":\"Ar ôl graddio’r aseiniad\",\"after_the_due_date_eee89c9c\":\"Ar ôl y dyddiad erbyn\",\"allow_moderator_to_review_multiple_independent_gra_c59d64f6\":\"Gadael i safonwr adolygu mwy nag un radd annibynnol ar gyfer cyflwyniadau penodol\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"Ydych chi’n siŵr eich bod am ganslo? Mae’n bosib na fydd y newidiadau rydych wedi’u gwneud yn cael eu cadw.\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"Ydych chi’n siŵr eich bod am ddileu’r aseiniad hwn?\",\"assign_to_c46e21\":\"Dyrannu i\",\"assignment_group_1a781505\":\"Grŵp Aseiniadau\",\"assignment_group_was_saved_successfully_5caa27d3\":\"Wedi llwyddo i gadw grŵp aseiniadau\",\"assignment_was_deleted_8320d26d\":\"Aseiniad wedi’i ddileu\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"Cyflwyno Aseiniad\"},\"cannot_delete_group\":\"Mae’n rhaid bod gennych chi o leiaf un Grŵp Aseiniadau\",\"complete\":\"Cwblhau\",\"confirm_delete_group\":\"Ydych chi’n siŵr eich bod am ddileu’r Grŵp hwn o Aseiniadau?\",\"drop_highest_rule\":{\"one\":\"Gollwng y sgôr uchaf\",\"other\":\"Gollwng y %{count} sgôr uchaf\"},\"drop_lowest_rule\":{\"one\":\"Gollwng y sgôr isaf\",\"other\":\"Gollwng y %{count} sgôr isaf\"},\"everyone_else\":\"Pawb arall\",\"file_retrieval_error\":\"Wedi methu adfer ffeil\",\"getting_file\":\"Wrthi’n adfer ffeil...\",\"grade_gpa_scale_screenreader\":\"Gradd: %{grade}\",\"grade_letter_grade_screenreader\":\"Gradd: %{grade}\",\"grade_pass_fail_screenreader\":\"Gradd: %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"Gradd: %{grade}%\",\"incomplete\":\"Heb Gwblhau\",\"invalid_file_retrieval\":\"Problem wrth adfer y ffeil a anfonwyd o’r adnodd hwn.\",\"keyboard_add_item\":\"Ychwanegu aseiniad at y grŵp dan sylw\",\"keyboard_close_menu\":\"Cau’r blwch deialog sydd ar waith ar hyn o bryd\",\"keyboard_del_item\":\"Dileu’r grŵp neu’r aseiniad presennol\",\"keyboard_edit_item\":\"Golygu’r grŵp neu’r aseiniad presennol\",\"keyboard_next_item\":\"Canolbwyntio ar y grŵp neu’r aseiniad nesaf\",\"keyboard_prev_item\":\"Canolbwyntio ar y grŵp neu’r aseiniad blaenorol\",\"keyboard_show_assign\":\"Dangos rhagolwg llawn o’r aseiniad dan sylw\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"Mae’n rhaid i chi gytuno â’r addewid cyflwyno cyn gallu cyflwyno’r aseiniad hwn.\",\"not_submitted_yet\":\"Dydych chi ddim wedi gorffen cyflwyno’ch aseiniad.  Mae angen i chi glicio \\\"Cyflwyno\\\" er mwyn cwblhau’r broses gyflwyno. Ydych chi am adael y dudalen hon beth bynnag?\",\"now_overdue\":\"Mae’r aseiniad hwn yn hwyr.  Bydd unrhyw gyflwyniadau newydd yn cael eu marcio fel rhai hwyr.  Bwrw ymlaen beth bynnag?\",\"overdue\":\"Mae’r aseiniad hwn yn hwyr.  Ydych chi’n dal am ei gyflwyno?\",\"record_before_submitting\":\"Recordio cyn cyflwyno\",\"submit_failed\":\"Wedi methu cyflwyno, rhowch gynnig arall arni\",\"submitting\":\"Wrthi’n cyflwyno...\"},\"name_is_required\":\"Mae’n rhaid rhoi enw!\",\"never_drop_rule\":\"Peidio Byth â Gollwng %{assignment_name}\",\"no_tools_found\":\"Heb ddod o hyd i adnoddau\",\"overdue_assignments\":\"Aseiniadau Hwyr\",\"past_assignments\":\"Aseiniadau Blaenorol\",\"points_possible_number\":\"Mae’n rhaid i’r pwyntiau sy’n bosib fod yn rhif\",\"processing_submission\":\"Mae Canvas yn prosesu eich cyflwyniad ar hyn o bryd. Gallwch adael y dudalen hon yn ddiogel a byddwn yn anfon e-bost atoch os nad oedd modd prosesu’r cyflwyniad.\",\"remove_never_drop_rule\":\"Tynnu’r rheol peidio byth â gollwng\",\"remove_unsaved_never_drop_rule\":\"Tynnu’r rheol peidio byth â gollwng sydd heb ei chadw\",\"rules_text\":{\"one\":\"1 Rheol\",\"other\":\"%{count} Rheol\"},\"titles\":{\"add_assignment_group\":\"Ychwanegu Grŵp Aseiniadau\",\"uploading\":\"Llwytho cyflwyniad i fyny\"},\"toggle_message\":\"toglo opsiynau gweld aseiniad\",\"undated_assignments\":\"Aseiniadau Heb Ddyddiadau\",\"upcoming_assignments\":\"Aseiniadau sydd ar y Gweill\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"Does dim modd i’r ffeiliau sy’n cael eu hatodi fod yn fwy na 0 beit\",\"available_from_f84e4611\":\"Ar gael o\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} Gwnewch yn siŵr bod gan %{name} ddyddiad erbyn.\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} Gwnewch yn siŵr bod gan %{name} ddyddiad erbyn, ac nad yw’r enw’n rhy hir.\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} Gwnewch yn siŵr nad yw enw %{name} yn rhy hir.\",\"button\":{\"submit_assignment\":\"Cyflwyno Aseiniad\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"Does dim modd dad-gyhoeddi %{name} os oes gwaith wedi’i gyflwyno gan fyfyrwyr\",\"changes_you_made_may_not_be_saved_4e8db973\":\"Mae’n bosib na fydd y newidiadau rydych wedi’u gwneud yn cael eu cadw.\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"Mae angen i chi barhau i deipio er mwyn dod o hyd i fyfyrwyr neu adrannau ychwanegol.\",\"count_assignments_found_17520826\":{\"one\":\"1 aseiniad wedi’i ganfod.\",\"other\":\"%{count} aseiniad wedi’u canfod.\",\"zero\":\"Heb ddod o hyd i unrhyw aseiniadau a oedd yn cyfateb.\"},\"course_section_7a988066\":\"Adran Cwrs\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"Wedi’i neilltuo i %{tokenName} ar hyn o bryd, cliciwch i dynnu\",\"delete_assignment_group_7c3b01c4\":\"Dileu Grŵp Aseiniadau\",\"disabling_sync_to_name_failed_e7521ebb\":\"Wedi methu analluogi’r broses Cysoni â %{name}\",\"due_a73610f6\":\"Erbyn\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"Does dim modd i’r dyddiad erbyn fod ar ôl y dyddiad cloi\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"Does dim modd i’r dyddiad erbyn fod cyn y dyddiad datgloi\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Mae’r dyddiad erbyn o fewn Cyfnod Graddio sydd wedi dod i ben\",\"due_date_set_1c6364db\":\"Dyddiad Erbyn wedi’i osod\",\"edit_assignment_ebf22a72\":\"Golygu Aseiniad\",\"errors\":{\"no_attached_file\":\"Mae’n rhaid i chi atodi o leiaf un ffeil i’r aseiniad hwn\",\"wrong_file_extension\":\"Dydy’r ffeil rydych chi wedi’i dewis gyda’r estyniad \\\"%{extension}\\\" ddim wedi’i hawdurdodi ar gyfer cyflwyniad\"},\"everyone_854554dd\":\"Pawb\",\"everyone_else_6c6dc7b6\":\"Pawb arall\",\"file_tree_collapsed_d4b0ae96\":\"Crebachodd y goeden ffeiliau\",\"file_tree_expanded_a1d20c4a\":\"Ehangodd y goeden ffeiliau\",\"final_grader_can_view_other_grader_names_67736530\":\"Gall graddiwr terfynol weld enwau graddwyr eraill\",\"grader_that_determines_final_grade_cc55f20\":\"Graddiwr sy’n penderfynu ar y radd derfynol\",\"graders_can_view_each_other_s_comments_d836b848\":\"Gall graddwyr weld sylwadau ei gilydd\",\"group_a8f5ed9c\":\"Grŵp\",\"immediately_c128ede6\":\"Yn syth\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"Cofiwch y bydd y cyflwyniad hwn yn cyfrif i bawb yn eich grŵp %{groupType}.\",\"loading_25990131\":\"Wrthi’n llwytho...\",\"mastery_paths_cc4096c2\":\"Llwybrau Meistroli\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"Does dim modd galluogi’r broses graddau wedi'u safoni ar gyfer grŵp o aseiniadau\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"Does dim modd galluogi’r broses graddau wedi'u safoni ar gyfer aseiniadau sy’n cael eu hadolygu gan gyd-fyfyrwyr\",\"moderated_grading_e6127f72\":\"Graddau wedi'u Safoni\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"Does dim modd newid gosodiadau'r broses graddau wedi'u safoni os oes cyflwyniadau wedi’u graddio\",\"move_assignment_6f890f64\":\"Symud Aseiniad\",\"move_contents_into_f3e4fd9d\":\"Symud Cynnwys i\",\"move_group_3dd7f76e\":\"Symud Grŵp\",\"must_be_a_valid_number_59f0069\":\"Rhad i hwn fod yn rhif dilys\",\"must_have_at_least_1_grader_d4a54e85\":\"Mae’n rhaid cael o leiaf 1 graddiwr\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} wedi’i gloi. Cliciwch i'w ddatgloi\",\"name_is_too_long_48daa8db\":\"Mae’r enw yn rhy hir\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"Mae'r enw yn rhy hir, rhaid iddo fod yn llai na %{length} nod\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name} wedi’i ddatgloi. Cliciwch i’w gloi.\",\"never_df100b49\":\"Byth\",\"no_results_found_58717065\":\"Heb ddod o hyd i ganlyniadau\",\"number_of_graders_cde8dd54\":\"Nifer y graddwyr\",\"remove_empty_attachment_b2aea632\":\"tynnu atodiad gwag\",\"remove_filename_87f3781e\":\"tynnu %{filename}\",\"remove_these_dates_48453a81\":\"Tynnu’r dyddiadau hyn\",\"searching_b0207e7f\":\"Wrthi'n chwilio\",\"select_grader_782af48\":\"Dewiswch Raddiwr\",\"selected_filename_7552a8c0\":\"wedi dewis %{filename}\",\"show_by_709f525b\":\"Dangos yn ôl\",\"show_by_date_e3967761\":\"Dangos yn ôl dyddiad\",\"show_by_type_c5d61732\":\"Dangos yn ôl math\",\"show_report_to_students_a07888a6\":\"Dangos adroddiad i’r myfyrwyr\",\"student_5da6bfd1\":\"Myfyriwr\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"Cysoni â %{name} wedi'i analluogi. Cliciwch i doglo.\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"Cysoni â %{name} wedi'i alluogi. Cliciwch i doglo.\",\"sync_to_name_successfully_disabled_8045ad95\":\"Wedi llwyddo i analluogi'r broses gysoni â %{name}\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"Fydd gradd yr aseiniad hwn ddim yn cael ei chysoni â system gwybodaeth y myfyriwr.\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"Bydd gradd yr aseiniad hwn yn cael ei chysoni â system gwybodaeth y myfyriwr.\",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"Mae’r adnodd a gafodd ei lansio wedi cyflwyno swyddogaeth annilys ar gyfer yr aseiniad hwn\",\"there_are_currently_maxgradercount_available_grade_9ab81123\":\"Mae %{maxGraderCount} graddiwr ar gael ar hyn o bryd\",\"there_is_currently_1_available_grader_758e4a21\":\"Mae 1 graddiwr ar gael ar hyn o bryd\",\"until_4a1f8cda\":\"Tan\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"Defnyddiwch y rhestr hon i dynnu myfyrwyr sydd wedi’u neilltuo. Ychwanegwch fyfyrwyr newydd gyda blwch cyfun ar ôl y rhestr.\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"Does dim modd i chi ddefnyddio rhif sy’n fwy na nifer yr aseiniadau\",\"you_must_select_an_assignment_group_c16a2168\":\"Mae’n rhaid i chi ddewis grŵp aseiniadau.\",\"you_must_use_a_number_912ce4bd\":\"Mae’n rhaid i chi ddefnyddio rhif\",\"you_must_use_a_positive_number_203b86fe\":\"Mae’n rhaid i chi ddefnyddio rhif positif\"},\"da\":{\"a_name_is_required_b5df38a9\":\"Et navn er påkrævet\",\"add_8523c19b\":\"Tilføj\",\"add_new_set_of_due_dates_e8e240f\":\"Tilføj nyt sæt med deadlines\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"Tilføj studerende ved at søge efter navn, fagsektion eller gruppe. Når du har indtastet tekst, kan du navigere resultater ved at bruge pil ned. Vælg et resultat ved at bruge Enter-tasten.\",\"after_the_assignment_is_graded_53754607\":\"Efter opgaven er bedømt\",\"after_the_due_date_eee89c9c\":\"Efter forfaldsdato\",\"allow_moderator_to_review_multiple_independent_gra_c59d64f6\":\"Tillad moderator at gennemse flere uafhængige karakterer for udvalgte afleveringer\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"Er du sikker på, du vil annullere? Ændringer, du har foretaget, bliver muligvis ikke gemt.\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"Er du sikker på, du vil slette denne opgave?\",\"assign_to_c46e21\":\"Udpeg til\",\"assignment_group_1a781505\":\"Opgavegruppe\",\"assignment_group_was_saved_successfully_5caa27d3\":\"Opgavegruppe blev gemt\",\"assignment_was_deleted_8320d26d\":\"Opgaven blev slettet\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"Aflever opgave\"},\"cannot_delete_group\":\"Du skal have mindst en opgavegruppe\",\"complete\":\"Fuldført\",\"confirm_delete_group\":\"Er du sikker på, at du vil slette denne opgavegruppe?\",\"drop_highest_rule\":{\"one\":\"Drop det højeste resultat\",\"other\":\"Drop de højeste %{count} resultater\"},\"drop_lowest_rule\":{\"one\":\"Drop det laveste resultat\",\"other\":\"Drop de laveste %{count} resultater\"},\"everyone_else\":\"Alle andre\",\"file_retrieval_error\":\"Hentning af fil mislykkedes\",\"getting_file\":\"Henter fil ...\",\"grade_gpa_scale_screenreader\":\"Karakter : %{grade}\",\"grade_letter_grade_screenreader\":\"Karakter : %{grade}\",\"grade_pass_fail_screenreader\":\"Karakter : %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"Karakter : %{grade}%\",\"incomplete\":\"Ufuldstændig\",\"invalid_file_retrieval\":\"Der opstod et problem under hentning af den fil, der blev sendt fra dette værktøj.\",\"keyboard_add_item\":\"Føj en opgave til valgte gruppe\",\"keyboard_close_menu\":\"Luk den aktive dialog\",\"keyboard_del_item\":\"Slet den aktuelle opgave eller gruppe\",\"keyboard_edit_item\":\"Rediger den aktuelle opgave eller gruppe\",\"keyboard_next_item\":\"Fokuser på næste opgave eller gruppe\",\"keyboard_prev_item\":\"Fokuser på den forrige opgave eller gruppe\",\"keyboard_show_assign\":\"Vis fuld forhåndsvisning af den valgte opgave\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"Du skal acceptere afleveringsløftet, inden du kan indsende denne opgave.\",\"not_submitted_yet\":\"Du er ikke færdig med at aflevere din opgave. Du skal stadig klikke på \\\"Aflever\\\" for at fuldende afleveringen. Vil du lukke siden alligevel?\",\"now_overdue\":\"Denne opgave er nu forfalden. Alle nye afleveringer afmærkes som sene. Fortsæt alligevel?\",\"overdue\":\"Denne opgave er forfalden. Vil du stadig aflevere den?\",\"record_before_submitting\":\"Optag inden aflevering\",\"submit_failed\":\"Aflevering mislykkedes, prøv igen\",\"submitting\":\"Afleverer ...\"},\"name_is_required\":\"Navn påkrævet!\",\"never_drop_rule\":\"Fjern aldrig %{assignment_name}\",\"no_tools_found\":\"Der er ikke fundet værktøjer\",\"overdue_assignments\":\"Forfaldne opgaver\",\"past_assignments\":\"Forrige opgaver\",\"points_possible_number\":\"Mulige point skal være et tal\",\"processing_submission\":\"Canvas behandler din aflevering i øjeblikket. Du kan navigere sikkert væk fra denne side, så sender vi dig en e-mail, hvis afleveringen ikke behandles.\",\"remove_never_drop_rule\":\"Fjern reglen 'fjern aldrig'\",\"remove_unsaved_never_drop_rule\":\"Fjern den ikke gemte regel 'fjern aldrig'\",\"rules_text\":{\"one\":\"1 regel\",\"other\":\"%{count} regler\"},\"titles\":{\"add_assignment_group\":\"Tilføj opgavegruppe\",\"uploading\":\"Uploader aflevering\"},\"toggle_message\":\"skift opgavens synlighed\",\"undated_assignments\":\"Udaterede opgaver\",\"upcoming_assignments\":\"Kommende opgaver\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"Vedhæftede filer skal være større end 0 bytes\",\"available_from_f84e4611\":\"Tilgængelig fra\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} Sørg for, at %{name} har en afleveringsdato.\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} Sørg for, at %{name} har en afleveringsdato og ikke er for langt.\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} Sørg for, at navnet %{name} ikke er for langt.\",\"button\":{\"submit_assignment\":\"Aflever opgave\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"Kan ikke annullere offentliggørelse af %{name}, hvis det indeholder afleveringer fra studerende\",\"changes_you_made_may_not_be_saved_4e8db973\":\"Ændringer, du har foretaget, kan ikke blive gemt.\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"Fortsæt med at indtaste for at finde yderligere sektioner eller studerende.\",\"count_assignments_found_17520826\":{\"one\":\"1 opgave fundet\",\"other\":\"%{count} opgaver fundet\",\"zero\":\"Der er ikke fundet matchende opgaver.\"},\"course_section_7a988066\":\"Fagsektion\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"I øjeblikket tildelt til %{tokenName}, klik for at fjerne\",\"delete_assignment_group_7c3b01c4\":\"Slet opgavegruppe\",\"disabling_sync_to_name_failed_e7521ebb\":\"Deaktivering af synkronisering til %{name} mislykkedes\",\"due_a73610f6\":\"Forfalder\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"Afleveringsdato kan ikke ligge efter låsningsdato\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"Afleveringsdato kan ikke ligge før oplåsningsdato\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Forfaldsdato falder i en lukket karakterperiode\",\"due_date_set_1c6364db\":\"Afleveringsdato indstillet\",\"edit_assignment_ebf22a72\":\"Rediger opgave\",\"errors\":{\"no_attached_file\":\"Du skal vedhæfte mindst en fil til denne opgave\",\"wrong_file_extension\":\"Filen du valgte med udvidelsen \\\"%{extension}\\\", har ikke tilladelse til aflevering\"},\"everyone_854554dd\":\"Alle\",\"everyone_else_6c6dc7b6\":\"Alle andre\",\"file_tree_collapsed_d4b0ae96\":\"Filtræ skjult\",\"file_tree_expanded_a1d20c4a\":\"Filtræ vist\",\"final_grader_can_view_other_grader_names_67736530\":\"Endelig karaktergiver kan se andre karaktergiveres navne\",\"grader_that_determines_final_grade_cc55f20\":\"Bedømmer, der bestemmer den endelig karakter\",\"graders_can_view_each_other_s_comments_d836b848\":\"Karaktergivere kan se hinandens kommentarer\",\"group_a8f5ed9c\":\"Gruppe\",\"immediately_c128ede6\":\"Straks\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"Husk på, at denne aflevering gælder for alle i din %{groupType} gruppe.\",\"loading_25990131\":\"Indlæser ...\",\"mastery_paths_cc4096c2\":\"Læringsstier\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"Ændret karaktergivning kan ikke aktiveres til gruppeopgaver\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"Ændret karaktergivning kan ikke aktiveres til opgaver med peer review\",\"moderated_grading_e6127f72\":\"Ændret karaktergivning\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"Ændret karaktergivnings-indstilling kan ikke aktiveres, hvis der eksisterer afleveringer\",\"move_assignment_6f890f64\":\"Flyt opgave\",\"move_contents_into_f3e4fd9d\":\"Flyt indhold til\",\"move_group_3dd7f76e\":\"Flyt gruppe\",\"must_be_a_valid_number_59f0069\":\"Skal være et gyldigt tal\",\"must_have_at_least_1_grader_d4a54e85\":\"Skal have mindst 1 bedømmer\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} er låst. Klik for at låse op\",\"name_is_too_long_48daa8db\":\"Navn er for langt\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"Navn er for lang, skal være under %{length} tegn\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name} er låst op. Klik for at låse.\",\"never_df100b49\":\"Aldrig\",\"no_results_found_58717065\":\"Der blev ikke fundet resultater\",\"number_of_graders_cde8dd54\":\"Antal bedømmere\",\"remove_empty_attachment_b2aea632\":\"fjern tom vedhæftet fil\",\"remove_filename_87f3781e\":\"fjern %{filename}\",\"remove_these_dates_48453a81\":\"Fjern disse datoer\",\"searching_b0207e7f\":\"Søger\",\"select_grader_782af48\":\"Vælg bedømmer\",\"selected_filename_7552a8c0\":\"valgt %{filename}\",\"show_by_709f525b\":\"Vis efter\",\"show_by_date_e3967761\":\"Vis efter dato\",\"show_by_type_c5d61732\":\"Vis efter type\",\"show_report_to_students_a07888a6\":\"Vis de studerende rapporten\",\"student_5da6bfd1\":\"Studerende\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"Synkroniser til %{name} deaktiveret. Klik for at skifte.\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"Synkroniser til %{name} aktiveret. Klik for at skifte.\",\"sync_to_name_successfully_disabled_8045ad95\":\"Synkroniser til %{name} blev deaktiveret\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"Karakteren for denne opgave synkroniseres ikke i de studerendes informationssystem.\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"Karakteren for denne opgave synkroniseres i de studerendes informationssystem.\",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"Det igangsatte værktøj returnerede en ugyldig ressource til denne opgave\",\"there_are_currently_maxgradercount_available_grade_9ab81123\":\"Der er i øjeblikket %{maxGraderCount} tilgængelige bedømmere\",\"there_is_currently_1_available_grader_758e4a21\":\"Der er i øjeblikket 1 tilgængelig karaktergiver\",\"until_4a1f8cda\":\"Indtil\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"Brug denne liste til at fjerne tildelte studerende. Tilføj nye studerende med kombinationsfelt efter listen.\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"Du kan ikke bruge et tal, der er større end antallet af opgaver\",\"you_must_select_an_assignment_group_c16a2168\":\"Du skal vælge en opgavegruppe.\",\"you_must_use_a_number_912ce4bd\":\"Du skal bruge et tal\",\"you_must_use_a_positive_number_203b86fe\":\"Du skal bruge et positivt tal\"},\"da-x-k12\":{\"a_name_is_required_b5df38a9\":\"Et navn er påkrævet\",\"add_8523c19b\":\"Tilføj\",\"add_new_set_of_due_dates_e8e240f\":\"Tilføj nyt sæt med deadlines\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"Tilføj elever ved at søge efter navn, fagsektion eller gruppe. Når du har indtastet tekst, kan du navigere resultater ved at bruge pil ned. Vælg et resultat ved at bruge Enter-tasten.\",\"after_the_assignment_is_graded_53754607\":\"Efter opgaven er bedømt\",\"after_the_due_date_eee89c9c\":\"Efter forfaldsdato\",\"allow_moderator_to_review_multiple_independent_gra_c59d64f6\":\"Giv moderatoren tilladelse til at evaluere flere uafhængige vurderinger for de valgte afleveringer\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"Er du sikker på, du vil annullere? Ændringer, du har foretaget, bliver muligvis ikke gemt.\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"Er du sikker på, du vil slette denne opgave?\",\"assign_to_c46e21\":\"Udpeg til\",\"assignment_group_1a781505\":\"Opgavegruppe\",\"assignment_group_was_saved_successfully_5caa27d3\":\"Opgavegruppe blev gemt\",\"assignment_was_deleted_8320d26d\":\"Opgaven blev slettet\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"Aflever opgave\"},\"cannot_delete_group\":\"Du skal have mindst en opgavegruppe\",\"complete\":\"Fuldført\",\"confirm_delete_group\":\"Er du sikker på, at du vil slette denne opgavegruppe?\",\"drop_highest_rule\":{\"one\":\"Drop det højeste resultat\",\"other\":\"Drop de højeste %{count} resultater\"},\"drop_lowest_rule\":{\"one\":\"Drop det laveste resultat\",\"other\":\"Drop de laveste %{count} resultater\"},\"everyone_else\":\"Alle andre\",\"file_retrieval_error\":\"Hentning af fil mislykkedes\",\"getting_file\":\"Henter fil ...\",\"grade_gpa_scale_screenreader\":\"Vurdering: %{grade}\",\"grade_letter_grade_screenreader\":\"Vurdering: %{grade}\",\"grade_pass_fail_screenreader\":\"Vurdering: %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"Vurdering: %{grade}%\",\"incomplete\":\"Ufuldstændig\",\"invalid_file_retrieval\":\"Der opstod et problem under hentning af den fil, der blev sendt fra dette værktøj.\",\"keyboard_add_item\":\"Føj en opgave til valgte gruppe\",\"keyboard_close_menu\":\"Luk den aktive dialog\",\"keyboard_del_item\":\"Slet den aktuelle opgave eller gruppe\",\"keyboard_edit_item\":\"Rediger den aktuelle opgave eller gruppe\",\"keyboard_next_item\":\"Fokuser på næste opgave eller gruppe\",\"keyboard_prev_item\":\"Fokuser på den forrige opgave eller gruppe\",\"keyboard_show_assign\":\"Vis fuld forhåndsvisning af den valgte opgave\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"Du skal acceptere afleveringsløftet, inden du kan indsende denne opgave.\",\"not_submitted_yet\":\"Du er ikke færdig med at aflevere din opgave. Du skal stadig klikke på \\\"Aflever\\\" for at fuldende afleveringen. Vil du lukke siden alligevel?\",\"now_overdue\":\"Denne opgave er nu forfalden. Alle nye afleveringer afmærkes som sene. Fortsæt alligevel?\",\"overdue\":\"Denne opgave er forfalden. Vil du stadig aflevere den?\",\"record_before_submitting\":\"Optag inden aflevering\",\"submit_failed\":\"Aflevering mislykkedes, prøv igen\",\"submitting\":\"Afleverer ...\"},\"name_is_required\":\"Navn påkrævet!\",\"never_drop_rule\":\"Fjern aldrig %{assignment_name}\",\"no_tools_found\":\"Der er ikke fundet værktøjer\",\"overdue_assignments\":\"Forfaldne opgaver\",\"past_assignments\":\"Forrige opgaver\",\"points_possible_number\":\"Mulige point skal være et tal\",\"processing_submission\":\"Canvas behandler din aflevering i øjeblikket. Du kan sikkert forlade denne side. Vi vil maile dig, når din aflevering er behandlet.\",\"remove_never_drop_rule\":\"Fjern reglen 'fjern aldrig'\",\"remove_unsaved_never_drop_rule\":\"Fjern den ikke gemte regel 'fjern aldrig'\",\"rules_text\":{\"one\":\"1 regel\",\"other\":\"%{count} regler\"},\"titles\":{\"add_assignment_group\":\"Tilføj opgavegruppe\",\"uploading\":\"Uploader aflevering\"},\"toggle_message\":\"skift opgavens synlighed\",\"undated_assignments\":\"Udaterede opgaver\",\"upcoming_assignments\":\"Kommende opgaver\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"Vedhæftede filer skal være større end 0 bytes\",\"available_from_f84e4611\":\"Tilgængelig fra\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} Sørg for, at %{name} har en afleveringsdato.\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} Sørg for, at %{name} har en afleveringsdato og ikke er for langt.\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} Sørg for, at navnet %{name} ikke er for langt.\",\"button\":{\"submit_assignment\":\"Aflever opgave\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"Kan ikke annullere offentliggørelse af %{name}, hvis det indeholder afleveringer fra elever\",\"changes_you_made_may_not_be_saved_4e8db973\":\"Ændringer, du har foretaget, kan ikke blive gemt.\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"Fortsæt med at indtaste for at finde yderligere sektioner eller elever.\",\"count_assignments_found_17520826\":{\"one\":\"1 opgave fundet\",\"other\":\"%{count} opgaver fundet\",\"zero\":\"Der er ikke fundet matchende opgaver.\"},\"course_section_7a988066\":\"Fagsektion\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"I øjeblikket tildelt til %{tokenName}, klik for at fjerne\",\"delete_assignment_group_7c3b01c4\":\"Slet opgavegruppe\",\"disabling_sync_to_name_failed_e7521ebb\":\"Deaktivering af synkronisering til %{name} mislykkedes\",\"due_a73610f6\":\"Forfalder\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"Afleveringsdato kan ikke ligge efter låsningsdato\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"Afleveringsdato kan ikke ligge før oplåsningsdato\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Forfaldsdato falder i en lukket vurderingsperiode\",\"due_date_set_1c6364db\":\"Afleveringsdato indstillet\",\"edit_assignment_ebf22a72\":\"Rediger opgave\",\"errors\":{\"no_attached_file\":\"Du skal vedhæfte mindst en fil til denne opgave\",\"wrong_file_extension\":\"Filen du valgte med udvidelsen \\\"%{extension}\\\", har ikke tilladelse til aflevering\"},\"everyone_854554dd\":\"Alle\",\"everyone_else_6c6dc7b6\":\"Alle andre\",\"final_grader_can_view_other_grader_names_67736530\":\"Endelig bedømmer kan se andre bedømmeres navne\",\"grader_that_determines_final_grade_cc55f20\":\"Bedømmer, der bestemmer endelig vurdering\",\"graders_can_view_each_other_s_comments_d836b848\":\"Bedømmere kan se hinandens kommentarer\",\"group_a8f5ed9c\":\"Gruppe\",\"immediately_c128ede6\":\"Straks\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"Husk på, at denne aflevering gælder for alle i din %{groupType} gruppe.\",\"loading_25990131\":\"Indlæser ...\",\"mastery_paths_cc4096c2\":\"Læringsstier\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"Samlede vurdering kan ikke aktiveres til gruppeopgaver\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"Samlede vurderinger kan ikke aktiveres til opgaver med elev-elev vurdering\",\"moderated_grading_e6127f72\":\"Samlet vurdering\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"Samlet vurdering-indstilling kan ikke aktiveres, hvis der eksisterer afleveringer\",\"move_assignment_6f890f64\":\"Flyt opgave\",\"move_contents_into_f3e4fd9d\":\"Flyt indhold til\",\"move_group_3dd7f76e\":\"Flyt gruppe\",\"must_be_a_valid_number_59f0069\":\"Skal være et gyldigt tal\",\"must_have_at_least_1_grader_d4a54e85\":\"Skal have mindst 1 bedømmer\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} er låst. Klik for at låse op\",\"name_is_too_long_48daa8db\":\"Navn er for langt\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"Navn er for lang, skal være under %{length} tegn\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name} er låst op. Klik for at låse.\",\"never_df100b49\":\"Aldrig\",\"no_results_found_58717065\":\"Der blev ikke fundet resultater\",\"number_of_graders_cde8dd54\":\"Antal bedømmere\",\"remove_empty_attachment_b2aea632\":\"fjern tom vedhæftet fil\",\"remove_filename_87f3781e\":\"fjern %{filename}\",\"remove_these_dates_48453a81\":\"Fjern disse datoer\",\"searching_b0207e7f\":\"Søger\",\"select_grader_782af48\":\"Vælg bedømmer\",\"show_by_709f525b\":\"Vis efter\",\"show_by_date_e3967761\":\"Vis efter dato\",\"show_by_type_c5d61732\":\"Vis efter type\",\"student_5da6bfd1\":\"Elev\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"Synkroniser til %{name} deaktiveret. Klik for at skifte.\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"Synkroniser til %{name} aktiveret. Klik for at skifte.\",\"sync_to_name_successfully_disabled_8045ad95\":\"Synkroniser til %{name} blev deaktiveret\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"Vurderingen for denne opgave synkroniseres ikke i elevernes informationssystem.\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"Vurderingen for denne opgave synkroniseres i elevernes informationssystem.\",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"Det igangsatte værktøj returnerede en ugyldig ressource til denne opgave\",\"there_are_currently_maxgradercount_available_grade_9ab81123\":\"Der er i øjeblikket %{maxGraderCount} tilgængelige bedømmere\",\"there_is_currently_1_available_grader_758e4a21\":\"Der er i øjeblikket 1 tilgængelig bedømmer\",\"until_4a1f8cda\":\"Indtil\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"Brug denne liste til at fjerne tildelte elever. Tilføj nye elever med kombinationsfelt efter listen.\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"Du kan ikke bruge et tal, der er større end antallet af opgaver\",\"you_must_use_a_number_912ce4bd\":\"Du skal bruge et tal\",\"you_must_use_a_positive_number_203b86fe\":\"Du skal bruge et positivt tal\"},\"de\":{\"a_name_is_required_b5df38a9\":\"Ein Name ist erforderlich.\",\"add_8523c19b\":\"Hinzufügen\",\"add_new_set_of_due_dates_e8e240f\":\"Neue Reihe von Abgabeterminen hinzufügen\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"Hinzufügen von Studenten per Suche nach Name, Kursabschnitt oder Gruppe. Navigieren Sie nach der Eingabe von Text in den Ergebnissen mithilfe der Pfeil-nach-unten-Taste. Durch Drücken der Eingabetaste wählen Sie ein Ergebnis aus.\",\"after_the_assignment_is_graded_53754607\":\"Nach Benotung der Aufgabe\",\"after_the_due_date_eee89c9c\":\"Nach dem Abgabetermin\",\"allow_moderator_to_review_multiple_independent_gra_c59d64f6\":\"Moderatoren erlauben, mehrere unabhängige Noten für ausgewählte Abgaben zu überprüfen\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"Möchten Sie wirklich abbrechen? Vorgenommene Änderungen werden nicht gespeichert.\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"Möchten Sie diese Aufgabe wirklich löschen?\",\"assign_to_c46e21\":\"Zuweisen an\",\"assignment_group_1a781505\":\"Aufgabengruppe\",\"assignment_group_was_saved_successfully_5caa27d3\":\"Die Aufgabengruppe wurde erfolgreich gespeichert.\",\"assignment_was_deleted_8320d26d\":\"Aufgabe wurde gelöscht\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"Aufgabe abgeben\"},\"cannot_delete_group\":\"Sie müssen eine Aufgabengruppe haben.\",\"complete\":\"Abschließen\",\"confirm_delete_group\":\"Möchten Sie diese Aufgabengruppe wirklich löschen?\",\"drop_highest_rule\":{\"one\":\"Höchste Punktzahl ausblenden\",\"other\":\"Höchste %{count} Punktzahlen ausblenden\"},\"drop_lowest_rule\":{\"one\":\"Niedrigste Punktzahl ausblenden\",\"other\":\"Niedrigste %{count} Punktzahlen ausblenden\"},\"everyone_else\":\"Alle anderen\",\"file_retrieval_error\":\"Fehler beim Abrufen der Datei\",\"getting_file\":\"Datei wird abgerufen ...\",\"grade_gpa_scale_screenreader\":\"Note: %{grade}\",\"grade_letter_grade_screenreader\":\"Note: %{grade}\",\"grade_pass_fail_screenreader\":\"Note: %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"Note: %{grade}%\",\"incomplete\":\"Unvollständig\",\"invalid_file_retrieval\":\"Beim Abrufen der mit diesem Tool gesendeten Datei ist ein Problem aufgetreten.\",\"keyboard_add_item\":\"Eine Aufgabe zur ausgewählten Gruppe hinzufügen\",\"keyboard_close_menu\":\"Aktives Dialogfeld schließen\",\"keyboard_del_item\":\"Aktuelle Aufgabe oder Gruppe löschen\",\"keyboard_edit_item\":\"Aktuelle Aufgabe oder Gruppe bearbeiten\",\"keyboard_next_item\":\"Fokus auf nächste Aufgabe oder Gruppe setzen\",\"keyboard_prev_item\":\"Fokus auf vorherige Aufgabe oder Gruppe setzen\",\"keyboard_show_assign\":\"Vollständige Vorschau der ausgewählten Aufgabe anzeigen\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"ESC\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"Vor Abgabe der Aufgabe müssen Sie der Abgabeerklärung zustimmen.\",\"not_submitted_yet\":\"Die Abgabe Ihrer Aufgabe ist noch nicht abgeschlossen. Sie müssen noch auf „Abgeben“ klicken, um die Abgabe abzuschließen. Möchten Sie die Seite trotzdem verlassen?\",\"now_overdue\":\"Die Abgabefrist dieser Aufgabe ist abgelaufen. Alle neuen Abgaben werden als verspätet gekennzeichnet. Möchten Sie trotzdem fortfahren?\",\"overdue\":\"Die Abgabefrist dieser Aufgabe ist abgelaufen. Möchten Sie die Aufgabe trotzdem abgeben?\",\"record_before_submitting\":\"Vor Abgabe aufnehmen\",\"submit_failed\":\"Die Abgabe ist fehlgeschlagen, bitte erneut versuchen\",\"submitting\":\"Wird abgegeben ...\"},\"name_is_required\":\"Name erforderlich!\",\"never_drop_rule\":\"%{assignment_name} niemals auslassen\",\"no_tools_found\":\"Keine Tools gefunden\",\"overdue_assignments\":\"Überfällige Aufgaben\",\"past_assignments\":\"Frühere Aufgaben\",\"points_possible_number\":\"Der Wert für die möglichen Punkte muss eine Zahl sein.\",\"processing_submission\":\"Canvas verarbeitet gerade Ihre Einsendung. Sie können diese Seite ruhig verlassen. Wir werden Sie per E-Mail benachrichtigen, falls die Verarbeitung Ihrer Einsendung fehlschlägt.\",\"remove_never_drop_rule\":\"Nie-Auslassen-Regel entfernen\",\"remove_unsaved_never_drop_rule\":\"Nicht gespeicherte Nie-Auslassen-Regel entfernen\",\"rules_text\":{\"one\":\"1 Regel\",\"other\":\"%{count} Regeln\"},\"titles\":{\"add_assignment_group\":\"Aufgabengruppe hinzufügen\",\"uploading\":\"Abgabe wird hochgeladen\"},\"toggle_message\":\"Sichtbarkeit der Aufgabe ein-/ausschalten\",\"undated_assignments\":\"Undatierte Aufgaben\",\"upcoming_assignments\":\"Bevorstehende Aufgaben\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"Angehängte Dateien müssen größer als 0 Bytes sein.\",\"available_from_f84e4611\":\"Verfügbar von\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} Stellen Sie sicher, dass %{name} einen Abgabetermin hat.\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} Stellen Sie sicher, dass %{name} ein Abgabedatum hat und der Name nicht zu lang ist.\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} Stellen Sie sicher, dass der Name %{name} nicht zu lang ist.\",\"button\":{\"submit_assignment\":\"Aufgabe abgeben\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"Veröffentlichen von %{name} kann nicht rückgängig gemacht werden, wenn es Abgaben von Studenten gibt.\",\"changes_you_made_may_not_be_saved_4e8db973\":\"Vorgenommene Änderungen werden nicht gespeichert.\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"Bitte mit der Eingabe fortfahren, um zusätzliche Bereiche oder Studenten zu finden.\",\"count_assignments_found_17520826\":{\"one\":\"1 Aufgabe gefunden\",\"other\":\"%{count} Aufgaben gefunden\",\"zero\":\"Keine passenden Aufgaben gefunden\"},\"course_section_7a988066\":\"Kursabschnitt\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"Derzeit %{tokenName} zugewiesen. Zum Entfernen klicken Sie darauf.\",\"delete_assignment_group_7c3b01c4\":\"Aufgabengruppe löschen\",\"disabling_sync_to_name_failed_e7521ebb\":\"Das Deaktivieren der Synchronisierung mit %{name} schlug fehl.\",\"due_a73610f6\":\"Fällig\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"Abgabetermin darf nicht nach Sperrdatum liegen.\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"Abgabetermin darf nicht vor dem Entsperrdatum liegen.\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Das Fälligkeitsdatum liegt innerhalb eines abgeschlossenen Benotungszeitraums.\",\"due_date_set_1c6364db\":\"Fälligkeitstermin festgelegt\",\"edit_assignment_ebf22a72\":\"Aufgabe bearbeiten\",\"errors\":{\"no_attached_file\":\"Sie müssen an diese Aufgabe mindestens eine Datei anhängen.\",\"wrong_file_extension\":\"Die Abgabe der von Ihnen ausgewählten Datei mit der Erweiterung „%{extension}“ war nicht autorisiert.\"},\"everyone_854554dd\":\"Jeder\",\"everyone_else_6c6dc7b6\":\"Alle anderen\",\"file_tree_collapsed_d4b0ae96\":\"Dateiverzeichnis ausgeblendet\",\"file_tree_expanded_a1d20c4a\":\"Dateiverzeichnis eingeblendet\",\"final_grader_can_view_other_grader_names_67736530\":\"Letzter Benoter darf die Namen der anderen Benoter sehen\",\"grader_that_determines_final_grade_cc55f20\":\"Benoter, der die Gesamtnote bestimmt\",\"graders_can_view_each_other_s_comments_d836b848\":\"Die Benoter können die Kommentare jedes anderen sehen.\",\"group_a8f5ed9c\":\"Gruppe\",\"immediately_c128ede6\":\"Sofort\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"Bedenken Sie, dass die Bewertung dieser Abgabe für alle Mitglieder Ihrer %{groupType}-Gruppe gilt.\",\"loading_25990131\":\"Wird geladen ...\",\"mastery_paths_cc4096c2\":\"Leistungsziel-Pfade\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"Moderierte Benotung kann für Gruppenaufgaben nicht aktiviert werden.\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"Moderierte Benotung kann für peer-korrigierte Aufgaben nicht aktiviert werden.\",\"moderated_grading_e6127f72\":\"Moderierte Benotung\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"Moderierte Benotungseinstellung kann nicht verändert werden, wenn es benotete Abgaben gibt.\",\"move_assignment_6f890f64\":\"Aufgabe verschieben\",\"move_contents_into_f3e4fd9d\":\"Inhalte verschieben nach\",\"move_group_3dd7f76e\":\"Gruppe verschieben\",\"must_be_a_valid_number_59f0069\":\"Muss eine gültige Zahl sein\",\"must_have_at_least_1_grader_d4a54e85\":\"Benötigt mindestens 1 Benoter\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} ist gesperrt Zum Entsperren klicken\",\"name_is_too_long_48daa8db\":\"Name ist zu lang\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"Der Name muss kürzer als %{length} Zeichen sein.\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name} ist entsperrt Zum Sperren klicken\",\"never_df100b49\":\"Nie\",\"no_results_found_58717065\":\"Keine Ergebnisse gefunden\",\"number_of_graders_cde8dd54\":\"Anzahl der Benoter\",\"remove_empty_attachment_b2aea632\":\"leeren Dateianhang entfernen\",\"remove_filename_87f3781e\":\"%{filename} entfernen\",\"remove_these_dates_48453a81\":\"Diese Daten entfernen\",\"searching_b0207e7f\":\"Wird gesucht\",\"select_grader_782af48\":\"Benoter auswählen\",\"selected_filename_7552a8c0\":\"ausgewählt %{filename}\",\"show_by_709f525b\":\"Zeigen nach\",\"show_by_date_e3967761\":\"Nach Datum anzeigen\",\"show_by_type_c5d61732\":\"Nach Typ anzeigen\",\"student_5da6bfd1\":\"Student\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"Synchronisieren nach %{name} deaktiviert. Klicken zum Umschalten\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"Synchronisieren nach %{name} aktiviert. Klicken zum Umschalten\",\"sync_to_name_successfully_disabled_8045ad95\":\"Synchronisierung mit %{name} deaktiviert\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"Die Note für diese Aufgabe wird nicht mit dem Studenten-Informationssystem synchronisiert.\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"Die Note für diese Aufgabe wird mit dem Studenten-Informationssystem synchronisiert.\",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"Das gestartete Tool hat eine ungültige Ressource für diese Aufgabe zurückgegeben.\",\"there_are_currently_maxgradercount_available_grade_9ab81123\":\"Es gibt zurzeit %{maxGraderCount} verfügbare Benoter.\",\"there_is_currently_1_available_grader_758e4a21\":\"Es gibt zurzeit 1 verfügbaren Benoter.\",\"until_4a1f8cda\":\"bis\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"Verwenden Sie diese Liste, um zugewiesene Studenten zu entfernen. Fügen Sie neue Teilnehmer anhand des Kombinationsfelds hinter der Liste hinzu.\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"Sie dürfen keine Zahl verwenden, die größer als die Anzahl der Aufgaben ist.\",\"you_must_use_a_number_912ce4bd\":\"Sie müssen eine Zahl verwenden.\",\"you_must_use_a_positive_number_203b86fe\":\"Sie müssen eine positive Zahl verwenden.\"},\"el\":{\"a_name_is_required_b5df38a9\":\"Απαιτείται ένα όνομα\",\"add_8523c19b\":\"Πρόσθεση\",\"add_new_set_of_due_dates_e8e240f\":\"Προσθέστε νέο σύνολο απο καταληκτικές ημερομηνίες\",\"assign_to_c46e21\":\"Ανάθεση στον/στην\",\"assignment_group_1a781505\":\"Ομάδα Εργασίας\",\"assignment_group_was_saved_successfully_5caa27d3\":\"Η ομάδα υποβολής αποθηκεύτηκε επιτυχώς\",\"assignment_was_deleted_8320d26d\":\"Η εργασία διαγράφηκε\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"Υποβολή Εργασίας\"},\"cannot_delete_group\":\"Πρέπει να έχετε τουλάχιστον μία Ομάδα Υποβολής\",\"complete\":\"Ολοκληρωμένο\",\"confirm_delete_group\":\"Είστε σίγουρος/η ότι θέλετε να διαγράψετε αυτή την Ομάδα Υποβολής;\",\"drop_highest_rule\":{\"one\":\"Αφήστε την υψηλότερη βαθμολογία\",\"other\":\"Μην υπολογίσετε τις %{count} υψηλότερες βαθμολογίες\"},\"drop_lowest_rule\":{\"one\":\"Αφήστε τη χαμηλότερη βαθμολογία\",\"other\":\"Να μην υπολογίσετε τις %{count} χαμηλότερες βαθμολογίες\"},\"everyone_else\":\"Όλοι οι άλλοι\",\"file_retrieval_error\":\"Η Ανάκτηση του Αρχείου Απέτυχε\",\"getting_file\":\"Γίνεται Ανάκτηση του Αρχείου...\",\"grade_gpa_scale_screenreader\":\"Βαθμός: %{grade}\",\"grade_letter_grade_screenreader\":\"Βαθμός: %{grade}\",\"grade_pass_fail_screenreader\":\"Βαθμός: %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"Βαθμός: %{grade}%\",\"incomplete\":\"Μη ολοκληρωμένο\",\"invalid_file_retrieval\":\"Υπήρξε πρόβλημα με την ανάκτηση του αρχείου που στάλθηκε από αυτό το εργαλείο.\",\"keyboard_add_item\":\"Προσθήκη εργασίας στην επιλεγμένη ομάδα\",\"keyboard_close_menu\":\"Κλείστε το ενεργό παράθυρο διαλόγου\",\"keyboard_del_item\":\"Διαγραφή της τρέχουσας εργασίας ή ομάδας\",\"keyboard_edit_item\":\"Επεξεργασία της τρέχουσας εργασίας ή ομάδας\",\"keyboard_next_item\":\"Εστίαση στην επόμενη εργασία ή ομάδα\",\"keyboard_prev_item\":\"Εστίαση στην προηγούμενη εργασία ή ομάδα\",\"keyboard_show_assign\":\"Προβολή πλήρους προεπισκόπησης της επιλεγμένης εργασίας\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"Πρέπει να συμφωνήσετε με τη δέσμευση υποβολής πριν υποβάλετε αυτή την εργασία.\",\"not_submitted_yet\":\"Δεν έχετε ολοκληρώσει την υποβολή της εργασίας σας. Χρειάζεται ακόμη να πατήσετε «Υποβολή» για να ολοκληρώσετε την υποβολή σας. Θέλετε, παρόλα αυτά, να απομακρυνθείτε από αυτή τη σελίδα;\",\"now_overdue\":\"Αυτή η εργασία είναι τώρα εκπρόθεσμη. Τυχόν νέες υποβολές θα επισημανθούν ως εκπρόθεσμες. Θέλετε, παρόλα αυτά, να συνεχίσετε;\",\"overdue\":\"Αυτή η εργασία είναι εκπρόθεσμη. Θέλετε, παρόλα αυτά, να την υποβάλετε;\",\"record_before_submitting\":\"Εγγραφή Ήχου/Βίντεο Πριν από την Υποβολή\",\"submit_failed\":\"Η Υποβολή Απέτυχε, παρακαλώ δοκιμάστε ξανά\",\"submitting\":\"Υποβάλεται...\"},\"name_is_required\":\"Απαιτείται όνομα!\",\"never_drop_rule\":\"Να υπολογίζεται πάντα %{assignment_name}\",\"no_tools_found\":\"Δεν βρέθηκαν εργαλεία\",\"overdue_assignments\":\"Εκπρόθεσμες Εργασίες\",\"past_assignments\":\"Προηγούμενες Εργασίες\",\"points_possible_number\":\"Τα πιθανά μόρια πρέπει να είναι αριθμός\",\"remove_never_drop_rule\":\"Αφαίρεση του κανόνα \\\"να υπολογίζεται πάντα\\\"\",\"remove_unsaved_never_drop_rule\":\"Αφαίρεση του μη αποθηκευμένου κανόνα \\\"να υπολογίζεται πάντα\\\"\",\"rules_text\":{\"one\":\"1 Κανόνας\",\"other\":\"%{count} Κανόνες\"},\"titles\":{\"add_assignment_group\":\"Προσθήκη Ομάδας Υποβολής\",\"uploading\":\"Γίνεται Μεταφόρτωση της Υποβολής\"},\"toggle_message\":\"εναλλαγή προβολής/εμφάνισης εργασίας\",\"undated_assignments\":\"Μη Χρονολογημένες Εργασίες\",\"upcoming_assignments\":\"Επερχόμενες Εργασίες\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"Τα επισυναπτόμενα αρχεία πρέπει να είναι πάνω από 0 bytes\",\"available_from_f84e4611\":\"Διαθέσιμο από\",\"button\":{\"submit_assignment\":\"Υποβολή Εργασίας\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"Δεν γίνεται να απενεργοποιηθεί η δημοσίευση %{name} αν υπάρχουν υποβολές σπουδαστών\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"Συνεχίστε να πληκτρολογείτε για να βρείτε περισσότερους τομείς ή σπουδαστές.\",\"course_section_7a988066\":\"Τμήμα Μαθήματος\",\"due_a73610f6\":\"Καταληκτική Ημερομηνία\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"Η καταληκτική ημερομηνία δεν μπορεί να είναι μετά την ημερομηνία κλειδώματος\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"Η καταληκτική ημερομηνία δεν μπορεί να είναι πριν από την ημερομηνία ξεκλειδώματος\",\"due_date_set_1c6364db\":\"Έχει καθοριστεί Καταληκτική Ημερομηνία\",\"edit_assignment_ebf22a72\":\"Τροποποίηση Εργασίας\",\"errors\":{\"no_attached_file\":\"Πρέπει να επισυνάψετε τουλάγιστον ένα αρχείο σε αυτήν την εργασία\",\"wrong_file_extension\":\"Το αρχείο με επέκταση «%{extension}» που επιλέξατε δεν είναι εξουσιοδοτημένο για υποβολή\"},\"everyone_854554dd\":\"Όλοι/ες\",\"everyone_else_6c6dc7b6\":\"Όλοι οι Άλλοι\",\"group_a8f5ed9c\":\"Ομάδα\",\"immediately_c128ede6\":\"Αμέσως\",\"loading_25990131\":\"Φόρτωση...\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"Η βαθμολόγηση από περισσότερους δεν μπορεί να ενεργοποιηθεί για ομαδικές εργασίες \",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"Η βαθμολόγηση από περισσότερους δεν μπορεί να ενεργοποιηθεί για εργασίες που έχουν υποβληθεί σε αξιολόγηση ομότιμων\",\"moderated_grading_e6127f72\":\"Βαθμολόγηση από Περισσότερους\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"Η ρύθμιση βαθμολόγησης από περισσότερους δεν μπορεί να αλλάξει αν υπάρχουν ήδη βαθμολογημένες υποβολές\",\"never_df100b49\":\"Ποτέ\",\"no_results_found_58717065\":\"Δεν βρέθηκαν αποτελέσματα\",\"remove_empty_attachment_b2aea632\":\"αφαίρεση κενής επισύναψης\",\"remove_filename_87f3781e\":\"αφαίρεση %{filename}\",\"remove_these_dates_48453a81\":\"Αφαίρεση αυτων των ημερομηνιών\",\"searching_b0207e7f\":\"Αναζήτηση\",\"show_by_date_e3967761\":\"Εμφάνιση βάσει Ημερομηνίας\",\"show_by_type_c5d61732\":\"Εμφάνιση βάσει Τύπου\",\"student_5da6bfd1\":\"Μαθητής \"},\"en-AU\":{\"a_name_is_required_b5df38a9\":\"A name is required\",\"add_8523c19b\":\"Add\",\"add_new_set_of_due_dates_e8e240f\":\"Add a new set of due dates\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"Add students by searching by name, course section or group. After entering text, navigate results by using the down arrow key. Select a result by using the Enter key.\",\"after_the_assignment_is_graded_53754607\":\"After the assignment is marked\",\"after_the_due_date_eee89c9c\":\"After the due date\",\"allow_moderator_to_review_multiple_independent_gra_c59d64f6\":\"Allow moderator to review multiple independent grades for selected submissions\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"Are you sure you want to cancel? Changes you made may not be saved.\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"Are you sure you want to delete this assignment?\",\"assign_to_c46e21\":\"Assign to\",\"assignment_group_1a781505\":\"Assignment Group\",\"assignment_group_was_saved_successfully_5caa27d3\":\"Assignment group successfully saved\",\"assignment_was_deleted_8320d26d\":\"Assignment was deleted\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"Submit Assignment\"},\"cannot_delete_group\":\"You must have at least one Assignment Group\",\"complete\":\"Complete\",\"confirm_delete_group\":\"Are you sure you want to delete this Assignment Group?\",\"drop_highest_rule\":{\"one\":\"Drop the highest score\",\"other\":\"Drop the highest %{count} scores\"},\"drop_lowest_rule\":{\"one\":\"Drop the lowest score\",\"other\":\"Drop the lowest %{count} scores\"},\"everyone_else\":\"Everyone else\",\"file_retrieval_error\":\"Retrieving File Failed\",\"getting_file\":\"Retrieving File...\",\"grade_gpa_scale_screenreader\":\"Mark: %{grade}\",\"grade_letter_grade_screenreader\":\"Mark: %{grade}\",\"grade_pass_fail_screenreader\":\"Mark: %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"Mark: %{grade}%\",\"incomplete\":\"Incomplete\",\"invalid_file_retrieval\":\"There was a problem retrieving the file sent from this tool.\",\"keyboard_add_item\":\"Add an assignment to selected group\",\"keyboard_close_menu\":\"Close the active dialog\",\"keyboard_del_item\":\"Delete the current assignment or group\",\"keyboard_edit_item\":\"Edit the current assignment or group\",\"keyboard_next_item\":\"Focus on the next assignment or group\",\"keyboard_prev_item\":\"Focus on the previous assignment or group\",\"keyboard_show_assign\":\"Show full preview of the selected assignment\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"You must agree to the submission pledge before you can submit this assignment.\",\"not_submitted_yet\":\"You haven't finished submitting your assignment.  You still need to click \\\"Submit\\\" to finish turning it in.  Do you want to leave this page anyway?\",\"now_overdue\":\"This assignment is now overdue.  Any new submissions will be marked as late.  Continue anyway?\",\"overdue\":\"This assignment is overdue.  Do you still want to submit it?\",\"record_before_submitting\":\"Record Before Submitting\",\"submit_failed\":\"Submit Failed, please try again\",\"submitting\":\"Submitting...\"},\"name_is_required\":\"Name is required!\",\"never_drop_rule\":\"Never drop %{assignment_name}\",\"no_tools_found\":\"No tools found\",\"overdue_assignments\":\"Overdue Assignments\",\"past_assignments\":\"Past Assignments\",\"points_possible_number\":\"Points possible must be a number\",\"processing_submission\":\"Canvas is currently processing your submission. You can safely navigate away from this page and we will email you if the submission fails to process.\",\"remove_never_drop_rule\":\"Remove never drop rule\",\"remove_unsaved_never_drop_rule\":\"Remove unsaved never drop rule\",\"rules_text\":{\"one\":\"1 Rule\",\"other\":\"%{count} Rules\"},\"titles\":{\"add_assignment_group\":\"Add Assignment Group\",\"uploading\":\"Uploading Submission\"},\"toggle_message\":\"toggle assignment visibility\",\"undated_assignments\":\"Undated Assignments\",\"upcoming_assignments\":\"Upcoming Assignments\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"Attached files must be greater than 0 bytes.\",\"available_from_f84e4611\":\"Available from\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} Please make sure %{name} has a due date.\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} Please make sure %{name} has a due date and name is not too long.\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} Please make sure %{name} name is not too long.\",\"button\":{\"submit_assignment\":\"Submit Assignment\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"Can't unpublish %{name} if there are student submissions\",\"changes_you_made_may_not_be_saved_4e8db973\":\"Changes you made may not be saved.\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"Continue typing to find additional sections or students.\",\"count_assignments_found_17520826\":{\"one\":\"1 assignment found.\",\"other\":\"%{count} assignments found.\",\"zero\":\"No matching assignments found.\"},\"course_section_7a988066\":\"Course Section\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"Currently assigned to %{tokenName}, click to remove\",\"delete_assignment_group_7c3b01c4\":\"Delete\",\"disabling_sync_to_name_failed_e7521ebb\":\"Disabling Sync to %{name} failed\",\"due_a73610f6\":\"Due\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"The due date cannot be after the lock date.\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"The due date cannot be before the unlock date.\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Due date falls in a closed Grading Period\",\"due_date_set_1c6364db\":\"Due Date Set\",\"edit_assignment_ebf22a72\":\"Edit Assignment\",\"errors\":{\"no_attached_file\":\"You must attach at least one file to this assignment\",\"wrong_file_extension\":\"The file you selected with extension \\\"%{extension}\\\", is not authorized for submission\"},\"everyone_854554dd\":\"Everyone\",\"everyone_else_6c6dc7b6\":\"Everyone Else\",\"file_tree_collapsed_d4b0ae96\":\"File tree collapsed\",\"file_tree_expanded_a1d20c4a\":\"File tree expanded\",\"final_grader_can_view_other_grader_names_67736530\":\"Final grader can view other grader names\",\"grader_that_determines_final_grade_cc55f20\":\"Grader that determines final grade\",\"graders_can_view_each_other_s_comments_d836b848\":\"Graders can view each other's comments\",\"group_a8f5ed9c\":\"Group\",\"immediately_c128ede6\":\"Immediately\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"Keep in mind, this submission will count for everyone in your %{groupType} group.\",\"loading_25990131\":\"Loading...\",\"mastery_paths_cc4096c2\":\"Mastery Paths\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"Moderated grading cannot be enabled for group assignments.\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"Moderated grading cannot be enabled for peer reviewed assignments.\",\"moderated_grading_e6127f72\":\"Moderated Grading\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"Moderated grading setting cannot be changed if graded submissions exist.\",\"move_assignment_6f890f64\":\"Move Assignment\",\"move_contents_into_f3e4fd9d\":\"Move Contents Into\",\"move_group_3dd7f76e\":\"Move Group\",\"must_be_a_valid_number_59f0069\":\"Must be a valid number\",\"must_have_at_least_1_grader_d4a54e85\":\"Must have at least 1 grader\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} is locked. Click to unlock\",\"name_is_too_long_48daa8db\":\"Name is too long\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"Name is too long, must be under %{length} characters\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name} is unlocked. Click to lock.\",\"never_df100b49\":\"Never\",\"no_results_found_58717065\":\"No results found\",\"number_of_graders_cde8dd54\":\"Number of graders\",\"remove_empty_attachment_b2aea632\":\"remove empty attachment\",\"remove_filename_87f3781e\":\"remove %{filename}\",\"remove_these_dates_48453a81\":\"Remove These Dates\",\"searching_b0207e7f\":\"Searching...\",\"select_grader_782af48\":\"Select Grader\",\"selected_filename_7552a8c0\":\"selected %{filename}\",\"show_by_709f525b\":\"Show By\",\"show_by_date_e3967761\":\"Show by Date\",\"show_by_type_c5d61732\":\"Show by Type\",\"show_report_to_students_a07888a6\":\"Show report to students\",\"student_5da6bfd1\":\"Student\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"Sync to %{name} disabled. Click to toggle.\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"Sync to %{name} enabled. Click to toggle.\",\"sync_to_name_successfully_disabled_8045ad95\":\"Sync to %{name} successfully disabled\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"The mark for this assignment will not sync to the student information system.\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"The mark for this assignment will sync to the student information system.\",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"The launched tool returned an invalid resource for this assignment\",\"there_are_currently_maxgradercount_available_grade_9ab81123\":\"There are currently %{maxGraderCount} available graders\",\"there_is_currently_1_available_grader_758e4a21\":\"There is currently 1 available grader\",\"until_4a1f8cda\":\"Until\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"Use this list to remove assigned students. Add new students with combo box after list.\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"You cannot use a number greater than the number of assignments\",\"you_must_select_an_assignment_group_c16a2168\":\"You must select an assignment group.\",\"you_must_use_a_number_912ce4bd\":\"You must use a number\",\"you_must_use_a_positive_number_203b86fe\":\"You must use a positive number\"},\"en-CA\":{\"a_name_is_required_b5df38a9\":\"A name is required\",\"add_8523c19b\":\"Add\",\"add_new_set_of_due_dates_e8e240f\":\"Add new set of due dates\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"Add students by searching by name, course section or group. After entering text, navigate results by using the down arrow key. Select a result by using the Enter key.\",\"after_the_assignment_is_graded_53754607\":\"After the assignment is graded\",\"after_the_due_date_eee89c9c\":\"After the due date\",\"allow_moderator_to_review_multiple_independent_gra_c59d64f6\":\"Allow moderator to review multiple independent grades for selected submissions\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"Are you sure you want to cancel? Changes you made may not be saved.\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"Are you sure you want to delete this assignment?\",\"assign_to_c46e21\":\"Assign to\",\"assignment_group_1a781505\":\"Assignment Group\",\"assignment_group_was_saved_successfully_5caa27d3\":\"Assignment group was saved successfully\",\"assignment_was_deleted_8320d26d\":\"Assignment was deleted\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"Submit Assignment\"},\"cannot_delete_group\":\"You must have at least one Assignment Group\",\"complete\":\"Complete\",\"confirm_delete_group\":\"Are you sure you want to delete this Assignment Group?\",\"drop_highest_rule\":{\"one\":\"Drop the highest score\",\"other\":\"Drop the highest %{count} scores\"},\"drop_lowest_rule\":{\"one\":\"Drop the lowest score\",\"other\":\"Drop the lowest %{count} scores\"},\"everyone_else\":\"Everyone else\",\"file_retrieval_error\":\"Retrieving File Failed\",\"getting_file\":\"Retrieving File...\",\"grade_gpa_scale_screenreader\":\"Grade: %{grade}\",\"grade_letter_grade_screenreader\":\"Grade: %{grade}\",\"grade_pass_fail_screenreader\":\"Grade: %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"Grade: %{grade}%\",\"incomplete\":\"Incomplete\",\"invalid_file_retrieval\":\"There was a problem retrieving the file sent from this tool.\",\"keyboard_add_item\":\"Add an assignment to selected group\",\"keyboard_close_menu\":\"Close the active dialog\",\"keyboard_del_item\":\"Delete the current assignment or group\",\"keyboard_edit_item\":\"Edit the current assignment or group\",\"keyboard_next_item\":\"Focus on the next assignment or group\",\"keyboard_prev_item\":\"Focus on the previous assignment or group\",\"keyboard_show_assign\":\"Show full preview of the selected assignment\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"You must agree to the submission pledge before you can submit this assignment.\",\"not_submitted_yet\":\"You haven't finished submitting your assignment.  You still need to click \\\"Submit\\\" to finish turning it in.  Do you want to leave this page anyway?\",\"now_overdue\":\"This assignment is now overdue.  Any new submissions will be marked as late.  Continue anyway?\",\"overdue\":\"This assignment is overdue.  Do you still want to submit it?\",\"record_before_submitting\":\"Record Before Submitting\",\"submit_failed\":\"Submit Failed, please try again\",\"submitting\":\"Submitting...\"},\"name_is_required\":\"Name is required!\",\"never_drop_rule\":\"Never drop %{assignment_name}\",\"no_tools_found\":\"No tools found\",\"overdue_assignments\":\"Overdue Assignments\",\"past_assignments\":\"Past Assignments\",\"points_possible_number\":\"Points possible must be a number\",\"processing_submission\":\"Canvas is currently processing your submission. You can safely navigate away from this page and we will email you if the submission fails to process.\",\"remove_never_drop_rule\":\"Remove never drop rule\",\"remove_unsaved_never_drop_rule\":\"Remove unsaved never drop rule\",\"rules_text\":{\"one\":\"1 Rule\",\"other\":\"%{count} Rules\"},\"titles\":{\"add_assignment_group\":\"Add Assignment Group\",\"uploading\":\"Uploading Submission\"},\"toggle_message\":\"toggle assignment visibility\",\"undated_assignments\":\"Undated Assignments\",\"upcoming_assignments\":\"Upcoming Assignments\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"Attached files must be greater than 0 bytes\",\"available_from_f84e4611\":\"Available from\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} Please make sure %{name} has a due date.\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} Please make sure %{name} has a due date and name is not too long.\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} Please make sure %{name} name is not too long.\",\"button\":{\"submit_assignment\":\"Submit Assignment\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"Can't unpublish %{name} if there are student submissions\",\"changes_you_made_may_not_be_saved_4e8db973\":\"Changes you made may not be saved.\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"Continue typing to find additional sections or students.\",\"count_assignments_found_17520826\":{\"one\":\"1 assignment found.\",\"other\":\"%{count} assignments found.\",\"zero\":\"No matching assignments found.\"},\"course_section_7a988066\":\"Course Section\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"Currently assigned to %{tokenName}, click to remove\",\"delete_assignment_group_7c3b01c4\":\"Delete Assignment Group\",\"disabling_sync_to_name_failed_e7521ebb\":\"Disabling Sync to %{name} failed\",\"due_a73610f6\":\"Due\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"Due date cannot be after lock date\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"Due date cannot be before unlock date\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Due date falls in a closed Grading Period\",\"due_date_set_1c6364db\":\"Due Date Set\",\"edit_assignment_ebf22a72\":\"Edit Assignment\",\"errors\":{\"no_attached_file\":\"You must attach at least one file to this assignment\",\"wrong_file_extension\":\"The file you selected with extension \\\"%{extension}\\\", is not authorized for submission\"},\"everyone_854554dd\":\"Everyone\",\"everyone_else_6c6dc7b6\":\"Everyone Else\",\"file_tree_collapsed_d4b0ae96\":\"File tree collapsed\",\"file_tree_expanded_a1d20c4a\":\"File tree expanded\",\"final_grader_can_view_other_grader_names_67736530\":\"Final grader can view other grader names\",\"grader_that_determines_final_grade_cc55f20\":\"Grader that determines final grade\",\"graders_can_view_each_other_s_comments_d836b848\":\"Graders can view each other's comments\",\"group_a8f5ed9c\":\"Group\",\"immediately_c128ede6\":\"Immediately\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"Keep in mind, this submission will count for everyone in your %{groupType} group.\",\"loading_25990131\":\"Loading...\",\"mastery_paths_cc4096c2\":\"Mastery Paths\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"Moderated grading cannot be enabled for group assignments\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"Moderated grading cannot be enabled for peer reviewed assignments\",\"moderated_grading_e6127f72\":\"Moderated Grading\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"Moderated grading setting cannot be changed if graded submissions exist\",\"move_assignment_6f890f64\":\"Move Assignment\",\"move_contents_into_f3e4fd9d\":\"Move Contents Into\",\"move_group_3dd7f76e\":\"Move Group\",\"must_be_a_valid_number_59f0069\":\"Must be a valid number\",\"must_have_at_least_1_grader_d4a54e85\":\"Must have at least 1 grader\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} is locked. Click to unlock\",\"name_is_too_long_48daa8db\":\"Name is too long\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"Name is too long, must be under %{length} characters\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name} is unlocked. Click to lock.\",\"never_df100b49\":\"Never\",\"no_results_found_58717065\":\"No results found\",\"number_of_graders_cde8dd54\":\"Number of graders\",\"remove_empty_attachment_b2aea632\":\"remove empty attachment\",\"remove_filename_87f3781e\":\"remove %{filename}\",\"remove_these_dates_48453a81\":\"Remove These Dates\",\"searching_b0207e7f\":\"Searching\",\"select_grader_782af48\":\"Select Grader\",\"selected_filename_7552a8c0\":\"selected %{filename}\",\"show_by_709f525b\":\"Show By\",\"show_by_date_e3967761\":\"Show by Date\",\"show_by_type_c5d61732\":\"Show by Type\",\"show_report_to_students_a07888a6\":\"Show report to students\",\"student_5da6bfd1\":\"Student\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"Sync to %{name} disabled. Click to toggle.\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"Sync to %{name} enabled. Click to toggle.\",\"sync_to_name_successfully_disabled_8045ad95\":\"Sync to %{name} successfully disabled\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"The grade for this assignment will not sync to the student information system.\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"The grade for this assignment will sync to the student information system.\",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"The launched tool returned an invalid resource for this assignment\",\"there_are_currently_maxgradercount_available_grade_9ab81123\":\"There are currently %{maxGraderCount} available graders\",\"there_is_currently_1_available_grader_758e4a21\":\"There is currently 1 available grader\",\"until_4a1f8cda\":\"Until\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"Use this list to remove assigned students. Add new students with combo box after list.\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"You cannot use a number greater than the number of assignments\",\"you_must_select_an_assignment_group_c16a2168\":\"You must select an assignment group.\",\"you_must_use_a_number_912ce4bd\":\"You must use a number\",\"you_must_use_a_positive_number_203b86fe\":\"You must use a positive number\"},\"en-GB\":{\"a_name_is_required_b5df38a9\":\"A name is required\",\"add_8523c19b\":\"Add\",\"add_new_set_of_due_dates_e8e240f\":\"Add new set of due dates\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"Add students by searching by name, course section or group. After entering text, navigate results by using the down arrow key. Select a result by using the Enter key.\",\"after_the_assignment_is_graded_53754607\":\"After the assignment is graded\",\"after_the_due_date_eee89c9c\":\"After the due date\",\"allow_moderator_to_review_multiple_independent_gra_c59d64f6\":\"Allow moderator to review multiple independent grades for selected submissions\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"Are you sure you want to cancel? Changes you made may not be saved.\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"Are you sure you want to delete this assignment?\",\"assign_to_c46e21\":\"Assign to\",\"assignment_group_1a781505\":\"Assignment group\",\"assignment_group_was_saved_successfully_5caa27d3\":\"Assignment group was saved successfully\",\"assignment_was_deleted_8320d26d\":\"Assignment was deleted\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"Submit assignment\"},\"cannot_delete_group\":\"You must have at least one assignment group\",\"complete\":\"Complete\",\"confirm_delete_group\":\"Are you sure you want to delete this assignment group?\",\"drop_highest_rule\":{\"one\":\"Drop the highest score\",\"other\":\"Drop the highest %{count} scores\"},\"drop_lowest_rule\":{\"one\":\"Drop the lowest score\",\"other\":\"Drop the lowest %{count} scores\"},\"everyone_else\":\"Everyone else\",\"file_retrieval_error\":\"Retrieving file failed\",\"getting_file\":\"Retrieving file...\",\"grade_gpa_scale_screenreader\":\"Grade: %{grade}\",\"grade_letter_grade_screenreader\":\"Grade: %{grade}\",\"grade_pass_fail_screenreader\":\"Grade: %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"Grade: %{grade}%\",\"incomplete\":\"Incomplete\",\"invalid_file_retrieval\":\"There was a problem retrieving the file sent from this tool.\",\"keyboard_add_item\":\"Add an assignment to selected group\",\"keyboard_close_menu\":\"Close the active dialog\",\"keyboard_del_item\":\"Delete the current assignment or group\",\"keyboard_edit_item\":\"Edit the current assignment or group\",\"keyboard_next_item\":\"Focus on the next assignment or group\",\"keyboard_prev_item\":\"Focus on the previous assignment or group\",\"keyboard_show_assign\":\"Show full preview of the selected assignment\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"You must agree to the submission pledge before you can submit this assignment.\",\"not_submitted_yet\":\"You haven't finished submitting your assignment.  You still need to click \\\"Submit\\\" to finish turning it in.  Do you want to leave this page anyway?\",\"now_overdue\":\"This assignment is now overdue.  Any new submissions will be marked as late.  Continue anyway?\",\"overdue\":\"This assignment is overdue.  Do you still want to submit it?\",\"record_before_submitting\":\"Record before submitting\",\"submit_failed\":\"Submit failed, please try again\",\"submitting\":\"Submitting...\"},\"name_is_required\":\"Name is required!\",\"never_drop_rule\":\"Never drop %{assignment_name}\",\"no_tools_found\":\"No tools found\",\"overdue_assignments\":\"Overdue assignments\",\"past_assignments\":\"Past assignments\",\"points_possible_number\":\"Points possible must be a number\",\"processing_submission\":\"Canvas is currently processing your submission. You can safely navigate away from this page and we will email you if the submission fails to process.\",\"remove_never_drop_rule\":\"Remove never drop rule\",\"remove_unsaved_never_drop_rule\":\"Remove unsaved never drop rule\",\"rules_text\":{\"one\":\"1 Rule\",\"other\":\"%{count} Rules\"},\"titles\":{\"add_assignment_group\":\"Add assignment group\",\"uploading\":\"Uploading submission\"},\"toggle_message\":\"toggle assignment visibility\",\"undated_assignments\":\"Undated assignments\",\"upcoming_assignments\":\"Upcoming assignments\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"Attached files must be greater than 0 bytes\",\"available_from_f84e4611\":\"Available from\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} Please make sure %{name} has a due date.\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} Please make sure %{name} has a due date and name is not too long.\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} Please make sure %{name} name is not too long.\",\"button\":{\"submit_assignment\":\"Submit assignment\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"Cannot unpublish %{name} if there are student submissions\",\"changes_you_made_may_not_be_saved_4e8db973\":\"Changes you made may not be saved.\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"Continue typing to find additional sections or students.\",\"count_assignments_found_17520826\":{\"one\":\"1 assignment found.\",\"other\":\"%{count} assignments found.\",\"zero\":\"No matching assignments found.\"},\"course_section_7a988066\":\"Course section\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"Currently assigned to %{tokenName}, click to remove\",\"delete_assignment_group_7c3b01c4\":\"Delete Assignment Group\",\"disabling_sync_to_name_failed_e7521ebb\":\"Disabling Sync to %{name} failed\",\"due_a73610f6\":\"Due\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"Due date cannot be after lock date\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"Due date cannot be before unlock date\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Due date falls in a closed grading period\",\"due_date_set_1c6364db\":\"Due Date Set\",\"edit_assignment_ebf22a72\":\"Edit assignment\",\"errors\":{\"no_attached_file\":\"You must attach at least one file to this assignment\",\"wrong_file_extension\":\"The file you selected with extension \\\"%{extension}\\\", is not authorised for submission\"},\"everyone_854554dd\":\"Everyone\",\"everyone_else_6c6dc7b6\":\"Everyone else\",\"file_tree_collapsed_d4b0ae96\":\"File tree collapsed\",\"file_tree_expanded_a1d20c4a\":\"File tree expanded\",\"final_grader_can_view_other_grader_names_67736530\":\"Final grader can view other grader names\",\"grader_that_determines_final_grade_cc55f20\":\"Grader that determines final grade\",\"graders_can_view_each_other_s_comments_d836b848\":\"Graders can view each other's comments\",\"group_a8f5ed9c\":\"Group\",\"immediately_c128ede6\":\"Immediately\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"Keep in mind, this submission will count for everyone in your %{groupType} group.\",\"loading_25990131\":\"Loading...\",\"mastery_paths_cc4096c2\":\"Mastery paths\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"Moderated grading cannot be enabled for group assignments\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"Moderated grading cannot be enabled for peer-reviewed assignments\",\"moderated_grading_e6127f72\":\"Moderated grading\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"Moderated grading setting cannot be changed if grading submissions exist\",\"move_assignment_6f890f64\":\"Move Assignment\",\"move_contents_into_f3e4fd9d\":\"Move contents to\",\"move_group_3dd7f76e\":\"Move group\",\"must_be_a_valid_number_59f0069\":\"Must be a valid number\",\"must_have_at_least_1_grader_d4a54e85\":\"Must have at least 1 grader\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} is locked. Click to unlock\",\"name_is_too_long_48daa8db\":\"Name is too long\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"Name is too long, must be under %{length} characters\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name} is unlocked. Click to lock.\",\"never_df100b49\":\"Never\",\"no_results_found_58717065\":\"No results found\",\"number_of_graders_cde8dd54\":\"Number of graders\",\"remove_empty_attachment_b2aea632\":\"remove empty attachment\",\"remove_filename_87f3781e\":\"remove %{filename}\",\"remove_these_dates_48453a81\":\"Remove these dates\",\"searching_b0207e7f\":\"searching...\",\"select_grader_782af48\":\"Select Grader\",\"selected_filename_7552a8c0\":\"selected %{filename}\",\"show_by_709f525b\":\"Show by\",\"show_by_date_e3967761\":\"Show by date\",\"show_by_type_c5d61732\":\"Show by Type\",\"show_report_to_students_a07888a6\":\"Show report to students\",\"student_5da6bfd1\":\"Student\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"Sync to %{name} disabled. Click to toggle.\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"Sync to %{name} enabled. Click to toggle.\",\"sync_to_name_successfully_disabled_8045ad95\":\"Sync to %{name} successfully disabled\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"The grade for this assignment will not sync to the student information system.\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"The grade for this assignment will sync to the student information system.\",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"The launched tool returned an invalid resource for this assignment\",\"there_are_currently_maxgradercount_available_grade_9ab81123\":\"There are currently %{maxGraderCount} available graders\",\"there_is_currently_1_available_grader_758e4a21\":\"There is currently 1 available grader\",\"until_4a1f8cda\":\"Until\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"Use this list to remove assigned students. Add new students with combo box after list.\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"You cannot use a number greater than the number of assignments\",\"you_must_select_an_assignment_group_c16a2168\":\"You must select an assignment group.\",\"you_must_use_a_number_912ce4bd\":\"You must use a number\",\"you_must_use_a_positive_number_203b86fe\":\"You must use a positive number\"},\"en-GB-x-lbs\":{\"a_name_is_required_b5df38a9\":\"A name is required\",\"add_8523c19b\":\"Add\",\"add_new_set_of_due_dates_e8e240f\":\"Add new set of due dates\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"Add students by searching by name, programme section or group. After entering text, navigate results by using the down arrow key. Select a result by using the Enter key.\",\"after_the_assignment_is_graded_53754607\":\"After the task is graded\",\"after_the_due_date_eee89c9c\":\"After the due date\",\"allow_moderator_to_review_multiple_independent_gra_c59d64f6\":\"Allow moderator to review multiple independent grades for selected submissions\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"Are you sure you want to cancel? Changes you made may not be saved.\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"Are you sure you want to delete this task?\",\"assign_to_c46e21\":\"Assign to\",\"assignment_group_1a781505\":\"Task group\",\"assignment_group_was_saved_successfully_5caa27d3\":\"Task group was saved successfully\",\"assignment_was_deleted_8320d26d\":\"Task was deleted\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"Submit task\"},\"cannot_delete_group\":\"You must have at least one task group\",\"complete\":\"Complete\",\"confirm_delete_group\":\"Are you sure you want to delete this task group?\",\"drop_highest_rule\":{\"one\":\"Drop the highest score\",\"other\":\"Drop the highest %{count} scores\"},\"drop_lowest_rule\":{\"one\":\"Drop the lowest score\",\"other\":\"Drop the lowest %{count} scores\"},\"everyone_else\":\"Everyone else\",\"file_retrieval_error\":\"Retrieving file failed\",\"getting_file\":\"Retrieving file...\",\"grade_gpa_scale_screenreader\":\"Grade: %{grade}\",\"grade_letter_grade_screenreader\":\"Grade: %{grade}\",\"grade_pass_fail_screenreader\":\"Grade: %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"Grade: %{grade}%\",\"incomplete\":\"Incomplete\",\"invalid_file_retrieval\":\"There was a problem retrieving the file sent from this tool.\",\"keyboard_add_item\":\"Add a task to selected group\",\"keyboard_close_menu\":\"Close the active dialog\",\"keyboard_del_item\":\"Delete the current task or group\",\"keyboard_edit_item\":\"Edit the current task or group\",\"keyboard_next_item\":\"Focus on the next task or group\",\"keyboard_prev_item\":\"Focus on the previous task or group\",\"keyboard_show_assign\":\"Show full preview of the selected task\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"You must agree to the submission pledge before you can submit this task.\",\"not_submitted_yet\":\"You haven't finished submitting your task.  You still need to click \\\"Submit\\\" to finish turning it in.  Do you want to leave this page anyway?\",\"now_overdue\":\"This task is now overdue.  Any new submissions will be marked as late.  Continue anyway?\",\"overdue\":\"This task is overdue.  Do you still want to submit it?\",\"record_before_submitting\":\"Record before submitting\",\"submit_failed\":\"Submit failed, please try again\",\"submitting\":\"Submitting...\"},\"name_is_required\":\"Name is required!\",\"never_drop_rule\":\"Never drop %{assignment_name}\",\"no_tools_found\":\"No tools found\",\"overdue_assignments\":\"Overdue tasks\",\"past_assignments\":\"Past tasks\",\"points_possible_number\":\"Points possible must be a number\",\"processing_submission\":\"Canvas is currently processing your submission. You can safely navigate away from this page and we will email you if the submission fails to process.\",\"remove_never_drop_rule\":\"Remove never drop rule\",\"remove_unsaved_never_drop_rule\":\"Remove unsaved never drop rule\",\"rules_text\":{\"one\":\"1 Rule\",\"other\":\"%{count} Rules\"},\"titles\":{\"add_assignment_group\":\"Add task group\",\"uploading\":\"Uploading submission\"},\"toggle_message\":\"toggle task visibility\",\"undated_assignments\":\"Undated tasks\",\"upcoming_assignments\":\"Upcoming tasks\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"Attached files must be greater than 0 bytes\",\"available_from_f84e4611\":\"Available from\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} Please make sure %{name} has a due date.\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} Please make sure %{name} has a due date and name is not too long.\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} Please make sure %{name} name is not too long.\",\"button\":{\"submit_assignment\":\"Submit task\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"Cannot unpublish %{name} if there are student submissions\",\"changes_you_made_may_not_be_saved_4e8db973\":\"Changes you made may not be saved.\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"Continue typing to find additional sections or students.\",\"count_assignments_found_17520826\":{\"one\":\"1 task found.\",\"other\":\"%{count} tasks found.\",\"zero\":\"No matching tasks found.\"},\"course_section_7a988066\":\"Programme section\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"Currently assigned to %{tokenName}, click to remove\",\"delete_assignment_group_7c3b01c4\":\"Delete task group\",\"disabling_sync_to_name_failed_e7521ebb\":\"Disabling Sync to %{name} failed\",\"due_a73610f6\":\"Due\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"Due date cannot be after lock date\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"Due date cannot be before unlock date\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Due date falls in a closed grading period\",\"due_date_set_1c6364db\":\"Due Date Set\",\"edit_assignment_ebf22a72\":\"Edit task\",\"errors\":{\"no_attached_file\":\"You must attach at least one file to this task\",\"wrong_file_extension\":\"The file you selected with extension \\\"%{extension}\\\", is not authorised for submission\"},\"everyone_854554dd\":\"Everyone\",\"everyone_else_6c6dc7b6\":\"Everyone else\",\"file_tree_collapsed_d4b0ae96\":\"File tree collapsed\",\"file_tree_expanded_a1d20c4a\":\"File tree expanded\",\"final_grader_can_view_other_grader_names_67736530\":\"Final grader can view other grader names\",\"grader_that_determines_final_grade_cc55f20\":\"Grader that determines final grade\",\"graders_can_view_each_other_s_comments_d836b848\":\"Graders can view each other's comments\",\"group_a8f5ed9c\":\"Group\",\"immediately_c128ede6\":\"Immediately\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"Keep in mind, this submission will count for everyone in your %{groupType} group.\",\"loading_25990131\":\"Loading...\",\"mastery_paths_cc4096c2\":\"Mastery paths\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"Moderated grading cannot be enabled for group tasks\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"Moderated grading cannot be enabled for peer-reviewed tasks\",\"moderated_grading_e6127f72\":\"Moderated grading\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"Moderated grading setting cannot be changed if grading submissions exist\",\"move_assignment_6f890f64\":\"Move task\",\"move_contents_into_f3e4fd9d\":\"Move contents to\",\"move_group_3dd7f76e\":\"Move group\",\"must_be_a_valid_number_59f0069\":\"Must be a valid number\",\"must_have_at_least_1_grader_d4a54e85\":\"Must have at least 1 grader\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} is locked. Click to unlock\",\"name_is_too_long_48daa8db\":\"Name is too long\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"Name is too long, must be under %{length} characters\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name} is unlocked. Click to lock.\",\"never_df100b49\":\"Never\",\"no_results_found_58717065\":\"No results found\",\"number_of_graders_cde8dd54\":\"Number of graders\",\"remove_empty_attachment_b2aea632\":\"remove empty attachment\",\"remove_filename_87f3781e\":\"remove %{filename}\",\"remove_these_dates_48453a81\":\"Remove these dates\",\"searching_b0207e7f\":\"searching...\",\"select_grader_782af48\":\"Select Grader\",\"selected_filename_7552a8c0\":\"selected %{filename}\",\"show_by_709f525b\":\"Show by\",\"show_by_date_e3967761\":\"Show by date\",\"show_by_type_c5d61732\":\"Show by Type\",\"student_5da6bfd1\":\"Student\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"Sync to %{name} disabled. Click to toggle.\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"Sync to %{name} enabled. Click to toggle.\",\"sync_to_name_successfully_disabled_8045ad95\":\"Sync to %{name} successfully disabled\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"The grade for this task will not sync to the student information system.\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"The grade for this task will sync to the student information system.\",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"The launched tool returned an invalid resource for this task\",\"there_are_currently_maxgradercount_available_grade_9ab81123\":\"There are currently %{maxGraderCount} available graders\",\"there_is_currently_1_available_grader_758e4a21\":\"There is currently 1 available grader\",\"until_4a1f8cda\":\"Until\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"Use this list to remove assigned students. Add new students with combo box after list.\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"You cannot use a number greater than the number of tasks\",\"you_must_use_a_number_912ce4bd\":\"You must use a number\",\"you_must_use_a_positive_number_203b86fe\":\"You must use a positive number\"},\"en-GB-x-ukhe\":{\"a_name_is_required_b5df38a9\":\"A name is required\",\"add_8523c19b\":\"Add\",\"add_new_set_of_due_dates_e8e240f\":\"Add new set of due dates\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"Add students by searching by name, module section or group. After entering text, navigate results by using the down arrow key. Select a result by using the Enter key.\",\"after_the_assignment_is_graded_53754607\":\"After the assignment is graded\",\"after_the_due_date_eee89c9c\":\"After the due date\",\"allow_moderator_to_review_multiple_independent_gra_c59d64f6\":\"Allow moderator to review multiple independent grades for selected submissions\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"Are you sure you want to cancel? Changes you made may not be saved.\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"Are you sure you want to delete this assignment?\",\"assign_to_c46e21\":\"Assign to\",\"assignment_group_1a781505\":\"Assignment group\",\"assignment_group_was_saved_successfully_5caa27d3\":\"Assignment group was saved successfully\",\"assignment_was_deleted_8320d26d\":\"Assignment was deleted\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"Submit assignment\"},\"cannot_delete_group\":\"You must have at least one assignment group\",\"complete\":\"Complete\",\"confirm_delete_group\":\"Are you sure you want to delete this assignment group?\",\"drop_highest_rule\":{\"one\":\"Drop the highest score\",\"other\":\"Drop the highest %{count} scores\"},\"drop_lowest_rule\":{\"one\":\"Drop the lowest score\",\"other\":\"Drop the lowest %{count} scores\"},\"everyone_else\":\"Everyone else\",\"file_retrieval_error\":\"Retrieving file failed\",\"getting_file\":\"Retrieving file...\",\"grade_gpa_scale_screenreader\":\"Grade: %{grade}\",\"grade_letter_grade_screenreader\":\"Grade: %{grade}\",\"grade_pass_fail_screenreader\":\"Grade: %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"Grade: %{grade}%\",\"incomplete\":\"Incomplete\",\"invalid_file_retrieval\":\"There was a problem retrieving the file sent from this tool.\",\"keyboard_add_item\":\"Add an assignment to selected group\",\"keyboard_close_menu\":\"Close the active dialog\",\"keyboard_del_item\":\"Delete the current assignment or group\",\"keyboard_edit_item\":\"Edit the current assignment or group\",\"keyboard_next_item\":\"Focus on the next assignment or group\",\"keyboard_prev_item\":\"Focus on the previous assignment or group\",\"keyboard_show_assign\":\"Show full preview of the selected assignment\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"You must agree to the submission pledge before you can submit this assignment.\",\"not_submitted_yet\":\"You haven't finished submitting your assignment.  You still need to click \\\"Submit\\\" to finish turning it in.  Do you want to leave this page anyway?\",\"now_overdue\":\"This assignment is now overdue.  Any new submissions will be marked as late.  Continue anyway?\",\"overdue\":\"This assignment is overdue.  Do you still want to submit it?\",\"record_before_submitting\":\"Record before submitting\",\"submit_failed\":\"Submit failed, please try again\",\"submitting\":\"Submitting...\"},\"name_is_required\":\"Name is required!\",\"never_drop_rule\":\"Never drop %{assignment_name}\",\"no_tools_found\":\"No tools found\",\"overdue_assignments\":\"Overdue assignments\",\"past_assignments\":\"Past assignments\",\"points_possible_number\":\"Points possible must be a number\",\"processing_submission\":\"Canvas is currently processing your submission. You can safely navigate away from this page and we will email you if the submission fails to process.\",\"remove_never_drop_rule\":\"Remove never drop rule\",\"remove_unsaved_never_drop_rule\":\"Remove unsaved never drop rule\",\"rules_text\":{\"one\":\"1 Rule\",\"other\":\"%{count} Rules\"},\"titles\":{\"add_assignment_group\":\"Add assignment group\",\"uploading\":\"Uploading submission\"},\"toggle_message\":\"toggle assignment visibility\",\"undated_assignments\":\"Undated assignments\",\"upcoming_assignments\":\"Upcoming assignments\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"Attached files must be greater than 0 bytes\",\"available_from_f84e4611\":\"Available from\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} Please make sure %{name} has a due date.\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} Please make sure %{name} has a due date and name is not too long.\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} Please make sure %{name} name is not too long.\",\"button\":{\"submit_assignment\":\"Submit assignment\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"Cannot unpublish %{name} if there are student submissions\",\"changes_you_made_may_not_be_saved_4e8db973\":\"Changes you made may not be saved.\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"Continue typing to find additional sections or students.\",\"count_assignments_found_17520826\":{\"one\":\"1 assignment found.\",\"other\":\"%{count} assignments found.\",\"zero\":\"No matching assignments found.\"},\"course_section_7a988066\":\"Module section\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"Currently assigned to %{tokenName}, click to remove\",\"delete_assignment_group_7c3b01c4\":\"Delete Assignment Group\",\"disabling_sync_to_name_failed_e7521ebb\":\"Disabling Sync to %{name} failed\",\"due_a73610f6\":\"Due\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"Due date cannot be after lock date\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"Due date cannot be before unlock date\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Due date falls in a closed grading period\",\"due_date_set_1c6364db\":\"Due Date Set\",\"edit_assignment_ebf22a72\":\"Edit assignment\",\"errors\":{\"no_attached_file\":\"You must attach at least one file to this assignment\",\"wrong_file_extension\":\"The file you selected with extension \\\"%{extension}\\\", is not authorised for submission\"},\"everyone_854554dd\":\"Everyone\",\"everyone_else_6c6dc7b6\":\"Everyone else\",\"file_tree_collapsed_d4b0ae96\":\"File tree collapsed\",\"file_tree_expanded_a1d20c4a\":\"File tree expanded\",\"final_grader_can_view_other_grader_names_67736530\":\"Final grader can view other grader names\",\"grader_that_determines_final_grade_cc55f20\":\"Grader that determines final grade\",\"graders_can_view_each_other_s_comments_d836b848\":\"Graders can view each other's comments\",\"group_a8f5ed9c\":\"Group\",\"immediately_c128ede6\":\"Immediately\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"Keep in mind, this submission will count for everyone in your %{groupType} group.\",\"loading_25990131\":\"Loading...\",\"mastery_paths_cc4096c2\":\"Mastery paths\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"Moderated grading cannot be enabled for group assignments\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"Moderated grading cannot be enabled for peer-reviewed assignments\",\"moderated_grading_e6127f72\":\"Moderated grading\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"Moderated grading setting cannot be changed if grading submissions exist\",\"move_assignment_6f890f64\":\"Move Assignment\",\"move_contents_into_f3e4fd9d\":\"Move contents to\",\"move_group_3dd7f76e\":\"Move group\",\"must_be_a_valid_number_59f0069\":\"Must be a valid number\",\"must_have_at_least_1_grader_d4a54e85\":\"Must have at least 1 grader\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} is locked. Click to unlock\",\"name_is_too_long_48daa8db\":\"Name is too long\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"Name is too long, must be under %{length} characters\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name} is unlocked. Click to lock.\",\"never_df100b49\":\"Never\",\"no_results_found_58717065\":\"No results found\",\"number_of_graders_cde8dd54\":\"Number of graders\",\"remove_empty_attachment_b2aea632\":\"remove empty attachment\",\"remove_filename_87f3781e\":\"remove %{filename}\",\"remove_these_dates_48453a81\":\"Remove these dates\",\"searching_b0207e7f\":\"searching...\",\"select_grader_782af48\":\"Select Grader\",\"selected_filename_7552a8c0\":\"selected %{filename}\",\"show_by_709f525b\":\"Show by\",\"show_by_date_e3967761\":\"Show by date\",\"show_by_type_c5d61732\":\"Show by Type\",\"show_report_to_students_a07888a6\":\"Show report to students\",\"student_5da6bfd1\":\"Student\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"Sync to %{name} disabled. Click to toggle.\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"Sync to %{name} enabled. Click to toggle.\",\"sync_to_name_successfully_disabled_8045ad95\":\"Sync to %{name} successfully disabled\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"The grade for this assignment will not sync to the student information system.\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"The grade for this assignment will sync to the student information system.\",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"The launched tool returned an invalid resource for this assignment\",\"there_are_currently_maxgradercount_available_grade_9ab81123\":\"There are currently %{maxGraderCount} available graders\",\"there_is_currently_1_available_grader_758e4a21\":\"There is currently 1 available grader\",\"until_4a1f8cda\":\"Until\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"Use this list to remove assigned students. Add new students with combo box after list.\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"You cannot use a number greater than the number of assignments\",\"you_must_select_an_assignment_group_c16a2168\":\"You must select an assignment group.\",\"you_must_use_a_number_912ce4bd\":\"You must use a number\",\"you_must_use_a_positive_number_203b86fe\":\"You must use a positive number\"},\"es\":{\"a_name_is_required_b5df38a9\":\"El nombre es obligatorio\",\"add_8523c19b\":\"Agregar\",\"add_new_set_of_due_dates_e8e240f\":\"Agregar nuevo conjunto de fechas límite\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"Agregue alumnos buscando por nombre, sección del curso o grupo. Después de ingresar texto, navegue a través de los resultados con la tecla de la flecha hacia abajo. Seleccione un resultado con la tecla Enter.\",\"after_the_assignment_is_graded_53754607\":\"Después de que la tarea se califique\",\"after_the_due_date_eee89c9c\":\"Después de la fecha límite\",\"allow_moderator_to_review_multiple_independent_gra_c59d64f6\":\"Permitir que el moderador revise varias calificaciones independientes para entregas seleccionadas\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"¿Está seguro que desea cancelar la operación? No se guardarán los cambios que realizó.\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"¿Está seguro que desea eliminar esta tarea?\",\"assign_to_c46e21\":\"Asignar a\",\"assignment_group_1a781505\":\"Grupo de tareas\",\"assignment_group_was_saved_successfully_5caa27d3\":\"El grupo de la tarea fue guardado con éxito\",\"assignment_was_deleted_8320d26d\":\"La tarea fue eliminada\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"Entregar tarea\"},\"cannot_delete_group\":\"Debe tener al menos un grupo de tareas\",\"complete\":\"Completo\",\"confirm_delete_group\":\"¿Está seguro que desea eliminar este grupo de tareas?\",\"drop_highest_rule\":{\"one\":\"Elimine el puntaje más alto\",\"other\":\"Elimine los %{count} puntajes más altos\"},\"drop_lowest_rule\":{\"one\":\"Elimine el puntaje más bajo\",\"other\":\"Elimine los %{count} puntajes más bajos\"},\"everyone_else\":\"Todos los demás\",\"file_retrieval_error\":\"Ha fallado la recuperación del archivo\",\"getting_file\":\"Recuperando archivo...\",\"grade_gpa_scale_screenreader\":\"Nota: %{grade}\",\"grade_letter_grade_screenreader\":\"Nota: %{grade}\",\"grade_pass_fail_screenreader\":\"Nota: %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"Nota: %{grade}%\",\"incomplete\":\"Incompleto\",\"invalid_file_retrieval\":\"Se ha producido un problema al intentar recuperar el archivo enviado desde esta herramienta.\",\"keyboard_add_item\":\"Agregar una tarea al grupo seleccionado\",\"keyboard_close_menu\":\"Cerrar el diálogo activo\",\"keyboard_del_item\":\"Eliminar la tarea o grupo actual\",\"keyboard_edit_item\":\"Editar la tarea o grupo actual\",\"keyboard_next_item\":\"Centrarse en la siguiente tarea o grupo\",\"keyboard_prev_item\":\"Centrarse en la tarea o grupo anterior\",\"keyboard_show_assign\":\"Mostrar la vista previa completa de la tarea seleccionada\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"Debe acceder al compromiso de presentación antes de poder entregar esta tarea.\",\"not_submitted_yet\":\"Aún no ha terminado de entregar su tarea. Todavía necesita hacer clic en “Entregar” para completar el proceso. ¿Desea abandonar esta página de todos modos?\",\"now_overdue\":\"Esta tarea está vencida. Cualquier presentación nueva será marcada como atrasada. ¿Desea continuar?\",\"overdue\":\"Esta tarea está atrasada. ¿Desea entregarla todavía?\",\"record_before_submitting\":\"Grabar antes de presentar\",\"submit_failed\":\"La presentación falló, intente de nuevo\",\"submitting\":\"Presentando...\"},\"name_is_required\":\"Es obligatorio escribir un nombre\",\"never_drop_rule\":\"No eliminar nunca %{assignment_name}\",\"no_tools_found\":\"No se han encontrado herramientas\",\"overdue_assignments\":\"Tareas atrasadas\",\"past_assignments\":\"Tareas anteriores\",\"points_possible_number\":\"Puntos posibles debe ser un número\",\"processing_submission\":\"Canvas está procesando su presentación actualmente. Puede abandonar esta página de forma segura. Le enviaremos un correo electrónico si la presentación no puede procesarse.\",\"remove_never_drop_rule\":\"Eliminar regla de nunca abandonar\",\"remove_unsaved_never_drop_rule\":\"Eliminar regla de nunca abandonar no guardada\",\"rules_text\":{\"one\":\"1 regla\",\"other\":\"%{count} reglas\"},\"titles\":{\"add_assignment_group\":\"Agregar grupo de tareas\",\"uploading\":\"Cargando la presentación\"},\"toggle_message\":\"cambiar la visibilidad de la tarea\",\"undated_assignments\":\"Tareas sin fecha\",\"upcoming_assignments\":\"Tareas próximas\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"Los archivos adjuntos deben ser más grandes que 0 bytes\",\"available_from_f84e4611\":\"Disponible desde\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} Asegúrese de que %{name} tenga una fecha de entrega.\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} Asegúrese de que %{name} tenga una fecha de entrega y el nombre no sea demasiado largo.\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} Asegúrese de que el nombre %{name} no sea demasiado largo.\",\"button\":{\"submit_assignment\":\"Entregar tarea\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"No se puede cancelar la publicación de %{name} si hay presentaciones de alumnos\",\"changes_you_made_may_not_be_saved_4e8db973\":\"No se guardarán los cambios que realizó.\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"Continúe escribiendo para encontrar secciones o alumnos adicionales.\",\"count_assignments_found_17520826\":{\"one\":\"Se encontró 1 tarea.\",\"other\":\"Se encontraron %{count} tareas.\",\"zero\":\"No se encontraron tareas que coincidan.\"},\"course_section_7a988066\":\"Sección del curso\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"Actualmente asignado a %{tokenName}, haga clic para eliminar\",\"delete_assignment_group_7c3b01c4\":\"Eliminar el grupo de asignaciones\",\"disabling_sync_to_name_failed_e7521ebb\":\"No se pudo desactivar la sincronización con %{name}\",\"due_a73610f6\":\"Fecha límite\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"La fecha de entrega no puede ser después de la fecha de bloqueo\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"La fecha de entrega no puede ser antes de la fecha de bloqueo\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"La fecha debida cae en un período de calificación cerrado\",\"due_date_set_1c6364db\":\"Fecha límite de entrega establecida\",\"edit_assignment_ebf22a72\":\"Editar tarea\",\"errors\":{\"no_attached_file\":\"Debe adjuntar al menos un archivo a esta tarea\",\"wrong_file_extension\":\"No se puede enviar el archivo que seleccionó con la extensión \\\"%{extension}\\\",  puesto que no tiene autorización\"},\"everyone_854554dd\":\"Todos\",\"everyone_else_6c6dc7b6\":\"Todos los demás\",\"file_tree_collapsed_d4b0ae96\":\"Árbol de archivos colapsado\",\"file_tree_expanded_a1d20c4a\":\"Árbol de archivos expandido\",\"final_grader_can_view_other_grader_names_67736530\":\"El calificador final puede ver el nombre de otros calificadores\",\"grader_that_determines_final_grade_cc55f20\":\"Calificador que determina la calificación final\",\"graders_can_view_each_other_s_comments_d836b848\":\"Los calificadores pueden ver los comentarios de otros calificadores\",\"group_a8f5ed9c\":\"Grupo\",\"immediately_c128ede6\":\"Inmediatamente\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"Recuerde, esta contribución contará para todos en su grupo %{groupType}.\",\"loading_25990131\":\"Cargando...\",\"mastery_paths_cc4096c2\":\"Caminos de dominio\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"La calificación moderada no puede ser habilitada para tareas\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"La calificación moderada no puede ser habilitada para tareas revisadas por pares\",\"moderated_grading_e6127f72\":\"Calificación moderada\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"La calificación moderada no puede ser cambiada si existen presentaciones calificadas\",\"move_assignment_6f890f64\":\"Mover tarea\",\"move_contents_into_f3e4fd9d\":\"Mover contenido a\",\"move_group_3dd7f76e\":\"Mover grupo\",\"must_be_a_valid_number_59f0069\":\"Debe ser un número válido\",\"must_have_at_least_1_grader_d4a54e85\":\"Debe tener al menos 1 calificador\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} está bloqueado. Hacer clic para desbloquear\",\"name_is_too_long_48daa8db\":\"El nombre es demasiado largo\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"El nombre es demasiado largo, debe tener menos de %{length} caracteres\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name} está desbloqueado. Hacer clic para bloquear.\",\"never_df100b49\":\"Nunca\",\"no_results_found_58717065\":\"No se encontraron resultados\",\"number_of_graders_cde8dd54\":\"Cantidad de calificadores\",\"remove_empty_attachment_b2aea632\":\"Eliminar el archivo adjunto vacío\",\"remove_filename_87f3781e\":\"eliminar %{filename}\",\"remove_these_dates_48453a81\":\"Eliminar estas fechas\",\"searching_b0207e7f\":\"Buscando\",\"select_grader_782af48\":\"Seleccionar Calificador\",\"selected_filename_7552a8c0\":\"seleccionado %{filename}\",\"show_by_709f525b\":\"Mostrar por\",\"show_by_date_e3967761\":\"Mostrar por fecha\",\"show_by_type_c5d61732\":\"Mostrar por tipo\",\"student_5da6bfd1\":\"Alumno\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"Sincronización con %{name} desactivada. Hacer clic para cambiar.\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"Sincronización con %{name} activada. Hacer clic para cambiar.\",\"sync_to_name_successfully_disabled_8045ad95\":\"Sincronización con %{name} exitosamente desactivada\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"La calificación para esta tarea no se sincronizará con el sistema de información del alumno.\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"La calificación para esta tarea se sincronizará con el sistema de información del alumno.\",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"La herramienta que se ha ejecutado ha dado como resultado un recurso no válido para esta tarea\",\"there_are_currently_maxgradercount_available_grade_9ab81123\":\"En este momento hay %{maxGraderCount} calificadores disponibles\",\"there_is_currently_1_available_grader_758e4a21\":\"Actualmente hay 1 calificador disponible\",\"until_4a1f8cda\":\"Hasta\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"Utilice esta lista para eliminar alumnos con tareas asignadas. Agregar nuevos alumnos con el cuadro combinado después de la lista.\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"No puede utilizar un número mayor que el del número de tareas\",\"you_must_use_a_number_912ce4bd\":\"Debe utilizar un número\",\"you_must_use_a_positive_number_203b86fe\":\"Debe utilizar un número positivo\"},\"fa\":{\"a_name_is_required_b5df38a9\":\"یک نام لازم است\",\"add_8523c19b\":\"افزودن\",\"add_new_set_of_due_dates_e8e240f\":\"افزودن مجموعه جدید تاریخ های مهلت\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"افزودن دانشجویان با جستجوی نام، بخش یا گروه درس. پس از وارد کردن متن، نتایج را با استفاده از کلید جهت دار پایین پیمایش کنید. یک نتیجه را با استفاده از کلید Enter انتخاب کنید.\",\"after_the_assignment_is_graded_53754607\":\"بعد از اینکه تکلیف نمره گذاری شد\",\"after_the_due_date_eee89c9c\":\"بعد از تاریخ مهلت\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"آیا مطمئن هستید که می خواهید لغو شود؟ تغییرات انجام شده ممکن است ذخیره نشوند.\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"آیا مطمئن هستید که می خواهید این تکلیف را حذف کنید؟\",\"assign_to_c46e21\":\"اختصاص دادن به\",\"assignment_group_1a781505\":\"گروه تکلیف\",\"assignment_group_was_saved_successfully_5caa27d3\":\"گروه تکلیف با موفقیت ذخیره شد\",\"assignment_was_deleted_8320d26d\":\"تکلیف حذف شد\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"ارسال تکلیف\"},\"cannot_delete_group\":\"باید حداقل یک گروه تکلیف داشته باشید\",\"complete\":\"تکمیل است\",\"confirm_delete_group\":\"مطمئنید که می خواهید این تکلیف حذف شود؟\",\"drop_highest_rule\":{\"one\":\"حذف %{count} نمره بالاتر\",\"other\":\"حذف %{count} نمره بالاتر\"},\"drop_lowest_rule\":{\"one\":\"حذف %{count} نمره پایین تر\",\"other\":\"حذف %{count} نمره پایین تر\"},\"everyone_else\":\"هر شخص دیگر\",\"file_retrieval_error\":\"بازیابی فایل انجام نشد\",\"getting_file\":\"درحال بازیابی فایل...\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"نمره: %{grade}%\",\"incomplete\":\"ناقص\",\"invalid_file_retrieval\":\"در هنگام بازیابی فایل ارسال شده از این ابزار، اشکالی رخ داد.\",\"keyboard_add_item\":\"افزودن تکلیف به گروه انتخاب شده\",\"keyboard_close_menu\":\"بستن کادر گفتگوی فعال\",\"keyboard_del_item\":\"حذف تکلیف یا گروه فعلی\",\"keyboard_edit_item\":\"ویرایش تکلیف یا گروه فعلی\",\"keyboard_next_item\":\"تمرکز بر تکلیف یا گروه بعدی\",\"keyboard_prev_item\":\"تمرکز بر تکلیف یا گروه قبلی\",\"keyboard_show_assign\":\"نشان دادن پیش نمایش کامل تکلیف انتخاب شده\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"قبل از اینکه بتوانید این تکلیف را ارسال کنید، باید تعهد نامه ارسال را بپذیرید.\",\"not_submitted_yet\":\"ارسال تکلیف شما هنوز تمام نشده است. برای خاتمه دادن به فرایند تحویل باید روی «ارسال» کلیک کنید. به هر حال آیا مایلید از این صفحه خارج شوید؟\",\"now_overdue\":\"اکنون مهلت این تکلیف گذشته است. هر مورد ارسالی جدید به عنوان دارای تاخیر علامت گذاری خواهد شد. با این وجود ادامه می دهید؟\",\"overdue\":\"مهلت تکلیف گذشته است. هنوز می خواهید آن را ارسال کنید؟\",\"record_before_submitting\":\"ثبت قبل از ارسال\",\"submit_failed\":\"ارسال انجام نشد، لطفا دوباره سعی کنید\",\"submitting\":\"در حال ارسال...\"},\"name_is_required\":\"نام لازم است!\",\"never_drop_rule\":\"%{assignment_name} هرگز حذف نشود\",\"no_tools_found\":\"ابزاری یافت نشد\",\"overdue_assignments\":\"تکلیف های مهلت گذشته\",\"past_assignments\":\"تکلیف های گذشته\",\"points_possible_number\":\"امتیازهای ممکن باید یک عدد باشد\",\"remove_never_drop_rule\":\"حذف قاعده هرگز حذف نشود\",\"remove_unsaved_never_drop_rule\":\"حذف قانون ذخیره نشده هرگز حذف نشود\",\"rules_text\":{\"one\":\"%{count} قاعده\",\"other\":\"%{count} قاعده\"},\"titles\":{\"add_assignment_group\":\"افزودن گروه تکلیف\",\"uploading\":\"در حال بارگذاری مورد ارسالی\"},\"toggle_message\":\"تغییر قابلیت مشاهده تکلیف\",\"undated_assignments\":\"تکلیف های بدون تاریخ\",\"upcoming_assignments\":\"تکلیف های آتی\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"فایل های پیوست شده باید بزرگتر از 0 بایت باشند\",\"available_from_f84e4611\":\"قابل دسترسی از\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} مطمئن شوید که %{name} تاریخ مهلت دارد.\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} مطمئن شوید که %{name} تاریخ مهلت دارد و نام طولانی نیست.\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} مطمئن شوید که نام %{name} طولانی نیست.\",\"button\":{\"submit_assignment\":\"ارسال تکلیف\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"اگر موردهای ارسالی دانشجو وجود داشته باشد، نمی توان انتشار %{name} را لغو کرد\",\"changes_you_made_may_not_be_saved_4e8db973\":\"تغییرات انجام شده ممکن است ذخیره نشوند.\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"تایپ کردن برای یافتن بخش ها یا دانشجویان دیگر را ادامه دهید.\",\"count_assignments_found_17520826\":{\"one\":\"1 تکلیف موجود است.\",\"other\":\"%{count} تکلیف موجود است.\",\"zero\":\"هیچ تکلیف نظیر موجود نیست.\"},\"course_section_7a988066\":\"بخش درس\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"در حال حاضر به %{tokenName} مرتبط شده است، برای حذف کلیک کنید\",\"delete_assignment_group_7c3b01c4\":\"حذف تکلیف گروه\",\"disabling_sync_to_name_failed_e7521ebb\":\"غیرفعال کردن همگام‌سازی برای %{name} انجام نشد\",\"due_a73610f6\":\"مهلت\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"تاریخ مهلت نمی تواند بعد از تاریخ قفل کردن باشد\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"تاریخ مهلت نمی تواند قبل از تاریخ قفل گشایی باشد\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\" تاریخ سررسید در یک دوره‌ نمره‌گذاری بسته شده قرار دارد\",\"due_date_set_1c6364db\":\"تاریخ مهلت تعیین شد\",\"edit_assignment_ebf22a72\":\"ویرایش تکلیف\",\"errors\":{\"no_attached_file\":\"باید حداقل یک فایل را به این تکلیف پیوست کنید\",\"wrong_file_extension\":\"فایلی که با پسوند \\\"%{extension}\\\" انتخاب کردید، برای ارسال مجاز نیست\"},\"everyone_854554dd\":\"همه\",\"everyone_else_6c6dc7b6\":\"هر کس دیگر\",\"group_a8f5ed9c\":\"گروه\",\"immediately_c128ede6\":\"بلافاصله\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"به یاد داشته باشید، این مورد ارسالی برای همه افرادی که در گروه %{groupType} شما هستند، محاسبه خواهد شد.\",\"loading_25990131\":\"در حال بارگذاری...\",\"mastery_paths_cc4096c2\":\"مسیرهای تسلط\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"نمره گذاری نظارت شده نمی تواند برای تکلیف های گروهی فعال شود\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"نمره گذاری نظارت شده نمی تواند برای تکلیف های بازبینی شده به طور گروهی فعال شود\",\"moderated_grading_e6127f72\":\"نمره گذاری نظارت شده\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"در صورتی که موردهای ارسالی نمره گاذری شده وجود داشته باشد، تنظیم نمره گذاری نظارت شده را نمی توان تغییر داد\",\"move_assignment_6f890f64\":\"انتقال تکلیف\",\"move_contents_into_f3e4fd9d\":\"انتقال محتوا به \",\"move_group_3dd7f76e\":\"انتقال گروه\",\"must_be_a_valid_number_59f0069\":\"باید یک عدد معتبر باشد\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} قفل شده است. برای باز کردن قفل کلیک کنید.\",\"name_is_too_long_48daa8db\":\"نام طولانی است\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"نام طولانی است. باید کمتر از %{length} نویسه باشد\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"قفل %{name} باز شده است. برای قفل کردن کلیک کنید.\",\"never_df100b49\":\"هرگز\",\"no_results_found_58717065\":\"نتیجه ای یافت نشد\",\"remove_empty_attachment_b2aea632\":\"حذف پیوست خالی\",\"remove_filename_87f3781e\":\"حذف %{filename}\",\"remove_these_dates_48453a81\":\"حذف این تاریخ ها\",\"searching_b0207e7f\":\"در حال جستجو\",\"show_by_709f525b\":\"نمایش بر اساس\",\"show_by_date_e3967761\":\"نمایش بر اساس تاریخ\",\"show_by_type_c5d61732\":\"نمایش بر اساس نوع\",\"student_5da6bfd1\":\"دانشجو\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"همگام سازی با %{name} غیرفعال شد. برای تغییر وضعیت کلیک کنید.\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"همگام سازی با %{name}فعال شد. برای تغییر وضعیت کلیک کنید.\",\"sync_to_name_successfully_disabled_8045ad95\":\"همگام سازی با %{name} غیرفعال شد\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"نمره این تکلیف با سامانه اطلاعات دانشجو همگام نخواهد شد.\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"نمره این تکلیف با سامانه اطلاعات دانشجو همگام نخواهد شد.\",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"ابزار راه اندازی شده، یک منبع غیر معتبر را برای این تکلیف برگرداند\",\"until_4a1f8cda\":\"تا\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"از این فهرست برای حذف دانشحویان معین استفاده کنید. با کادر ترکیبی بعد از فهرست، دانشجویان جدید را اضافه کنید.\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"نمی توانید از عددی بزرگتر از تعداد تکلیف‌ها استفاده کنید\",\"you_must_use_a_number_912ce4bd\":\"باید از یک عدد استفاده کنید\",\"you_must_use_a_positive_number_203b86fe\":\"باید از یک عدد مثبت استفاده کنید\"},\"fr\":{\"a_name_is_required_b5df38a9\":\"Le nom est obligatoire.\",\"add_8523c19b\":\"Ajouter\",\"add_new_set_of_due_dates_e8e240f\":\"Ajouter une nouvelle sélection de dates échéances\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"Ajouter des élèves à l'aide d'une recherche par nom, groupe ou section de cours. Après avoir entré votre texte, naviguez dans les résultats à l'aide de la touche « flèche bas ». Sélectionnez un résultat avec la touche Entrée.\",\"after_the_assignment_is_graded_53754607\":\"Après que le devoir a été noté\",\"after_the_due_date_eee89c9c\":\"Après la date d’échéance\",\"allow_moderator_to_review_multiple_independent_gra_c59d64f6\":\"Permettre au modérateur d'examiner plusieurs notes indépendantes pour des soumissions sélectionnées.\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"Êtes-vous sûr de vouloir annuler ? Les changements effectués ne seront pas sauvegardés.\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"Voulez-vous vraiment supprimer cette tâche ?\",\"assign_to_c46e21\":\"Attribuer à/au\",\"assignment_group_1a781505\":\"Groupe de devoir\",\"assignment_group_was_saved_successfully_5caa27d3\":\"Le groupe de travail a été sauvegardé avec succès\",\"assignment_was_deleted_8320d26d\":\"Le devoir a été supprimé\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"Envoyer une tâche\"},\"cannot_delete_group\":\"Vous devez avoir au moins un groupe de tâches\",\"complete\":\"Terminé\",\"confirm_delete_group\":\"Voulez-vous vraiment supprimer ce groupe de tâches ?\",\"drop_highest_rule\":{\"one\":\"Ôter la note la plus élevée\",\"other\":\"Ôter les %{count} notes les plus élevées\"},\"drop_lowest_rule\":{\"one\":\"Ôter la note la plus faible\",\"other\":\"Ôter les %{count} notes les plus faibles\"},\"everyone_else\":\"Tous les autres\",\"file_retrieval_error\":\"Échec de récupération du fichier\",\"getting_file\":\"Récupération du fichier...\",\"grade_gpa_scale_screenreader\":\"Note : %{grade}\",\"grade_letter_grade_screenreader\":\"Note : %{grade}\",\"grade_pass_fail_screenreader\":\"Note : %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"Note : %{grade}%\",\"incomplete\":\"Non terminé\",\"invalid_file_retrieval\":\"Un problème s’est produit pendant la récupération du fichier envoyé depuis cet outil.\",\"keyboard_add_item\":\"Ajouter un travail personnel au groupe sélectionné\",\"keyboard_close_menu\":\"Fermer la boîte de dialogue\",\"keyboard_del_item\":\"Supprimer le travail ou le groupe actuel\",\"keyboard_edit_item\":\"Modifier le travail ou le groupe actuel\",\"keyboard_next_item\":\"Se concentrer sur le prochain travail ou groupe\",\"keyboard_prev_item\":\"Se concentrer sur le travail ou groupe précédent\",\"keyboard_show_assign\":\"Afficher l’aperçu complet du travail sélectionné\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"Échap\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"Vous devez accepter cet engagement avant d’envoyer une tâche.\",\"not_submitted_yet\":\"Vous n’avez pas terminé d’envoyer votre tâche. Vous devez encore cliquer sur Envoyer pour terminer l’envoi. Voulez-vous quitter cette page ?\",\"now_overdue\":\"Cette tâche est à présent en retard. Tout nouvel envoi sera signalé comme tâche en retard. Voulez-vous continuer ?\",\"overdue\":\"Cette tâche est en retard. Voulez-vous toujours l’envoyer ?\",\"record_before_submitting\":\"Enregistrer avant l’envoi\",\"submit_failed\":\"Échec de l’envoi, veuillez réessayer\",\"submitting\":\"Envoi en cours…\"},\"name_is_required\":\"Le nom doit être spécifié.\",\"never_drop_rule\":\"Ne jamais ôter %{assignment_name}\",\"no_tools_found\":\"Aucun outil trouvé\",\"overdue_assignments\":\"Tâches en retard\",\"past_assignments\":\"Anciens tâches\",\"points_possible_number\":\"Les points possibles doivent être spécifiés par un nombre\",\"processing_submission\":\"Canvas est en train de traiter votre soumission. Vous pouvez naviguer en toute sécurité à partir de cette page et nous vous enverrons un courriel si la soumission n'est pas traitée.\",\"remove_never_drop_rule\":\"Retirer la règle Ne jamais supprimer\",\"remove_unsaved_never_drop_rule\":\"Retirer la règle Ne jamais supprimer qui n’est pas enregistrée\",\"rules_text\":{\"one\":\"1 règle\",\"other\":\"%{count} règles\"},\"titles\":{\"add_assignment_group\":\"Ajouter un groupe de tâches\",\"uploading\":\"Envoi en cours\"},\"toggle_message\":\"activez/désactivez l’affichage des tâches\",\"undated_assignments\":\"Tâches non datées\",\"upcoming_assignments\":\"Prochaines tâches\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"Les fichiers joints doivent être supérieurs à 0 byte\",\"available_from_f84e4611\":\"Disponibles depuis le\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} Veuillez vous assurer que %{name} possède une date limite de rendu.\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} Veuillez vous assurer que %{name} possède une date limite de rendu et que son nom n'est pas trop long.\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} Veuillez vous assurer que le nom %{name} n'est pas trop long.\",\"button\":{\"submit_assignment\":\"Envoyer une tâche\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"Impossible de retirer la publication %{name} s’il y a des soumissions d’étudiants\",\"changes_you_made_may_not_be_saved_4e8db973\":\"Les changements effectués ne seront peut-être pas sauvegardés.\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"Continuez d'écrire pour trouver d'autres sections ou d'autres étudiants.\",\"count_assignments_found_17520826\":{\"one\":\"1 travail trouvé.\",\"other\":\"%{count} tâches trouvés.\",\"zero\":\"Aucun travail correspondant trouvé.\"},\"course_section_7a988066\":\"Section du cours\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"Actuellement assigné à %{tokenName}, cliquez pour retirer\",\"delete_assignment_group_7c3b01c4\":\"Supprimer le groupe du devoir\",\"disabling_sync_to_name_failed_e7521ebb\":\"La désactivation de la synchro vers %{name} a échoué\",\"due_a73610f6\":\"Échéance\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"La date d’échéance ne peut pas être postérieure à la date de verrouillage\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"La date d’échéance ne peut pas être antérieure à la date de déverrouillage\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Cette date limite se trouve dans une période non ouverte à la notation\",\"due_date_set_1c6364db\":\"Fixer la date d'échéance\",\"edit_assignment_ebf22a72\":\"Modifier le devoir\",\"errors\":{\"no_attached_file\":\"Vous devez joindre au moins un fichier à cette tâche.\",\"wrong_file_extension\":\"Le fichier que vous avez sélectionné, avec l’extension %{extension}, n’est pas autorisé pour l’envoi.\"},\"everyone_854554dd\":\"Tous\",\"everyone_else_6c6dc7b6\":\"Tous les autres\",\"file_tree_collapsed_d4b0ae96\":\"Arborescence des fichiers fermée\",\"file_tree_expanded_a1d20c4a\":\"Arborescence des fichiers dépliée\",\"final_grader_can_view_other_grader_names_67736530\":\"Le correcteur final peut voir les noms des autres correcteurs.\",\"grader_that_determines_final_grade_cc55f20\":\"Une note qui détermine la note finale\",\"graders_can_view_each_other_s_comments_d836b848\":\"Les correcteurs peuvent consulter les commentaires des uns et des autres.\",\"group_a8f5ed9c\":\"Groupe\",\"immediately_c128ede6\":\"Immédiatement\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"N’oubliez pas que cette soumission comptera pour tous les membres de votre groupe %{groupType}.\",\"loading_25990131\":\"Chargement...\",\"mastery_paths_cc4096c2\":\"Parcours de maîtrise\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"La notation modérée ne peut être activée pour les évaluations de groupe\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"La notation modérée ne peut être activée pour les évaluations révisées par des pairs\",\"moderated_grading_e6127f72\":\"Notation modérée\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"L'option de notation modérée ne peut être modifiée dans le cas de remises notées\",\"move_assignment_6f890f64\":\"Déplacer le devoir\",\"move_contents_into_f3e4fd9d\":\"Déplacer les contenus dans\",\"move_group_3dd7f76e\":\"Déplacer le groupe\",\"must_be_a_valid_number_59f0069\":\"Doit être un nombre valide\",\"must_have_at_least_1_grader_d4a54e85\":\"Doit avoir au moins 1 note.\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} est verrouillé. Cliquez pour déverrouiller\",\"name_is_too_long_48daa8db\":\"Nom trop long\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"Nom trop long, le nom doit faire moins de %{length} caractères\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name} est déverrouillé. Cliquez pour verrouiller.\",\"never_df100b49\":\"Jamais\",\"no_results_found_58717065\":\"Aucun résultat trouvé\",\"number_of_graders_cde8dd54\":\"Nombre de notes\",\"remove_empty_attachment_b2aea632\":\"supprimer la pièce jointe vide\",\"remove_filename_87f3781e\":\"supprimer %{filename}\",\"remove_these_dates_48453a81\":\"Supprimer ces dates\",\"searching_b0207e7f\":\"Recherche en cours\",\"select_grader_782af48\":\"Sélectionner la note\",\"selected_filename_7552a8c0\":\"sélectionné %{filename}\",\"show_by_709f525b\":\"Afficher par\",\"show_by_date_e3967761\":\"Afficher par date\",\"show_by_type_c5d61732\":\"Afficher par type\",\"student_5da6bfd1\":\"Étudiant\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"Synchronisation vers %{name} désactivée. Cliquez pour activer/désactiver\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"Synchronisation vers %{name} activée. Cliquez pour activer/désactiver\",\"sync_to_name_successfully_disabled_8045ad95\":\"Synchronisation vers %{name} désactivée avec succès.\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"La note de ce travail ne se synchronisera pas au système d'information étudiant.\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"La note de ce travail sera synchronisée au système d'information étudiant.\",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"L'outil utilisé a renvoyé une ressource non valide pour cette tâche.\",\"there_are_currently_maxgradercount_available_grade_9ab81123\":\"Il y a actuellement %{maxGraderCount} notes disponibles.\",\"there_is_currently_1_available_grader_758e4a21\":\"Il y a actuellement 1 correcteur disponible\",\"until_4a1f8cda\":\"Jusqu'à\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"Utilisez cette liste pour supprimer les élèves assignés. Ajouter des nouveaux élèves à l'aide de la liste déroulante après la liste.\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"Vous ne pouvez pas utiliser une valeur supérieure au nombre de travaux\",\"you_must_use_a_number_912ce4bd\":\"Vous devez utiliser un nombre\",\"you_must_use_a_positive_number_203b86fe\":\"Vous devez utiliser un nombre positif\"},\"fr-CA\":{\"a_name_is_required_b5df38a9\":\"Le nom est requis.\",\"add_8523c19b\":\"Ajouter\",\"add_new_set_of_due_dates_e8e240f\":\"Ajouter une nouvelle sélection de dates échéances\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"Ajouter les étudiants en recherchant par nom, section de cours ou groupe. Après avoir saisi du texte, naviguer dans les résultats en utilisant la flèche directionnelle BAS. Sélectionner un résultat en utilisant la touche Entrée.\",\"after_the_assignment_is_graded_53754607\":\"Après que la tâche soit notée\",\"after_the_due_date_eee89c9c\":\"Après la date d’échéance\",\"allow_moderator_to_review_multiple_independent_gra_c59d64f6\":\"Permettre au modérateur d’examiner plusieurs notes indépendantes pour des soumissions sélectionnées\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"Êtes-vous certain de vouloir annuler? Les changements effectués ne seront peut-être pas sauvegardés.\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"Voulez-vous vraiment supprimer cette tâche?\",\"assign_to_c46e21\":\"Attribuer à/au\",\"assignment_group_1a781505\":\"Groupe de tâches\",\"assignment_group_was_saved_successfully_5caa27d3\":\"Le groupe de tâche a été sauvegardé avec succès\",\"assignment_was_deleted_8320d26d\":\"Le tâche a été supprimé\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"Envoyer une tâche\"},\"cannot_delete_group\":\"Vous devez avoir au moins un groupe de tâches\",\"complete\":\"Terminé\",\"confirm_delete_group\":\"Voulez-vous vraiment supprimer ce groupe de tâches?\",\"drop_highest_rule\":{\"one\":\"Ôter la note la plus élevée\",\"other\":\"Ôter les %{count} notes les plus élevées\"},\"drop_lowest_rule\":{\"one\":\"Ôter la note la plus faible\",\"other\":\"Ôter les %{count} notes les plus faibles\"},\"everyone_else\":\"Tous les autres\",\"file_retrieval_error\":\"Échec de récupération du fichier\",\"getting_file\":\"Récupération du fichier...\",\"grade_gpa_scale_screenreader\":\"Note : %{grade}\",\"grade_letter_grade_screenreader\":\"Note : %{grade}\",\"grade_pass_fail_screenreader\":\"Note : %{grade}\",\"grade_percent\":\"%{grade} %\",\"grade_percent_screenreader\":\"Note : %{grade} %\",\"incomplete\":\"Non terminé\",\"invalid_file_retrieval\":\"Un problème s’est produit pendant la récupération du fichier envoyé depuis cet outil.\",\"keyboard_add_item\":\"Ajouter une tâche personnel au groupe sélectionné\",\"keyboard_close_menu\":\"Fermer la boîte de dialogue\",\"keyboard_del_item\":\"Supprimer le tâche ou le groupe actuel\",\"keyboard_edit_item\":\"Modifier le tâche ou le groupe actuel\",\"keyboard_next_item\":\"Se concentrer sur le prochain tâche ou groupe\",\"keyboard_prev_item\":\"Se concentrer sur le tâche ou groupe précédent\",\"keyboard_show_assign\":\"Afficher l’aperçu complet de la tâche sélectionné\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"Échap\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"Vous devez accepter cet engagement avant d’envoyer une tâche.\",\"not_submitted_yet\":\"Vous n’avez pas terminé d’envoyer votre tâche. Vous devez encore cliquer sur Envoyer pour terminer l’envoi. Voulez-vous quitter cette page?\",\"now_overdue\":\"Cette tâche est à présent en retard. Tout nouvel envoi sera signalé comme tâche en retard. Voulez-vous continuer?\",\"overdue\":\"Cette tâche est en retard. Voulez-vous toujours l’envoyer?\",\"record_before_submitting\":\"Enregistrer avant l’envoi\",\"submit_failed\":\"Échec de l’envoi, veuillez réessayer\",\"submitting\":\"Envoi en cours…\"},\"name_is_required\":\"Le nom doit être spécifié.\",\"never_drop_rule\":\"Ne jamais ôter %{assignment_name}\",\"no_tools_found\":\"Aucun outil trouvé\",\"overdue_assignments\":\"Tâches en retard\",\"past_assignments\":\"Anciennes tâches\",\"points_possible_number\":\"Les points possibles doivent être spécifiés par un nombre\",\"processing_submission\":\"Canvas est en train de traiter votre envoi. Vous pouvez naviguer en toute sécurité loin de cette page et nous vous enverrons un courrier électronique si une erreur est survenue lors du traitement de l’envoi.\",\"remove_never_drop_rule\":\"Retirer la règle « Ne jamais supprimer »\",\"remove_unsaved_never_drop_rule\":\"Retirer la règle « Ne jamais supprimer » qui n’est pas enregistrée\",\"rules_text\":{\"one\":\"1 règle\",\"other\":\"%{count} règles\"},\"titles\":{\"add_assignment_group\":\"Ajouter un groupe de tâches\",\"uploading\":\"Envoi en cours\"},\"toggle_message\":\"activez/désactivez l’affichage des tâches\",\"undated_assignments\":\"Tâches non datées\",\"upcoming_assignments\":\"Prochaines tâches\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"Les fichiers joints doivent être supérieurs à 0 octet\",\"available_from_f84e4611\":\"Disponible depuis\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} Veuillez vous assurer que %{name} a une date d'échéance.\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} Veuillez vous assurer que %{name} a une date d’échéance et que le nom ne soit pas trop long.\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} Veuillez vous assurer %{name} que le nom ne soit pas trop long.\",\"button\":{\"submit_assignment\":\"Envoyer une tâche\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"Ne peut retirer %{name} de la publication si des étudiants ont envois\",\"changes_you_made_may_not_be_saved_4e8db973\":\"Les changements effectués ne seront peut-être pas sauvegardés.\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"Continuez d'écrire pour trouver d'autres sections ou d'autres étudiants.\",\"count_assignments_found_17520826\":{\"one\":\"1 tâche trouvé.\",\"other\":\"%{count} tâches trouvés.\",\"zero\":\"Aucune tâche correspondant trouvé.\"},\"course_section_7a988066\":\"Section du cours\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"Actuellement affecté à %{tokenName}, cliquer pour retirer\",\"delete_assignment_group_7c3b01c4\":\"Supprimer le groupe de la tâche\",\"disabling_sync_to_name_failed_e7521ebb\":\"Échec de la désactivation de la synchronisation pour %{name}\",\"due_a73610f6\":\"Échéance\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"La date d’échéance ne peut pas être postérieure à la date de verrouillage\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"La date d’échéance ne peut pas être antérieure à la date de déverrouillage\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"La date d’échéance tombe dans une période de notation fermée\",\"due_date_set_1c6364db\":\"Fixer la date d'échéance\",\"edit_assignment_ebf22a72\":\"Modifier le tâche\",\"errors\":{\"no_attached_file\":\"Vous devez joindre au moins un fichier à cette tâche.\",\"wrong_file_extension\":\"Le fichier que vous avez sélectionné, avec l’extension « %{extension} », n’est pas autorisé pour l’envoi.\"},\"everyone_854554dd\":\"Tous\",\"everyone_else_6c6dc7b6\":\"Tous les autres\",\"file_tree_collapsed_d4b0ae96\":\"Arborescence de fichiers réduite\",\"file_tree_expanded_a1d20c4a\":\"Arborescence de fichiers développé\",\"final_grader_can_view_other_grader_names_67736530\":\"Le correcteur final peut voir le nom des autres correcteurs\",\"grader_that_determines_final_grade_cc55f20\":\"Correcteur qui détermine la note finale\",\"graders_can_view_each_other_s_comments_d836b848\":\"Les correcteurs peuvent voir les commentaires de tous les correcteurs\",\"group_a8f5ed9c\":\"Groupe\",\"immediately_c128ede6\":\"Immédiatement\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"Notez que cet envoi comptera pour chacune des personnes dans votre groupe %{groupType}.\",\"loading_25990131\":\"En cours de chargement...\",\"mastery_paths_cc4096c2\":\"Parcours de maîtrise\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"La notation modérée ne peut être activée pour les évaluations de groupe\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"La notation modérée ne peut être activée pour les évaluations révisées par des pairs\",\"moderated_grading_e6127f72\":\"Notation modérée\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"L'option de notation modérée ne peut être modifiée dans le cas de remises notées\",\"move_assignment_6f890f64\":\"Déplacer la tâche\",\"move_contents_into_f3e4fd9d\":\"Déplacer le contenu dans\",\"move_group_3dd7f76e\":\"Déplacer le groupe\",\"must_be_a_valid_number_59f0069\":\"Doit être un numéro valide\",\"must_have_at_least_1_grader_d4a54e85\":\"Doit avoir au moins 1 correcteur\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} est verrouillé Cliquez pour déverrouiller\",\"name_is_too_long_48daa8db\":\"Le nom est trop long\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"Le nom est trop long, doit être moins de %{length} caractères\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name} est déverrouillé. Cliquez pour verrouiller.\",\"never_df100b49\":\"Jamais\",\"no_results_found_58717065\":\"Aucun résultat trouvé\",\"number_of_graders_cde8dd54\":\"Nombre de correcteurs\",\"remove_empty_attachment_b2aea632\":\"retirer la pièce jointe vide\",\"remove_filename_87f3781e\":\"retirer %{filename}\",\"remove_these_dates_48453a81\":\"Retirer ces dates\",\"searching_b0207e7f\":\"Recherche en cours\",\"select_grader_782af48\":\"Sélectionner le correcteur\",\"selected_filename_7552a8c0\":\"sélectionné %{filename}\",\"show_by_709f525b\":\"Afficher par\",\"show_by_date_e3967761\":\"Afficher par date\",\"show_by_type_c5d61732\":\"Afficher par type\",\"show_report_to_students_a07888a6\":\"Afficher le rapport d’ aux étudiants\",\"student_5da6bfd1\":\"Étudiant\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"Synchroniser avec %{name} désactivé. Cliquer ici pour basculer.\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"Synchroniser avec %{name} activé. Cliquer ici pour basculer.\",\"sync_to_name_successfully_disabled_8045ad95\":\"Synchronisation pour %{name} désactivée avec succès\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"La note de cette tâche ne se synchronisera pas au système d'information étudiant.\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"La note de cette tâche sera synchronisée au système d'information étudiant.\",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"L'outil utilisé a renvoyé une ressource non valide pour cette tâche.\",\"there_are_currently_maxgradercount_available_grade_9ab81123\":\"Il y a présentement %{maxGraderCount} correcteurs disponibles\",\"there_is_currently_1_available_grader_758e4a21\":\"Il y a présentement 1 correcteur disponible\",\"until_4a1f8cda\":\"Jusqu’au\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"Utiliser cette liste pour retirer les étudiants assignés Ajouter les nouveaux étudiants avec la zone de liste déroulante après la liste.\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"Vous ne pouvez pas utiliser une valeur supérieure au nombre de tâches\",\"you_must_select_an_assignment_group_c16a2168\":\"Vous devez sélectionner un groupe de tâches.\",\"you_must_use_a_number_912ce4bd\":\"Vous devez utiliser un nombre\",\"you_must_use_a_positive_number_203b86fe\":\"Vous devez utiliser un nombre positif\"},\"he\":{\"a_name_is_required_b5df38a9\":\"נדרש שם\",\"add_8523c19b\":\"הוסף\",\"add_new_set_of_due_dates_e8e240f\":\"הוספת סט של תאריכי יעד חדשים\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"הוספת תלמידים בעזרת חיפוש שמי, הקבצת קורס או בקבוצה. לאחר הקלדת הטקסט, הניווט בתוצאות הוא ע\\\"י השימוש בחץ התחתון. בחירת תוצאה מתבצעת בעזרת מקש ה ENTER\",\"after_the_assignment_is_graded_53754607\":\"אחרי שהמטלה מוערכת\",\"after_the_due_date_eee89c9c\":\"אחרי תאריך היעד\",\"allow_moderator_to_review_multiple_independent_gra_c59d64f6\":\"הרשאה למנחה לסקור מספר הערכות נפרדות להגשות נבחרות\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"האם בטוחים שרוצים לבטל? שינויים שבוצעו לא ישמרו\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"בטוחים שרוצים לבטל מטלה זו?\",\"assign_to_c46e21\":\"הקצאה ל-\",\"assignment_group_1a781505\":\"קבוצת משימה\",\"assignment_group_was_saved_successfully_5caa27d3\":\"קבוצת משימה נשמרה בהצלחה\",\"assignment_was_deleted_8320d26d\":\"המשימה בוטלה\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"הגשת משימה\"},\"cannot_delete_group\":\"נדרשת לפחות קבוצת משימה אחת\",\"complete\":\"נסתיים\",\"confirm_delete_group\":\"בטוח/ה שרוצה לבטל קבוצת משימה זו?\",\"drop_highest_rule\":{\"one\":\"השמטת הציון הגבוה ביותר\",\"other\":\"השמטת %{count} הציונים הגבוהים ביותר\"},\"drop_lowest_rule\":{\"one\":\"השמטת הציון הנמוך ביותר\",\"other\":\"השמטת %{count} הציונים הנמוכים ביותר\"},\"everyone_else\":\"כל אחד אחר\",\"file_retrieval_error\":\"איחזור הקובץ נכשל\",\"getting_file\":\"מאחזר קובץ...\",\"grade_gpa_scale_screenreader\":\"ציון: %{grade}\",\"grade_letter_grade_screenreader\":\"ציון: %{grade}\",\"grade_pass_fail_screenreader\":\"ציון: %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"ציון: %{grade}%\",\"incomplete\":\"לא הושלם\",\"invalid_file_retrieval\":\"היתה תקלה באיחזור קובץ שנשלח מכלי זה.\",\"keyboard_add_item\":\"הוספת משימה לקבוצה שנבחרה\",\"keyboard_close_menu\":\"סגירת הדיאלוג הפעיל\",\"keyboard_del_item\":\"ביטול המשימה או הקבוצה הזו\",\"keyboard_edit_item\":\"עריכת המשימה או הקבוצה הזו\",\"keyboard_next_item\":\"התמקדות במשימה או בקבוצה הבאה\",\"keyboard_prev_item\":\"התמקדות במשימה או בקבוצה הקודמת\",\"keyboard_show_assign\":\"הצגה מקדימה מלאה של המשימה שנבחרה\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\" esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"חובה להסכים לתנאי ההגשה לפני שניתן להגיש משימה זו.\",\"not_submitted_yet\":\"טרם נסתיימה הגשת המשימה שלך. יש צורך להקליק על \\\"ביצוע\\\" כדי לסיים את תהליך ההגשה. האם תרצה/י לעזוב דף זה בכל זאת?\",\"now_overdue\":\"תאריך יעד להגשה עבר. כל ההגשות הנוספות יסומנו כמאוחרות. האם להמשיך בכל זאת\",\"overdue\":\"ההגשה הזו באיחור. האם בכל זאת להגיש?\",\"record_before_submitting\":\"יש להקליט לפני שמגישים.\",\"submit_failed\":\"הגשה נכשלה, יש לנסות שוב\",\"submitting\":\"מבצע...\"},\"name_is_required\":\"נדרש שם!\",\"never_drop_rule\":\"אין לדלג על משימה %{assignment_name}\",\"no_tools_found\":\"לא נמצאו כלים\",\"overdue_assignments\":\"משימות שלא הוגשו במועד\",\"past_assignments\":\"משימות עבר\",\"points_possible_number\":\"ערך נקודות אפשריות חייב להיות מספרי\",\"remove_never_drop_rule\":\"הסרת הכלל \\\"אין לדלג\\\"\",\"remove_unsaved_never_drop_rule\":\"הסרת כללי \\\"אין לדלג\\\" שלא נשמרו\",\"rules_text\":{\"one\":\"כלל אחד\",\"other\":\"%{count} כללים\"},\"titles\":{\"add_assignment_group\":\"הוספת קבוצת משימה\",\"uploading\":\"מעלה הגשה\"},\"toggle_message\":\"עבור בין מצבי ניראות המשימה.\",\"undated_assignments\":\"משימה שאינה מתוארכת.\",\"upcoming_assignments\":\"משימות שבדרך\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"קבצים מצורפים צריכים להיות גדולים יות מ 0 בתים\",\"available_from_f84e4611\":\"זמין מ\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} נא לוודא שיש ל %{name} מועד יעד.\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} נא לודא שיש ל %{name} מועד יעד ושהשם אינו ארוך מדי.\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} נא לוודא שיש ל %{name} שם לא ארוך מדי.\",\"button\":{\"submit_assignment\":\"הגש משימה\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"לא ניתן לבטל את הפרסום %{name} אם יש הגשות תלמידים\",\"changes_you_made_may_not_be_saved_4e8db973\":\"תיקונים שבצעת יתכן שלא ישמרו\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"המשיכו להקליד כדי למצוא הקבצות או תלמידים נוספים \",\"count_assignments_found_17520826\":{\"one\":\"נמצאה משימה אחת\",\"other\":\"נמצאו %{count} משימות\",\"zero\":\"לא נמצאה משימה המתאימה להגדרות החיפוש\"},\"course_section_7a988066\":\"הקבצת קורס\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"כרגע משויך ל %{tokenName}, הקש/י כדי להסיר\",\"delete_assignment_group_7c3b01c4\":\"ביטול קבוצת משימה\",\"disabling_sync_to_name_failed_e7521ebb\":\"ניטרול סינכרוניזציה ל %{name} נכשל\",\"due_a73610f6\":\"תאריך יעד\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"תאריך היעד חייב להיות לפני תאריך נעילה\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"תאריך יעד אינו יכול להיות לפני שחרור נעילת תארך.\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"תאריך יעד נופל בתחום של תקופת הערכה סגורה\",\"due_date_set_1c6364db\":\"תאריך יעד הוגדר\",\"edit_assignment_ebf22a72\":\"עריכת משימה\",\"errors\":{\"no_attached_file\":\"יש לצרף לפחות קובץ אחד להגשה זו.\",\"wrong_file_extension\":\"הקובץ שבחרת עם הסיומת \\\"%{extension}\\\", אינו מורשה להגשה\"},\"everyone_854554dd\":\"כל אחד\",\"everyone_else_6c6dc7b6\":\"כל אחד אחר\",\"group_a8f5ed9c\":\"קבוצה\",\"immediately_c128ede6\":\"מיד\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"יש לזכור, הגשה זו נספרת לכל אחד בקבוצה %{groupType} שלך.\",\"loading_25990131\":\"טוען...\",\"mastery_paths_cc4096c2\":\"מסלולי התמחות\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"הערכה מונחה אינה כלולה באפשרויות של משימות קבוצתיות\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"אין אפשרות להפעיל הערכה מבוקרת למשימות שעברו ביקורת עמיתים\",\"moderated_grading_e6127f72\":\"הערכה מבוקרת\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"הגדרות של ציונים מבוקרים אינם ניתנים לשינוי אם יש כבר הגשות מוערכות\",\"move_assignment_6f890f64\":\"העברת מטלה\",\"move_contents_into_f3e4fd9d\":\"העברת המידע על התכנים\",\"move_group_3dd7f76e\":\"העברת קבוצה\",\"must_be_a_valid_number_59f0069\":\"חייב להיות מספר תקין\",\"name_is_too_long_48daa8db\":\"שם ארוך מדי\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"שם ארוך מדי, חייב להיות פחות מ  %{length} תווים\",\"never_df100b49\":\"אף פעם\",\"no_results_found_58717065\":\"לא נמצאו תוצאות\",\"remove_empty_attachment_b2aea632\":\"הסרת תצריף ריק\",\"remove_filename_87f3781e\":\"הסרת %{filename}\",\"remove_these_dates_48453a81\":\"הסרת תאריכים אלו\",\"searching_b0207e7f\":\"מחפש\",\"show_by_date_e3967761\":\"הצגה לפי תאריך\",\"show_by_type_c5d61732\":\"הצגה לפי סוג\",\"student_5da6bfd1\":\"תלמיד\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"מצב התאמה עם %{name} בוטל. הקש להחליף למצב מופעל.\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"מצב התאמה עם %{name} הופעל. הקש לביטול הפעלה.\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"ההערכה למשימה זו לא תסונכרן עם מערכת המידע הבית ספרית של התלמיד\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"ההערכה למשימה זו תסונכרן עם מערכת המידע הבית ספרית של התלמיד\",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"הכלי שבשימוש החזיר סטטוס של משאב לא תקין למשימה זו.\",\"until_4a1f8cda\":\"עד אשר\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"השתמש/י ברשימה זו כדי להסיר תלמידים רשומים. הוספת תלמידים נעשית בתיבת קומבו בהמשך הרשימה.\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"לא ניתן להשתמש במספר הגבוה ממספר המשימות\",\"you_must_use_a_number_912ce4bd\":\"יש להשתמש בערך מספרי\",\"you_must_use_a_positive_number_203b86fe\":\"חובה לספק מספר חיובי\"},\"ht\":{\"a_name_is_required_b5df38a9\":\"Yon non obligatwa\",\"add_8523c19b\":\"Ajoute\",\"add_new_set_of_due_dates_e8e240f\":\"Ajoute nouvo seri delè\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"Chèche elèv pa non, seksyon kou oswa gwoup pou ajoute yo. Apre w fin antre tèks la, itilize f`lèch anba a pou navige nan rezilta yo Peze touch Enter la pou seleksyone yon rezilta.\",\"after_the_assignment_is_graded_53754607\":\"Aprè sesyon an fin klase\",\"after_the_due_date_eee89c9c\":\"Aprè delè a\",\"allow_moderator_to_review_multiple_independent_gra_c59d64f6\":\"Pèmèt moderatè a revize plizyè nòt endepandan pou soumisyon ki seleksyone yo\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"Ou kwè vrèman ou vle anile? Chanjman ou fè yo gendwa pa anrejistre.\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"Ou kwè vrèman ou vle efase Sesyon sa a?\",\"assign_to_c46e21\":\"Atribye a\",\"assignment_group_1a781505\":\"Sesyon Gwoup\",\"assignment_group_was_saved_successfully_5caa27d3\":\"Sesyon gwoup la anrejistre kòrèkteman\",\"assignment_was_deleted_8320d26d\":\"Sesyon te efase\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"Soumèt Sesyon\"},\"cannot_delete_group\":\"Ou dwe genyen yon Sesyon Gwoup pou pi piti\",\"complete\":\"Konplè\",\"confirm_delete_group\":\"Ou kwè vrèman ou vle efase Sesyon Gwoup sa a?\",\"drop_highest_rule\":{\"one\":\"Depoze nòt ki pi wo a\",\"other\":\"Depoze %{count} nòt ki pi wo yo\"},\"drop_lowest_rule\":{\"one\":\"Depoze nòt ki pi ba a\",\"other\":\"Depoze %{count} nòt ki pi ba yo\"},\"everyone_else\":\"Tout lòt yo\",\"file_retrieval_error\":\"Rekiperasyon Fichye Echwe\",\"getting_file\":\"Rekiperasyon Fichye...\",\"grade_gpa_scale_screenreader\":\"Klas: %{grade}\",\"grade_letter_grade_screenreader\":\"Klas: %{grade}\",\"grade_pass_fail_screenreader\":\"Klas: %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"Klas: %{grade}%\",\"incomplete\":\"Enkonplè\",\"invalid_file_retrieval\":\"Te gen yon pwoblèm nan rekiperasyon fichye ou te voye a pati de zouti sa a.\",\"keyboard_add_item\":\"Ajoute yon sesyon nan gwoup ki chwazi a\",\"keyboard_close_menu\":\"Fèmen dyalòg aktif la\",\"keyboard_del_item\":\"Efase sesyon oswa gwoup aktyèl la\",\"keyboard_edit_item\":\"Efase sesyon oswa gwoup aktyèl la\",\"keyboard_next_item\":\"Fokis sou pwochen sesyon oswa gwoup\",\"keyboard_prev_item\":\"Fokis sou sesyon oswa gwoup anvan an\",\"keyboard_show_assign\":\"Afiche apèsi konplè sesyon ki seleksyone a\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"Ou dwe aksepte angajman soumisyon an anvan w kòmanse soumèt sesyon sa a.\",\"not_submitted_yet\":\"Ou poko fin soumèt sesyon ou an. Ou bezwen klike sou \\\"Soumèt\\\" toujou pou fini ak soumisyon an. Èske w vle kite paj sa a de tout fason?\",\"now_overdue\":\"Sesyon sa a an reta pou kounye a. Tout nouvo soumisyon yo ap make tankou yo fini. Kontinye de tout fason?\",\"overdue\":\"Sesyon sa a an reta. Èske w toujou vle soumèt li?\",\"record_before_submitting\":\"Anrejistre Anvan Soumisyon\",\"submit_failed\":\"Soumisyon Echwe, tanpri eseye ankò\",\"submitting\":\"Soumisyon...\"},\"name_is_required\":\"Non an obligatwa!\",\"never_drop_rule\":\"Jamè abandone %{assignment_name}\",\"no_tools_found\":\"Nou pa jwenn okenn zouti\",\"overdue_assignments\":\"Sesyon An Reta\",\"past_assignments\":\"Sesyon Pase\",\"points_possible_number\":\"Pwen ki posib yo dwe se yon chif\",\"processing_submission\":\"Canvas ap trete soumisyon ou an kounye a. Ou ka navige sou paj sa a san pwoblèm epi n ap voye yon imèl pou ou si soumisyon an pa fèt.\",\"remove_never_drop_rule\":\"Elimine regleman jamè abandone\",\"remove_unsaved_never_drop_rule\":\"Elimine regleman ki pa anrejistre e ki pa janm abandone\",\"rules_text\":{\"one\":\"1 Règ\",\"other\":\"%{count} Règ\"},\"titles\":{\"add_assignment_group\":\"Ajoute Sesyon Gwoup\",\"uploading\":\"Chajman Soumisyon\"},\"toggle_message\":\"chanje vizibilite sesyon\",\"undated_assignments\":\"Sesyon San Dat\",\"upcoming_assignments\":\"Pwochen Sesyon\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"Fichye ajoute yo dwe siperyè a 0 oktè\",\"available_from_f84e4611\":\"Disponib depi\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} Tanpri asire w ke %{name} gen yon delè.\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} Tanpri asire w ke %{name} gen tyon delè eou non an pa two long.\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} Tanpri asire w ke non %{name} pa two long.\",\"button\":{\"submit_assignment\":\"Soumèt Sesyon\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"Ou paka pa pibliye %{name} si gen soumisyon elèv\",\"changes_you_made_may_not_be_saved_4e8db973\":\"Chanjman ou fè yo gendwa pa anrejistre.\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"Kontinye tape pou jwenn lòt seksyon oswa elèv.\",\"count_assignments_found_17520826\":{\"one\":\"Nou jwenn 1 sesyon.\",\"other\":\"Nou jwenn %{count} sesyon.\",\"zero\":\"Nou pa jwenn okenn sesyon ki koresponn.\"},\"course_section_7a988066\":\"Seksyon Kou\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"Pou kounye a asiyen a %{tokenName}, klike pou elimine\",\"delete_assignment_group_7c3b01c4\":\"Efase Sesyon Gwoup\",\"disabling_sync_to_name_failed_e7521ebb\":\"Dezaktive Sync pou %{name} echwe\",\"due_a73610f6\":\"Delè\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"Delè a pa kapab aprè dat blokaj la\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"Delè a pa kapab anvan dat deblokaj la\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Delè a tonbe nan yon Peryòd Klasman ki fèmen\",\"due_date_set_1c6364db\":\"Delè Defini\",\"edit_assignment_ebf22a72\":\"Modifye Sesyon\",\"errors\":{\"no_attached_file\":\"Ou dwe ajoute yon fichye nan sesyon pou pi piti\",\"wrong_file_extension\":\"Fichye you seleksyone avèk ekstansyon \\\"%{extension}\\\" an pa otorize pou soumisyon.\"},\"everyone_854554dd\":\"Tout Moun\",\"everyone_else_6c6dc7b6\":\"Tout Lòt Moun yo\",\"file_tree_collapsed_d4b0ae96\":\"Estrikti fichye sa a fèmen\",\"file_tree_expanded_a1d20c4a\":\"Estrikti fichye sa a elaji\",\"final_grader_can_view_other_grader_names_67736530\":\"Nivelez final ka afiche lòt non nivelez\",\"grader_that_determines_final_grade_cc55f20\":\"Nivelez ki detèmine nòt final\",\"graders_can_view_each_other_s_comments_d836b848\":\"Nivelez yo ka wè kòmantè yonn lòt\",\"group_a8f5ed9c\":\"Gwoup\",\"immediately_c128ede6\":\"Kounye a menm\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"Sonje, soumisyon sa a ap konte pou chak moun ki nan gwoup %{groupType} ou a.\",\"loading_25990131\":\"Chajman...\",\"mastery_paths_cc4096c2\":\"Pakou Prensipal\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"Klasman modere pa kapab aktive pou sesyon gwoup yo\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"Klasman modere pa kapab aktive pou sesyon revize pa kamarad yo\",\"moderated_grading_e6127f72\":\"Klasman Modere\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"Paramèt klasman modere yo pa ka chanje si soumisyon yo egziste\",\"move_assignment_6f890f64\":\"Deplase Sesyon\",\"move_contents_into_f3e4fd9d\":\"Deplase kontni Nan\",\"move_group_3dd7f76e\":\"Deplase Gwoup\",\"must_be_a_valid_number_59f0069\":\"Dwe se yon nimewo ki valid\",\"must_have_at_least_1_grader_d4a54e85\":\"Dwe genyen pou pi piti 1 nivelez\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} bloke. Klike pou debloke\",\"name_is_too_long_48daa8db\":\"Non an twò long\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"Non an twò long, li pa dwe gen plis ke %{length} karaktè\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name} debloke. Klike pou bloke.\",\"never_df100b49\":\"Jamè\",\"no_results_found_58717065\":\"Nou pa jwenn rezilta\",\"number_of_graders_cde8dd54\":\"Kantite nivelez\",\"remove_empty_attachment_b2aea632\":\"retire atachman vid\",\"remove_filename_87f3781e\":\"elimine %{filename}\",\"remove_these_dates_48453a81\":\"Elimine Dat Sa yo\",\"searching_b0207e7f\":\"Chèche\",\"select_grader_782af48\":\"Seleksyone Nivelez\",\"selected_filename_7552a8c0\":\"seleksyone %{filename}\",\"show_by_709f525b\":\"Afiche Pa\",\"show_by_date_e3967761\":\"Afiche pa Dat\",\"show_by_type_c5d61732\":\"Afiche pa Tip\",\"show_report_to_students_a07888a6\":\"Montre elèv yo rapò a\",\"student_5da6bfd1\":\"Elèv\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"Senkwonize a %{name} dezaktive. Klike pou chanje.\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"Senkwonize a %{name} aktive. Klike pou chanje.\",\"sync_to_name_successfully_disabled_8045ad95\":\"Sync ak %{name} dezaktive kòrèkteman\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"Nòt sesyon sa a pa p senkwonize ak sistèm enfòmasyon elèv la.\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"Nòt sesyon sa a ap senkwonize ak sistèm enfòmasyon elèv la.\",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"Zouti lansman an retounen yon resous non valid pou sesyon sa a\",\"there_are_currently_maxgradercount_available_grade_9ab81123\":\"Pou kounye a gen %{maxGraderCount} nivelez disponib\",\"there_is_currently_1_available_grader_758e4a21\":\"Pou kounye a gen 1 nivelez disponib\",\"until_4a1f8cda\":\"Jiska\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"Itilize lis sa a pou retire elèv ki asiyen yo. Ajoute nouvo elèv ak bwat combo aprè lis la.\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"Ou pa kapab itilize yon chif ki pi gro pase kantite sesyon yo\",\"you_must_select_an_assignment_group_c16a2168\":\"Ou dwe seleksyone yon gwoup afektasyon.\",\"you_must_use_a_number_912ce4bd\":\"Ou dwe itilize yon chif\",\"you_must_use_a_positive_number_203b86fe\":\"Ou dwe itilize yon nonm pozitif\"},\"hu\":{\"a_name_is_required_b5df38a9\":\"A név megadása kötelező\",\"add_8523c19b\":\"Hozzáadás\",\"add_new_set_of_due_dates_e8e240f\":\"Új határidők hozzáadása\",\"after_the_assignment_is_graded_53754607\":\"Miután a feladat értékelve lett\",\"after_the_due_date_eee89c9c\":\"Határidő után\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"Biztos benne, hogy mégsem? A változtatásai talán nincsenek elmentve.\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"Biztos benne, hogy törli ezt a feladatot?\",\"assign_to_c46e21\":\"Feladatkiosztás a következő felhasználóknak:\",\"assignment_group_1a781505\":\"Feladatcsoport\",\"assignment_group_was_saved_successfully_5caa27d3\":\"Feladatcsoport sikeresen el lett mentve\",\"assignment_was_deleted_8320d26d\":\"Feladat törölve lett\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"Feladat beadása\"},\"cannot_delete_group\":\"Legalább egy feladatcsoportnak lennie kell\",\"complete\":\"Kész\",\"confirm_delete_group\":\"Biztosan törli ezt a feladatcsoportot?\",\"drop_highest_rule\":{\"one\":\"A legmagasabb pontszám eltávolítása\",\"other\":\"A %{count} legmagasabb pontszám eltávolítása\"},\"drop_lowest_rule\":{\"one\":\"A legalacsonyabb pontszám eltávolítása\",\"other\":\"A %{count} legalacsonyabb pontszám eltávolítása\"},\"everyone_else\":\"Valaki más\",\"file_retrieval_error\":\"A fájl lekérése sikertelen\",\"getting_file\":\"Fájl lekérése...\",\"grade_gpa_scale_screenreader\":\"Osztályzat: %{grade}\",\"grade_letter_grade_screenreader\":\"Osztályzat: %{grade}\",\"grade_pass_fail_screenreader\":\"Osztályzat: %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"Osztályzat: %{grade}%\",\"incomplete\":\"Hiányos\",\"invalid_file_retrieval\":\"Probléma adódott az eszköz által küldött fájl lekérése közben.\",\"keyboard_add_item\":\"Feladat hozzáadása a kiválasztott csoporthoz\",\"keyboard_close_menu\":\"Aktív párbeszéd bezárása\",\"keyboard_del_item\":\"Aktuális feladat vagy csoport törlése\",\"keyboard_edit_item\":\"Aktuális feladat vagy csoport szerkesztése\",\"keyboard_next_item\":\"Összpontosítás a következő feladatcsoportra \",\"keyboard_prev_item\":\"Összpontosítás az előző feladatcsoportra \",\"keyboard_show_assign\":\"Kiválasztott feladat teljes előnézetének megjelenítése\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"El kell fogadnia a beküldési nyilatkozatot, mielőtt beküldené ezt a feladatot.\",\"not_submitted_yet\":\"Nem fejezte be a feladat beküldését. A beküldés befejezéséhez a \\\"Beküldés\\\" gombra kell kattintani. Ennek ellenére elhagyja az oldalt?\",\"now_overdue\":\"A feladat határideje lejárt. Minden további beadás későként lesz megjelölve. Folytatja?\",\"overdue\":\"A feladat határideje lejárt. Mégis be szeretné küldeni?\",\"record_before_submitting\":\"Felvétel a beküldés előtt\",\"submit_failed\":\"A beküldés sikertelen, kérjük, próbálja újra\",\"submitting\":\"Beküldés... \"},\"name_is_required\":\"A név megadása kötelező!\",\"never_drop_rule\":\"Sose dobja el ezt: %{assignment_name}\",\"no_tools_found\":\"Nem találhatóak eszközök\",\"overdue_assignments\":\"Lejárt feladatok\",\"past_assignments\":\"Korábbi feladatok\",\"points_possible_number\":\"Az elérhető pontokat számként kell megadni\",\"remove_never_drop_rule\":\"A \\\"soha ne dobja el szabály\\\" eltávolítása\",\"remove_unsaved_never_drop_rule\":\"A mentés nélküli \\\"soha ne dobja el\\\" szabály eltávolítása\",\"rules_text\":{\"one\":\"1 szabály\",\"other\":\"%{count} szabály\"},\"titles\":{\"add_assignment_group\":\"Feladatcsoport hozzáadása\",\"uploading\":\"Beadandó feltöltése\"},\"toggle_message\":\"feladat láthatóságának ki vagy bekapcsolása\",\"undated_assignments\":\"Időpont nélküli feladatok\",\"upcoming_assignments\":\"Közelgő feladatok\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"A csatolt fájl mérete nem lehet 0 bájt\",\"available_from_f84e4611\":\"Elérhető ettől\",\"button\":{\"submit_assignment\":\"Feladat beadása\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"Nem lehet visszavonni %{name} publikálását, ha már vannak hallgatói munkák beadva\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"Folytassa a gépelést ahhoz, hogy további szekciókat vagy hallgatókat találjon\",\"count_assignments_found_17520826\":{\"one\":\"1 feladatot találtam.\",\"other\":\"%{count} feladatot találtam.\",\"zero\":\"Egy egyező feladatot sem találtam.\"},\"course_section_7a988066\":\"Kurzusszekció\",\"delete_assignment_group_7c3b01c4\":\"Feladatcsoport törlése\",\"due_a73610f6\":\"Határidő\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"A határidő nem lehet a lezárás dátuma után\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"A határidő nem lehet a feloldás dátuma előtt\",\"due_date_set_1c6364db\":\"Határidő beállítása\",\"edit_assignment_ebf22a72\":\"Feladat szerkesztése\",\"errors\":{\"no_attached_file\":\"Legalább egy fájlt csatolnia kell ehhez a feladathoz\",\"wrong_file_extension\":\"A kiválasztott \\\"%{extension}\\\" kiterjesztésű fájl nem engedélyezett beadásra\"},\"everyone_854554dd\":\"Mindenki\",\"everyone_else_6c6dc7b6\":\"Mindenki más \",\"group_a8f5ed9c\":\"Csoport\",\"immediately_c128ede6\":\"Azonnal\",\"loading_25990131\":\"Töltődik...\",\"mastery_paths_cc4096c2\":\"Jártassági útvonalak\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"A moderált értékelés nem engedélyezhető csoportos feladatokhoz\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"A moderált értékelés nem engedélyezhető társértékelt feladatokhoz\",\"moderated_grading_e6127f72\":\"Moderált értékelés\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"A moderált értékelés beállítás nem változtatható meg, ha már vannak értékelt beadandók\",\"move_assignment_6f890f64\":\"Feladat mozgatása\",\"move_group_3dd7f76e\":\"Csoport áthelyezése\",\"must_be_a_valid_number_59f0069\":\"Érvényes számnak kell lennie\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name}zárolva. Kattintson a zárolás feloldásához.\",\"name_is_too_long_48daa8db\":\"A név túl hosszú\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"A név túl hosszú, %{length}karakternél rövidebbnek kell lennie.\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name}zárolás feloldva. Kattintson a zároláshoz.\",\"never_df100b49\":\"Soha\",\"no_results_found_58717065\":\"Nincs találat\",\"remove_empty_attachment_b2aea632\":\"üres melléklet eltávolítása\",\"remove_filename_87f3781e\":\"%{filename} eltávolítása\",\"remove_these_dates_48453a81\":\"Ezen dátumok törlése\",\"searching_b0207e7f\":\"Keresés...\",\"show_by_date_e3967761\":\"Megjelenítés dátum szerint\",\"show_by_type_c5d61732\":\"Megjelenítés típus szerint\",\"student_5da6bfd1\":\"Hallgató\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"Ennek a feladatnak az értékelése nem kerül szinkronizálásra a tanulmányi rendszerrel.\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"Erre a feladatra adott értékelés szinkronizálása a hallgatói információs rendszere felé.\",\"until_4a1f8cda\":\"Eddig\",\"you_must_use_a_number_912ce4bd\":\"Számokat kell megadnia\",\"you_must_use_a_positive_number_203b86fe\":\"Pozitív számot kell megadnia\"},\"hy\":{\"add_8523c19b\":\"Ավելացնել\",\"add_new_set_of_due_dates_e8e240f\":\"Ավելացնել կատարման ժամկետների նոր խմբեր\",\"assign_to_c46e21\":\"Հանձնարարել \",\"assignment_group_was_saved_successfully_5caa27d3\":\"Հանձնարարությունների խումբը հաջողությամբ պահպանված է\",\"assignment_was_deleted_8320d26d\":\"Հանձնարարությունը ջնջվել է\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"Ուղարկել հանձնարարությունը\"},\"cannot_delete_group\":\"Դուք պետք է ունենաք առնվազն մեկ հանձնարարությունների խումբ\",\"complete\":\"Ավարտել\",\"confirm_delete_group\":\"Դուք իսկապե՞ս ցանկանում եք ջնջել այս հանձնարարությունների խումբը:\",\"drop_highest_rule\":{\"one\":\"Բաց թողնել ամենաբարձր միավորը\",\"other\":\"Բաց թողնել %{count} ամենաբարձր միավորները\"},\"drop_lowest_rule\":{\"one\":\"Բաց թողնել ամենացածր միավորը\",\"other\":\"Բաց թողնել %{count} ամենացածր միավորները\"},\"everyone_else\":\"Մնացած յուրաքանչյուրը\",\"file_retrieval_error\":\"Ֆայլի ստացումը չհաջողվեց\",\"getting_file\":\"Ֆայլի ստացում...\",\"grade_gpa_scale_screenreader\":\"Գնահատական՝  %{grade}\",\"grade_letter_grade_screenreader\":\"Գնահատական՝  %{grade}\",\"grade_pass_fail_screenreader\":\"Գնահատական՝  %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"Գնահատական՝ %{grade}%\",\"incomplete\":\"Ավարտված չէ\",\"invalid_file_retrieval\":\"Խնդիր է առաջացել այս գործիքով ուղարկված ֆայլը ստանալիս:\",\"keyboard_add_item\":\"Ընտրված խմբի համար ավելացնել հանձնարարություն\",\"keyboard_close_menu\":\"Փակել ակտիվ դիալոգը\",\"keyboard_del_item\":\"Ջնջել ընթացիկ հանձնարարությունը կամ խումբը\",\"keyboard_edit_item\":\"Խմբագրել ընթացիկ հանձնարարությունը կամ խումբը\",\"keyboard_next_item\":\"Կենտրոնանալ հաջորդ հանձնարարության կամ խմբի վրա \",\"keyboard_prev_item\":\"Կենտրոնանալ նախորդ հանձնարարության կամ խմբի վրա \",\"keyboard_show_assign\":\"Ցույց տալ ընտրված հանձնարարության նախնական ամբողջական տեսքը\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"Այս հանձնարարությունն ուղարկելուց առաջ դուք պետք է ընդունեք հանձնարարությունն ուղարկելու պայմանները:\",\"not_submitted_yet\":\"Դուք չեք ավարտել ձեր հանձնարարության ուղարկման գործընթացը: Անհրաժեշտ է սեղմել \\\"Ուղարկել\\\" կոճակը՝ այն ավարտելու համար: Այնուամենայնիվ, ցանկանու՞մ եք դուրս գալ այս էջից:\",\"now_overdue\":\"Այս հանձնարարությունն ուղարկելու ժամկետն այժմ սպառվել է: Բոլոր նոր ուղարկված աշխատանքները կհամարվեն ուշ ուղարկված: Արդյո՞ք ցանկանում եք շարունակել:\",\"overdue\":\"Այս հանձնարարությունն ուղարկելու ժամկետն այժմ սպառվել է: Այնուամենայնիվ, ցանկանու՞մ եք շարունակել: \",\"record_before_submitting\":\"Գրանցել ուղարկելուց առաջ\",\"submit_failed\":\"Չհաջողվեց ուղարկել, կրկին փորձեք\",\"submitting\":\"Ուղարկվում է...\"},\"name_is_required\":\"Նշել անունը:\",\"never_drop_rule\":\"Երբեք բաց չթողնել  %{assignment_name}\",\"no_tools_found\":\"Գործիքներ չեն գտնվել\",\"overdue_assignments\":\"Ժամկետանց հանձնարարություններ\",\"past_assignments\":\"Նախկին հանձնարարություններ\",\"points_possible_number\":\"Հնարավոր միավորները պետք է թիվ լինեն:\",\"remove_never_drop_rule\":\"Հանել \\\"երբեք բաց չթողնել\\\" կանոնը\",\"remove_unsaved_never_drop_rule\":\"Հանել չպահպանված՝ \\\"երբեք բաց չթողնել\\\" կանոնը\",\"rules_text\":{\"one\":\"1 կանոն\",\"other\":\"%{count} կանոն\"},\"titles\":{\"add_assignment_group\":\"Ավելացնել հանձնարարության խումբ\",\"uploading\":\"Ուղարկված ֆայլի ներբեռնում\"},\"toggle_message\":\"Անջատել հանձնարարության տեսանելիությունը\",\"undated_assignments\":\"Ամսաթիվ չունեցող հանձնարարություններ\",\"upcoming_assignments\":\"Առաջիկա հանձնարարություններ\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"Կից ֆայլերը պետք է գերազանցեն 0 բայթը\",\"available_from_f84e4611\":\"Հասանելի է սկսված\",\"button\":{\"submit_assignment\":\"Ուղարկել հանձնարարությունը\"},\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"Շարունակել մուտքագրել` լրացուցիչ բաժիններ կամ ունկնդիրներ գտնելու համար\",\"course_section_7a988066\":\"Դասընթացի բաժին\",\"due_a73610f6\":\"Մինչև\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"Վերջնաժամկետը չի կարող սահմանվել արգելափակման ամսաթվից հետո \",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"Վերջնաժամկետը չի կարող սահմանվել արգելազերծումից առաջ  \",\"due_date_set_1c6364db\":\"Վերջնաժամկետի սահմանում\",\"edit_assignment_ebf22a72\":\"Խմբագրել հանձնարարությունը\",\"errors\":{\"no_attached_file\":\"Դուք պետք է այս հանձնարարությանը կցեք առնվազն մեկ ֆայլ\"},\"everyone_854554dd\":\"Յուրաքանչյուրին\",\"everyone_else_6c6dc7b6\":\"Մնացած բոլորը\",\"group_a8f5ed9c\":\"Խումբ\",\"immediately_c128ede6\":\"Անմիջապես\",\"loading_25990131\":\"Բեռնում է...\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"Մոդերացված գնահատումը չի կարող կիրառվել խմբային հանձնարարությունների համար:\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"Ունկնդիրների կողմից միմյանց աշխատանքների վերաբերյալ ներկայացված կարծիքները չեն կարող ենթարկվել մոդերացված գնահատման:\",\"moderated_grading_e6127f72\":\"Մոդերացված գնահատում\",\"no_results_found_58717065\":\"Արդյունքներ չեն ստացվել\",\"remove_these_dates_48453a81\":\"Հեռացնել այս ամսաթվերը\",\"searching_b0207e7f\":\"Որոնում է\",\"show_by_date_e3967761\":\"Ցույց տալ ըստ ամսաթվերի\",\"show_by_type_c5d61732\":\"Ցույց տալ ըստ տեսակների\",\"student_5da6bfd1\":\"Ունկնդիր\"},\"is\":{\"a_name_is_required_b5df38a9\":\"Þarf nafn\",\"add_8523c19b\":\"Bæta við\",\"add_new_set_of_due_dates_e8e240f\":\"Bæta við nýju setti skiladaga\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"Bæta við nemendum með leit eftir nafni, námskeiðshluta eða hópi. Eftir innfærslu texta, skoðaðu niðurstöður með lyklinum „ör niður“. Veldu niðurstöðu með Enter.\",\"after_the_assignment_is_graded_53754607\":\"Að lokinni einkunnagjöf fyrir verkefnið\",\"after_the_due_date_eee89c9c\":\"Eftir skiladag\",\"allow_moderator_to_review_multiple_independent_gra_c59d64f6\":\"Leyfa gæslumanni að fara yfir margar sjálfstæðar einkunnir fyrir innvaldar innsendingar\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"Viltu hætta við? Breytingar sem þú gerðir vistast hugsanlega ekki.\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"Viltu örugglega eyða þessu verkefni?\",\"assign_to_c46e21\":\"Úthluta til\",\"assignment_group_1a781505\":\"Verkefnahópur\",\"assignment_group_was_saved_successfully_5caa27d3\":\"Verkefnahópur var vistaður\",\"assignment_was_deleted_8320d26d\":\"Verkefni var eytt\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"Skila verkefni\"},\"cannot_delete_group\":\"Þú verður að hafa minnst einn verkefnahóp\",\"complete\":\"Lokið\",\"confirm_delete_group\":\"Viltu örugglega eyða þessum verkefnahópi?\",\"drop_highest_rule\":{\"one\":\"Sleppa hæstu einkunn\",\"other\":\"Sleppa hæstu%{count}einkunnum\"},\"drop_lowest_rule\":{\"one\":\"Sleppa lægstu einkunn\",\"other\":\"Sleppa lægstu%{count}einkunnum\"},\"everyone_else\":\"Allir aðrir\",\"file_retrieval_error\":\"Ekki tókst að endurheimta skrá\",\"getting_file\":\"Endurheimti skrá...\",\"grade_gpa_scale_screenreader\":\"Einkunn: %{grade}\",\"grade_letter_grade_screenreader\":\"Einkunn: %{grade}\",\"grade_pass_fail_screenreader\":\"Einkunn: %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"Einkunn: %{grade}%\",\"incomplete\":\"Ólokið\",\"invalid_file_retrieval\":\"Ekki tókst að endurheimta skrána sem send var frá þessu tæki.\",\"keyboard_add_item\":\"Bæta verkefni við valinn hóp\",\"keyboard_close_menu\":\"Loka virku samtali\",\"keyboard_del_item\":\"Eyða núverandi verkefni eða hópi\",\"keyboard_edit_item\":\"Breyta núverandi verkefni eða hópi\",\"keyboard_next_item\":\"Áhersla á næsta verkefni eða hóp\",\"keyboard_prev_item\":\"Áhersla á fyrra verkefni eða hóp\",\"keyboard_show_assign\":\"Sýna fulla forskoðun á völdu verkefni\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"Þú verður að samþykkja skilaheitið áður en þú getur lagt fram þetta verkefni.\",\"not_submitted_yet\":\"Þú hefur ekki lokið við að leggja fram verkefnið. Þú þarft að smella á \\\"Leggja fram\\\" til að skila því. Viltu samt fara af þessari síðu?\",\"now_overdue\":\"Þetta verkefni er í vanskilum. Ný skil verða merkt sem of sein. Viltu samt halda áfram?\",\"overdue\":\"Þetta verkefni er í vanskilum. Viltu samt leggja það fram?\",\"record_before_submitting\":\"Skrá fyrir skil\",\"submit_failed\":\"Sending mistókst, reyndu aftur\",\"submitting\":\"Legg fram...\"},\"name_is_required\":\"Þarf nafn!\",\"never_drop_rule\":\"Aldrei fella %{assignment_name}\",\"no_tools_found\":\"Engin tæki fundust\",\"overdue_assignments\":\"Vanskilaverkefni\",\"past_assignments\":\"Fyrri verkefni\",\"points_possible_number\":\"Mögulegir punktar verða að vera tala\",\"processing_submission\":\"Canvas er að vinna úr innsendingu þinni. Þú getur núna farið örugglega af síðunni, við munum senda þér tölvupóst ef innsending þín misheppnast.\",\"remove_never_drop_rule\":\"Fjarlægja regluna um að fella aldrei niður\",\"remove_unsaved_never_drop_rule\":\"Fjarlægja óvistaða reglu um að fella aldrei niður\",\"rules_text\":{\"one\":\"1 regla\",\"other\":\"%{count} reglur\"},\"titles\":{\"add_assignment_group\":\"Bæta við verkefnahópi\",\"uploading\":\"Hlaða upp skilum\"},\"toggle_message\":\"víxla sýnileika verkefnis\",\"undated_assignments\":\"Ódagsett verkefni\",\"upcoming_assignments\":\"Væntanleg verkefni\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"Viðhengdar skrár verða að vera stærri en 0 bæti\",\"available_from_f84e4611\":\"Tiltækt frá\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} Gættu þess að %{name} hafi skiladag.\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} Gættu þess að %{name} hafi skiladag og að nafnið sé ekki of langt.\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} Gættu þess að %{name} sé ekki of langt.\",\"button\":{\"submit_assignment\":\"Skila verkefni\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"Ekki hægt að afbirta %{name} ef skil nemenda eru til staðar\",\"changes_you_made_may_not_be_saved_4e8db973\":\"Breytingar verða hugsanlega ekki vistaðar.\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"Halda áfram innslætti til að finna fleiri hluta eða nemendur.\",\"count_assignments_found_17520826\":{\"one\":\"1 verkefni fannst.\",\"other\":\"%{count} verkefni fundust.\",\"zero\":\"Engin verkefni fundust sem eiga við leit.\"},\"course_section_7a988066\":\"Hluti námskeiðs\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"Skráð á %{tokenName}, smelltu til að fjarlægja\",\"delete_assignment_group_7c3b01c4\":\"Eyða verkefnahópi\",\"disabling_sync_to_name_failed_e7521ebb\":\"Aðgerðin „óvirkja samstillingu“ við %{name} mistókst\",\"due_a73610f6\":\"Skilafrestur\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"Skiladagur getur ekki verið eftir læstan dag\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"Skiladagur getur ekki verið fyrir læstan dag\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Skiladagur lendir á lokuðu matstímabili\",\"due_date_set_1c6364db\":\"Skiladagur ákveðinn\",\"edit_assignment_ebf22a72\":\"Breyta verkefni\",\"errors\":{\"no_attached_file\":\"Þú verður að hengja minnst eina skrá við þetta verkefni\",\"wrong_file_extension\":\"Skráin sem þú valdir með viðbótinni \\\"%{extension}\\\", er ekki heimiluð til skila\"},\"everyone_854554dd\":\"Allir\",\"everyone_else_6c6dc7b6\":\"Allir aðrir\",\"file_tree_collapsed_d4b0ae96\":\"Skráatré lokað\",\"file_tree_expanded_a1d20c4a\":\"Skráatré opnað\",\"final_grader_can_view_other_grader_names_67736530\":\"Loka matsaðili getur skoðað nöfn annarra matsaðila\",\"grader_that_determines_final_grade_cc55f20\":\"Einkunnagjafi sem ákvarðar lokaeinkunn\",\"graders_can_view_each_other_s_comments_d836b848\":\"Matsaðilar geta skoðað athugasemdir hvers annars\",\"group_a8f5ed9c\":\"Hópur\",\"immediately_c128ede6\":\"Tafarlaust\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"Hafa ber í huga að þessi skil gilda fyrir alla í %{groupType} hópnum þínum.\",\"loading_25990131\":\"Hleð inn...\",\"mastery_paths_cc4096c2\":\"Tileinkunarslóðir\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"Ekki hægt að heimila stýrða einkunnargjöf fyrir hópverkefni\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"Ekki hægt að heimila stýrða einkunnargjöf fyrir jafningjametin verkefni\",\"moderated_grading_e6127f72\":\"Stýrð einkunnagjöf\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"Stillingu stýrðrar einkunnagjafar verður ekki breytt ef metin skil eru til staðar\",\"move_assignment_6f890f64\":\"Færa verkefni\",\"move_contents_into_f3e4fd9d\":\"Flytja innihald í\",\"move_group_3dd7f76e\":\"Flytja hóp\",\"must_be_a_valid_number_59f0069\":\"Verður að vera gild tala\",\"must_have_at_least_1_grader_d4a54e85\":\"Þarf að hafa a.m.k. 1 einkunnagjafa\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} er læst. Smelltu til að aflæsa\",\"name_is_too_long_48daa8db\":\"Nafn er of langt\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"Nafn er of langt, verður að vera færri en %{length} stafir\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name} er ólæst. Smelltu til að læsa.\",\"never_df100b49\":\"Aldrei\",\"no_results_found_58717065\":\"Engar niðurstöður fundust\",\"number_of_graders_cde8dd54\":\"Fjöldi einkunnagjafa\",\"remove_empty_attachment_b2aea632\":\"fjarlægja autt viðhengi\",\"remove_filename_87f3781e\":\"fjarlægja %{filename}\",\"remove_these_dates_48453a81\":\"Fjarlægja þessar dagsetningar\",\"searching_b0207e7f\":\"Leita\",\"select_grader_782af48\":\"Velja einkunnagjafa\",\"selected_filename_7552a8c0\":\"valið %{filename}\",\"show_by_709f525b\":\"Sýna eftir\",\"show_by_date_e3967761\":\"Sýna eftir degi\",\"show_by_type_c5d61732\":\"Sýna eftir tegund\",\"show_report_to_students_a07888a6\":\"Sýna nemendum skýrslu\",\"student_5da6bfd1\":\"Nemandi\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"Samhæfing við %{name} óvirk. Smelltu til að víxla.\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"Samhæfing við %{name} virk. Smelltu til að víxla.\",\"sync_to_name_successfully_disabled_8045ad95\":\"Samstilling við %{name} hefur verið afvirkjuð\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"Einkunn fyrir þetta verkefni samstillist ekki við nemendaupplýsingakerfi.\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"Einkunn fyrir þetta verkefni samstillist við nemendaupplýsingakerfi.\",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"Ræsta tólið skilaði ógildu úrræði fyrir þetta verkefni\",\"there_are_currently_maxgradercount_available_grade_9ab81123\":\"Núna eru tiltækir %{maxGraderCount} matsaðilar\",\"there_is_currently_1_available_grader_758e4a21\":\"Núna eru 1 matsaðili tiltækur\",\"until_4a1f8cda\":\"Þar til\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"Notaðu listann til að fjarlægja úthlutaða nemendur. Bættu við nýjum nemendum með samsettum reit á eftir listanum.\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"Ekki er hægt að nota hærri tölu en sem nemur fjölda verkefna\",\"you_must_select_an_assignment_group_c16a2168\":\"Þú verður að velja verkefnahóp.\",\"you_must_use_a_number_912ce4bd\":\"Þú verður að nota tölu\",\"you_must_use_a_positive_number_203b86fe\":\"Þú verður að nota jákvæða tölu\"},\"it\":{\"a_name_is_required_b5df38a9\":\"Nome obbligatorio\",\"add_8523c19b\":\"Aggiungi\",\"add_new_set_of_due_dates_e8e240f\":\"Aggiungi nuovo set di scadenze\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"Aggiungi studenti tramite ricerca per nome, sezione corso o gruppo. Una volta inserito il testo, accedi ai risultati utilizzando il tasto freccia giù. Seleziona un risultato utilizzando il tasto Invio.\",\"after_the_assignment_is_graded_53754607\":\"Dopo la valutazione del compito\",\"after_the_due_date_eee89c9c\":\"Dopo la data di scadenza\",\"allow_moderator_to_review_multiple_independent_gra_c59d64f6\":\"Consenti al moderatore di rivedere più voti indipendenti per le consegne selezionate\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"Vuoi annullare? Le modifiche effettuate potrebbero non essere salvate.\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"Vuoi eliminare questo compito?\",\"assign_to_c46e21\":\"Assegna a\",\"assignment_group_1a781505\":\"Gruppo di compiti\",\"assignment_group_was_saved_successfully_5caa27d3\":\"Gruppo di compiti salvato correttamente\",\"assignment_was_deleted_8320d26d\":\"Compito eliminato\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"Invia compito\"},\"cannot_delete_group\":\"Devi avere almeno un gruppo di compiti\",\"complete\":\"Completato\",\"confirm_delete_group\":\"Vuoi eliminare questo gruppo di compiti?\",\"drop_highest_rule\":{\"one\":\"Rimuovi il punteggio più alto\",\"other\":\"Rimuovi i %{count} punteggi più alti\"},\"drop_lowest_rule\":{\"one\":\"Rimuovi il punteggio più basso\",\"other\":\"Rimuovi i %{count} punteggi più bassi\"},\"everyone_else\":\"Tutti gli altri\",\"file_retrieval_error\":\"Recupero file non riuscito\",\"getting_file\":\"Recupero file in corso...\",\"grade_gpa_scale_screenreader\":\"Voto: %{grade}\",\"grade_letter_grade_screenreader\":\"Voto: %{grade}\",\"grade_pass_fail_screenreader\":\"Voto: %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"Voto: %{grade}%\",\"incomplete\":\"Non completato\",\"invalid_file_retrieval\":\"Si è verificato un problema durante il recupero del file inviato da questo strumento.\",\"keyboard_add_item\":\"Aggiungi un compito al gruppo selezionato\",\"keyboard_close_menu\":\"Chiudi la finestra di dialogo attiva\",\"keyboard_del_item\":\"Elimina il compito o il gruppo corrente\",\"keyboard_edit_item\":\"Modifica il compito o il gruppo corrente\",\"keyboard_next_item\":\"Concentrati sul prossimo compito o gruppo\",\"keyboard_prev_item\":\"Concentrati sul compito o gruppo precedente\",\"keyboard_show_assign\":\"Mostra anteprima completa del compito selezionato\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"Per poter inviare questo compito, devi accettare l'impegno di consegna.\",\"not_submitted_yet\":\"L'invio del tuo compito è stato completato.  Devi ancora fare clic su \\\"Invia\\\" per completare la consegna. Desideri comunque lasciare questa pagina?\",\"now_overdue\":\"Questo compito è ora scaduto.  Qualsiasi nuova consegna verrà contrassegnata come in ritardo.  Continuare comunque?\",\"overdue\":\"Questo compito è scaduto.  Desideri ancora inviarlo?\",\"record_before_submitting\":\"Registra prima di inviare\",\"submit_failed\":\"Invio non riuscito. Riprova\",\"submitting\":\"Invio in corso...\"},\"name_is_required\":\"Il nome è obbligatorio.\",\"never_drop_rule\":\"Non rimuovere %{assignment_name}\",\"no_tools_found\":\"Nessuno strumento trovato\",\"overdue_assignments\":\"Compito scaduti\",\"past_assignments\":\"Compiti precedenti\",\"points_possible_number\":\"I punti possibili devono essere un numero\",\"processing_submission\":\"Canvas sta attualmente elaborando la tua consegna. Puoi navigare in modo sicuro al di fuori di questa pagina e ti invieremo un’e-mail se l’invio non viene elaborato correttamente.\",\"remove_never_drop_rule\":\"Rimuovi regola Non rimuovere\",\"remove_unsaved_never_drop_rule\":\"Rimuovi regola Non rimuovere non salvata\",\"rules_text\":{\"one\":\"1 regola\",\"other\":\"%{count} Regole\"},\"titles\":{\"add_assignment_group\":\"Aggiungi gruppo di compiti\",\"uploading\":\"Caricamento consegna\"},\"toggle_message\":\"abilita/disabilita visibilità compito\",\"undated_assignments\":\"Compiti senza data\",\"upcoming_assignments\":\"Compiti in programma\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"I file allegati devono essere maggiori di 0 byte\",\"available_from_f84e4611\":\"Disponibile da\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} Assicurati che %{name} abbia una data di scadenza.\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} Assicurati che %{name} abbia una data di scadenza e il nome non sia troppo lungo.\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} Assicurati che il nome %{name} non sia troppo lungo.\",\"button\":{\"submit_assignment\":\"Invia compito\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"Impossibile annullare la pubblicazione %{name} se ci sono consegne degli studenti\",\"changes_you_made_may_not_be_saved_4e8db973\":\"Le modifiche effettuate potrebbero non essere salvate.\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"Continua a digitare per trovare sezioni o studenti aggiuntivi.\",\"count_assignments_found_17520826\":{\"one\":\"1 compito trovato.\",\"other\":\"%{count} compiti trovati.\",\"zero\":\"Nessun compito corrispondente trovato.\"},\"course_section_7a988066\":\"Sezione corso\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"Attualmente assegnato %{tokenName}. Fai clic per rimuovere\",\"delete_assignment_group_7c3b01c4\":\"Elimina gruppo di compiti\",\"disabling_sync_to_name_failed_e7521ebb\":\"Disattivazione della sincronizzazione con %{name} non riuscita\",\"due_a73610f6\":\"Scadenza\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"La data di scadenza non può essere successiva alla data di blocco\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"La data di scadenza non può essere precedente alla data di sblocco\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"La data di scadenza cade in un periodo di valutazione chiuso\",\"due_date_set_1c6364db\":\"Impostazione data di scadenza\",\"edit_assignment_ebf22a72\":\"Modifica compito\",\"errors\":{\"no_attached_file\":\"Devi allegare almeno un file a questo compito\",\"wrong_file_extension\":\"Il file che hai selezionato con estensione \\\"%{extension}\\\" non è autorizzato per l'invio\"},\"everyone_854554dd\":\"Tutti\",\"everyone_else_6c6dc7b6\":\"Tutti gli altri\",\"file_tree_collapsed_d4b0ae96\":\"Struttura file compressa\",\"file_tree_expanded_a1d20c4a\":\"Struttura file espansa\",\"final_grader_can_view_other_grader_names_67736530\":\"L'esaminatore finale può visualizzare i nomi di altri esaminatori\",\"grader_that_determines_final_grade_cc55f20\":\"Valutatore che determina la valutazione finale\",\"graders_can_view_each_other_s_comments_d836b848\":\"Gli esaminatori possono visualizzare i commenti degli altri esaminatori\",\"group_a8f5ed9c\":\"Gruppo\",\"immediately_c128ede6\":\"Immediatamente\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"Tieni presente che questa consegna verrà presa in considerazione per ognuno all'interno del gruppo %{groupType}.\",\"loading_25990131\":\"Caricamento in corso...\",\"mastery_paths_cc4096c2\":\"Percorsi di acquisizione della padronanza\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"La valutazione moderata non può essere abilitata per i compiti di gruppo\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"La valutazione moderata non può essere abilitata per i compiti con revisione paritaria\",\"moderated_grading_e6127f72\":\"Valutazione moderata\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"L'impostazione per la valutazione moderata non può essere modificata se sono presenti consegne valutate\",\"move_assignment_6f890f64\":\"Sposta compito\",\"move_contents_into_f3e4fd9d\":\"Sposta i contenuti in\",\"move_group_3dd7f76e\":\"Sposta gruppo\",\"must_be_a_valid_number_59f0069\":\"Deve essere un numero valido\",\"must_have_at_least_1_grader_d4a54e85\":\"Deve avere almeno 1 valutatore\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} è bloccato. Fai clic per sbloccare\",\"name_is_too_long_48daa8db\":\"Nome troppo lungo\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"Nome troppo lungo. Deve contenere meno di %{length} caratteri\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name} è sbloccato. Fai clic per bloccare.\",\"never_df100b49\":\"Mai\",\"no_results_found_58717065\":\"Non è stato trovato nessun risultato\",\"number_of_graders_cde8dd54\":\"Numero dei valutatori\",\"remove_empty_attachment_b2aea632\":\"rimuovi allegato vuoto\",\"remove_filename_87f3781e\":\"rimuovi %{filename}\",\"remove_these_dates_48453a81\":\"Rimuovi queste date\",\"searching_b0207e7f\":\"Ricerca in corso\",\"select_grader_782af48\":\"Seleziona valutatore\",\"selected_filename_7552a8c0\":\"selezionato %{filename}\",\"show_by_709f525b\":\"Mostra per\",\"show_by_date_e3967761\":\"Mostra per data\",\"show_by_type_c5d61732\":\"Mostra per tipo\",\"show_report_to_students_a07888a6\":\"Mostra report a studenti\",\"student_5da6bfd1\":\"Studente\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"Sincronizzazione con %{name} disattivata. Fai clic per attivare/disattivare.\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"Sincronizzazione con %{name} attivata. Fai clic per attivare/disattivare.\",\"sync_to_name_successfully_disabled_8045ad95\":\"Sincronizzazione con %{name} disattivata\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"Il voto per questo compito non verrà sincronizzato con il sistema di informazioni studenti.\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"Il voto per questo compito verrà sincronizzato con il sistema di informazioni studenti.\",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"Lo strumento avviato ha restituito una risorsa non valida per questo compito\",\"there_are_currently_maxgradercount_available_grade_9ab81123\":\"Al momento sono disponibili %{maxGraderCount} esaminatori\",\"there_is_currently_1_available_grader_758e4a21\":\"Al momento è disponibile 1 esaminatore\",\"until_4a1f8cda\":\"Fino a\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"Usa questo elenco per rimuovere gli studenti assegnati. Aggiungi nuovi studenti con casella combinata dopo l'elenco.\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"Non puoi utilizzare un numero maggiore del numero di compiti\",\"you_must_select_an_assignment_group_c16a2168\":\"Devi selezionare un gruppo di compiti.\",\"you_must_use_a_number_912ce4bd\":\"Devi utilizzare un numero\",\"you_must_use_a_positive_number_203b86fe\":\"Devi utilizzare un numero positivo\"},\"ja\":{\"a_name_is_required_b5df38a9\":\"名前が必要です\",\"add_8523c19b\":\"追加\",\"add_new_set_of_due_dates_e8e240f\":\"新しい期日を追加\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"名前、コースセクション、またはグループで検索して受講生を追加します。テキストを入力した後、下向き矢印キーを使用して結果をナビゲートします。Enter キーを使用して結果を選択します。\",\"after_the_assignment_is_graded_53754607\":\"課題の採点後\",\"after_the_due_date_eee89c9c\":\"期日後\",\"allow_moderator_to_review_multiple_independent_gra_c59d64f6\":\"モデレータが選択した投稿の複数の独立した成績を審査できるようにする\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"ほんとうにキャンセルしますか?行われた変更は保存されません。\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"この課題を削除してもよろしいですか?\",\"assign_to_c46e21\":\"割り当てられる\",\"assignment_group_1a781505\":\"課題グループ\",\"assignment_group_was_saved_successfully_5caa27d3\":\"課題グループが保存されました\",\"assignment_was_deleted_8320d26d\":\"課題は削除されました\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"課題の提出\"},\"cannot_delete_group\":\"少なくとも 1 つの課題グループが必要です\",\"complete\":\"完了\",\"confirm_delete_group\":\"この課題グループを削除してもよろしいですか?\",\"drop_highest_rule\":{\"one\":\"上位 %{count} 個のスコアを除外する\",\"other\":\"上位 %{count} 個のスコアを除外する\"},\"drop_lowest_rule\":{\"one\":\"下位 %{count} 個のスコアを除外する\",\"other\":\"下位 %{count} 個のスコアを除外する\"},\"everyone_else\":\"他の全員\",\"file_retrieval_error\":\"ファイルの取得に失敗しました\",\"getting_file\":\"ファイルを取得しています...\",\"grade_gpa_scale_screenreader\":\"成績: %{grade}\",\"grade_letter_grade_screenreader\":\"成績: %{grade}\",\"grade_pass_fail_screenreader\":\"成績: %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"成績: %{grade}%\",\"incomplete\":\"未完了\",\"invalid_file_retrieval\":\"このツールから送信されたファイルを取得する際に問題が発生しました。\",\"keyboard_add_item\":\"選択したグループへの課題の追加\",\"keyboard_close_menu\":\"アクティブなダイアログを閉じる\",\"keyboard_del_item\":\"現在の課題またはグループの削除\",\"keyboard_edit_item\":\"現在の課題またはグループの編集\",\"keyboard_next_item\":\"次の課題またはグループへのフォーカスの移動\",\"keyboard_prev_item\":\"前の課題またはグループへのフォーカスの移動\",\"keyboard_show_assign\":\"選択した課題のフル プレビューの表示\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"Esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"この課題を提出するには、その前に提出時の誓約に同意する必要があります。\",\"not_submitted_yet\":\"課題の提出はまだ完了していません。提出を完了するには \\\"Submit\\\" をクリックする必要があります。提出を完了しないまま別のページに移動しますか?\",\"now_overdue\":\"この課題は期日を過ぎています。新しい提出物はすべて遅延のマークが付けられます。続行しますか?\",\"overdue\":\"この課題は期日を過ぎています。提出しますか?\",\"record_before_submitting\":\"提出前の記録\",\"submit_failed\":\"提出に失敗しました。もう一度やり直してください\",\"submitting\":\"提出しています...\"},\"name_is_required\":\"名前は必須項目です\",\"never_drop_rule\":\"%{assignment_name} を除外しない\",\"no_tools_found\":\"ツールが見つかりませんでした\",\"overdue_assignments\":\"期日を過ぎた課題\",\"past_assignments\":\"過去の課題\",\"points_possible_number\":\"配点は数値で入力してください\",\"processing_submission\":\"Canvas は現在あなたの提出物を処理中です。このページから安全に移動することができます。提出物が処理されたら電子メールでお知らせします。\",\"remove_never_drop_rule\":\"「決して下げない」ルールを削除\",\"remove_unsaved_never_drop_rule\":\"未保存の「決して下げない」ルールを削除\",\"rules_text\":{\"one\":\"%{count} 件のルール\",\"other\":\"%{count} 件のルール\"},\"titles\":{\"add_assignment_group\":\"課題グループの追加\",\"uploading\":\"提出物をアップロードしています\"},\"toggle_message\":\"課題の表示/非表示の切り替え\",\"undated_assignments\":\"日付のない課題\",\"upcoming_assignments\":\"今後予定されている課題\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"添付ファイルは、0バイト以上である必要があります。\",\"available_from_f84e4611\":\"次から使用可能\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} %{name}に期限があることを確認してください。\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} %{name}に期限があること、名前が長すぎないことを確認してください。\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} %{name}の名前が長すぎないことを確認してください。\",\"button\":{\"submit_assignment\":\"課題の提出\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"受講生の提出物がある場合は、%{name}を未公開にできません\",\"changes_you_made_may_not_be_saved_4e8db973\":\"行われた変更は保存されません。\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"更にタイプして、追加のセクションまたは生徒を見つける\",\"count_assignments_found_17520826\":{\"one\":\"課題が1つ見つかりました。\",\"other\":\"課題が %{count} つ見つかりました。\",\"zero\":\"一致する課題は見つかりません。\"},\"course_section_7a988066\":\"コース セクション\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"現在%{tokenName}に与えられている、クリックして削除する\",\"delete_assignment_group_7c3b01c4\":\"課題グループの削除\",\"disabling_sync_to_name_failed_e7521ebb\":\"%{name} への同期の無効化に失敗しました\",\"due_a73610f6\":\"期限\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"期日はロック日よりも後には設定できません\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"期日はロック解除日よりも前には設定できません\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"締め切り日が終了した採点期間内にあります\",\"due_date_set_1c6364db\":\"期日が設定されました\",\"edit_assignment_ebf22a72\":\"課題の編集\",\"errors\":{\"no_attached_file\":\"この課題には 1 個以上のファイルを添付する必要があります\",\"wrong_file_extension\":\"選択した拡張子 \\\"%{extension}\\\" のファイルは、提出が許可されていません\"},\"everyone_854554dd\":\"全員\",\"everyone_else_6c6dc7b6\":\"他の全員\",\"file_tree_collapsed_d4b0ae96\":\"ファイルツリーが折りたたまれている\",\"file_tree_expanded_a1d20c4a\":\"ファイルツリーが展開されている\",\"final_grader_can_view_other_grader_names_67736530\":\"最終評価者は他の評価者の名前を見ることができます\",\"grader_that_determines_final_grade_cc55f20\":\"最終グレードを決定するグレーダー\",\"graders_can_view_each_other_s_comments_d836b848\":\"評価者は互いのコメントを見ることができます\",\"group_a8f5ed9c\":\"グループ\",\"immediately_c128ede6\":\"即時\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"この提出は、あなたの%{groupType}グループの全員に当てはまりますので、注意してください。\",\"loading_25990131\":\"読み込み中・・・\",\"mastery_paths_cc4096c2\":\"熟達の過程\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"管理された採点は、グループ課題に対して有効化することはできません\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"管理された採点は、相互評価された課題に対して有効化することはできません\",\"moderated_grading_e6127f72\":\"管理された採点\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"管理された採点の設定は、採点された提出物が存在する場合は変更できません\",\"move_assignment_6f890f64\":\"課題を移動する\",\"move_contents_into_f3e4fd9d\":\"コンテンツを次に移動\",\"move_group_3dd7f76e\":\"グループを移動\",\"must_be_a_valid_number_59f0069\":\"有効な番号でなければなりません\",\"must_have_at_least_1_grader_d4a54e85\":\"少なくとも第1採点者がいなければなりません\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} ロックされています。クリックしてロック解除する\",\"name_is_too_long_48daa8db\":\"名前が長すぎます\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"名前が長すぎます。%{length} 文字未満でなければなりません\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name} ロック解除されています。クリックしてロックする。\",\"never_df100b49\":\"まったくしない\",\"no_results_found_58717065\":\"結果が見つかりません\",\"number_of_graders_cde8dd54\":\"採点者数\",\"remove_empty_attachment_b2aea632\":\"空の添付ファイルの削除\",\"remove_filename_87f3781e\":\"%{filename}を削除\",\"remove_these_dates_48453a81\":\"これらの日付を削除\",\"searching_b0207e7f\":\"検索中\",\"select_grader_782af48\":\"採点者を選択\",\"selected_filename_7552a8c0\":\"選択されました%{filename}\",\"show_by_709f525b\":\"...ごとに表示\",\"show_by_date_e3967761\":\"日付ごとに表示\",\"show_by_type_c5d61732\":\"タイプごとに表示\",\"student_5da6bfd1\":\"受講生\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"%{name} への同期化は無効。クリックして切り替える。\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"%{name} への同期化は有効。クリックして切り替える。\",\"sync_to_name_successfully_disabled_8045ad95\":\"%{name}  への同期化は正常に無効にされました\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"この課題の採点は、受講生の情報システムと同期しません。\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"この課題の採点は、受講生の情報システムと同期します。\",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"起動されたツールは、この課題に関して無効なリソースを返しました。\",\"there_are_currently_maxgradercount_available_grade_9ab81123\":\"現在 %{maxGraderCount} の利用可能な採点者がいます\",\"there_is_currently_1_available_grader_758e4a21\":\"現在1名の利用可能な採点者がいます\",\"until_4a1f8cda\":\"次の日時まで\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"このリストを使って、課題を与えられた受講生を削除します。コンボボックスのある受講生をリスト後に追加する。\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"課題数よりも大きい数字は使用できません\",\"you_must_use_a_number_912ce4bd\":\"数字を使用する必要があります\",\"you_must_use_a_positive_number_203b86fe\":\"正の数字を使用する必要があります\"},\"ko\":{\"add_8523c19b\":\"추가\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"과제 제출\"},\"cannot_delete_group\":\"하나 이상의 과제 그룹이 있어야 합니다.\",\"complete\":\"완료\",\"confirm_delete_group\":\"이 과제 그룹을 삭제하시겠습니까?\",\"drop_highest_rule\":{\"one\":\"최고 점수 %{count}개 제외\",\"other\":\"최고 점수 %{count}개 제외\"},\"drop_lowest_rule\":{\"one\":\"최저 점수 %{count}개 제외\",\"other\":\"최저 점수 %{count}개 제외\"},\"everyone_else\":\"다른 모든 사람\",\"file_retrieval_error\":\"파일 검색 실패\",\"getting_file\":\"파일 검색 중...\",\"grade_gpa_scale_screenreader\":\"평점: %{grade}\",\"grade_letter_grade_screenreader\":\"평점: %{grade}\",\"grade_pass_fail_screenreader\":\"평점: %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"평점: %{grade}%\",\"incomplete\":\"완료 안 됨\",\"invalid_file_retrieval\":\"이 도구에서 전송한 파일을 검색하는 데 문제가 발생했습니다.\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"ESC\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"이 과제를 체출하기 전에 제출물 서약에 동의해야 합니다.\",\"not_submitted_yet\":\"아직 과제 제출을 마치지 않았습니다. 제출을 마치려면 \\\"제출\\\" 버튼을 클릭해야 합니다. 그래도 이 페이지에서 나가시겠습니까?\",\"now_overdue\":\"이 과제는 기한을 초과했습니다.  새로운 제출물은 지연으로 표시됩니다.  계속 진행하시겠습니까?\",\"overdue\":\"이 과제는 기한을 초과했습니다. 제출하시겠습니까?\",\"record_before_submitting\":\"제출 전에 녹음/녹화\",\"submit_failed\":\"제출에 실패했습니다. 다시 시도하시기 바랍니다.\",\"submitting\":\"제출 중...\"},\"name_is_required\":\"이름이 필요합니다!\",\"never_drop_rule\":\"%{assignment_name}을(를) 드롭한 적 없음\",\"no_tools_found\":\"도구 없음\",\"overdue_assignments\":\"지연된 과제\",\"past_assignments\":\"지난 과제\",\"points_possible_number\":\"가능한 점수는 숫자이어야 함\",\"rules_text\":{\"one\":\"규칙 %{count}개\",\"other\":\"규칙 %{count}개\"},\"titles\":{\"add_assignment_group\":\"과제 그룹 추가\",\"uploading\":\"제출물 업로드\"},\"toggle_message\":\"과제 표시 토글\",\"undated_assignments\":\"날짜 없는 과제\",\"upcoming_assignments\":\"예정된 과제\"},\"available_from_f84e4611\":\"다음부터 사용 가능\",\"button\":{\"submit_assignment\":\"과제 제출\"},\"course_section_7a988066\":\"과목 섹션\",\"due_a73610f6\":\"기한\",\"errors\":{\"no_attached_file\":\"이 과제에 하나 이상의 파일을 첨부해야 함\"},\"everyone_854554dd\":\"모두\",\"everyone_else_6c6dc7b6\":\"나머지 모든 사람\",\"group_a8f5ed9c\":\"그룹\",\"immediately_c128ede6\":\"즉시\",\"loading_25990131\":\"로드하는 중...\",\"no_results_found_58717065\":\"결과 없음\",\"remove_these_dates_48453a81\":\"이 날짜 제거\",\"student_5da6bfd1\":\"학생\"},\"mi\":{\"a_name_is_required_b5df38a9\":\"He ingoa e hiahiatia\",\"add_8523c19b\":\"Tāpiri\",\"add_new_set_of_due_dates_e8e240f\":\"Tāpiri huinga hou o ngā rā e tika ana\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"Tāpiri ngā ākonga mā te rapu i te ingoa, wāhanga akoranga rōpū rānei. I muri i te whakauru i te kuputuhi, whakahaere i ngā hua ma te whakamahi i te ki raro kī. Tīpako i te hua mā te whakamahi i te whakauru kī.\",\"after_the_assignment_is_graded_53754607\":\"I muri kōeketia te whakataunga te\",\"after_the_due_date_eee89c9c\":\"I muri i te rā tika\",\"allow_moderator_to_review_multiple_independent_gra_c59d64f6\":\"Tukua te kaihautū ki te arotake i ngā tohu motuhake maha mo ngā tāpaetanga kua tohua\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"E tino hiahia ana koe ki te whakakore? Kaore pea e tiakina ngā huringa i mahia e koe.\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"E tino hiahia ana koe ki te muku i tēnei whakataunga?\",\"assign_to_c46e21\":\"Tohua ki\",\"assignment_group_1a781505\":\"Rōpū Whakataunga\",\"assignment_group_was_saved_successfully_5caa27d3\":\"Pai te ora Whakataunga rōpū i\",\"assignment_was_deleted_8320d26d\":\"I Mukua te whakataunga\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"tuku Whakataunga\"},\"cannot_delete_group\":\"Me whai koe i te iti rawa tētahi Rōpū Whakataunga\",\"complete\":\"Oti\",\"confirm_delete_group\":\"Kei te tino hiahia koe ki te muku i tēnei Whakataunga rōpū?\",\"drop_highest_rule\":{\"one\":\"Whakataka i te tatau rawa i\",\"other\":\"Whakataka i te %{count} tatau rawa i\"},\"drop_lowest_rule\":{\"one\":\"Whakataka i te kaute iti\",\"other\":\"Whakataka i te %{count} kaute iti\"},\"everyone_else\":\"tangata katoa atu\",\"file_retrieval_error\":\"I rahua Tiki Kōnae\",\"getting_file\":\"Tiki Kōnae ...\",\"grade_gpa_scale_screenreader\":\"Kōeke: %{grade}\",\"grade_letter_grade_screenreader\":\"Kōeke: %{grade}\",\"grade_pass_fail_screenreader\":\"Kōeke: %{grade}\",\"grade_percent\":\"%{grade}%xlist akoranga id\",\"grade_percent_screenreader\":\"Kōeke: %{grade}%\",\"incomplete\":\"Kaore i te oti\",\"invalid_file_retrieval\":\"Tērā tētahi raruraru tiki i te kōnae tonoa i tēnei taputapu.\",\"keyboard_add_item\":\"Tāpiri i te whakataunga ki te rōpū kua tīpakohia\",\"keyboard_close_menu\":\"Katia te kōrero hohe\",\"keyboard_del_item\":\"Mukua te whakataunga o nāianei rānei rōpū\",\"keyboard_edit_item\":\"Whakatika i te whakataunga o nāianei rānei rōpū\",\"keyboard_next_item\":\"Hāngai ki runga i te whakataunga , rōpū rānei o muri nei\",\"keyboard_prev_item\":\"Hāngai ki runga i te whakataunga, rōpū rānei i muri nei\",\"keyboard_show_assign\":\"Whakāturia arokite tonu o te whakataunga i tīpakohia\",\"keycodes\":{\"add_item\":\"te\",\"close_menu\":\"Esc\",\"del_item\":\"d\",\"edit_item\":\"ī\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"Me whakāe koe ki te tuku tāpaetanga e wātea ai koe ki te tuku i tēnei whakataunga\",\"not_submitted_yet\":\"Koare i mutu ia koe te tuku i to whakataunga. Me pāwhiri tonu koe i te \\\"tuku\\\" ki te whakaoti tahuri i roto. E hiahia ana koe ki te waiho tēnei whārangi tonu?\",\"now_overdue\":\"Kei te takaroa tēnei whakataunga. Ngā tāpaetanga ka mākāhia kua tūreiti. Haere tonu?\",\"overdue\":\"Kei te takaroa tēnei whakataunga. E hiahia tonu koe ki te tuku?\",\"record_before_submitting\":\"Rēkoata i mua i te tuku\",\"submit_failed\":\"Tuku rahua, tēnā koa ngana anō\",\"submitting\":\"E tuku ana ...\"},\"name_is_required\":\"Kei te Hiahiatia te Ingoa!\",\"never_drop_rule\":\"Kaua rawa e maturuturu %{assignment_name}\",\"no_tools_found\":\"Kāore i kitea ngā taputapu\",\"overdue_assignments\":\"Ngā whakataunga takaroa\",\"past_assignments\":\"Ngā whakataunga o muri mai\",\"points_possible_number\":\"Ngā koinga ka taea pea Me mau te tau\",\"processing_submission\":\"Ke te mahia e Canvas to tāpaetanga ināianei. Ka taea e koe te neke atu ma te haumaru mai i tēnei whārangi, ka īmēra atu e matou ki a koe mehemea ka hapa tō tāpaetanga te whakamahi.\",\"remove_never_drop_rule\":\"Tangohia e kore maturuturu tikanga\",\"remove_unsaved_never_drop_rule\":\"Tangohia tiakina kore maturuturu tikanga\",\"rules_text\":{\"one\":\"1 Ture\",\"other\":\"%{count} Ngā Ture\"},\"titles\":{\"add_assignment_group\":\"Tāpiri Rōpū Whakataunga\",\"uploading\":\"Tukuake ana tāpaetanga\"},\"toggle_message\":\"aritanga whakataunga takahuri\",\"undated_assignments\":\"Ngā whakataunga kaore he rā\",\"upcoming_assignments\":\"Ngā Whakataunga e haere mai ana\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"Tāpiri ngā kōnae nui ake i te 0 paita\",\"available_from_f84e4611\":\"wātea mai\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} Tēnā koa kia %{name} he rā e tika ana.\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} Tēnā koa kia %{name} he rā e tika ana, me te kore e roa rawa te ingoa.\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} Tēnā koa kia %{name} kore e tino roa rawa te ingoa\",\"button\":{\"submit_assignment\":\"tuku Whakataunga\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"Kāore e taea te tāngia %{name} ki te reira e tāpaetanga ākonga\",\"changes_you_made_may_not_be_saved_4e8db973\":\"Kaore pea e tiakina ngā huringa i mahia e koe.\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"Pātō tonu i ki te kitea atu wāhanga ākonga rānei.\",\"count_assignments_found_17520826\":{\"one\":\"Kitea 1 whakataunga\",\"other\":\"%{count} kitea whakataunga\",\"zero\":\"kitea he whakataunga ōrite.\"},\"course_section_7a988066\":\"Wāhanga akoranga\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"I tēnei wā i whakaritea ki te %{tokenName}, pāwhiri ki te tango\",\"delete_assignment_group_7c3b01c4\":\"Muku Rōpū Whakataunga\",\"disabling_sync_to_name_failed_e7521ebb\":\"I rāhua te monoki ia Sync kī %{name}\",\"due_a73610f6\":\"e tika ana\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"Kaore e taea te rā e tika ana ki muri i te rā maukati\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"Kaore e taea e te rā e tika ana kia mua i te rā iriti\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"E taka ana te rā e tika ana i roto i te wāhanga kōeke kua katia\",\"due_date_set_1c6364db\":\"Rā e tika ana whakatau\",\"edit_assignment_ebf22a72\":\"Whakatika Whakataunga\",\"errors\":{\"no_attached_file\":\"Me tāpiri koe i te iti rawa tētahi kōnae ki tēnei whakataunga\",\"wrong_file_extension\":\"E kore te kōnae i tīpakohia e koe ki te toronga \\\"%{extension}\\\", mana hoki tāpaetanga\"},\"everyone_854554dd\":\"tāngata katoa\",\"everyone_else_6c6dc7b6\":\"tangata katoa atu\",\"file_tree_collapsed_d4b0ae96\":\"I hinga te rakau kōnae\",\"file_tree_expanded_a1d20c4a\":\"I whānuitia te rakau kōnae\",\"final_grader_can_view_other_grader_names_67736530\":\"Ka taea e te kaitohutohu whakamutunga te tiro atu i ngā ingoa o ētahi atu kaitohutohu\",\"grader_that_determines_final_grade_cc55f20\":\"Ko te Kaikōeke e whakatau ana i te kōeke whakamutunga\",\"graders_can_view_each_other_s_comments_d836b848\":\"Ka taea e ngā Kaikōeke te titiro ki ētahi atu kōrerorero\",\"group_a8f5ed9c\":\"rōpū\",\"immediately_c128ede6\":\"tonu\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"Kia maumahara, ka kautetia tēnei tāpaetanga mo te katoa i roto i to roopu %{groupType}.\",\"loading_25990131\":\"E Uta ana ....\",\"mastery_paths_cc4096c2\":\"Mana Ara\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"E kore e taea te whakahohe kōeke whakaōrite mō ngā whakataunga rōpū\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"E kore e taea te whakahohe kōeke whakaōrite mō aropā arotakengia whakataunga\",\"moderated_grading_e6127f72\":\"Whakaōrite Kōeketanga\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"E kore e taea te huri tautuhinga kōeke whakaōrite ki te tīariari tāpaetanga kōekehia\",\"move_assignment_6f890f64\":\"Neke Whakataunga\",\"move_contents_into_f3e4fd9d\":\"Nuku ngā Ihirangi ki roto i\",\"move_group_3dd7f76e\":\"Nuku Rōpū\",\"must_be_a_valid_number_59f0069\":\"Me mau tika te nama\",\"must_have_at_least_1_grader_d4a54e85\":\"Me whai atu i te iti o te 1 kaikōeke\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} Kei te raka Pāwhiri ki te huaki\",\"name_is_too_long_48daa8db\":\"He roa rawa te ingoa\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"He tino roa rawa te ingoa, me noho i raro o te %{length} pūahua\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name} Kua huakina Pāwhiri ki te huaki\",\"never_df100b49\":\"Kaua rawa\",\"no_results_found_58717065\":\"Kāore he hua i kitea\",\"number_of_graders_cde8dd54\":\"Te nama o ngā kaikōeke\",\"remove_empty_attachment_b2aea632\":\"tango āpitihanga kau\",\"remove_filename_87f3781e\":\"tango %{filename}\",\"remove_these_dates_48453a81\":\"Tangohia enei Rā\",\"searching_b0207e7f\":\"Rapu ana\",\"select_grader_782af48\":\"Tīpako Kaikōeke\",\"selected_filename_7552a8c0\":\"tīpakotia %{filename}\",\"show_by_709f525b\":\"Whakātu mā\",\"show_by_date_e3967761\":\"Whakātu i te Rā\",\"show_by_type_c5d61732\":\"Whakātu i te Momo\",\"show_report_to_students_a07888a6\":\"Whakātu ngā pūrongo ki ngā ākonga\",\"student_5da6bfd1\":\"Ākonga\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"Tukutahi kī %{name} kua mukua Pāwhiri ki te takahuri\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"Tukutahi kī %{name} kua whakamanatia Pāwhiri ki te takahuri\",\"sync_to_name_successfully_disabled_8045ad95\":\"Tukutahi kī %{name} pai te monokia\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"Te kōeke mō tēnei whakataunga e kore e tukutahi ki te pūnaha mōhiohio ākonga.\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"Te kōeke mō tēnei whakataunga ka tukutahi ki te pūnaha mōhiohio ākonga.\",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"I whakahokia e te taputapu whakarewahia he rauemi kore mana mō tēnei whakataunga\",\"there_are_currently_maxgradercount_available_grade_9ab81123\":\"E %{maxGraderCount} ngā kaikōeke e wātea ana i tēnei wā\",\"there_is_currently_1_available_grader_758e4a21\":\"Kotahi te kaikōeke e wātea ana i tēnei wā\",\"until_4a1f8cda\":\"tae noa ki\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"Whakamahia tēnei rārangi ki te tango nga ākonga kua whakaritea Tāpiri ngā ākonga hou ki te pouaka kōwhiringa i muri i te rārangi.\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"E kore e taea e koe te atu te maha o whakataunga whakamahi i te tau nui\",\"you_must_select_an_assignment_group_c16a2168\":\"Me tīpako e koe he rōpū whakataunga\",\"you_must_use_a_number_912ce4bd\":\"Me whakamahi koe i te tau\",\"you_must_use_a_positive_number_203b86fe\":\"Me whakamahi koe i te tau pai\"},\"nb\":{\"a_name_is_required_b5df38a9\":\"Et navn er påkrevd\",\"add_8523c19b\":\"Legg til\",\"add_new_set_of_due_dates_e8e240f\":\"Legg til nytt sett av forfallsdatoer\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"Legg til studenter ved å søke etter navn, emne seksjon eller gruppe. Etter at du har lagt inn teksten, navigerer du etter resultater ved å bruke pil ned-tasten. Velg et resultat ved bruk av Enter-tasten.\",\"after_the_assignment_is_graded_53754607\":\"Etter at oppgaven er rettet\",\"after_the_due_date_eee89c9c\":\"Etter tidsfristen\",\"allow_moderator_to_review_multiple_independent_gra_c59d64f6\":\"La moderator evaluere flere uavhengige vurderinger for valgte innleveringer\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"Er du sikker på at du vil avbryte? Det kan hende at endringene dine ikke ble lagret.\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"Er du sikker på at du vil slette denne oppgaven?\",\"assign_to_c46e21\":\"Tildel til\",\"assignment_group_1a781505\":\"Oppgavegruppe\",\"assignment_group_was_saved_successfully_5caa27d3\":\"Vellykket lagring av oppgavegruppe\",\"assignment_was_deleted_8320d26d\":\"Oppgave ble slettet\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"Lever oppgave\"},\"cannot_delete_group\":\"Du må ha minst én oppgavegruppe\",\"complete\":\"Godkjent\",\"confirm_delete_group\":\"Er du sikker på at du vil slette denne oppgavegruppen?\",\"drop_highest_rule\":{\"one\":\"Dropp den høyeste poengsummen\",\"other\":\"Dropp de høyeste %{count} poengsummene\"},\"drop_lowest_rule\":{\"one\":\"Dropp den laveste poengsummen\",\"other\":\"Dropp de laveste %{count} poengsummene\"},\"everyone_else\":\"Alle andre\",\"file_retrieval_error\":\"Henting av fil mislyktes\",\"getting_file\":\"Henter fil …\",\"grade_gpa_scale_screenreader\":\"Karakter: %{grade}\",\"grade_letter_grade_screenreader\":\"Karakter: %{grade}\",\"grade_pass_fail_screenreader\":\"Karakter: %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"Karakter: %{grade}%\",\"incomplete\":\"Ikke godkjent\",\"invalid_file_retrieval\":\"Filen som ble sendt fra dette verktøyet kunne ikke hentes.\",\"keyboard_add_item\":\"Legg til en oppgave til den valgte gruppen\",\"keyboard_close_menu\":\"Steng den aktive dialogboksen\",\"keyboard_del_item\":\"Slett den gjeldende oppgaven eller gruppen\",\"keyboard_edit_item\":\"Rediger den gjeldende oppgaven eller gruppen\",\"keyboard_next_item\":\"Endre fokus til neste oppgave eller gruppe\",\"keyboard_prev_item\":\"Endre fokus til forrige oppgave eller gruppe\",\"keyboard_show_assign\":\"Vis full forhåndsvisning av den valgte oppgaven\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"Du må være enig i innleveringsbetingelsene før du kan levere denne oppgave.\",\"not_submitted_yet\":\"Du har ikke avsluttet innlevering av din oppgave. Du må klikke på \\\"Lever\\\" for å sluttføre innleveringen. Vil du forlate denne siden uansett?\",\"now_overdue\":\"Innleveringsfristen for denne oppgaven er nå passert. Alle nye innleveringer merkes som \\\"forsinket\\\". Fortsette likevel?\",\"overdue\":\"Innleveringsfristen for denne oppgaven er passert. Vil du likevel levere den?\",\"record_before_submitting\":\"Gjør opptak før innlevering\",\"submit_failed\":\"Innlevering mislyktes, vennligst prøv igjen\",\"submitting\":\"Sender inn...\"},\"name_is_required\":\"Navn kreves!\",\"never_drop_rule\":\"Kan ikke forbigås: %{assignment_name}\",\"no_tools_found\":\"Ingen verktøy funnet\",\"overdue_assignments\":\"Oppgaver med passert innleveringsdato\",\"past_assignments\":\"Tidligere oppgaver\",\"points_possible_number\":\"Oppnåelige poeng må være et tall\",\"processing_submission\":\"Canvas er i ferd med å behandle innleveringen din. Du kan trygt navigere bort fra denne siden og vi vil sende deg en epost om innleveringene din ikke kunne behandles.\",\"remove_never_drop_rule\":\"Fjern regelen om aldri å utelate\",\"remove_unsaved_never_drop_rule\":\"Fjern den ulagrede regelen om aldri å utelate\",\"rules_text\":{\"one\":\"1 regel\",\"other\":\"%{count} regler\"},\"titles\":{\"add_assignment_group\":\"Legg til oppgavegruppe\",\"uploading\":\"Laster opp innlevering\"},\"toggle_message\":\"vis/skjul oppgave\",\"undated_assignments\":\"Udaterte oppgaver\",\"upcoming_assignments\":\"Kommende oppgaver\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"Vedlagte filer må være større enn 0 bytes\",\"available_from_f84e4611\":\"Tilgjengelig fra\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} Sørg for at %{name} har en forfallsdato .\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} Sørg for at %{name} har en forfallsdato og at navnet ikke er altfor langt.\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} Sørg for at navnet %{name} ikke er altfor langt.\",\"button\":{\"submit_assignment\":\"Lever oppgave\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"Kan ikke avpublisere %{name} hvis det er innleveringer fra student\",\"changes_you_made_may_not_be_saved_4e8db973\":\"Det kan hende at endringene dine ikke ble lagret.\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"Fortsett å skrive for å finne ytterligere seksjoner eller studenter.\",\"count_assignments_found_17520826\":{\"one\":\"1 oppgave funnet\",\"other\":\"%{count} oppgaver funnet.\",\"zero\":\"Ingen matchende oppgaver funnet.\"},\"course_section_7a988066\":\"Emneseksjon\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"For tiden tildelt %{tokenName}, klikk for å fjerne\",\"delete_assignment_group_7c3b01c4\":\"Slett oppgavegruppe\",\"disabling_sync_to_name_failed_e7521ebb\":\"Deaktivere synkronisering til %{name} mislyktes\",\"due_a73610f6\":\"Leveres innen\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"Forfallsdato kan ikke være etter låsdato\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"Forfallsdato kan ikke være før opplåsingsdato\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Forfallsdatoen er innenfor en stengt vurderingsperiode\",\"due_date_set_1c6364db\":\"Forfallsdato satt\",\"edit_assignment_ebf22a72\":\"Rediger oppgave\",\"errors\":{\"no_attached_file\":\"Du må legge ved minst en fil i denne innleveringen\",\"wrong_file_extension\":\"Filen du valgte med utvidelses \\\"%{extension}\\\", er ikke autorisert for innlevering\"},\"everyone_854554dd\":\"Alle\",\"everyone_else_6c6dc7b6\":\"Alle andre\",\"file_tree_collapsed_d4b0ae96\":\"Filtreet kollapset\",\"file_tree_expanded_a1d20c4a\":\"Filtreet ble utvidet\",\"final_grader_can_view_other_grader_names_67736530\":\"Siste sensor kan se navn til andre sensorer\",\"grader_that_determines_final_grade_cc55f20\":\"Karaktersetter bestemmer sluttkarakter\",\"graders_can_view_each_other_s_comments_d836b848\":\"Sensorer kan se hverandres kommentarer\",\"group_a8f5ed9c\":\"Gruppe\",\"immediately_c128ede6\":\"Umiddelbart\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"Husk at denne innleveringen vil være tellende for alle i din %{groupType} gruppe.\",\"loading_25990131\":\"Laster...\",\"mastery_paths_cc4096c2\":\"Læringsstier\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"Moderert vurdering kan ikke aktiveres for gruppeoppgaver\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"Moderert vurdering kan ikke aktiveres for oppgaver som krever hverandrevurderinger\",\"moderated_grading_e6127f72\":\"Moderert vurdering\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"Moderert vurderingsinnstilling kan ikke endres dersom det eksisterer karaktersatte innleveringer\",\"move_assignment_6f890f64\":\"Flytt Oppgave\",\"move_contents_into_f3e4fd9d\":\"Flytt innhold inn i\",\"move_group_3dd7f76e\":\"Flytt gruppe\",\"must_be_a_valid_number_59f0069\":\"Må være et ugyldig nummer\",\"must_have_at_least_1_grader_d4a54e85\":\"Må ha minst 1 karaktersetter\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} er låst. Klikk for å låse opp\",\"name_is_too_long_48daa8db\":\"Navnet er for langt\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"Navnet er for langt, det må være under %{length} tegn\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name} er låst opp. Klikk for å låse.\",\"never_df100b49\":\"Aldri\",\"no_results_found_58717065\":\"Ingen resultater funnet\",\"number_of_graders_cde8dd54\":\"Antall karaktersettere\",\"remove_empty_attachment_b2aea632\":\"fjerne tomt vedlegg\",\"remove_filename_87f3781e\":\"fjerne %{filename}\",\"remove_these_dates_48453a81\":\"Fjern disse datoene\",\"searching_b0207e7f\":\"Søker\",\"select_grader_782af48\":\"Lagre karaktersetter\",\"selected_filename_7552a8c0\":\"valgt %{filename}\",\"show_by_709f525b\":\"Vis etter\",\"show_by_date_e3967761\":\"Vis etter dato\",\"show_by_type_c5d61732\":\"Vis etter type\",\"student_5da6bfd1\":\"Student\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"Synkronisering med %{name} deaktivert. Klikk for å veksle.\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"Synkronisering med %{name} aktivert. Klikk for å veksle.\",\"sync_to_name_successfully_disabled_8045ad95\":\"Synkroniser til %{name} deaktivert\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"Karakteren på denne oppgaven vil ikke synkroniseres med studentens informasjonssystem.\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"Karakteren på denne oppgaven vil synkroniseres med studentens informasjonssystem.\",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"Det oppstartede verktøyet returnerte en ugyldig ressurs for denne oppgaven\",\"there_are_currently_maxgradercount_available_grade_9ab81123\":\"Det er %{maxGraderCount} tilgjengelige karaktersettere for øyeblikket\",\"there_is_currently_1_available_grader_758e4a21\":\"Det er 1 tilgjengelige sensorer for øyeblikket\",\"until_4a1f8cda\":\"Inntil\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"Bruk denne listen til å fjerne tildelte studenter. Legg til nye studenter med komboboks ifølge liste.\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"Du kan ikke bruke et tall som er større enn antall oppgaver\",\"you_must_use_a_number_912ce4bd\":\"Du må bruke et tall\",\"you_must_use_a_positive_number_203b86fe\":\"Du må bruke et positivt tall\"},\"nb-x-k12\":{\"a_name_is_required_b5df38a9\":\"Et navn er påkrevd\",\"add_8523c19b\":\"Legg til\",\"add_new_set_of_due_dates_e8e240f\":\"Legg til nytt sett av forfallsdatoer\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"Legg til elever ved å søke etter navn, fag seksjon eller gruppe. Etter at du har lagt inn teksten, navigerer du etter resultater ved å bruke pil ned-tasten. Velg et resultat ved bruk av Enter-tasten.\",\"after_the_assignment_is_graded_53754607\":\"Etter at oppgaven er rettet\",\"after_the_due_date_eee89c9c\":\"Etter tidsfristen\",\"allow_moderator_to_review_multiple_independent_gra_c59d64f6\":\"Tillat at en moderator gjennomgår flere uavhengige vurderinger for valgte innleveringer\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"Er du sikker på at du vil avbryte? Det kan hende at endringene dine ikke ble lagret.\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"Er du sikker på at du vil slette denne oppgaven?\",\"assign_to_c46e21\":\"Tildel til\",\"assignment_group_1a781505\":\"Oppgavegruppe\",\"assignment_group_was_saved_successfully_5caa27d3\":\"Vellykket lagring av oppgavegruppe\",\"assignment_was_deleted_8320d26d\":\"Oppgave ble slettet\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"Lever inn oppgave\"},\"cannot_delete_group\":\"Du må ha minst én oppgavegruppe\",\"complete\":\"Fullført\",\"confirm_delete_group\":\"Er du sikker på at du vil slette denne oppgavegruppen?\",\"drop_highest_rule\":{\"one\":\"Dropp den høyeste resultatet\",\"other\":\"Dropp de høyeste %{count} resultatet\"},\"drop_lowest_rule\":{\"one\":\"Dropp den laveste resultatet\",\"other\":\"Dropp de laveste %{count} resultatene\"},\"everyone_else\":\"Alle andre\",\"file_retrieval_error\":\"Henting av fil mislyktes\",\"getting_file\":\"Henter fil …\",\"grade_gpa_scale_screenreader\":\"Vurdering: %{grade}\",\"grade_letter_grade_screenreader\":\"Vurdering: %{grade}\",\"grade_pass_fail_screenreader\":\"Vurdering: %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"Vurdering: %{grade}%\",\"incomplete\":\"Ikke fullført\",\"invalid_file_retrieval\":\"Filen som ble sendt fra dette verktøyet kunne ikke hentes.\",\"keyboard_add_item\":\"Legg til en oppgave til den valgte gruppen\",\"keyboard_close_menu\":\"Steng den aktive dialogboksen\",\"keyboard_del_item\":\"Slett den gjeldende oppgaven eller gruppen\",\"keyboard_edit_item\":\"Rediger den gjeldende oppgaven eller gruppen\",\"keyboard_next_item\":\"Endre fokus til neste oppgave eller gruppe\",\"keyboard_prev_item\":\"Endre fokus til forrige oppgave eller gruppe\",\"keyboard_show_assign\":\"Vis full forhåndsvisning av den valgte oppgaven\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"Du må være enig i innleveringsbetingelsene før du kan levere denne oppgave.\",\"not_submitted_yet\":\"Du har ikke avsluttet innlevering av din oppgave. Du må klikke på \\\"Lever\\\" for å sluttføre innleveringen. Vil du forlate denne siden uansett?\",\"now_overdue\":\"Innleveringsfristen for denne oppgaven er nå passert. Alle nye innleveringer merkes som \\\"forsinket\\\". Fortsette likevel?\",\"overdue\":\"Innleveringsfristen for denne oppgaven er passert. Vil du likevel levere den?\",\"record_before_submitting\":\"Gjør opptak før innlevering\",\"submit_failed\":\"Innlevering mislyktes, vennligst prøv igjen\",\"submitting\":\"Sender inn...\"},\"name_is_required\":\"Navn kreves!\",\"never_drop_rule\":\"Kan ikke forbigås: %{assignment_name}\",\"no_tools_found\":\"Ingen verktøy funnet\",\"overdue_assignments\":\"Oppgaver med passert innleveringsdato\",\"past_assignments\":\"Tidligere oppgaver\",\"points_possible_number\":\"Oppnåelige poeng må være et tall\",\"processing_submission\":\"Canvas er i ferd med å behandle innleveringen din. Du kan trygt navigere bort fra denne siden og vi vil sende deg en epost om innleveringene din ikke kunne behandles.\",\"remove_never_drop_rule\":\"Fjern regelen om aldri å utelate\",\"remove_unsaved_never_drop_rule\":\"Fjern den ikke-lagrede regelen om aldri å utelate\",\"rules_text\":{\"one\":\"1 regel\",\"other\":\"%{count} regler\"},\"titles\":{\"add_assignment_group\":\"Legg til oppgavegruppe\",\"uploading\":\"Laster opp innlevering\"},\"toggle_message\":\"vis/skjul oppgave\",\"undated_assignments\":\"Udaterte oppgaver\",\"upcoming_assignments\":\"Kommende oppgaver\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"Vedlagte filer må være større enn 0 bytes\",\"available_from_f84e4611\":\"Tilgjengelig fra\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} Sørg for at %{name} har en forfallsdato .\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} Sørg for at %{name} har en forfallsdato og at navnet ikke er altfor langt.\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} Sørg for at navnet %{name} ikke er altfor langt.\",\"button\":{\"submit_assignment\":\"Lever inn oppgave\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"Kan ikke avpublisere %{name} hvis det er innleveringer fra elev\",\"changes_you_made_may_not_be_saved_4e8db973\":\"Det kan hende at endringene dine ikke ble lagret.\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"Fortsett å skrive for å finne ytterligere seksjoner eller elever.\",\"count_assignments_found_17520826\":{\"one\":\"1 oppgave funnet\",\"other\":\"%{count} oppgaver funnet.\",\"zero\":\"Ingen matchende oppgaver funnet.\"},\"course_section_7a988066\":\"Fagseksjon\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"For tiden tildelt %{tokenName}, klikk for å fjerne\",\"delete_assignment_group_7c3b01c4\":\"Slett oppgavegruppe\",\"disabling_sync_to_name_failed_e7521ebb\":\"Deaktivere synkronisering til %{name} mislyktes\",\"due_a73610f6\":\"Leveres innen\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"Forfallsdato kan ikke være etter låsdato\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"Forfallsdato kan ikke være før opplåsingsdato\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Forfallsdatoen er innenfor en stengt vurderingsperiode\",\"due_date_set_1c6364db\":\"Forfallsdato satt\",\"edit_assignment_ebf22a72\":\"Rediger oppgave\",\"errors\":{\"no_attached_file\":\"Du må legge ved minst en fil i denne oppgave\",\"wrong_file_extension\":\"Filen du valgte med utvidelses \\\"%{extension}\\\", er ikke autorisert for innlevering\"},\"everyone_854554dd\":\"Alle\",\"everyone_else_6c6dc7b6\":\"Alle andre\",\"file_tree_collapsed_d4b0ae96\":\"Filtreet kollapset\",\"file_tree_expanded_a1d20c4a\":\"Filtreet ble utvidet\",\"final_grader_can_view_other_grader_names_67736530\":\"Sluttsensor kan se andre sensorers navn.\",\"grader_that_determines_final_grade_cc55f20\":\"Sensor som bestemmer sluttvurdering\",\"graders_can_view_each_other_s_comments_d836b848\":\"Sensorer kan se hverandres kommentarer\",\"group_a8f5ed9c\":\"Gruppe\",\"immediately_c128ede6\":\"Umiddelbart\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"Husk at denne innleveringen vil være tellende for alle i din %{groupType} gruppe.\",\"loading_25990131\":\"Laster...\",\"mastery_paths_cc4096c2\":\"Læringsstier\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"Moderert vurdering kan ikke aktiveres for gruppeoppgaver\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"Moderert vurdering kan ikke aktiveres for oppgaver som krever medelevvurderinger\",\"moderated_grading_e6127f72\":\"Moderert vurdering\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"Moderert vurderingsinnstilling kan ikke endres dersom det eksisterer vurderte innleveringer\",\"move_assignment_6f890f64\":\"Flytt Oppgave\",\"move_contents_into_f3e4fd9d\":\"Flytt innhold inn i\",\"move_group_3dd7f76e\":\"Flytt gruppe\",\"must_be_a_valid_number_59f0069\":\"Må være et ugyldig nummer\",\"must_have_at_least_1_grader_d4a54e85\":\"Må ha minst 1 sensor\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} er låst. Klikk for å låse opp\",\"name_is_too_long_48daa8db\":\"Navnet er for langt\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"Navnet er for langt, det må være under %{length} tegn\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name} er låst opp. Klikk for å låse.\",\"never_df100b49\":\"Aldri\",\"no_results_found_58717065\":\"Ingen resultater funnet\",\"number_of_graders_cde8dd54\":\"Antall sensorer\",\"remove_empty_attachment_b2aea632\":\"fjerne tomt vedlegg\",\"remove_filename_87f3781e\":\"fjerne %{filename}\",\"remove_these_dates_48453a81\":\"Fjern disse datoene\",\"searching_b0207e7f\":\"Søker\",\"select_grader_782af48\":\"Velg sensor\",\"selected_filename_7552a8c0\":\"valgt %{filename}\",\"show_by_709f525b\":\"Vis etter\",\"show_by_date_e3967761\":\"Vis etter dato\",\"show_by_type_c5d61732\":\"Vis etter type\",\"student_5da6bfd1\":\"Elev\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"Synkronisering med %{name} deaktivert. Klikk for å veksle.\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"Synkronisering med %{name} aktivert. Klikk for å veksle.\",\"sync_to_name_successfully_disabled_8045ad95\":\"Synkroniser til %{name} deaktivert\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"Vurderingen på denne oppgaven vil ikke synkroniseres med elevens informasjonssystem.\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"Vurderingen på denne oppgaven vil synkroniseres med elevens informasjonssystem.\",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"Det oppstartede verktøyet returnerte en ugyldig ressurs for denne oppgaven\",\"there_are_currently_maxgradercount_available_grade_9ab81123\":\"Det er for øyeblikket %{maxGraderCount} tilgjengelige sensorer\",\"there_is_currently_1_available_grader_758e4a21\":\"Det er for øyeblikket 1 tilgjengelig sensor\",\"until_4a1f8cda\":\"Inntil\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"Bruk denne listen til å fjerne tildelte elever. Legg til nye elever med komboboks ifølge liste.\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"Du kan ikke bruke et tall som er større enn antall oppgaver\",\"you_must_use_a_number_912ce4bd\":\"Du må bruke et tall\",\"you_must_use_a_positive_number_203b86fe\":\"Du må bruke et positivt tall\"},\"nl\":{\"a_name_is_required_b5df38a9\":\"Er is een naam vereist\",\"add_8523c19b\":\"Toevoegen\",\"add_new_set_of_due_dates_e8e240f\":\"Nieuwe set van inleverdatums toevoegen\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"Voeg cursisten toe door te zoeken op naam, cursussectie of groep. Voer tekst in en bekijk de resultaten door de pijltoets omlaag te gebruiken. Selecteer een resultaat met de Enter-toets.\",\"after_the_assignment_is_graded_53754607\":\"Na het beoordelen van de opdracht\",\"after_the_due_date_eee89c9c\":\"Na de inleverdatum\",\"allow_moderator_to_review_multiple_independent_gra_c59d64f6\":\"Sta een moderator toe om verschillende onafhankelijke cijfers te beoordelen voor geselecteerde inzendingen\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"Weet je zeker dat je wilt annuleren? Je wijzigingen worden niet opgeslagen.\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"Weet je zeker dat je deze opdracht wilt verwijderen?\",\"assign_to_c46e21\":\"Toewijzen aan\",\"assignment_group_1a781505\":\"Opdrachtgroep\",\"assignment_group_was_saved_successfully_5caa27d3\":\"Opdrachtgroep is succesvol opgeslagen\",\"assignment_was_deleted_8320d26d\":\"Opdracht was verwijderd\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"Opdracht inleveren\"},\"cannot_delete_group\":\"Je moet minimaal een opdrachtgroep hebben\",\"complete\":\"Voltooid\",\"confirm_delete_group\":\"Weet je zeker dat je deze opdrachtgroep wilt verwijderen?\",\"drop_highest_rule\":{\"one\":\"De hoogste score laten vallen\",\"other\":\"De hoogste %{count} scores laten vallen\"},\"drop_lowest_rule\":{\"one\":\"De laagste score laten vallen\",\"other\":\"De laagste %{count} scores laten vallen\"},\"everyone_else\":\"Alle anderen\",\"file_retrieval_error\":\"Het ophalen van bestand mislukt\",\"getting_file\":\"Bezig met ophalen van bestand...\",\"grade_gpa_scale_screenreader\":\"Cijfer: %{grade}\",\"grade_letter_grade_screenreader\":\"Cijfer: %{grade}\",\"grade_pass_fail_screenreader\":\"Cijfer: %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"Cijfer: %{grade}\",\"incomplete\":\"Incompleet\",\"invalid_file_retrieval\":\"Er is een probleem opgetreden bij het ophalen van het bestand dat van deze tool is verstuurd.\",\"keyboard_add_item\":\"Een opdracht aan een geselecteerde groep toevoegen\",\"keyboard_close_menu\":\"De actieve dialoog sluiten\",\"keyboard_del_item\":\"De huidige opdracht of groep verwijderen\",\"keyboard_edit_item\":\"De huidige opdracht of groep verwijderen\",\"keyboard_next_item\":\"Op de volgende opdracht of groep focussen\",\"keyboard_prev_item\":\"Op de vorige opdracht of groep focussen\",\"keyboard_show_assign\":\"Volledig voorbeeld van de geselecteerde opdracht tonen\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"Je moet akkoord gaan met de inzendingsvoorwaarde voordat deze opdracht ingezonden kan worden.\",\"not_submitted_yet\":\"Je hebt het inleveren van jouw opdracht nog niet voltooid. Je moet nog op \\\"Inleveren\\\" klikken om de opdracht daadwerkelijk in te zenden. Weet je zeker dat je deze pagina hoe dan ook wilt verlaten?\",\"now_overdue\":\"De inleverdatum voor deze opdracht is verstreken. Nieuwe inzendingen zullen gemarkeerd worden als \\\"te laat\\\". Toch doorgaan?\",\"overdue\":\"De inleverdatum voor deze opdracht is verstreken. Wil je de opdracht toch inleveren?\",\"record_before_submitting\":\"Registreren voor inleveren\",\"submit_failed\":\"Het toevoegen van de cursus is mislukt, probeer het opnieuw.\",\"submitting\":\"Bezig met inleveren...\"},\"name_is_required\":\"Naam is verplicht!\",\"never_drop_rule\":\"Nooit weglaten %{assignment_name}\",\"no_tools_found\":\"Geen tools gevonden\",\"overdue_assignments\":\"Achterstallige opdrachten\",\"past_assignments\":\"Oude opdrachten\",\"points_possible_number\":\"Mogelijke punten moeten een getal zijn\",\"processing_submission\":\"Canvas is bezig met het verwerken van je inlevering. Je kunt deze pagina gewoon sluiten en wij sturen je een e-mail als de inlevering niet kan worden verwerkt.\",\"remove_never_drop_rule\":\"Nooit regel laten vallen verwijderen\",\"remove_unsaved_never_drop_rule\":\"Niet opgeslagen nooit regel laten vallen verwijderen\",\"rules_text\":{\"one\":\"1 regel\",\"other\":\"%{count} regels\"},\"titles\":{\"add_assignment_group\":\"Opdrachtgroep toevoegen\",\"uploading\":\"Bezig met uploaden van inzending\"},\"toggle_message\":\"Zichtbaarheid van opdracht in-/uitschakelen\",\"undated_assignments\":\"Opdrachten zonder datum\",\"upcoming_assignments\":\"Aankomende opdrachten\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"Bijgevoegde bestanden moeten groter dan 0 bytes zijn\",\"available_from_f84e4611\":\"Beschikbaar vanaf\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} Zorg ervoor dat %{name} een inleverdatum heeft.\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} Let erop dat %{name} een inleverdatum heeft en dat de naam niet te lang is.\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} Let erop dat de %{name}-naam niet te lang is.\",\"button\":{\"submit_assignment\":\"Opdracht inleveren\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"Kan publicatie %{name} niet ongedaan maken als er inzendingen van cursisten zijn\",\"changes_you_made_may_not_be_saved_4e8db973\":\"Je wijzigingen worden niet opgeslagen.\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"Ga door met typen om extra secties of studenten te vinden.\",\"count_assignments_found_17520826\":{\"one\":\"1 opdracht gevonden.\",\"other\":\"%{count} opdrachten gevonden.\",\"zero\":\"Geen overeenkomende opdrachten gevonden.\"},\"course_section_7a988066\":\"Sectie van de cursus\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"Momenteel toegewezen aan %{tokenName}, klik om te verwijderen\",\"delete_assignment_group_7c3b01c4\":\"Opdrachtgroep verwijderen\",\"disabling_sync_to_name_failed_e7521ebb\":\"Uitschakelen van Synchroniseren naar %{name} is mislukt\",\"due_a73610f6\":\"Inleverdatum\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"Inleverdatum kan niet na vergrendeldatum plaatsvinden\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"Inleverdatum kan niet voor vergrendeldatum plaatsvinden\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Inleverdatum valt binnen een afgesloten beoordelingsperiode\",\"due_date_set_1c6364db\":\"Inleverdatum ingesteld\",\"edit_assignment_ebf22a72\":\"Opdracht bewerken\",\"errors\":{\"no_attached_file\":\"Je moet minimaal één bestand als bijlage aan deze opdracht toevoegen\",\"wrong_file_extension\":\"Het bestand met extensie \\\"%{extension}\\\" die je gekozen hebt is niet geautoriseerd voor inzending\"},\"everyone_854554dd\":\"Iedereen\",\"everyone_else_6c6dc7b6\":\"Alle anderen\",\"file_tree_collapsed_d4b0ae96\":\"Bestandsstructuur samengevouwen\",\"file_tree_expanded_a1d20c4a\":\"Bestandsstructuur uitgevouwen\",\"final_grader_can_view_other_grader_names_67736530\":\"Bepaler van eindcijfer kan namen van andere beoordelaars bekijken\",\"grader_that_determines_final_grade_cc55f20\":\"Beoordelaar die het eindcijfer bepaalt\",\"graders_can_view_each_other_s_comments_d836b848\":\"Beoordelaars kunnen elkaars opmerkingen bekijken\",\"group_a8f5ed9c\":\"Groep\",\"immediately_c128ede6\":\"Onmiddellijk\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"Hou in gedachten: deze inzending zal voor iedereen van jouw %{groupType}-groep tellen.\",\"loading_25990131\":\"Bezig met laden...\",\"mastery_paths_cc4096c2\":\"Meesterschapspaden\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"Gemodereerd beoordelen kan niet geactiveerd worden voor groepsopdrachten\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"Gemodereerd beoordelen kan niet geactiveerd worden voor opdrachten met peerbeoordeling\",\"moderated_grading_e6127f72\":\"Gemodereerde beoordeling\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"Instelling Gemodereerd beoordelen kan niet gewijzigd worden als er beoordeelde inzendingen zijn\",\"move_assignment_6f890f64\":\"Opdracht verplaatsen\",\"move_contents_into_f3e4fd9d\":\"Inhoud verplaatsen naar\",\"move_group_3dd7f76e\":\"Groep verplaatsen\",\"must_be_a_valid_number_59f0069\":\"Moet een geldig getal zijn\",\"must_have_at_least_1_grader_d4a54e85\":\"Moet ten minste 1 beoordelaar hebben\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} is vergrendeld. Klik om te ontgrendelen\",\"name_is_too_long_48daa8db\":\"Naam is te lang\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"Naam is te lang, deze moet minder dan %{length} tekens zijn\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name} is ontgrendeld. Klik om te vergrendelen.\",\"never_df100b49\":\"Nooit\",\"no_results_found_58717065\":\"Geen resultaten gevonden\",\"number_of_graders_cde8dd54\":\"Aantal beoordelaars\",\"remove_empty_attachment_b2aea632\":\"lege bijlage verwijderen\",\"remove_filename_87f3781e\":\"%{filename} verwijderen\",\"remove_these_dates_48453a81\":\"Deze datums verwijderen\",\"searching_b0207e7f\":\"Bezig met zoeken...\",\"select_grader_782af48\":\"Beoordelaar selecteren\",\"selected_filename_7552a8c0\":\"geselecteerd %{filename}\",\"show_by_709f525b\":\"Tonen door\",\"show_by_date_e3967761\":\"Tonen per datum\",\"show_by_type_c5d61732\":\"Tonen per type\",\"show_report_to_students_a07888a6\":\"Rapport weergeven aan cursisten\",\"student_5da6bfd1\":\"Cursist\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"Synchroniseren met %{name} uitgeschakeld. Klik om in of uit te schakelen.\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"Synchroniseren met %{name} ingeschakeld. Klik om in of uit te schakelen.\",\"sync_to_name_successfully_disabled_8045ad95\":\"Synchroniseren met %{name} is uitgeschakeld\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"Het cijfer voor deze opdracht synchroniseert niet met het informatiesysteem van de cursist.\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"Het cijfer voor deze opdracht synchroniseert met het informatiesysteem van de cursist.\",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"De gestarte tool heeft een ongeldige bron voor deze opdracht geretourneerd\",\"there_are_currently_maxgradercount_available_grade_9ab81123\":\"Er zijn momenteel %{maxGraderCount} beoordelaars beschikbaar\",\"there_is_currently_1_available_grader_758e4a21\":\"Er is momenteel 1 beoordelaar beschikbaar\",\"until_4a1f8cda\":\"Tot\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"Gebruik deze lijst om toegewezen cursisten te verwijderen. Voeg nieuwe cursisten toe via een keuzelijst met invoervak.\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"Je kunt geen nummer gebruiken dat groter is dan het aantal opdrachten\",\"you_must_select_an_assignment_group_c16a2168\":\"Je moet een opdrachtgroep selecteren.\",\"you_must_use_a_number_912ce4bd\":\"Je moet een getal gebruiken\",\"you_must_use_a_positive_number_203b86fe\":\"Je moet een positief getal gebruiken\"},\"nn\":{\"a_name_is_required_b5df38a9\":\"Eit namn er obligatorisk\",\"add_8523c19b\":\"Legg til\",\"add_new_set_of_due_dates_e8e240f\":\"Legg til nye forfallsdatoar\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"Legg til studentar ved å søkje på namn, emneseksjon eller gruppe. Etter å ha skrive inn tekst, kan du navigere i resultatet ved å bruke ned-piltasten på  tastaturet. Vel resultat ved å trykkje Enter-tasten. \",\"after_the_assignment_is_graded_53754607\":\"Etter at oppgåva er karaktersett\",\"after_the_due_date_eee89c9c\":\"Etter innleveringsfristen\",\"allow_moderator_to_review_multiple_independent_gra_c59d64f6\":\"La ein sensuransvarleg gå gjennom fleire uavhengige karaktersetjingar for utvalde innleveringar\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"Er du sikker på at du vil avbryte? Endringar blir kanskje ikkje lagra.\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"Er du sikker på at du vil slette denne oppgåva?\",\"assign_to_c46e21\":\"Tilordne til\",\"assignment_group_1a781505\":\"Oppgåvegruppe\",\"assignment_group_was_saved_successfully_5caa27d3\":\"Oppgåvegruppe er lagra\",\"assignment_was_deleted_8320d26d\":\"Oppgåva er sletta\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"Lever oppgåve\"},\"cannot_delete_group\":\"Du må ha minst ei oppgåvegruppe\",\"complete\":\"Fullført\",\"confirm_delete_group\":\"Er du sikker på at du vil slette denne oppgåvegruppa?\",\"drop_highest_rule\":{\"one\":\"Fjern den høgaste poengsummen\",\"other\":\"Fjern dei høgaste %{count} poengsummane\"},\"drop_lowest_rule\":{\"one\":\"Fjern dei lågaste poengsummane\",\"other\":\"Fjern dei lågaste %{count} poengsummane\"},\"everyone_else\":\"Alle andre\",\"file_retrieval_error\":\"Henting av fil mislukkast\",\"getting_file\":\"Hentar fil...\",\"grade_gpa_scale_screenreader\":\"Karakter: %{grade}\",\"grade_letter_grade_screenreader\":\"Karakter: %{grade}\",\"grade_pass_fail_screenreader\":\"Karakter: %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"Karakter: %{grade}%\",\"incomplete\":\"Ikkje fullført\",\"invalid_file_retrieval\":\"Kan ikkje hente fila som er send frå dette verktøyet.\",\"keyboard_add_item\":\"Legg ei oppgåve til den valde gruppa\",\"keyboard_close_menu\":\"Lukk den aktive dialogen\",\"keyboard_del_item\":\"Slett den gjeldande oppgåva eller gruppa\",\"keyboard_edit_item\":\"Rediger den gjeldande oppgåva eller gruppa\",\"keyboard_next_item\":\"Fokus på neste oppgåve eller gruppe\",\"keyboard_prev_item\":\"Fokus på førre oppgåve eller gruppe\",\"keyboard_show_assign\":\"Vis fullstendig førehandsvising av den valde oppgåva\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"Du må samtykke i innleveringsvilkåra før du kan levere denne oppgåva.\",\"not_submitted_yet\":\"Du har ikkje fullført innleveringa av oppgåva.  Du må klikke på \\\"Lever\\\" for å fullføre innleveringa. Vil du forlate denne sida likevel?\",\"now_overdue\":\"Innleveringsfristen for oppgåva er passert. Nye innleveringar blir merka som for seine. Vil du halde fram likevel?\",\"overdue\":\"Innleveringsfristen for oppgåva er passert.  Vil du levere likevel?\",\"record_before_submitting\":\"Registrer før innlevering\",\"submit_failed\":\"Innlevering mislukkast. Prøv på nytt seinare.\",\"submitting\":\"Leverer...\"},\"name_is_required\":\"Namn er obligatorisk.\",\"never_drop_rule\":\"Ikkje fjern %{assignment_name}\",\"no_tools_found\":\"Finn ikkje verktøy\",\"overdue_assignments\":\"Oppgåver med passert innleveringsfrist\",\"past_assignments\":\"Tidlegare oppgåver\",\"points_possible_number\":\"Moglege poeng må vere eit tal\",\"processing_submission\":\"Canvas handsamar innleveringa di. Du kan forlate denne sida. Vi sender deg ein e-post hvis handsaminga feilar. \",\"remove_never_drop_rule\":\"Fjern regelen om å ikkje fjerne\",\"remove_unsaved_never_drop_rule\":\"Fjern den ulagra regelen om å ikkje fjerne\",\"rules_text\":{\"one\":\"1 regel\",\"other\":\"%{count} reglar\"},\"titles\":{\"add_assignment_group\":\"Legg til oppgåvegruppe\",\"uploading\":\"Lastar opp innlevering\"},\"toggle_message\":\"vis/skjul oppgåve\",\"undated_assignments\":\"Udaterte oppgåver\",\"upcoming_assignments\":\"Komande oppgåver\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"Vedlagde filer skal vere større enn 0 byte\",\"available_from_f84e4611\":\"Tilgjengeleg frå\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} Sjekk at %{name} har ein frist.\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} Sjekk at %{name} har ein frist og at namnet ikkje er for langt. \",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} Sjekk at %{name} namn ikkje er for langt.\",\"button\":{\"submit_assignment\":\"Lever oppgåve\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"Kan ikkje fjerne publisering av %{name} dersom det finst studentinnleveringar\",\"changes_you_made_may_not_be_saved_4e8db973\":\"Endringar blir kanskje ikkje lagra.\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"Hald fram med å skrive for å finne fleire seksjonar eller studentar.\",\"count_assignments_found_17520826\":{\"one\":\"1 oppgåve funne\",\"other\":\"%{count} oppgåver funne.\",\"zero\":\"Finn ingen liknande oppgåver.\"},\"course_section_7a988066\":\"Emneseksjonar\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"Tilknytte %{tokenName}, klikk for å fjerne\",\"delete_assignment_group_7c3b01c4\":\"Slett oppgåvegruppe\",\"disabling_sync_to_name_failed_e7521ebb\":\"Slå av synkronisering til %{name} mislukkast\",\"due_a73610f6\":\"Frist\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"Innleveringsfristen kan ikkje vere etter sperredato\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"Innleveringsfristen kan ikkje vere før datosperre er oppheva\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Innleveringsfristen er innanfor ein lukka karaktersetjingsperiode\",\"due_date_set_1c6364db\":\"Innleveringsfrist oppgitt\",\"edit_assignment_ebf22a72\":\"Rediger oppgåve\",\"errors\":{\"no_attached_file\":\"Du må legge ved minst ei fil i oppgåva\",\"wrong_file_extension\":\"Du har ikkje autorisasjon for innlevering av den valde fila med vedlegg  \\\"%{extension}\\\"\"},\"everyone_854554dd\":\"Alle\",\"everyone_else_6c6dc7b6\":\"Alle andre\",\"group_a8f5ed9c\":\"Gruppe\",\"immediately_c128ede6\":\"Med ein gong\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"Hugs at denne innleveringa gjeld for alle i %{groupType}-gruppa.\",\"loading_25990131\":\"Lastar...\",\"mastery_paths_cc4096c2\":\"Meistringsstiar\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"Moderert karaktersetjing kan ikkje aktiverast for gruppeoppgåver\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"Moderert karaktersetjing kan ikkje aktiverast for fagfellevurderte oppgåver\",\"moderated_grading_e6127f72\":\"Moderert karaktersetjing\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"Innstilling for moderert karaktersetjing kan ikkje endrast dersom det finst karaktersette innleveringar\",\"move_assignment_6f890f64\":\"Flytt oppgåve\",\"move_contents_into_f3e4fd9d\":\"Flytt innhald til...\",\"move_group_3dd7f76e\":\"Flytt gruppe\",\"must_be_a_valid_number_59f0069\":\"Må vere eit gyldig tal\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} er låst. Klikk for å låse opp\",\"name_is_too_long_48daa8db\":\"Namnet er for langt\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"Namnet er for langt, må vere under %{length} teikn\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name} er ulåst. Klikk for å låse\",\"never_df100b49\":\"Aldri\",\"no_results_found_58717065\":\"Finn ikkje resultat\",\"remove_empty_attachment_b2aea632\":\"fjern tomt vedlegg\",\"remove_filename_87f3781e\":\"fjern %{filename}\",\"remove_these_dates_48453a81\":\"Fjern desse datoane\",\"searching_b0207e7f\":\"Søker\",\"show_by_709f525b\":\"Vis etter\",\"show_by_date_e3967761\":\"Vis etter dato\",\"show_by_type_c5d61732\":\"Vis etter type\",\"student_5da6bfd1\":\"Student\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"Synkroniser til %{name}er deaktivert. Klikk for å slå på.\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"Synkroniser til %{name} er aktivert. Klikk for å slå av.\",\"sync_to_name_successfully_disabled_8045ad95\":\"Synkroniser til %{name} er deaktivert\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"Resultatet for denne oppgåva vil ikkje bli synkronisert til studentsystemet/SIS. \",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"Resultatet for denne oppgåva vil bli synkronisert til studentsystemet/SIS. \",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"Det oppstarta verktøyet returnerte ein ugyldig ressurs for denne oppgåva\",\"until_4a1f8cda\":\"Til\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"Bruk denne lista til å fjerne påmelde studentar. Legg til nye studentar ved å bruke kombiboksen etter lista. \",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"Du kan ikkje bruke eit tal som er høgare enn talet på oppgåver\",\"you_must_use_a_number_912ce4bd\":\"Du må bruke eit tal\",\"you_must_use_a_positive_number_203b86fe\":\"Du må bruke eit positivt tal\"},\"pl\":{\"a_name_is_required_b5df38a9\":\"Wymagana jest nazwa\",\"add_8523c19b\":\"Dodaj\",\"add_new_set_of_due_dates_e8e240f\":\"Dodaj nowy zestaw terminów\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"Dodaj uczestników, wyszukując wg nazwiska, sekcji kursu lub grupy. Po wpisaniu tekstu można przeglądać wyniki, używając klawisza strzałki w dół. Wybierz wynik, używając klawisza Enter.\",\"after_the_assignment_is_graded_53754607\":\"Po ocenieniu zadania\",\"after_the_due_date_eee89c9c\":\"Po terminie\",\"allow_moderator_to_review_multiple_independent_gra_c59d64f6\":\"Zezwól moderatorowi na sprawdzenie kilku, niezależnych ocen z wybranych zgłoszeń\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"Czy na pewno chcesz anulować? Zmiany mogą nie zostać zapisane.\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"Czy na pewno chcesz usunąć to zadanie?\",\"assign_to_c46e21\":\"Przypisz do\",\"assignment_group_1a781505\":\"Grupa zadań\",\"assignment_group_was_saved_successfully_5caa27d3\":\"Grupa zadań została pomyślnie zapisana\",\"assignment_was_deleted_8320d26d\":\"Zadanie zostało skasowane\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"Prześlij zadanie\"},\"cannot_delete_group\":\"Musisz dołączyć co najmniej jedną grupę zadań\",\"complete\":\"Gotowe\",\"confirm_delete_group\":\"Czy na pewno chcesz usunąć tę grupę zadań?\",\"drop_highest_rule\":{\"one\":\"Pomiń najwyższy wynik punktowy\",\"other\":\"Liczba najwyższych wyników punktowych do pominięcia: %{count}\"},\"drop_lowest_rule\":{\"one\":\"Pomiń najniższy wynik punktowy\",\"other\":\"Liczba najniższych wyników punktowych do pominięcia: %{count}\"},\"everyone_else\":\"Wszyscy pozostali\",\"file_retrieval_error\":\"Pobieranie pliku nie powiodło się\",\"getting_file\":\"Trwa pobieranie pliku...\",\"grade_gpa_scale_screenreader\":\"Ocena: %{grade}\",\"grade_letter_grade_screenreader\":\"Ocena: %{grade}\",\"grade_pass_fail_screenreader\":\"Ocena: %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"Ocena: %{grade}%\",\"incomplete\":\"Niekompletne\",\"invalid_file_retrieval\":\"Wystąpił problem z pobieraniem pliku przesłanego z tego narzędzia.\",\"keyboard_add_item\":\"Dodaj zadanie do wybranej grupy\",\"keyboard_close_menu\":\"Zamknij aktywny dialog\",\"keyboard_del_item\":\"Usuń bieżące zadanie lub grupę\",\"keyboard_edit_item\":\"Edytuj bieżące zadanie lub grupę\",\"keyboard_next_item\":\"Skoncentruj się na kolejnym zadaniu lub grupie\",\"keyboard_prev_item\":\"Skoncentruj się na poprzednim zadaniu lub grupie\",\"keyboard_show_assign\":\"Pokaż pełny podgląd wybranego zadania\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"Przed przesłaniem zadania wymagane jest potwierdzenie zobowiązań dotyczących przesyłania.\",\"not_submitted_yet\":\"Przesyłanie zadania nie zostało ukończone.  Aby zakończyć przesyłanie, należy kliknąć przycisk \\\"Prześlij\\\". Czy mimo to chcesz opuścić tę stronę?\",\"now_overdue\":\"Upłynął termin przesłania tego zadania.  Każde nowe przesłane zadanie będzie oznaczone jako spóźnione.  Kontynuować mimo to?\",\"overdue\":\"To zadanie jest po terminie.  Czy w dalszym ciągu chcesz je przesłać?\",\"record_before_submitting\":\"Nagraj przed wysłaniem\",\"submit_failed\":\"Przesyłanie nie powiodło się, ponów próbę\",\"submitting\":\"Trwa przesyłanie...\"},\"name_is_required\":\"Wymagana jest nazwa!\",\"never_drop_rule\":\"Nigdy nie pomijaj %{assignment_name}\",\"no_tools_found\":\"Nie znaleziono narzędzi\",\"overdue_assignments\":\"Zadania po terminie\",\"past_assignments\":\"Przeszłe zadania\",\"points_possible_number\":\"Możliwe punkty do zdobycia muszą być wartością liczbową\",\"processing_submission\":\"Canvas obecnie przetwarza przesłane materiały. Możesz bezpiecznie opuścić tę stronę; jeśli przesyłka nie zostanie przetworzona, otrzymasz wiadomość e-mail.\",\"remove_never_drop_rule\":\"Usuń zasadę Nigdy nie pomijaj\",\"remove_unsaved_never_drop_rule\":\"Usuń niezapisaną zasadę Nigdy nie pomijaj\",\"rules_text\":{\"one\":\"1 reguła\",\"other\":\"Liczba reguł: %{count}\"},\"titles\":{\"add_assignment_group\":\"Dodaj grupę zadań\",\"uploading\":\"Trwa przesyłanie zadania\"},\"toggle_message\":\"przełącz widoczność zadania\",\"undated_assignments\":\"Zadania bez daty\",\"upcoming_assignments\":\"Nadchodzące zadania\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"Załączone pliki muszą być większe nić 0 bitów.\",\"available_from_f84e4611\":\"Dostępne od\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} Upewnij się, że dla %{name} wybrano termin.\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} Upewnij się, że dla %{name} wybrano termin i nazwa nie jest za długa.\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} Upewnij się, że nazwa %{name} nie jest za długa.\",\"button\":{\"submit_assignment\":\"Prześlij zadanie\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"Nie można cofnąć publikowania %{name}, jeśli znajdują się przesłane zadania uczestnika\",\"changes_you_made_may_not_be_saved_4e8db973\":\"Zmiany mogą nie zostać zapisane.\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"Kontynuuj wpisywanie aby znaleźć dodatkowe sekcje lub uczniów\",\"count_assignments_found_17520826\":{\"one\":\"Znaleziono 1 zadanie.\",\"other\":\"Znaleziono %{count} zadań.\",\"zero\":\"Brak pasujących zadań.\"},\"course_section_7a988066\":\"Sekcja kursu\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"Obecnie przypisane do %{tokenName}, kliknij, aby usunąć\",\"delete_assignment_group_7c3b01c4\":\"Usuń\",\"disabling_sync_to_name_failed_e7521ebb\":\"Wyłączanie synchronizacji z %{name} zakończono niepowodzeniem\",\"due_a73610f6\":\"Termin dostarczenia\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"Termin nie może być późniejszy niż data blokady\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"Termin nie może być wcześniejszy od daty blokady\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Termin przypada na zamknięty okres oceniania\",\"due_date_set_1c6364db\":\"Termin dostarczenia ustawiony\",\"edit_assignment_ebf22a72\":\"Edytuj zadanie\",\"errors\":{\"no_attached_file\":\"Musisz dołączyć co najmniej jeden plik w tym zadaniu\",\"wrong_file_extension\":\"Nie można przesłać zadania z wybranym plikiem o rozszerzeniu \\\"%{extension}\\\"\"},\"everyone_854554dd\":\"Wszyscy\",\"everyone_else_6c6dc7b6\":\"Wszyscy pozostali\",\"file_tree_collapsed_d4b0ae96\":\"Zwinięte drzewo plików\",\"file_tree_expanded_a1d20c4a\":\"Rozwinięte drzewo plików\",\"final_grader_can_view_other_grader_names_67736530\":\"Końcowy oceniający może wyświetlić nazwiska innych oceniających\",\"grader_that_determines_final_grade_cc55f20\":\"Oceniający, który decyduje o ostatecznej ocenie\",\"graders_can_view_each_other_s_comments_d836b848\":\"Oceniający mogą wyświetlać wzajemnie komentarze\",\"group_a8f5ed9c\":\"Grupa\",\"immediately_c128ede6\":\"Natychmiast\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"Należy pamiętać, że ten przesłany materiał będzie uwzględniony dla każdego w grupie %{groupType}.\",\"loading_25990131\":\"Wczytywanie...\",\"mastery_paths_cc4096c2\":\"Ścieżki biegłości\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"Klasyfikacja moderowana nie może być włączona dla zadań grupowych\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"Klasyfikacja moderowana nie może być włączona dla zadań wzajemnie ocenianych\",\"moderated_grading_e6127f72\":\"Zarządzanie ocenami\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"Ustawienie klasyfikacji moderowanej nie może być zmienione jesli istnieją ocenione zgłoszenia\",\"move_assignment_6f890f64\":\"Przenieś test\",\"move_contents_into_f3e4fd9d\":\"Przenieś zawartość do\",\"move_group_3dd7f76e\":\"Przenieś grupę\",\"must_be_a_valid_number_59f0069\":\"To musi być prawidłowy numer\",\"must_have_at_least_1_grader_d4a54e85\":\"Wymagany jest co najmniej 1 oceniający\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} jest zablokowane. Kliknij, aby odblokować.\",\"name_is_too_long_48daa8db\":\"Nazwa jest zbyt długa\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"Nazwa jest zbyt długa, musi zawierać poniżej %{length} znaków\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name} jest odblokowane. Kliknij, aby zablokować.\",\"never_df100b49\":\"Nigdy\",\"no_results_found_58717065\":\"Nie znaleziono wyników\",\"number_of_graders_cde8dd54\":\"Liczba oceniających\",\"remove_empty_attachment_b2aea632\":\"usuń pusty załącznik\",\"remove_filename_87f3781e\":\"usuń %{filename}\",\"remove_these_dates_48453a81\":\"Usuń te daty\",\"searching_b0207e7f\":\"Szukanie\",\"select_grader_782af48\":\"Wybierz oceniającego\",\"selected_filename_7552a8c0\":\"wybrane %{filename}\",\"show_by_709f525b\":\"Pokaż wg\",\"show_by_date_e3967761\":\"Pokaż według daty\",\"show_by_type_c5d61732\":\"Pokaż według typu\",\"show_report_to_students_a07888a6\":\"Pokaż raport uczestnikom\",\"student_5da6bfd1\":\"Uczestnik\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"Wyłączono synchronizację z %{name}. Kliknij, aby przełączyć.\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"Włączono synchronizację z %{name}. Kliknij, aby przełączyć.\",\"sync_to_name_successfully_disabled_8045ad95\":\"Wyłączono synchronizację z %{name}\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"Ocena za to zadanie nie zostanie zsynchronizowana z systemem informacyjnym ucznia.\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"Ocena za to zadanie zostanie zsynchronizowana z systemem informacyjnym ucznia.\",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"Uruchomione narzędzie zwróciło nieprawidłowy zasób do tego zadania\",\"there_are_currently_maxgradercount_available_grade_9ab81123\":\"Liczba obecnych oceniających: %{maxGraderCount}\",\"there_is_currently_1_available_grader_758e4a21\":\"Obecnie dostępny jest 1 oceniający\",\"until_4a1f8cda\":\"Do\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"Użyj tej listy do usunięcia przypisanych uczestników. Dodaj nowych uczestników z polem kombi po liście.\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"Nie można wpisać liczby większej niż liczba zdań\",\"you_must_select_an_assignment_group_c16a2168\":\"Musisz wybrać grupę zadania.\",\"you_must_use_a_number_912ce4bd\":\"Należy wpisać liczbę\",\"you_must_use_a_positive_number_203b86fe\":\"Należy wpisać liczbę dodatnią\"},\"pt\":{\"a_name_is_required_b5df38a9\":\"É necessário um nome\",\"add_8523c19b\":\"Adicionar\",\"add_new_set_of_due_dates_e8e240f\":\"Adicionar nova definição depois das datas marcadas\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"Adicione os alunos pesquisando por nome, seção de disciplina ou grupo. Após digitar o texto, navegue pelos resultados usando a tecla de seta para baixo. Selecione um resultado usando a tecla Enter.\",\"after_the_assignment_is_graded_53754607\":\"Após a avaliação da tarefa\",\"after_the_due_date_eee89c9c\":\"Após a data de entrega\",\"allow_moderator_to_review_multiple_independent_gra_c59d64f6\":\"Permitir que o moderador revise várias classificações independentes para submissões selecionadas\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"Tem a certeza que deseja cancelar? As alterações que realizou não podem ser guardadas.\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"Tem certeza de que deseja excluir esta tarefa?\",\"assign_to_c46e21\":\"Atribuir a\",\"assignment_group_1a781505\":\"Grupo de tarefa\",\"assignment_group_was_saved_successfully_5caa27d3\":\"Grupo de tarefa guardado com sucesso.\",\"assignment_was_deleted_8320d26d\":\"A Tarefa foi apagada\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"Enviar tarefa\"},\"cannot_delete_group\":\"Tem de ter pelo menos um grupo de tarefa\",\"complete\":\"Completo\",\"confirm_delete_group\":\"Tem a certeza de que pretende eliminar este grupo de tarefa?\",\"drop_highest_rule\":{\"one\":\"Eliminar a pontuação mais alta\",\"other\":\"Eliminar as %{count} pontuações mais altas\"},\"drop_lowest_rule\":{\"one\":\"Eliminar a pontuação mais baixa\",\"other\":\"Eliminar as %{count} pontuações mais baixas\"},\"everyone_else\":\"Todos os outros\",\"file_retrieval_error\":\"Falha ao obter o ficheiro\",\"getting_file\":\"A obter o ficheiro...\",\"grade_gpa_scale_screenreader\":\"Nota: %{grade}\",\"grade_letter_grade_screenreader\":\"Nota: %{grade}\",\"grade_pass_fail_screenreader\":\"Nota: %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"Nota: %{grade}%\",\"incomplete\":\"Incompleto\",\"invalid_file_retrieval\":\"Ocorreu um problema ao obter o ficheiro enviado a partir desta ferramenta.\",\"keyboard_add_item\":\"Adicionar uma tarefa ao grupo selecionado\",\"keyboard_close_menu\":\"Fechar a caixa de diálogo ativa\",\"keyboard_del_item\":\"Eliminar a tarefa ou o grupo atual\",\"keyboard_edit_item\":\"Editar a tarefa ou o grupo atual\",\"keyboard_next_item\":\"Focar na tarefa ou grupo seguinte\",\"keyboard_prev_item\":\"Focar na tarefa ou grupo anterior\",\"keyboard_show_assign\":\"Mostrar pré-visualização completa da tarefa selecionada\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"Tem de aceitar o compromisso de envio antes de enviar esta tarefa.\",\"not_submitted_yet\":\"Não acabou de enviar a sua tarefa. Ainda precisa de clicar em \\\"Enviar\\\" para terminar a entrega. Deseja sair desta página mesmo assim?\",\"now_overdue\":\"O prazo desta tarefa venceu.  Qualquer novo envio será marcado como atrasado.  Continuar mesmo assim?\",\"overdue\":\"O prazo desta tarefa foi ultrapassado. Ainda quer enviá-la?\",\"record_before_submitting\":\"Gravar antes de enviar\",\"submit_failed\":\"Falha no envio, tente novamente\",\"submitting\":\"Enviando...\"},\"name_is_required\":\"É necessário o nome!\",\"never_drop_rule\":\"Nunca eliminar %{assignment_name}\",\"no_tools_found\":\"Não foram encontradas ferramentas\",\"overdue_assignments\":\"Tarefas vencidas\",\"past_assignments\":\"Tarefas passadas\",\"points_possible_number\":\"O valor de pontos possíveis tem de ser um número\",\"processing_submission\":\"O Canvas está atualmente a processar sua submissão. Você pode navegar com segurança desta página e enviaremos um e-mail se o envio não for processado.\",\"remove_never_drop_rule\":\"Remover regra de nunca eliminar\",\"remove_unsaved_never_drop_rule\":\"Remover regra de nunca eliminar não guardada\",\"rules_text\":{\"one\":\"1 regra\",\"other\":\"%{count} regras\"},\"titles\":{\"add_assignment_group\":\"Adicionar grupo de tarefa\",\"uploading\":\"A carregar o envio\"},\"toggle_message\":\"alternar visibilidade de tarefa\",\"undated_assignments\":\"Tarefas sem data\",\"upcoming_assignments\":\"Tarefas futuras\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"Os ficheiros anexados têm de ser superiores a 0 bytes\",\"available_from_f84e4611\":\"Disponível de\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} Certifique-se de que %{name} tem uma data de vencimento.\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} Verifique se tem %{name} uma data de vencimento e o nome não é demasiado longo.\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} Por favor, certifique-se de que %{name} o nome não é demasiado longo.\",\"button\":{\"submit_assignment\":\"Enviar tarefa\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"Não é possível publicar%{name} se existirem envios de alunos\",\"changes_you_made_may_not_be_saved_4e8db973\":\"As alterações que realizou não podem ser guardadas.\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"Continue a escrever para encontrar secções adicionais ou estudantes.\",\"count_assignments_found_17520826\":{\"one\":\"1 tarefa encontrada.\",\"other\":\"%{count} tarefas encontradas.\",\"zero\":\"Não foram encontradas tarefas com correspondencia.\"},\"course_section_7a988066\":\"Secção da disciplina\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"Atualmente atribuído a %{tokenName}, clique para remover\",\"delete_assignment_group_7c3b01c4\":\"Eliminar grupo de tarefas\",\"disabling_sync_to_name_failed_e7521ebb\":\"A desativar sincronização para %{name} falhou\",\"due_a73610f6\":\"Prazo\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"A data final não pode ser posterior à data de bloqueio\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"A data final não pode ser anterior à data de bloqueio\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"A data de vencimento cai em um Período de Classificação fechado\",\"due_date_set_1c6364db\":\"Definir data final\",\"edit_assignment_ebf22a72\":\"Editar tarefa\",\"errors\":{\"no_attached_file\":\"Tem de anexar pelo menos um ficheiro a esta tarefa\",\"wrong_file_extension\":\"O ficheiro que selecionou com a extensão \\\"%{extension}\\\" não está autorizado para envio\"},\"everyone_854554dd\":\"Todos\",\"everyone_else_6c6dc7b6\":\"Todos os outros\",\"file_tree_collapsed_d4b0ae96\":\"Árvore de ficheiro recolhida\",\"file_tree_expanded_a1d20c4a\":\"Árvore de ficheiro expandida\",\"final_grader_can_view_other_grader_names_67736530\":\"O avaliador final pode ver outros nomes de avaliadores\",\"grader_that_determines_final_grade_cc55f20\":\"Motoniveladora que determina a nota final\",\"graders_can_view_each_other_s_comments_d836b848\":\"Avaliadores podem ver os comentários uns dos outros\",\"group_a8f5ed9c\":\"Grupo\",\"immediately_c128ede6\":\"Imediatamente\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"Tenha em mente que este envio contará para todos em seu %{groupType} grupo.\",\"loading_25990131\":\"A carregar...\",\"mastery_paths_cc4096c2\":\"Circuito Principal\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"A classificação moderada não pode ser permitida para tarefas de grupo\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"A classificação moderada não pode ser permitida para tarefas supervisionadas\",\"moderated_grading_e6127f72\":\"Classificação moderada\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"A classificação moderada não pode ser alterada se existirem tarefas classificadas\",\"move_assignment_6f890f64\":\"Mover Atribuição\",\"move_contents_into_f3e4fd9d\":\"Mover conteúdo para\",\"move_group_3dd7f76e\":\"Mover Grupo\",\"must_be_a_valid_number_59f0069\":\"Deve ser um número válido\",\"must_have_at_least_1_grader_d4a54e85\":\"Deve ter pelo menos 1 aluno\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} está bloqueado Clique para desbloquear\",\"name_is_too_long_48daa8db\":\"Nome demasiado comprido\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"Nome demasiado comprido, deve estar sob %{length} caracteres\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name} está desbloqueado Clique para bloquear.\",\"never_df100b49\":\"Nunca\",\"no_results_found_58717065\":\"Sem resultados\",\"number_of_graders_cde8dd54\":\"Número de motoniveladoras\",\"remove_empty_attachment_b2aea632\":\"remover anexo vazia\",\"remove_filename_87f3781e\":\"remover %{filename}\",\"remove_these_dates_48453a81\":\"Remover estas datas\",\"searching_b0207e7f\":\"Procurando\",\"select_grader_782af48\":\"Selecione a motoniveladora\",\"selected_filename_7552a8c0\":\"selecionado %{filename}\",\"show_by_709f525b\":\"Mostrar por\",\"show_by_date_e3967761\":\"Mostrar por data\",\"show_by_type_c5d61732\":\"Mostrar por tipo\",\"show_report_to_students_a07888a6\":\"Mostrar relatório aos alunos\",\"student_5da6bfd1\":\"Aluno\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"Sincronizar para %{name} desativado. Clique para alternar.\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"Sincronizar para %{name} ativado. Clique para alternar.\",\"sync_to_name_successfully_disabled_8045ad95\":\"Sincronizar para %{name} desativado com sucesso\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"A nota para esta tarefa não vai sincronizar com a informação do estudante no sistema.\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"A nota para esta tarefa vai sincronizar com a informação do estudante no sistema.\",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"A ferramenta iniciada devolveu um recurso inválido para esta tarefa.\",\"there_are_currently_maxgradercount_available_grade_9ab81123\":\"Atualmente %{maxGraderCount} há motoniveladoras disponíveis\",\"there_is_currently_1_available_grader_758e4a21\":\"Atualmente há avaliadores disponíveis\",\"until_4a1f8cda\":\"Até\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"Use esta lista para remover alunos atribuídos. Adicione novos alunos com a caixa de combinação após a lista.\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"Não é possível utilizar um número superior ao número de tarefas\",\"you_must_select_an_assignment_group_c16a2168\":\"É necessário selecionar um grupo de tarefas.\",\"you_must_use_a_number_912ce4bd\":\"É necessário utilizar um número\",\"you_must_use_a_positive_number_203b86fe\":\"É necessário utilizar um número positivo\"},\"pt-BR\":{\"a_name_is_required_b5df38a9\":\"Um nome é obrigatório\",\"add_8523c19b\":\"Adicionar\",\"add_new_set_of_due_dates_e8e240f\":\"Adicionar novo conjunto de prazos para entrega\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"Adicionar alunos ao buscar por nome, seção do curso ou grupo. Após inserir texto, navegar pelos resultados ao usar a tecla de seta para baixo. Selecionar um resultado ao usar a tecla Enter.\",\"after_the_assignment_is_graded_53754607\":\"Após a avaliação da atribuição\",\"after_the_due_date_eee89c9c\":\"Após a data de vencimento\",\"allow_moderator_to_review_multiple_independent_gra_c59d64f6\":\"Permitir que o moderador revise múltiplas notas independentes para envios selecionados\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"Tem certeza de que deseja cancelar? As alterações feitas não serão salvas.\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"Tem certeza de que deseja excluir esta tarefa?\",\"assign_to_c46e21\":\"Atribuir a\",\"assignment_group_1a781505\":\"Grupo de Apontamento\",\"assignment_group_was_saved_successfully_5caa27d3\":\"O grupo de tarefa foi salvo com sucesso.\",\"assignment_was_deleted_8320d26d\":\"Tarefa foi excluída\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"Enviar tarefa\"},\"cannot_delete_group\":\"Você deve ter pelo menos um grupo de tarefas\",\"complete\":\"Completo\",\"confirm_delete_group\":\"Tem certeza que deseja excluir este grupo de tarefas?\",\"drop_highest_rule\":{\"one\":\"Eliminar a pontuação mais altas\",\"other\":\"Eliminar as pontuações %{count} mais altas\"},\"drop_lowest_rule\":{\"one\":\"Eliminar a pontuação mais baixa\",\"other\":\"Eliminar as pontuações %{count} mais baixas\"},\"everyone_else\":\"Todos os demais\",\"file_retrieval_error\":\"Falha ao recuperar arquivo\",\"getting_file\":\"Recuperando arquivo...\",\"grade_gpa_scale_screenreader\":\"Nota: %{grade}\",\"grade_letter_grade_screenreader\":\"Nota: %{grade}\",\"grade_pass_fail_screenreader\":\"Nota: %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"Nota: %{grade}%\",\"incomplete\":\"Incompleto\",\"invalid_file_retrieval\":\"Houve um problema ao recuperar o arquivo enviado desta ferramenta.\",\"keyboard_add_item\":\"Adicionar uma tarefa ao grupo selecionado\",\"keyboard_close_menu\":\"Fechar o diálogo ativo\",\"keyboard_del_item\":\"Excluir a tarefa ou grupo atual\",\"keyboard_edit_item\":\"Editar a tarefa ou grupo atual\",\"keyboard_next_item\":\"Focalize na próxima tarefa ou grupo\",\"keyboard_prev_item\":\"Focalize na tarefa anterior ou grupo\",\"keyboard_show_assign\":\"Mostrar pré-visualização total da tarefa selecionada\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"Você deve concordar com o compromisso de envio antes de enviar esta tarefa.\",\"not_submitted_yet\":\"Você não terminou de enviar sua tarefa.  Você ainda precisa clicar em \\\"Enviar\\\" para entregá-la. Você deseja sair desta página mesmo assim?\",\"now_overdue\":\"O prazo desta tarefa venceu.  Qualquer novo envio será marcado como atrasado.  Continuar mesmo assim?\",\"overdue\":\"O prazo desta tarefa venceu.  Você ainda quer enviá-la?\",\"record_before_submitting\":\"Gravar antes de enviar\",\"submit_failed\":\"Falha no envio, tente novamente\",\"submitting\":\"Enviando...\"},\"name_is_required\":\"Nome é obrigatório!\",\"never_drop_rule\":\"Nunca elimine %{assignment_name}\",\"no_tools_found\":\"Nenhuma ferramenta encontrada\",\"overdue_assignments\":\"Tarefas vencidas\",\"past_assignments\":\"Tarefas passadas\",\"points_possible_number\":\"Pontos possíveis devem ser um número\",\"processing_submission\":\"O Canvas está atualmente processando o seu envio. Você pode sair com segurança desta página e lhe enviaremos um e-mail se o processamento do envio falhar.\",\"remove_never_drop_rule\":\"Remover a regra nunca eliminar\",\"remove_unsaved_never_drop_rule\":\"Remover a regra nunca eliminar não salva\",\"rules_text\":{\"one\":\"1 regra\",\"other\":\"%{count} regras\"},\"titles\":{\"add_assignment_group\":\"Adicionar grupo de tarefa\",\"uploading\":\"Realizando upload\"},\"toggle_message\":\"ligar visibilidade de tarefa\",\"undated_assignments\":\"Tarefas sem data\",\"upcoming_assignments\":\"Tarefas futuras\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"Arquivos anexados devem ser maiores que 0 bytes\",\"available_from_f84e4611\":\"Disponível a partir de\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} Por favor, assegure que %{name} tenha uma data de vencimento.\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} Por favor, assegure que %{name} tenha uma data de vencimento e que o nome não seja longo demais.\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} Por favor, assegure que o nome %{name} não seja longo demais.\",\"button\":{\"submit_assignment\":\"Enviar tarefa\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"Não é possível remover a publicação de %{name} se houver trabalhos submetidos pelos alunos\",\"changes_you_made_may_not_be_saved_4e8db973\":\"As alterações feitas não serão salvas.\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"Continue digitando para encontrar seções ou alunos adicionais.\",\"count_assignments_found_17520826\":{\"one\":\"1 tarefa encontrada\",\"other\":\"%{count} tarefas encontradas\",\"zero\":\"Nenhuma tarefa correspondente encontrada.\"},\"course_section_7a988066\":\"Seção do curso\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"Atualmente atribuído a %{tokenName}, clique para remover\",\"delete_assignment_group_7c3b01c4\":\"Excluir grupo de tarefas\",\"disabling_sync_to_name_failed_e7521ebb\":\"Desabilitar sincronização a %{name} falhou\",\"due_a73610f6\":\"Vencimento\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"Prazo de entrega não pode ser após a data de fechamento\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"Data de entrega não pode ser antes da data de desbloqueio\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"A data de vencimento está em um período de classificação fechado\",\"due_date_set_1c6364db\":\"Data de Entrega Definida\",\"edit_assignment_ebf22a72\":\"Editar Tarefa\",\"errors\":{\"no_attached_file\":\"Você deve anexar pelo menos um arquivo a esta tarefa\",\"wrong_file_extension\":\"O arquivo selecionado com extensão \\\"%{extension}\\\", não está autorizado para envio\"},\"everyone_854554dd\":\"Todos\",\"everyone_else_6c6dc7b6\":\"Todos os demais\",\"file_tree_collapsed_d4b0ae96\":\"Árvore de arquivos recolhida\",\"file_tree_expanded_a1d20c4a\":\"Árvore de arquivos expandida\",\"final_grader_can_view_other_grader_names_67736530\":\"Avaliador final pode visualizar outros nomes de avaliadores\",\"grader_that_determines_final_grade_cc55f20\":\"Avaliador que determina a nota final\",\"graders_can_view_each_other_s_comments_d836b848\":\"Avaliadores podem visualizar os comentários de cada avaliador\",\"group_a8f5ed9c\":\"Grupo\",\"immediately_c128ede6\":\"Imediatamente\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"Tenha em mente que este envio será contado para todos em seu grupo %{groupType}.\",\"loading_25990131\":\"Carregando...\",\"mastery_paths_cc4096c2\":\"Caminhos de Domínio\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"Avaliação moderada não pode ser ativado por tarefas em grupo\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"Avaliação moderada não pode ser ativado para tarefas revisados por colegas\",\"moderated_grading_e6127f72\":\"Clissificação Moderada\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"Configuração de avaliação moderada não pode ser alterada caso submissões existam\",\"move_assignment_6f890f64\":\"Mover tarefa\",\"move_contents_into_f3e4fd9d\":\"Mover conteúdo para\",\"move_group_3dd7f76e\":\"Mover grupo\",\"must_be_a_valid_number_59f0069\":\"Deve ser um número válido\",\"must_have_at_least_1_grader_d4a54e85\":\"Deve ter pelo menos 1 avaliador\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} está bloqueado(a). Clique para desbloquear\",\"name_is_too_long_48daa8db\":\"O nome é longo demais\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"O nome é longo demais, deve estar abaixo de %{length} caracteres\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name} está desbloqueado(a). Clique para bloquear.\",\"never_df100b49\":\"Nunca\",\"no_results_found_58717065\":\"Nenhum resultado encontrado\",\"number_of_graders_cde8dd54\":\"Número de avaliadores\",\"remove_empty_attachment_b2aea632\":\"remover anexo vazio\",\"remove_filename_87f3781e\":\"remover %{filename}\",\"remove_these_dates_48453a81\":\"Remover Essas Datas\",\"searching_b0207e7f\":\"Realizando Busca\",\"select_grader_782af48\":\"Salvar avaliador\",\"selected_filename_7552a8c0\":\"selecionado %{filename}\",\"show_by_709f525b\":\"Exibir por\",\"show_by_date_e3967761\":\"Mostrar por data\",\"show_by_type_c5d61732\":\"Mostrar por tipo\",\"show_report_to_students_a07888a6\":\"Mostrar relatório aos alunos\",\"student_5da6bfd1\":\"Aluno\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"Sincronizar para %{name} desabilitar. Clique para ativar.\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"Sincronizar para %{name} habilitar, Clique para ativar.\",\"sync_to_name_successfully_disabled_8045ad95\":\"Sincronizar para %{name} desabilitado com sucesso\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"A nota para esta tarefa não será sincronizada com o sistema de informação do estudante.\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"A nota para esta tarefa será sincronizada com o sistema de informação do estudante.\",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"A ferramenta iniciada retornou um recurso inválido para esta tarefa\",\"there_are_currently_maxgradercount_available_grade_9ab81123\":\"Atualmente há %{maxGraderCount} avaliadores disponíveis\",\"there_is_currently_1_available_grader_758e4a21\":\"Atualmente há 1 avaliador disponível\",\"until_4a1f8cda\":\"Até\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"Usar esta lista para remover alunos atribuídos. Adicionar novos alunos com caixa de combinação após lista.\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"Você não pode utilizar um número maior do que o número de tarefas.\",\"you_must_select_an_assignment_group_c16a2168\":\"Você deve selecionar um grupo de tarefas.\",\"you_must_use_a_number_912ce4bd\":\"Você deve usar um número\",\"you_must_use_a_positive_number_203b86fe\":\"Você deve utilizar um número positivo\"},\"ru\":{\"a_name_is_required_b5df38a9\":\"Необходимо указать имя\",\"add_8523c19b\":\"Добавить\",\"add_new_set_of_due_dates_e8e240f\":\"Добавить новый набор установленных сроков\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"Добавить учащихся, выполнив поиск по имени, разделу курса или группе. После ввода текста используйте кнопку \\\"стрелка вниз\\\" для просмотра результатов. Выберите результат с помощью клавиши Enter.\",\"after_the_assignment_is_graded_53754607\":\"После оценки задания\",\"after_the_due_date_eee89c9c\":\"После даты выполнения\",\"allow_moderator_to_review_multiple_independent_gra_c59d64f6\":\"Разрешить модератору рассмотреть несколько независимых оценок для выбранных документов\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"Вы действительно хотите отменить это действие? Внесенные вами изменения не могут быть сохранены.\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"Вы действительно хотите удалить это задание?\",\"assign_to_c46e21\":\"Назначить для\",\"assignment_group_1a781505\":\"Группа заданий\",\"assignment_group_was_saved_successfully_5caa27d3\":\"Назначение группы успешно сохранено.\",\"assignment_was_deleted_8320d26d\":\"Задание было удалено\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"Отправить задание\"},\"cannot_delete_group\":\"У вас должна быть, как минимум, одна группа заданий\",\"complete\":\"Завершить\",\"confirm_delete_group\":\"Вы уверены, что хотите удалить эту группу заданий?\",\"drop_highest_rule\":{\"one\":\"Удалить самую высокую оценку\",\"other\":\"Удалить %{count} самых высоких оценок\"},\"drop_lowest_rule\":{\"one\":\"Удалить самую низкую оценку\",\"other\":\"Удалить %{count} самых низких оценок\"},\"everyone_else\":\"Все остальные\",\"file_retrieval_error\":\"Ошибка получения файлов\",\"getting_file\":\"Получение файлов...\",\"grade_gpa_scale_screenreader\":\"Оценка: %{grade}\",\"grade_letter_grade_screenreader\":\"Оценка: %{grade}\",\"grade_pass_fail_screenreader\":\"Оценка: %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"Оценка: %{grade}%\",\"incomplete\":\"Не завершено\",\"invalid_file_retrieval\":\"Ошибка получения файла, отправленного данным инструментом.\",\"keyboard_add_item\":\"Добавить задание для выбранной группы\",\"keyboard_close_menu\":\"Закрыть активный диалог\",\"keyboard_del_item\":\"Удалить текущее задание или группу\",\"keyboard_edit_item\":\"Редактировать текущее задание или группу\",\"keyboard_next_item\":\"Сосредоточить внимание на следующем задании или группе\",\"keyboard_prev_item\":\"Сосредоточить внимание на предыдущем задании или группе\",\"keyboard_show_assign\":\"Полностью показать предварительный просмотр выбранного задания\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"Перед отправкой этого задания необходимо согласиться с обязательством.\",\"not_submitted_yet\":\"Отправка задания не завершена.  Требуется щелкнуть \\\"Отправить\\\", чтобы завершить отправку.  Все равно уйти с этой страницы?\",\"now_overdue\":\"Теперь это задание просрочено.  Все новые отправки будут отмечены как поздние.  Продолжить?\",\"overdue\":\"Теперь это задание просрочено.  Отправить его?\",\"record_before_submitting\":\"Записать перед отправкой\",\"submit_failed\":\"Сбой отправки, повторите попытку\",\"submitting\":\"Идет отправка...\"},\"name_is_required\":\"Необходимо указать имя!\",\"never_drop_rule\":\"Никогда не удалять %{assignment_name}\",\"no_tools_found\":\"Инструменты не найдены\",\"overdue_assignments\":\"Просроченные задания\",\"past_assignments\":\"Прошлые задания\",\"points_possible_number\":\"Значение возможных баллов должно быть числом\",\"processing_submission\":\"В настоящее время Canvas обрабатывает вашу заявку. Вы можете безопасно уйти с этой страницы, и мы сообщим вам по электронной почте, если отправка не была успешно выполнена.\",\"remove_never_drop_rule\":\"Удалить правило \\\"Никогда не удалять\\\"\",\"remove_unsaved_never_drop_rule\":\"Удалить несохраненное правило \\\"Никогда не удалять\\\"\",\"rules_text\":{\"one\":\"1 правило\",\"other\":\"%{count} правил\"},\"titles\":{\"add_assignment_group\":\"Добавить группу заданий\",\"uploading\":\"Загрузка отправки\"},\"toggle_message\":\"переключить видимость задания\",\"undated_assignments\":\"Задания без даты\",\"upcoming_assignments\":\"Предстоящие задания\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"Прикрепленные файлы должны быть больше 0 байт\",\"available_from_f84e4611\":\"Доступно с\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} Пожалуйста, убедитесь, что для %{name} задан срок выполнения.\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} Пожалуйста, убедитесь, что для %{name} задан срок выполнения и название не слишком длинное.\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} Пожалуйста, убедитесь, что %{name} название не слишком длинное.\",\"button\":{\"submit_assignment\":\"Отправить задание\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"Невозможно отменить публикацию %{name}, если есть отправленные студентами задания\",\"changes_you_made_may_not_be_saved_4e8db973\":\"Внесенные вами изменения не могут быть сохранены.\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"Продолжить ввод, чтобы найти дополнительные разделы или студентов.\",\"count_assignments_found_17520826\":{\"one\":\"Найдено 1 задание.\",\"other\":\"Найдено %{count} заданий\",\"zero\":\"Соответствующие задания не найдены.\"},\"course_section_7a988066\":\"Раздел курса\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"В настоящее время закреплено за %{tokenName}, нажмите, чтобы удалить\",\"delete_assignment_group_7c3b01c4\":\"Удалить группу заданий\",\"disabling_sync_to_name_failed_e7521ebb\":\"Не удалось отключить синхронизацию с %{name}\",\"due_a73610f6\":\"Срок\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"Дата выполнения не может быть позже даты блокировки\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"Дата выполнения не может быть раньше даты разблокировки\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Дата истечения срока выполнения не может наступать в закрытом периоде оценки успеваемости\",\"due_date_set_1c6364db\":\"Установленная дата выполнения\",\"edit_assignment_ebf22a72\":\"Редактировать назначение\",\"errors\":{\"no_attached_file\":\"Вы должны приложить хотя бы один файл к данному заданию\",\"wrong_file_extension\":\"Выбранный вами файл с расширением \\\"%{extension}\\\" не разрешен для отправки.\"},\"everyone_854554dd\":\"Все\",\"everyone_else_6c6dc7b6\":\"Все остальные\",\"file_tree_collapsed_d4b0ae96\":\"Дерево файлов свернуто\",\"file_tree_expanded_a1d20c4a\":\"Дерево файлов развернуто\",\"final_grader_can_view_other_grader_names_67736530\":\"Окончательный оценщик может просматривать имена других оценщиков\",\"grader_that_determines_final_grade_cc55f20\":\"Оценщик, определяющий конечную оценку\",\"graders_can_view_each_other_s_comments_d836b848\":\"Оценщики могут просматривать комментарии друг друга\",\"group_a8f5ed9c\":\"Группа\",\"immediately_c128ede6\":\"Немедленно\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"Имейте в виду, что эта отправка заданий будет учитываться для каждого члена вашей группы %{groupType}.\",\"loading_25990131\":\"Выполняется загрузка...\",\"mastery_paths_cc4096c2\":\"Пути усвоения\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"Модерированные оценки не могут быть включены для групповых заданий\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"Модерированные оценки не могут быть включены для рецензируемых заданий\",\"moderated_grading_e6127f72\":\"Модерированное оценивание\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"Модерированные оценки не могут быть изменены, если существуют оцениваемые документы\",\"move_assignment_6f890f64\":\"Отправить задание\",\"move_contents_into_f3e4fd9d\":\"Переместить содержимое в\",\"move_group_3dd7f76e\":\"Переместить группу\",\"must_be_a_valid_number_59f0069\":\"Необходимо указать действительное число\",\"must_have_at_least_1_grader_d4a54e85\":\"Должен иметься как минимум 1 оценщик\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} заблокировано. Нажмите, чтобы разблокировать\",\"name_is_too_long_48daa8db\":\"Слишком длинное имя\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"Слишком длинное имя: оно должно быть короче %{length} символов\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name} разблокировано. Нажмите, чтобы заблокировать.\",\"never_df100b49\":\"Никогда\",\"no_results_found_58717065\":\"Результаты не найдены\",\"number_of_graders_cde8dd54\":\"Кол-во оценщиков\",\"remove_empty_attachment_b2aea632\":\"удалить пустое вложение\",\"remove_filename_87f3781e\":\"удалить %{filename}\",\"remove_these_dates_48453a81\":\"Удалить эти даты\",\"searching_b0207e7f\":\"Идет поиск\",\"select_grader_782af48\":\"Выбрать оценщика\",\"selected_filename_7552a8c0\":\"выбрано %{filename}\",\"show_by_709f525b\":\"Показывать по\",\"show_by_date_e3967761\":\"Отображать по дате\",\"show_by_type_c5d61732\":\"Отображать по типу\",\"show_report_to_students_a07888a6\":\"Показать отчет учащимся\",\"student_5da6bfd1\":\"Студент\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"Синхронизация с %{name} отключена. Нажмите для переключения.\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"Синхронизация с %{name} включена. Нажмите для переключения.\",\"sync_to_name_successfully_disabled_8045ad95\":\"Синхронизация с %{name} успешно отключена\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"Оценка за это задание не будет синхронизироваться с информационной системой студентов.\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"Оценка за это задание будет синхронизироваться с информационной системой студентов.\",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"При запуске инструмента появилось сообщение \\\"неправильный ресурс для данного задания\\\"\",\"there_are_currently_maxgradercount_available_grade_9ab81123\":\"В настоящее время есть %{maxGraderCount} доступных оценщиков\",\"there_is_currently_1_available_grader_758e4a21\":\"В настоящее время доступен 1 оценщик\",\"until_4a1f8cda\":\"До\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"Используйте данный список для удаления заданных учащихся. Добавить нового учащегося с комбинированным полем после списка.\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"Вы не можете использовать число, превышающее количество заданий\",\"you_must_select_an_assignment_group_c16a2168\":\"Вам необходимо выбрать группу заданий.\",\"you_must_use_a_number_912ce4bd\":\"Вы должны использовать число\",\"you_must_use_a_positive_number_203b86fe\":\"Вы должны использовать положительное число\"},\"sl\":{\"a_name_is_required_b5df38a9\":\"Zahtevano je ime.\",\"add_8523c19b\":\"Dodaj\",\"add_new_set_of_due_dates_e8e240f\":\"Dodaj nov nabor rokov\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"Dodaj študente z iskanjem po imenu, sekciji predmeta ali skupini Po vnosu besedila se premikajte po rezultatih s puščično tipko za pomik navzdol. S tipko Enter izberite rezultat.\",\"after_the_assignment_is_graded_53754607\":\"Po tem, ko je naloga ocenjena.\",\"after_the_due_date_eee89c9c\":\"Po roku\",\"allow_moderator_to_review_multiple_independent_gra_c59d64f6\":\"Dovoli moderatorju pregled več neodvisnih ocen za izbrane oddaje.\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"Ali ste prepričani, da želite preklicati? Spremembe, ki ste jih izvedli, morda ne bodo shranjene.\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"Ali ste prepričani, da želite odstraniti to nalogo?\",\"assign_to_c46e21\":\"Dodeli\",\"assignment_group_1a781505\":\"Skupina nalog\",\"assignment_group_was_saved_successfully_5caa27d3\":\"Skupina nalog je bila uspešno shranjena.\",\"assignment_was_deleted_8320d26d\":\"Naloga je bila izbrisana.\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"Pošlji nalogo\"},\"cannot_delete_group\":\"Imeti morate vsaj eno skupino nalog.\",\"complete\":\"Zaključeno\",\"confirm_delete_group\":\"Ali ste prepričani, da želite izbrisati to skupino nalog?\",\"drop_highest_rule\":{\"one\":\"Izpusti najvišji rezultat\",\"other\":\"Izpusti %{count} najvišjih rezultatov.\"},\"drop_lowest_rule\":{\"one\":\"Izpusti najnižji rezultat\",\"other\":\"Izpusti %{count} najnižjih rezultatov.\"},\"everyone_else\":\"Vsi ostali\",\"file_retrieval_error\":\"Pridobivanje datoteke ni uspelo.\",\"getting_file\":\"Pridobivanje datoteke ...\",\"grade_gpa_scale_screenreader\":\"Ocena: %{grade}\",\"grade_letter_grade_screenreader\":\"Ocena: %{grade}\",\"grade_pass_fail_screenreader\":\"Ocena: %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"Ocena: %{grade}%\",\"incomplete\":\"Nezaključeno\",\"invalid_file_retrieval\":\"Prišlo je do težave pri pridobivanju datoteke, poslane iz tega orodja.\",\"keyboard_add_item\":\"Dodaj nalogo izbrani skupini\",\"keyboard_close_menu\":\"Zapri aktivno pogovorno okno\",\"keyboard_del_item\":\"Izbriši trenutno nalogo ali skupino\",\"keyboard_edit_item\":\"Uredi trenutno nalogo ali skupino\",\"keyboard_next_item\":\"Usmeri se na naslednjo nalogo ali skupino\",\"keyboard_prev_item\":\"Usmeri se na naslednjo nalogo ali skupino\",\"keyboard_show_assign\":\"Prikaži poln predogled izbrane naloge.\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"Preden lahko pošljete to nalogo, se morate strinjati z obljubo oddaje.\",\"not_submitted_yet\":\"Oddaje svoje naloge še niste dokončali.  Če želite dokončati oddajo, morate klikniti še »Pošlji«. Ali vseeno želite zapustiti to stran?\",\"now_overdue\":\"Rok za to nalogo je zdaj potekel.  Morebitne nove oddaje bodo označene kot zamujene.  Ali vseeno želite nadaljevati?\",\"overdue\":\"Rok za to nalogo je potekel.  Ali jo še vedno želite poslati?\",\"record_before_submitting\":\"Pred pošiljanjem posnemi\",\"submit_failed\":\"Pošiljanje ni uspelo, poskusite znova.\",\"submitting\":\"Pošiljanje ...\"},\"name_is_required\":\"Zahtevano je ime.\",\"never_drop_rule\":\"Ne izpuščaj %{assignment_name}\",\"no_tools_found\":\"Orodij ni mogoče najti.\",\"overdue_assignments\":\"Zamujene naloge\",\"past_assignments\":\"Pretekle naloge\",\"points_possible_number\":\"Možne točke morajo biti numerične.\",\"processing_submission\":\"Sistem Canvas trenutno obdeluje vašo oddajo. Stran lahko zapustite; če oddaja ne bo uspešno obdelana, vas bomo obvestili po e-pošti.\",\"remove_never_drop_rule\":\"Odstranite pravilo izpuščanja.\",\"remove_unsaved_never_drop_rule\":\"Odstranite neshranjeno pravilo izpuščanja.\",\"rules_text\":{\"one\":\"1 pravilo\",\"other\":\"%{count} Pravila\"},\"titles\":{\"add_assignment_group\":\"Dodaj skupino nalog\",\"uploading\":\"Nalaganje oddaje\"},\"toggle_message\":\"Preklopi vidnost naloge\",\"undated_assignments\":\"Naloge brez datuma\",\"upcoming_assignments\":\"Prihodnje naloge\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"Dodane datoteke morajo biti večje od 0 bitov.\",\"available_from_f84e4611\":\"Na voljo od\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message}Prepričajte se, da je %{name} dodeljen rok.\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message}Prepričajte se, da je %{name} dodeljen rok in da nima predolgega imena.\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message}Prepričajte se, da %{name} nima predolgega imena.\",\"button\":{\"submit_assignment\":\"Pošlji nalogo\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"Neobjava %{name} ni mogoča, če obstajajo oddaje študentov.\",\"changes_you_made_may_not_be_saved_4e8db973\":\"Spremembe, ki ste jih izvedli, morda ne bodo shranjene.\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"Za iskanje dodatnih sekcij ali študentov nadaljujte z vnosom.\",\"count_assignments_found_17520826\":{\"one\":\"1 naloga najdena.\",\"other\":\"%{count} nalog najdenih.\",\"zero\":\"Ni najdenih ujemajočih se nalog.\"},\"course_section_7a988066\":\"Sekcija predmeta\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"Trenutno dodeljeno %{tokenName}; kliknite, da odstranite.\",\"delete_assignment_group_7c3b01c4\":\"Izbriši skupino nalog\",\"disabling_sync_to_name_failed_e7521ebb\":\"Onemogočanje sinhronizacije za %{name} ni uspelo.\",\"due_a73610f6\":\"Rok\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"Rok ne more biti po datumu zaklepanja.\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"Rok ne more biti pred datumom odklepanja.\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Rok je v zaprtem ocenjevalnem obdobju.\",\"due_date_set_1c6364db\":\"Rok je nastavljen.\",\"edit_assignment_ebf22a72\":\"Uredi nalogo\",\"errors\":{\"no_attached_file\":\"Tej nalogi morate dodati vsaj eno datoteko.\",\"wrong_file_extension\":\"Datoteka, ki ste jo izbrali, s pripono »%{extension}«, nima dovoljenja za oddajo.\"},\"everyone_854554dd\":\"Vsi\",\"everyone_else_6c6dc7b6\":\"Vsi ostali\",\"file_tree_collapsed_d4b0ae96\":\"Datotečno drevo je strnjeno\",\"file_tree_expanded_a1d20c4a\":\"Datotečno drevo je razširjeno\",\"final_grader_can_view_other_grader_names_67736530\":\"Končni ocenjevalec lahko vidi imena drugih ocenjevalcev.\",\"grader_that_determines_final_grade_cc55f20\":\"Ocenjevalec, ki določa končno oceno.\",\"graders_can_view_each_other_s_comments_d836b848\":\"Ocenjevalci lahko vidijo komentarje drug drugega.\",\"group_a8f5ed9c\":\"Skupina\",\"immediately_c128ede6\":\"Takoj\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"Ne pozabite, da bo ta oddaja veljala za vse v skupini %{groupType}.\",\"loading_25990131\":\"Nalaganje ...\",\"mastery_paths_cc4096c2\":\"Napredovanja v odličnosti\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"Moderiranega ocenjevanja pri nalogah skupine ni mogoče omogočiti.\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"Moderiranega ocenjevanja pri nalogah, ki so jih ocenili kolegi, ni mogoče omogočiti.\",\"moderated_grading_e6127f72\":\"Moderirano ocenjevanje\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"Nastavitve moderiranega ocenjevanja ni mogoče spremeniti, če obstajajo ocenjene oddaje.\",\"move_assignment_6f890f64\":\"Premakni nalogo\",\"move_contents_into_f3e4fd9d\":\"Premakni vsebino v\",\"move_group_3dd7f76e\":\"Premakni skupino\",\"must_be_a_valid_number_59f0069\":\"Mora biti veljavna številka.\",\"must_have_at_least_1_grader_d4a54e85\":\"Mora imeti vsaj 1 ocenjevalca.\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} je zaklenjeno. Kliknite, da odklenete.\",\"name_is_too_long_48daa8db\":\"Ime je predolgo.\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"Ime je predolgo, mora biti krajše od %{length} znakov.\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name} je odklenjeno. Kliknite, da zaklenete.\",\"never_df100b49\":\"Nikoli\",\"no_results_found_58717065\":\"Ni najdenih rezultatov.\",\"number_of_graders_cde8dd54\":\"Število ocenjevalcev\",\"remove_empty_attachment_b2aea632\":\"odstrani prazno prilogo\",\"remove_filename_87f3781e\":\"odstrani %{filename}\",\"remove_these_dates_48453a81\":\"Odstrani te datume\",\"searching_b0207e7f\":\"Iskanje\",\"select_grader_782af48\":\"Izberi ocenjevalca\",\"selected_filename_7552a8c0\":\"izberi %{filename}\",\"show_by_709f525b\":\"Prikaži glede na\",\"show_by_date_e3967761\":\"Prikaži glede na\",\"show_by_type_c5d61732\":\"Prikaži glede na vrsto\",\"student_5da6bfd1\":\"Študent\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"Sinhronizacija v %{name} je onemogočena. Kliknite za preklop.\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"Sinhronizacija v %{name} je omogočena. Kliknite za preklop.\",\"sync_to_name_successfully_disabled_8045ad95\":\"Sinhronizacija v %{name} je uspešno onemogočena.\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"Ocena za to nalogo se ne bo sinhronizirala s študijskim informacijskim sistemom.\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"Ocena za to nalogo se bo sinhronizirala s študijskim informacijskim sistemom.\",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"Zagnano orodje je vrnilo neveljaven vir za to nalogo.\",\"there_are_currently_maxgradercount_available_grade_9ab81123\":\"Trenutno obstaja %{maxGraderCount} razpoložljivih ocenjevalcev.\",\"there_is_currently_1_available_grader_758e4a21\":\"Trenutno obstaja 1 razpoložljiv ocenjevalec.\",\"until_4a1f8cda\":\"Do\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"S tem seznamom odstranite dodeljene študente. Nove študente dodajajte s spustnim seznamom za seznamom.\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"Ne smete uporabiti števila, večjega od števila nalog.\",\"you_must_use_a_number_912ce4bd\":\"Uporabiti morate število\",\"you_must_use_a_positive_number_203b86fe\":\"Uporabiti morate pozitivno število\"},\"sv\":{\"a_name_is_required_b5df38a9\":\"Ett namn krävs\",\"add_8523c19b\":\"Lägg till\",\"add_new_set_of_due_dates_e8e240f\":\"Lägg till en ny grupp av inlämningsdatum\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"Lägg till studenter genom att söka genom namn, kurssektion eller grupp. Efter att texten matats in, navigera till resultatet genom att använda nedåtpilknappen. Välj ett resultat genom att använda Enter-knappen.\",\"after_the_assignment_is_graded_53754607\":\"Efter att uppgiften är bedömd\",\"after_the_due_date_eee89c9c\":\"Efter slutdatum\",\"allow_moderator_to_review_multiple_independent_gra_c59d64f6\":\"Tillåt att en moderator granskar flera oberoende omdömen för utvalda inlämningar.\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"Är du säker på att du vill annullera? Ändringar du gjort kan inte sparas.\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"Är du säker på att du vill radera den här uppgiften?\",\"assign_to_c46e21\":\"Tilldelad till\",\"assignment_group_1a781505\":\"Uppgiftsgrupp\",\"assignment_group_was_saved_successfully_5caa27d3\":\"Uppgiftsgruppen sparades\",\"assignment_was_deleted_8320d26d\":\"Uppgiften raderades\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"Lämna in uppgift\"},\"cannot_delete_group\":\"Du måste ha minst en uppgiftsgrupp\",\"complete\":\"Färdig\",\"confirm_delete_group\":\"Är du säker på att du vill radera den här uppgiftsgruppen?\",\"drop_highest_rule\":{\"one\":\"Sänk högsta poängen\",\"other\":\"Sänk de högsta %{count} poängen\"},\"drop_lowest_rule\":{\"one\":\"Sänk lägsta poängen\",\"other\":\"Sänk de lägsta %{count} poängen\"},\"everyone_else\":\"Alla andra\",\"file_retrieval_error\":\"Hämtning av filen misslyckades\",\"getting_file\":\"Hämtar fil...\",\"grade_gpa_scale_screenreader\":\"Omdöme: %{grade}\",\"grade_letter_grade_screenreader\":\"Omdöme: %{grade}\",\"grade_pass_fail_screenreader\":\"Omdöme: %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"Omdöme: %{grade}%\",\"incomplete\":\"Ännu inte färdig\",\"invalid_file_retrieval\":\"Ett problem uppstod när filen som skickats från det här verktyget hämtades.\",\"keyboard_add_item\":\"Lägg till en uppgift för den valda gruppen\",\"keyboard_close_menu\":\"Stäng ner den aktiva dialogen\",\"keyboard_del_item\":\"Radera nuvarande uppgift eller grupp\",\"keyboard_edit_item\":\"Redigera nuvarande uppgift eller grupp\",\"keyboard_next_item\":\"Fokusera på nästa uppgift eller grupp\",\"keyboard_prev_item\":\"Fokusera på föregående uppgift eller grupp\",\"keyboard_show_assign\":\"Visa en fullständig förhandsvisning av den valda gruppen\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"Du måste godkänna inlämningskravet innan du kan lämna in uppgiften.\",\"not_submitted_yet\":\"Du är inte färdig med att lämna in uppgiften. Du måste fortfarande klicka på \\\"Lämna in\\\" för att lämna in den. VIll du lämna sidan ändå?\",\"now_overdue\":\"Uppgiften är nu sen. Alla nya inlämningar kommer markeras som sena. VIll du fortsätta ändå?\",\"overdue\":\"Uppgiften är sen. Vill du fortfarande lämna in den?\",\"record_before_submitting\":\"Spara innan du lämnar in\",\"submit_failed\":\"Inlämning misslyckades, vänligen försök igen\",\"submitting\":\"Lämnar in...\"},\"name_is_required\":\"Det krävs ett namn!\",\"never_drop_rule\":\"Lämna aldrig %{assignment_name}\",\"no_tools_found\":\"Inga verktyg hittades\",\"overdue_assignments\":\"Sena uppgifter\",\"past_assignments\":\"Tidigare uppgifter\",\"points_possible_number\":\"Möjliga poäng måste vara ett nummer\",\"processing_submission\":\"Canvas behandlar din inlämnade uppgift. Du kan nu lämna sidan. Vi skickar dig ett e-postmeddelande om något problem med din inlämning skulle uppstå.\",\"remove_never_drop_rule\":\"Ta bort \\\"lämna aldrig\\\" -regeln\",\"remove_unsaved_never_drop_rule\":\"Ta bort osparad \\\"lämna aldrig\\\" -regel\",\"rules_text\":{\"one\":\"1 Regel\",\"other\":\"%{count} regler\"},\"titles\":{\"add_assignment_group\":\"Lägg till uppgiftsgrupp\",\"uploading\":\"Ladda upp inlämning\"},\"toggle_message\":\"skifta uppgiftssynlighet\",\"undated_assignments\":\"Odaterad uppgift\",\"upcoming_assignments\":\"Kommande uppgifter\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"Bifogade filer måste vara större än 0 bytes\",\"available_from_f84e4611\":\"Tillgänglig från\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} Vänligen säkerställ att %{name} har ett slutdatum.\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} Vänligen säkerställ att %{name} har ett slutdatum och att namnet inte är för långt.\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} Vänligen säkerställ att %{name} namnet inte är för långt.\",\"button\":{\"submit_assignment\":\"Lämna in uppgift\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"Kan inte opublicera %{name} om det finns studentinlämningar\",\"changes_you_made_may_not_be_saved_4e8db973\":\"Ändringar du gjort kan inte sparas.\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"Fortsätt skiva för att hitta fler sektioner eller studenter.\",\"count_assignments_found_17520826\":{\"one\":\"1 uppgift hittades.\",\"other\":\"%{count} uppgifter hittades.\",\"zero\":\"Inga matchande uppgifter hittades.\"},\"course_section_7a988066\":\"Kurssektion\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"För närvarande anvisad till %{tokenName}, klicka för att ta bort\",\"delete_assignment_group_7c3b01c4\":\"Ta bort uppgiftsgrupp\",\"disabling_sync_to_name_failed_e7521ebb\":\"Avaktivering av synkronisering för %{name} misslyckades\",\"due_a73610f6\":\"Färdig\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"Inlämningsdatum kan inte vara efter lås-datum\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"Inlämningsdatum kan inte vara före upplåsnings-datum\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Inlämningsdatum infaller i en stängd omdömesperiod\",\"due_date_set_1c6364db\":\"Inlämningsdatum inställd\",\"edit_assignment_ebf22a72\":\"Redigera uppgift\",\"errors\":{\"no_attached_file\":\"Du måste bifoga åtminstone en fil till den här uppgiften\",\"wrong_file_extension\":\"Filen du har valt med förlängning \\\"%{extension}\\\", är inte godkänd för inlämning\"},\"everyone_854554dd\":\"Alla\",\"everyone_else_6c6dc7b6\":\"Alla andra\",\"file_tree_collapsed_d4b0ae96\":\"Filträd minimerat\",\"file_tree_expanded_a1d20c4a\":\"Filträd maximerat\",\"final_grader_can_view_other_grader_names_67736530\":\"Slutliga bedömare kan visa namn på övriga bedömare\",\"grader_that_determines_final_grade_cc55f20\":\"Omdömessättare som bestämmer slutomdömet\",\"graders_can_view_each_other_s_comments_d836b848\":\"Bedömare kan se varandras kommentarer\",\"group_a8f5ed9c\":\"Grupp\",\"immediately_c128ede6\":\"Omedelbart\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"Kom ihåg att den här inlämningen berör alla i din %{groupType} grupp.\",\"loading_25990131\":\"Läser in ...\",\"mastery_paths_cc4096c2\":\"Måluppfyllnadsväg\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"Moderering av omdömen kan inte aktiveras för gruppuppgifter\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"Moderering av omdömen kan inte aktiveras för referentgranskning uppgifter\",\"moderated_grading_e6127f72\":\"Modererad bedömning\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"Inställning för moderering av omdöme kan inte ändras om en bedömd inlämning existerar\",\"move_assignment_6f890f64\":\"Flytta uppgift\",\"move_contents_into_f3e4fd9d\":\"Flytta innehåll till\",\"move_group_3dd7f76e\":\"Flytta grupp\",\"must_be_a_valid_number_59f0069\":\"Måste vara ett giltigt nummer\",\"must_have_at_least_1_grader_d4a54e85\":\"Måste ha minst 1 omdömessättare\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} är låst Klicka för att låsa upp\",\"name_is_too_long_48daa8db\":\"Namnet är för långt\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"Namnet är för långt, det måste vara under %{length} tecken\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name} är låst. Klicka för att låsa.\",\"never_df100b49\":\"Aldrig\",\"no_results_found_58717065\":\"Inga resultat hittades\",\"number_of_graders_cde8dd54\":\"Antal omdömessättare\",\"remove_empty_attachment_b2aea632\":\"ta bort tom bilaga\",\"remove_filename_87f3781e\":\"ta bort %{filename}\",\"remove_these_dates_48453a81\":\"Radera dessa datumen\",\"searching_b0207e7f\":\"Söker\",\"select_grader_782af48\":\"Välj omdömessättare\",\"selected_filename_7552a8c0\":\"valda %{filename}\",\"show_by_709f525b\":\"Visa efter\",\"show_by_date_e3967761\":\"Visa efter datum\",\"show_by_type_c5d61732\":\"Visa efter typ\",\"student_5da6bfd1\":\"Student\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"Synkronisera till %{name} avlägsnad. Klicka för att toogle\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"Synkronisera till %{name} aktiverad. Klicka för att toogle\",\"sync_to_name_successfully_disabled_8045ad95\":\"Synkronisera till %{name} avaktiverad\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"Omdömet för den här uppgiften kommer inte att synka med student-informationssystemet.\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"Omdömet för den här uppgiften kommer att synka med student-informationssystemet.\",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"Det startade verktyget har skickat tillbaka en ogiltig resurs för uppgiften\",\"there_are_currently_maxgradercount_available_grade_9ab81123\":\"Det finns för närvarande %{maxGraderCount} tillgängliga bedömare\",\"there_is_currently_1_available_grader_758e4a21\":\"Det finns för närvarande 1 tillgänglig bedömare\",\"until_4a1f8cda\":\"Tills\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"Använd denna lista för att ta bort anvisade studenter. Lägg till nya studenter med kombirutan efter listan.\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"Du kan inte använda ett högre nummer än antalet uppgifter\",\"you_must_use_a_number_912ce4bd\":\"Du måste använda ett nummer\",\"you_must_use_a_positive_number_203b86fe\":\"Du måste använda ett positivt nummer\"},\"sv-x-k12\":{\"a_name_is_required_b5df38a9\":\"Ett namn krävs\",\"add_8523c19b\":\"Lägg till\",\"add_new_set_of_due_dates_e8e240f\":\"Lägg till en ny grupp av inlämningsdatum\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"Lägg till elever genom att söka genom namn, kurssektion eller grupp. Efter att texten matats in, navigera till resultatet genom att använda nedåtpilknappen. Välj ett resultat genom att använda Enter-knappen.\",\"after_the_assignment_is_graded_53754607\":\"Efter att uppgiften är bedömd\",\"after_the_due_date_eee89c9c\":\"Efter slutdatum\",\"allow_moderator_to_review_multiple_independent_gra_c59d64f6\":\"Tillåt moderator att granska flera obroende bedömningar för valda inlämningar.\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"Är du säker på att du vill annullera? Ändringar du gjort kan inte sparas.\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"Är du säker på att du vill radera den här uppgiften?\",\"assign_to_c46e21\":\"Tilldelad till\",\"assignment_group_1a781505\":\"Uppgiftsgrupp\",\"assignment_group_was_saved_successfully_5caa27d3\":\"Uppgiftsgruppen sparades\",\"assignment_was_deleted_8320d26d\":\"Uppgiften raderades\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"Lämna in uppgift\"},\"cannot_delete_group\":\"Du måste ha minst en uppgiftsgrupp\",\"complete\":\"Fullgjord\",\"confirm_delete_group\":\"Är du säker på att du vill radera den här uppgiftsgruppen?\",\"drop_highest_rule\":{\"one\":\"Sänk högsta resultatet\",\"other\":\"Sänk de högsta %{count} resultatet\"},\"drop_lowest_rule\":{\"one\":\"Sänk lägsta resultatet\",\"other\":\"Sänk de lägsta %{count} resultatet\"},\"everyone_else\":\"Alla andra\",\"file_retrieval_error\":\"Hämtning av filen misslyckades\",\"getting_file\":\"Hämtar fil...\",\"grade_gpa_scale_screenreader\":\"Bedömning: %{grade}\",\"grade_letter_grade_screenreader\":\"Bedömning: %{grade}\",\"grade_pass_fail_screenreader\":\"Bedömning: %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"Bedömning: %{grade}%\",\"incomplete\":\"Ej fullständig\",\"invalid_file_retrieval\":\"Ett problem uppstod när filen som skickats från det här verktyget hämtades.\",\"keyboard_add_item\":\"Lägg till en uppgift för den valda gruppen\",\"keyboard_close_menu\":\"Stäng ner den aktiva dialogen\",\"keyboard_del_item\":\"Radera nuvarande uppgift eller grupp\",\"keyboard_edit_item\":\"Redigera nuvarande uppgift eller grupp\",\"keyboard_next_item\":\"Fokusera på nästa uppgift eller grupp\",\"keyboard_prev_item\":\"Fokusera på föregående uppgift eller grupp\",\"keyboard_show_assign\":\"Visa en fullständig förhandsvisning av den valda gruppen\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"Du måste godkänna inlämningskravet innan du kan lämna in uppgiften.\",\"not_submitted_yet\":\"Du är inte färdiggjord med att lämna in uppgiften. Du måste fortfarande klicka på \\\"Lämna in\\\" för att lämna in den. VIll du lämna sidan ändå?\",\"now_overdue\":\"Uppgiften är nu sen. Alla nya inlämningar kommer markeras som sena. VIll du fortsätta ändå?\",\"overdue\":\"Uppgiften är sen. Vill du fortfarande lämna in den?\",\"record_before_submitting\":\"Spara innan du lämnar in\",\"submit_failed\":\"Inlämning misslyckades, vänligen försök igen\",\"submitting\":\"Lämnar in...\"},\"name_is_required\":\"Det krävs ett namn!\",\"never_drop_rule\":\"Lämna aldrig %{assignment_name}\",\"no_tools_found\":\"Inga verktyg hittades\",\"overdue_assignments\":\"Sena uppgifter\",\"past_assignments\":\"Tidigare uppgifter\",\"points_possible_number\":\"Möjliga poäng måste vara ett tal\",\"processing_submission\":\"Canvas behandlar din inlämnade uppgift. Du kan nu lämna den här sidan så skickar vid dig ett e-postmeddelande när din inlämnade uppgiften har behandlats klart.\",\"remove_never_drop_rule\":\"Ta bort \\\"lämna aldrig\\\" -regeln\",\"remove_unsaved_never_drop_rule\":\"Ta bort osparad \\\"lämna aldrig\\\" -regel\",\"rules_text\":{\"one\":\"1 Regel\",\"other\":\"%{count} regler\"},\"titles\":{\"add_assignment_group\":\"Lägg till uppgiftsgrupp\",\"uploading\":\"Ladda upp inlämning\"},\"toggle_message\":\"skifta uppgiftssynlighet\",\"undated_assignments\":\"Odaterad uppgift\",\"upcoming_assignments\":\"Kommande uppgifter\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"Bifogade filer måste vara större än 0 bytes\",\"available_from_f84e4611\":\"Tillgänglig från\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} Vänligen säkerställ att %{name} har ett slutdatum.\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} Vänligen säkerställ att %{name} har ett slutdatum och att namnet inte är för långt.\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} Vänligen säkerställ att %{name} namnet inte är för långt.\",\"button\":{\"submit_assignment\":\"Lämna in uppgift\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"Kan inte opublicera %{name} om det finns elevinlämningar\",\"changes_you_made_may_not_be_saved_4e8db973\":\"Ändringar du gjort kan inte sparas.\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"Fortsätt skiva för att hitta fler sektioner eller elever.\",\"count_assignments_found_17520826\":{\"one\":\"1 uppgift hittades.\",\"other\":\"%{count} uppgifter hittades.\",\"zero\":\"Inga matchande uppgifter hittades.\"},\"course_section_7a988066\":\"Kurssektion\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"För närvarande anvisad till %{tokenName}, klicka för att ta bort\",\"delete_assignment_group_7c3b01c4\":\"Ta bort uppgiftsgrupp\",\"disabling_sync_to_name_failed_e7521ebb\":\"Avaktivering av synkronisering för %{name} misslyckades\",\"due_a73610f6\":\"Färdiggjord\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"Inlämningsdatum kan inte vara efter lås-datum\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"Inlämningsdatum kan inte vara före upplåsnings-datum\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Inlämningsdatum infaller i en stängd bedömningsperiod\",\"due_date_set_1c6364db\":\"Inlämningsdatum inställd\",\"edit_assignment_ebf22a72\":\"Redigera uppgift\",\"errors\":{\"no_attached_file\":\"Du måste bifoga åtminstone en fil till den här uppgiften\",\"wrong_file_extension\":\"Filen du har valt med förlängning \\\"%{extension}\\\", är inte godkänd för inlämning\"},\"everyone_854554dd\":\"Alla\",\"everyone_else_6c6dc7b6\":\"Alla andra\",\"final_grader_can_view_other_grader_names_67736530\":\"Slutlig bedömare kan se namn på andra bedömare\",\"grader_that_determines_final_grade_cc55f20\":\"Bedömare som avgör slutlig bedömning\",\"graders_can_view_each_other_s_comments_d836b848\":\"Bedömare kan se varandras kommentarer\",\"group_a8f5ed9c\":\"Grupp\",\"immediately_c128ede6\":\"Omedelbart\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"Kom ihåg att den här inlämningen berör alla i din %{groupType} grupp.\",\"loading_25990131\":\"Laddar...\",\"mastery_paths_cc4096c2\":\"Måluppfyllnadsväg\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"Moderering av grupper kan inte aktiveras för gruppuppgifter\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"Moderering av betyg kan inte aktiveras för kamratbedömning uppgifter\",\"moderated_grading_e6127f72\":\"Modererad bedömning\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"Moderering av bedömning kan inte ändras om en bedömd inlämning existerar\",\"move_assignment_6f890f64\":\"Flytta uppgift\",\"move_contents_into_f3e4fd9d\":\"Flytta innehåll till\",\"move_group_3dd7f76e\":\"Flytta grupp\",\"must_be_a_valid_number_59f0069\":\"Måste vara ett giltigt nummer\",\"must_have_at_least_1_grader_d4a54e85\":\"Måste ha minst 1 bedömare\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} är låst. Klicka för att låsa upp\",\"name_is_too_long_48daa8db\":\"Namnet är för långt\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"Namnet är för långt, det måste vara under %{length} tecken\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name} är låst. Klicka för att låsa.\",\"never_df100b49\":\"Aldrig\",\"no_results_found_58717065\":\"Inga resultat hittades\",\"number_of_graders_cde8dd54\":\"Antal bedömare\",\"remove_empty_attachment_b2aea632\":\"ta bort tom bilaga\",\"remove_filename_87f3781e\":\"ta bort %{filename}\",\"remove_these_dates_48453a81\":\"Radera dessa datumen\",\"searching_b0207e7f\":\"Söker\",\"select_grader_782af48\":\"Välj bedömare\",\"show_by_709f525b\":\"Visa efter\",\"show_by_date_e3967761\":\"Visa efter datum\",\"show_by_type_c5d61732\":\"Visa efter typ\",\"student_5da6bfd1\":\"Elev\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"Synkronisera till %{name} avlägsnad. Klicka för att toogle\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"Synkronisera till %{name} aktiverad. Klicka för att toogle\",\"sync_to_name_successfully_disabled_8045ad95\":\"Synkronisera till %{name} avaktiverad\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"Bedömningen för den här uppgiften kommer inte att synka med elev-informationssystemet.\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"Bedömningen för den här uppgiften kommer att synka med elev-informationssystemet.\",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"Det startade verktyget har skickat tillbaka en ogiltig resurs för uppgiften\",\"there_are_currently_maxgradercount_available_grade_9ab81123\":\"Det finns för närvarande %{maxGraderCount} tillgängliga bedömare\",\"there_is_currently_1_available_grader_758e4a21\":\"Det finns för närvarande 1 tillgänglig bedömare\",\"until_4a1f8cda\":\"Tills\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"Använd denna lista för att ta bort anvisade elever. Lägg till nya elever med kombirutan efter listan.\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"Du kan inte använda ett högre nummer än antalet uppgifter\",\"you_must_use_a_number_912ce4bd\":\"Du måste använda ett nummer\",\"you_must_use_a_positive_number_203b86fe\":\"Du måste använda ett positivt nummer\"},\"tr\":{\"a_name_is_required_b5df38a9\":\"Bir isim gerekli\",\"add_8523c19b\":\"Ekle\",\"add_new_set_of_due_dates_e8e240f\":\"Son tarih dizesi ekleyin\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"İsim, ders bölümü veya gruba göre arama yaparak öğrencileri ekleyin. Metni girdikten sonra aşağı ok tuşunu kullanarak sonuçları görebilirsiniz. Enter tuşunu kullanarak bir sonucu seçebilirsiniz.\",\"after_the_assignment_is_graded_53754607\":\"Ödev notlandırıldıktan sonra\",\"after_the_due_date_eee89c9c\":\"Bitiş tarihinden sonra\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"İptal etmek istediğinize emin misiniz? Yaptığınız değişiklikler kaydedilmeyebilir.\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"Bu ödevi silmek isteğinize emin misiniz?\",\"assign_to_c46e21\":\"Şuna Ata\",\"assignment_group_1a781505\":\"Ödev Grubu\",\"assignment_group_was_saved_successfully_5caa27d3\":\"Ödev grubu başarıyla kaydedildi.\",\"assignment_was_deleted_8320d26d\":\"Ödev silindi\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"Ödevi Gönder\"},\"cannot_delete_group\":\"En az bir ödev grubu olmalıdır\",\"complete\":\"Tamam\",\"confirm_delete_group\":\"Bu ödev grubunu silmek istediğinize emin misiniz?\",\"drop_highest_rule\":{\"one\":\"En yüksek puanı düşür\",\"other\":\"En yüksek %{count} puanı düşür\"},\"drop_lowest_rule\":{\"one\":\"En düşük puanı düşür\",\"other\":\"En düşük %{count} puanı düşür\"},\"everyone_else\":\"Geri kalan herkes\",\"file_retrieval_error\":\"Dosyayı Almada Hata\",\"getting_file\":\"Dosya Alınıyor...\",\"grade_gpa_scale_screenreader\":\"Not: %{grade}\",\"grade_letter_grade_screenreader\":\"Not: %{grade}\",\"grade_pass_fail_screenreader\":\"Not: %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"Not: %{grade}%\",\"incomplete\":\"Eksik\",\"invalid_file_retrieval\":\"Bu araçtan gönderilen dosyanın alımında hata.\",\"keyboard_add_item\":\"Seçili gruba ödev ekle\",\"keyboard_close_menu\":\"Etkin diyaloğu kapat\",\"keyboard_del_item\":\"Mevcut ödevi ya da grubu sil\",\"keyboard_edit_item\":\"Mevcut ödevi ya da grubu düzenle\",\"keyboard_next_item\":\"Sonraki ödev ya da gruba odaklan\",\"keyboard_prev_item\":\"Önceki ödev ya da gruba odaklan\",\"keyboard_show_assign\":\"Seçili ödev için tam önizlemeyi göster\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"Bu ödevi göndermeden önce gönderim taahhütünü kabul etmiş olmanız gerekir.\",\"not_submitted_yet\":\"Ödevinizi göndermeyi tamamlamadınız. Ödevinizi teslim etmek için \\\"Gönder\\\" butonuna tıklamalısınız. Bu sayfadan ayrılmak isyediğinize emin misiniz?\",\"now_overdue\":\"Bu ödevin süresi geçti. Bundan sonraki gönderiler gecikmiş olarak işaretlenecektir. Devam etmek istiyor musunuz?\",\"overdue\":\"Bu ödevin süresi geçmiştir. Yine de göndermek istiyor musunuz?\",\"record_before_submitting\":\"Göndermeden Önce Kaydet\",\"submit_failed\":\"Gönderim Başarısız, lütfen tekrar deneyin\",\"submitting\":\"Gönderiliyor...\"},\"name_is_required\":\"İsim zorunludur!\",\"never_drop_rule\":\"%{assignment_name} asla düşürme\",\"no_tools_found\":\"Araç bulunamadı\",\"overdue_assignments\":\"Süresi Dolmuş Ödevler\",\"past_assignments\":\"Geçmiş Ödevler\",\"points_possible_number\":\"Olası puanlar bir sayı değeri olmalı\",\"processing_submission\":\"Canvas şu anda gönderinizi işliyor. Bu sayfadan güvenle ayrılabilirsiniz. Gönderinizin işlenmesi başarısız olursa size eposta ile bildirilecektir.\",\"remove_never_drop_rule\":\"Asla bırakma kuralını kaldır\",\"remove_unsaved_never_drop_rule\":\"Kaydedilmemiş asla bırakma kuralını kaldır\",\"rules_text\":{\"one\":\"1 Kural\",\"other\":\"%{count} Kural\"},\"titles\":{\"add_assignment_group\":\"Ödev Grubu Ekle\",\"uploading\":\"Gönderi Yükleniyor\"},\"toggle_message\":\"ödev görünürlüğünü değiştir\",\"undated_assignments\":\"Tarihsiz Ödevler\",\"upcoming_assignments\":\"Yaklaşan Ödevler\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"Ekli dosyalar 0 byte'tan büyük olmalı\",\"available_from_f84e4611\":\"Tarihinden itibaren kullanılabilir\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message}  %{name} 'nin teslim tarihi olduğuna emin olun.\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message}  %{name} 'nin teslim tarihi olduğuna ve isminin çok uzun olmadığına emin olun.\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message}  %{name} 'nin teslim isminin çok uzun olmadığına emin olun.\",\"button\":{\"submit_assignment\":\"Ödevi Gönder\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"Öğrenci gönderileri varsa %{name} yayından kaldırılamaz\",\"changes_you_made_may_not_be_saved_4e8db973\":\"Yaptığınız değişiklikler kaydedilmemiş olabilir.\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"Daha fazla bölüm veya öğrenci bulmak için yazmaya devam edin.\",\"count_assignments_found_17520826\":{\"one\":\"1 ödev bulundu\",\"other\":\"%{count} ödev bulundu.\",\"zero\":\"Eşleşen ödev bulunamadı.\"},\"course_section_7a988066\":\"Ders Bölümü\",\"delete_assignment_group_7c3b01c4\":\"Ödev Grubu Sil\",\"due_a73610f6\":\"Bitiş\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"Bitiş Tarihi kilitleme tarihinden sonra olamaz\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"Bitiş Tarihi kilitleme tarihinden önce olamaz\",\"due_date_set_1c6364db\":\"Bitiş Tarih Seti\",\"edit_assignment_ebf22a72\":\"Ödevi Düzenle\",\"errors\":{\"no_attached_file\":\"Bu ödev için en az bir dosya eklemelisiniz\",\"wrong_file_extension\":\"Seçmiş olduğunuz \\\"%{extension}\\\" uzantılı dosyanın gönderilmesine onay verilmemiş.\"},\"everyone_854554dd\":\"Herkes\",\"everyone_else_6c6dc7b6\":\"Geri kalan herkes\",\"group_a8f5ed9c\":\"Grup\",\"immediately_c128ede6\":\"Hemen\",\"loading_25990131\":\"Yükleniyor...\",\"mastery_paths_cc4096c2\":\"Mastery Paths\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"Modere edilmiş notlandırma grup ödevleri için etkinleştirilemez\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"Modere edilmiş notlandırma akran geribildirimli ödevler için etkinleştirilemez\",\"moderated_grading_e6127f72\":\"Modere Edilmiş Notlandırma\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"Modere edilmiş notlandırma ayarı notlandırılmış gönderiler varsa değiştirilemez\",\"never_df100b49\":\"Asla\",\"no_results_found_58717065\":\"Sonuç bulunamadı\",\"remove_these_dates_48453a81\":\"Bu Tarihleri Sil\",\"searching_b0207e7f\":\"Aranıyor\",\"show_by_date_e3967761\":\"Tarihe Göre Göster\",\"show_by_type_c5d61732\":\"Türe Göre Göster\",\"student_5da6bfd1\":\"Öğrenci\",\"until_4a1f8cda\":\"Şu zamana kadar\",\"you_must_use_a_number_912ce4bd\":\"Sayı kullanmalısınız\",\"you_must_use_a_positive_number_203b86fe\":\"Pozitif bir sayı kullanmalısınız\"},\"uk\":{\"a_name_is_required_b5df38a9\":\"Потрібно ввести ім'я\",\"add_8523c19b\":\"Додати\",\"add_new_set_of_due_dates_e8e240f\":\"Додати новий набір фіксованих дат\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"Додати студентів шляхом пошуку по імені, курсу, секції або групи. Після введення тексту, переміщайтеся по результатах, використовуючи клавішу зі стрілкою вниз. Виберіть результат за допомогою клавіші Enter.\",\"after_the_assignment_is_graded_53754607\":\"Після оцінювання завдання\",\"after_the_due_date_eee89c9c\":\"Після призначеної дати\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"Ви впевнені, що хочете скасувати? Зроблені зміни можуть бути не збережені.\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"Ви впевнені, що хочете видалити це завдання?\",\"assign_to_c46e21\":\"Призначити\",\"assignment_group_1a781505\":\"Група завдань\",\"assignment_group_was_saved_successfully_5caa27d3\":\"Група завдань успішно збережена\",\"assignment_was_deleted_8320d26d\":\"Завдання було видалене\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"Підтвердити завдання\"},\"cannot_delete_group\":\"Ми повинні мати принаймні одну Группу завдань\",\"complete\":\"Завершений\",\"confirm_delete_group\":\"Ви впевнені, що хочете видалити цю Групу завдань?\",\"drop_highest_rule\":{\"one\":\"Скасувати найвищій результат\",\"other\":\"Скасувати найвищі %{count} результатів\"},\"drop_lowest_rule\":{\"one\":\"Скасувати найнижчий результат\",\"other\":\"Скасувати найнижчі %{count} результатів\"},\"everyone_else\":\"Всі інші\",\"file_retrieval_error\":\"Отримати файл не вдалося\",\"getting_file\":\"Отримання файлу...\",\"grade_gpa_scale_screenreader\":\"Оцінка: %{grade}\",\"grade_letter_grade_screenreader\":\"Оцінка: %{grade}\",\"grade_pass_fail_screenreader\":\"Оцінка: %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"Оцінка: %{grade}%\",\"incomplete\":\"Незавершений\",\"invalid_file_retrieval\":\"Була проблема отримання файлу, відправленого за допомогою цього інструменту.\",\"keyboard_add_item\":\"Додати завдання до вибраної групи\",\"keyboard_close_menu\":\"Закрити активний діалог\",\"keyboard_del_item\":\"Видалити поточне завдання або групу\",\"keyboard_edit_item\":\"Редагувати поточне завдання або групу\",\"keyboard_next_item\":\"Зосередитись на наступному завданні або групі\",\"keyboard_prev_item\":\"Зосередитись на попередньому завданні або групі\",\"keyboard_show_assign\":\"Показати повний перегляд вибраного завдання\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"Ви маєте погодитися із попередження про відправлення перш ніж зможете відправити це завдання.\",\"not_submitted_yet\":\"Ви ще не закінчили відправку завдання. Вам як і раніше потрібно натиснути кнопку \\\"Відправити\\\", щоб завершити цей процес. Хочете покинути цю сторінку у будь-якому випадку?\",\"now_overdue\":\"Це завдання зараз протермінове. Будь-які нові роботи будуть позначені, як надіслані із запізненням. Хочете продовжити?\",\"overdue\":\"Це завдання протерміноване. Досі хочете його відправити?\",\"record_before_submitting\":\"Записати перед відправкою\",\"submit_failed\":\"Відправите не вдалося, спробуйте ще раз\",\"submitting\":\"Підтвердження...\"},\"name_is_required\":\"Ім'я обов'язкове!\",\"never_drop_rule\":\"Ніколи не опускати %{assignment_name}\",\"no_tools_found\":\"Утиліти не знайдено\",\"overdue_assignments\":\"Протерміновані завдання\",\"past_assignments\":\"Минулі Завдання\",\"points_possible_number\":\"Бали повинні бути представлені числом\",\"remove_never_drop_rule\":\"Видалити правило Ніколи не знищувати\",\"remove_unsaved_never_drop_rule\":\"Видалити незбережене правило Ніколи не знищувати\",\"rules_text\":{\"one\":\"1 Правило\",\"other\":\"%{count} Правил\"},\"titles\":{\"add_assignment_group\":\"Додати групу завдань\",\"uploading\":\"Завантаження матеріалу\"},\"toggle_message\":\"переключити видимість завдання\",\"undated_assignments\":\"Завдання без терміну\",\"upcoming_assignments\":\"Відкриті завдання\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"Прикріплені файли повинні бути більші ніж 0 байтів\",\"available_from_f84e4611\":\"Доступно з\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} Будь ласка, переконайтесь, що %{name} має належну дату.\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} Будь ласка, переконайтесь, що %{name} має належну дату та не надто довге ім'я.\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} Будь ласка, переконайтесь, що %{name} має не надто довге ім'я.\",\"button\":{\"submit_assignment\":\"Підтвердити завдання\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"Неможливо скасувати публікацію %{name} якщо присутні студентські матеріали\",\"changes_you_made_may_not_be_saved_4e8db973\":\"Зроблені Вами зміни можуть бути не збережені.\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"Продовжуйте набирати, щоб знайти додаткові розділи або студентів.\",\"count_assignments_found_17520826\":{\"one\":\"1 завдання знайдено.\",\"other\":\"%{count} завдань знайдено.\",\"zero\":\"Жодного відповідного завдання не знайдено.\"},\"course_section_7a988066\":\"Розділ курсу\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"В даний час призначені  %{tokenName}, натисніть, щоб видалити\",\"delete_assignment_group_7c3b01c4\":\"Видалити завдання для групи\",\"disabling_sync_to_name_failed_e7521ebb\":\"Не вдалося відімкнути синхронізацію для %{name}\",\"due_a73610f6\":\"Очікується\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"Очікувана дата не може бути після дати закриття\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"Очікувана дата не може бути до дати відкриття\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"Очікувана дата припадає на закритий період оцінювання\",\"due_date_set_1c6364db\":\"Налаштування очікуваної дати\",\"edit_assignment_ebf22a72\":\"Редагувати завдання\",\"errors\":{\"no_attached_file\":\"Ви повинні приєднати принаймні один файл до цього завдання\",\"wrong_file_extension\":\"Обраний файл з розширенням \\\"%{extension}\\\" недозволений для подання\"},\"everyone_854554dd\":\"Кожен\",\"everyone_else_6c6dc7b6\":\"Всі інші\",\"group_a8f5ed9c\":\"Група\",\"immediately_c128ede6\":\"Негайно\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"Майте на увазі, що це відправлення буде зараховане всім учасникам вашої групи %{groupType}.\",\"loading_25990131\":\"Завантаження...\",\"mastery_paths_cc4096c2\":\"Шляхи досягнення майстерності\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"Модероване оцінювання не може бути включене до групових завдань\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"Модероване оцінювання не може бути включене до рецензованих завдань\",\"moderated_grading_e6127f72\":\"Перевірене оцінення\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"Налаштування модерованого оцінювання не може бути змінено якщо існуюють неоцінені заяви\",\"move_assignment_6f890f64\":\"Перемістити Завдання\",\"move_contents_into_f3e4fd9d\":\"Перемістити інформацію про вміст\",\"move_group_3dd7f76e\":\"Перемістити Групу\",\"must_be_a_valid_number_59f0069\":\"Повинно бути допустимим числом\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} заблоковано. Клацніть, щоб розблокувати\",\"name_is_too_long_48daa8db\":\"Ім'я занадто довге\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"Ім'я занадто довге, повинно бути до %{length} символів\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name}розблоковано. Клацніть, щоб заблокувати.\",\"never_df100b49\":\"Ніколи\",\"no_results_found_58717065\":\"Результатів не знайдено\",\"remove_empty_attachment_b2aea632\":\"видалити порожнє вкладення\",\"remove_filename_87f3781e\":\"видалити %{filename}\",\"remove_these_dates_48453a81\":\"Видалити ці дати\",\"searching_b0207e7f\":\"Шукаємо\",\"show_by_709f525b\":\"Відобразити за:\",\"show_by_date_e3967761\":\"Відобразити за датою\",\"show_by_type_c5d61732\":\"Відобразити за типом\",\"student_5da6bfd1\":\"Студент\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"Синхронізація з %{name} вимкнена. Натисніть щоб перемкнути.\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"Синхронізація з %{name} увімкнена. Натисніть щоб перемкнути.\",\"sync_to_name_successfully_disabled_8045ad95\":\"Синхронізація з %{name} успішно заблокована\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"Оцінка цього завдання не буде синхронізована з студентською інформаційною системою.\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"Оцінка цього завдання буде синхронізована зі студентською інформаційною системою. \",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"Запущений інструмент повернув хибний ресурс для цього завдання\",\"until_4a1f8cda\":\"До тих пір\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"Використовуйте цей список для видалення призначених студентів. Додайте нових студентів з вікна під списком.\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"Ви не можете використовувати число більше, ніж кількість завдань\",\"you_must_use_a_number_912ce4bd\":\"Ви повинні використовувати число\",\"you_must_use_a_positive_number_203b86fe\":\"Ви повинні використовувати число більше нуля\"},\"zh-Hans\":{\"a_name_is_required_b5df38a9\":\"需要填写名称\",\"add_8523c19b\":\"添加\",\"add_new_set_of_due_dates_e8e240f\":\"添加新的截止日期\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"搜索姓名、班级或小组来添加学生。在输入文字后，使用向下箭头导航结果。使用回车键选择一个结果。\",\"after_the_assignment_is_graded_53754607\":\"在作业被评分之后\",\"after_the_due_date_eee89c9c\":\"在截止日期之后\",\"allow_moderator_to_review_multiple_independent_gra_c59d64f6\":\"允许成绩核对人审阅所选提交项的多个独立评分\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"确定要取消吗？您做出的变更可能无法保存。\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"是否确定要删除此作业?\",\"assign_to_c46e21\":\"分配到\",\"assignment_group_1a781505\":\"作业小组\",\"assignment_group_was_saved_successfully_5caa27d3\":\"作业组已成功保存\",\"assignment_was_deleted_8320d26d\":\"作业被删除\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"提交作业\"},\"cannot_delete_group\":\"您必须至少有一个作业小组\",\"complete\":\"完成\",\"confirm_delete_group\":\"是否确定要删除此作业小组？\",\"drop_highest_rule\":{\"one\":\"去掉 %{count} 个最高分\",\"other\":\"去掉 %{count} 个最高分\"},\"drop_lowest_rule\":{\"one\":\"去掉 %{count} 个最低分\",\"other\":\"去掉 %{count} 个最低分\"},\"everyone_else\":\"其他所有人\",\"file_retrieval_error\":\"检索文件失败\",\"getting_file\":\"正在检索文件...\",\"grade_gpa_scale_screenreader\":\"评分：%{grade}\",\"grade_letter_grade_screenreader\":\"评分: %{grade}\",\"grade_pass_fail_screenreader\":\"评分: %{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"分数: %{grade}%\",\"incomplete\":\"未完成\",\"invalid_file_retrieval\":\"检索通过此工具发送的文件时出现问题。\",\"keyboard_add_item\":\"将作业添加到所选小组\",\"keyboard_close_menu\":\"关闭活动对话框\",\"keyboard_del_item\":\"删除当前作业或小组\",\"keyboard_edit_item\":\"编辑当前作业或小组\",\"keyboard_next_item\":\"关注下一个作业或小组\",\"keyboard_prev_item\":\"关注上一个作业或小组\",\"keyboard_show_assign\":\"显示所选作业的完全预览\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"必须同意提交保证才可提交此作业。\",\"not_submitted_yet\":\"尚未完成作业提交。必须单击\\\"提交\\\"完成提交。是否仍要离开此页面?\",\"now_overdue\":\"此作业现已逾期。任何新提交作业将被标记为延迟。是否仍要继续?\",\"overdue\":\"此作业已逾期。是否仍要提交?\",\"record_before_submitting\":\"在提交前录制\",\"submit_failed\":\"提交失败，请重试\",\"submitting\":\"正在提交...\"},\"name_is_required\":\"需要名称\",\"never_drop_rule\":\"从不删除 %{assignment_name}\",\"no_tools_found\":\"找不到工具\",\"overdue_assignments\":\"逾期作业\",\"past_assignments\":\"以往作业\",\"points_possible_number\":\"满分必须为数字\",\"processing_submission\":\"Canvas目前正在处理您的提交项。您可以安全地离开此页面，如果提交项处理失败，我们将给您发送电子邮件。\",\"remove_never_drop_rule\":\"删除永不放弃的规则\",\"remove_unsaved_never_drop_rule\":\"删除永不放弃的未保存规则\",\"rules_text\":{\"one\":\"%{count} 个规则\",\"other\":\"%{count} 个规则\"},\"titles\":{\"add_assignment_group\":\"添加作业小组\",\"uploading\":\"正在上传提交作业\"},\"toggle_message\":\"切换作业可见性\",\"undated_assignments\":\"无日期作业\",\"upcoming_assignments\":\"即将布置的作业\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"附加的文件必须大于0字节\",\"available_from_f84e4611\":\"开始时间\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} 请确保 %{name} 具有截止日期。\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} 请确保 %{name} 具有截止日期且名称不会太长。\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} 请确保 %{name} 名称不会太长。\",\"button\":{\"submit_assignment\":\"提交作业\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"如果有学生提交，则无法取消发布的%{name}\",\"changes_you_made_may_not_be_saved_4e8db973\":\"您做出的变更可能无法保存。\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"继续键入，寻找其他班级或学生。\",\"count_assignments_found_17520826\":{\"one\":\"找到 1 个作业。\",\"other\":\"找到 %{count} 个作业。\",\"zero\":\"没有找到配置的作业。\"},\"course_section_7a988066\":\"课程班级\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"当前已分配给%{tokenName}，点击以移除\",\"delete_assignment_group_7c3b01c4\":\"删除作业小组\",\"disabling_sync_to_name_failed_e7521ebb\":\"“禁用同步到 %{name}”失败\",\"due_a73610f6\":\"截止时间\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"截止日不能在锁定日之后。\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"截止日不能在解锁日之前。\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"截止日期处在关闭评分周期内\",\"due_date_set_1c6364db\":\"截止日期设置\",\"edit_assignment_ebf22a72\":\"编辑作业\",\"errors\":{\"no_attached_file\":\"您至少要为作业添加一份文件\",\"wrong_file_extension\":\"您所选的扩展名为 \\\"%{extension}\\\" 的文件不允许进行提交\"},\"everyone_854554dd\":\"所有人\",\"everyone_else_6c6dc7b6\":\"其他所有人\",\"file_tree_collapsed_d4b0ae96\":\"文件树已折叠\",\"file_tree_expanded_a1d20c4a\":\"文件树已展开\",\"final_grader_can_view_other_grader_names_67736530\":\"最终评分人可查看其它评分人姓名\",\"grader_that_determines_final_grade_cc55f20\":\"确定最终评分的评分人\",\"graders_can_view_each_other_s_comments_d836b848\":\"评分人可以查看彼此的评论\",\"group_a8f5ed9c\":\"小组\",\"immediately_c128ede6\":\"立即\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"请记住，此提交项将会计入您的%{groupType}小组中的每个人上。\",\"loading_25990131\":\"加载中……\",\"mastery_paths_cc4096c2\":\"掌握路径\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"调和评分不能启用于小组作业。\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"调和评分不能启用于同侪评审的作业\",\"moderated_grading_e6127f72\":\"适度评分\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"调和评分设置不能改变如何已评分的提交存在。\",\"move_assignment_6f890f64\":\"移动作业\",\"move_contents_into_f3e4fd9d\":\"将内容移动到\",\"move_group_3dd7f76e\":\"移动组\",\"must_be_a_valid_number_59f0069\":\"必须是有效数字\",\"must_have_at_least_1_grader_d4a54e85\":\"至少须有 1 个评分人\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} 已锁定。单击以解锁\",\"name_is_too_long_48daa8db\":\"名称太长\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"名称太长，必须少于%{length}个字符\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name} 已解锁。单击以锁定。\",\"never_df100b49\":\"从不\",\"no_results_found_58717065\":\"未找到结果\",\"number_of_graders_cde8dd54\":\"评分人数\",\"remove_empty_attachment_b2aea632\":\"删除空白的附件\",\"remove_filename_87f3781e\":\"移除 %{filename}\",\"remove_these_dates_48453a81\":\"删除这些日期\",\"searching_b0207e7f\":\"正在搜索\",\"select_grader_782af48\":\"选择评分人\",\"selected_filename_7552a8c0\":\"已选择%{filename}\",\"show_by_709f525b\":\"显示方式\",\"show_by_date_e3967761\":\"按日期显示\",\"show_by_type_c5d61732\":\"按类型显示\",\"student_5da6bfd1\":\"学生\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"同步到%{name}被禁用。单击以切换。\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"同步到%{name}已启用。单击以切换。\",\"sync_to_name_successfully_disabled_8045ad95\":\"已成功禁用“同步到 %{name}”\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"此作业的成绩将不会与学生信息系统同步。\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"此作业的成绩将会与学生信息系统同步。\",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"已启动的工具对此次作业返回了无效资源\",\"there_are_currently_maxgradercount_available_grade_9ab81123\":\"目前有 %{maxGraderCount} 位空闲评分人\",\"there_is_currently_1_available_grader_758e4a21\":\"目前有 2 位空闲评分人\",\"until_4a1f8cda\":\"直至\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"使用该列表删除已分配的学生。利用列表后的组合框添加新学生。\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"您不能使用大于作业数的数字。\",\"you_must_use_a_number_912ce4bd\":\"您必须使用数字\",\"you_must_use_a_positive_number_203b86fe\":\"您必须使用正数\"},\"zh-Hant\":{\"a_name_is_required_b5df38a9\":\"名稱為必填\",\"add_8523c19b\":\"添加\",\"add_new_set_of_due_dates_e8e240f\":\"添加新的截止日期\",\"add_students_by_searching_by_name_course_section_o_abb9e2f2\":\"以名字、課程班別或組別搜尋，再添加學生。輸入資料後，按「下方向」鍵確定輸入。用「Enter」鍵選擇結果。\",\"after_the_assignment_is_graded_53754607\":\"作業評分之後\",\"after_the_due_date_eee89c9c\":\"截止日期之後\",\"allow_moderator_to_review_multiple_independent_gra_c59d64f6\":\"允許核分人檢閱指定的提交項目所獲的多個獨立評分\",\"are_you_sure_you_want_to_cancel_changes_you_made_m_c5210496\":\"是否確定要取消？您所做的變更或未能貯存。\",\"are_you_sure_you_want_to_delete_this_assignment_88be6f5e\":\"是否確定要刪除此任務？\",\"assign_to_c46e21\":\"分配至\",\"assignment_group_1a781505\":\"任務群組\",\"assignment_group_was_saved_successfully_5caa27d3\":\"任務群組已成功保存。\",\"assignment_was_deleted_8320d26d\":\"任務已被刪除\",\"assignments\":{\"buttons\":{\"submit_assignment\":\"提交任務\"},\"cannot_delete_group\":\"您必須至少有一個任務群組\",\"complete\":\"完成\",\"confirm_delete_group\":\"您是否確定要刪除此任務群組？\",\"drop_highest_rule\":{\"one\":\"降低最高 %{count} 分\",\"other\":\"降低最高 %{count} 分\"},\"drop_lowest_rule\":{\"one\":\"降低最低 %{count} 分\",\"other\":\"降低最低 %{count} 分\"},\"everyone_else\":\"其他所有人\",\"file_retrieval_error\":\"取回文檔失敗\",\"getting_file\":\"正在取回文檔...\",\"grade_gpa_scale_screenreader\":\"成績：%{grade}\",\"grade_letter_grade_screenreader\":\"成績：%{grade}\",\"grade_pass_fail_screenreader\":\"成績：%{grade}\",\"grade_percent\":\"%{grade}%\",\"grade_percent_screenreader\":\"成績：%{grade}%\",\"incomplete\":\"未完成\",\"invalid_file_retrieval\":\"取回從此工具發來的文檔時出現問題。\",\"keyboard_add_item\":\"添加任務至選定的群組\",\"keyboard_close_menu\":\"關閉活動的對話框\",\"keyboard_del_item\":\"刪除當前任務或群組\",\"keyboard_edit_item\":\"編輯當前任務或群組\",\"keyboard_next_item\":\"專注於下一個任務或群組\",\"keyboard_prev_item\":\"專注於上一個任務或群組\",\"keyboard_show_assign\":\"顯示所選任務的全預覽\",\"keycodes\":{\"add_item\":\"a\",\"close_menu\":\"esc\",\"del_item\":\"d\",\"edit_item\":\"e\",\"next\":\"j\",\"previous\":\"k\",\"show_assign\":\"f\"},\"messages\":{\"agree_to_pledge\":\"您必須同意提交承諾，然後才能提交此任務。\",\"not_submitted_yet\":\"您還沒有完成您的任務提交。您還需要按一下『提交』以完成提交。是否無論如何都要離開此頁面？\",\"now_overdue\":\"此任務現在已逾期。任何新提交件都將被標記為逾期提交。是否仍要繼續？\",\"overdue\":\"此任務已逾期。是否仍要提交？\",\"record_before_submitting\":\"在提交之前記錄\",\"submit_failed\":\"提交失敗，請再試一次\",\"submitting\":\"正在提交...\"},\"name_is_required\":\"名稱必填\",\"never_drop_rule\":\"切勿丟棄 %{assignment_name}\",\"no_tools_found\":\"找不到工具\",\"overdue_assignments\":\"逾期任務\",\"past_assignments\":\"過去的任務\",\"points_possible_number\":\"可能的分數必須是數字\",\"processing_submission\":\"Canvas 目前正處理您的提交項目。您可以安全地前往其他頁面，如果提交不成功，我們將以電郵通知您。\",\"remove_never_drop_rule\":\"刪除切勿丟棄規則\",\"remove_unsaved_never_drop_rule\":\"刪除未保存的切勿丟棄規則\",\"rules_text\":{\"one\":\"%{count} 個規則\",\"other\":\"%{count} 條規則\"},\"titles\":{\"add_assignment_group\":\"添加任務群組\",\"uploading\":\"上傳提交件\"},\"toggle_message\":\"切換任務可見性\",\"undated_assignments\":\"未注明日期的任務\",\"upcoming_assignments\":\"即將開始的任務\"},\"attached_files_must_be_greater_than_0_bytes_7f57bee7\":\"附件文檔必須大於 0 字節。\",\"available_from_f84e4611\":\"可用起始時間：\",\"base_message_please_make_sure_name_has_a_due_date_928ae7ab\":\"%{base_message} 請確保 %{name} 有截止日期。\",\"base_message_please_make_sure_name_has_a_due_date__9e9b0cfd\":\"%{base_message} 請確保 %{name} 有截止日期和名字不要太長。\",\"base_message_please_make_sure_name_name_is_not_too_d0c9454f\":\"%{base_message} 請確保 %{name} 名字不要太長。\",\"button\":{\"submit_assignment\":\"提交任務\"},\"can_t_unpublish_name_if_there_are_student_submissi_8ab8086c\":\"如果有學生提交件，則無法取消發佈 %{name}\",\"changes_you_made_may_not_be_saved_4e8db973\":\"您所做的變更或未能貯存。\",\"continue_typing_to_find_additional_sections_or_stu_49786085\":\"請鍵入更多資訊，以查找其他班別或學生\",\"count_assignments_found_17520826\":{\"one\":\"找到 1 個任務。\",\"other\":\"找到 %{count} 個任務。\",\"zero\":\"找不到相符的任務。\"},\"course_section_7a988066\":\"課程班別\",\"currently_assigned_to_tokenname_click_to_remove_5a853a84\":\"目前已分到 %{tokenName}，再按以移除\",\"delete_assignment_group_7c3b01c4\":\"刪除任務群組\",\"disabling_sync_to_name_failed_e7521ebb\":\"為 %{name} 停用同步功能失敗\",\"due_a73610f6\":\"截止日期\",\"due_date_cannot_be_after_lock_date_675b30aa\":\"截止日期不能晚於鎖定日期\",\"due_date_cannot_be_before_unlock_date_f263aab0\":\"截止日期不能早於解鎖日期\",\"due_date_falls_in_a_closed_grading_period_e447ff2f\":\"到期日可設於封閉評分期內\",\"due_date_set_1c6364db\":\"截止日期已設置\",\"edit_assignment_ebf22a72\":\"編輯任務\",\"errors\":{\"no_attached_file\":\"必須為此任務附加至少一個文檔\",\"wrong_file_extension\":\"您選擇的文檔擴展名為『%{extension}』，不允許提交\"},\"everyone_854554dd\":\"所有人\",\"everyone_else_6c6dc7b6\":\"其他所有人\",\"file_tree_collapsed_d4b0ae96\":\"已收起檔案樹\",\"file_tree_expanded_a1d20c4a\":\"已展開檔案樹\",\"final_grader_can_view_other_grader_names_67736530\":\"最終評分員可以查看其他評分員的名稱\",\"grader_that_determines_final_grade_cc55f20\":\"評分員決定最終評分\",\"graders_can_view_each_other_s_comments_d836b848\":\"評分員可以查看彼此的評論\",\"group_a8f5ed9c\":\"群組\",\"immediately_c128ede6\":\"立即\",\"keep_in_mind_this_submission_will_count_for_everyo_bb526d67\":\"謹記，此提交項目對於您的 %{groupType} 群組中的每個人而言都很重要。\",\"loading_25990131\":\"正在載入……\",\"mastery_paths_cc4096c2\":\"精通路徑\",\"moderated_grading_cannot_be_enabled_for_group_assi_7e947ab7\":\"無法將調整後的評分應用到分組任務中\",\"moderated_grading_cannot_be_enabled_for_peer_revie_6b7eedc1\":\"無法將調整後的評分應用到學生互評任務中\",\"moderated_grading_e6127f72\":\"已調整的評分\",\"moderated_grading_setting_cannot_be_changed_if_gra_ba939ce2\":\"如果存在已評分的提交任務，則無法改變調整後的評分設置\",\"move_assignment_6f890f64\":\"移動作業\",\"move_contents_into_f3e4fd9d\":\"移動內容至\",\"move_group_3dd7f76e\":\"移動群組\",\"must_be_a_valid_number_59f0069\":\"必須為有效數字\",\"must_have_at_least_1_grader_d4a54e85\":\"必須至少有 1 個評分員\",\"name_is_locked_click_to_unlock_7aad9928\":\"%{name} 被鎖定。點擊解鎖\",\"name_is_too_long_48daa8db\":\"名稱太長\",\"name_is_too_long_must_be_under_length_characters_b8dad44c\":\"名稱太長，不可超過 %{length} 個字符\",\"name_is_unlocked_click_to_lock_b8b9a2c8\":\"%{name} 被解鎖。點擊鎖定。\",\"never_df100b49\":\"永不\",\"no_results_found_58717065\":\"找不到結果\",\"number_of_graders_cde8dd54\":\"評分員數目\",\"remove_empty_attachment_b2aea632\":\"刪除空白附件\",\"remove_filename_87f3781e\":\"刪除 %{filename}\",\"remove_these_dates_48453a81\":\"刪除這些日期\",\"searching_b0207e7f\":\"搜索\",\"select_grader_782af48\":\"選擇評分員\",\"selected_filename_7552a8c0\":\"已選擇%{filename}\",\"show_by_709f525b\":\"顯示方式\",\"show_by_date_e3967761\":\"按日期顯示\",\"show_by_type_c5d61732\":\"按類型顯示\",\"student_5da6bfd1\":\"學生\",\"sync_to_name_disabled_click_to_toggle_53a1396f\":\"同步至 %{name} 已停用。按一下以切換。\",\"sync_to_name_enabled_click_to_toggle_ddaef134\":\"同步至 %{name} 已啟用。按一下以切換。\",\"sync_to_name_successfully_disabled_8045ad95\":\"成功停用同步至 %{name} 功能。\",\"the_grade_for_this_assignment_will_not_sync_to_the_3bb4f6f5\":\"本任務的評分無法同步到學生信息系統。\",\"the_grade_for_this_assignment_will_sync_to_the_stu_5d32cedb\":\"本任務的評分將同步到學生信息系統。\",\"the_launched_tool_returned_an_invalid_resource_for_24512878\":\"啟動的工具返回了關於此任務的無效資源。\",\"there_are_currently_maxgradercount_available_grade_9ab81123\":\"目前有 %{maxGraderCount} 位可用評分員\",\"there_is_currently_1_available_grader_758e4a21\":\"目前有 1 位可用評分員\",\"until_4a1f8cda\":\"直到\",\"use_this_list_to_remove_assigned_students_add_new__ad6205ad\":\"以此列表去移除已點選學生。使用列表下方的組合框添加新學生。\",\"you_cannot_use_a_number_greater_than_the_number_of_af33e220\":\"不能使用大於作業數目的數字\",\"you_must_use_a_number_912ce4bd\":\"必須使用數字\",\"you_must_use_a_positive_number_203b86fe\":\"必須使用一個正數\"}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/javascripts/translations/assignments.js\n// module id = y1nRt08TLO\n// module chunks = 27 32 37 39 40 44 45 51 54 55 62 73 77 79 81 92 181","/*\n * Copyright (C) 2016 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport _ from 'underscore'\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport I18n from 'i18n!assignment_index_menu'\nimport ExternalToolModalLauncher from '../shared/ExternalToolModalLauncher'\nimport Actions from './actions/IndexMenuActions'\n\nexport default class IndexMenu extends React.Component {\n\n  static propTypes = {\n    store: PropTypes.object.isRequired,\n    contextType: PropTypes.string.isRequired,\n    contextId: PropTypes.number.isRequired,\n    setTrigger: PropTypes.func.isRequired,\n    setDisableTrigger: PropTypes.func.isRequired,\n    registerWeightToggle: PropTypes.func.isRequired,\n    disableSyncToSis: PropTypes.func.isRequired,\n    sisName: PropTypes.string.isRequired,\n    postToSisDefault: PropTypes.bool.isRequired,\n    hasAssignments: PropTypes.bool.isRequired\n  }\n\n  state = this.props.store.getState()\n\n  componentWillMount () {\n    this.setState(this.props.store.getState())\n  }\n\n  componentDidMount() {\n    this.unsubscribe = this.props.store.subscribe(() => {\n      this.setState(this.props.store.getState())\n    })\n\n    const toolsUrl = [\n      '/api/v1/',\n      this.props.contextType,\n      's/',\n      this.props.contextId,\n      '/lti_apps/launch_definitions?placements[]=course_assignments_menu'\n    ].join('')\n\n    this.props.store.dispatch(Actions.apiGetLaunches(null, toolsUrl))\n    this.props.setTrigger(this.refs.trigger)\n    this.props.setDisableTrigger(this.disableTrigger)\n    this.props.registerWeightToggle('weightedToggle', this.onWeightedToggle, this)\n  }\n\n  componentWillUnmount() {\n    this.unsubscribe()\n  }\n\n  onWeightedToggle = value => {\n    this.props.store.dispatch(Actions.setWeighted(value))\n  }\n\n  onLaunchTool = tool => e => {\n      e.preventDefault()\n      this.props.store.dispatch(Actions.launchTool(tool))\n    }\n\n  closeModal = () => {\n    this.props.store.dispatch(Actions.setModalOpen(false))\n  }\n\n  renderWeightIcon = () => {\n    if (this.state && this.state.weighted) {\n      return <i className=\"icon-check\" />\n    }\n    return <i className=\"icon-blank\" />\n  }\n\n  renderDisablePostToSis = () => {\n    if (this.props.hasAssignments && this.props.postToSisDefault) {\n      return (\n        <li role=\"menuitem\">\n          <a\n            ref={node => {\n              this.disableTrigger = node\n            }}\n            href=\"#\"\n            role=\"button\"\n            id=\"assignmentDisableSyncCog\"\n            title={I18n.t('Disable Sync to %{name}', {name: this.props.sisName})}\n            aria-label={I18n.t('Disable Sync to %{name}', {name: this.props.sisName})}\n            data-focus-returns-to=\"course_assignment_settings_link\"\n            onClick={() => {\n              this.props.setDisableTrigger(this.disableTrigger)\n              this.props.disableSyncToSis()\n            }}\n          >\n            {I18n.t('Disable Sync to %{name}', {name: this.props.sisName})}\n          </a>\n        </li>\n      )\n    }\n  }\n\n  renderTools = () => this.state.externalTools.map(tool => (\n      <li key={tool.definition_id} role=\"menuitem\">\n        <a aria-label={tool.name} href=\"#\" onClick={this.onLaunchTool(tool)}>\n          <i className=\"icon-import\" />\n          {tool.name}\n        </a>\n      </li>\n    ))\n\n  render() {\n    return (\n      <div\n        className=\"inline-block\"\n        ref={node => {\n          this.node = node\n        }}\n      >\n        <a\n          className=\"al-trigger btn\"\n          id=\"course_assignment_settings_link\"\n          role=\"button\"\n          tabIndex=\"0\"\n          title={I18n.t('Assignments Settings')}\n          aria-label={I18n.t('Assignments Settings')}\n        >\n          <i className=\"icon-more\" aria-hidden=\"true\" />\n          <span className=\"screenreader-only\">{I18n.t('Assignment Options')}</span>\n        </a>\n        <ul className=\"al-options\" role=\"menu\">\n          <li role=\"menuitem\">\n            <a\n              ref=\"trigger\"\n              href=\"#\"\n              id=\"assignmentSettingsCog\"\n              role=\"button\"\n              title={I18n.t('Assignment Groups Weight')}\n              data-focus-returns-to=\"course_assignment_settings_link\"\n              aria-label={I18n.t('Assignment Groups Weight')}\n            >\n              {this.renderWeightIcon()}\n              {I18n.t('Assignment Groups Weight')}\n            </a>\n          </li>\n          {this.renderDisablePostToSis()}\n          {this.renderTools()}\n        </ul>\n        <ExternalToolModalLauncher\n          tool={this.state.selectedTool}\n          isOpen={this.state.modalIsOpen}\n          onRequestClose={this.closeModal}\n          contextType={this.props.contextType}\n          contextId={this.props.contextId}\n          launchType=\"course_assignments_menu\"\n          title={\n            this.state.selectedTool &&\n            this.state.selectedTool.placements.course_assignments_menu.title\n          }\n        />\n      </div>\n    )\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/jsx/assignments/IndexMenu.js","/*\n * Copyright (C) 2017 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport React from 'react'\nimport ReactDOM from 'react-dom'\n\nimport MoveItemTray from './MoveItemTray'\n\nconst ROOT_ID = 'move_item_tray'\n\nexport function renderTray (props, rootContainer = document.body) {\n  let root = document.getElementById(ROOT_ID)\n\n  if (!root) {\n    root = document.createElement('div')\n    root.setAttribute('id', ROOT_ID)\n    rootContainer.appendChild(root)\n  }\n\n  ReactDOM.render(<MoveItemTray {...props} ref={(tray) => tray && tray.open()} />, root)\n}\n\nexport const backbone = {\n  collectionToItems (collection, getItems = (col) => col.models) {\n    return getItems(collection).map(item => ({\n      id: item.attributes.id,\n      title: item.attributes.name || item.attributes.title,\n    }))\n  },\n\n  collectionToGroups (collection, getItems, filter = () => true) {\n    return collection.models.filter(filter).map((item) => ({\n      id: item.attributes.id,\n      title: item.attributes.name || item.attributes.title,\n      items: this.collectionToItems(getItems(item)),\n    }))\n  },\n\n  reorderInCollection (order, model, collection = model.collection) {\n    order.forEach((id, index) => {\n      const item = collection.get(id)\n      if (item) item.set('position', index + 1)\n    })\n\n    // call reset to trigger a re-render\n    collection.sort()\n    collection.reset(collection.models)\n  },\n\n  reorderAcrossCollections (order, collId, model, keys) {\n    let newColl = model.collection.view.parentCollection.get(collId).get(keys.model)\n\n    // if item moved across collections\n    if (newColl && newColl !== model.collection) {\n      model.collection.remove(model)\n      newColl.add(model)\n\n      if (keys.parent) {\n        model.set(keys.parent, collId)\n      }\n    } else {\n      newColl = model.collection\n    }\n\n    this.reorderInCollection(order, model, newColl)\n  },\n\n  reorderAllItemsIntoNewCollection (order, collId, model, keys) {\n    let newColl = model.collection.get(collId).get(keys.model)\n    // if item moved across collections\n    if (newColl && newColl !== model.collection) {\n      const allAssignments = model.get(keys.model).models.slice()\n\n      allAssignments.forEach((asg) => {\n        model.get(keys.model).remove(asg)\n        newColl.add(asg)\n      })\n\n      if (keys.parent) {\n        model.set(keys.parent, collId)\n      }\n    } else {\n      newColl = model.collection\n    }\n\n    this.reorderInCollection(order, model, newColl)\n  }\n}\n\nexport function reorderElements (order, container, idToItemSelector = id => `#${id}`) {\n  const itemMap = order.reduce((items, id) => {\n    const item = container.querySelector(idToItemSelector(id))\n    if (item == null) return items\n    items[id] = item\n    container.removeChild(item)\n    return items\n  }, {})\n\n  order.forEach(id => { if (itemMap[id] != null) container.appendChild(itemMap[id]) })\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/jsx/move_item/index.js","/*\n * Copyright (C) 2016 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport I18n from 'i18n!format_range'\nimport { transformScore } from './score'\n\n  const isEnabled = () => ENV.CONDITIONAL_RELEASE_SERVICE_ENABLED || false\n  const parseEnvData = () => {\n    const activeRules = ENV.CONDITIONAL_RELEASE_ENV && ENV.CONDITIONAL_RELEASE_ENV.active_rules || []\n    return {\n      triggerAssignments: activeRules.reduce((triggers, rule) => {\n        triggers[rule.trigger_assignment] = rule\n        return triggers\n      }, {}),\n      releasedAssignments: activeRules.reduce((released, rule) => {\n        rule.scoring_ranges.forEach(range => {\n          range.assignment_sets.forEach(set => {\n            set.assignments.forEach(asg => {\n              const id = asg.assignment_id\n              released[id] = released[id] || []\n              released[id].push({\n                assignment_id: rule.trigger_assignment,\n                assignment: rule.trigger_assignment_model,\n                upper_bound: range.upper_bound,\n                lower_bound: range.lower_bound,\n              })\n            })\n          })\n        })\n        return released\n      }, {}),\n    }\n  }\n\n  let data = parseEnvData()\n  const isTrigger = (asgId) => data.triggerAssignments.hasOwnProperty(asgId)\n  const isReleased = (asgId) => data.releasedAssignments.hasOwnProperty(asgId)\n  const formatRange = (asgId) => {\n    const ranges = data.releasedAssignments[asgId] || []\n    if (ranges.length > 1) {\n      return I18n.t('Multiple')\n    } else if (ranges.length > 0) {\n      const range = ranges[0]\n      return I18n.t('%{upper} - %{lower}', {\n        upper: transformScore(range.upper_bound, range.assignment, true),\n        lower: transformScore(range.lower_bound, range.assignment, false),\n      })\n    } else {\n      return null\n    }\n  }\n\nexport default {\n    isEnabled,\n    reloadEnv () {\n      data = parseEnvData()\n    },\n    getItemData (asgId, isGraded = true) {\n      asgId = asgId && asgId.toString()\n      return isEnabled()\n      ? {\n        isCyoeAble: asgId && isGraded,\n        isTrigger: asgId && isGraded && isTrigger(asgId),\n        isReleased: isReleased(asgId),\n        releasedLabel: formatRange(asgId),\n      }\n      : {}\n    },\n  }\n\n\n\n// WEBPACK FOOTER //\n// ./app/jsx/shared/conditional_release/CyoeHelper.js","\n    define(['i18nObj', 'translations/lock_btn_module', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('lock_btn_module')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?lock_btn_module!./public/javascripts/dummyI18nResource.js\n// module id = zD6VcsVuP+\n// module chunks = 32 39 51 54 58 59 60 73 77 79","\n    define(['i18nObj', 'translations/assignment_index_menu', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('assignment_index_menu')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?assignment_index_menu!./public/javascripts/dummyI18nResource.js\n// module id = zMylEtGqg4\n// module chunks = 54","\n    define(['i18nObj', 'translations/errors', 'translations/_core', 'translations/_core_en'], function(I18n) {\n      return I18n.scoped('errors')\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./frontend_build/i18n.js?errors!./public/javascripts/dummyI18nResource.js\n// module id = zSvewKkdw3\n// module chunks = 27 33 36 37 40 44 45 51 52 54 56 61 62 66 68 76 77 95","#\n# Copyright (C) 2013 - present Instructure, Inc.\n#\n# This file is part of Canvas.\n#\n# Canvas is free software: you can redistribute it and/or modify it under\n# the terms of the GNU Affero General Public License as published by the Free\n# Software Foundation, version 3 of the License.\n#\n# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n# details.\n#\n# You should have received a copy of the GNU Affero General Public License along\n# with this program. If not, see <http://www.gnu.org/licenses/>.\n\ndefine [\n  'underscore'\n  '../../models/Assignment'\n  '../DialogFormView'\n  '../../util/DateValidator'\n  'jst/assignments/CreateAssignment'\n  'jst/EmptyDialogFormWrapper'\n  'jsx/shared/helpers/numberHelper'\n  'i18n!assignments'\n  '../../util/round'\n  'jquery'\n  '../../api/gradingPeriodsApi'\n  '../../util/SisValidationHelper'\n  'jquery.instructure_date_and_time'\n], (_, Assignment, DialogFormView, DateValidator, template, wrapper,\n  numberHelper, I18n, round, $, GradingPeriodsAPI, SisValidationHelper) ->\n\n  class CreateAssignmentView extends DialogFormView\n    defaults:\n      width: 500\n      height: 380\n\n    events: _.extend {}, @::events,\n      'click .dialog_closer': 'close'\n      'click .save_and_publish': 'saveAndPublish'\n      'click .more_options': 'moreOptions'\n      'blur .points_possible': 'roundPointsPossible'\n\n    template: template\n    wrapperTemplate: wrapper\n\n    @optionProperty 'assignmentGroup'\n\n    initialize: (options) ->\n      super(\n        assignmentGroup: options.assignmentGroup,\n        title: if @model? then I18n.t(\"Edit Assignment\") else null    # let title come from trigger (see DialogForm.getDialogTitle)\n      )\n      @model ?= @generateNewAssignment()\n      @on \"close\", -> @$el[0].reset()\n\n    onSaveSuccess: =>\n      @shouldPublish = false\n      super\n      # Person who creates the assignment should always have permission to update it\n      ENV.PERMISSIONS.by_assignment_id && ENV.PERMISSIONS.by_assignment_id[@model.id] = {\n        update: true\n      }\n      if @assignmentGroup\n        @assignmentGroup.get('assignments').add(@model)\n        @model = @generateNewAssignment()\n\n    getFormData: =>\n      data = super\n      unfudged = $.unfudgeDateForProfileTimezone(data.due_at)\n      data.due_at = @_getDueAt(unfudged) if unfudged?\n      data.published = true if @shouldPublish\n      data.points_possible = numberHelper.parse(data.points_possible)\n      return data\n\n    saveAndPublish: (event) ->\n      @shouldPublish = true\n      @disableWhileLoadingOpts = {buttons: ['.save_and_publish']}\n      @submit(event)\n\n    onSaveFail: (xhr) =>\n      @shouldPublish = false\n      @disableWhileLoadingOpts = {}\n      super(xhr)\n\n    moreOptions: ->\n      valid = ['submission_types', 'name', 'due_at', 'points_possible', 'assignment_group_id']\n\n      data = @getFormData()\n      data.assignment_group_id = @assignmentGroup.get('id') if @assignmentGroup\n\n      dataParams = {}\n      _.each data, (value, key) ->\n        if _.contains(valid, key)\n          dataParams[key] = value\n\n      if dataParams.submission_types == 'online_quiz'\n        button = @$('.more_options')\n        button.prop('disabled', true)\n        $.post(@newQuizUrl(), dataParams)\n          .done((response) => @redirectTo(response.url))\n          .always(-> button.prop('disabled', false))\n      else\n        url = if @assignmentGroup then @newAssignmentUrl() else @model.htmlEditUrl()\n        @redirectTo(\"#{url}?#{$.param(dataParams)}\")\n\n    redirectTo: (url) ->\n      window.location.href = url\n\n    generateNewAssignment: ->\n      assign = new Assignment\n      assign.assignmentGroupId(@assignmentGroup.id) if @assignmentGroup\n      assign\n\n    toJSON: ->\n      json = @model.toView()\n\n      uniqLabel = if @assignmentGroup\n        \"ag_#{@assignmentGroup.get('id')}\"\n      else\n        \"assign_#{@model.get('id')}\"\n\n      _.extend json,\n        canChooseType: @assignmentGroup?\n        uniqLabel: uniqLabel\n        disableDueAt: @disableDueAt()\n        postToSISName: ENV.SIS_NAME\n        isInClosedPeriod: @model.inClosedGradingPeriod()\n\n      # master_course_restrictions only apply if this is a child course\n      # and is restricted by a master course.\n      # the handlebars template doesn't do logical combinations conditions,\n      # so summarize here\n      doRestrictionsApply = !!json.is_master_course_child_content && !!json.restricted_by_master_course\n      for k, v of json.master_course_restrictions\n        json.master_course_restrictions[k] =  doRestrictionsApply && v\n      json\n\n    currentUserIsAdmin: ->\n      _.contains(ENV.current_user_roles, \"admin\")\n\n    disableDueAt: ->\n      _.contains(@model.frozenAttributes(), \"due_at\") || @model.inClosedGradingPeriod()\n\n    openAgain: ->\n      super\n      this.hideErrors()\n\n      timeField = @$el.find(\".datetime_field\")\n      if @model.multipleDueDates() || @model.isOnlyVisibleToOverrides() || @model.nonBaseDates() || @disableDueAt()\n        timeField.tooltip\n          position: {my: 'center bottom', at: 'center top-10', collision: 'fit fit'},\n          tooltipClass: 'center bottom vertical',\n          content: -> $($(@).data('tooltipSelector')).html()\n      else\n        timeField.datetime_field() unless timeField.hasClass(\"hasDatepicker\")\n\n    newAssignmentUrl: ->\n      ENV.URLS.new_assignment_url\n\n    newQuizUrl: ->\n      ENV.URLS.new_quiz_url\n\n    validateBeforeSave: (data, errors) ->\n      errors = @_validateTitle data, errors\n      errors = @_validatePointsPossible data, errors\n      errors = @_validateDueDate data, errors\n      errors\n\n    _validateTitle: (data, errors) ->\n      return errors if _.contains(@model.frozenAttributes(), \"title\")\n\n      post_to_sis = data.post_to_sis == '1'\n      max_name_length = 256\n      if post_to_sis && ENV.MAX_NAME_LENGTH_REQUIRED_FOR_ACCOUNT && data.grading_type != 'not_graded'\n        max_name_length = ENV.MAX_NAME_LENGTH\n\n      validationHelper = new SisValidationHelper({\n        postToSIS: post_to_sis\n        maxNameLength: max_name_length\n        name: data.name\n        maxNameLengthRequired: ENV.MAX_NAME_LENGTH_REQUIRED_FOR_ACCOUNT\n      })\n\n      if !data.name or $.trim(data.name.toString()).length == 0\n        errors[\"name\"] = [\n          message: I18n.t 'name_is_required', 'Name is required!'\n        ]\n      else if validationHelper.nameTooLong()\n        errors[\"name\"] = [\n          message: I18n.t(\"Name is too long, must be under %{length} characters\", length: max_name_length + 1)\n        ]\n      errors\n\n    _validatePointsPossible: (data, errors) =>\n      return errors if _.contains(@model.frozenAttributes(), \"points_possible\")\n\n      if data.points_possible and isNaN(data.points_possible)\n        errors[\"points_possible\"] = [\n          message: I18n.t 'points_possible_number', 'Points possible must be a number'\n        ]\n      errors\n\n    _getDueAt: (dueAt) ->\n      # If the minutes value of the date is 59, set the seconds to 59 so\n      # the date ends up being one second before the following hour. Otherwise,\n      # set it to 0 seconds.\n      #\n      # If the user has not changed the date, don't touch the seconds value\n      # (so that we don't clobber a date set by the API).\n      if @_dueAtHasChanged(dueAt.toISOString())\n        dueAt.setSeconds(if dueAt.getMinutes() == 59 then 59 else 0)\n      else\n        dueAt.setSeconds(new Date(@model.dueAt()).getSeconds())\n\n      dueAt.toISOString()\n\n    _dueAtHasChanged: (dueAt) =>\n      originalDueAt = new Date(@model.dueAt())\n      newDueAt = new Date(dueAt)\n\n      # Since a user can't edit the seconds field in the UI and the form also\n      # thinks that the seconds is always set to 00, we compare by everything\n      # except seconds.\n      originalDueAt.setSeconds(0)\n      newDueAt.setSeconds(0)\n      originalDueAt.getTime() != newDueAt.getTime()\n\n    _validateDueDate: (data, errors) ->\n      return errors unless data.due_at\n\n      validRange = ENV.VALID_DATE_RANGE\n      data.lock_at = @model.lockAt()\n      data.unlock_at = @model.unlockAt()\n      data.persisted = !@_dueAtHasChanged(data.due_at)\n      dateValidator = new DateValidator(\n        date_range: _.extend({}, validRange)\n        data: data\n        hasGradingPeriods: !!ENV.HAS_GRADING_PERIODS\n        gradingPeriods: GradingPeriodsAPI.deserializePeriods(ENV.active_grading_periods)\n        userIsAdmin: @currentUserIsAdmin(),\n        data\n      )\n      errs = dateValidator.validateDatetimes()\n\n      return errors if _.isEmpty(errs)\n\n      # need to override default error message to focus only on due date field for quick add/edit\n      if errs['lock_at']\n        errs['due_at'] = I18n.t('Due date cannot be after lock date')\n      if errs['unlock_at']\n        errs['due_at'] = I18n.t('Due date cannot be before unlock date')\n\n      errors[\"due_at\"] = [message: errs[\"due_at\"]]\n      errors\n\n    roundPointsPossible: (e) ->\n      value = $(e.target).val()\n      rounded_value = round(numberHelper.parse(value), 2)\n      if isNaN(rounded_value)\n        return\n      else\n        $(e.target).val(I18n.n(rounded_value))\n\n\n\n// WEBPACK FOOTER //\n// ./app/coffeescripts/views/assignments/CreateAssignmentView.coffee","\n    define('jst/assignments/DateAvailableColumnView', [\"handlebars/runtime\",\"jst/assignments/_available_date_description\",\"i18n!assignments.date_available_column_view\",\"coffeescripts/handlebars_helpers.coffee\"], function(Handlebars){\n      Handlebars = Handlebars.default\n      var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};\n      var name = 'assignments/DateAvailableColumnView';\n      templates[name] = template(function (Handlebars,depth0,helpers,partials,data) {\n  this.compilerInfo = [4,'>= 1.0.0'];\nhelpers = this.merge(helpers, Handlebars.helpers); partials = this.merge(partials, Handlebars.partials); data = data || {};\n  var buffer = \"\", stack1, functionType=\"function\", escapeExpression=this.escapeExpression, helperMissing=helpers.helperMissing, self=this;\n\nfunction program1(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n  <strong>\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.date_available_column_view\")\n  },data:data},helper ? helper.call(depth0, \"available\", \"Available\", options) : helperMissing.call(depth0, \"t\", \"available\", \"Available\", options)))\n    + \"</strong>\\n\\n  \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.allDates), {hash:{},inverse:self.program(8, program8, data),fn:self.program(2, program2, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n\";\n  return buffer;\n  }\nfunction program2(depth0,data) {\n  \n  var buffer = \"\", stack1, helper, options;\n  buffer += \"\\n  <a title=\\\"tooltip\\\"\\n     class=\\\"vdd_tooltip_link\\\"\\n     aria-describedby=\\\"vdd_tooltip_\";\n  if (helper = helpers.selector) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.selector); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\"\\n     data-tooltip-selector=\\\"#vdd_tooltip_\";\n  if (helper = helpers.selector) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.selector); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\"\\n     \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.linkHref), {hash:{},inverse:self.noop,fn:self.program(3, program3, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n     >\"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.date_available_column_view\")\n  },data:data},helper ? helper.call(depth0, \"multiple_dates\", \"Multiple Dates\", options) : helperMissing.call(depth0, \"t\", \"multiple_dates\", \"Multiple Dates\", options)))\n    + \"</a>\\n\\n  <div id=\\\"vdd_tooltip_\";\n  if (helper = helpers.selector) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.selector); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\" style=\\\"display:none;\\\">\\n    <dl class=\\\"vdd_tooltip_content dl-horizontal\\\">\\n      \";\n  stack1 = helpers.each.call(depth0, (depth0 && depth0.allDates), {hash:{},inverse:self.noop,fn:self.program(5, program5, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n    </dl>\\n  </div>\\n  \";\n  return buffer;\n  }\nfunction program3(depth0,data) {\n  \n  var buffer = \"\", stack1, helper;\n  buffer += \"href=\\\"\";\n  if (helper = helpers.linkHref) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.linkHref); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"\\\"\";\n  return buffer;\n  }\n\nfunction program5(depth0,data) {\n  \n  var buffer = \"\", stack1, helper;\n  buffer += \"\\n        <div class=\\\"clearfix\\\">\\n          <dt>\";\n  if (helper = helpers.dueFor) { stack1 = helper.call(depth0, {hash:{},data:data}); }\n  else { helper = (depth0 && depth0.dueFor); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }\n  buffer += escapeExpression(stack1)\n    + \"</dt>\\n          <dd>\\n            <dd>\\n              \";\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.available), {hash:{},inverse:self.noop,fn:self.program(6, program6, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n\\n              \";\n  stack1 = self.invokePartial(partials['assignments/available_date_description'], 'assignments/available_date_description', depth0, helpers, partials, data);\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n            </dd>\\n          </dd>\\n        </div>\\n      \";\n  return buffer;\n  }\nfunction program6(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n                \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.date_available_column_view\")\n  },data:data},helper ? helper.call(depth0, \"available\", \"Available\", options) : helperMissing.call(depth0, \"t\", \"available\", \"Available\", options)))\n    + \"\\n              \";\n  return buffer;\n  }\n\nfunction program8(depth0,data) {\n  \n  var buffer = \"\", helper, options;\n  buffer += \"\\n    \"\n    + escapeExpression((helper = helpers.t || (depth0 && depth0.t),options={hash:{\n    'scope': (\"assignments.date_available_column_view\")\n  },data:data},helper ? helper.call(depth0, \"multiple_dates\", \"Multiple Dates\", options) : helperMissing.call(depth0, \"t\", \"multiple_dates\", \"Multiple Dates\", options)))\n    + \"\\n  \";\n  return buffer;\n  }\n\nfunction program10(depth0,data) {\n  \n  var buffer = \"\", stack1;\n  buffer += \"\\n  <span class=\\\"default-dates\\\">\\n    \";\n  stack1 = helpers['with'].call(depth0, (depth0 && depth0.defaultDates), {hash:{},inverse:self.noop,fn:self.program(11, program11, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n  </span>\\n\";\n  return buffer;\n  }\nfunction program11(depth0,data) {\n  \n  var buffer = \"\", stack1;\n  buffer += \"\\n      \";\n  stack1 = self.invokePartial(partials['assignments/available_date_description'], 'assignments/available_date_description', depth0, helpers, partials, data);\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n    \";\n  return buffer;\n  }\n\n  stack1 = helpers['if'].call(depth0, (depth0 && depth0.multipleDueDates), {hash:{},inverse:self.program(10, program10, data),fn:self.program(1, program1, data),data:data});\n  if(stack1 || stack1 === 0) { buffer += stack1; }\n  buffer += \"\\n\";\n  return buffer;\n  });\n      ;\n      ;\n      return templates[name];\n    });\n  \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./app/views/jst/assignments/DateAvailableColumnView.handlebars\n// module id = zo7sxQbnNQ\n// module chunks = 54 73"],"sourceRoot":""}