@citolab/qti-components 7.3.2 → 7.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/cdn/chunks/chunk-2FHBMRTL.js +10 -0
  2. package/cdn/chunks/chunk-2IPVI6JS.js +8 -0
  3. package/cdn/chunks/chunk-2MMQH3OR.js +8 -0
  4. package/cdn/chunks/chunk-3OIAVUFK.js +8 -0
  5. package/cdn/chunks/chunk-5DVOEPIP.js +8 -0
  6. package/cdn/chunks/chunk-7JO3EE5V.js +5 -0
  7. package/cdn/chunks/chunk-AMH674XL.js +1450 -0
  8. package/cdn/chunks/chunk-C55DPNSW.js +8 -0
  9. package/cdn/chunks/chunk-E7FZUPJ2.js +8 -0
  10. package/cdn/chunks/chunk-LGSTDI7O.js +8 -0
  11. package/cdn/chunks/chunk-N7K6VO7F.js +1 -0
  12. package/cdn/chunks/chunk-NPYS4GGN.js +5 -0
  13. package/cdn/chunks/chunk-OGZEE7T7.js +8 -0
  14. package/cdn/chunks/chunk-QA3FBQSF.js +5 -0
  15. package/cdn/chunks/chunk-QT25DBDO.js +8 -0
  16. package/cdn/chunks/chunk-SSBR2KEX.js +8 -0
  17. package/cdn/chunks/chunk-TB7NCJUL.js +8 -0
  18. package/cdn/chunks/chunk-V6LLE3H4.js +8 -0
  19. package/cdn/chunks/chunk-X5K7LBUM.js +8 -0
  20. package/cdn/chunks/chunk-Z6WP2K4O.js +1450 -0
  21. package/cdn/chunks/chunk-ZKETWB2E.js +8 -0
  22. package/cdn/index.global.js +1 -1
  23. package/cdn/index.js +1 -1
  24. package/cdn/qti-components/index.js +1 -1
  25. package/cdn/qti-test/components/index.js +1 -1
  26. package/cdn/qti-test/components/test-next.js +1 -1
  27. package/cdn/qti-test/components/test-prev.js +1 -1
  28. package/cdn/qti-test/components/test-scoring-feedback.js +1 -1
  29. package/cdn/qti-test/core/index.js +1 -1
  30. package/dist/chunks/chunk-4PL7XU3H.js +82 -0
  31. package/dist/chunks/chunk-4PL7XU3H.js.map +1 -0
  32. package/dist/chunks/chunk-4YWF7QTH.js +92 -0
  33. package/dist/chunks/chunk-4YWF7QTH.js.map +1 -0
  34. package/dist/chunks/chunk-7RFWGVJR.js +109 -0
  35. package/dist/chunks/chunk-7RFWGVJR.js.map +1 -0
  36. package/dist/chunks/chunk-BAG5H6N2.js +7970 -0
  37. package/dist/chunks/chunk-BAG5H6N2.js.map +1 -0
  38. package/dist/chunks/chunk-CWT66FG4.js +95 -0
  39. package/dist/chunks/chunk-CWT66FG4.js.map +1 -0
  40. package/dist/chunks/chunk-F2JDNMKV.js +100 -0
  41. package/dist/chunks/chunk-F2JDNMKV.js.map +1 -0
  42. package/dist/chunks/chunk-FZHYC3TU.js +92 -0
  43. package/dist/chunks/chunk-FZHYC3TU.js.map +1 -0
  44. package/dist/chunks/chunk-GDNPYP37.js +85 -0
  45. package/dist/chunks/chunk-GDNPYP37.js.map +1 -0
  46. package/dist/chunks/chunk-KXDEFGCK.js +887 -0
  47. package/dist/chunks/chunk-KXDEFGCK.js.map +1 -0
  48. package/dist/chunks/chunk-KZAEUKGI.js +100 -0
  49. package/dist/chunks/chunk-KZAEUKGI.js.map +1 -0
  50. package/dist/chunks/chunk-LJ4KYDFF.js +56 -0
  51. package/dist/chunks/chunk-LJ4KYDFF.js.map +1 -0
  52. package/dist/chunks/chunk-LMMYXE6U.js +85 -0
  53. package/dist/chunks/chunk-LMMYXE6U.js.map +1 -0
  54. package/dist/chunks/chunk-OD6DYLAO.js +7940 -0
  55. package/dist/chunks/chunk-OD6DYLAO.js.map +1 -0
  56. package/dist/chunks/chunk-OLZSWYQO.js +100 -0
  57. package/dist/chunks/chunk-OLZSWYQO.js.map +1 -0
  58. package/dist/chunks/chunk-PI2VZUCF.js +91 -0
  59. package/dist/chunks/chunk-PI2VZUCF.js.map +1 -0
  60. package/dist/chunks/chunk-RZK54XLD.js +100 -0
  61. package/dist/chunks/chunk-RZK54XLD.js.map +1 -0
  62. package/dist/chunks/chunk-SBY26ONA.js +99 -0
  63. package/dist/chunks/chunk-SBY26ONA.js.map +1 -0
  64. package/dist/chunks/chunk-WH6TRM5K.js +82 -0
  65. package/dist/chunks/chunk-WH6TRM5K.js.map +1 -0
  66. package/dist/chunks/chunk-WLDX63OS.js +92 -0
  67. package/dist/chunks/chunk-WLDX63OS.js.map +1 -0
  68. package/dist/chunks/chunk-X5L7SQQN.js +887 -0
  69. package/dist/chunks/chunk-X5L7SQQN.js.map +1 -0
  70. package/dist/chunks/chunk-X5RBTIXP.js +86 -0
  71. package/dist/chunks/chunk-X5RBTIXP.js.map +1 -0
  72. package/dist/exports/computed-item.context.d.ts +1 -1
  73. package/dist/exports/computed.context.d.ts +2 -2
  74. package/dist/exports/interaction.d.ts +1 -1
  75. package/dist/exports/item.context.d.ts +1 -1
  76. package/dist/exports/qti-assessment-item.context.d.ts +1 -1
  77. package/dist/exports/qti-condition-expression.d.ts +1 -1
  78. package/dist/exports/qti-expression.d.ts +1 -1
  79. package/dist/exports/session.context.d.ts +2 -2
  80. package/dist/exports/test.context.d.ts +1 -1
  81. package/dist/exports/variables.d.ts +1 -1
  82. package/dist/index.d.ts +2 -2
  83. package/dist/index.js +5 -6
  84. package/dist/qti-components/index.d.ts +2 -2
  85. package/dist/qti-components/index.js +1 -2
  86. package/dist/qti-components-jsx.d.ts +73 -12
  87. package/dist/qti-item/components/item-show-correct-response.d.ts +1 -1
  88. package/dist/qti-item/components/print-item-variables.d.ts +1 -1
  89. package/dist/qti-item/core/index.d.ts +1 -1
  90. package/dist/qti-loader/index.d.ts +1 -1
  91. package/dist/qti-response-declaration-pCFZA_aW.d.ts +1356 -0
  92. package/dist/qti-test/components/index.d.ts +2 -2
  93. package/dist/qti-test/components/index.js +3 -4
  94. package/dist/qti-test/components/test-navigation.d.ts +2 -2
  95. package/dist/qti-test/components/test-next.d.ts +14 -16
  96. package/dist/qti-test/components/test-next.js +1 -1
  97. package/dist/qti-test/components/test-prev.d.ts +16 -18
  98. package/dist/qti-test/components/test-prev.js +1 -3
  99. package/dist/qti-test/components/test-print-context.d.ts +2 -2
  100. package/dist/qti-test/components/test-print-item-variables.d.ts +2 -2
  101. package/dist/qti-test/components/test-scoring-buttons.d.ts +2 -2
  102. package/dist/qti-test/components/test-scoring-feedback.d.ts +2 -2
  103. package/dist/qti-test/components/test-scoring-feedback.js +1 -1
  104. package/dist/qti-test/components/test-show-correct-response.d.ts +2 -2
  105. package/dist/qti-test/core/index.d.ts +3 -3
  106. package/dist/qti-test/core/index.js +2 -3
  107. package/dist/qti-test-feedback-2xjKezsY.d.ts +85 -0
  108. package/dist/vscode.html-custom-data.json +39 -15
  109. package/package.json +1 -1
@@ -1 +1 @@
1
- function t(t,e){if(e==null||e>t.length)e=t.length;for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function e(t){if(Array.isArray(t))return t}function n(e){if(Array.isArray(e))return t(e)}function r(t){if(t===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return t}function i(t,e,n,r,i,o,a){try{var s=t[o](a);var l=s.value}catch(t){n(t);return}if(s.done){e(l)}else{Promise.resolve(l).then(r,i)}}function o(t){return function(){var e=this,n=arguments;return new Promise(function(r,o){var a=t.apply(e,n);function s(t){i(a,r,o,s,l,"next",t)}function l(t){i(a,r,o,s,l,"throw",t)}s(undefined)})}}function a(t,e,n){e=f(e);return x(t,$()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function s(t,e){if(!(t instanceof e)){throw new TypeError("Cannot call a class as a function")}}function l(t,e,n){if($()){l=Reflect.construct}else{l=function t(t,e,n){var r=[null];r.push.apply(r,e);var i=Function.bind.apply(t,r);var o=new i;if(n)q(o,n.prototype);return o}}return l.apply(null,arguments)}function u(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||false;r.configurable=true;if("value"in r)r.writable=true;Object.defineProperty(t,r.key,r)}}function c(t,e,n){if(e)u(t.prototype,e);if(n)u(t,n);return t}function d(t,e,n){if(e in t){Object.defineProperty(t,e,{value:n,enumerable:true,configurable:true,writable:true})}else{t[e]=n}return t}function h(t,e,n){if(typeof Reflect!=="undefined"&&Reflect.get){h=Reflect.get}else{h=function t(t,e,n){var r=R(t,e);if(!r)return;var i=Object.getOwnPropertyDescriptor(r,e);if(i.get){return i.get.call(n||t)}return i.value}}return h(t,e,n||t)}function f(t){f=Object.setPrototypeOf?Object.getPrototypeOf:function t(t){return t.__proto__||Object.getPrototypeOf(t)};return f(t)}function p(t,e){if(typeof e!=="function"&&e!==null){throw new TypeError("Super expression must either be null or a function")}t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:true,configurable:true}});if(e)q(t,e)}function v(t,e){if(e!=null&&typeof Symbol!=="undefined"&&e[Symbol.hasInstance]){return!!e[Symbol.hasInstance](t)}else{return t instanceof e}}function y(t){return Function.toString.call(t).indexOf("[native code]")!==-1}function m(t){if(typeof Symbol!=="undefined"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function g(t,e){var n=t==null?null:typeof Symbol!=="undefined"&&t[Symbol.iterator]||t["@@iterator"];if(n==null)return;var r=[];var i=true;var o=false;var a,s;try{for(n=n.call(t);!(i=(a=n.next()).done);i=true){r.push(a.value);if(e&&r.length===e)break}}catch(t){o=true;s=t}finally{try{if(!i&&n["return"]!=null)n["return"]()}finally{if(o)throw s}}return r}function b(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function k(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))}r.forEach(function(e){d(t,e,n[e])})}return t}function w(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);if(e){r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})}n.push.apply(n,r)}return n}function E(t,e){e=e!=null?e:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(t,Object.getOwnPropertyDescriptors(e))}else{w(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}function x(t,e){if(e&&(I(e)==="object"||typeof e==="function")){return e}return r(t)}function A(t,e,n,r){if(typeof Reflect!=="undefined"&&Reflect.set){A=Reflect.set}else{A=function t(t,e,n,r){var i=R(t,e);var o;if(i){o=Object.getOwnPropertyDescriptor(i,e);if(o.set){o.set.call(r,n);return true}else if(!o.writable){return false}}o=Object.getOwnPropertyDescriptor(r,e);if(o){if(!o.writable){return false}o.value=n;Object.defineProperty(r,e,o)}else{d(r,e,n)}return true}}return A(t,e,n,r)}function C(t,e,n,r,i){var o=A(t,e,n,r||t);if(!o&&i){throw new Error("failed to set property")}return n}function q(t,e){q=Object.setPrototypeOf||function t(t,e){t.__proto__=e;return t};return q(t,e)}function S(t,n){return e(t)||g(t,n)||O(t,n)||b()}function R(t,e){while(!Object.prototype.hasOwnProperty.call(t,e)){t=f(t);if(t===null)break}return t}function P(t,e){if(!e){e=t.slice(0)}return Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}function M(t){return e(t)||m(t)||O(t)||b()}function T(t){return n(t)||m(t)||O(t)||_()}function I(t){"@swc/helpers - typeof";return t&&typeof Symbol!=="undefined"&&t.constructor===Symbol?"symbol":typeof t}function O(e,n){if(!e)return;if(typeof e==="string")return t(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor)r=e.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return t(e,n)}function U(t){var e=typeof Map==="function"?new Map:undefined;U=function t(t){if(t===null||!y(t))return t;if(typeof t!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof e!=="undefined"){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return l(t,arguments,f(this).constructor)}n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:false,writable:true,configurable:true}});return q(n,t)};return U(t)}function $(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return($=function(){return!!t})()}function L(t,e){var n,r,i,o={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},a=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return a.next=s(0),a["throw"]=s(1),a["return"]=s(2),typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(t){return function(e){return l([t,e])}}function l(s){if(n)throw new TypeError("Generator is already executing.");while(a&&(a=0,s[0]&&(o=0)),o)try{if(n=1,r&&(i=s[0]&2?r["return"]:s[0]?r["throw"]||((i=r["return"])&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;if(r=0,i)s=[s[0]&2,i.value];switch(s[0]){case 0:case 1:i=s;break;case 4:o.label++;return{value:s[1],done:false};case 5:o.label++;r=s[1];s=[0];continue;case 7:s=o.ops.pop();o.trys.pop();continue;default:if(!(i=o.trys,i=i.length>0&&i[i.length-1])&&(s[0]===6||s[0]===2)){o=0;continue}if(s[0]===3&&(!i||s[1]>i[0]&&s[1]<i[3])){o.label=s[1];break}if(s[0]===6&&o.label<i[1]){o.label=i[1];i=s;break}if(i&&o.label<i[2]){o.label=i[2];o.ops.push(s);break}if(i[2])o.ops.pop();o.trys.pop();continue}s=e.call(t,o)}catch(t){s=[6,t];r=0}finally{n=i=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}}function N(){var t=P(["<slot></slot>"]);N=function e(){return t};return t}function D(){var t=P(["<slot></slot>"]);D=function e(){return t};return t}function V(){var t=P(['<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">\n<xsl:output method="html" version="5.0" encoding="UTF-8" indent="yes" />\n <xsl:template match="@*|node()">\n <xsl:copy>\n <xsl:apply-templates select="@*|node()"/>\n </xsl:copy>\n </xsl:template>\n\n \x3c!-- remove existing namespaces --\x3e\n <xsl:template match="*">\n \x3c!-- remove element prefix --\x3e\n <xsl:element name="{local-name()}">\n \x3c!-- process attributes --\x3e\n <xsl:for-each select="@*">\n \x3c!-- remove attribute prefix --\x3e\n <xsl:attribute name="{local-name()}">\n <xsl:value-of select="."/>\n </xsl:attribute>\n </xsl:for-each>\n <xsl:apply-templates/>\n </xsl:element>\n</xsl:template>\n</xsl:stylesheet>']);V=function e(){return t};return t}function j(){var t=P(["<slot @slotchange=","></slot>"]);j=function e(){return t};return t}function H(){var t=P([' <slot part="feedback" class="feedback ','"></slot> ']);H=function e(){return t};return t}function z(){var t=P(["\n :host {\n display: block;\n }\n .on {\n display: block;\n }\n .off {\n display: none;\n }\n "]);z=function e(){return t};return t}function Q(){var t=P([' <slot part="feedback" class="','"></slot> ']);Q=function e(){return t};return t}function F(){var t=P(["\n .on {\n display: inline-block;\n }\n .off {\n display: none;\n }\n "]);F=function e(){return t};return t}function B(){var t=P(['\n <dialog class="qti-dialog" part="feedback" ?open="','">\n <slot></slot>\n <div style="margin-top: var(--qti-gap-size); text-align: center;">\n <button class="button close-button" @click="','">Close</button>\n </div>\n </dialog>\n ']);B=function e(){return t};return t}function W(){var t=P(["\n .qti-dialog {\n background: var(--qti-bg);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n border-radius: var(--qti-border-radius);\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 1000;\n width: auto;\n max-width: 90%;\n }\n\n .button {\n border-radius: var(--qti-border-radius);\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n background-color: var(--qti-bg-active);\n border: var(--qti-border-active);\n cursor: pointer;\n position: relative;\n display: inline-block;\n }\n\n .button:hover {\n background-color: var(--qti-hover-bg);\n }\n\n .button:disabled {\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n cursor: not-allowed;\n }\n\n .button:focus {\n outline: var(--qti-focus-border-width) solid var(--qti-focus-color);\n }\n "]);W=function e(){return t};return t}function G(){var t=P([' <slot name="drags"></slot> ']);G=function e(){return t};return t}function X(){var t=P(["\n :host {\n display: flex;\n user-select: none;\n position: absolute;\n }\n "]);X=function e(){return t};return t}function J(){var t=P(["\n :host {\n display: block; /* necessary to calculate scaling position */\n }\n slot[name='qti-simple-associable-choice'] {\n display: flex;\n align-items: flex-start;\n flex: 1;\n border: 2px solid transparent;\n padding: 0.3rem;\n border-radius: 0.3rem;\n gap: 0.5rem;\n }\n\n :host::part(associables-container) {\n display: flex;\n padding: 0.5rem;\n justify-content: space-between;\n background: linear-gradient(\n 180deg,\n rgb(0 0 0 / 0%) calc(50% - 1px),\n var(--qti-border-color-gray) calc(50%),\n rgb(0 0 0 / 0%) calc(50% + 1px)\n );\n }\n"]);J=function e(){return t};return t}function Y(){var t=P(['<div part="associables-container">\n <div name="left','" part="drop-list" class="dl" identifier="droplist','_left"></div>\n <div name="right','" part="drop-list" class="dl" identifier="droplist','_right"></div>\n </div>']);Y=function e(){return t};return t}function K(){var t=P([' <slot name="prompt"></slot>\n <slot name="qti-simple-associable-choice"></slot>\n <div part="drop-container">\n ','\n\n <div role="alert" id="validationMessage"></div>\n </div>']);K=function e(){return t};return t}function Z(){var t=P(["\n :host {\n display: block;\n }\n\n [part='slot'] {\n display: grid;\n gap: 10px;\n }\n\n /* Define the number of columns dynamically */\n :host([class*='qti-choices-stacking-']) [part='slot'] {\n grid-template-columns: repeat(var(--stacking-count, 1), 1fr);\n }\n\n /* Apply dynamic stacking count based on class */\n :host(.qti-choices-stacking-1) {\n --stacking-count: 1;\n }\n :host(.qti-choices-stacking-2) {\n --stacking-count: 2;\n }\n :host(.qti-choices-stacking-3) {\n --stacking-count: 3;\n }\n :host(.qti-choices-stacking-4) {\n --stacking-count: 4;\n }\n :host(.qti-choices-stacking-5) {\n --stacking-count: 5;\n }\n :host(.qti-choices-stacking-6) {\n --stacking-count: 6;\n }\n\n /* Default slot item layout */\n ::slotted(qti-simple-choice) {\n display: flex;\n align-items: center;\n white-space: nowrap;\n }\n\n /* Orientation styles */\n :host(.qti-orientation-horizontal) [part='slot'] {\n grid-auto-flow: dense column;\n grid-auto-columns: 1fr;\n }\n\n :host(.qti-orientation-vertical) [part='slot'] {\n grid-auto-flow: row;\n }\n\n /* Vertical and horizontal stacking logic */\n :host(.qti-orientation-vertical[class*='qti-choices-stacking-']) [part='slot'] {\n grid-auto-flow: dense column;\n grid-auto-columns: 1fr;\n grid-template-columns: repeat(var(--stacking-count), 1fr);\n grid-template-rows: repeat(calc(var(--item-count) / var(--stacking-count)), 1fr);\n }\n\n :host(.qti-orientation-horizontal[class*='qti-choices-stacking-']) [part='slot'] {\n grid-auto-flow: row;\n grid-template-columns: repeat(var(--stacking-count), 1fr);\n grid-template-rows: unset;\n }\n\n /* Ensure even distribution in vertical mode */\n :host(.qti-orientation-vertical) ::slotted(qti-simple-choice:nth-child(even)) {\n grid-row: auto;\n }\n"]);Z=function e(){return t};return t}function tt(){var t=P(['\n <slot part="prompt" name="prompt"></slot><slot part="slot" @slotchange=','></slot>\n <div part="message" role="alert" id="validationMessage"></div>\n ']);tt=function e(){return t};return t}function te(){var t=P(['<div style="color:red">\n <h1>Error</h1>\n ',"\n </div>"]);te=function e(){return t};return t}function tn(){var t=P(["<iframe\n width=","\n height=",'\n frameborder="0"\n title="pciContainer"\n id="pciContainer"\n >\n </iframe>\n ',""]);tn=function e(){return t};return t}function tr(){var t=P(["<button ?disabled=",' part="button" @click=',">","</button>"]);tr=function e(){return t};return t}function ti(){var t=P(["\n /* PK: display host as block, else design will be collapsed */\n :host {\n display: block;\n }\n textarea {\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n border: 0;\n }\n"]);ti=function e(){return t};return t}function to(){var t=P(['<slot name="prompt"></slot\n ><textarea\n part="textarea"\n name="','"\n spellcheck="false"\n autocomplete="off"\n maxlength="','"\n @keydown="','"\n @keyup="','"\n @change="','"\n @blur="','"\n placeholder="','"\n rows="','"\n ?disabled="','"\n ?readonly="','"\n .value=',"\n ></textarea>"]);to=function e(){return t};return t}function ta(){var t=P(["\n :host {\n display: flex;\n user-select: none;\n }\n "]);ta=function e(){return t};return t}function ts(){var t=P(["\n :host {\n display: flex;\n align-items: flex-start;\n flex-direction: column;\n flex-wrap: wrap;\n gap: 0.5rem;\n }\n\n :host(.qti-choices-top) {\n flex-direction: column;\n }\n :host(.qti-choices-bottom) {\n flex-direction: column-reverse;\n }\n :host(.qti-choices-left) {\n flex-direction: row;\n }\n :host(.qti-choices-right) {\n flex-direction: row-reverse;\n }\n /* [part='drops'] , */\n [name='prompt'] {\n width: 100%;\n }\n [name='drags'] {\n display: flex;\n align-items: flex-start;\n flex: 1;\n border: 2px solid transparent;\n padding: 0.3rem;\n border-radius: 0.3rem;\n gap: 0.5rem;\n }\n"]);ts=function e(){return t};return t}function tl(){var t=P(['<slot name="prompt"> </slot>\n <slot part="drags" name="drags"></slot>\n <slot part="drops"></slot>\n <div role="alert" id="validationMessage"></div>']);tl=function e(){return t};return t}function tu(){var t=P(["<slot></slot>"]);tu=function e(){return t};return t}function tc(){var t=P(["\n :host {\n display: inline-flex;\n user-select: none;\n }\n "]);tc=function e(){return t};return t}function td(){var t=P([' <slot name="drags"></slot>']);td=function e(){return t};return t}function th(){var t=P(["\n :host {\n display: flex;\n user-select: none;\n }\n "]);th=function e(){return t};return t}function tf(){var t=P(["\n slot:not([name='prompt']) {\n // position: relative; /* qti-hotspot-choice relative to the slot */\n display: block;\n width: fit-content; /* hotspots not stretching further if image is at max size */\n }\n ::slotted(img) {\n /* image not selectable anymore */\n pointer-events: none;\n user-select: none;\n }\n ::slotted(qti-associable-hotspot) {\n transform: translate(-50%, -50%);\n }\n line-container {\n display: block;\n position: relative;\n width: fit-content;\n }\n svg {\n position: absolute;\n top: 0px;\n left: 0px;\n }\n"]);tf=function e(){return t};return t}function tp(){var t=P(['\n <line\n part="line"\n x1=',"\n y1=","\n x2=","\n y2=",'\n stroke="red"\n stroke-width="3"\n @click=',"\n />\n "]);tp=function e(){return t};return t}function tv(){var t=P(['\n <line\n part="correct-line"\n x1=',"\n y1=","\n x2=","\n y2=",'\n stroke="var(--qti-correct)"\n stroke-width="3"\n stroke-dasharray="5,5"\n />\n ']);tv=function e(){return t};return t}function ty(){var t=P(['<line\n part="point"\n x1=',"\n y1=","\n x2=","\n y2=",'\n stroke="var(--qti-border-active)"\n stroke-width="3"\n />']);ty=function e(){return t};return t}function tm(){var t=P(['<slot name="prompt"></slot>\n <line-container>\n <svg\n width=',"\n height=",'\n viewbox="0 0 '," ",'"\n >\n ',"\n ","\n ",'\n </svg>\n <slot></slot>\n </line-container>\n <div role="alert" id="validationMessage"></div>']);tm=function e(){return t};return t}function tg(){var t=P(["\n :host {\n display: flex;\n align-items: flex-start;\n flex-direction: column;\n flex-wrap: wrap;\n gap: 0.5rem;\n }\n\n :host(.qti-choices-top) {\n flex-direction: column-reverse;\n }\n :host(.qti-choices-bottom) {\n flex-direction: column;\n }\n :host(.qti-choices-left) {\n flex-direction: row-reverse;\n & [name='drags'] {\n width: 25%;\n }\n & [part='image'] {\n width: 75%;\n }\n }\n :host(.qti-choices-right) {\n flex-direction: row;\n & [name='drags'] {\n width: 25%;\n }\n & [part='image'] {\n width: 75%;\n }\n }\n [part='image'] {\n display: block;\n position: relative;\n }\n /* [part='drops'] , */\n\n [name='drags'] {\n display: flex;\n align-items: flex-start;\n flex-wrap: wrap;\n flex: 1;\n border: 2px solid transparent;\n padding: 0.3rem;\n border-radius: 0.3rem;\n gap: 0.5rem;\n }\n ::slotted(img) {\n display: inline-block;\n user-select: none;\n pointer-events: none;\n }\n"]);tg=function e(){return t};return t}function tb(){var t=P([' <slot name="prompt"></slot>\n <slot part="image"></slot>\n <slot part="drags" name="drags" class="hover-border"></slot>\n <div role="alert" id="validationMessage"></div>']);tb=function e(){return t};return t}function t_(){var t=P(["\n slot:not([name='prompt']) {\n position: relative; /* qti-hotspot-choice relative to the slot */\n display: block;\n width: fit-content; /* hotspots not stretching further if image is at max size */\n }\n ::slotted(img) {\n /* image not selectable anymore */\n pointer-events: none;\n user-select: none;\n }\n"]);t_=function e(){return t};return t}function tk(){var t=P(['\n <slot name="prompt"></slot>\n <slot></slot>\n <div role="alert" id="validationMessage"></div>\n ']);tk=function e(){return t};return t}function tw(){var t=P(["\n :host {\n display: flex;\n user-select: none;\n position: absolute;\n }\n "]);tw=function e(){return t};return t}function tE(){var t=P(["\n slot:not([name='prompt']) {\n position: relative; /* qti-hotspot-choice relative to the slot */\n display: block;\n width: fit-content; /* hotspots not stretching further if image is at max size */\n }\n ::slotted(img) {\n /* image not selectable anymore */\n pointer-events: none;\n user-select: none;\n /* width:100%; */\n }\n"]);tE=function e(){return t};return t}function tx(){var t=P(['\n <slot name="prompt"></slot>\n <slot></slot>\n ']);tx=function e(){return t};return t}function tA(){var t=P(["<slot></slot>"]);tA=function e(){return t};return t}function tC(){var t=P(['<div part="ch"><div part="cha"></div></div>\n <slot></slot> ']);tC=function e(){return t};return t}function tq(){var t=P(["\n :host {\n display: flex;\n user-select: none;\n }\n "]);tq=function e(){return t};return t}function tS(){var t=P(["\n :host {\n display: inline-block;\n }\n slot {\n display: flex;\n flex-direction: column;\n }\n [role='menu'] {\n position: absolute;\n z-index: 1000;\n }\n .anchor {\n /* anchor-name: --infobox; */\n width: fit-content;\n }\n\n .positionedElement {\n position: absolute;\n /* position-anchor: --infobox; */\n /* top: anchor(bottom); */\n }\n "]);tS=function e(){return t};return t}function tR(){var t=P(['\n <option value="','" ?selected="','">',"</option>\n "]);tR=function e(){return t};return t}function tP(){var t=P(['\n <select part="select" @change="','" ?disabled="','" ?readonly="','">\n ',"\n </select>\n\n ","\n "]);tP=function e(){return t};return t}function tM(){var t=P(["\n :host {\n display: block;\n cursor: pointer;\n }\n "]);tM=function e(){return t};return t}function tT(){var t=P([" <slot></slot> "]);tT=function e(){return t};return t}function tI(){var t=P(['\n <slot part="slot"></slot>\n <slot part="dropslot" name="qti-simple-associable-choice"></slot>\n ']);tI=function e(){return t};return t}function tO(){var t=P(["\n :host {\n display: flex;\n user-select: none;\n }\n slot {\n width: 100%;\n display: block;\n }\n slot[name='qti-simple-associable-choice'] {\n /* width: 100%; */\n }\n "]);tO=function e(){return t};return t}function tU(){var t=P(["\n slot:not([hidden]) {\n /* slot where the */\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n align-items: flex-start; /* prevents the drag and drop container slots having the same height */\n }\n :host(.qti-choices-top) slot {\n flex-direction: column;\n }\n :host(.qti-choices-bottom) slot {\n flex-direction: column-reverse;\n }\n :host(.qti-choices-left) slot {\n flex-direction: row;\n }\n :host(.qti-choices-right) slot {\n flex-direction: row-reverse;\n }\n slot[name='prompt'] {\n display: block;\n }\n ::slotted(qti-simple-match-set) {\n /* Make sure the drag and drop container slots have the same width */\n flex: 1;\n }\n"]);tU=function e(){return t};return t}function t$(){var t=P(['<th part="r-header">',"</th>"]);t$=function e(){return t};return t}function tL(){var t=P(["<td>\n <input\n type=","\n part=","\n name=","\n value=","\n .disabled=","\n @change=","\n @click=","\n />\n </td>"]);tL=function e(){return t};return t}function tN(){var t=P(['<tr>\n <td part="c-header">',"</td>\n ","\n </tr>"]);tN=function e(){return t};return t}function tD(){var t=P(["\n <table>\n <tr>\n <td></td>\n ","\n </tr>\n\n ","\n </table>\n "]);tD=function e(){return t};return t}function tV(){var t=P(['\n <slot name="prompt"></slot>\n <slot ?hidden=',"></slot>\n\n ",'\n\n <div role="alert" id="validationMessage"></div>\n ']);tV=function e(){return t};return t}function tj(){var t=P([' <slot name="prompt"></slot>\n <slot></slot>']);tj=function e(){return t};return t}function tH(){var t=P([""]);tH=function e(){return t};return t}function tz(){var t=P(["\n [part='drags'] {\n display: flex;\n align-items: flex-start;\n flex: 1;\n flex-wrap: wrap;\n }\n\n [part='drops'] {\n flex: 1;\n display: grid;\n grid-auto-flow: column;\n grid-auto-columns: 1fr;\n }\n\n :host([orientation='horizontal']) [part='drags'] {\n flex-direction: row;\n }\n :host([orientation='horizontal']) [part='drops'] {\n grid-auto-flow: column;\n }\n :host([orientation='vertical']) [part='drags'] {\n flex-direction: column;\n }\n :host([orientation='vertical']) [part='drops'] {\n grid-auto-flow: row;\n }\n\n [part='drop-list'] {\n display: block;\n flex: 1;\n }\n\n [part='container'] {\n display: flex;\n gap: 0.5rem;\n }\n :host(.qti-choices-top) [part='container'] {\n flex-direction: column;\n }\n :host(.qti-choices-bottom) [part='container'] {\n flex-direction: column-reverse;\n }\n :host(.qti-choices-left) [part='container'] {\n flex-direction: row;\n }\n :host(.qti-choices-right) [part='container'] {\n flex-direction: row-reverse;\n }\n"]);tz=function e(){return t};return t}function tQ(){var t=P(['<drop-list role="region" part="drop-list" identifier="droplist','"></drop-list>']);tQ=function e(){return t};return t}function tF(){var t=P([' <slot name="prompt"> </slot>\n <div part="container">\n <slot part="drags"> </slot>\n <div part="drops">\n ',"\n </div>\n </div>"]);tF=function e(){return t};return t}function tB(){var t=P(["\n ::slotted(qti-interaction-markup) {\n display: none;\n }\n"]);tB=function e(){return t};return t}function tW(){var t=P(['<div style="color:red">\n <h1>Error</h1>\n ',"\n </div>"]);tW=function e(){return t};return t}function tG(){var t=P(["\n <slot></slot>\n ","\n "]);tG=function e(){return t};return t}function tX(){var t=P(["<slot></slot>"]);tX=function e(){return t};return t}function tJ(){var t=P(["\n :host {\n display: block;\n }\n ::slotted(img) {\n position: absolute;\n cursor: move;\n user-select: none;\n left: 50%;\n transform: translateX(-50%);\n }\n "]);tJ=function e(){return t};return t}function tY(){var t=P(["<slot></slot>"]);tY=function e(){return t};return t}function tK(){var t=P(["\n :host {\n display: inline-block;\n position: relative;\n }\n "]);tK=function e(){return t};return t}function tZ(){var t=P(['\n <button\n part="point"\n style=','\n aria-label="Remove point at ','"\n @click=',"\n ></button>\n "]);tZ=function e(){return t};return t}function t0(){var t=P(["<div\n style=",'\n data-coord="','"\n alt=','\n data-shape="','"\n ></div>']);t0=function e(){return t};return t}function t1(){var t=P([' <slot name="prompt"></slot>\n <point-container>\n ',"\n ","\n <slot></slot>\n </point-container>"]);t1=function e(){return t};return t}function t2(){var t=P(["\n :host {\n display: block;\n }\n point-container {\n display: block;\n position: relative;\n width: fit-content;\n }\n\n ::slotted(img) {\n max-width: 100%;\n height: auto;\n display: block;\n }\n "]);t2=function e(){return t};return t}function t3(){var t=P(['<div id="label">',"</div>"]);t3=function e(){return t};return t}function t5(){var t=P(['<div part="ch">\n <div part="cha"></div>\n </div>\n ','\n <slot part="slot"></slot>']);t5=function e(){return t};return t}function t4(){var t=P(["\n :host {\n display: flex;\n align-items: center;\n user-select: none;\n }\n slot {\n width: 100%;\n display: flex;\n align-items: center;\n }\n [part='ch'] {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n }\n "]);t4=function e(){return t};return t}function t6(){var t=P(["\n :host {\n display: block;\n --show-bounds: true;\n --show-ticks: true;\n --show-value: true;\n }\n\n [part='slider'] {\n margin-left: 2rem; /* mx-8 */\n margin-right: 2rem;\n padding-bottom: 1rem; /* pb-4 */\n padding-top: 1.25rem; /* pt-5 */\n }\n\n [part='bounds'] {\n display: flex;\n width: 100%;\n justify-content: space-between;\n margin-bottom: 0.5rem; /* mb-2 */\n }\n\n [part='ticks'] {\n margin-left: 0.125rem; /* mx-0.5 */\n margin-right: 0.125rem;\n margin-bottom: 0.25rem; /* mb-1 */\n height: 0.5rem; /* h-2 */\n background: linear-gradient(to right, var(--qti-border-color) var(--qti-border-thickness), transparent 1px) repeat-x\n 0 center / calc(calc(100% - var(--qti-border-thickness)) / ((var(--max) - var(--min)) / var(--step))) 100%;\n }\n\n [part='rail'] {\n display: flex;\n align-items: center;\n box-sizing: border-box;\n height: 0.375rem; /* h-1.5 */\n width: 100%;\n cursor: pointer;\n border-radius: 9999px; /* rounded-full */\n border: 1px solid #d1d5db; /* border-gray-300 */\n background-color: #e5e7eb; /* bg-gray-200 */\n }\n\n [part='knob'] {\n background-color: var(--qti-bg-active);\n border: 2px solid var(--qti-border-active);\n position: relative;\n height: 1rem; /* h-4 */\n width: 1rem; /* w-4 */\n transform-origin: center;\n transform: translateX(-50%);\n cursor: pointer;\n border-radius: 9999px; /* rounded-full */\n left: var(--value-percentage);\n }\n [part='knob-correct'] {\n background-color: var(--qti-correct-light);\n border: 2px solid var(--qti-correct);\n position: relative;\n height: 1rem; /* h-4 */\n width: 1rem; /* w-4 */\n transform-origin: center;\n transform: translateX(-50%);\n cursor: pointer;\n border-radius: 9999px; /* rounded-full */\n left: var(--value-percentage-correct);\n }\n\n [part='value'] {\n position: absolute;\n bottom: 2rem; /* bottom-8 */\n left: 0.5rem; /* left-2 */\n transform: translateX(-50%);\n cursor: pointer;\n border-radius: 0.25rem; /* rounded */\n background-color: #f3f4f6; /* bg-gray-100 */\n padding: 0.25rem 0.5rem; /* px-2 py-1 */\n text-align: center;\n color: #6b7280; /* text-gray-500 */\n }\n"]);t6=function e(){return t};return t}function t9(){var t=P(['\n <div id="knob-correct" part="knob-correct">\n <div id="value" part="value">',"</div>\n </div>\n "]);t9=function e(){return t};return t}function t7(){var t=P(['\n <slot name="prompt"></slot>\n <div id="slider" part="slider">\n <div id="bounds" part="bounds">\n <div>',"</div>\n <div>",'</div>\n </div>\n\n <div id="ticks" part="ticks"></div>\n\n <div id="rail" part="rail" @mousedown='," @touchstart=",'>\n <div id="knob" part="knob">\n <div id="value" part="value">',"</div>\n </div>\n\n ","\n </div>\n </div>\n "]);t7=function e(){return t};return t}function t8(){var t=P(["\n :host {\n display: inline-block;\n }\n\n :host(.qti-input-width-1) [part='input'] {\n width: 1.1rem;\n min-width: 1.1rem;\n }\n\n :host(.qti-input-width-2) [part='input'] {\n width: 2.3rem;\n min-width: 2.3rem;\n }\n\n :host(.qti-input-width-3) [part='input'] {\n width: 3.3rem;\n min-width: 3.3rem;\n }\n\n :host(.qti-input-width-4) [part='input'] {\n width: 4.2rem;\n min-width: 4.2rem;\n }\n\n :host(.qti-input-width-6) [part='input'] {\n width: 6.6rem;\n min-width: 6.6rem;\n }\n\n :host(.qti-input-width-10) [part='input'] {\n width: 8rem;\n min-width: 8rem;\n }\n\n :host(.qti-input-width-15) [part='input'] {\n width: 12rem;\n min-width: 12rem;\n }\n\n :host(.qti-input-width-20) [part='input'] {\n width: 17rem;\n min-width: 17rem;\n }\n\n :host(.qti-input-width-25) [part='input'] {\n width: 20rem;\n min-width: 20rem;\n }\n\n :host(.qti-input-width-30) [part='input'] {\n width: 24rem;\n min-width: 24rem;\n }\n\n :host(.qti-input-width-35) [part='input'] {\n width: 28rem;\n min-width: 28rem;\n }\n\n :host(.qti-input-width-40) [part='input'] {\n width: 32rem;\n min-width: 32rem;\n }\n\n :host(.qti-input-width-45) [part='input'] {\n width: 36rem;\n min-width: 36rem;\n }\n\n :host(.qti-input-width-50) [part='input'] {\n width: 40rem;\n min-width: 40rem;\n }\n\n :host(.qti-input-width-72) [part='input'] {\n width: 57rem;\n min-width: 57rem;\n }\n\n :host {\n position: relative;\n }\n input {\n anchor-name: --text-entry-input;\n z-index: 100;\n position: relative;\n }\n\n [part='correct'] {\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n background-color: var(--qti-bg);\n z-index: 0;\n position: absolute;\n left: 0;\n right: 0;\n position-anchor: --text-entry-input;\n bottom: anchor(top);\n left: anchor(left);\n /* opacity: 1; */\n transition: all 1s;\n\n @starting-style {\n display: grid;\n /* opacity: 0; */\n bottom: 0;\n }\n }\n"]);t8=function e(){return t};return t}function et(){var t=P(['<div part="correct">',"</div>"]);et=function e(){return t};return t}function ee(){var t=P(['\n <input\n part="input"\n name="','"\n spellcheck="false"\n autocomplete="off"\n @blur="','"\n @keydown="','"\n @keyup="','"\n @change="','"\n type="','"\n placeholder="','"\n .value="','"\n pattern="','"\n maxlength=','\n ?disabled="','"\n ?readonly="','"\n />\n ',"\n "]);ee=function e(){return t};return t}function en(){var t=P(['\n <div>\n <slot name="prompt"></slot>\n <input type="file" @change="','" ?disabled="','" ?readonly="','" />\n </div>\n ']);en=function e(){return t};return t}function er(){var t=P(["\n :host {\n display: block;\n margin: 1em 0;\n }\n input[type='file'] {\n display: block;\n margin-top: 0.5em;\n }\n "]);er=function e(){return t};return t}function ei(){var t=P(["\n :host {\n display: block;\n }\n"]);ei=function e(){return t};return t}function eo(){var t=P(['<slot part="qti-rubric-blocks" name="qti-rubric-block"></slot><slot></slot>']);eo=function e(){return t};return t}function ea(){var t=P(["<slot></slot>"]);ea=function e(){return t};return t}function es(){var t=P(["\n :host {\n display: none;\n }\n "]);es=function e(){return t};return t}function el(){var t=P(["<slot></slot>"]);el=function e(){return t};return t}function eu(){var t=P(["<slot></slot>"]);eu=function e(){return t};return t}function ec(){var t=P(["\n :host {\n display: none;\n }\n "]);ec=function e(){return t};return t}function ed(){var t=P(["<slot></slot>"]);ed=function e(){return t};return t}function eh(){var t=P(["<slot></slot>"]);eh=function e(){return t};return t}function ef(){var t=P(["<slot></slot>"]);ef=function e(){return t};return t}function ep(){var t=P(["",""]);ep=function e(){return t};return t}function ev(){var t=P(["<pre>","</pre>\n <slot></slot>"]);ev=function e(){return t};return t}function ey(){var t=P(["\n slot {\n display: none;\n }\n "]);ey=function e(){return t};return t}function em(){var t=P(["<pre>","</pre>\n <slot></slot>"]);em=function e(){return t};return t}function eg(){var t=P(["\n slot {\n display: none;\n }\n "]);eg=function e(){return t};return t}function eb(){var t=P(["",""]);eb=function e(){return t};return t}function e_(){var t=P(["",""]);e_=function e(){return t};return t}function ek(){var t=P(["<slot></slot>"]);ek=function e(){return t};return t}function ew(){var t=P(["<slot></slot>"]);ew=function e(){return t};return t}function eE(){var t=P(["\n :host {\n display: block;\n }\n "]);eE=function e(){return t};return t}function ex(){var t=P(["<slot></slot>"]);ex=function e(){return t};return t}function eA(){var t=P(["",""]);eA=function e(){return t};return t}function eC(){var t=P(["\n :host {\n display: none;\n }\n "]);eC=function e(){return t};return t}function eq(){var t=P(["",""]);eq=function e(){return t};return t}function eS(){var t=P(["\n :host {\n display: none;\n }\n "]);eS=function e(){return t};return t}var QtiComponents=function(){var t=function t(t){var e=t.context;return function(t,n){var r=new WeakMap;if((typeof n==="undefined"?"undefined":I(n))=="object")return{get:function e(){return t.get.call(this)},set:function e(e){return r.get(this).setValue(e),t.set.call(this,e)},init:function t(t){return r.set(this,new eX(this,{context:e,initialValue:t})),t}};{t.constructor.addInitializer(function(t){r.set(t,new eX(t,{context:e}))});var i=Object.getOwnPropertyDescriptor(t,n),o;if(i===void 0){var a=new WeakMap;o={get:function t(){return a.get(this)},set:function t(t){r.get(this).setValue(t),a.set(this,t)},configurable:!0,enumerable:!0}}else{var s=i.set;o=E(k({},i),{set:function t(t){r.get(this).setValue(t),s===null||s===void 0?void 0:s.call(this,t)}})}return void Object.defineProperty(t,n,o)}}};var e=function t(t){var e=t.context,n=t.subscribe;return function(t,r){(typeof r==="undefined"?"undefined":I(r))=="object"?r.addInitializer(function(){var r=this;new eB(this,{context:e,callback:function(e){t.set.call(r,e)},subscribe:n})}):t.constructor.addInitializer(function(t){new eB(t,{context:e,callback:function(e){t[r]=e},subscribe:n})})}};var n=function t(t,e){if(!n4(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return nY!==void 0?nY.createHTML(e):e};var r=function t(t){return function(e,n){return(typeof n==="undefined"?"undefined":I(n))=="object"?rI(t,e,n):function(t,e,n){var r=e.hasOwnProperty(n);return e.constructor.createProperty(n,t),r?Object.getOwnPropertyDescriptor(e,n):void 0}(t,e,n)}};var i=function t(t){return r(E(k({},t),{state:!0,attribute:!1}))};var l=function t(t,e){return function(n,r,i){var o=function(e){var n;var r;return(r=(n=e.renderRoot)===null||n===void 0?void 0:n.querySelector(t))!==null&&r!==void 0?r:null};if(e){var a=(typeof r==="undefined"?"undefined":I(r))=="object"?n:i!==null&&i!==void 0?i:function(){var t=Symbol();return{get:function e(){return this[t]},set:function e(e){this[t]=e}}}(),s=a.get,l=a.set;return rO(n,r,{get:function t(){var t=s.call(this);return t===void 0&&(t=o(this),(t!==null||this.hasUpdated)&&l.call(this,t)),t}})}return rO(n,r,{get:function t(){return o(this)}})}};var u=function t(t){return function(e,n){var r=t!==null&&t!==void 0?t:{},i=r.slot,o=r.selector,a="slot"+(i?"[name=".concat(i,"]"):":not([name])");return rO(e,n,{get:function e(){var e;var n;var r=(e=this.renderRoot)===null||e===void 0?void 0:e.querySelector(a),i=(n=r===null||r===void 0?void 0:r.assignedElements(t))!==null&&n!==void 0?n:[];return o===void 0?i:i.filter(function(t){return t.matches(o)})}})}};var d=function t(t,e){var n=k({waitUntilFirstUpdate:!1},e);return function(e,r){var i=e.update,o=Array.isArray(t)?t:[t];e.update=function(t){var e=this;o.forEach(function(i){var o=i;if(t.has(o)){var a=t.get(o),s=e[o];a!==s&&(!n.waitUntilFirstUpdate||e.hasUpdated)&&e[r](a,s)}}),i.call(this,t)}}};var y=function t(t,e,n){t.querySelectorAll(e).forEach(function(t){var r="".concat(e,"-").concat(n),i=g(t,r);t.replaceWith(i)})};var m=function t(t,e){t.querySelectorAll("*").forEach(function(t){var n=t.classList;n&&n.forEach(function(n){if(n.startsWith("".concat(e,":"))){var r=n.slice("".concat(e,":").length),i="".concat(t.nodeName,"-").concat(r),o=g(t,i);t.replaceWith(o)}})})};var g=function t(t,e){var n=document.createElement(e);var r=true,i=false,o=undefined;try{for(var a=t.attributes[Symbol.iterator](),s;!(r=(s=a.next()).done);r=true){var l=s.value;n.setAttribute(l.name,l.value)}}catch(t){i=true;o=t}finally{try{if(!r&&a.return!=null){a.return()}}finally{if(i){throw o}}}for(;t.firstChild;)n.appendChild(t.firstChild);return n};var b=function t(t){var e=new XMLHttpRequest;return{promise:new Promise(function(n,r){e.open("GET",t,!0),e.responseType="document",e.onload=function(){e.status>=200&&e.status<300?n(e.responseXML):r(e.statusText)},e.onerror=function(){r(e.statusText)},e.send()}),xhr:e}};var _=function t(t){return new DOMParser().parseFromString(t,"text/xml")};var w=function t(t){var e=new XSLTProcessor,n=new DOMParser().parseFromString(rD,"text/xml");return e.importStylesheet(n),e.transformToFragment(t,document)};var x=function t(t,e){e.endsWith("/")||(e+="/"),t.querySelectorAll("[src],[href],[primary-path]").forEach(function(t){var n;var r="";t.getAttribute("src")&&(r="src"),t.getAttribute("href")&&(r="href"),t.getAttribute("primary-path")&&(r="primary-path");var i=(n=t.getAttribute(r))===null||n===void 0?void 0:n.trim();if(!i.startsWith("data:")&&!i.startsWith("http:")&&!i.startsWith("blob:")){var o=e+encodeURI(i);t.setAttribute(r,o)}})};var A=function t(t){t.querySelectorAll('qti-custom-operator[class="js.org"] > qti-base-value').forEach(function(t){var e=document.createComment(t.textContent);t.replaceChild(e,t.firstChild)})};var q=function t(t){t.querySelectorAll("qti-stylesheet").forEach(function(t){return t.remove()})};var R=function t(t){switch(t){case"qti-choice-interaction":case"qti-order-interaction":return"qti-simple-choice";case"qti-inline-choice-interaction":return"qti-inline-choice";case"qti-match-interaction":return["qti-simple-match-set:first-of-type qti-simple-associable-choice","qti-simple-match-set:last-of-type > qti-simple-associable-choice"];case"qti-gap-match-interaction":return"qti-gap-text";case"qti-associate-interaction":return"qti-simple-associable-choice";default:}};var P=function t(t){return t==null};var O=function t(t){return t.replace(/([^:]\/)\/+/g,"$1").replace(/\/\//g,"/").replace("http:/","http://").replace("https:/","https://")};var $=function t(t,e){var n;return function(e,r){var i=e.connectedCallback,o=e.disconnectedCallback;e.connectedCallback=function(){var e=this;var o;i.call(this);var a=function(n){var i;var o=Array.from(e.querySelectorAll(t)).concat(Array.from(((i=e.shadowRoot)===null||i===void 0?void 0:i.querySelectorAll(t))||[]));var a=true,s=false,l=undefined;try{for(var u=n[Symbol.iterator](),c;!(a=(c=u.next()).done);a=true){var d=c.value;var h=Array.from(d.addedNodes).map(function(t){return t}),f=Array.from(d.addedNodes).map(function(t){return t});d.type==="childList"&&h.find(function(t){return o.includes(t)})&&e[r](h,f)}}catch(t){s=true;l=t}finally{try{if(!a&&u.return!=null){u.return()}}finally{if(s){throw l}}}};n=new MutationObserver(a),n.observe(this,{childList:!0,subtree:!0});var s=Array.from(this.querySelectorAll(t)).concat(Array.from(((o=this.shadowRoot)===null||o===void 0?void 0:o.querySelectorAll(t))||[]));this[r](Array.from(s),[])},e.disconnectedCallback=function(){o.call(this),n.disconnect()}}};var eR=function t(t,e){var n=/*#__PURE__*/function(t){"use strict";p(n,t);function n(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++){e[r]=arguments[r]}s(this,n);var i;i=a(this,n,T(e));i.identifier="";i.tabIndex=0;i.disabled=!1;i.readonly=!1;i.internals=i.attachInternals();return i}c(n,[{key:"handleDisabledChange",value:function t(t,e){this.tabIndex=e?-1:0,e&&this.blur()}},{key:"connectedCallback",value:function t(){h(f(n.prototype),"connectedCallback",this).call(this),this.addEventListener("keyup",this._onKeyUp),this.addEventListener("click",this._onClick),this.dispatchEvent(new CustomEvent("register-".concat(e),{bubbles:!0,composed:!0}))}},{key:"disconnectedCallback",value:function t(){h(f(n.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("keyup",this._onKeyUp),this.removeEventListener("click",this._onClick),this.dispatchEvent(new CustomEvent("unregister-".concat(e),{bubbles:!0,composed:!0}))}},{key:"_onKeyUp",value:function t(t){t.altKey||t.code==="Space"&&(t.preventDefault(),this._activate())}},{key:"_onClick",value:function t(){this.disabled||this.readonly||(this.focus(),this._activate())}},{key:"_activate",value:function t(){this.disabled||this.readonly||this.dispatchEvent(new CustomEvent("activate-".concat(e),{bubbles:!0,composed:!0,detail:{identifier:this.identifier}}))}},{key:"render",value:function t(){return ra(N())}}]);return n}(t);return ez([r({type:String})],n.prototype,"identifier",2),ez([r({type:Number,reflect:!0,attribute:"tabindex"})],n.prototype,"tabIndex",2),ez([r({type:Boolean,reflect:!0,attribute:"aria-disabled",converter:io})],n.prototype,"disabled",2),ez([r({type:Boolean,reflect:!0,attribute:"aria-readonly",converter:io})],n.prototype,"readonly",2),ez([d("disabled",{waitUntilFirstUpdate:!0})],n.prototype,"handleDisabledChange",1),n};var eP=function t(t,e,n,r){var i=n.getAttribute("width")?parseFloat(n.getAttribute("width")):n.naturalWidth,o=n.getAttribute("height")?parseFloat(n.getAttribute("height")):n.naturalHeight;switch(t){case"circle":{if(e.length!==3){console.error("Invalid cirlce coordinates:",e);return}var a=S(e,3),s=a[0],l=a[1],u=a[2],c=s/i*100,d=l/o*100,h=u/i*100;r.style.left=c-h+"%",r.style.top=d-h+"%";var f=u/i*100,p=u/o*100;r.style.width=2*f+"%",r.style.height=2*p+"%",r.style.borderRadius="50%"}break;case"rect":{if(e.length!==4){console.error("Invalid rectangle coordinates:",e);return}var v=S(e,4),y=v[0],m=v[1],g=v[2],b=v[3],_=y/i*100,k=m/o*100,w=g/i*100,E=b/o*100;r.style.left=_+"%",r.style.top=k+"%",r.style.width=w-_+"%",r.style.height=E-k+"%"}break;case"ellipse":{if(e.length!==4){console.error("Invalid ellipse coordinates:",e);return}var x=S(e,4),A=x[0],C=x[1],q=x[2],R=x[3],P=A/i*100,M=C/o*100,I=q/i*100,O=R/o*100;r.style.left=P-I+"%",r.style.top=M-O+"%",r.style.width=2*I+"%",r.style.height=2*O+"%",r.style.borderRadius="50%"}break;case"poly":{var U,$,L,N;if(e.length<6||e.length%2!==0){console.error("Invalid polygon coordinates:",e);return}var D=[];for(var V=0;V<e.length;V+=2)D.push({x:e[V],y:e[V+1]});var j=(U=Math).min.apply(U,T(D.map(function(t){return t.x}))),H=($=Math).max.apply($,T(D.map(function(t){return t.x}))),z=(L=Math).min.apply(L,T(D.map(function(t){return t.y}))),Q=(N=Math).max.apply(N,T(D.map(function(t){return t.y}))),F=j/i*100,B=z/o*100,W=H/i*100,G=Q/o*100;r.style.left=F+"%",r.style.top=B+"%",r.style.width=W-F+"%",r.style.height=G-B+"%";var X=D.map(function(t){return{x:(t.x-j)/(H-j)*100,y:(t.y-z)/(Q-z)*100}}).map(function(t){return"".concat(t.x,"% ").concat(t.y,"%")}).join(",");r.style.clipPath="polygon(".concat(X,")")}break;default:console.error("Unsupported shape: ".concat(t));break}};var eM=function t(t){this._$AN!==void 0?(i2(this),this._$AM=t,i3(this)):this._$AM=t};var eT=function t(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;var r=this._$AH,i=this._$AN;if(i!==void 0&&i.size!==0)if(e)if(Array.isArray(r))for(var o=n;o<r.length;o++)i1(r[o],!1),i2(r[o]);else r!=null&&(i1(r,!1),i2(r));else i1(this,t)};var eI=function t(t){return /*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"calculateChildren",value:function t(t){return t.map(function(t){var e=t;if(!e.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;var n=e.calculate(),r=!1;if(typeof n=="string")if(n==="true")r=!0;else if(n==="false")r=!1;else return console.error("unexpected val in qti-or, expected boolean"),null;else typeof n=="boolean"&&(r=n);return r}).every(function(t){return typeof t=="boolean"&&t})}}]);return e}(t)};var eO=function t(t){return /*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"calculateChildren",value:function t(t){var e=t.map(function(t){if(!t.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;var e=t.calculate();return Number.isNaN(e)?(console.error("Unexpected value in qti-subtract, expected number"),null):Number(e)});return e.some(function(t){return t===null})?(console.error("One or more child expressions returned invalid values"),0):e[0]-e[1]}}]);return e}(t)};var eU;var e$=Object.defineProperty;var eL=Object.getOwnPropertyDescriptor;var eN=Object.getOwnPropertyNames;var eD=Object.prototype.hasOwnProperty;var eV=function(t,e){for(var n in e)e$(t,n,{get:e[n],enumerable:!0})},ej=function(t,e,n,r){var i=true,o=false,a=undefined;if(e&&(typeof e==="undefined"?"undefined":I(e))=="object"||typeof e=="function")try{var s=function(){var i=u.value;!eD.call(t,i)&&i!==n&&e$(t,i,{get:function(){return e[i]},enumerable:!(r=eL(e,i))||r.enumerable})};for(var l=eN(e)[Symbol.iterator](),u;!(i=(u=l.next()).done);i=true)s()}catch(t){o=true;a=t}finally{try{if(!i&&l.return!=null){l.return()}}finally{if(o){throw a}}}return t};var eH=function(t){return ej(e$({},"__esModule",{value:!0}),t)},ez=function(t,e,n,r){for(var i=r>1?void 0:r?eL(e,n):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=(r?a(e,n,i):a(i))||i);return r&&i&&e$(e,n,i),i};var eQ={};eV(eQ,{QtiAnd:function(){return ow},QtiAssessmentItem:function(){return rL},QtiAssessmentStimulusRef:function(){return rj},QtiAssociableHotspot:function(){return rY},QtiAssociateInteraction:function(){return r2},QtiBaseValue:function(){return oE},QtiChoiceInteraction:function(){return r6},QtiCompanionMaterialsInfo:function(){return rH},QtiContains:function(){return ox},QtiContentBody:function(){return oK},QtiCorrect:function(){return oA},QtiCustomInteraction:function(){return r9},QtiCustomOperator:function(){return rz},QtiDelete:function(){return oY},QtiEndAttemptInteraction:function(){return r7},QtiEqual:function(){return oS},QtiEqualRounded:function(){return oC},QtiExtendedTextInteraction:function(){return it},QtiFeedbackBlock:function(){return rW},QtiFeedbackInline:function(){return rX},QtiGap:function(){return is},QtiGapImg:function(){return ie},QtiGapMatchInteraction:function(){return ii},QtiGapText:function(){return ia},QtiGraphicAssociateInteraction:function(){return ix},QtiGraphicGapMatchInteraction:function(){return iC},QtiGraphicOrderInteraction:function(){return iS},QtiGt:function(){return oR},QtiGte:function(){return oP},QtiHotspotChoice:function(){return iR},QtiHotspotInteraction:function(){return iM},QtiHottext:function(){return iI},QtiHottextInteraction:function(){return iT},QtiInlineChoice:function(){return iL},QtiInlineChoiceInteraction:function(){return i$},QtiIsNull:function(){return oM},QtiItemBody:function(){return oi},QtiLookupOutcomeValue:function(){return of},QtiLt:function(){return oT},QtiLte:function(){return oI},QtiMapResponse:function(){return oO},QtiMapResponsePoint:function(){return o$},QtiMatch:function(){return oL},QtiMatchInteraction:function(){return iV},QtiMediaInteraction:function(){return ij},QtiMember:function(){return oN},QtiModalFeedback:function(){return rJ},QtiMultiple:function(){return oD},QtiNot:function(){return oV},QtiOr:function(){return oj},QtiOrderInteraction:function(){return iz},QtiOrdered:function(){return oH},QtiOutcomeDeclaration:function(){return o2},QtiOutcomeProcessing:function(){return oo},QtiOutcomeProcessingProcessor:function(){return oa},QtiPortableCustomInteraction:function(){return iF},QtiPositionObjectInteraction:function(){return iB},QtiPositionObjectStage:function(){return iW},QtiPrintedVariable:function(){return oz},QtiProduct:function(){return oQ},QtiPrompt:function(){return os},QtiRandom:function(){return oJ},QtiResponseCondition:function(){return op},QtiResponseDeclaration:function(){return o3},QtiResponseElse:function(){return om},QtiResponseElseIf:function(){return ob},QtiResponseIf:function(){return og},QtiResponseProcessing:function(){return od},QtiRubricBlock:function(){return oZ},QtiRule:function(){return oh},QtiSelectPointInteraction:function(){return iY},QtiSetOutcomeValue:function(){return ov},QtiSetOutcomeValueRule:function(){return oy},QtiSimpleAssociableChoice:function(){return iN},QtiSimpleChoice:function(){return iK},QtiSliderInteraction:function(){return i0},QtiStringMatch:function(){return oB},QtiStylesheet:function(){return o0},QtiSubtract:function(){return oF},QtiSum:function(){return oW},QtiSumExpression:function(){return oG},QtiTextEntryInteraction:function(){return oe},QtiUploadInteraction:function(){return on},QtiVariable:function(){return oX},qtiAndMixin:function(){return eI},qtiSubtractMixin:function(){return eO}});var eF=/*#__PURE__*/function(t){"use strict";p(e,t);function e(t,n,r,i){s(this,e);var o;o=a(this,e,["context-request",{bubbles:!0,composed:!0}]),o.context=t,o.contextTarget=n,o.callback=r,o.subscribe=i!==null&&i!==void 0?i:!1;return o}return e}(U(Event));var eB=/*#__PURE__*/function(){"use strict";function t(e,n,r,i){var o=this;s(this,t);if(this.subscribe=!1,this.provided=!1,this.value=void 0,this.t=function(t,e){o.unsubscribe&&(o.unsubscribe!==e&&(o.provided=!1,o.unsubscribe()),o.subscribe||o.unsubscribe()),o.value=t,o.host.requestUpdate(),o.provided&&!o.subscribe||(o.provided=!0,o.callback&&o.callback(t,e)),o.unsubscribe=e},this.host=e,n.context!==void 0){var a=n;var l;this.context=a.context,this.callback=a.callback,this.subscribe=(l=a.subscribe)!==null&&l!==void 0?l:!1}else this.context=n,this.callback=r,this.subscribe=i!==null&&i!==void 0?i:!1;this.host.addController(this)}c(t,[{key:"hostConnected",value:function t(){this.dispatchRequest()}},{key:"hostDisconnected",value:function t(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0)}},{key:"dispatchRequest",value:function t(){this.host.dispatchEvent(new eF(this.context,this.host,this.t,this.subscribe))}}]);return t}();var eW=/*#__PURE__*/function(){"use strict";function t(e){var n=this;s(this,t);this.subscriptions=new Map,this.updateObservers=function(){var t=true,e=false,r=undefined;try{for(var i=n.subscriptions[Symbol.iterator](),o;!(t=(o=i.next()).done);t=true){var a=S(o.value,2),s=a[0],l=a[1],u=l.disposer;s(n.o,u)}}catch(t){e=true;r=t}finally{try{if(!t&&i.return!=null){i.return()}}finally{if(e){throw r}}}},e!==void 0&&(this.value=e)}c(t,[{key:"value",get:function t(){return this.o},set:function t(t){this.setValue(t)}},{key:"setValue",value:function t(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;var n=e||!Object.is(t,this.o);this.o=t,n&&this.updateObservers()}},{key:"addCallback",value:function t(t,e,n){var r=this;if(!n)return void t(this.value);this.subscriptions.has(t)||this.subscriptions.set(t,{disposer:function(){r.subscriptions.delete(t)},consumerHost:e});var i=this.subscriptions.get(t),o=i.disposer;t(this.value,o)}},{key:"clearCallbacks",value:function t(){this.subscriptions.clear()}}]);return t}();var eG=/*#__PURE__*/function(t){"use strict";p(e,t);function e(t,n){s(this,e);var r;r=a(this,e,["context-provider",{bubbles:!0,composed:!0}]),r.context=t,r.contextTarget=n;return r}return e}(U(Event)),eX=/*#__PURE__*/function(t){"use strict";p(e,t);function e(t,n,r){s(this,e);var i;var o,l;i=a(this,e,[n.context!==void 0?n.initialValue:r]),i.onContextRequest=function(t){if(t.context!==i.context)return;var e;var n=(e=t.contextTarget)!==null&&e!==void 0?e:t.composedPath()[0];n!==i.host&&(t.stopPropagation(),i.addCallback(t.callback,n,t.subscribe))},i.onProviderRequest=function(t){var e;if(t.context!==i.context||((e=t.contextTarget)!==null&&e!==void 0?e:t.composedPath()[0])===i.host)return;var n=new Set;var r=true,o=false,a=undefined;try{for(var s=i.subscriptions[Symbol.iterator](),l;!(r=(l=s.next()).done);r=true){var u=S(l.value,2),c=u[0],d=u[1],h=d.consumerHost;n.has(c)||(n.add(c),h.dispatchEvent(new eF(i.context,h,c,!0)))}}catch(t){o=true;a=t}finally{try{if(!r&&s.return!=null){s.return()}}finally{if(o){throw a}}}t.stopPropagation()},i.host=t,n.context!==void 0?i.context=n.context:i.context=n,i.attachListeners(),(o=(l=i.host).addController)===null||o===void 0?void 0:o.call(l,i);return i}c(e,[{key:"attachListeners",value:function t(){this.host.addEventListener("context-request",this.onContextRequest),this.host.addEventListener("context-provider",this.onProviderRequest)}},{key:"hostConnected",value:function t(){this.host.dispatchEvent(new eG(this.context,this.host))}}]);return e}(eW);var eJ=/*#__PURE__*/function(){"use strict";function t(e){s(this,t);this.ariaAtomic="",this.ariaAutoComplete="",this.ariaBrailleLabel="",this.ariaBrailleRoleDescription="",this.ariaBusy="",this.ariaChecked="",this.ariaColCount="",this.ariaColIndex="",this.ariaColSpan="",this.ariaCurrent="",this.ariaDescription="",this.ariaDisabled="",this.ariaExpanded="",this.ariaHasPopup="",this.ariaHidden="",this.ariaInvalid="",this.ariaKeyShortcuts="",this.ariaLabel="",this.ariaLevel="",this.ariaLive="",this.ariaModal="",this.ariaMultiLine="",this.ariaMultiSelectable="",this.ariaOrientation="",this.ariaPlaceholder="",this.ariaPosInSet="",this.ariaPressed="",this.ariaReadOnly="",this.ariaRequired="",this.ariaRoleDescription="",this.ariaRowCount="",this.ariaRowIndex="",this.ariaRowSpan="",this.ariaSelected="",this.ariaSetSize="",this.ariaSort="",this.ariaValueMax="",this.ariaValueMin="",this.ariaValueNow="",this.ariaValueText="",this.role="",this.form=null,this.labels=[],this.states=new Set,this.validationMessage="",this.validity={},this.willValidate=!0,this.__host=e}c(t,[{key:"shadowRoot",get:function t(){return this.__host.__shadowRoot}},{key:"checkValidity",value:function t(){return console.warn("`ElementInternals.checkValidity()` was called on the server.This method always returns true."),!0}},{key:"reportValidity",value:function t(){return!0}},{key:"setFormValue",value:function t(){}},{key:"setValidity",value:function t(){}}]);return t}();var eY=function t(t,e,n,r,i){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?i.call(t,n):i?i.value=n:e.set(t,n),n},eK=function t(t,e,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(t):r?r.value:e.get(t)},eZ,e0,e1,e2,e3,e5,e4,e6,e9,e7,e8,nt,ne=function(t){var e;return typeof t=="boolean"?t:(e=t===null||t===void 0?void 0:t.capture)!==null&&e!==void 0?e:!1};var nn=/*#__PURE__*/function(){"use strict";function t(){s(this,t);this.__eventListeners=new Map,this.__captureEventListeners=new Map}c(t,[{key:"addEventListener",value:function t(t,e,n){var r=this;var i;if(e==null)return;var o=ne(n)?this.__captureEventListeners:this.__eventListeners,a=o.get(t);if(a===void 0)a=new Map,o.set(t,a);else if(a.has(e))return;var s=(typeof n==="undefined"?"undefined":I(n))=="object"&&n?n:{};(i=s.signal)===null||i===void 0?void 0:i.addEventListener("abort",function(){return r.removeEventListener(t,e,n)}),a.set(e,s!==null&&s!==void 0?s:{})}},{key:"removeEventListener",value:function t(t,e,n){if(e==null)return;var r=ne(n)?this.__captureEventListeners:this.__eventListeners,i=r.get(t);i!==void 0&&(i.delete(e),i.size||r.delete(t))}},{key:"dispatchEvent",value:function t(t){var e=this;var n=[this],r=this.__eventTargetParent;if(t.composed)for(;r;)n.push(r),r=r.__eventTargetParent;else for(;r&&r!==this.__host;)n.push(r),r=r.__eventTargetParent;var i=!1,o=!1,a=0,s=null,l=null,u=null,c=t.stopPropagation,d=t.stopImmediatePropagation;Object.defineProperties(t,{target:k({get:function t(){return s!==null&&s!==void 0?s:l}},ni),srcElement:k({get:function e(){return t.target}},ni),currentTarget:k({get:function t(){return u}},ni),eventPhase:k({get:function t(){return a}},ni),composedPath:k({value:function(){return n}},ni),stopPropagation:k({value:function(){i=!0,c.call(t)}},ni),stopImmediatePropagation:k({value:function(){o=!0,d.call(t)}},ni)});var h=function(e,n,r){typeof e=="function"?e(t):typeof(e===null||e===void 0?void 0:e.handleEvent)=="function"&&e.handleEvent(t),n.once&&r.delete(e)},f=function(){return u=null,a=0,!t.defaultPrevented},p=n.slice().reverse();s=!this.__host||!t.composed?this:null;var v=function(t){for(l=e;l.__host&&t.includes(l.__host);)l=l.__host};var y=true,m=false,g=undefined;try{for(var b=p[Symbol.iterator](),_;!(y=(_=b.next()).done);y=true){var w=_.value;!s&&(!l||l===w.__host)&&v(p.slice(p.indexOf(w))),u=w,a=w===t.target?2:1;var E=w.__captureEventListeners.get(t.type);if(E){var x=true,A=false,C=undefined;try{for(var q=E[Symbol.iterator](),R;!(x=(R=q.next()).done);x=true){var P=S(R.value,2),M=P[0],T=P[1];if(h(M,T,E),o)return f()}}catch(t){A=true;C=t}finally{try{if(!x&&q.return!=null){q.return()}}finally{if(A){throw C}}}}if(i)return f()}}catch(t){m=true;g=t}finally{try{if(!y&&b.return!=null){b.return()}}finally{if(m){throw g}}}var I=t.bubbles?n:[this];l=null;var O=true,U=false,$=undefined;try{for(var L=I[Symbol.iterator](),N;!(O=(N=L.next()).done);O=true){var D=N.value;!s&&(!l||D===l.__host)&&v(I.slice(0,I.indexOf(D)+1)),u=D,a=D===t.target?2:3;var V=D.__eventListeners.get(t.type);if(V){var j=true,H=false,z=undefined;try{for(var Q=V[Symbol.iterator](),F;!(j=(F=Q.next()).done);j=true){var B=S(F.value,2),W=B[0],G=B[1];if(h(W,G,V),o)return f()}}catch(t){H=true;z=t}finally{try{if(!j&&Q.return!=null){Q.return()}}finally{if(H){throw z}}}}if(i)return f()}}catch(t){U=true;$=t}finally{try{if(!O&&L.return!=null){L.return()}}finally{if(U){throw $}}}return f()}}]);return t}(),nr=nn;var ni={__proto__:null};ni.enumerable=!0;Object.freeze(ni);var no=(e7=/*#__PURE__*/function(){"use strict";function t(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};s(this,t);if(eZ.set(this,!1),e0.set(this,!1),e1.set(this,!1),e2.set(this,!1),e3.set(this,Date.now()),e5.set(this,!1),e4.set(this,void 0),e6.set(this,void 0),e9.set(this,void 0),this.NONE=0,this.CAPTURING_PHASE=1,this.AT_TARGET=2,this.BUBBLING_PHASE=3,arguments.length===0)throw new Error("The type argument must be specified");if((typeof n==="undefined"?"undefined":I(n))!="object"||!n)throw new Error('The "options" argument must be an object');var r=n.bubbles,i=n.cancelable,o=n.composed;eY(this,eZ,!!i,"f"),eY(this,e0,!!r,"f"),eY(this,e1,!!o,"f"),eY(this,e4,"".concat(e),"f"),eY(this,e6,null,"f"),eY(this,e9,!1,"f")}c(t,[{key:"initEvent",value:function t(t,e,n){throw new Error("Method not implemented.")}},{key:"stopImmediatePropagation",value:function t(){this.stopPropagation()}},{key:"preventDefault",value:function t(){eY(this,e2,!0,"f")}},{key:"target",get:function t(){return eK(this,e6,"f")}},{key:"currentTarget",get:function t(){return eK(this,e6,"f")}},{key:"srcElement",get:function t(){return eK(this,e6,"f")}},{key:"type",get:function t(){return eK(this,e4,"f")}},{key:"cancelable",get:function t(){return eK(this,eZ,"f")}},{key:"defaultPrevented",get:function t(){return eK(this,eZ,"f")&&eK(this,e2,"f")}},{key:"timeStamp",get:function t(){return eK(this,e3,"f")}},{key:"composedPath",value:function t(){return eK(this,e9,"f")?[eK(this,e6,"f")]:[]}},{key:"returnValue",get:function t(){return!eK(this,eZ,"f")||!eK(this,e2,"f")}},{key:"bubbles",get:function t(){return eK(this,e0,"f")}},{key:"composed",get:function t(){return eK(this,e1,"f")}},{key:"eventPhase",get:function t(){return eK(this,e9,"f")?e7.AT_TARGET:e7.NONE}},{key:"cancelBubble",get:function t(){return eK(this,e5,"f")},set:function t(t){t&&eY(this,e5,!0,"f")}},{key:"stopPropagation",value:function t(){eY(this,e5,!0,"f")}},{key:"isTrusted",get:function t(){return!1}}]);return t}(),eZ=new WeakMap,e0=new WeakMap,e1=new WeakMap,e2=new WeakMap,e3=new WeakMap,e5=new WeakMap,e4=new WeakMap,e6=new WeakMap,e9=new WeakMap,e7.NONE=0,e7.CAPTURING_PHASE=1,e7.AT_TARGET=2,e7.BUBBLING_PHASE=3,e7);Object.defineProperties(no.prototype,{initEvent:ni,stopImmediatePropagation:ni,preventDefault:ni,target:ni,currentTarget:ni,srcElement:ni,type:ni,cancelable:ni,defaultPrevented:ni,timeStamp:ni,composedPath:ni,returnValue:ni,bubbles:ni,composed:ni,eventPhase:ni,cancelBubble:ni,stopPropagation:ni,isTrusted:ni});var na=(nt=/*#__PURE__*/function(t){"use strict";p(e,t);function e(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};s(this,e);var r;var i;r=a(this,e,[t,n]),e8.set(r,void 0),eY(r,e8,(i=n===null||n===void 0?void 0:n.detail)!==null&&i!==void 0?i:null,"f");return r}c(e,[{key:"initCustomEvent",value:function t(t,e,n,r){throw new Error("Method not implemented.")}},{key:"detail",get:function t(){return eK(this,e8,"f")}}]);return e}(no),e8=new WeakMap,nt);Object.defineProperties(na.prototype,{detail:ni});var ns=no,nl=na;var nu;(nu=globalThis.Event)!==null&&nu!==void 0?nu:globalThis.Event=ns;var nc;(nc=globalThis.CustomEvent)!==null&&nc!==void 0?nc:globalThis.CustomEvent=nl;var nd=new WeakMap,nh=function(t){var e=nd.get(t);return e===void 0&&nd.set(t,e=new Map),e},nf=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments),t.__shadowRootMode=null,t.__shadowRoot=null,t.__internals=null;return t}c(e,[{key:"attributes",get:function t(){return Array.from(nh(this)).map(function(t){var e=S(t,2),n=e[0],r=e[1];return{name:n,value:r}})}},{key:"shadowRoot",get:function t(){return this.__shadowRootMode==="closed"?null:this.__shadowRoot}},{key:"localName",get:function t(){return this.constructor.__localName}},{key:"tagName",get:function t(){var t;return(t=this.localName)===null||t===void 0?void 0:t.toUpperCase()}},{key:"setAttribute",value:function t(t,e){nh(this).set(t,String(e))}},{key:"removeAttribute",value:function t(t){nh(this).delete(t)}},{key:"toggleAttribute",value:function t(t,e){if(this.hasAttribute(t)){if(e===void 0||!e)return this.removeAttribute(t),!1}else return e===void 0||e?(this.setAttribute(t,""),!0):!1;return!0}},{key:"hasAttribute",value:function t(t){return nh(this).has(t)}},{key:"attachShadow",value:function t(t){var e={host:this};return this.__shadowRootMode=t.mode,t&&t.mode==="open"&&(this.__shadowRoot=e),e}},{key:"attachInternals",value:function t(){if(this.__internals!==null)throw new Error("Failed to execute 'attachInternals' on 'HTMLElement': ElementInternals for the specified element was already attached.");var t=new eJ(this);return this.__internals=t,t}},{key:"getAttribute",value:function t(t){var e;return(e=nh(this).get(t))!==null&&e!==void 0?e:null}}]);return e}(nr);var np=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}return e}(nf),nv=np;var ny;(ny=globalThis.litServerRoot)!==null&&ny!==void 0?ny:globalThis.litServerRoot=Object.defineProperty(new nv,"localName",{get:function t(){return"lit-server-root"}});var nm=/*#__PURE__*/function(){"use strict";function t(){s(this,t);this.__definitions=new Map}c(t,[{key:"define",value:function t(t,e){if(this.__definitions.has(t))if(process.env.NODE_ENV==="development")console.warn("'CustomElementRegistry' already has \"".concat(t,'" defined. This may have been caused by live reload or hot module replacement in which case it can be safely ignored.\nMake sure to test your application with a production build as repeat registrations will throw in production.'));else throw new Error("Failed to execute 'define' on 'CustomElementRegistry': the name \"".concat(t,'" has already been used with this registry'));var n;e.__localName=t,this.__definitions.set(t,{ctor:e,observedAttributes:(n=e.observedAttributes)!==null&&n!==void 0?n:[]})}},{key:"get",value:function t(t){var e;return(e=this.__definitions.get(t))===null||e===void 0?void 0:e.ctor}}]);return t}(),ng=nm;var nb=new ng;var n_=globalThis,nk=n_.ShadowRoot&&(n_.ShadyCSS===void 0||n_.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,nw=Symbol(),nE=new WeakMap,nx=/*#__PURE__*/function(){"use strict";function t(e,n,r){s(this,t);if(this._$cssResult$=!0,r!==nw)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=n}c(t,[{key:"styleSheet",get:function t(){var t=this.o,e=this.t;if(nk&&t===void 0){var n=e!==void 0&&e.length===1;n&&(t=nE.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),n&&nE.set(e,t))}return t}},{key:"toString",value:function t(){return this.cssText}}]);return t}(),nA=function(t){return new nx(typeof t=="string"?t:t+"",void 0,nw)},nC=function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++){n[r-1]=arguments[r]}var i=t.length===1?t[0]:n.reduce(function(e,n,r){return e+function(t){if(t._$cssResult$===!0)return t.cssText;if(typeof t=="number")return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")}(n)+t[r+1]},t[0]);return new nx(i,t,nw)},nq=function(t,e){var n=true,r=false,i=undefined;if(nk)t.adoptedStyleSheets=e.map(function(t){return v(t,CSSStyleSheet)?t:t.styleSheet});else try{for(var o=e[Symbol.iterator](),a;!(n=(a=o.next()).done);n=true){var s=a.value;var l=document.createElement("style"),u=n_.litNonce;u!==void 0&&l.setAttribute("nonce",u),l.textContent=s.cssText,t.appendChild(l)}}catch(t){r=true;i=t}finally{try{if(!n&&o.return!=null){o.return()}}finally{if(r){throw i}}}},nS=nk||n_.CSSStyleSheet===void 0?function(t){return t}:function(t){return v(t,CSSStyleSheet)?function(t){var e="";var n=true,r=false,i=undefined;try{for(var o=t.cssRules[Symbol.iterator](),a;!(n=(a=o.next()).done);n=true){var s=a.value;e+=s.cssText}}catch(t){r=true;i=t}finally{try{if(!n&&o.return!=null){o.return()}}finally{if(r){throw i}}}return nA(e)}(t):t};var nR=Object.is,nP=Object.defineProperty,nM=Object.getOwnPropertyDescriptor,nT=Object.getOwnPropertyNames,nI=Object.getOwnPropertySymbols,nO=Object.getPrototypeOf,nU=globalThis;var n$;(n$=nU.customElements)!==null&&n$!==void 0?n$:nU.customElements=nb;var nL=nU.trustedTypes,nN=nL?nL.emptyScript:"",nD=nU.reactiveElementPolyfillSupport,nV=function(t,e){return t},nj={toAttribute:function t(t,e){switch(e){case Boolean:t=t?nN:null;break;case Object:case Array:t=t==null?t:JSON.stringify(t)}return t},fromAttribute:function t(t,e){var n=t;switch(e){case Boolean:n=t!==null;break;case Number:n=t===null?null:Number(t);break;case Object:case Array:try{n=JSON.parse(t)}catch(t){n=null}}return n}},nH=function(t,e){return!nR(t,e)},nz={attribute:!0,type:String,converter:nj,reflect:!1,useDefault:!1,hasChanged:nH};var nQ,nF;(nQ=Symbol.metadata)!==null&&nQ!==void 0?nQ:Symbol.metadata=Symbol("metadata"),(nF=nU.litPropertyMetadata)!==null&&nF!==void 0?nF:nU.litPropertyMetadata=new WeakMap;var nB;var nW=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e),t._$Ep=void 0,t.isUpdatePending=!1,t.hasUpdated=!1,t._$Em=null,t._$Ev();return t}c(e,[{key:"_$Ev",value:function t(){var t=this;var e;this._$ES=new Promise(function(e){return t.enableUpdating=e}),this._$AL=new Map,this._$E_(),this.requestUpdate(),(e=this.constructor.l)===null||e===void 0?void 0:e.forEach(function(e){return e(t)})}},{key:"addController",value:function t(t){var e;var n;((n=this._$EO)!==null&&n!==void 0?n:this._$EO=new Set).add(t),this.renderRoot!==void 0&&this.isConnected&&((e=t.hostConnected)===null||e===void 0?void 0:e.call(t))}},{key:"removeController",value:function t(t){var e;(e=this._$EO)===null||e===void 0?void 0:e.delete(t)}},{key:"_$E_",value:function t(){var t=new Map,e=this.constructor.elementProperties;var n=true,r=false,i=undefined;try{for(var o=e.keys()[Symbol.iterator](),a;!(n=(a=o.next()).done);n=true){var s=a.value;this.hasOwnProperty(s)&&(t.set(s,this[s]),delete this[s])}}catch(t){r=true;i=t}finally{try{if(!n&&o.return!=null){o.return()}}finally{if(r){throw i}}}t.size>0&&(this._$Ep=t)}},{key:"createRenderRoot",value:function t(){var t;var e=(t=this.shadowRoot)!==null&&t!==void 0?t:this.attachShadow(this.constructor.shadowRootOptions);return nq(e,this.constructor.elementStyles),e}},{key:"connectedCallback",value:function t(){var t;var e;(e=this.renderRoot)!==null&&e!==void 0?e:this.renderRoot=this.createRenderRoot(),this.enableUpdating(!0),(t=this._$EO)===null||t===void 0?void 0:t.forEach(function(t){var e;return(e=t.hostConnected)===null||e===void 0?void 0:e.call(t)})}},{key:"enableUpdating",value:function t(t){}},{key:"disconnectedCallback",value:function t(){var t;(t=this._$EO)===null||t===void 0?void 0:t.forEach(function(t){var e;return(e=t.hostDisconnected)===null||e===void 0?void 0:e.call(t)})}},{key:"attributeChangedCallback",value:function t(t,e,n){this._$AK(t,n)}},{key:"_$ET",value:function t(t,e){var n=this.constructor.elementProperties.get(t),r=this.constructor._$Eu(t,n);if(r!==void 0&&n.reflect===!0){var i;var o=(((i=n.converter)===null||i===void 0?void 0:i.toAttribute)!==void 0?n.converter:nj).toAttribute(e,n.type);this._$Em=t,o==null?this.removeAttribute(r):this.setAttribute(r,o),this._$Em=null}}},{key:"_$AK",value:function t(t,e){var n=this.constructor,r=n._$Eh.get(t);if(r!==void 0&&this._$Em!==r){var i,o;var a=n.getPropertyOptions(r),s=typeof a.converter=="function"?{fromAttribute:a.converter}:((i=a.converter)===null||i===void 0?void 0:i.fromAttribute)!==void 0?a.converter:nj;var l,u;this._$Em=r,this[r]=(u=(l=s.fromAttribute(e,a.type))!==null&&l!==void 0?l:(o=this._$Ej)===null||o===void 0?void 0:o.get(r))!==null&&u!==void 0?u:null,this._$Em=null}}},{key:"requestUpdate",value:function t(t,e,n){if(t!==void 0){var r;var i=this.constructor,o=this[t];var a;if(n!==null&&n!==void 0?n:n=i.getPropertyOptions(t),!(((a=n.hasChanged)!==null&&a!==void 0?a:nH)(o,e)||n.useDefault&&n.reflect&&o===((r=this._$Ej)===null||r===void 0?void 0:r.get(t))&&!this.hasAttribute(i._$Eu(t,n))))return;this.C(t,e,n)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}},{key:"C",value:function t(t,e,n,r){var i=n.useDefault,o=n.reflect,a=n.wrapped;var s,l,u;i&&!((s=this._$Ej)!==null&&s!==void 0?s:this._$Ej=new Map).has(t)&&(this._$Ej.set(t,(l=r!==null&&r!==void 0?r:e)!==null&&l!==void 0?l:this[t]),a!==!0||r!==void 0)||(this._$AL.has(t)||(this.hasUpdated||i||(e=void 0),this._$AL.set(t,e)),o===!0&&this._$Em!==t&&((u=this._$Eq)!==null&&u!==void 0?u:this._$Eq=new Set).add(t))}},{key:"_$EP",value:function t(){var t=this;return o(function(){var e,n,r;return L(this,function(i){switch(i.label){case 0:t.isUpdatePending=!0;i.label=1;case 1:i.trys.push([1,3,,4]);return[4,t._$ES];case 2:i.sent();return[3,4];case 3:e=i.sent();Promise.reject(e);return[3,4];case 4:n=t.scheduleUpdate();r=n!=null;if(!r)return[3,6];return[4,n];case 5:r=i.sent();i.label=6;case 6:return[2,(r,!t.isUpdatePending)]}})})()}},{key:"scheduleUpdate",value:function t(){return this.performUpdate()}},{key:"performUpdate",value:function t(){if(!this.isUpdatePending)return;if(!this.hasUpdated){var t;if((t=this.renderRoot)!==null&&t!==void 0?t:this.renderRoot=this.createRenderRoot(),this._$Ep){var e=true,n=false,r=undefined;try{for(var i=this._$Ep[Symbol.iterator](),o;!(e=(o=i.next()).done);e=true){var a=S(o.value,2),s=a[0],l=a[1];this[s]=l}}catch(t){n=true;r=t}finally{try{if(!e&&i.return!=null){i.return()}}finally{if(n){throw r}}}this._$Ep=void 0}var u=this.constructor.elementProperties;var c=true,d=false,h=undefined;if(u.size>0)try{for(var f=u[Symbol.iterator](),p;!(c=(p=f.next()).done);c=true){var v=S(p.value,2),y=v[0],m=v[1];var g=m.wrapped,b=this[y];g!==!0||this._$AL.has(y)||b===void 0||this.C(y,void 0,m,b)}}catch(t){d=true;h=t}finally{try{if(!c&&f.return!=null){f.return()}}finally{if(d){throw h}}}}var _=!1,k=this._$AL;try{var w;_=this.shouldUpdate(k),_?(this.willUpdate(k),(w=this._$EO)===null||w===void 0?void 0:w.forEach(function(t){var e;return(e=t.hostUpdate)===null||e===void 0?void 0:e.call(t)}),this.update(k)):this._$EM()}catch(t){throw _=!1,this._$EM(),t}_&&this._$AE(k)}},{key:"willUpdate",value:function t(t){}},{key:"_$AE",value:function t(t){var e;(e=this._$EO)===null||e===void 0?void 0:e.forEach(function(t){var e;return(e=t.hostUpdated)===null||e===void 0?void 0:e.call(t)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}},{key:"_$EM",value:function t(){this._$AL=new Map,this.isUpdatePending=!1}},{key:"updateComplete",get:function t(){return this.getUpdateComplete()}},{key:"getUpdateComplete",value:function t(){return this._$ES}},{key:"shouldUpdate",value:function t(t){return!0}},{key:"update",value:function t(t){var e=this;this._$Eq&&(this._$Eq=this._$Eq.forEach(function(t){return e._$ET(t,e[t])})),this._$EM()}},{key:"updated",value:function t(t){}},{key:"firstUpdated",value:function t(t){}}],[{key:"addInitializer",value:function t(t){var e;this._$Ei(),((e=this.l)!==null&&e!==void 0?e:this.l=[]).push(t)}},{key:"observedAttributes",get:function t(){return this.finalize(),this._$Eh&&T(this._$Eh.keys())}},{key:"createProperty",value:function t(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:nz;if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){var n=Symbol(),r=this.getPropertyDescriptor(t,n,e);r!==void 0&&nP(this.prototype,t,r)}}},{key:"getPropertyDescriptor",value:function t(t,e,n){var r;var i=(r=nM(this.prototype,t))!==null&&r!==void 0?r:{get:function t(){return this[e]},set:function t(t){this[e]=t}},o=i.get,a=i.set;return{get:o,set:function e(e){var r=o===null||o===void 0?void 0:o.call(this);a===null||a===void 0?void 0:a.call(this,e),this.requestUpdate(t,r,n)},configurable:!0,enumerable:!0}}},{key:"getPropertyOptions",value:function t(t){var e;return(e=this.elementProperties.get(t))!==null&&e!==void 0?e:nz}},{key:"_$Ei",value:function t(){if(this.hasOwnProperty(nV("elementProperties")))return;var t=nO(this);t.finalize(),t.l!==void 0&&(this.l=T(t.l)),this.elementProperties=new Map(t.elementProperties)}},{key:"finalize",value:function t(){if(this.hasOwnProperty(nV("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(nV("properties"))){var t=this.properties,e=T(nT(t)).concat(T(nI(t)));var n=true,r=false,i=undefined;try{for(var o=e[Symbol.iterator](),a;!(n=(a=o.next()).done);n=true){var s=a.value;this.createProperty(s,t[s])}}catch(t){r=true;i=t}finally{try{if(!n&&o.return!=null){o.return()}}finally{if(r){throw i}}}}var l=this[Symbol.metadata];if(l!==null){var u=litPropertyMetadata.get(l);var c=true,d=false,h=undefined;if(u!==void 0)try{for(var f=u[Symbol.iterator](),p;!(c=(p=f.next()).done);c=true){var v=S(p.value,2),y=v[0],m=v[1];this.elementProperties.set(y,m)}}catch(t){d=true;h=t}finally{try{if(!c&&f.return!=null){f.return()}}finally{if(d){throw h}}}}this._$Eh=new Map;var g=true,b=false,_=undefined;try{for(var k=this.elementProperties[Symbol.iterator](),w;!(g=(w=k.next()).done);g=true){var E=S(w.value,2),x=E[0],A=E[1];var C=this._$Eu(x,A);C!==void 0&&this._$Eh.set(C,x)}}catch(t){b=true;_=t}finally{try{if(!g&&k.return!=null){k.return()}}finally{if(b){throw _}}}this.elementStyles=this.finalizeStyles(this.styles)}},{key:"finalizeStyles",value:function t(t){var e=[];if(Array.isArray(t)){var n=new Set(t.flat(1/0).reverse());var r=true,i=false,o=undefined;try{for(var a=n[Symbol.iterator](),s;!(r=(s=a.next()).done);r=true){var l=s.value;e.unshift(nS(l))}}catch(t){i=true;o=t}finally{try{if(!r&&a.return!=null){a.return()}}finally{if(i){throw o}}}}else t!==void 0&&e.push(nS(t));return e}},{key:"_$Eu",value:function t(t,e){var n=e.attribute;return n===!1?void 0:typeof n=="string"?n:typeof t=="string"?t.toLowerCase():void 0}}]);return e}((nB=globalThis.HTMLElement)!==null&&nB!==void 0?nB:nv);var nG;nW.elementStyles=[],nW.shadowRootOptions={mode:"open"},nW[nV("elementProperties")]=new Map,nW[nV("finalized")]=new Map,nD===null||nD===void 0?void 0:nD({ReactiveElement:nW}),((nG=nU.reactiveElementVersions)!==null&&nG!==void 0?nG:nU.reactiveElementVersions=[]).push("2.1.0");var nX=globalThis,nJ=nX.trustedTypes,nY=nJ?nJ.createPolicy("lit-html",{createHTML:function(t){return t}}):void 0,nK="$lit$",nZ="lit$".concat(Math.random().toFixed(9).slice(2),"$"),n0="?"+nZ,n1="<".concat(n0,">"),n2=nX.document===void 0?{createTreeWalker:function(){return{}}}:document,n3=function(){return n2.createComment("")},n5=function(t){return t===null||(typeof t==="undefined"?"undefined":I(t))!="object"&&typeof t!="function"},n4=Array.isArray,n6=function(t){return n4(t)||typeof(t===null||t===void 0?void 0:t[Symbol.iterator])=="function"},n9="[ \n\f\r]",n7=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,n8=/-->/g,rt=/>/g,re=RegExp(">|".concat(n9,"(?:([^\\s\"'>=/]+)(").concat(n9,"*=").concat(n9,"*(?:[^ \n\f\r\"'`<>=]|(\"|')|))|$)"),"g"),rn=/'/g,rr=/"/g,ri=/^(?:script|style|textarea|title)$/i,ro=function(t){return function(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++){r[i-1]=arguments[i]}return{_$litType$:t,strings:e,values:r}}},ra=ro(1),rs=ro(2),rl=ro(3),ru=Symbol.for("lit-noChange"),rc=Symbol.for("lit-nothing"),rd=new WeakMap,rh=n2.createTreeWalker(n2,129);var rf=function(t,e){var r=t.length-1,i=[],o,a=e===2?"<svg>":e===3?"<math>":"",s=n7;for(var l=0;l<r;l++){var u=t[l],c=void 0,d=void 0,h=-1,f=0;for(;f<u.length&&(s.lastIndex=f,d=s.exec(u),d!==null);)f=s.lastIndex,s===n7?d[1]==="!--"?s=n8:d[1]!==void 0?s=rt:d[2]!==void 0?(ri.test(d[2])&&(o=RegExp("</"+d[2],"g")),s=re):d[3]!==void 0&&(s=re):s===re?d[0]===">"?(s=o!==null&&o!==void 0?o:n7,h=-1):d[1]===void 0?h=-2:(h=s.lastIndex-d[2].length,c=d[1],s=d[3]===void 0?re:d[3]==='"'?rr:rn):s===rr||s===rn?s=re:s===n8||s===rt?s=n7:(s=re,o=void 0);var p=s===re&&t[l+1].startsWith("/>")?" ":"";a+=s===n7?u+n1:h>=0?(i.push(c),u.slice(0,h)+nK+u.slice(h)+nZ+p):u+nZ+(h===-2?l:p)}return[n(t,a+(t[r]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),i]},rp=/*#__PURE__*/function(){"use strict";function t(e,n){var r=e.strings,i=e._$litType$;s(this,t);var o;this.parts=[];var a=0,l=0,u=r.length-1,c=this.parts,d=S(rf(r,i),2),h=d[0],f=d[1];if(this.el=t.createElement(h,n),rh.currentNode=this.el.content,i===2||i===3){var p;var v=this.el.content.firstChild;(p=v).replaceWith.apply(p,T(v.childNodes))}for(;(o=rh.nextNode())!==null&&c.length<u;){if(o.nodeType===1){var y=true,m=false,g=undefined;if(o.hasAttributes())try{for(var b=o.getAttributeNames()[Symbol.iterator](),_;!(y=(_=b.next()).done);y=true){var k=_.value;if(k.endsWith(nK)){var w=f[l++],E=o.getAttribute(k).split(nZ),x=/([.?@])?(.*)/.exec(w);c.push({type:1,index:a,name:x[2],strings:E,ctor:x[1]==="."?rb:x[1]==="?"?r_:x[1]==="@"?rk:rg}),o.removeAttribute(k)}else k.startsWith(nZ)&&(c.push({type:6,index:a}),o.removeAttribute(k))}}catch(t){m=true;g=t}finally{try{if(!y&&b.return!=null){b.return()}}finally{if(m){throw g}}}if(ri.test(o.tagName)){var A=o.textContent.split(nZ),C=A.length-1;if(C>0){o.textContent=nJ?nJ.emptyScript:"";for(var q=0;q<C;q++)o.append(A[q],n3()),rh.nextNode(),c.push({type:2,index:++a});o.append(A[C],n3())}}}else if(o.nodeType===8)if(o.data===n0)c.push({type:2,index:a});else{var R=-1;for(;(R=o.data.indexOf(nZ,R+1))!==-1;)c.push({type:7,index:a}),R+=nZ.length-1}a++}}c(t,null,[{key:"createElement",value:function t(t,e){var n=n2.createElement("template");return n.innerHTML=t,n}}]);return t}();function rv(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:t,r=arguments.length>3?arguments[3]:void 0;var i,o;if(e===ru)return e;var a=r!==void 0?(i=n._$Co)===null||i===void 0?void 0:i[r]:n._$Cl,s=n5(e)?void 0:e._$litDirective$;var l;return(a===null||a===void 0?void 0:a.constructor)!==s&&(a===null||a===void 0?void 0:(o=a._$AO)===null||o===void 0?void 0:o.call(a,!1),s===void 0?a=void 0:(a=new s(t),a._$AT(t,n,r)),r!==void 0?((l=n._$Co)!==null&&l!==void 0?l:n._$Co=[])[r]=a:n._$Cl=a),a!==void 0&&(e=rv(t,a._$AS(t,e.values),a,r)),e}var ry=/*#__PURE__*/function(){"use strict";function t(e,n){s(this,t);this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=n}c(t,[{key:"parentNode",get:function t(){return this._$AM.parentNode}},{key:"_$AU",get:function t(){return this._$AM._$AU}},{key:"u",value:function t(t){var e;var n=this._$AD,r=n.el,i=r.content,o=n.parts,a=((e=t===null||t===void 0?void 0:t.creationScope)!==null&&e!==void 0?e:n2).importNode(i,!0);rh.currentNode=a;var s=rh.nextNode(),l=0,u=0,c=o[0];for(;c!==void 0;){if(l===c.index){var d=void 0;c.type===2?d=new rm(s,s.nextSibling,this,t):c.type===1?d=new c.ctor(s,c.name,c.strings,this,t):c.type===6&&(d=new rw(s,this,t)),this._$AV.push(d),c=o[++u]}l!==(c===null||c===void 0?void 0:c.index)&&(s=rh.nextNode(),l++)}return rh.currentNode=n2,a}},{key:"p",value:function t(t){var e=0;var n=true,r=false,i=undefined;try{for(var o=this._$AV[Symbol.iterator](),a;!(n=(a=o.next()).done);n=true){var s=a.value;s!==void 0&&(s.strings!==void 0?(s._$AI(t,s,e),e+=s.strings.length-2):s._$AI(t[e])),e++}}catch(t){r=true;i=t}finally{try{if(!n&&o.return!=null){o.return()}}finally{if(r){throw i}}}}}]);return t}(),rm=/*#__PURE__*/function(){"use strict";function t(e,n,r,i){s(this,t);var o;this.type=2,this._$AH=rc,this._$AN=void 0,this._$AA=e,this._$AB=n,this._$AM=r,this.options=i,this._$Cv=(o=i===null||i===void 0?void 0:i.isConnected)!==null&&o!==void 0?o:!0}c(t,[{key:"_$AU",get:function t(){var t;var e;return(e=(t=this._$AM)===null||t===void 0?void 0:t._$AU)!==null&&e!==void 0?e:this._$Cv}},{key:"parentNode",get:function t(){var t=this._$AA.parentNode,e=this._$AM;return e!==void 0&&(t===null||t===void 0?void 0:t.nodeType)===11&&(t=e.parentNode),t}},{key:"startNode",get:function t(){return this._$AA}},{key:"endNode",get:function t(){return this._$AB}},{key:"_$AI",value:function t(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this;t=rv(this,t,e),n5(t)?t===rc||t==null||t===""?(this._$AH!==rc&&this._$AR(),this._$AH=rc):t!==this._$AH&&t!==ru&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):n6(t)?this.k(t):this._(t)}},{key:"O",value:function t(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}},{key:"T",value:function t(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}},{key:"_",value:function t(t){this._$AH!==rc&&n5(this._$AH)?this._$AA.nextSibling.data=t:this.T(n2.createTextNode(t)),this._$AH=t}},{key:"$",value:function t(t){var e;var r=t.values,i=t._$litType$,o=typeof i=="number"?this._$AC(t):(i.el===void 0&&(i.el=rp.createElement(n(i.h,i.h[0]),this.options)),i);if(((e=this._$AH)===null||e===void 0?void 0:e._$AD)===o)this._$AH.p(r);else{var a=new ry(o,this),s=a.u(this.options);a.p(r),this.T(s),this._$AH=a}}},{key:"_$AC",value:function t(t){var e=rd.get(t.strings);return e===void 0&&rd.set(t.strings,e=new rp(t)),e}},{key:"k",value:function e(e){n4(this._$AH)||(this._$AH=[],this._$AR());var n=this._$AH,r,i=0;var o=true,a=false,s=undefined;try{for(var l=e[Symbol.iterator](),u;!(o=(u=l.next()).done);o=true){var c=u.value;i===n.length?n.push(r=new t(this.O(n3()),this.O(n3()),this,this.options)):r=n[i],r._$AI(c),i++}}catch(t){a=true;s=t}finally{try{if(!o&&l.return!=null){l.return()}}finally{if(a){throw s}}}i<n.length&&(this._$AR(r&&r._$AB.nextSibling,i),n.length=i)}},{key:"_$AR",value:function t(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this._$AA.nextSibling,e=arguments.length>1?arguments[1]:void 0;var n,r;for((n=(r=this)._$AP)===null||n===void 0?void 0:n.call(r,!1,!0,e);t&&t!==this._$AB;){var i=t.nextSibling;t.remove(),t=i}}},{key:"setConnected",value:function t(t){var e,n;this._$AM===void 0&&(this._$Cv=t,(e=(n=this)._$AP)===null||e===void 0?void 0:e.call(n,t))}}]);return t}(),rg=/*#__PURE__*/function(){"use strict";function t(e,n,r,i,o){s(this,t);this.type=1,this._$AH=rc,this._$AN=void 0,this.element=e,this.name=n,this._$AM=i,this.options=o,r.length>2||r[0]!==""||r[1]!==""?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=rc}c(t,[{key:"tagName",get:function t(){return this.element.tagName}},{key:"_$AU",get:function t(){return this._$AM._$AU}},{key:"_$AI",value:function t(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this,n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0;var i=this.strings,o=!1;if(i===void 0)t=rv(this,t,e,0),o=!n5(t)||t!==this._$AH&&t!==ru,o&&(this._$AH=t);else{var a=t,s,l;for(t=i[0],s=0;s<i.length-1;s++)l=rv(this,a[n+s],e,s),l===ru&&(l=this._$AH[s]),o||(o=!n5(l)||l!==this._$AH[s]),l===rc?t=rc:t!==rc&&(t+=(l!==null&&l!==void 0?l:"")+i[s+1]),this._$AH[s]=l}o&&!r&&this.j(t)}},{key:"j",value:function t(t){t===rc?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t!==null&&t!==void 0?t:"")}}]);return t}(),rb=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments),t.type=3;return t}c(e,[{key:"j",value:function t(t){this.element[this.name]=t===rc?void 0:t}}]);return e}(rg),r_=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments),t.type=4;return t}c(e,[{key:"j",value:function t(t){this.element.toggleAttribute(this.name,!!t&&t!==rc)}}]);return e}(rg),rk=/*#__PURE__*/function(t){"use strict";p(e,t);function e(t,n,r,i,o){s(this,e);var l;l=a(this,e,[t,n,r,i,o]),l.type=5;return l}c(e,[{key:"_$AI",value:function t(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this;var n;if((t=(n=rv(this,t,e,0))!==null&&n!==void 0?n:rc)===ru)return;var r=this._$AH,i=t===rc&&r!==rc||t.capture!==r.capture||t.once!==r.once||t.passive!==r.passive,o=t!==rc&&(r===rc||i);i&&this.element.removeEventListener(this.name,this,r),o&&this.element.addEventListener(this.name,this,t),this._$AH=t}},{key:"handleEvent",value:function t(t){var e;var n;typeof this._$AH=="function"?this._$AH.call((n=(e=this.options)===null||e===void 0?void 0:e.host)!==null&&n!==void 0?n:this.element,t):this._$AH.handleEvent(t)}}]);return e}(rg),rw=/*#__PURE__*/function(){"use strict";function t(e,n,r){s(this,t);this.element=e,this.type=6,this._$AN=void 0,this._$AM=n,this.options=r}c(t,[{key:"_$AU",get:function t(){return this._$AM._$AU}},{key:"_$AI",value:function t(t){rv(this,t)}}]);return t}(),rE={M:nK,P:nZ,A:n0,C:1,L:rf,R:ry,D:n6,V:rv,I:rm,H:rg,N:r_,U:rk,B:rb,F:rw},rx=nX.litHtmlPolyfillSupport;var rA;rx===null||rx===void 0?void 0:rx(rp,rm),((rA=nX.litHtmlVersions)!==null&&rA!==void 0?rA:nX.litHtmlVersions=[]).push("3.3.0");var rC=function(t,e,n){var r;var i=(r=n===null||n===void 0?void 0:n.renderBefore)!==null&&r!==void 0?r:e,o=i._$litPart$;if(o===void 0){var a;var s=(a=n===null||n===void 0?void 0:n.renderBefore)!==null&&a!==void 0?a:null;i._$litPart$=o=new rm(e.insertBefore(n3(),s),s,void 0,n!==null&&n!==void 0?n:{})}return o._$AI(t),o};var rq=globalThis,rS=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments),t.renderOptions={host:t},t._$Do=void 0;return t}c(e,[{key:"createRenderRoot",value:function t(){var t;var n=h(f(e.prototype),"createRenderRoot",this).call(this);var r;return(r=(t=this.renderOptions).renderBefore)!==null&&r!==void 0?r:t.renderBefore=n.firstChild,n}},{key:"update",value:function t(t){var n=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),h(f(e.prototype),"update",this).call(this,t),this._$Do=rC(n,this.renderRoot,this.renderOptions)}},{key:"connectedCallback",value:function t(){var t;h(f(e.prototype),"connectedCallback",this).call(this),(t=this._$Do)===null||t===void 0?void 0:t.setConnected(!0)}},{key:"disconnectedCallback",value:function t(){var t;h(f(e.prototype),"disconnectedCallback",this).call(this),(t=this._$Do)===null||t===void 0?void 0:t.setConnected(!1)}},{key:"render",value:function t(){return ru}}]);return e}(nW);rS._$litElement$=!0,rS.finalized=!0,(eU=rq.litElementHydrateSupport)===null||eU===void 0?void 0:eU.call(rq,{LitElement:rS});var rR=rq.litElementPolyfillSupport;rR===null||rR===void 0?void 0:rR({LitElement:rS});var rP;((rP=rq.litElementVersions)!==null&&rP!==void 0?rP:rq.litElementVersions=[]).push("4.2.0");var rM=function(t){return function(e,n){n!==void 0?n.addInitializer(function(){customElements.define(t,e)}):customElements.define(t,e)}};var rT={attribute:!0,type:String,converter:nj,reflect:!1,hasChanged:nH},rI=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:rT,e=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0;var r=n.kind,i=n.metadata,o=globalThis.litPropertyMetadata.get(i);if(o===void 0&&globalThis.litPropertyMetadata.set(i,o=new Map),r==="setter"&&((t=Object.create(t)).wrapped=!0),o.set(n.name,t),r==="accessor"){var a=n.name;return{set:function n(n){var r=e.get.call(this);e.set.call(this,n),this.requestUpdate(a,r,t)},init:function e(e){return e!==void 0&&this.C(a,void 0,t,e),e}}}if(r==="setter"){var s=n.name;return function n(n){var r=this[s];e.call(this,n),this.requestUpdate(s,r,t)}}throw Error("Unsupported decorator location: "+r)};var rO=function(t,e,n){return n.configurable=!0,n.enumerable=!0,Reflect.decorate&&(typeof e==="undefined"?"undefined":I(e))!="object"&&Object.defineProperty(t,e,n),n};var rU=Symbol("item");var r$=[{identifier:"completionStatus",cardinality:"single",baseType:"string",value:"unknown",type:"outcome"},{identifier:"numAttempts",cardinality:"single",baseType:"integer",value:"0",type:"response"}];var rL=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments);t.identifier="";t.adaptive="false";t.timeDependent=null;t._handleDisabledChange=function(e,n){t._interactionElements.forEach(function(t){return t.disabled=n})};t._handleReadonlyChange=function(e,n){return t._interactionElements.forEach(function(t){return t.readonly=n})};t._context={variables:r$};t._initialContext=E(k({},t._context),{variables:t._context.variables});t._feedbackElements=[];t._interactionElements=[];t._handleRegisterVariable=function(e){e.stopImmediatePropagation(),t._context=E(k({},t._context),{variables:T(t._context.variables).concat([e.detail.variable])}),t._initialContext=t._context,e.stopPropagation()};t._handleRegisterFeedback=function(e){var n;e.stopImmediatePropagation();var r=e.detail;t._feedbackElements.push(r),(Number((n=t._context.variables.find(function(t){return t.identifier==="numAttempts"}))===null||n===void 0?void 0:n.value)||0)>0&&r.checkShowFeedback(r.outcomeIdentifier)};t._handleRegisterInteraction=function(e){e.stopImmediatePropagation(),t._interactionElements.push(e.detail.interactionElement)};t._handleEndAttempt=function(e){e.stopImmediatePropagation();var n=e.detail,r=n.responseIdentifier,i=n.countAttempt;t.validate(),t.updateResponseVariable(r,"true"),t.processResponse(i)};t._handleSetOutcomeValue=function(e){e.stopImmediatePropagation();var n=e.detail,r=n.outcomeIdentifier,i=n.value;t.updateOutcomeVariable(r,i),e.stopPropagation()};t._handleUpdateResponseVariable=function(e){e.stopImmediatePropagation();var n=e.detail,r=n.responseIdentifier,i=n.response;t.updateResponseVariable(r,i),t.dispatchEvent(new CustomEvent("qti-item-context-updated",{bubbles:!0,composed:!0,detail:{itemContext:t._context}}))};return t}c(e,[{key:"assessmentItemRefId",get:function t(){return this._context.identifier},set:function t(t){this._context=E(k({},this._context),{identifier:t})}},{key:"variables",get:function t(){return this._context.variables.map(function(t){return k({identifier:t.identifier,value:t.value,type:t.type},t.type==="outcome"&&t.identifier==="SCORE"?{externalScored:t.externalScored}:{})})},set:function t(t){var e=this;if(!Array.isArray(t)||t.some(function(t){return!("identifier"in t)})){console.warn("variables property should be an array of VariableDeclaration");return}this._context=E(k({},this._context),{variables:this._context.variables.map(function(e){var n=t.find(function(t){return t.identifier===e.identifier});return n?k({},e,n):e})}),this._context.variables.forEach(function(t){if(t.type==="response"){var n=e._interactionElements.find(function(e){return e.responseIdentifier===t.identifier});n&&(n.response=t.value)}}),this.variables.forEach(function(t){t.type==="outcome"&&e._feedbackElements.forEach(function(e){return e.checkShowFeedback(t.identifier)})})}},{key:"responses",set:function t(t){var e=true,n=false,r=undefined;if(t)try{var i,o=function(){var t=s.value;i.getResponse(t.responseIdentifier)&&i.updateResponseVariable(t.responseIdentifier,t.response);var e=i._interactionElements.find(function(e){return e.getAttribute("response-identifier")===t.responseIdentifier});e&&(e.response=t.response)};for(var a=t[Symbol.iterator](),s;!(e=(s=a.next()).done);e=true)i=this,o()}catch(t){n=true;r=t}finally{try{if(!e&&a.return!=null){a.return()}}finally{if(n){throw r}}}}},{key:"render",value:function t(){return ra(D())}},{key:"connectedCallback",value:function t(){var t=this;this._attachEventListeners(),h(f(e.prototype),"connectedCallback",this).call(this),this.updateComplete.then(function(){t.dispatchEvent(new CustomEvent("qti-assessment-item-connected",{bubbles:!0,composed:!0,detail:t}))})}},{key:"disconnectedCallback",value:function t(){this._removeEventListeners(),h(f(e.prototype),"disconnectedCallback",this).call(this)}},{key:"_attachEventListeners",value:function t(){this.addEventListener("qti-register-variable",this._handleRegisterVariable),this.addEventListener("qti-register-feedback",this._handleRegisterFeedback),this.addEventListener("qti-register-interaction",this._handleRegisterInteraction),this.addEventListener("end-attempt",this._handleEndAttempt),this.addEventListener("qti-set-outcome-value",this._handleSetOutcomeValue),this.addEventListener("qti-interaction-response",this._handleUpdateResponseVariable)}},{key:"_removeEventListeners",value:function t(){this.removeEventListener("qti-register-variable",this._handleRegisterVariable),this.removeEventListener("qti-register-feedback",this._handleRegisterFeedback),this.removeEventListener("qti-register-interaction",this._handleRegisterInteraction),this.removeEventListener("end-attempt",this._handleEndAttempt),this.removeEventListener("qti-set-outcome-value",this._handleSetOutcomeValue),this.removeEventListener("qti-interaction-response",this._handleUpdateResponseVariable)}},{key:"showCorrectResponse",value:function t(t){var e=true,n=false,r=undefined;try{var i,o=function(){var e=s.value;var n=i._interactionElements.find(function(t){return t.getAttribute("response-identifier")===e.identifier});n&&n.toggleCorrectResponse(e,t)};for(var a=this._context.variables.filter(function(t){return t.type==="response"})[Symbol.iterator](),s;!(e=(s=a.next()).done);e=true)i=this,o()}catch(t){n=true;r=t}finally{try{if(!e&&a.return!=null){a.return()}}finally{if(n){throw r}}}}},{key:"processResponse",value:function t(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;var n;this.validate(e);var r=this.querySelector("qti-response-processing");return!r||!r.process?!1:(r.process(),this.adaptive==="false"&&this.updateOutcomeVariable("completionStatus",this._getCompletionStatus()),t&&this.updateOutcomeVariable("numAttempts",(+((n=this._context.variables.find(function(t){return t.identifier==="numAttempts"}))===null||n===void 0?void 0:n.value)+1).toString()),this.dispatchEvent(new CustomEvent("qti-item-context-updated",{bubbles:!0,composed:!0,detail:{itemContext:this._context}})),!0)}},{key:"resetResponses",value:function t(){this._context=this._initialContext}},{key:"getResponse",value:function t(t){return this.getVariable(t)}},{key:"getOutcome",value:function t(t){return this.getVariable(t)}},{key:"getVariable",value:function t(t){return this._context.variables.find(function(e){return e.identifier===t})||null}},{key:"updateResponseVariable",value:function t(t,e){this._context=E(k({},this._context),{variables:this._context.variables.map(function(n){return n.identifier!==t?n:E(k({},n),{value:e})})}),this.dispatchEvent(new CustomEvent("qti-interaction-changed",{bubbles:!0,composed:!0,detail:{item:this.identifier,responseIdentifier:t,response:Array.isArray(e)?T(e):e}})),this.adaptive==="false"&&this.updateOutcomeVariable("completionStatus",this._getCompletionStatus())}},{key:"setOutcomeVariable",value:function t(t,e){this.updateOutcomeVariable(t,e),this.dispatchEvent(new CustomEvent("qti-item-context-updated",{bubbles:!0,composed:!0,detail:{itemContext:this._context}}))}},{key:"updateOutcomeVariable",value:function t(t,e){var n;var r=this.getOutcome(t);if(!r){console.warn("Can not set qti-outcome-identifier: ".concat(t,", it is not available"));return}this._context=E(k({},this._context),{variables:this._context.variables.map(function(n){return n.identifier!==t?n:E(k({},n),{value:r.cardinality==="single"?e:T(n.value).concat([e])})})}),this._feedbackElements.forEach(function(e){return e.checkShowFeedback(t)}),this.dispatchEvent(new CustomEvent("qti-outcome-changed",{bubbles:!0,composed:!0,detail:{item:this.identifier,outcomeIdentifier:t,value:(n=this._context.variables.find(function(e){return e.identifier===t}))===null||n===void 0?void 0:n.value}}))}},{key:"validate",value:function t(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._interactionElements.every(function(t){return t.validate()})?!0:this._interactionElements.some(function(t){return t.validate()})?!1:(t&&this.reportValidity(),null)}},{key:"reportValidity",value:function t(){var t=true,e=false,n=undefined;try{for(var r=this._interactionElements[Symbol.iterator](),i;!(t=(i=r.next()).done);t=true){var o=i.value;o.reportValidity()}}catch(t){e=true;n=t}finally{try{if(!t&&r.return!=null){r.return()}}finally{if(e){throw n}}}}},{key:"_getCompletionStatus",value:function t(){var t=this.validate(!1);return t===!0?"completed":t===!1?"incomplete":"not_attempted"}}]);return e}(rS);ez([r({type:String})],rL.prototype,"title",2),ez([r({type:String})],rL.prototype,"identifier",2),ez([r({type:String})],rL.prototype,"adaptive",2),ez([r({type:String})],rL.prototype,"timeDependent",2),ez([r({type:Boolean})],rL.prototype,"disabled",2),ez([d("disabled",{waitUntilFirstUpdate:!0})],rL.prototype,"_handleDisabledChange",2),ez([r({type:Boolean})],rL.prototype,"readonly",2),ez([d("readonly",{waitUntilFirstUpdate:!0})],rL.prototype,"_handleReadonlyChange",2),ez([t({context:rU})],rL.prototype,"_context",2),rL=ez([rM("qti-assessment-item")],rL);var rN=String.raw,rD=rN(V());var rV=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;var e,n="",r={load:function i(i){n=i;var o=encodeURI(i);if(t&&sessionStorage.getItem(o))return{promise:Promise.resolve(r.parse(sessionStorage.getItem(o))),request:null};var a=b(i),s=a.promise,l=a.xhr;return{promise:new Promise(function(n){s.then(function(i){return e=i,r.shuffleInteractions(),t&&sessionStorage.setItem(o,new XMLSerializer().serializeToString(e)),n(r)})}),request:l}},parse:function t(t){return e=_(t),r},path:function(t){return x(e,t),n=null,r},fn:function t(t){return t(e),r},pciHooks:function t(t){var n=["hook","module"],i=t.substring(0,t.lastIndexOf("/"));var o=true,a=false,s=undefined;try{var l=function(){var n=c.value;e.querySelectorAll("["+n+"]").forEach(function(e){var r=e.getAttribute(n);!r.startsWith("data:")&&!r.startsWith("http")&&(e.setAttribute("base-url",t),e.setAttribute("module",i+"/"+encodeURI(r+(r.endsWith(".js")?"":".js"))))})};for(var u=n[Symbol.iterator](),c;!(o=(c=u.next()).done);o=true)l()}catch(t){a=true;s=t}finally{try{if(!o&&u.return!=null){u.return()}}finally{if(a){throw s}}}return r},shuffleInteractions:function t(){var t=e.querySelectorAll('[shuffle="true"]'),n=Array.from(t).filter(function(t){var e;return(e=t.tagName)===null||e===void 0?void 0:e.toLowerCase().endsWith("-interaction")});var i=true,o=false,a=undefined;try{for(var s=n[Symbol.iterator](),l;!(i=(l=s.next()).done);i=true){var u=l.value;var c=R(u.tagName.toLowerCase()),d=Array.isArray(c)?c:[c];var h=true,f=false,p=undefined;try{var v=function(){var t=m.value;var e;var n=Array.from(u.querySelectorAll(t)),i=n.map(function(t,e){return{element:t,fixed:t.hasAttribute("fixed")&&t.getAttribute("fixed")==="true",originalOrder:e}}).filter(function(t){return t.fixed}),o=n.filter(function(t){return!t.hasAttribute("fixed")||t.getAttribute("fixed")!=="true"});if(o.length<=1)return{v:(console.warn("Shuffling is not possible with fewer than 2 non-fixed elements."),r)};var a=T(o),s=!1,l=0;for(;!s&&l<20;){l++;for(var c=o.length-1;c>0;c--){var d=Math.floor(Math.random()*(c+1));var h;h=[o[d],o[c]],o[c]=h[0],o[d]=h[1],h}s=!o.every(function(t,e){return t===a[e]})}if(!s)return{v:(console.warn("Failed to shuffle the choices after multiple attempts."),null)};u.removeAttribute("shuffle");var f=0;var p=true,v=false,y=undefined;try{for(var g=o[Symbol.iterator](),b;!(p=(b=g.next()).done);p=true){var _=b.value;_.parentElement.insertBefore(_,(e=i[f])===null||e===void 0?void 0:e.element),f++}}catch(t){v=true;y=t}finally{try{if(!p&&g.return!=null){g.return()}}finally{if(v){throw y}}}var k=true,w=false,E=undefined;try{for(var x=i[Symbol.iterator](),A;!(k=(A=x.next()).done);k=true){var C=A.value;C.element.parentElement.insertBefore(C.element,o[C.originalOrder])}}catch(t){w=true;E=t}finally{try{if(!k&&x.return!=null){x.return()}}finally{if(w){throw E}}}};for(var y=d[Symbol.iterator](),m;!(h=(m=y.next()).done);h=true){var g=v();if(I(g)==="object")return g.v}}catch(t){f=true;p=t}finally{try{if(!h&&y.return!=null){y.return()}}finally{if(f){throw p}}}}}catch(t){o=true;a=t}finally{try{if(!i&&s.return!=null){s.return()}}finally{if(o){throw a}}}return r},extendElementName:function(t,n){return y(e,t,n),r},extendElementsWithClass:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"extend";return m(e,t),r},customInteraction:function t(t,n){var i=e.querySelector("qti-custom-interaction"),o=i.querySelector("object");return i.setAttribute("data-base-ref",t),i.setAttribute("data-base-item",t+n),i.setAttribute("data",o.getAttribute("data")),i.setAttribute("width",o.getAttribute("width")),i.setAttribute("height",o.getAttribute("height")),i.removeChild(o),r},convertCDATAtoComment:function t(){return A(e),r},stripStyleSheets:function t(){return q(e),r},html:function t(){return n!==null&&x(e,n.substring(0,n.lastIndexOf("/"))),new XMLSerializer().serializeToString(w(e))},xml:function t(){return new XMLSerializer().serializeToString(e)},htmlDoc:function t(){return n!==null&&x(e,n.substring(0,n.lastIndexOf("/"))),w(e)},xmlDoc:function t(){return e}};return r};var rj=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments);t.identifier="";t.href="";return t}c(e,[{key:"connectedCallback",value:function t(){var t=this;var n=this,r=function(){return h(f(e.prototype),"connectedCallback",t)};return o(function(){var t,e,i;return L(this,function(o){switch(o.label){case 0:r().call(n);t=new Event("qti-assessment-stimulus-ref-connected",{cancelable:!0,bubbles:!0,composed:!0});if(!n.dispatchEvent(t))return[3,4];e=n.closest("qti-assessment-item").querySelector("[data-stimulus-idref=".concat(n.identifier,"]"));if(!e)return[3,2];return[4,n.updateStimulusRef(e)];case 1:i=o.sent();return[3,3];case 2:i=console.warn("Stimulus with data-stimulus-idref ".concat(n.identifier," not found"));o.label=3;case 3:i;o.label=4;case 4:return[2]}})})()}},{key:"updateStimulusRef",value:function t(t){var e=this;return o(function(){var n,r,i;return L(this,function(o){switch(o.label){case 0:return[4,rV().load(e.href).promise.then(function(t){return t.htmlDoc()})];case 1:n=o.sent();if(n){;i=n.querySelectorAll("qti-stimulus-body, qti-stylesheet");t.innerHTML="",(r=t).append.apply(r,T(i))}return[2]}})})()}}]);return e}(rS);ez([r({type:String})],rj.prototype,"identifier",2),ez([r({type:String})],rj.prototype,"href",2),rj=ez([rM("qti-assessment-stimulus-ref")],rj);var rH=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}return e}(rS);rH=ez([rM("qti-companion-materials-info")],rH);var rz=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"render",value:function t(){return ra(j(),this.handleSlotChange)}},{key:"handleSlotChange",value:function t(){var t;var e;var n=Array.from((e=(t=this.firstElementChild)===null||t===void 0?void 0:t.childNodes)!==null&&e!==void 0?e:[]).find(function(t){return t.nodeType===Node.COMMENT_NODE});try{var r;this.operatorFunction=new Function("context","fn","item",(r=n===null||n===void 0?void 0:n.textContent)!==null&&r!==void 0?r:"")}catch(t){console.error("custom-operator contains invalid javascript code",t)}}},{key:"calculate",value:function t(){var t=this;var e={variable:function(e){var n,r;var i;return(i=(r=t._context)===null||r===void 0?void 0:(n=r.variables.find(function(t){return t.identifier===e}))===null||n===void 0?void 0:n.value)!==null&&i!==void 0?i:""},correct:function(e){var n,r;var i;return(i=(r=t._context)===null||r===void 0?void 0:(n=r.variables.find(function(t){return t.identifier===e}))===null||n===void 0?void 0:n.correctResponse)!==null&&i!==void 0?i:""}},n={getVariable:function(e){var n;return(n=t._context)===null||n===void 0?void 0:n.variables.find(function(t){return t.identifier===e})},updateOutcomeVariable:function(e,n){t.dispatchEvent(new CustomEvent("qti-set-outcome-value",{bubbles:!0,composed:!0,detail:{outcomeIdentifier:e,value:n}}))},updateResponseVariable:function(e,n){t.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,detail:{responseIdentifier:e,response:n}}))}};return this.operatorFunction(this._context,e,n)}}]);return e}(rS);ez([e({context:rU,subscribe:!0}),i()],rz.prototype,"_context",2),rz=ez([rM("qti-custom-operator")],rz);var rQ=function(){return new Intl.NumberFormat().format(.1).replace(/\d/g,"")},rF=function(t){if(typeof t=="string")return t;var e=rQ();return e==="."?t.toLocaleString():t.toString().replace(".","").replace(e,".")};var rB=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"connectedCallback",value:function t(){h(f(e.prototype),"connectedCallback",this).call(this),this.dispatchEvent(new CustomEvent("qti-register-feedback",{bubbles:!0,composed:!0,detail:this}))}},{key:"checkShowFeedback",value:function t(t){var e=this._context.variables.find(function(e){return e.identifier===t})||null;if(this.outcomeIdentifier!==t||!e)return;var n=!1;Array.isArray(e.value)?n=e.value.includes(this.identifier):n=!P(this.identifier)&&!P(e===null||e===void 0?void 0:e.value)&&this.identifier===e.value||!1,this.showFeedback(n)}},{key:"showFeedback",value:function t(t){this.showStatus=t&&this.showHide==="show"||!t&&this.showHide==="hide"?"on":"off"}}]);return e}(rS);ez([r({type:String,attribute:"show-hide"})],rB.prototype,"showHide",2),ez([r({type:String,attribute:"outcome-identifier"})],rB.prototype,"outcomeIdentifier",2),ez([r({type:String})],rB.prototype,"identifier",2),ez([r({type:String,attribute:!1})],rB.prototype,"showStatus",2),ez([e({context:rU,subscribe:!0}),i()],rB.prototype,"_context",2);var rW=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"render",value:function t(){return ra(H(),this.showStatus)}},{key:"connectedCallback",value:function t(){h(f(e.prototype),"connectedCallback",this).call(this),this.checkShowFeedback(this.outcomeIdentifier)}}]);return e}(rB);rW.styles=nC(z()),rW=ez([rM("qti-feedback-block")],rW);var rG=function(t){return t!==null&&t!==void 0?t:rc};var rX=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments);t.render=function(){return ra(Q(),rG(t.showStatus))};return t}c(e,[{key:"connectedCallback",value:function t(){h(f(e.prototype),"connectedCallback",this).call(this),this.checkShowFeedback(this.outcomeIdentifier)}}]);return e}(rB);rX.styles=nC(F()),rX=ez([rM("qti-feedback-inline")],rX);var rJ=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"render",value:function t(){return ra(B(),this.showStatus==="on",this.closeFeedback)}},{key:"openFeedback",value:function t(){var t;var e=(t=this.shadowRoot)===null||t===void 0?void 0:t.querySelector("dialog");e&&!e.open&&e.showModal()}},{key:"closeFeedback",value:function t(){var t;var e=(t=this.shadowRoot)===null||t===void 0?void 0:t.querySelector("dialog");e&&e.open&&(e.close(),this.showStatus="off")}},{key:"connectedCallback",value:function t(){h(f(e.prototype),"connectedCallback",this).call(this),this.showStatus==="on"&&this.openFeedback()}},{key:"updated",value:function t(t){t.has("showStatus")&&(this.showStatus==="on"?this.openFeedback():this.closeFeedback())}}]);return e}(rB);rJ.styles=nC(W()),rJ=ez([rM("qti-modal-feedback")],rJ);var rY=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"connectedCallback",value:function t(){h(f(e.prototype),"connectedCallback",this).call(this),this.dispatchEvent(new CustomEvent("qti-register-hotspot",{bubbles:!0,composed:!0,cancelable:!1}))}},{key:"render",value:function t(){return ra(G())}}]);return e}(rS);rY.styles=nC(X()),rY=ez([rM("qti-associable-hotspot")],rY);var rK=function(t,e,n){var r=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}return e}(t);return r};var rZ=function(t,e,n,i){var l=/*#__PURE__*/function(t){"use strict";p(r,t);function r(){s(this,r);var t;t=a(this,r,arguments);t.observer=null;t.droppableObsever=null;t.resizeObserver=null;t.draggables=[];t.droppables=[];t.dragContainers=[];t.dragClone=null;t.dragSource=null;t.touchStartPoint=null;t.isDraggable=!1;t.cloneOffset={x:0,y:0};t.isDragging=!1;t.allDropzones=[];t.lastTarget=null;t.currentDropTarget=null;t.MIN_DRAG_DISTANCE=5;t.DRAG_CLONE_OPACITY=1;t.dataTransfer={data:{},setData:function t(t,e){this.data[t]=e},getData:function t(t){return this.data[t]},effectAllowed:"move"};t.configuration={copyStylesDragClone:!0,dragCanBePlacedBack:!0,dragOnClick:!1};t.minAssociations=1;t.maxAssociations=0;t.draggablesModified=function(e,n){var r=true,i=false,o=undefined;try{var a=function(){var e=l.value;t.draggables.includes(e)&&(t.draggables=t.draggables.filter(function(t){return t!==e}),e.removeAttribute("tabindex"),e.removeEventListener("touchstart",t.handleTouchStart.bind(t)),e.removeEventListener("mousedown",t.handleTouchStart.bind(t)))};for(var s=n[Symbol.iterator](),l;!(r=(l=s.next()).done);r=true)a()}catch(t){i=true;o=t}finally{try{if(!r&&s.return!=null){s.return()}}finally{if(i){throw o}}}var u=true,c=false,d=undefined;try{for(var h=e[Symbol.iterator](),f;!(u=(f=h.next()).done);u=true){var p=f.value;t.draggables.includes(p)||(t.draggables.push(p),p.setAttribute("tabindex","0"),p.hasTouchStartListener||(p.addEventListener("touchstart",t.handleTouchStart.bind(t),{passive:!1}),p.addEventListener("mousedown",t.handleTouchStart.bind(t),{passive:!1}),p.hasTouchStartListener=!0))}}catch(t){c=true;d=t}finally{try{if(!u&&h.return!=null){h.return()}}finally{if(c){throw d}}}var v=0;t.draggables.forEach(function(e){e.style.viewTransitionName="drag-".concat(v,"-").concat(t.getAttribute("identifier")||crypto.randomUUID()),e.setAttribute("qti-draggable","true"),v++})};t.droppablesModified=function(e,n){var r=true,i=false,o=undefined;try{var a=function(){var e=l.value;t.droppables.includes(e)&&(t.droppables=t.droppables.filter(function(t){return t!==e}),t.allDropzones=t.allDropzones.filter(function(t){return t!==e}))};for(var s=n[Symbol.iterator](),l;!(r=(l=s.next()).done);r=true)a()}catch(t){i=true;o=t}finally{try{if(!r&&s.return!=null){s.return()}}finally{if(i){throw o}}}var u=true,c=false,d=undefined;try{for(var h=e[Symbol.iterator](),f;!(u=(f=h.next()).done);u=true){var p=f.value;t.droppables.includes(p)||(t.droppables.push(p),t.allDropzones.push(p))}}catch(t){c=true;d=t}finally{try{if(!u&&h.return!=null){h.return()}}finally{if(c){throw d}}}var v=true,y=false,m=undefined;try{for(var g=t.droppables[Symbol.iterator](),b;!(v=(b=g.next()).done);v=true){var _=b.value;t.dataset.choicesContainerWidth&&(_.style.width="".concat(t.dataset.choicesContainerWidth,"px"),_.style.boxSizing="border-box")}}catch(t){y=true;m=t}finally{try{if(!v&&g.return!=null){g.return()}}finally{if(y){throw m}}}};return t}c(r,[{key:"handleDraggableContainerChange",value:function t(t,e){this.isMatchTabular()||(t.length>0||e.length>0)&&this.dragContainersModified(t||[],e||[])}},{key:"dragContainersModified",value:function t(t,e){var n=true,r=false,i=undefined;try{var o,a=function(){var t=l.value;o.dragContainers.includes(t)&&(o.dragContainers=o.dragContainers.filter(function(e){return e!==t}),o.allDropzones=o.allDropzones.filter(function(e){return e!==t}))};for(var s=e[Symbol.iterator](),l;!(n=(l=s.next()).done);n=true)o=this,a()}catch(t){r=true;i=t}finally{try{if(!n&&s.return!=null){s.return()}}finally{if(r){throw i}}}var u=true,c=false,d=undefined;try{for(var h=t[Symbol.iterator](),f;!(u=(f=h.next()).done);u=true){var p=f.value;this.dragContainers.includes(p)||(this.dragContainers.push(p),this.allDropzones.push(p))}}catch(t){c=true;d=t}finally{try{if(!u&&h.return!=null){h.return()}}finally{if(c){throw d}}}}},{key:"handleDraggablesChange",value:function t(t,e){this.isMatchTabular()||(t.length>0||e.length>0)&&this.draggablesModified(t||[],e||[])}},{key:"handleDroppablesChange",value:function t(t,e){this.isMatchTabular()||(t.length>0||e.length>0)&&this.droppablesModified(t||[],e||[])}},{key:"firstUpdated",value:function t(t){var o=this;var a,s,l;h(f(r.prototype),"firstUpdated",this).call(this,t),this.hasAttribute("disabled")||(document.addEventListener("touchmove",this.handleTouchMove.bind(this),{passive:!1}),document.addEventListener("mousemove",this.handleTouchMove.bind(this),{passive:!1}),document.addEventListener("touchend",this.handleTouchEnd.bind(this),{passive:!1}),document.addEventListener("mouseup",this.handleTouchEnd.bind(this),{passive:!1}),document.addEventListener("touchcancel",this.handleTouchCancel.bind(this),{passive:!1}));var u=Array.from(this.querySelectorAll(e)||[]).concat(Array.from(((a=this.shadowRoot)===null||a===void 0?void 0:a.querySelectorAll(e))||[])),c=Array.from(this.querySelectorAll(n)||[]).concat(Array.from(((s=this.shadowRoot)===null||s===void 0?void 0:s.querySelectorAll(n))||[])),d=Array.from(this.querySelectorAll(i)||[]).concat(Array.from(((l=this.shadowRoot)===null||l===void 0?void 0:l.querySelectorAll(i))||[]));this.dragContainersModified(d,[]),this.droppablesModified(c,[]),this.draggablesModified(u,[]),this.updateMinDimensionsForDropZones(),this.observer=new MutationObserver(function(){return o.updateMinDimensionsForDropZones()}),this.observer.observe(this,{childList:!0,subtree:!0}),this.resizeObserver=new ResizeObserver(function(){return o.updateMinDimensionsForDropZones()}),this.querySelectorAll("qti-gap-text").forEach(function(t){var e;return(e=o.resizeObserver)===null||e===void 0?void 0:e.observe(t)})}},{key:"moveDraggableToDroppable",value:function t(t,e){var n=this;return o(function(){return L(this,function(r){(function(){t.style.transform="translate(0, 0)",e.tagName==="SLOT"?t.setAttribute("slot",e.getAttribute("name")):e.appendChild(t),n.checkAllMaxAssociations(),n.saveResponse()})();return[2]})})()}},{key:"activateDroppable",value:function t(t){this.dragContainers.includes(t)?(this._internals.states.add("--dragzone-active"),t.setAttribute("active","")):(this._internals.states.delete("--dragzone-active"),t.setAttribute("active",""))}},{key:"deactivateDroppable",value:function t(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;e&&this._internals.states.add("--dragzone-active"),t.removeAttribute("active")}},{key:"connectedCallback",value:function t(){h(f(r.prototype),"connectedCallback",this).call(this)}},{key:"isMatchTabular",value:function t(){return this.classList.contains("qti-match-tabular")}},{key:"updateMinDimensionsForDropZones",value:function t(){var t;var r=this.querySelectorAll(e),o=Array.from(this.querySelectorAll(n)).map(function(t){return t}),a=0,s=0;r.forEach(function(t){var e=t.getBoundingClientRect();a=Math.max(a,e.height),s=Math.max(s,e.width)});var l=this.querySelector(i)||((t=this.shadowRoot)===null||t===void 0?void 0:t.querySelector(i));l&&(l.style.minHeight="".concat(a,"px"),l.style.minWidth="".concat(s,"px"));var u=true,c=false,d=undefined;try{for(var h=o[Symbol.iterator](),f;!(u=(f=h.next()).done);u=true){var p=f.value;p.style.minHeight="".concat(a,"px"),p.style.minWidth="".concat(s,"px")}}catch(t){c=true;d=t}finally{try{if(!u&&h.return!=null){h.return()}}finally{if(c){throw d}}}}},{key:"activateDroppables",value:function t(t){this.dragContainers.forEach(function(e){e.setAttribute("enabled",""),e.hasAttribute("disabled")&&(e.contains(t)||e.shadowRoot&&e.shadowRoot.contains(t))&&e.removeAttribute("disabled")}),this.droppables.forEach(function(e){e.setAttribute("enabled",""),e.hasAttribute("disabled")&&(e.contains(t)||e.shadowRoot&&e.shadowRoot.contains(t))&&e.removeAttribute("disabled")})}},{key:"activateDragLocation",value:function t(){this._internals.states.add("--dragzone-enabled")}},{key:"deactivateDragLocation",value:function t(){this._internals.states.delete("--dragzone-enabled")}},{key:"deactivateDroppables",value:function t(){this.dragContainers.forEach(function(t){t.removeAttribute("enabled"),t.removeAttribute("active")}),this.droppables.forEach(function(t){t.removeAttribute("enabled"),t.removeAttribute("active")})}},{key:"disconnectedCallback",value:function t(){h(f(r.prototype),"disconnectedCallback",this).call(this),this.observer&&(this.observer.disconnect(),this.observer=null),this.droppableObsever&&(this.droppableObsever.disconnect(),this.droppableObsever=null),this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),document.removeEventListener("touchmove",this.handleTouchMove),document.removeEventListener("mousemove",this.handleTouchMove),document.removeEventListener("touchend",this.handleTouchEnd),document.removeEventListener("mouseup",this.handleTouchEnd),document.removeEventListener("touchcancel",this.handleTouchCancel)}},{key:"handleTouchMove",value:function t(t){if(this.isDraggable&&this.dragClone){var e=this.getEventCoordinates(t),n=e.x,r=e.y,i={clientX:n,clientY:r};this.calculateDragDistance(i)>=this.MIN_DRAG_DISTANCE&&(this.isDragging=!0,this.updateDragClonePosition(i));var o=this.findClosestDropzone();this.currentDropTarget=o,o!==this.lastTarget&&(this.lastTarget&&(this.deactivateDroppable(this.lastTarget),this.dispatchCustomEvent(this.lastTarget,"dragleave")),o&&(this.activateDroppable(o),this.dispatchCustomEvent(o,"dragenter")),this.lastTarget=o),this.currentDropTarget&&this.dispatchCustomEvent(this.currentDropTarget,"dragover"),t.preventDefault()}}},{key:"handleTouchEnd",value:function t(t){this.isDragging&&this.resetDragState(),this._internals.states.delete("--dragzone-active"),this.checkAllMaxAssociations(),this._internals.states.delete("--dragzone-enabled"),this._internals.states.delete("--dragzone-active"),this.deactivateDragLocation(),this.deactivateDroppables(),this.draggables.forEach(function(t){t.removeAttribute("dragging")}),t.preventDefault()}},{key:"handleTouchCancel",value:function t(t){this.resetDragState()}},{key:"validate",value:function t(){if(!this.shadowRoot)return!1;var t=this.getValidAssociations(),e=!0,n="";this.maxAssociations>0&&t>this.maxAssociations?(e=!1,n=this.dataset.maxSelectionsMessage||"You've selected too many associations. Maximum allowed is ".concat(this.maxAssociations,".")):this.minAssociations>0&&t<this.minAssociations&&(e=!1,n=this.dataset.minSelectionsMessage||"You haven't selected enough associations. Minimum required is ".concat(this.minAssociations,"."));var r=this.lastElementChild;return this._internals.setValidity(e?{}:{customError:!0},n,r),e}},{key:"reportValidity",value:function t(){var t=this.shadowRoot.querySelector("#validationMessage");return t&&(this._internals.validity.valid?(t.textContent="",t.style.display="none"):(t.textContent=this._internals.validationMessage,t.style.display="block")),this._internals.validity.valid}},{key:"checkMaxAssociations",value:function t(t){var e=this.getMatchMaxValue(t),n=t.querySelectorAll('[qti-draggable="true"]').length;return!(e===0)&&n>=e}},{key:"dropDraggableInDroppable",value:function t(t,e){var n=t.cloneNode(!0);n.removeAttribute("style"),this.moveDraggableToDroppable(n,e),this.draggablesModified([n],[]);var r=this.getMatchMaxValue(t),i=this.draggables.filter(function(e){return e.getAttribute("identifier")===t.getAttribute("identifier")});r!==0&&i.length>=r?(t.style.opacity="0.0",t.style.pointerEvents="none"):t.style.opacity="1.0"}},{key:"resetDragState",value:function t(){if(this.dragClone){var t=this.currentDropTarget!==null,e=!t||this.dragContainers.includes(this.currentDropTarget);t&&this.currentDropTarget&&!e&&this.dropDraggableInDroppable(this.dragSource,this.currentDropTarget),e&&(this.dragSource.style.opacity="1.0",this.dragSource.style.display="block",this.dragSource.style.position="static",this.dragSource.style.pointerEvents="auto",this.saveResponse()),this.dragClone.remove(),this.draggablesModified([],[this.dragClone])}this.isDragging=!1,this.isDraggable=!1,this.dragSource=null,this.dragClone=null,this.touchStartPoint=null,this.currentDropTarget=null,this.lastTarget=null,this.deactivateDroppables()}},{key:"checkAllMaxAssociations",value:function t(){var t=this;var e=this.getValidAssociations(),n=this.maxAssociations!==0&&e>=this.maxAssociations;this.droppables.forEach(function(e){n?t.disableDroppable(e):t.checkMaxAssociations(e)?t.disableDroppable(e):t.enableDroppable(e)})}},{key:"getMatchMaxValue",value:function t(t){var e=t.getAttribute("match-max");return e?parseInt(e,10):1}},{key:"disableDroppable",value:function t(t){t.setAttribute("disabled","")}},{key:"enableDroppable",value:function t(t){t.removeAttribute("disabled")}},{key:"response",get:function t(){var t;return typeof this.getResponse=="function"?t=this.getResponse():t=this.collectResponseData(),t.join(",")},set:function t(t){var e=this;if(!this.isMatchTabular())if(typeof this.getValue=="function"&&(t=this.getValue(t)),Array.isArray(t)){this.reset(!1),t===null||t===void 0?void 0:t.forEach(function(t){return e.placeResponse(t)});var n=new FormData;t.forEach(function(t){n.append(e.responseIdentifier,t)}),this._internals.setFormValue(n)}else this._internals.setFormValue(t||"")}},{key:"placeResponse",value:function t(t){var e=this;var n=M(t.split(" ").reverse()),r=n[0],i=n.slice(1),o=Array.from(this.draggables),a=Array.from(this.droppables);i.forEach(function(t){if(t==="")return;var n=o.find(function(e){return e.getAttribute("identifier")===t}),i=a.find(function(t){return t.getAttribute("identifier")===r});e.dropDraggableInDroppable(n,i)})}},{key:"getValidAssociations",value:function t(){var t=0;var e=true,n=false,r=undefined;try{for(var i=this.droppables[Symbol.iterator](),o;!(e=(o=i.next()).done);e=true){var a=o.value;t=t+this.getDraggablesFromDroppable(a).length}}catch(t){n=true;r=t}finally{try{if(!e&&i.return!=null){i.return()}}finally{if(n){throw r}}}return t}},{key:"saveResponse",value:function t(){var t;typeof this.getResponse=="function"?t=this.getResponse():t=this.collectResponseData(),this.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,detail:{responseIdentifier:this.responseIdentifier,response:t}}))}},{key:"collectResponseData",value:function t(){var t=this;return this.droppables.map(function(e){var n=t.getDraggablesFromDroppable(e).map(function(t){return t.getAttribute("identifier")}),r=e.getAttribute("identifier");return n.map(function(t){return"".concat(t," ").concat(r)})}).flat()}},{key:"getDraggablesFromDroppable",value:function t(t){return this.draggables.map(function(t){return t.getAttribute("identifier")}).filter(function(t,e,n){return n.indexOf(t)===e}).flatMap(function(e){return Array.from(t.querySelectorAll("[identifier='".concat(e,"']")))}).filter(function(t){return!!t}).map(function(t){return t})}},{key:"reset",value:function t(){var t=this;var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;this.droppables.forEach(function(e){t.getDraggablesFromDroppable(e).forEach(function(e){e.remove(),t.draggablesModified([],[e])})}),this.dragContainers.forEach(function(t){Array.from(t.querySelectorAll('[qti-draggable="true"]')).forEach(function(t){t.style.opacity="1.0"})}),this.dragClone=null,this.dragSource=null,this.isDragging=!1,this.isDraggable=!1,this.currentDropTarget=null,this.lastTarget=null,e&&this.saveResponse()}},{key:"updateDragClonePosition",value:function t(t){if(!this.isDragging||!this.dragClone)return;var e=t.clientX-this.cloneOffset.x,n=t.clientY-this.cloneOffset.y,r=this.applyInteractionBoundaries(e,n,this.dragClone),i=r.newLeft,o=r.newTop;this.dragClone.style.left="".concat(i,"px"),this.dragClone.style.top="".concat(o,"px")}},{key:"applyInteractionBoundaries",value:function t(t,e,n){var r=this.getBoundingClientRect(),i=n.getBoundingClientRect(),o=i.width,a=i.height,s=Math.max(r.left,Math.min(t,r.right-o)),l=Math.max(r.top,Math.min(e,r.bottom-a));return{newLeft:s,newTop:l}}},{key:"getEventCoordinates",value:function t(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;var n=t.touches?t.touches[0]:t;return{x:e?n.pageX:n.clientX,y:e?n.pageY:n.clientY}}},{key:"calculateDragDistance",value:function t(t){var e=Math.abs(t.clientX-this.touchStartPoint.x),n=Math.abs(t.clientY-this.touchStartPoint.y);return e+n}},{key:"findClosestDropzone",value:function t(){var t=this.allDropzones.filter(function(t){return!t.hasAttribute("disabled")});if(!this.dragClone||t.length===0)return null;var e=this.dragClone.getBoundingClientRect(),n=null,r=0;var i=true,o=false,a=undefined;try{for(var s=t[Symbol.iterator](),l;!(i=(l=s.next()).done);i=true){var u=l.value;var c=u.getBoundingClientRect(),d=this.calculateOverlapArea(e,c);d>r&&(r=d,n=u)}}catch(t){o=true;a=t}finally{try{if(!i&&s.return!=null){s.return()}}finally{if(o){throw a}}}if(!n){var h=200;var f=true,p=false,v=undefined;try{for(var y=t[Symbol.iterator](),m;!(f=(m=y.next()).done);f=true){var g=m.value;var b=g.getBoundingClientRect(),_=Math.sqrt(Math.pow(e.left-b.left,2)+Math.pow(e.top-b.top,2));_<h&&(h=_,n=g)}}catch(t){p=true;v=t}finally{try{if(!f&&y.return!=null){y.return()}}finally{if(p){throw v}}}}return n}},{key:"calculateOverlapArea",value:function t(t,e){var n=Math.max(0,Math.min(t.right,e.right)-Math.max(t.left,e.left)),r=Math.max(0,Math.min(t.bottom,e.bottom)-Math.max(t.top,e.top));return n*r}},{key:"dispatchCustomEvent",value:function t(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!t)return;var r=new CustomEvent(e,{bubbles:n,cancelable:!0});r.dataTransfer=this.dataTransfer,t.dispatchEvent(r)}},{key:"appendClone",value:function t(){document.body.appendChild(this.dragClone)}},{key:"handleTouchStart",value:function t(t){var e=this;if(this.isDragging)return;var n=this.getEventCoordinates(t),r=n.x,i=n.y;this.touchStartPoint={x:r,y:i},this.dragSource=t.currentTarget,this.isDraggable=!0,this._internals.states.add("--dragzone-enabled"),this._internals.states.add("--dragzone-active"),this.activateDragLocation(),this.activateDroppables(this.dragSource);var o=this.findDraggableInDraggableContainer(this.dragSource.getAttribute("identifier")),a=this.droppables.some(function(t){return Array.from(t.children).some(function(t){return t===e.dragSource})}),s=this.dragSource.getBoundingClientRect();a&&(this.dragSource.remove(),this.draggablesModified([],[this.dragSource]),this.dragSource=o),this.cloneOffset.x=r-s.left,this.cloneOffset.y=i-s.top,this.dragClone=o.cloneNode(!0);var l=window.getComputedStyle(o);for(var u=0;u<l.length;u++){var c=l[u];this.dragClone.style.setProperty(c,l.getPropertyValue(c))}var d=o.getBoundingClientRect();this.dragClone.style.width="".concat(d.width,"px"),this.dragClone.style.height="".concat(d.height,"px"),s&&this.setDragCloneStyles(s),this.dragClone.style.display="block",this.dragClone.style.opacity="1",this.appendClone();var h=this.getMatchMaxValue(this.dragSource),f=this.draggables.filter(function(t){return t.getAttribute("identifier")===e.dragSource.getAttribute("identifier")});h!==0&&f.length>=h?(o.style.opacity="0.0",o.style.pointerEvents="none"):o.style.opacity="1.0",t.preventDefault(),this.dragClone.setAttribute("dragging","")}},{key:"findDraggableInDraggableContainer",value:function t(t){var n=this.dragContainers.flat();var r=true,i=false,o=undefined;try{for(var a=n[Symbol.iterator](),s;!(r=(s=a.next()).done);r=true){var l=s.value;if(l.getAttribute("identifier")===t)return l;var u=void 0;v(l,HTMLSlotElement)?u=Array.from((l===null||l===void 0?void 0:l.assignedElements())||[]):u=Array.from(l.querySelectorAll(e));var c=u.find(function(e){return e.getAttribute("identifier")===t});if(c)return c}}catch(t){i=true;o=t}finally{try{if(!r&&a.return!=null){a.return()}}finally{if(i){throw o}}}}},{key:"setDragCloneStyles",value:function t(t){this.dragClone.style.position="fixed",this.dragClone.style.top="".concat(t.top,"px"),this.dragClone.style.left="".concat(t.left,"px"),this.dragClone.style.setProperty("box-sizing","border-box","important"),this.dragClone.style.zIndex="9999",this.dragClone.style.pointerEvents="none",this.dragClone.style.opacity=this.DRAG_CLONE_OPACITY.toString(),this.dragClone.style.display="block"}}]);return r}(rK(t,n,e));return ez([r({attribute:!1,type:Object})],l.prototype,"configuration",2),ez([r({type:Number,reflect:!0,attribute:"min-associations"})],l.prototype,"minAssociations",2),ez([r({type:Number,reflect:!0,attribute:"max-associations"})],l.prototype,"maxAssociations",2),ez([$(i)],l.prototype,"handleDraggableContainerChange",1),ez([$(e)],l.prototype,"handleDraggablesChange",1),ez([$(n)],l.prototype,"handleDroppablesChange",1),l};var r0=nC(J());var r1=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e);t.disabled=!1;t.readonly=!1;t._internals=t.attachInternals();return t}c(e,[{key:"correctResponse",get:function t(){return this._correctResponse},set:function t(t){this._correctResponse=t}},{key:"toggleCorrectResponse",value:function t(t,e){this.correctResponse=e?t===null||t===void 0?void 0:t.correctResponse:t.cardinality==="single"?"":[]}},{key:"value",get:function t(){return JSON.stringify(this.response)},set:function t(t){this.response=t?JSON.parse(t):null}},{key:"reportValidity",value:function t(){return this._internals.reportValidity()}},{key:"reset",value:function t(){this.response=null}},{key:"connectedCallback",value:function t(){h(f(e.prototype),"connectedCallback",this).call(this),this.dispatchEvent(new CustomEvent("qti-register-interaction",{bubbles:!0,composed:!0,cancelable:!1,detail:{interactionElement:this,responseIdentifier:this.responseIdentifier}}))}},{key:"saveResponse",value:function t(t){this.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,cancelable:!1,detail:{responseIdentifier:this.responseIdentifier,response:Array.isArray(t)?T(t):t}}))}}]);return e}(rS);r1.formAssociated=!0,ez([r({type:String,attribute:"response-identifier"})],r1.prototype,"responseIdentifier",2),ez([r({reflect:!0,type:Boolean})],r1.prototype,"disabled",2),ez([r({reflect:!0,type:Boolean})],r1.prototype,"readonly",2),ez([i()],r1.prototype,"_correctResponse",2);var r2=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e);t._childrenMap=[];t._registerChoiceHandler=t._registerChoice.bind(t),t.addEventListener("register-qti-simple-associable-choice",t._registerChoiceHandler);return t}c(e,[{key:"_registerChoice",value:function t(t){var e=t.target;this._childrenMap.push(e)}},{key:"render",value:function t(){return ra(K(),this._childrenMap.length>0&&Array.from(Array(Math.ceil(this._childrenMap.length/2)).keys()).map(function(t,e){return ra(Y(),e,e,e,e)}))}},{key:"disconnectedCallback",value:function t(){h(f(e.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("register-qti-simple-associable-choice",this._registerChoiceHandler)}}]);return e}(rZ(r1,"qti-simple-associable-choice",".dl","slot[name='qti-simple-associable-choice']"));r2.styles=r0,ez([i()],r2.prototype,"_childrenMap",2),r2=ez([rM("qti-associate-interaction")],r2);var r3=function(t,e){var n=/*#__PURE__*/function(t){"use strict";p(n,t);function n(){s(this,n);var t;t=a(this,n,arguments);t._choiceElements=[];t.minChoices=0;t.maxChoices=1;t._handleDisabledChange=function(e,n){t._choiceElements.forEach(function(t){return t.disabled=n})};t._handleReadonlyChange=function(e,n){t._choiceElements.forEach(function(t){return t.readonly=n})};t.response="";t._handleValueChange=function(){t._internals.setFormValue(t.value),t._updateChoiceSelection()};return t}c(n,[{key:"_handleMaxChoicesChange",value:function t(t,e){this._determineInputType()}},{key:"value",get:function t(){return Array.isArray(this.response)&&this.response.length===0||this.response===""?null:Array.isArray(this.response)?this.response.join(","):this.response},set:function t(t){this.maxChoices>1&&(typeof t=="string"||t===null)?this.response=t?t.toString().split(","):[]:this.response=t||""}},{key:"toggleCorrectResponse",value:function t(t,e){if(t.correctResponse){var n=Array.isArray(t.correctResponse)?t.correctResponse:[t.correctResponse];this._choiceElements.forEach(function(t){t.internals.states.delete("correct-response"),t.internals.states.delete("incorrect-response"),e&&n.length>0&&(n.includes(t.identifier)?t.internals.states.add("correct-response"):t.internals.states.add("incorrect-response"))})}}},{key:"connectedCallback",value:function t(){h(f(n.prototype),"connectedCallback",this).call(this),this.addEventListener("register-".concat(e),this._registerChoiceElement),this.addEventListener("unregister-".concat(e),this._unregisterChoiceElement),this.addEventListener("activate-".concat(e),this._choiceElementSelectedHandler)}},{key:"disconnectedCallback",value:function t(){h(f(n.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("register-".concat(e),this._registerChoiceElement),this.removeEventListener("unregister-".concat(e),this._unregisterChoiceElement),this.removeEventListener("activate-".concat(e),this._choiceElementSelectedHandler)}},{key:"validate",value:function t(){var t=this;var e=this._choiceElements.filter(function(e){return t._getChoiceChecked(e)}),n=e.length,r=!0,i="";return this.maxChoices!==0&&n>this.maxChoices?(r=!1,i=this.dataset.maxSelectionsMessage||"Please select no more than ".concat(this.maxChoices," ").concat(this.maxChoices===1?"option":"options",".")):n<this.minChoices&&(r=!1,i=this.dataset.minSelectionsMessage||"Please select at least ".concat(this.minChoices," ").concat(this.minChoices===1?"option":"options",".")),e.length>0&&this._internals.setValidity(r?{}:{customError:!0},i,e[n-1]||this._choiceElements[0]||this),r}},{key:"reportValidity",value:function t(){return this._validationMessageElement&&(this._internals.validity.valid?(this._validationMessageElement.textContent="",this._validationMessageElement.style.display="none"):(this._validationMessageElement.textContent=this._internals.validationMessage,this._validationMessageElement.style.display="block")),this._internals.validity.valid}},{key:"_registerChoiceElement",value:function t(t){t.stopPropagation();var e=t.target;e.disabled=this.disabled,this._choiceElements.push(e),this._setInputType(e)}},{key:"_unregisterChoiceElement",value:function t(t){t.stopPropagation();var e=t.target;this._choiceElements=this._choiceElements.filter(function(t){return t!==e})}},{key:"_determineInputType",value:function t(){var t=this;this._choiceElements.forEach(function(e){t._setInputType(e)})}},{key:"_setInputType",value:function t(t){this._internals.role=this.maxChoices===1?"radiogroup":null;var e=this.maxChoices===1?"radio":"checkbox";t.internals.role=e,t.internals.states.delete(e==="radio"?"checkbox":"radio"),t.internals.states.add(e)}},{key:"_choiceElementSelectedHandler",value:function t(t){var e=this;this._toggleChoiceChecked(t.target),this.maxChoices===1&&this._choiceElements.forEach(function(n){n.identifier!==t.detail.identifier&&e._setChoiceChecked(n,!1)}),this._handleChoiceSelection()}},{key:"_setChoiceChecked",value:function t(t,e){var n;((n=t.internals)===null||n===void 0?void 0:n.states)&&(e?(t.internals.states.add("--checked"),t.internals.ariaChecked="true"):(t.internals.states.delete("--checked"),t.internals.ariaChecked="false"))}},{key:"_getChoiceChecked",value:function t(t){return t.internals.states.has("--checked")}},{key:"_toggleChoiceChecked",value:function t(t){var e=this._getChoiceChecked(t);this._setChoiceChecked(t,!e)}},{key:"_handleChoiceSelection",value:function t(){var t=this;var e=this._choiceElements.filter(function(e){return t._getChoiceChecked(e)}).map(function(t){return t.identifier});this.response=this.maxChoices===1?e[0]||"":e,this.validate(),this.saveResponse(this.response)}},{key:"_updateChoiceSelection",value:function t(){var t=this;var e=Array.isArray(this.response)?this.response:[this.response];this._choiceElements.forEach(function(n){var r=e.includes(n.identifier);t._setChoiceChecked(n,r)})}}]);return n}(t);return ez([l("#validationMessage")],n.prototype,"_validationMessageElement",2),ez([r({type:Number,attribute:"min-choices"})],n.prototype,"minChoices",2),ez([r({type:Number,attribute:"max-choices"})],n.prototype,"maxChoices",2),ez([d("maxChoices",{waitUntilFirstUpdate:!0})],n.prototype,"_handleMaxChoicesChange",1),ez([d("disabled",{waitUntilFirstUpdate:!0})],n.prototype,"_handleDisabledChange",2),ez([d("readonly",{waitUntilFirstUpdate:!0})],n.prototype,"_handleReadonlyChange",2),ez([i()],n.prototype,"response",2),ez([d("response",{waitUntilFirstUpdate:!0})],n.prototype,"_handleValueChange",2),n};var r5=function(t,e){var n=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments);t._classes=[];t._allLabels=["qti-labels-decimal","qti-labels-lower-alpha","qti-labels-upper-alpha"];t._allLabelSuffixes=["qti-labels-suffix-period","qti-labels-suffix-parenthesis"];return t}c(e,[{key:"class",get:function t(){var t;return((t=this._classes)===null||t===void 0?void 0:t.join(" "))||""},set:function t(t){t&&(this._classes=t.split(" "),this._addLabels())}},{key:"updated",value:function t(t){h(f(e.prototype),"updated",this).call(this,t),this._addLabels()}},{key:"_addLabels",value:function t(){var t=this;var e=this._classes.some(function(e){return t._allLabels.includes(e)||t._allLabelSuffixes.includes(e)}),n=function(t){return!isNaN(+t)};if(e){var r=Array.from(this.querySelectorAll("qti-simple-choice")).map(function(t){return t}).map(function(t,e){return{el:t,order:n(t.style.order)?+t.style.order:e+1}}).sort(function(t,e){return t.order-e.order}).map(function(t){return t.el});for(var i=0;i<r.length;i++)r[i].marker=this._getLabel(i+1)}}},{key:"_getLabel",value:function t(t){var e=this;var n=this._classes.filter(function(t){return e._allLabels.includes(t)}).pop(),r=this._classes.filter(function(t){return e._allLabelSuffixes.includes(t)}).pop();!n&&r&&(n="qti-labels-upper-alpha");var i="";switch(n){case"qti-labels-decimal":i="".concat(t);break;case"qti-labels-lower-alpha":i="".concat(String.fromCharCode(97+t-1));break;case"qti-labels-upper-alpha":i="".concat(String.fromCharCode(65+t-1));break}return r==="qti-labels-suffix-period"?i+=".":r==="qti-labels-suffix-parenthesis"&&(i+=")"),i}}]);return e}(t);return ez([r({type:String,reflect:!0})],n.prototype,"class",1),n};var r4=nC(Z());var r6=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments);t.orientation="vertical";return t}c(e,[{key:"_handleSlotChange",value:function t(){var t=this.querySelectorAll("qti-simple-choice");this.style.setProperty("--item-count",t.length.toString())}},{key:"render",value:function t(){return ra(tt(),this._handleSlotChange)}}]);return e}(r5(r3(r1,"qti-simple-choice"),"qti-simple-choice"));r6.styles=r4,ez([r({type:String})],r6.prototype,"orientation",2),r6=ez([rM("qti-choice-interaction")],r6);var r9=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e);t._errorMessage=null;t.handlePostMessage=t.handlePostMessage.bind(t);return t}c(e,[{key:"connectedCallback",value:function t(){var t=this;h(f(e.prototype),"connectedCallback",this).call(this);var n=this.data.startsWith("http")?this.data:O(this.baseItemUrl+"/"+this.data);fetch(n).then(function(t){return t.json()}).then(function(e){t.manifest=e,t.setupCES()}).catch(function(e){t._errorMessage=e})}},{key:"setupCES",value:function t(){var t=this.shadowRoot.querySelector("#pciContainer"),e=t.contentDocument;window.addEventListener("message",this.handlePostMessage),e.open(),e.write("\n <html>\n <head>\n <link href='".concat(O("".concat(this.baseRefUrl,"/").concat(this.manifest.style[0])),"' rel=\"stylesheet\" />\n <script src='").concat(O("".concat(this.baseRefUrl,"/").concat(this.manifest.script[0])),"'><\/script>\n </head>\n <body></body>\n </html>\n ")),e.close()}},{key:"getIFrames",value:function t(){var t=this.shadowRoot.querySelectorAll("iframe"),e=this.querySelectorAll("iframe"),n=T(t).concat(T(e));var r=true,i=false,o=undefined;try{for(var a=n[Symbol.iterator](),s;!(r=(s=a.next()).done);r=true){var l=s.value;var u=l.src;if(new URL(u,window.location.href).origin===window.location.origin)try{var c=l.contentDocument||l.contentWindow.document;c&&this.getInnerIFrames(c,n)}catch(t){console.error("Error accessing nested iframe:",t)}}}catch(t){i=true;o=t}finally{try{if(!r&&a.return!=null){a.return()}}finally{if(i){throw o}}}return n.forEach(function(t,e){n.indexOf(t)!==e&&n.splice(e,1)}),n}},{key:"getInnerIFrames",value:function t(t){var e=this;var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return t.querySelectorAll("iframe").forEach(function(t){n.push(t);var r=t.src;if(new URL(r,window.location.href).origin===window.location.origin)try{var i=t.contentDocument||t.contentWindow.document;e.getInnerIFrames(i,n)}catch(t){console.error("Error accessing nested iframe:",t)}else console.warn("Skipped cross-origin iframe:",r)}),n}},{key:"postToWindowAndIframes",value:function t(t,e){window.postMessage({type:t,data:e},"*");var n=this.getIFrames();var r=true,i=false,o=undefined;try{for(var a=n[Symbol.iterator](),s;!(r=(s=a.next()).done);r=true){var l=s.value;l.contentWindow&&l.contentWindow.postMessage({type:t,data:e},"*")}}catch(t){i=true;o=t}finally{try{if(!r&&a.return!=null){a.return()}}finally{if(i){throw o}}}}},{key:"handlePostMessage",value:function t(t){var e=this;var n=t.data,r=n.type,i=n.data;switch(r){case"setResponse":this.rawResponse=i,this.saveResponse(i);break;case"getResponse":{this.postToWindowAndIframes("responseData",this.rawResponse);break}case"getMedia":{var o=this.manifest.media.map(function(t){return t.startsWith("http")?t:O(e.baseRefUrl+"/"+t)});this.postToWindowAndIframes("mediaData",o);break}case"setStageHeight":console.log("setStageHeight not implemented");break}}},{key:"validate",value:function t(){return this.rawResponse!==""}},{key:"response",get:function t(){return this.rawResponse},set:function t(t){if(typeof t=="string")this.rawResponse=t,this.saveResponse(t);else throw new Error("Value must be a string")}},{key:"disconnectedCallback",value:function t(){window.removeEventListener("message",this.handlePostMessage),h(f(e.prototype),"disconnectedCallback",this).call(this)}},{key:"render",value:function t(){return ra(tn(),this.getAttribute("width"),this.getAttribute("height"),this._errorMessage&&ra(te(),this._errorMessage))}}]);return e}(r1);ez([r({type:String,attribute:"data"})],r9.prototype,"data",2),ez([r({type:String,attribute:"data-base-item"})],r9.prototype,"baseItemUrl",2),ez([r({type:String,attribute:"data-base-ref"})],r9.prototype,"baseRefUrl",2),ez([r({type:String,attribute:"id"})],r9.prototype,"id",2),ez([i()],r9.prototype,"_errorMessage",2),r9=ez([rM("qti-custom-interaction")],r9);var r7=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments);t.disabled=!1;t.countAttempt=null;t.title="end attempt";return t}c(e,[{key:"render",value:function t(){return ra(tr(),this.disabled,this.endAttempt,this.title)}},{key:"endAttempt",value:function t(t){this.dispatchEvent(new CustomEvent("end-attempt",{bubbles:!0,composed:!0,detail:{responseIdentifier:this.responseIdentifier,countAttempt:this.countAttempt==="true"}}))}}]);return e}(rS);ez([r({type:String,attribute:"response-identifier"})],r7.prototype,"responseIdentifier",2),ez([r({reflect:!0,type:Boolean})],r7.prototype,"disabled",2),ez([r({type:String,attribute:"count-attempt"})],r7.prototype,"countAttempt",2),ez([r({type:String})],r7.prototype,"title",2),r7=ez([rM("qti-end-attempt-interaction")],r7);var r8=nC(ti());var it=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments);t._rows=5;t.response=null;t._handleResponseChange=function(){t._internals.setFormValue(t.value),t.validate()};return t}c(e,[{key:"handleclassNamesChange",value:function t(t,e){var n=this;var r=e.split(" "),i=!1;if(r.forEach(function(t){if(t.startsWith("qti-height-lines-")){var e=t.replace("qti-height-lines-","");n._rows=parseInt(e),i=!0}}),!i&&this.expectedLength){var o=Math.ceil(this.expectedLength/50);this._rows=o}}},{key:"value",get:function t(){return this.response||null},set:function t(t){this.response=t||null}},{key:"validate",value:function t(){var t=this.shadowRoot.querySelector("textarea");if(!t)return!1;if(this.patternMask&&this.dataPatternmaskMessage){this._internals.setValidity({}),t.setCustomValidity("");var e=this.patternMask.startsWith("^")&&this.patternMask.endsWith("$")?this.patternMask:"^".concat(this.patternMask,"$"),n=new RegExp(e);t.checkValidity()&&n.test(t.value)||(this._internals.setValidity({customError:!0},this.dataPatternmaskMessage),t.setCustomValidity(this.dataPatternmaskMessage))}else{var r=t.checkValidity();this._internals.setValidity(r?{}:{customError:!1})}return!!this.response&&t.checkValidity()}},{key:"reportValidity",value:function t(){var t=this.shadowRoot.querySelector("textarea");if(!t)return!1;var e=this.validate();return e||t.reportValidity(),e}},{key:"render",value:function t(){var t=this;return ra(to(),this.responseIdentifier,5e3,function(t){return t.stopImmediatePropagation()},this.textChanged,this.textChanged,function(e){t.reportValidity()},rG(this.placeholderText?this.placeholderText:void 0),this._rows,this.disabled,this.readonly,this.response)}},{key:"textChanged",value:function t(t){if(this.disabled||this.readonly)return;var e=t.target;this.setEmptyAttribute(e.value),this.response!==e.value&&(this.value=e.value,this.saveResponse(e.value))}},{key:"setEmptyAttribute",value:function t(t){this.setAttribute("empty",t===""?"true":"false")}}]);return e}(r1);it.styles=r8,ez([i()],it.prototype,"_rows",2),ez([r({type:Number,attribute:"expected-length"})],it.prototype,"expectedLength",2),ez([r({type:String,attribute:"pattern-mask"})],it.prototype,"patternMask",2),ez([r({type:String,attribute:"placeholder-text"})],it.prototype,"placeholderText",2),ez([r({type:String,attribute:"data-patternmask-message"})],it.prototype,"dataPatternmaskMessage",2),ez([r({type:String,attribute:"class"})],it.prototype,"classNames",2),ez([d("classNames")],it.prototype,"handleclassNamesChange",1),ez([i()],it.prototype,"response",2),ez([d("response",{waitUntilFirstUpdate:!0})],it.prototype,"_handleResponseChange",2),it=ez([rM("qti-extended-text-interaction")],it);var ie=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments);t.tabindex=0;return t}c(e,[{key:"connectedCallback",value:function t(){this.setAttribute("slot","drags")}}]);return e}(rS);ie.styles=nC(ta()),ez([r({type:Number,reflect:!0})],ie.prototype,"tabindex",2),ie=ez([rM("qti-gap-img")],ie);var ir=nC(ts());var ii=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"render",value:function t(){return ra(tl())}},{key:"toggleCorrectResponse",value:function t(t,e){var n=this;if(e&&t.correctResponse){var r=[],i=Array.isArray(t.correctResponse)?t.correctResponse:[t.correctResponse];i&&(r=i.map(function(t){var e=t.split(" ");return{text:e[0],gap:e[1]}})),this.querySelectorAll("qti-gap").forEach(function(t){var e,i,o;var a=t.getAttribute("identifier"),s=(e=r.find(function(t){return t.gap===a}))===null||e===void 0?void 0:e.text,l=(i=n.querySelector('qti-gap-text[identifier="'.concat(s,'"]')))===null||i===void 0?void 0:i.textContent.trim();if(s&&l){var u;if(!((u=t.nextElementSibling)===null||u===void 0?void 0:u.classList.contains("correct-option"))){var c=document.createElement("span");c.classList.add("correct-option"),c.textContent=l,c.style.border="1px solid var(--qti-correct)",c.style.borderRadius="4px",c.style.padding="2px 4px",c.style.display="inline-block",t.insertAdjacentElement("afterend",c)}}else((o=t.nextElementSibling)===null||o===void 0?void 0:o.classList.contains("correct-option"))&&t.nextElementSibling.remove()})}else this.querySelectorAll(".correct-option").forEach(function(t){t.remove()})}}]);return e}(rZ(r1,"qti-gap-text","qti-gap","slot[part='drags']"));ii.styles=ir,ii=ez([rM("qti-gap-match-interaction")],ii);var io={toAttribute:function(t){return t?"true":"false"},fromAttribute:function(t){return t==="true"}};var ia=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments);t.tabindex=0;return t}c(e,[{key:"connectedCallback",value:function t(){h(f(e.prototype),"connectedCallback",this).call(this),this.setAttribute("slot","drags")}},{key:"render",value:function t(){return ra(tu())}}]);return e}(eR(rS,"qti-gap-text"));ia.styles=nC(tc()),ez([r({type:Number,reflect:!0})],ia.prototype,"tabindex",2),ia=ez([rM("qti-gap-text")],ia);var is=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments);t.tabindex=0;return t}c(e,[{key:"render",value:function t(){return ra(td())}}]);return e}(rS);is.styles=nC(th()),ez([r({type:Number,reflect:!0})],is.prototype,"tabindex",2),is=ez([rM("qti-gap")],is);var il={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},iu=function(t){return function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++){n[r]=arguments[r]}return{_$litDirective$:t,values:n}}},ic=/*#__PURE__*/function(){"use strict";function t(e){s(this,t)}c(t,[{key:"_$AU",get:function t(){return this._$AM._$AU}},{key:"_$AT",value:function t(t,e,n){this._$Ct=t,this._$AM=e,this._$Ci=n}},{key:"_$AS",value:function t(t,e){return this.update(t,e)}},{key:"update",value:function t(t,e){return this.render.apply(this,T(e))}}]);return t}();var id=rE.I;var ih=function(t){return t.strings===void 0},ip=function(){return document.createComment("")},iv=function(t,e,n){var r=t._$AA.parentNode,i=e===void 0?t._$AB:e._$AA;if(n===void 0){var o=r.insertBefore(ip(),i),a=r.insertBefore(ip(),i);n=new id(o,a,t,t.options)}else{var s=n._$AB.nextSibling,l=n._$AM,u=l!==t;if(u){var c;var d;(c=n._$AQ)===null||c===void 0?void 0:c.call(n,t),n._$AM=t,n._$AP!==void 0&&(d=t._$AU)!==l._$AU&&n._$AP(d)}if(s!==i||u){var h=n._$AA;for(;h!==s;){var f=h.nextSibling;r.insertBefore(h,i),h=f}}}return n},iy=function(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:t;return t._$AI(e,n),t},im={},ig=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:im;return t._$AH=e},ib=function(t){return t._$AH},i_=function(t){var e;(e=t._$AP)===null||e===void 0?void 0:e.call(t,!1,!0);var n=t._$AA,r=t._$AB.nextSibling;for(;n!==r;){var i=n.nextSibling;n.remove(),n=i}};var ik=function(t,e,n){var r=new Map;for(var i=e;i<=n;i++)r.set(t[i],i);return r},iw=iu(/*#__PURE__*/function(t){"use strict";p(e,t);function e(t){s(this,e);var n;if(n=a(this,e,[t]),t.type!==il.CHILD)throw Error("repeat() can only be used in text expressions");return n}c(e,[{key:"dt",value:function t(t,e,n){var r;n===void 0?n=e:e!==void 0&&(r=e);var i=[],o=[],a=0;var s=true,l=false,u=undefined;try{for(var c=t[Symbol.iterator](),d;!(s=(d=c.next()).done);s=true){var h=d.value;i[a]=r?r(h,a):a,o[a]=n(h,a),a++}}catch(t){l=true;u=t}finally{try{if(!s&&c.return!=null){c.return()}}finally{if(l){throw u}}}return{values:o,keys:i}}},{key:"render",value:function t(t,e,n){return this.dt(t,e,n).values}},{key:"update",value:function t(t,e){var n=S(e,3),r=n[0],i=n[1],o=n[2];var a=ib(t),s=this.dt(r,i,o),l=s.values,u=s.keys;if(!Array.isArray(a))return this.ut=u,l;var c;var d=(c=this.ut)!==null&&c!==void 0?c:this.ut=[],h=[],f,p,v=0,y=a.length-1,m=0,g=l.length-1;for(;v<=y&&m<=g;)if(a[v]===null)v++;else if(a[y]===null)y--;else if(d[v]===u[m])h[m]=iy(a[v],l[m]),v++,m++;else if(d[y]===u[g])h[g]=iy(a[y],l[g]),y--,g--;else if(d[v]===u[g])h[g]=iy(a[v],l[g]),iv(t,h[g+1],a[v]),v++,g--;else if(d[y]===u[m])h[m]=iy(a[y],l[m]),iv(t,a[v],a[y]),y--,m++;else if(f===void 0&&(f=ik(u,m,g),p=ik(d,v,y)),f.has(d[v]))if(f.has(d[y])){var b=p.get(u[m]),_=b!==void 0?a[b]:null;if(_===null){var k=iv(t,a[v]);iy(k,l[m]),h[m]=k}else h[m]=iy(_,l[m]),iv(t,a[v],_),a[b]=null;m++}else i_(a[y]),y--;else i_(a[v]),v++;for(;m<=g;){var w=iv(t,h[g+1]);iy(w,l[m]),h[m++]=w}for(;v<=y;){var E=a[v++];E!==null&&i_(E)}return this.ut=u,ig(t,h),ru}}]);return e}(ic));var iE=nC(tf());var ix=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e);t.startPoint=null;t.endPoint=null;t._correctLines=[];t._response=[];t.addEventListener("qti-register-hotspot",t.positionHotspotOnRegister);return t}c(e,[{key:"reset",value:function t(){this._response=[],this._correctLines=[]}},{key:"validate",value:function t(){return this.response.length>0}},{key:"response",get:function t(){return this._response},set:function t(t){this._response=t}},{key:"toggleCorrectResponse",value:function t(t,e){if(!e){this._correctLines=[];return}if(!t.correctResponse){console.error("No correct response found for this interaction.");return}var n=Array.isArray(t.correctResponse)?t.correctResponse:[t.correctResponse];this._correctLines=n}},{key:"render",value:function t(){var t=this;var e,n,r,i;return ra(tm(),rG((e=this.grImage[0])===null||e===void 0?void 0:e.width),rG((n=this.grImage[0])===null||n===void 0?void 0:n.height),(r=this.grImage[0])===null||r===void 0?void 0:r.width,(i=this.grImage[0])===null||i===void 0?void 0:i.height,iw(this.response,function(t){return t},function(e,n){return rs(tp(),parseInt(t.querySelector("[identifier=".concat(e.split(" ")[0],"]")).style.left),parseInt(t.querySelector("[identifier=".concat(e.split(" ")[0],"]")).style.top),parseInt(t.querySelector("[identifier=".concat(e.split(" ")[1],"]")).style.left),parseInt(t.querySelector("[identifier=".concat(e.split(" ")[1],"]")).style.top),function(e){e.stopPropagation(),t._response=t._response.filter(function(t,e){return e!==n}),t.saveResponse(t.response)})}),iw(this._correctLines,function(t){return t},function(e,n){return rs(tv(),parseInt(t.querySelector("[identifier=".concat(e.split(" ")[0],"]")).style.left),parseInt(t.querySelector("[identifier=".concat(e.split(" ")[0],"]")).style.top),parseInt(t.querySelector("[identifier=".concat(e.split(" ")[1],"]")).style.left),parseInt(t.querySelector("[identifier=".concat(e.split(" ")[1],"]")).style.top))}),this.startPoint&&rs(ty(),this.startCoord.x,this.startCoord.y,this.mouseCoord.x,this.mouseCoord.y))}},{key:"positionHotspotOnRegister",value:function t(t){var e=this.querySelector("img"),n=t.target,r=n.getAttribute("coords"),i=n.getAttribute("shape"),o=r.split(",").map(function(t){return parseInt(t)});eP(i,o,e,n)}},{key:"firstUpdated",value:function t(){var t=this;this.hotspots=this.querySelectorAll("qti-associable-hotspot"),this.addEventListener("mousemove",function(e){var n=t.grImage[0];if(!n)return;var r=n.getBoundingClientRect();t.mouseCoord={x:e.clientX-r.left,y:e.clientY-r.top}}),this.hotspots.forEach(function(e){e.style.left=e.getAttribute("coords").split(",")[0]+"px",e.style.top=e.getAttribute("coords").split(",")[1]+"px",e.addEventListener("click",function(e){t.startPoint?t.endPoint||(t.endPoint=e.target,t._response=T(t.response).concat(["".concat(t.startPoint.getAttribute("identifier")," ").concat(t.endPoint.getAttribute("identifier"))]),t.saveResponse(t.response),t.startPoint=null,t.endPoint=null):(t.startPoint=e.target,t.startCoord={x:parseInt(t.startPoint.getAttribute("coords").split(",")[0]),y:parseInt(t.startPoint.getAttribute("coords").split(",")[1])})})})}},{key:"disconnectedCallback",value:function t(){h(f(e.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("qti-register-hotspot",this.positionHotspotOnRegister)}}]);return e}(r1);ix.styles=iE,ez([i()],ix.prototype,"_correctLines",2),ez([i()],ix.prototype,"startCoord",2),ez([i()],ix.prototype,"mouseCoord",2),ez([u({selector:"img"})],ix.prototype,"grImage",2),ez([i()],ix.prototype,"_response",2),ix=ez([rM("qti-graphic-associate-interaction")],ix);var iA=nC(tg());var iC=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"render",value:function t(){return ra(tb())}},{key:"positionHotspotOnRegister",value:function t(t){var e=t.target,n=e.getAttribute("coords"),r=e.getAttribute("shape"),i=n.split(",").map(function(t){return parseInt(t)});switch(r){case"circle":{var o=S(i,3),a=o[0],s=o[1],l=o[2];e.style.left=a-l+"px",e.style.top=s-l+"px",e.style.width=e.style.height=2*l+"px"}break;case"rect":{var u=S(i,4),c=u[0],d=u[1],h=u[2],f=u[3];e.style.left=c+"px",e.style.top=d+"px",e.style.width=h-c+"px",e.style.height=f-d+"px"}break;default:break}}},{key:"connectedCallback",value:function t(){h(f(e.prototype),"connectedCallback",this).call(this),this.addEventListener("qti-register-hotspot",this.positionHotspotOnRegister)}},{key:"disconnectedCallback",value:function t(){h(f(e.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("qti-register-hotspot",this.positionHotspotOnRegister)}}]);return e}(rZ(r1,"qti-gap-img, qti-gap-text","qti-associable-hotspot","slot[part='drags']"));iC.styles=iA,iC=ez([rM("qti-graphic-gap-match-interaction")],iC);var iq=nC(t_());var iS=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments);t._choiceElements=[];return t}c(e,[{key:"render",value:function t(){return ra(tk())}},{key:"setHotspotOrder",value:function t(t){var e=t.detail,n=e.identifier,r=this._choiceElements.find(function(t){return t.getAttribute("identifier")===n});if(!r)return;var i=this._choiceElements.length;if(!this.choiceOrdering){if(this.choiceOrdering=!0,r.order==null){var o=this._choiceElements.filter(function(t){return t.order!=null}).length;if(o>=i){this.choiceOrdering=!1;return}r.order=o+1}else{var a=r.order;r.order=null,this._choiceElements.forEach(function(t){t.order!=null&&t.order>a&&t.order--})}this.choiceOrdering=!1}}},{key:"toggleCorrectResponse",value:function t(t,e){var n;var r=this._choiceElements;var i=true,o=false,a=undefined;try{var s=function(){var r=u.value;if(e&&((n=t.correctResponse)===null||n===void 0?void 0:n.length)>0&&Array.isArray(t.correctResponse)){var i=t.correctResponse.findIndex(function(t){return t===r.identifier});i>=0?r.orderCorrect=i+1:r.orderCorrect=null}else r.orderCorrect=null};for(var l=r[Symbol.iterator](),u;!(i=(u=l.next()).done);i=true)s()}catch(t){o=true;a=t}finally{try{if(!i&&l.return!=null){l.return()}}finally{if(o){throw a}}}}},{key:"positionHotspotOnRegister",value:function t(t){var e=this.querySelector("img"),n=t.target,r=n.getAttribute("coords"),i=n.getAttribute("shape"),o=r.split(",").map(function(t){return parseInt(t)});eP(i,o,e,n)}},{key:"connectedCallback",value:function t(){h(f(e.prototype),"connectedCallback",this).call(this),this.addEventListener("activate-qti-hotspot-choice",this.setHotspotOrder),this.addEventListener("register-qti-hotspot-choice",this.positionHotspotOnRegister)}},{key:"disconnectedCallback",value:function t(){h(f(e.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("activate-qti-hotspot-choice",this.setHotspotOrder),this.removeEventListener("register-qti-hotspot-choice",this.positionHotspotOnRegister)}}]);return e}(r3(r1,"qti-hotspot-choice"));iS.styles=iq,iS=ez([rM("qti-graphic-order-interaction")],iS);var iR=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}return e}(eR(rS,"qti-hotspot-choice"));iR.styles=nC(tw()),ez([r({attribute:"aria-ordervalue",type:Number,reflect:!0})],iR.prototype,"order",2),ez([r({attribute:"aria-ordercorrectvalue",type:Number,reflect:!0})],iR.prototype,"orderCorrect",2),iR=ez([rM("qti-hotspot-choice")],iR);var iP=nC(tE());var iM=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"render",value:function t(){return ra(tx())}},{key:"positionHotspotOnRegister",value:function t(t){var e=this.querySelector("img"),n=t.target,r=n.getAttribute("coords"),i=n.getAttribute("shape"),o=r.split(",").map(function(t){return parseInt(t)});eP(i,o,e,n)}},{key:"connectedCallback",value:function t(){h(f(e.prototype),"connectedCallback",this).call(this),this.addEventListener("register-qti-hotspot-choice",this.positionHotspotOnRegister)}},{key:"disconnectedCallback",value:function t(){h(f(e.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("unregister-qti-hotspot-choice",this.positionHotspotOnRegister)}}]);return e}(r3(r1,"qti-hotspot-choice"));iM.styles=iP,iM=ez([rM("qti-hotspot-interaction")],iM);var iT=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments);t.render=function(){return ra(tA())};return t}return e}(r3(r1,"qti-hottext"));iT=ez([rM("qti-hottext-interaction")],iT);var iI=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"render",value:function t(){return ra(tC())}}]);return e}(eR(rS,"qti-hottext"));iI.styles=nC(tq()),iI=ez([rM("qti-hottext")],iI);var iO=/*#__PURE__*/function(t){"use strict";p(e,t);function e(t){s(this,e);var n;if(n=a(this,e,[t]),n.it=rc,t.type!==il.CHILD)throw Error(n.constructor.directiveName+"() can only be used in child bindings");return n}c(e,[{key:"render",value:function t(t){if(t===rc||t==null)return this._t=void 0,this.it=t;if(t===ru)return t;if(typeof t!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this._t;this.it=t;var e=[t];return e.raw=e,this._t={_$litType$:this.constructor.resultType,strings:e,values:[]}}}]);return e}(ic);iO.directiveName="unsafeHTML",iO.resultType=1;var iU=iu(iO);var i$=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments);t.options=[];t.correctOption="";t.dataPrompt="select";return t}c(e,[{key:"render",value:function t(){return ra(tP(),this.choiceSelected,this.disabled,this.readonly,this.options.map(function(t){return ra(tR(),t.value,t.selected,iU(t.textContent))}),iU(this.correctOption))}},{key:"connectedCallback",value:function t(){h(f(e.prototype),"connectedCallback",this).call(this),this.addEventListener("on-dropdown-selected",this.choiceSelected);var t=Array.from(this.querySelectorAll("qti-inline-choice"));this.options=[{textContent:this.dataPrompt,value:"",selected:!1}].concat(T(t.map(function(t){return{textContent:t.innerHTML,value:t.getAttribute("identifier"),selected:!1}})))}},{key:"disconnectedCallback",value:function t(){this.removeEventListener("on-dropdown-selected",this.choiceSelected)}},{key:"validate",value:function t(){var t=this.options.find(function(t){return t.selected});return t?t.value!=="":!1}},{key:"reset",value:function t(){this.options=this.options.map(function(t,e){return E(k({},t),{selected:e===0})})}},{key:"response",get:function t(){var t;return((t=this.options.find(function(t){return t.selected}))===null||t===void 0?void 0:t.value)||null},set:function t(t){this.options=this.options.map(function(e){return t&&t===e.value&&(e.selected=!0),e})}},{key:"toggleCorrectResponse",value:function t(t,e){var n=this;var r;if(this.correctResponse=e&&((r=t.correctResponse)===null||r===void 0?void 0:r.toString()),!this.correctResponse){this.correctOption="";return}this.correctOption='<span part="correct-option" style="border:1px solid var(--qti-correct); border-radius:4px; padding: 2px 4px; margin: 4px; display:inline-block">'.concat(this.options.find(function(t){return n.correctResponse===t.value}).textContent,"</span>")}},{key:"choiceSelected",value:function t(t){var e=t.target.value;this.options=this.options.map(function(t){return E(k({},t),{selected:t.value===e})}),this.saveResponse(e)}}],[{key:"styles",get:function t(){return[nC(tS())]}}]);return e}(r1);i$.inputWidthClass=["","qti-input-width-2","qti-input-width-1","qti-input-width-3","qti-input-width-4","qti-input-width-6","qti-input-width-10","qti-input-width-15","qti-input-width-20","qti-input-width-72"],ez([i()],i$.prototype,"options",2),ez([i()],i$.prototype,"correctOption",2),ez([r({attribute:"data-prompt",type:String})],i$.prototype,"dataPrompt",2),i$=ez([rM("qti-inline-choice-interaction")],i$);var iL=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"connectedCallback",value:function t(){h(f(e.prototype),"connectedCallback",this).call(this),this.addEventListener("click",this._onSelectInlineChoice),this.dispatchEvent(new CustomEvent("qti-inline-choice-register",{bubbles:!0,composed:!0,cancelable:!1}))}},{key:"disconnectedCallback",value:function t(){this.removeEventListener("click",this._onSelectInlineChoice)}},{key:"render",value:function t(){return ra(tT())}},{key:"_onSelectInlineChoice",value:function t(){this.dispatchEvent(new CustomEvent("qti-inline-choice-select",{bubbles:!0,cancelable:!1,composed:!0,detail:{identifier:this.identifier}}))}}],[{key:"styles",get:function t(){return[nC(tM())]}}]);return e}(rS);ez([r({type:String})],iL.prototype,"identifier",2),iL=ez([rM("qti-inline-choice")],iL);var iN=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments);t.matchMin=0;t.matchMax=1;t.fixed=!1;return t}c(e,[{key:"connectedCallback",value:function t(){h(f(e.prototype),"connectedCallback",this).call(this),this.setAttribute("slot","qti-simple-associable-choice"),this.setAttribute("part","qti-simple-associable-choice")}},{key:"render",value:function t(){return ra(tI())}}]);return e}(eR(rS,"qti-simple-associable-choice"));iN.styles=nC(tO()),ez([r({type:Number,attribute:"match-min"})],iN.prototype,"matchMin",2),ez([r({type:Number,attribute:"match-max"})],iN.prototype,"matchMax",2),ez([r({type:String,attribute:"fixed",converter:{fromAttribute:function(t){return t==="true"},toAttribute:function(t){return String(t)}}})],iN.prototype,"fixed",2),iN=ez([rM("qti-simple-associable-choice")],iN);var iD=nC(tU());var iV=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments);t.lastCheckedRadio=null;t.class="";t._response=[];t.responseIdentifier="";t.correctOptions=[];t.handleRadioClick=function(e){var n=e.target;t.lastCheckedRadio===n?(n.checked=!1,t.lastCheckedRadio=null,t.handleRadioChange(e)):t.lastCheckedRadio=n};t.handleRadioChange=function(e){var n=e.target,r=n.value,i=n.name,o=n.type;n.checked?(t.response?t.response.indexOf(r)===-1&&(o==="radio"&&(t.response=t.response.filter(function(t){return t.indexOf(i)===-1})),t.response=T(t.response).concat([r])):t.response=[r],t.lastCheckedRadio=n):(t.response=t.response.filter(function(t){return t!==r}),t.lastCheckedRadio=null),t.requestUpdate(),t.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,detail:{responseIdentifier:t.responseIdentifier,response:Array.isArray(t.response)?T(t.response):t.response}}))};return t}c(e,[{key:"response",get:function t(){return this.classList.contains("qti-match-tabular")?this._response:h(f(e.prototype),"response",this)},set:function t(t){this.classList.contains("qti-match-tabular")?this._response=t:C(f(e.prototype),"response",t,this,true)}},{key:"connectedCallback",value:function t(){var t=this;var n=this,r=function(){return h(f(e.prototype),"connectedCallback",t)};return o(function(){return L(this,function(t){r().call(n),n.rows=Array.from(n.querySelectorAll("qti-simple-match-set:first-of-type qti-simple-associable-choice")),n.cols=Array.from(n.querySelectorAll("qti-simple-match-set:last-of-type qti-simple-associable-choice")),n.response=[];return[2]})})()}},{key:"validate",value:function t(){var t;return this.class.split(" ").includes("qti-match-tabular")?((t=this.response)===null||t===void 0?void 0:t.length)===this.rows.length:h(f(e.prototype),"validate",this).call(this)}},{key:"toggleCorrectResponse",value:function t(t,e){var n=this;if(t.correctResponse){var r=(Array.isArray(t.correctResponse)?t.correctResponse:[t.correctResponse]).map(function(t){var e=S(t.split(" "),2),n=e[0],r=e[1];return{text:n,gap:r}});this.class.split(" ").includes("qti-match-tabular")?e?this.correctOptions=r:this.correctOptions=[]:e&&(this.querySelectorAll(".correct-option").forEach(function(t){return t.remove()}),this.cols.forEach(function(t){var e=t.getAttribute("identifier"),i=r.find(function(t){return t.gap===e});if(i===null||i===void 0?void 0:i.text){var o,a,s;var l=(a=n.querySelector('qti-simple-associable-choice[identifier="'.concat(i.text,'"]')))===null||a===void 0?void 0:(o=a.textContent)===null||o===void 0?void 0:o.trim();if(l&&!((s=t.previousElementSibling)===null||s===void 0?void 0:s.classList.contains("correct-option"))){var u=document.createElement("span");u.classList.add("correct-option"),u.textContent=l,u.style.border="1px solid var(--qti-correct)",u.style.borderRadius="4px",u.style.padding="2px 4px",u.style.display="inline-block",t.insertAdjacentElement("beforebegin",u)}}}))}else this.querySelectorAll(".correct-option").forEach(function(t){return t.remove()})}},{key:"render",value:function t(){var t=this;var e=this.class.split(" ").includes("qti-match-tabular");return ra(tV(),e,e?ra(tD(),this.cols.map(function(t){return ra(t$(),iU(t.innerHTML))}),this.rows.map(function(e){return ra(tN(),iU(e.innerHTML),t.cols.map(function(n){var r=e.getAttribute("identifier"),i=n.getAttribute("identifier"),o="".concat(r," ").concat(i),a=t.response.filter(function(t){return t.split(" ")[0]===r}).length||0,s=t.response.includes(o),l="rb ".concat(s?"rb-checked":""," ").concat(t.correctOptions.find(function(t){return t.text===r&&t.gap===i})?"rb-correct":""),u=t.correctOptions.length>0?!0:e.matchMax===1?!1:e.matchMax!==0&&a>=e.matchMax&&!s;return ra(tL(),e.matchMax===1?"radio":"checkbox",l,r,o,u,function(e){return t.handleRadioChange(e)},function(n){return e.matchMax===1?t.handleRadioClick(n):null})}))})):rc)}}]);return e}(rZ(r1,"qti-simple-match-set:first-of-type qti-simple-associable-choice, qti-simple-match-set:last-of-type > qti-simple-associable-choice > qti-simple-associable-choice","qti-simple-match-set:last-of-type > qti-simple-associable-choice","qti-simple-match-set:first-of-type"));iV.styles=iD,ez([r({type:String})],iV.prototype,"class",2),ez([i()],iV.prototype,"_response",2),ez([r({type:String,attribute:"response-identifier"})],iV.prototype,"responseIdentifier",2),ez([i()],iV.prototype,"correctOptions",2),iV=ez([rM("qti-match-interaction")],iV);var ij=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e);t._value=null;return t}c(e,[{key:"reset",value:function t(){}},{key:"validate",value:function t(){return!0}},{key:"response",get:function t(){return this._value?this._value.toString():null},set:function t(t){if(t)if(!isNaN(parseInt(t===null||t===void 0?void 0:t.toString())))this._value=parseInt(t.toString());else throw new Error("Value must be a number ".concat(t))}},{key:"render",value:function t(){return ra(tj())}},{key:"connectedCallback",value:function t(){var t=this;h(f(e.prototype),"connectedCallback",this).call(this);var n=this.querySelector("audio")||this.querySelector("video")||this.querySelector("object");n&&n.addEventListener("ended",function(){t._value++,t.saveResponse(t.value)})}}],[{key:"properties",get:function t(){return E(k({},r1.properties),{step:{type:Number,attribute:"step",default:10}})}}]);return e}(r1);ij.styles=[nC(tH())],ij=ez([rM("qti-media-interaction")],ij);var iH=nC(tz());var iz=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments);t.nrChoices=0;t.correctResponses=[];t.showCorrectResponses=!1;return t}c(e,[{key:"render",value:function t(){var t=Array.from(this.querySelectorAll("qti-simple-choice"));return this.nrChoices<t.length&&(this.nrChoices=t.length),ra(tF(),T(Array(this.nrChoices)).map(function(t,e){return ra(tQ(),e)}))}},{key:"toggleCorrectResponse",value:function t(t,e){var n=this;if(this.shadowRoot.querySelectorAll(".correct-option").forEach(function(t){return t.remove()}),e&&t.correctResponse){var r=(Array.isArray(t.correctResponse)?t.correctResponse:[t.correctResponse]).map(function(t){return t.split(" ")[0]}),i=new Set;this.querySelectorAll("qti-simple-choice").forEach(function(t,e){var o;var a=t.getAttribute("identifier");if(!a||!r.includes(a)||i.has(a))return;i.add(a);var s=(o=t.textContent)===null||o===void 0?void 0:o.trim();if(!s)return;var l=n.shadowRoot.querySelector('drop-list[identifier="droplist'.concat(e,'"]'));if(!l)return;var u=document.createElement("span");u.classList.add("correct-option"),u.textContent=s,u.style.border="1px solid var(--qti-correct)",u.style.borderRadius="4px",u.style.padding="2px 4px",u.style.display="inline-block",u.style.marginTop="4px",l.insertAdjacentElement("afterend",u)})}}},{key:"getValue",value:function t(t){return(t===null||t===void 0?void 0:t.map(function(t,e){return"".concat(t," droplist").concat(e)}))||[]}},{key:"getResponse",value:function t(){return Array.from(this.shadowRoot.querySelectorAll("drop-list")).map(function(t){var e=t.querySelectorAll('[qti-draggable="true"]');return T(Array.from(e).map(function(t){return t.getAttribute("identifier")})).join(" ")})}},{key:"firstUpdated",value:function t(t){var n=this;var r=this,i=function(){return h(f(e.prototype),"firstUpdated",n)};return o(function(){return L(this,function(e){i().call(r,t),r.childrenMap=Array.from(r.querySelectorAll("qti-simple-choice")),r.childrenMap.forEach(function(t){return t.setAttribute("part","qti-simple-choice")});return[2]})})()}}]);return e}(rZ(r1,"qti-simple-choice","drop-list","slot[part='drags']"));iz.styles=iH,ez([i()],iz.prototype,"nrChoices",2),ez([i()],iz.prototype,"correctResponses",2),ez([i()],iz.prototype,"showCorrectResponses",2),ez([r({type:String})],iz.prototype,"orientation",2),iz=ez([rM("qti-order-interaction")],iz);var iQ=nC(tB());var iF=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments);t._iframeLoaded=!1;t._pendingMessages=[];t._errorMessage=null;t.response=[];t.handleIframeMessage=function(e){var n=e.data;if(!(!n||n.source!=="qti-pci-iframe"))switch(n.method){case"iframeReady":t.initializeInteraction(),t.processPendingMessages(),t.dispatchEvent(new CustomEvent("qti-portable-custom-interaction-loaded",{bubbles:!0}));break;case"resize":typeof n.height=="number"&&(t.iframe.style.height="".concat(n.height,"px"),t.iframe.style.width="".concat(n.width,"px"));break;case"interactionChanged":{var r=t.convertQtiVariableJSON(n.params.value);console.log("Interaction changed:",r),t.response=r,t.validate(),t.saveResponse(t.response);break}case"error":t._errorMessage=n.params.message,console.error("Error from PCI iframe:",n.params.message);break}};return t}c(e,[{key:"convertQtiVariableJSON",value:function t(t){for(var e in t)if(Object.prototype.hasOwnProperty.call(t,e)){var n=t[e];if(n){for(var r in n)if(Object.prototype.hasOwnProperty.call(n,r)){var i=n[r];if(Array.isArray(i))return i.map(String);if(i!=null)return String(i)}}}return null}},{key:"responseVariablesToQtiVariableJSON",value:function t(t,e,n){if(e!=="single"){var r={list:{}};return r.list[n]=t,r}else{var i={base:{}};return i.base[n]=t,i}}},{key:"validate",value:function t(){return!0}},{key:"value",get:function t(){var t;return((t=this._value)===null||t===void 0?void 0:t.toString())||null},set:function t(t){var e=this;var n,r,i,o,a,s;this._value=t;var l=((i=this.context)===null||i===void 0?void 0:(r=i.variables)===null||r===void 0?void 0:(n=r.find(function(t){return t.identifier===e.responseIdentifier}))===null||n===void 0?void 0:n.cardinality)||"single",u=((s=this.context)===null||s===void 0?void 0:(a=s.variables)===null||a===void 0?void 0:(o=a.find(function(t){return t.identifier===e.responseIdentifier}))===null||o===void 0?void 0:o.baseType)||"string";this.sendMessageToIframe("setValue",this.responseVariablesToQtiVariableJSON(this._value,l,u))}},{key:"sendMessageToIframe",value:function t(t,e){if(!this._iframeLoaded){this._pendingMessages.push({method:t,params:e});return}this.iframe.contentWindow.postMessage({source:"qti-portable-custom-interaction",method:t,params:e},"*")}},{key:"processPendingMessages",value:function t(){var t=this;this._pendingMessages.length&&(this._pendingMessages.forEach(function(e){t.sendMessageToIframe(e.method,e.params)}),this._pendingMessages=[])}},{key:"connectedCallback",value:function t(){h(f(e.prototype),"connectedCallback",this).call(this),window.addEventListener("message",this.handleIframeMessage),this.createIframe()}},{key:"disconnectedCallback",value:function t(){h(f(e.prototype),"disconnectedCallback",this).call(this),window.removeEventListener("message",this.handleIframeMessage)}},{key:"createIframe",value:function t(){var t=this;this.iframe=document.createElement("iframe"),this.iframe.id="pci-iframe-".concat(this.responseIdentifier),this.iframe.setAttribute("title","QTI PCI Iframe"),this.iframe.setAttribute("aria-label","QTI PCI Iframe"),this.iframe.setAttribute("aria-hidden","false"),this.iframe.setAttribute("role","application"),this.iframe.style.width="100%",this.iframe.style.border="none",this.iframe.style.display="block",this.iframe.onload=function(){t._iframeLoaded=!0,t.addMarkupToIframe(),t.sendIframeInitData()};var e="qti-pci-".concat(this.responseIdentifier,"-").concat(Date.now());this.iframe.name=e;var n=this.generateIframeContent(),r=encodeURIComponent(n);this.iframe.src="data:text/html;charset=utf-8,".concat(r),this.appendChild(this.iframe)}},{key:"sendIframeInitData",value:function t(){var t=this;var e,n,r,i,o,a;var s=this.responseVariablesToQtiVariableJSON(this._value,((r=this.context)===null||r===void 0?void 0:(n=r.variables)===null||n===void 0?void 0:(e=n.find(function(e){return e.identifier===t.responseIdentifier}))===null||e===void 0?void 0:e.cardinality)||"single",((a=this.context)===null||a===void 0?void 0:(o=a.variables)===null||o===void 0?void 0:(i=o.find(function(e){return e.identifier===t.responseIdentifier}))===null||i===void 0?void 0:i.baseType)||"string"),l={};l[this.responseIdentifier]=s;var u={module:this.module,customInteractionTypeIdentifier:this.customInteractionTypeIdentifier,baseUrl:this.baseUrl.startsWith("http")||this.baseUrl.startsWith("blob")||this.baseUrl.startsWith("base64")?this.baseUrl:O("".concat(window.location.origin).concat(this.baseUrl)),responseIdentifier:this.responseIdentifier,dataAttributes:k({},this.dataset),interactionModules:this.getInteractionModules(),boundTo:l};this.sendMessageToIframe("initialize",u)}},{key:"getInteractionModules",value:function t(){var t=[],e=this.querySelector("qti-interaction-modules");if(e){var n=e.querySelectorAll("qti-interaction-module");var r=true,i=false,o=undefined;try{for(var a=n[Symbol.iterator](),s;!(r=(s=a.next()).done);r=true){var l=s.value;t.push({id:l.getAttribute("id"),primaryPath:l.getAttribute("primary-path"),fallbackPath:l.getAttribute("fallback-path")})}}catch(t){i=true;o=t}finally{try{if(!r&&a.return!=null){a.return()}}finally{if(i){throw o}}}}return t}},{key:"addMarkupToIframe",value:function t(){var t=this.querySelector("qti-interaction-markup");t&&this.sendMessageToIframe("setMarkup",t.innerHTML);var e=this.querySelector("properties");e&&this.sendMessageToIframe("setProperties",e.innerHTML)}},{key:"initializeInteraction",value:function t(){var t=this;if(this._value){var e,n,r,i,o,a;var s=((r=this.context)===null||r===void 0?void 0:(n=r.variables)===null||n===void 0?void 0:(e=n.find(function(e){return e.identifier===t.responseIdentifier}))===null||e===void 0?void 0:e.cardinality)||"single",l=((a=this.context)===null||a===void 0?void 0:(o=a.variables)===null||o===void 0?void 0:(i=o.find(function(e){return e.identifier===t.responseIdentifier}))===null||i===void 0?void 0:i.baseType)||"string",u=this.responseVariablesToQtiVariableJSON(this._value,s,l);this.sendMessageToIframe("setValue",u)}}},{key:"generateIframeContent",value:function t(){var t=window.getComputedStyle(document.body),e="\n font-family: ".concat(t.getPropertyValue("font-family"),";\n font-size: ").concat(t.getPropertyValue("font-size"),";\n line-height: ").concat(t.getPropertyValue("line-height"),";\n font-weight: ").concat(t.getPropertyValue("font-weight"),";\n color: ").concat(t.getPropertyValue("color"),";\n ");return'<!DOCTYPE html>\n<html lang="en">\n<head>\n <meta charset="utf-8" />\n <title>QTI PCI Container</title>\n <base href="'.concat(window.location.origin,'" /> \n <style>\n body, html {\n margin: 0;\n padding: 0;\n width: 100%;\n height: auto;\n overflow: hidden;\n /* Add the extracted font styles here */\n ').concat(e,"\n }\n .qti-customInteraction {\n width: 100%;\n height: 100%;\n }\n #pci-container {\n width: 100%;\n height: 100%;\n }\n </style>\n <script src=\"https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js\"><\/script>\n <script>\n // Define standard paths and shims\n window.requirePaths = {\n 'taoQtiItem/portableLib/OAT/util/event': '/assets/pci-scripts/portableLib/OAT/util/event',\n 'taoQtiItem/portableLib/OAT/util/html': '/assets/pci-scripts/portableLib/OAT/util/html',\n 'taoQtiItem/portableLib/OAT/util/EventMgr': '/assets/pci-scripts/portableLib/OAT/util/EventMgr',\n 'taoQtiItem/portableLib/OAT/util/math': '/assets/pci-scripts/portableLib/OAT/util/math',\n 'taoQtiItem/portableLib/OAT/util/xml': '/assets/pci-scripts/portableLib/OAT/util/xml',\n 'taoQtiItem/portableLib/OAT/util/tooltip': '/assets/pci-scripts/portableLib/OAT/util/tooltip',\n 'taoQtiItem/portableLib/jquery_2_1_1': '/assets/pci-scripts/portableLib/jquery_2_1_1',\n 'taoQtiItem/pci-scripts/portableLib/jquery.qtip': '/assets/portableLib/jquery.qtip',\n 'taoQtiItem/pci-scripts/portableLib/lodash': '/assets/pci-scripts/portableLib/lodash',\n 'taoQtiItem/pci-scripts/portableLib/raphael': '/assets/pci-scripts/portableLib/raphael',\n 'IMSGlobal/jquery_2_1_1': '/assets/pci-scripts/IMSGlobal/jquery_2_1_1',\n 'OAT/util/event': '/assets/pci-scripts/legacyPortableSharedLib/OAT/util/event',\n 'OAT/util/html': '/assets/pci-scripts/legacyPortableSharedLib/OAT/util/html',\n 'OAT/util/EventMgr': '/assets/pci-scripts/legacyPortableSharedLib/OAT/util/EventMgr',\n 'OAT/util/math': '/assets/pci-scripts/legacyPortableSharedLib/OAT/util/math',\n 'OAT/util/xml': '/assets/pci-scripts/legacyPortableSharedLib/OAT/util/xml',\n 'OAT/util/tooltip': '/assets/pci-scripts/legacyPortableSharedLib/OAT/util/tooltip',\n 'OAT/lodash': '/assets/pci-scripts/legacyPortableSharedLib/lodash',\n 'mathJax': '/assets/pci-scripts/mathjax/mathJax',\n 'css': '/assets/pci-scripts/css/css'\n };\n \n window.requireShim = {\n mathJax: {\n exports: 'MathJax',\n init: function () {\n if (window.MathJax) {\n window.MathJax.Hub.Config({\n showMathMenu: false,\n showMathMenuMSIE: false,\n menuSettings: { inTabOrder: false },\n });\n window.MathJax.Hub.Startup.MenuZoom = function () { /* nothing */ };\n window.MathJax.Hub.Startup.onload();\n return window.MathJax;\n }\n },\n },\n };\n\n // Single initial RequireJS configuration with error handling\n window.requirejs.config({\n catchError: true,\n waitSeconds: 30,\n paths: window.requirePaths,\n shim: window.requireShim,\n onNodeCreated: function(node, config, moduleName, url) {\n console.log('RequireJS creating node for module:', moduleName, 'URL:', url);\n \n // Add error handler to script node\n node.addEventListener('error', function(evt) {\n console.error('Script load error for module:', moduleName, 'URL:', url, 'Event:', evt);\n });\n },\n onError: function(err) {\n console.error('RequireJS error:', {\n type: err.requireType,\n modules: err.requireModules,\n error: err\n });\n \n if (err.requireType === 'scripterror') {\n console.error('Script error usually indicates a network or CORS issue with:', err.requireModules);\n }\n \n // Notify parent window about the error\n window.parent.postMessage({\n source: 'qti-pci-iframe',\n method: 'error',\n params: {\n message: 'RequireJS ' + err.requireType + ' error for modules: ' + err.requireModules,\n details: {\n type: err.requireType,\n modules: err.requireModules,\n error: err.toString()\n }\n }\n }, '*');\n }\n });\n \n // PCI Manager for iframe implementation \n window.PCIManager = {\n pciInstance: null,\n container: null,\n customInteractionTypeIdentifier: null,\n \n initialize: function(config) {\n this.customInteractionTypeIdentifier = config.customInteractionTypeIdentifier;\n this.container = document.getElementById('pci-container');\n this.container.classList.add('qti-customInteraction');\n \n function getResolvablePath(path, basePath) {\n if (Array.isArray(path)) {\n return path.map(p => getResolvablePathString(p, basePath));\n } else {\n return getResolvablePathString(path, basePath);\n }\n }\n\n function removeDoubleSlashes(str) {\n return str\n .replace(/([^:\\/])\\/\\/+/g, '$1/')\n .replace(/\\/\\//g, '/')\n .replace('http:/', 'http://')\n .replace('https:/', 'https://');\n }\n \n function getResolvablePathString(path, basePath) {\n path = path.replace(/\\.js$/, '');\n return path?.toLocaleLowerCase().startsWith('http') || !basePath\n ? path\n : removeDoubleSlashes(`${basePath}/${path}`);\n }\n\n function combineRequireResolvePaths(path1, path2, baseUrl) {\n path1 = getResolvablePath(path1, baseUrl);\n const path1Array = Array.isArray(path1) ? path1 : [path1];\n if (!path2) {\n return path1Array;\n }\n path2 = getResolvablePath(path2, baseUrl);\n const path2Array = Array.isArray(path2) ? path2 : [path2];\n return path1Array.concat(path2Array).filter((value, index, self) => self.indexOf(value) === index);\n }\n\n // Update paths with modules from the config\n if (config.interactionModules && config.interactionModules.length > 0) {\n config.interactionModules.forEach(module => {\n if (module.id && module.primaryPath) {\n const currentPath = window.requirePaths[module.id] || [];\n const currentPaths = Array.isArray(currentPath) ? currentPath : [currentPath];\n const newPath = combineRequireResolvePaths(\n module.primaryPath, module.fallbackPath, config.baseUrl\n );\n window.requirePaths[module.id] = currentPaths.concat(newPath).filter((value, index, self) => self.indexOf(value) === index);\n }\n });\n }\n \n // The ONLY other requirejs.config call - with the context for this specific PCI\n window.requirejs.config({\n context: this.customInteractionTypeIdentifier,\n paths: window.requirePaths,\n shim: window.requireShim\n });\n \n // Define qtiCustomInteractionContext for the PCI\n define('qtiCustomInteractionContext', () => {\n return {\n register: pciInstance => {\n this.pciInstance = pciInstance;\n // Configure PCI instance\n const pciConfig = {\n properties: this.addHyphenatedKeys({ ...config.dataAttributes }),\n onready: pciInstance => {\n this.pciInstance = pciInstance;\n this.notifyReady();\n },\n ondone: (pciInstance, response, state, status) => {\n this.notifyInteractionChanged(response);\n },\n responseIdentifier: config.responseIdentifier,\n boundTo: config.boundTo,\n };\n \n if (pciInstance.getInstance) {\n pciInstance.getInstance(this.container, pciConfig, undefined);\n } else {\n // TAO custom interaction initialization\n const restoreTAOConfig = (dataset) => {\n const config = {};\n const parseDataAttributes = () => {\n const result = {};\n\n // Separate direct attributes from nested ones\n Object.entries(dataset || []).forEach(([key, value]) => {\n if (!key.includes('__')) {\n // Direct attributes (like version)\n result[key] = value;\n }\n });\n\n // Parse nested attributes\n const nestedData = {};\n\n Object.entries(dataset || []).forEach(([key, value]) => {\n const parts = key.split('__');\n if (parts.length > 1) {\n const [group, index, prop] = parts;\n nestedData[group] = nestedData[group] || {};\n nestedData[group][index] = nestedData[group][index] || {};\n nestedData[group][index][prop] = value;\n }\n });\n\n // Convert nested groups to arrays\n Object.entries(nestedData).forEach(([key, group]) => {\n result[key] = Object.values(group);\n });\n return result;\n };\n const data = parseDataAttributes();\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n const value = data[key];\n if (key === 'config') {\n config[key] = JSON.parse(value);\n } else {\n config[key] = value;\n }\n }\n }\n return config;\n };\n const taoConfig = restoreTAOConfig(config.dataAttributes);\n\n this.pciInstance.initialize(\n this.customInteractionTypeIdentifier,\n this.container.firstElementChild || this.container,\n Object.keys(taoConfig).length ? taoConfig : null\n );\n }\n },\n notifyReady: () => {\n // Notify parent that the PCI is ready\n window.parent.postMessage({\n source: 'qti-pci-iframe',\n method: 'pciReady'\n }, '*');\n }\n };\n });\n \n // Load the PCI module\n this.loadModule(config.module);\n },\n \n setupRequireJsConfig: function(config) {\n // This function is no longer needed as we handle config in initialize\n },\n \n loadModule: function(modulePath) {\n try { \n // Get the context-specific require\n const contextRequire = window.requirejs.config({\n context: this.customInteractionTypeIdentifier\n });\n \n contextRequire(['require'], require => { \n // Now load the actual module\n require([modulePath], () => {\n }, err => {\n console.error('Error loading module after tap loaded:', modulePath, err);\n this.notifyError('Module load error: ' + err.toString());\n });\n });\n } catch (error) {\n console.error('Exception in loadModule:', error);\n this.notifyError('Error in require call: ' + error.toString());\n }\n },\n \n notifyReady: function() {\n window.parent.postMessage({\n source: 'qti-pci-iframe',\n method: 'iframeReady'\n }, '*');\n },\n \n notifyInteractionChanged: function(response) {\n window.parent.postMessage({\n source: 'qti-pci-iframe',\n method: 'interactionChanged',\n params: { value: response }\n }, '*');\n },\n \n notifyError: function(message) {\n console.error('PCI Error:', message);\n window.parent.postMessage({\n source: 'qti-pci-iframe',\n method: 'error',\n params: { message: message }\n }, '*');\n },\n \n setMarkup: function(markupHtml) {\n this.container = document.getElementById('pci-container');\n this.container.innerHTML = markupHtml;\n },\n \n setValue: function(value) {\n if (this.pciInstance && this.pciInstance.setResponse) {\n this.pciInstance.setResponse(value);\n }\n },\n \n addHyphenatedKeys: function(properties) {\n const updatedProperties = { ...properties };\n for (const key in properties) {\n if (Object.prototype.hasOwnProperty.call(properties, key)) {\n const hyphenatedKey = key.replace(/[A-Z]/g, char => `-${char.toLowerCase()}`);\n updatedProperties[hyphenatedKey] = properties[key];\n }\n }\n return updatedProperties;\n },\n };\n \n // Set up message listener for communication with parent\n window.addEventListener('message', function(event) {\n const { data } = event;\n \n // Ensure the message is from our parent\n if (!data || data.source !== 'qti-portable-custom-interaction') {\n return;\n }\n \n switch(data.method) {\n case 'initialize':\n PCIManager.initialize(data.params);\n break;\n \n case 'setValue':\n PCIManager.setValue(data.params);\n break;\n \n case 'setMarkup':\n PCIManager.setMarkup(data.params);\n break;\n \n case 'setBoundTo':\n // Handle setting boundTo\n break;\n \n case 'setProperties':\n // Handle setting properties\n break;\n }\n });\n \n // Notify parent that iframe has loaded\n window.addEventListener('load', function() {\n window.parent.postMessage({\n source: 'qti-pci-iframe',\n method: 'iframeLoaded'\n }, '*');\n });\n let resizeTimeout;\n let previousHeight = 0;\n const notifyResize = () => {\n const container = document.getElementById('pci-container');\n const newHeight = container.scrollHeight + 100;\n if (newHeight !== previousHeight) {\n previousHeight = newHeight;\n clearTimeout(resizeTimeout);\n resizeTimeout = setTimeout(() => {\n window.parent.postMessage({\n source: 'qti-pci-iframe',\n method: 'resize',\n height: newHeight,\n width: container.scrollWidth\n }, '*');\n }, 100); // Adjust debounce time as needed\n }\n };\n\n function setupResizeObserver() {\n const container = document.getElementById('pci-container');\n if (!container || !(container instanceof Element)) {\n console.warn('ResizeObserver: document.container is not an Element');\n return;\n }\n\n const resizeObserver = new ResizeObserver(() => {\n notifyResize();\n });\n\n resizeObserver.observe(container);\n }\n\n // Run setup once DOM is ready\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', () => {\n notifyResize(); // initial resize\n setupResizeObserver();\n });\n } else {\n notifyResize();\n setupResizeObserver();\n }\n\n window.addEventListener('load', () => {\n notifyResize();\n });\n let lastResponseStr = '';\n setInterval(() => {\n if (PCIManager.pciInstance && PCIManager.pciInstance.getResponse) {\n const response = PCIManager.pciInstance.getResponse();\n const responseStr = JSON.stringify(response);\n \n if (responseStr !== lastResponseStr) {\n lastResponseStr = responseStr;\n window.parent.postMessage({\n source: 'qti-pci-iframe',\n method: 'interactionChanged',\n params: { value: response }\n }, '*');\n }\n }\n }, 500); // Check every 500ms\n <\/script>\n</head>\n<body>\n <div id=\"pci-container\"></div>\n</body>\n</html>")}},{key:"render",value:function t(){return ra(tG(),this._errorMessage?ra(tW(),this._errorMessage):"")}}]);return e}(r1);iF.styles=iQ,ez([r({type:String,attribute:"module"})],iF.prototype,"module",2),ez([r({type:String,attribute:"custom-interaction-type-identifier"})],iF.prototype,"customInteractionTypeIdentifier",2),ez([r({type:String,attribute:"data-base-url"})],iF.prototype,"baseUrl",2),ez([i()],iF.prototype,"_errorMessage",2),ez([e({context:rU,subscribe:!0}),i()],iF.prototype,"context",2),ez([i()],iF.prototype,"response",2),iF=ez([rM("qti-portable-custom-interaction")],iF);var iB=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"render",value:function t(){return ra(tX())}}]);return e}(rS);iB.styles=[nC(tJ())];customElements.define("qti-position-object-interaction",iB);var iW=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e),t.removeMoveListener=t.removeMoveListener.bind(t),t.dragElementHandler=t.dragElementHandler.bind(t);return t}c(e,[{key:"render",value:function t(){return ra(tY())}},{key:"dragElementHandler",value:function t(t){t.preventDefault();var e=t.clientX-this.startX,n=t.clientY-this.startY;this.dragElement.style.left=this.dragElement.offsetLeft+e+"px",this.dragElement.style.top=this.dragElement.offsetTop+n+"px",this.startX=t.clientX,this.startY=t.clientY}},{key:"firstUpdated",value:function t(t){var n=this;h(f(e.prototype),"firstUpdated",this).call(this,t),this.dragElement=this.querySelector("qti-position-object-interaction>img"),this.startX=0,this.startY=0,this.dragElement.addEventListener("mousedown",function(t){n.startX=t.clientX,n.startY=t.clientY,document.addEventListener("mousemove",n.dragElementHandler,!0)}),document.addEventListener("mouseup",this.removeMoveListener)}},{key:"removeMoveListener",value:function t(){document.removeEventListener("mousemove",this.dragElementHandler,!0)}},{key:"disconnectedCallback",value:function t(){h(f(e.prototype),"disconnectedCallback",this).call(this),document.removeEventListener("mousemove",this.dragElementHandler),document.removeEventListener("mouseup",this.removeMoveListener)}}]);return e}(rS);iW.styles=[nC(tK())],iW=ez([rM("qti-position-object-stage")],iW);var iG="important",iX=" !"+iG,iJ=iu(/*#__PURE__*/function(t){"use strict";p(e,t);function e(t){s(this,e);var n;var r;if(n=a(this,e,[t]),t.type!==il.ATTRIBUTE||t.name!=="style"||((r=t.strings)===null||r===void 0?void 0:r.length)>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.");return n}c(e,[{key:"render",value:function t(t){return Object.keys(t).reduce(function(e,n){var r=t[n];return r==null?e:e+"".concat(n=n.includes("-")?n:n.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase(),":").concat(r,";")},"")}},{key:"update",value:function t(t,e){var n=S(e,1),r=n[0];var i=t.element,o=i.style;if(this.ft===void 0)return this.ft=new Set(Object.keys(r)),this.render(r);var a=true,s=false,l=undefined;try{for(var u=this.ft[Symbol.iterator](),c;!(a=(c=u.next()).done);a=true){var d=c.value;r[d]==null&&(this.ft.delete(d),d.includes("-")?o.removeProperty(d):o[d]=null)}}catch(t){s=true;l=t}finally{try{if(!a&&u.return!=null){u.return()}}finally{if(s){throw l}}}for(var h in r){var f=r[h];if(f!=null){this.ft.add(h);var p=typeof f=="string"&&f.endsWith(iX);h.includes("-")||p?o.setProperty(h,p?f.slice(0,-11):f,p?iG:""):o[h]=f}}return ru}}]);return e}(ic));var iY=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments);t.maxChoices=1/0;t.minChoices=0;t.response=[];t._correctAreas=[];t._imgElement=null;t._scaleX=1;t._scaleY=1;t._imageWidthOrginal=0;t._imageHeightOrginal=0;t._onImageClick=function(e){if(!t._imgElement){console.warn("No <img> element found in <qti-select-point-interaction>");return}t.calculateScale();var n=t._imgElement.getBoundingClientRect(),r=(e.clientX-n.left)*t._scaleX,i=(e.clientY-n.top)*t._scaleY,o="".concat(r.toFixed()," ").concat(i.toFixed());t.maxChoices===1?t.response=[o]:(t.maxChoices===0||t.response.length<t.maxChoices)&&(t.response=T(t.response).concat([o])),t.saveResponse(t.response)};t._onResize=function(){t.calculateScale()};return t}c(e,[{key:"connectedCallback",value:function t(){h(f(e.prototype),"connectedCallback",this).call(this),window.addEventListener("resize",this._onResize)}},{key:"toggleCorrectResponse",value:function t(t,e){if(!e){this._correctAreas=[];return}var n=t.areaMapping,r=[];if(!n||n.areaMapEntries.length===0)if(t.correctResponse){var i=Array.isArray(t.correctResponse)?t.correctResponse:[t.correctResponse];if(i.length===0||i.find(function(t){return t.split(" ").length<2}))return console.error("No valid correct responses found for the response variable."),null;console.warn("No area mapping found for the response variable. Using the correct responses to display the correct response but it probably won't score correct."),r=i.map(function(t){return{shape:"circle",coords:t.split(" ").join(",").concat(",10"),defaultValue:1,mappedValue:1}})}else{console.error("No area mapping found for the response variable.");return}else r=n.areaMapEntries;this._correctAreas=r.map(function(t){return{coords:t.coords,shape:t.shape}})}},{key:"updated",value:function t(t){h(f(e.prototype),"updated",this).call(this,t);var n=this._imgElement;n&&t.has("_correctAreas")&&this._correctAreas.length>0&&(this.calculateScale(),this.shadowRoot.querySelectorAll("div").forEach(function(t){var e=t.dataset.coord,r=t.dataset.shape;e&&r&&eP(r,e.split(",").map(function(t){return+t}),n,t)}))}},{key:"render",value:function t(){var t=this;var e;return ra(t1(),iw(this.response.filter(function(t){return t}),function(t){return t},function(e,n){var r=S(e.split(" ").map(Number),2),i=r[0],o=r[1],a=i/(t._imageWidthOrginal||1)*100,s=o/(t._imageHeightOrginal||1)*100,l=16,u=l/(t._imageWidthOrginal||1)*100,c=l/(t._imageHeightOrginal||1)*100;return ra(tZ(),iJ({pointerEvents:t.maxChoices===1?"none":"auto",position:"absolute",transform:"translate(-50%, -50%)",left:"".concat(a,"%"),top:"".concat(s,"%"),width:"min(".concat(u,"%, 1rem)"),height:"min(".concat(c,"%, 1rem)"),minWidth:"min(".concat(u,"%, 1rem)"),minHeight:"min(".concat(c,"%, 1rem)"),borderRadius:"50%",background:"red"}),e,function(e){e.stopPropagation(),t.response=t.response.filter(function(t,e){return e!==n}),t.saveResponse(t.response)})}),iw((e=this._correctAreas)===null||e===void 0?void 0:e.filter(function(t){return t}),function(t){return t},function(t,e){return ra(t0(),iJ({position:"absolute",pointerEvents:"none",backgroundColor:"var(--qti-correct)",opacity:"0.5"}),t.coords,"correct-response-".concat(e+1),t.shape)}))}},{key:"reset",value:function t(){this.response=null}},{key:"validate",value:function t(){return this.response.length>=this.minChoices&&this.response.length<=this.maxChoices}},{key:"calculateScale",value:function t(){this._imageWidthOrginal=this._imgElement.getAttribute("width")?parseFloat(this._imgElement.getAttribute("width")):this._imgElement.naturalWidth,this._imageHeightOrginal=this._imgElement.getAttribute("height")?parseFloat(this._imgElement.getAttribute("height")):this._imgElement.naturalHeight;var t=this._imgElement.getBoundingClientRect();this._scaleX=t.width===0?1:this._imageWidthOrginal/t.width,this._scaleY=t.height===0?1:this._imageHeightOrginal/t.height}},{key:"firstUpdated",value:function t(){this._imgElement=this.querySelector("img"),this._imgElement?(this.calculateScale(),this._imgElement.addEventListener("click",this._onImageClick)):console.warn("No <img> element found in <qti-select-point-interaction>")}},{key:"disconnectedCallback",value:function t(){h(f(e.prototype),"disconnectedCallback",this).call(this),window.removeEventListener("resize",this._onResize),this._imgElement&&this._imgElement.removeEventListener("click",this._onImageClick)}}]);return e}(r1);iY.styles=[nC(t2())],ez([r({type:Number,attribute:"max-choices"})],iY.prototype,"maxChoices",2),ez([r({type:Number,attribute:"min-choices"})],iY.prototype,"minChoices",2),ez([i()],iY.prototype,"response",2),ez([i()],iY.prototype,"_correctAreas",2),iY=ez([rM("qti-select-point-interaction")],iY);var iK=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments);t.templateIdentifier=null;t.showHide="show";t.fixed=!1;return t}c(e,[{key:"checked",get:function t(){return this.internals.states.has("--checked")}},{key:"render",value:function t(){return ra(t5(),this.marker?ra(t3(),this.marker):rc)}}]);return e}(eR(rS,"qti-simple-choice"));iK.styles=nC(t4()),ez([r({type:String,attribute:"template-identifier"})],iK.prototype,"templateIdentifier",2),ez([r({type:String,attribute:"show-hide"})],iK.prototype,"showHide",2),ez([r({type:Boolean,converter:{fromAttribute:function(t){return t==="true"},toAttribute:function(t){return String(t)}}})],iK.prototype,"fixed",2),ez([r({type:String,attribute:!1})],iK.prototype,"marker",2),iK=ez([rM("qti-simple-choice")],iK);var iZ=nC(t6());var i0=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments);t._value=0;t._correctResponseNumber=null;t.min=0;t.max=100;t.step=1;return t}c(e,[{key:"validate",value:function t(){return!0}},{key:"connectedCallback",value:function t(){h(f(e.prototype),"connectedCallback",this).call(this),this._updateValue(this.min),this.setAttribute("tabindex","0"),this.setAttribute("role","slider")}},{key:"response",get:function t(){return this._value.toString()},set:function t(t){var e=parseInt(t,10);isNaN(e)||this._updateValue(e)}},{key:"toggleCorrectResponse",value:function t(t,e){if(e){this._correctResponse=t.correctResponse.toString();var n=parseFloat(t.correctResponse.toString());if(isNaN(n))this._correctResponseNumber=null;else{this._correctResponseNumber=n;var r=(this._correctResponseNumber-this.min)/(this.max-this.min)*100;this.style.setProperty("--value-percentage-correct","".concat(r,"%"))}}else this._correctResponseNumber=null;this.requestUpdate()}},{key:"_updateValue",value:function t(t){var e=this._value;if(this._value=Math.min(this.max,Math.max(this.min,t)),this._value===e)return;var n=(this._value-this.min)/(this.max-this.min)*100;this.style.setProperty("--value-percentage","".concat(n,"%")),this._internals.setFormValue(this.value),this.saveResponse(this.response),this.requestUpdate()}},{key:"render",value:function t(){return ra(t7(),this.min,this.max,this._onMouseDown,this._onTouchStart,this.response,this._correctResponseNumber!==null?ra(t9(),this._correctResponseNumber):null)}},{key:"_onMouseDown",value:function t(t){var e=this;this._startDrag(t.pageX);var n=function(t){return e._onDrag(t.pageX)},r=function(){document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",r),e._onDragEnd()};document.addEventListener("mousemove",n),document.addEventListener("mouseup",r)}},{key:"_onTouchStart",value:function t(t){var e=this;this._startDrag(t.touches[0].pageX);var n=function(t){return e._onDrag(t.touches[0].pageX)},r=function(){document.removeEventListener("touchmove",n),document.removeEventListener("touchend",r),e._onDragEnd()};document.addEventListener("touchmove",n,{passive:!1}),document.addEventListener("touchend",r)}},{key:"_startDrag",value:function t(t){this._onDrag(t)}},{key:"_onDrag",value:function t(t){var e=this._rail.getBoundingClientRect(),n=t-e.left,r=Math.min(1,Math.max(0,n/e.width)),i=this.min+Math.round(r*(this.max-this.min)/this.step)*this.step;this._updateValue(i)}},{key:"_onDragEnd",value:function t(){this.dispatchEvent(new Event("change",{bubbles:!0}))}}]);return e}(r1);i0.styles=iZ,ez([l("#rail")],i0.prototype,"_rail",2),ez([r({type:Number,attribute:"lower-bound"})],i0.prototype,"min",2),ez([r({type:Number,attribute:"upper-bound"})],i0.prototype,"max",2),ez([r({type:Number,attribute:"step"})],i0.prototype,"step",2),i0=ez([rM("qti-slider-interaction")],i0);var i1=function(t,e){var n;var r=t._$AN;if(r===void 0)return!1;var i=true,o=false,a=undefined;try{for(var s=r[Symbol.iterator](),l;!(i=(l=s.next()).done);i=true){var u=l.value;(n=u._$AO)===null||n===void 0?void 0:n.call(u,e,!1),i1(u,e)}}catch(t){o=true;a=t}finally{try{if(!i&&s.return!=null){s.return()}}finally{if(o){throw a}}}return!0},i2=function(t){var e,n;do{if((e=t._$AM)===void 0)break;n=e._$AN,n.delete(t),t=e}while((n===null||n===void 0?void 0:n.size)===0)},i3=function(t){for(var e;e=t._$AM;t=e){var n=e._$AN;if(n===void 0)e._$AN=n=new Set;else if(n.has(t))break;n.add(t),i5(e)}};var i5=function(t){var e,n;t.type==il.CHILD&&((e=t._$AP)!==null&&e!==void 0?e:t._$AP=eT,(n=t._$AQ)!==null&&n!==void 0?n:t._$AQ=eM)},i4=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments),t._$AN=void 0;return t}c(e,[{key:"_$AT",value:function t(t,n,r){h(f(e.prototype),"_$AT",this).call(this,t,n,r),i3(this),this.isConnected=t._$AU}},{key:"_$AO",value:function t(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;var n,r,i,o;t!==this.isConnected&&(this.isConnected=t,t?(n=(r=this).reconnected)===null||n===void 0?void 0:n.call(r):(i=(o=this).disconnected)===null||i===void 0?void 0:i.call(o)),e&&(i1(this,t),i2(this))}},{key:"setValue",value:function t(t){if(ih(this._$Ct))this._$Ct._$AI(t,this);else{var e=T(this._$Ct._$AH);e[this._$Ci]=t,this._$Ct._$AI(e,this,0)}}},{key:"disconnected",value:function t(){}},{key:"reconnected",value:function t(){}}]);return e}(ic);var i6=function(){return new i9},i9=function t(){"use strict";s(this,t)},i7=new WeakMap,i8=iu(/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"render",value:function t(t){return rc}},{key:"update",value:function t(t,e){var n=S(e,1),r=n[0];var i;var o=r!==this.G;return o&&this.G!==void 0&&this.rt(void 0),(o||this.lt!==this.ct)&&(this.G=r,this.ht=(i=t.options)===null||i===void 0?void 0:i.host,this.rt(this.ct=t.element)),rc}},{key:"rt",value:function t(t){if(this.isConnected||(t=void 0),typeof this.G=="function"){var e;var n=(e=this.ht)!==null&&e!==void 0?e:globalThis,r=i7.get(n);r===void 0&&(r=new WeakMap,i7.set(n,r)),r.get(this.G)!==void 0&&this.G.call(this.ht,void 0),r.set(this.G,t),t!==void 0&&this.G.call(this.ht,t)}else this.G.value=t}},{key:"lt",get:function t(){var t,e;var n;return typeof this.G=="function"?(t=i7.get((n=this.ht)!==null&&n!==void 0?n:globalThis))===null||t===void 0?void 0:t.get(this.G):(e=this.G)===null||e===void 0?void 0:e.value}},{key:"disconnected",value:function t(){this.lt===this.ct&&this.rt(void 0)}},{key:"reconnected",value:function t(){this.rt(this.ct)}}]);return e}(i4));var ot=nC(t8());var oe=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments);t.inputRef=i6();t.response=null;t._handleValueChange=function(){t._internals.setFormValue(t.value),t.validate()};return t}c(e,[{key:"value",get:function t(){return this.response||null},set:function t(t){this.response=t||null}},{key:"validate",value:function t(){if(!this._input)return!1;if(this.patternMask&&this.dataPatternmaskMessage)this._internals.setValidity({}),this._input.setCustomValidity(""),this._input.checkValidity()||(this._internals.setValidity({customError:!0},this.dataPatternmaskMessage),this._input.setCustomValidity(this.dataPatternmaskMessage));else{var t=this._input.checkValidity();this._internals.setValidity(t?{}:{customError:!1})}return this.response!==""&&this._input.checkValidity()}},{key:"toggleCorrectResponse",value:function t(t,e){if(e&&t.correctResponse){var n=t.correctResponse.toString();this._correctResponse=n}else this._correctResponse=null}},{key:"render",value:function t(){var t=this;return ra(ee(),this.responseIdentifier,function(e){t.reportValidity()},function(t){return t.stopImmediatePropagation()},this.textChanged,this.textChanged,this.patternMask=="[0-9]*"?"number":"text",rG(this.placeholderText?this.placeholderText:void 0),this.response,rG(this.patternMask?this.patternMask:void 0),1e3,this.disabled,this.readonly,this._correctResponse?ra(et(),this._correctResponse):rc)}},{key:"textChanged",value:function t(t){if(this.disabled||this.readonly)return;var e=t.target;this.setEmptyAttribute(e.value),this.response!==e.value&&(this.value=e.value,this.saveResponse(e.value))}},{key:"reportValidity",value:function t(){var t=this.shadowRoot.querySelector("input");if(!t)return!1;var e=this.validate();return e||t.reportValidity(),e}},{key:"reset",value:function t(){this.response=""}},{key:"setEmptyAttribute",value:function t(t){this.setAttribute("empty",t===""?"true":"false")}}]);return e}(r1);oe.styles=ot,ez([r({type:Number,attribute:"expected-length"})],oe.prototype,"expectedLength",2),ez([r({type:String,attribute:"pattern-mask"})],oe.prototype,"patternMask",2),ez([r({type:String,attribute:"placeholder-text"})],oe.prototype,"placeholderText",2),ez([r({type:String,attribute:"data-patternmask-message"})],oe.prototype,"dataPatternmaskMessage",2),ez([i()],oe.prototype,"response",2),ez([l("input")],oe.prototype,"_input",2),ez([d("response",{waitUntilFirstUpdate:!0})],oe.prototype,"_handleValueChange",2),oe=ez([rM("qti-text-entry-interaction")],oe);var on=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments);t._file=null;t._base64=null;return t}c(e,[{key:"reset",value:function t(){this._file=null,this._base64=null,this.saveResponse(null)}},{key:"validate",value:function t(){return this._base64!==null}},{key:"response",get:function t(){return this._base64},set:function t(t){if(typeof t=="string")this._base64=t,this.saveResponse(t);else if(t===null)this.reset();else throw new Error("Value must be a Base64-encoded string or null")}},{key:"render",value:function t(){return ra(en(),this._onFileChange,this.disabled,this.readonly)}},{key:"_onFileChange",value:function t(t){var e=this;return o(function(){var n,r;return L(this,function(i){switch(i.label){case 0:n=t.target;r=n.files&&n.files.length>0;if(!r)return[3,2];e._file=n.files[0];return[4,e._convertToBase64(e._file)];case 1:r=(e._base64=i.sent(),e.saveResponse(e._base64),e.dispatchEvent(new CustomEvent("qti-interaction-response",{detail:{response:e._base64}})));i.label=2;case 2:r;return[2]}})})()}},{key:"_convertToBase64",value:function t(t){return new Promise(function(e,n){var r=new FileReader;r.onload=function(){return e(r.result)},r.onerror=function(){return n(r.error)},r.readAsDataURL(t)})}}],[{key:"properties",get:function t(){return k({},r1.properties)}}]);return e}(r1);on.styles=[nC(er())],on=ez([rM("qti-upload-interaction")],on);var or=nC(ei());var oi=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"render",value:function t(){return ra(eo())}}]);return e}(rS);oi.styles=or,oi=ez([rM("qti-item-body")],oi);var oo=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"render",value:function t(){return ra(ea())}},{key:"process",value:function t(){var t=new oa,e=T(this.children);t.process(e)}}]);return e}(rS);oo.styles=[nC(es())],oo=ez([rM("qti-outcome-processing")],oo);var oa=/*#__PURE__*/function(){"use strict";function t(){s(this,t)}c(t,[{key:"process",value:function t(t){var e=true,n=false,r=undefined;try{for(var i=t[Symbol.iterator](),o;!(e=(o=i.next()).done);e=true){var a=o.value;a.process()}}catch(t){n=true;r=t}finally{try{if(!e&&i.return!=null){i.return()}}finally{if(n){throw r}}}}}]);return t}();var os=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"render",value:function t(){return ra(el())}},{key:"connectedCallback",value:function t(){this.parentElement.tagName.endsWith("INTERACTION")&&this.setAttribute("slot","prompt")}}]);return e}(rS);os=ez([rM("qti-prompt")],os);var ol='<qti-response-processing>\n <qti-response-condition>\n <qti-response-if>\n <qti-match>\n <qti-variable identifier="RESPONSE"></qti-variable>\n <qti-correct identifier="RESPONSE"></qti-correct>\n </qti-match>\n <qti-set-outcome-value identifier="SCORE">\n <qti-base-value base-type="float">1</qti-base-value>\n </qti-set-outcome-value>\n </qti-response-if>\n <qti-response-else>\n <qti-set-outcome-value identifier="SCORE">\n <qti-base-value base-type="float">0</qti-base-value>\n </qti-set-outcome-value>\n </qti-response-else>\n </qti-response-condition>\n</qti-response-processing>',ou='<qti-response-processing>\n <qti-response-condition>\n <qti-response-if>\n <qti-is-null>\n <qti-variable identifier="RESPONSE"></qti-variable>\n </qti-is-null>\n <qti-set-outcome-value identifier="SCORE">\n <qti-base-value base-type="float">0.0</qti-base-value>\n </qti-set-outcome-value>\n </qti-response-if>\n <qti-response-else>\n <qti-set-outcome-value identifier="SCORE">\n <qti-map-response identifier="RESPONSE"> </qti-map-response>\n </qti-set-outcome-value>\n </qti-response-else>\n </qti-response-condition>\n</qti-response-processing>',oc='<qti-response-processing>\n <qti-response-condition>\n <qti-response-if>\n <qti-is-null>\n <qti-variable identifier="RESPONSE"></qti-variable>\n </qti-is-null>\n <qti-set-outcome-value identifier="SCORE">\n <qti-base-value base-type="float">0</qti-base-value>\n </qti-set-outcome-value>\n </qti-response-if>\n <qti-response-else>\n <qti-set-outcome-value identifier="SCORE">\n <qti-map-response-point identifier="RESPONSE"></qti-map-response-point>\n </qti-set-outcome-value>\n </qti-response-else>\n </qti-response-condition>\n</qti-response-processing>';var od=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"render",value:function t(){return ra(eu())}},{key:"process",value:function t(){if(!this.closest("qti-assessment-item"))return;var t=T(this.children);var e=true,n=false,r=undefined;try{for(var i=t[Symbol.iterator](),o;!(e=(o=i.next()).done);e=true){var a=o.value;a.process()}}catch(t){n=true;r=t}finally{try{if(!e&&i.return!=null){i.return()}}finally{if(n){throw r}}}}},{key:"firstUpdated",value:function t(t){if(this.getAttribute("template")){var e=this.getAttribute("template").split("/"),n=e[e.length-1].replace(".xml","");switch(this.innerHTML="",n){case"map_response":{this.appendChild(this.fragmentFromString(ou).firstElementChild.firstElementChild);break}case"map_response_point":{this.appendChild(this.fragmentFromString(oc).firstElementChild.firstElementChild);break}case"match_correct":this.appendChild(this.fragmentFromString(ol).firstElementChild.firstElementChild);break}}}},{key:"fragmentFromString",value:function t(t){return document.createRange().createContextualFragment(t)}}]);return e}(rS);od.styles=[nC(ec())],od=ez([rM("qti-response-processing")],od);var oh=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"render",value:function t(){return ra(ed())}},{key:"process",value:function t(){throw new Error("Not implemented")}}]);return e}(rS);oh=ez([rM("qti-rule")],oh);var of=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"childExpression",get:function t(){return this.firstElementChild}},{key:"process",value:function t(){var t=this.getAttribute("identifier"),e=this.context.variables.find(function(e){return e.identifier===t})||null,n;return e.interpolationTable&&(n=e.interpolationTable.get(parseInt(this.childExpression.calculate()))),n==null?(console.warn("lookupOutcomeValue: value is null or undefined"),0):(this.dispatchEvent(new CustomEvent("qti-set-outcome-value",{bubbles:!0,composed:!0,detail:{outcomeIdentifier:this.identifier,value:rF(n)}})),n)}}]);return e}(oh);ez([r({type:String})],of.prototype,"identifier",2),ez([e({context:rU,subscribe:!0}),i()],of.prototype,"context",2);customElements.define("qti-lookup-outcome-value",of);var op=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"render",value:function t(){return ra(eh())}},{key:"process",value:function t(){var t=T(this.children);for(var e=0;e<t.length;e++){var n=t[e];if(n.calculate()){n.process();return}}}}]);return e}(oh);customElements.define("qti-response-condition",op);var ov=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"process",value:function t(){var t=this.getAttribute("identifier");if(!t){console.warn('QtiSetOutcomeValue: Missing "identifier" attribute.');return}var e=this.firstElementChild;if(!e){console.warn("QtiSetOutcomeValue: No expression found.");return}var n=new oy(e).process();this.dispatchEvent(new CustomEvent("qti-set-outcome-value",{bubbles:!0,composed:!0,detail:{outcomeIdentifier:t,value:this.formatValue(n)}}))}},{key:"formatValue",value:function t(t){return Array.isArray(t)?t.map(rF):t!==null?rF(t):null}}]);return e}(oh),oy=/*#__PURE__*/function(){"use strict";function t(e){s(this,t);this.expression=e}c(t,[{key:"process",value:function t(){var t;var e=(t=this.expression.calculate())!==null&&t!==void 0?t:null;return e===null&&console.warn("QtiSetOutcomeValueRule: Evaluated value is null."),Array.isArray(e)?e.map(function(t){return t.value?t.value:t}):e}}]);return t}();customElements.define("qti-set-outcome-value",ov);var om=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"render",value:function t(){return ra(ef())}},{key:"calculate",value:function t(){return!0}},{key:"getSubRules",value:function t(){return T(this.children)}},{key:"process",value:function t(){var t=this.getSubRules();for(var e=0;e<t.length;e++)t[e].process()}}]);return e}(rS);customElements.define("qti-response-else",om);var og=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"calculate",value:function t(){return this.firstElementChild.calculate()}},{key:"getSubRules",value:function t(){var t=[];for(var e=1;e<this.children.length;e++)t.push(this.children[e]);return t}}]);return e}(om);customElements.define("qti-response-if",og);var ob=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"render",value:function t(){return ra(ep(),h(f(e.prototype),"render",this).call(this))}}]);return e}(og);customElements.define("qti-response-else-if",ob);var o_=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments);t.getVariables=function(){return Array.from(t.children).map(function(e){switch(e.tagName.toLowerCase()){case"qti-base-value":return{baseType:e.getAttribute("base-type"),value:e.textContent.trim(),cardinality:"single"};case"qti-variable":{var n=e.getAttribute("identifier")||"";return t.context.variables.find(function(t){return t.identifier===n})||null}case"qti-multiple":{var r=e.getResult();return r.length>0?{identifier:"",baseType:r[0].baseType,value:r.map(function(t){return t.value}),cardinality:"multiple",type:"response"}:null}case"qti-correct":{var i=e.getAttribute("identifier")||"",o=t.context.variables.find(function(t){return t.identifier===i})||null;return{baseType:o.baseType,value:o.correctResponse,cardinality:o.cardinality}}default:{try{return{baseType:"integer",value:e.getResult().toString(),cardinality:"single"}}catch(t){console.warn("default not sufficient")}return null}}}).filter(function(t){return t!==null})};return t}c(e,[{key:"render",value:function t(){return ra(ev(),JSON.stringify(this.result,null,2))}},{key:"calculate",value:function t(){return this.result=this.getResult(),this.result}},{key:"getResult",value:function t(){throw new Error("Not implemented")}}]);return e}(rS);o_.styles=nC(ey()),ez([i()],o_.prototype,"result",2),ez([e({context:rU,subscribe:!0}),i()],o_.prototype,"context",2);var ok=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"calculate",value:function t(){return this.result=this.getResult(),this.result}},{key:"getResult",value:function t(){throw new Error("Not implemented")}}]);return e}(o_);var ow=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"calculate",value:function t(){return this.calculateChildren(Array.from(this.children))}}]);return e}(eI(ok));ow=ez([rM("qti-and")],ow);var oE=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments);t.baseType="string";return t}c(e,[{key:"getResult",value:function t(){return this.textContent.trim()}}]);return e}(o_);ez([r({type:String,attribute:"base-type"})],oE.prototype,"baseType",2);customElements.define("qti-base-value",oE);var ox=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"getResult",value:function t(){var t=this.getVariables();if(this.children.length===2){var e=t[0],n=t[1];if(e.baseType==="directedPair"&&n.baseType==="directedPair"&&e.cardinality==="multiple"){var r=e.value,i=n.value;return r.filter(function(t){return i.includes(t)}).length>0}else if(e.baseType==="directedPair"&&n.baseType==="directedPair"&&e.cardinality==="single"){var o=e.value;return n.value.includes(o)}else console.error("unsupported baseType or cardinality in qti contains, only baseType: directedPair and cardinality: multiple is supported")}else console.error("unexpected number of children in qti contains");return!1}}]);return e}(ok);customElements.define("qti-contains",ox);var oA=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"interpretation",get:function t(){return this.getAttribute("interpretation")||""}},{key:"getResult",value:function t(){var t=this.getAttribute("identifier")||"",e=this.context.variables.find(function(e){return e.identifier===t})||null;return e.cardinality!=="single"?e.correctResponse.length>0?e.correctResponse[0]:"":e.correctResponse}}]);return e}(o_);customElements.define("qti-correct",oA);var oC=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments);t.roundingMode="significantFigures";return t}c(e,[{key:"figures",get:function t(){if(!this.getAttribute("figures"))return console.error("figures attribute is missing"),null;var t=parseInt(this.getAttribute("figures")||"0");return isNaN(t)?(console.error("figures attribute is not a number"),null):t<0?(console.error("figures attribute is negative"),null):t<1&&this.roundingMode==="significantFigures"?(console.error("figures cannot be smaller than 1 for RoundingMode significantFigures"),null):t}},{key:"getResult",value:function t(){if(this.children.length===2){var t=this.getVariables(),e=t[0],n=t[1];if(this.roundingMode===null)return null;if(e.cardinality!=="single"||n.cardinality!=="single"||Array.isArray(e.value)||Array.isArray(n.value))return console.error("unexpected cardinality in qti equal"),!1;switch(t[0].baseType){case"integer":case"float":{var r=parseFloat(e.value),i=parseFloat(n.value);if(!isNaN(r)&&!isNaN(i))return this.roundingMode==="significantFigures"?r.toPrecision(this.figures)===i.toPrecision(this.figures):Math.round(r*Math.pow(10,this.figures))/Math.pow(10,this.figures)===Math.round(i*Math.pow(10,this.figures))/Math.pow(10,this.figures);console.error("value cannot be casted to numeric value in equalRounded operator: ".concat(r,", ").concat(i));break}default:{console.error("values other than float and int cannot be used in equalRounded operator.");break}}return!1}return console.error("unexpected number of children in qti-equal-rounded"),null}}]);return e}(o_);ez([r({type:String})],oC.prototype,"roundingMode",2);customElements.define("qti-equal-rounded",oC);var oq=/*#__PURE__*/function(){"use strict";function t(){s(this,t)}c(t,null,[{key:"isPointInArea",value:function t(t,e,n){if(n!=="point")return console.warn("Base type ".concat(n," is not supported for point area mapping.")),!1;var r=S(t.split(" ").map(Number),2),i=r[0],o=r[1],a=M(e.split(",")),s=a[0],l=a.slice(1),u=l.map(Number);switch(s.toLowerCase()){case"circle":case"default":{var c=S(u,3),d=c[0],h=c[1],f=c[2];return u.length!==3?(console.warn("Invalid circle definition: ".concat(e)),!1):Math.sqrt(Math.pow(i-d,2)+Math.pow(o-h,2))<=f}case"rect":{var p=S(u,4),v=p[0],y=p[1],m=p[2],g=p[3];return u.length!==4?(console.warn("Invalid rectangle definition: ".concat(e)),!1):i>=v&&i<=m&&o>=y&&o<=g}case"ellipse":{var b=S(u,4),_=b[0],k=b[1],w=b[2],E=b[3];if(u.length!==4)return console.warn("Invalid ellipse definition: ".concat(e)),!1;var x=Math.pow(i-_,2)/Math.pow(w,2),A=Math.pow(o-k,2)/Math.pow(E,2);return x+A<=1}case"poly":{if(u.length<6||u.length%2!==0)return console.warn("Invalid polygon definition: ".concat(e)),!1;var C=[];for(var q=0;q<u.length;q+=2)C.push({x:u[q],y:u[q+1]});return this.isPointInPolygon({x:i,y:o},C)}default:return console.warn("Unsupported shape type: ".concat(s)),!1}}},{key:"isPointInPolygon",value:function t(t,e){var n=!1;for(var r=0,i=e.length-1;r<e.length;i=r++){var o=e[r].x,a=e[r].y,s=e[i].x,l=e[i].y;a>t.y!=l>t.y&&t.x<(s-o)*(t.y-a)/(l-a)+o&&(n=!n)}return n}},{key:"compareSingleValues",value:function t(t,e,n){switch(n){case"identifier":case"string":return t===e;case"integer":{var r=parseInt(t,10),i=parseInt(e,10);if(!isNaN(r)&&!isNaN(i))return r===i;console.error("Cannot convert ".concat(t," and/or ").concat(e," to int."));break}case"float":{var o=parseFloat(t),a=parseFloat(e);if(!isNaN(o)&&!isNaN(a))return o===a;console.error("couldn't convert ".concat(t," and/or ").concat(e," to float."));break}case"pair":case"directedPair":{var s=t.split(" ").sort(),l=e.split(" ").sort();if(s.length===2&&l.length===2)return n==="pair"&&(s.sort(),l.sort()),s.join(" ")===l.join(" ");console.error("compared two pair but one of the values does not have 2 values: 1: ".concat(t," 2: ").concat(e));break}}return!1}}]);return t}();var oS=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments);t.toleranceMode="exact";return t}c(e,[{key:"getResult",value:function t(){if(this.children.length===2){var t=this.getVariables(),e=t[0],n=t[1];return this.toleranceMode!=="exact"?(console.error("toleranceMode is not supported yet"),!1):e.cardinality!=="single"||n.cardinality!=="single"||Array.isArray(e.value)||Array.isArray(n.value)?(console.error("unexpected cardinality in qti equal"),!1):oq.compareSingleValues(e.value,n.value,e.baseType)}return console.error("unexpected number of children in qti-equal"),null}}]);return e}(o_);ez([r({type:String})],oS.prototype,"toleranceMode",2);customElements.define("qti-equal",oS);var oR=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"getResult",value:function t(){if(this.children.length===2){var t=this.getVariables(),e=t[0],n=t[1];if((e.baseType==="integer"||e.baseType==="float")&&(n.baseType==="integer"||n.baseType==="float"))return+e.value>+n.value;console.error("unexpected baseType or cardinality in qti gt")}return console.error("unexpected number of children in qt"),null}}]);return e}(o_);customElements.define("qti-gt",oR);var oP=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"getResult",value:function t(){if(this.children.length===2){var t=this.getVariables(),e=t[0],n=t[1];return(e.baseType==="integer"||e.baseType==="float")&&(n.baseType==="integer"||n.baseType==="float")?+e.value>=+n.value:(console.error("unexpected baseType or cardinality in qti gte"),null)}return console.log("unexpected number of children in qte"),null}}]);return e}(ok);customElements.define("qti-gte",oP);var oM=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"getResult",value:function t(){if(this.children.length===1){var t=this.getVariables();if(!t)return!0;var e=t[0].value;return e==null||e==null||e===""}return console.error("unexpected number of children in qti Null"),null}}]);return e}(o_);customElements.define("qti-is-null",oM);var oT=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"getResult",value:function t(){if(this.children.length===2){var t=this.getVariables(),e=t[0],n=t[1];if((e.baseType==="integer"||e.baseType==="float")&&(n.baseType==="integer"||n.baseType==="float"))return+e.value<+n.value;console.error("unexpected baseType or cardinality in qti lt")}return console.error("unexpected number of children in lt"),null}}]);return e}(o_);customElements.define("qti-lt",oT);var oI=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"getResult",value:function t(){if(this.children.length===2){var t=this.getVariables(),e=t[0],n=t[1];return(e.baseType==="integer"||e.baseType==="float")&&(n.baseType==="integer"||n.baseType==="float")?+e.value<=+n.value:(console.error("unexpected baseType or cardinality in qti lte"),null)}return console.log("unexpected number of children in lte"),null}}]);return e}(ok);customElements.define("qti-lte",oI);var oO=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"getResult",value:function t(){var t=this;var e=this.context.variables.find(function(e){return e.identifier===t.identifier});if(!e||!e.mapping)return console.error("Response ".concat(this.identifier," can not be found")),null;var n=e.mapping,r=Array.isArray(e.value)?e.value:[e.value],i=0;var o=true,a=false,s=undefined;try{var l=function(){var t=c.value;var r=n.mapEntries.filter(function(n){return e.baseType==="string"&&!n.caseSensitive?oq.compareSingleValues(n.mapKey.toLowerCase(),t.toLowerCase(),e.baseType):oq.compareSingleValues(n.mapKey,t,e.baseType)}),o=r.reduce(function(t,e){return t.mappedValue>e.mappedValue?t:e},r.length>0?r[0]:{mapKey:null,mappedValue:null});o===null||o.mappedValue==null?i+=n.defaultValue:i+=o.mappedValue};for(var u=r[Symbol.iterator](),c;!(o=(c=u.next()).done);o=true)l()}catch(t){a=true;s=t}finally{try{if(!o&&u.return!=null){u.return()}}finally{if(a){throw s}}}return(n===null||n===void 0?void 0:n.lowerBound)!==null&&(n===null||n===void 0?void 0:n.lowerBound)!==void 0&&(i=Math.max(n.lowerBound,i)),(n===null||n===void 0?void 0:n.upperBound)!==null&&(n===null||n===void 0?void 0:n.upperBound)!==void 0&&(i=Math.min(n.upperBound,i)),i}}]);return e}(o_);ez([r({type:String})],oO.prototype,"identifier",2);customElements.define("qti-map-response",oO);var oU=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments);t.getVariables=function(){return Array.from(t.children).map(function(e){switch(e.tagName.toLowerCase()){case"qti-base-value":return{baseType:e.getAttribute("base-type"),value:e.textContent.trim(),cardinality:"single"};case"qti-variable":{var n=e.getAttribute("identifier")||"";return t.context.variables.find(function(t){return t.identifier===n})||null}case"qti-multiple":{var r=e.getResult();return r.length>0?{identifier:"",baseType:r[0].baseType,value:r.map(function(t){return t.value}),cardinality:"multiple",type:"response"}:null}case"qti-correct":{var i=e.getAttribute("identifier")||"",o=t.context.variables.find(function(t){return t.identifier===i})||null;return{baseType:o.baseType,value:o.correctResponse,cardinality:o.cardinality}}default:{try{return{baseType:"integer",value:e.getResult().toString(),cardinality:"single"}}catch(t){console.warn("default not sufficient")}return null}}}).filter(function(t){return t!==null})};return t}c(e,[{key:"render",value:function t(){return ra(em(),JSON.stringify(this.result,null,2))}},{key:"calculate",value:function t(){return this.result=this.getResult(),this.result}},{key:"getResult",value:function t(){throw new Error("Not implemented")}}]);return e}(rS);oU.styles=nC(eg()),ez([i()],oU.prototype,"result",2),ez([e({context:rU,subscribe:!0}),i()],oU.prototype,"context",2);var o$=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"getResult",value:function t(){var t=this;var e=this.context.variables.find(function(e){return e.identifier===t.identifier});if(!e)return console.warn("Response ".concat(this.identifier," cannot be found")),null;var n=e.areaMapping;if(!n)return console.warn("Area mapping not found for response ".concat(this.identifier)),null;var r=Array.isArray(e.value)?e.value:[e.value];if(!r||r.length===0)return console.warn("No candidate responses for response ".concat(this.identifier)),null;var i=0,o=new Set;var a=true,s=false,l=undefined,u=true,c=false,d=undefined;try{for(var h=r[Symbol.iterator](),f;!(u=(f=h.next()).done);u=true){var p=f.value;try{for(var v=n.areaMapEntries[Symbol.iterator](),y;!(a=(y=v.next()).done);a=true){var m=y.value;if(o.has(m.coords))continue;var g;oq.isPointInArea(p,"".concat(m.shape,",").concat(m.coords),e.baseType)&&(i+=(g=m.mappedValue)!==null&&g!==void 0?g:0,o.add(m.coords))}}catch(t){s=true;l=t}finally{try{if(!a&&v.return!=null){v.return()}}finally{if(s){throw l}}}}}catch(t){c=true;d=t}finally{try{if(!u&&h.return!=null){h.return()}}finally{if(c){throw d}}}return o.size<r.length&&(i+=n.defaultValue),n.lowerBound!=null&&(i=Math.max(n.lowerBound,i)),n.upperBound!=null&&(i=Math.min(n.upperBound,i)),i}}]);return e}(oU);ez([r({type:String})],o$.prototype,"identifier",2);customElements.define("qti-map-response-point",o$);var oL=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"getResult",value:function t(){if(this.children.length===2){var t=this.getVariables(),n=t[0],r=t[1];return e.match(n,r)}return console.error("unexpected number of children in match"),null}}],[{key:"match",value:function t(t,e){switch(e.cardinality){case"single":var n;return t.value===null?!1:Array.isArray(t.value)||Array.isArray(e.value)?(console.error("unexpected cardinality in qti match"),!1):oq.compareSingleValues((n=t.value)===null||n===void 0?void 0:n.toString(),e.value.toString(),e.baseType);case"ordered":{if(!Array.isArray(t.value)||!Array.isArray(e.value))return console.error("unexpected cardinality in qti match"),!1;if(t.value.length!==e.value.length)return!1;for(var r=0;r<t.value.length;r++)if(!oq.compareSingleValues(e.value[r],t.value[r],e.baseType))return!1;return!0}case"multiple":{if(!Array.isArray(t.value)||!Array.isArray(e.value))return console.error("unexpected cardinality in qti match"),!1;if(t.value.length!==e.value.length)return!1;var i=0;var o=true,a=false,s=undefined;try{for(var l=e.value[Symbol.iterator](),u;!(o=(u=l.next()).done);o=true){var c=u.value;var d=null,h=T(t.value);var f=true,p=false,v=undefined;try{for(var y=h[Symbol.iterator](),m;!(f=(m=y.next()).done);f=true){var g=m.value;if(oq.compareSingleValues(c,g,e.baseType)){d=g;break}}}catch(t){p=true;v=t}finally{try{if(!f&&y.return!=null){y.return()}}finally{if(p){throw v}}}if(d!==null)h.splice(h.indexOf(d),1);else return!1;i++}}catch(t){a=true;s=t}finally{try{if(!o&&l.return!=null){l.return()}}finally{if(a){throw s}}}return!0}default:return console.error("unexpected cardinality in qti match"),!1}}}]);return e}(o_);customElements.define("qti-match",oL);var oN=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"getResult",value:function t(){var t=this.getVariables();this.children.length!==2&&console.warn("The member operator takes two sub-expressions");var e=S(t,2),n=e[0],r=e[1];if(n.baseType===r.baseType||n.baseType==="integer"&&r.baseType==="float"||n.baseType==="float"&&r.baseType==="integer"||console.warn("Which must both have the same base-type"),r.cardinality==="multiple"||r.cardinality==="ordered"||console.warn("and the second must be a multiple or ordered container"),(n.baseType==="float"||r.baseType==="float")&&console.warn("The member operator should not be used on sub-expressions with a base-type of float"),(n.baseType==="duration"||r.baseType==="duration")&&console.warn("It must not be used on sub-expressions with a base-type of duration"),n.value===null||r.value===null)return null;var i=n.value;return r.value.includes(i)}}]);return e}(o_);customElements.define("qti-member",oN);var oD=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"getResult",value:function t(){var t=this.getVariables();if(t.length===0)return console.error("unexpected number of children in qti multiple"),null;var e=true,n=false,r=undefined;try{for(var i=t[Symbol.iterator](),o;!(e=(o=i.next()).done);e=true){var a=o.value;if(a.cardinality!=="multiple"&&a.cardinality!=="single")return console.error("unexpected cardinality in qti multiple"),[]}}catch(t){n=true;r=t}finally{try{if(!e&&i.return!=null){i.return()}}finally{if(n){throw r}}}return t}}]);return e}(o_);customElements.define("qti-multiple",oD);var oV=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"render",value:function t(){return ra(eb(),h(f(e.prototype),"render",this).call(this))}},{key:"getResult",value:function t(){return!this.firstElementChild.calculate()}}]);return e}(o_);customElements.define("qti-not",oV);var oj=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"getResult",value:function t(){return Array.from(this.children).map(function(t){var e=t;if(!e.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;var n=e.calculate(),r=!1;if(typeof n=="string")if(n==="true")r=!0;else if(n==="false")r=!1;else return console.error("unexpected val in qti-or, expected boolean"),null;else typeof n=="boolean"&&(r=n);return r}).some(function(t){return typeof t=="boolean"&&t})}}]);return e}(ok);customElements.define("qti-or",oj);var oH=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"getResult",value:function t(){var t=this.getVariables();if(t.length===0)return console.error("unexpected number of children in qti multiple"),null;var e=true,n=false,r=undefined;try{for(var i=t[Symbol.iterator](),o;!(e=(o=i.next()).done);e=true){var a=o.value;if(a.cardinality!=="ordered"&&a.cardinality!=="single")return console.error("unexpected cardinality in qti ordered"),[]}}catch(t){n=true;r=t}finally{try{if(!e&&i.return!=null){i.return()}}finally{if(n){throw r}}}return t}}]);return e}(o_);customElements.define("qti-ordered",oH);var oz=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"render",value:function t(){var t=this;var e,n;var r=(n=this.context)===null||n===void 0?void 0:(e=n.variables.find(function(e){return e.identifier===t.identifier}))===null||e===void 0?void 0:e.value;return r===null?rc:ra(e_(),JSON.stringify(r,null,2))}},{key:"calculate",value:function t(){var t=this;return this.context.variables.find(function(e){return e.identifier===t.identifier})||null}}]);return e}(rS);ez([r({type:String})],oz.prototype,"identifier",2),ez([e({context:rU,subscribe:!0}),i()],oz.prototype,"context",2);customElements.define("qti-printed-variable",oz);var oQ=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"getResult",value:function t(){return this.getVariables().reduce(function(t,e){if(e.baseType=="float"||e.baseType=="integer")try{return t*parseInt(e.value.toString())}catch(t){console.warn("can not convert to number")}else console.warn("has another baseType ".concat(e.baseType));return t},1)}}]);return e}(o_);customElements.define("qti-product",oQ);var oF=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"getResult",value:function t(){return this.calculateChildren(Array.from(this.children))}}]);return e}(eO(o_));customElements.define("qti-subtract",oF);var oB=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments);t.caseSensitive="true";return t}c(e,[{key:"getResult",value:function t(){if(this.children.length===2){var t=this.getVariables(),e=t[0],n=t[1];if(e.cardinality!=="single"||n.cardinality!=="single"||Array.isArray(e.value)||Array.isArray(n.value))return console.error("unexpected cardinality in qti string-match"),!1;var r=this.caseSensitive==="true"?e.value:e.value.toLowerCase(),i=this.caseSensitive==="true"?n.value:n.value.toLowerCase();return oq.compareSingleValues(r,i,e.baseType)}return console.error("unexpected number of children in qti-string-match"),null}}]);return e}(o_);ez([r({type:String,attribute:"case-sensitive"})],oB.prototype,"caseSensitive",2);customElements.define("qti-string-match",oB);var oW=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e),t._expression=new oG(Array.from(t.children));return t}c(e,[{key:"getResult",value:function t(){return this._expression.calculate()}}]);return e}(o_),oG=/*#__PURE__*/function(){"use strict";function t(e){s(this,t);this.expressions=e}c(t,[{key:"calculate",value:function t(){return this.expressions.map(function(t){if(!t.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;var e=t.calculate();return Number.isNaN(e)?(console.error("unexpected value in qti-sum, expected number"),null):Number(e)}).reduce(function(t,e){return t+e},0)}}]);return t}();customElements.define("qti-sum",oW);var oX=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"getResult",value:function t(){var t=this.getAttribute("identifier");return this.context.variables.find(function(e){return e.identifier===t}).value}}]);return e}(o_);customElements.define("qti-variable",oX);var oJ=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"getResult",value:function t(){var t=this.getVariables();if(t.length===1){var e=t[0].value;if(Array.isArray(e)){var n=Math.floor(Math.random()*e.length);return e[n]}return e}return console.error("unexpected number of children in match"),null}}]);return e}(o_);customElements.define("qti-random",oJ);var oY=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"getResult",value:function t(){if(this.children.length===2){var t=this.getVariables(),e=t[0],n=t[1];return e.cardinality!=="single"||!Array.isArray(n.value)?(console.error("unexpected cardinality in qti equal"),null):t[0].baseType!==t[1].baseType?(console.error("The baseType of the two variables is different"),null):n.value.filter(function(t){return!e.value.includes(t)})}}}]);return e}(oU);customElements.define("qti-delete",oY);var oK=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"render",value:function t(){return ra(ek())}}]);return e}(rS);oK=ez([rM("qti-content-body")],oK);var oZ=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"handleclassNamesChange",value:function t(){var t=this;this.classNames.split(" ").forEach(function(e){switch(e){case"qti-rubric-discretionary-placement":t.setAttribute("slot","qti-rubric-block");break;case"qti-rubric-inline":t.setAttribute("slot","");break;default:break}})}},{key:"render",value:function t(){return ra(ew())}}]);return e}(rS);oZ.styles=nC(eE()),ez([r({type:String})],oZ.prototype,"id",2),ez([r({type:String})],oZ.prototype,"use",2),ez([r({type:String})],oZ.prototype,"view",2),ez([r({type:String,attribute:"class"})],oZ.prototype,"classNames",2),ez([d("classNames",{waitUntilFirstUpdate:!0})],oZ.prototype,"handleclassNamesChange",1),oZ=ez([rM("qti-rubric-block")],oZ);var o0=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments);t.styleElement=null;return t}c(e,[{key:"firstUpdated",value:function t(t){var n=this;h(f(e.prototype),"firstUpdated",this).call(this,t);var r=this.getAttribute("href");if(r!==null&&fetch(r).then(function(t){return t.text()}).then(function(t){var e=n.minifyCss(t);n.styleElement=document.createElement("style"),n.styleElement.media="screen",n.styleElement.textContent="@scope {".concat(e,"}"),n.parentElement?n.parentElement.appendChild(n.styleElement):console.warn("No parent element to append the scoped stylesheet to.")}).catch(function(t){console.error("Failed to load stylesheet:",t)}),this.textContent!==null&&this.textContent.trim()!==""){var i=this.minifyCss(this.textContent);this.styleElement=document.createElement("style"),this.styleElement.media="screen",this.styleElement.textContent="@scope {".concat(i,"}"),this.parentElement?this.parentElement.appendChild(this.styleElement):console.warn("No parent element to append the scoped stylesheet to.")}}},{key:"minifyCss",value:function t(t){return t.replace(/\/\*[\s\S]*?\*\//g,"").replace(/\s+/g," ").replace(/\s*([{}:;])\s*/g,"$1").trim()}},{key:"disconnectedCallback",value:function t(){if(this.styleElement)try{this.styleElement.remove()}catch(t){console.error("Could not remove stylesheet:",t)}h(f(e.prototype),"disconnectedCallback",this).call(this)}}]);return e}(rS);o0=ez([rM("qti-stylesheet")],o0);var o1=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"render",value:function t(){return ra(ex())}},{key:"defaultValues",value:function t(t){var e=Array.from(this.querySelectorAll("qti-default-value > qti-value"));if(e.length===0)return null;var n=e.map(function(t){return t.innerHTML.trim()});return n.length>1||t.cardinality==="multiple"||t.cardinality==="ordered"?n:n[0]}}]);return e}(rS);o1=ez([rM("qti-variabledeclaration")],o1);var o2=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);var t;t=a(this,e,arguments);t.externalScored=null;return t}c(e,[{key:"render",value:function t(){var t=this;var e,n;var r=(n=this.itemContext)===null||n===void 0?void 0:(e=n.variables.find(function(e){return e.identifier===t.identifier}))===null||e===void 0?void 0:e.value;return ra(eA(),JSON.stringify(r,null,2))}},{key:"interpolationTable",get:function t(){var t=this.querySelector("qti-interpolation-table");if(t){var e=new Map;var n=true,r=false,i=undefined;try{for(var o=t.querySelectorAll("qti-interpolation-table-entry")[Symbol.iterator](),a;!(n=(a=o.next()).done);n=true){var s=a.value;!s.getAttribute("source-value")&&s.getAttribute("target-value")&&console.error("source-value or target-value is missing in qti-interpolation-table-entry");var l=parseInt(s.getAttribute("source-value")),u=parseInt(s.getAttribute("target-value"));(isNaN(l)||isNaN(u))&&console.error("source-value or target-value is not a number in qti-interpolation-table-entry"),e.set(l,u)}}catch(t){r=true;i=t}finally{try{if(!n&&o.return!=null){o.return()}}finally{if(r){throw i}}}return e}return null}},{key:"connectedCallback",value:function t(){h(f(e.prototype),"connectedCallback",this).call(this);var t={identifier:this.identifier,cardinality:this.cardinality,baseType:this.baseType,type:"outcome",value:null,interpolationTable:this.interpolationTable,externalScored:this.externalScored};t.value=this.defaultValues(t),(t.value===null||t.value==null)&&(t.baseType==="integer"||t.baseType==="float")&&(t.value="0"),this.dispatchEvent(new CustomEvent("qti-register-variable",{bubbles:!0,composed:!0,detail:{variable:t}}))}}]);return e}(o1);o2.styles=[nC(eC())],ez([r({type:String,attribute:"base-type"})],o2.prototype,"baseType",2),ez([r({type:String,attribute:"external-scored"})],o2.prototype,"externalScored",2),ez([r({type:String})],o2.prototype,"identifier",2),ez([r({type:String})],o2.prototype,"cardinality",2),ez([e({context:rU,subscribe:!0}),i()],o2.prototype,"itemContext",2),o2=ez([rM("qti-outcome-declaration")],o2);var o3=/*#__PURE__*/function(t){"use strict";p(e,t);function e(){s(this,e);return a(this,e,arguments)}c(e,[{key:"render",value:function t(){var t=this;var e,n;var r=(n=this.itemContext)===null||n===void 0?void 0:(e=n.variables.find(function(e){return e.identifier===t.identifier}))===null||e===void 0?void 0:e.value;return ra(eq(),JSON.stringify(r,null,2))}},{key:"connectedCallback",value:function t(){h(f(e.prototype),"connectedCallback",this).call(this);var t={baseType:this.baseType,identifier:this.identifier,correctResponse:this.correctResponse,cardinality:this.cardinality||"single",mapping:this.mapping,areaMapping:this.areaMapping,value:null,type:"response",candidateResponse:null};t.value=this.defaultValues(t),this.dispatchEvent(new CustomEvent("qti-register-variable",{bubbles:!0,composed:!0,detail:{variable:t}}))}},{key:"correctResponse",get:function t(){var t,e=this.querySelector("qti-correct-response");if(e){var n=e.querySelectorAll("qti-value");if(this.cardinality==="single"&&n.length>0)t=n[0].textContent.trim(),n[0].remove();else if(this.cardinality!=="single"){t=[];for(var r=0;r<n.length;r++)t.push(n[r].textContent.trim()),n[r].remove()}}return t}},{key:"mapping",get:function t(){var t=this.querySelector("qti-mapping"),e=parseInt(t===null||t===void 0?void 0:t.getAttribute("lower-bound")),n=parseInt(t===null||t===void 0?void 0:t.getAttribute("upper-bound"));return{defaultValue:Number(t===null||t===void 0?void 0:t.getAttribute("default-value"))||0,lowerBound:isNaN(e)?null:e,upperBound:isNaN(n)?null:n,mapEntries:Array.from((t===null||t===void 0?void 0:t.querySelectorAll("qti-map-entry"))||[]).map(function(t){return{mapKey:t.getAttribute("map-key")||"",mappedValue:Number(t.getAttribute("mapped-value"))||0,caseSensitive:t.hasAttribute("case-sensitive")?t.getAttribute("case-sensitive")!=="false":!0}})}}},{key:"areaMapping",get:function t(){var t=this.querySelector("qti-area-mapping"),e=Number(t===null||t===void 0?void 0:t.getAttribute("default-value"))||0,n=parseInt(t===null||t===void 0?void 0:t.getAttribute("lower-bound")),r=parseInt(t===null||t===void 0?void 0:t.getAttribute("upper-bound")),i=Array.from((t===null||t===void 0?void 0:t.querySelectorAll("qti-area-map-entry"))||[]).map(function(t){return{shape:t.getAttribute("shape")||"default",coords:t.getAttribute("coords")||"",mappedValue:Number(t.getAttribute("mapped-value"))||0,defaultValue:Number(t.getAttribute("default-value"))||0}});return{defaultValue:e,lowerBound:isNaN(n)?null:n,upperBound:isNaN(r)?null:r,areaMapEntries:i}}}]);return e}(o1);o3.styles=[nC(eS())],ez([r({type:String,attribute:"base-type"})],o3.prototype,"baseType",2),ez([r({type:String})],o3.prototype,"identifier",2),ez([r({type:String})],o3.prototype,"cardinality",2),ez([e({context:rU,subscribe:!0}),i()],o3.prototype,"itemContext",2),o3=ez([rM("qti-response-declaration")],o3);return eH(eQ)}();
1
+ function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function i(e,t,n,r,i,o,a){try{var s=e[o](a);var l=s.value}catch(e){n(e);return}if(s.done){t(l)}else{Promise.resolve(l).then(r,i)}}function o(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function s(e){i(a,r,o,s,l,"next",e)}function l(e){i(a,r,o,s,l,"throw",e)}s(undefined)})}}function a(e,t,n){t=f(t);return x(e,$()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function s(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function l(e,t,n){if($()){l=Reflect.construct}else{l=function e(e,t,n){var r=[null];r.push.apply(r,t);var i=Function.bind.apply(e,r);var o=new i;if(n)S(o,n.prototype);return o}}return l.apply(null,arguments)}function u(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||false;r.configurable=true;if("value"in r)r.writable=true;Object.defineProperty(e,r.key,r)}}function c(e,t,n){if(t)u(e.prototype,t);if(n)u(e,n);return e}function d(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function h(e,t,n){if(typeof Reflect!=="undefined"&&Reflect.get){h=Reflect.get}else{h=function e(e,t,n){var r=R(e,t);if(!r)return;var i=Object.getOwnPropertyDescriptor(r,t);if(i.get){return i.get.call(n||e)}return i.value}}return h(e,t,n||e)}function f(e){f=Object.setPrototypeOf?Object.getPrototypeOf:function e(e){return e.__proto__||Object.getPrototypeOf(e)};return f(e)}function p(e,t){if(typeof t!=="function"&&t!==null){throw new TypeError("Super expression must either be null or a function")}e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:true,configurable:true}});if(t)S(e,t)}function v(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function y(e){return Function.toString.call(e).indexOf("[native code]")!==-1}function m(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function g(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var i=true;var o=false;var a,s;try{for(n=n.call(e);!(i=(a=n.next()).done);i=true){r.push(a.value);if(t&&r.length===t)break}}catch(e){o=true;s=e}finally{try{if(!i&&n["return"]!=null)n["return"]()}finally{if(o)throw s}}return r}function b(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function k(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){d(e,t,n[t])})}return e}function w(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);if(t){r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})}n.push.apply(n,r)}return n}function E(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{w(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function x(e,t){if(t&&(T(t)==="object"||typeof t==="function")){return t}return r(e)}function q(e,t,n,r){if(typeof Reflect!=="undefined"&&Reflect.set){q=Reflect.set}else{q=function e(e,t,n,r){var i=R(e,t);var o;if(i){o=Object.getOwnPropertyDescriptor(i,t);if(o.set){o.set.call(r,n);return true}else if(!o.writable){return false}}o=Object.getOwnPropertyDescriptor(r,t);if(o){if(!o.writable){return false}o.value=n;Object.defineProperty(r,t,o)}else{d(r,t,n)}return true}}return q(e,t,n,r)}function A(e,t,n,r,i){var o=q(e,t,n,r||e);if(!o&&i){throw new Error("failed to set property")}return n}function S(e,t){S=Object.setPrototypeOf||function e(e,t){e.__proto__=t;return e};return S(e,t)}function C(e,n){return t(e)||g(e,n)||O(e,n)||b()}function R(e,t){while(!Object.prototype.hasOwnProperty.call(e,t)){e=f(e);if(e===null)break}return e}function P(e,t){if(!t){t=e.slice(0)}return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function I(e){return t(e)||m(e)||O(e)||b()}function M(e){return n(e)||m(e)||O(e)||_()}function T(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function O(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}function U(e){var t=typeof Map==="function"?new Map:undefined;U=function e(e){if(e===null||!y(e))return e;if(typeof e!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof t!=="undefined"){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return l(e,arguments,f(this).constructor)}n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:false,writable:true,configurable:true}});return S(n,e)};return U(e)}function $(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return($=function(){return!!e})()}function L(e,t){var n,r,i,o={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},a=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return a.next=s(0),a["throw"]=s(1),a["return"]=s(2),typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(e){return function(t){return l([e,t])}}function l(s){if(n)throw new TypeError("Generator is already executing.");while(a&&(a=0,s[0]&&(o=0)),o)try{if(n=1,r&&(i=s[0]&2?r["return"]:s[0]?r["throw"]||((i=r["return"])&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;if(r=0,i)s=[s[0]&2,i.value];switch(s[0]){case 0:case 1:i=s;break;case 4:o.label++;return{value:s[1],done:false};case 5:o.label++;r=s[1];s=[0];continue;case 7:s=o.ops.pop();o.trys.pop();continue;default:if(!(i=o.trys,i=i.length>0&&i[i.length-1])&&(s[0]===6||s[0]===2)){o=0;continue}if(s[0]===3&&(!i||s[1]>i[0]&&s[1]<i[3])){o.label=s[1];break}if(s[0]===6&&o.label<i[1]){o.label=i[1];i=s;break}if(i&&o.label<i[2]){o.label=i[2];o.ops.push(s);break}if(i[2])o.ops.pop();o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e];r=0}finally{n=i=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}}function N(){var e=P(["<slot></slot>"]);N=function t(){return e};return e}function D(){var e=P(["<slot></slot>"]);D=function t(){return e};return e}function V(){var e=P(['<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">\n<xsl:output method="html" version="5.0" encoding="UTF-8" indent="yes" />\n <xsl:template match="@*|node()">\n <xsl:copy>\n <xsl:apply-templates select="@*|node()"/>\n </xsl:copy>\n </xsl:template>\n\n \x3c!-- remove existing namespaces --\x3e\n <xsl:template match="*">\n \x3c!-- remove element prefix --\x3e\n <xsl:element name="{local-name()}">\n \x3c!-- process attributes --\x3e\n <xsl:for-each select="@*">\n \x3c!-- remove attribute prefix --\x3e\n <xsl:attribute name="{local-name()}">\n <xsl:value-of select="."/>\n </xsl:attribute>\n </xsl:for-each>\n <xsl:apply-templates/>\n </xsl:element>\n</xsl:template>\n</xsl:stylesheet>']);V=function t(){return e};return e}function j(){var e=P(["<slot @slotchange=","></slot>"]);j=function t(){return e};return e}function H(){var e=P([' <slot part="feedback" class="feedback ','"></slot> ']);H=function t(){return e};return e}function z(){var e=P(["\n :host {\n display: block;\n }\n .on {\n display: block;\n }\n .off {\n display: none;\n }\n "]);z=function t(){return e};return e}function Q(){var e=P([' <slot part="feedback" class="','"></slot> ']);Q=function t(){return e};return e}function F(){var e=P(["\n .on {\n display: inline-block;\n }\n .off {\n display: none;\n }\n "]);F=function t(){return e};return e}function B(){var e=P(['\n <dialog class="qti-dialog" part="feedback" ?open="','">\n <slot></slot>\n <div style="margin-top: var(--qti-gap-size); text-align: center;">\n <button class="button close-button" @click="','">Close</button>\n </div>\n </dialog>\n ']);B=function t(){return e};return e}function W(){var e=P(["\n .qti-dialog {\n background: var(--qti-bg);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n border-radius: var(--qti-border-radius);\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 1000;\n width: auto;\n max-width: 90%;\n }\n\n .button {\n border-radius: var(--qti-border-radius);\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n background-color: var(--qti-bg-active);\n border: var(--qti-border-active);\n cursor: pointer;\n position: relative;\n display: inline-block;\n }\n\n .button:hover {\n background-color: var(--qti-hover-bg);\n }\n\n .button:disabled {\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n cursor: not-allowed;\n }\n\n .button:focus {\n outline: var(--qti-focus-border-width) solid var(--qti-focus-color);\n }\n "]);W=function t(){return e};return e}function J(){var e=P([' <slot name="drags"></slot> ']);J=function t(){return e};return e}function G(){var e=P(["\n :host {\n display: flex;\n user-select: none;\n position: absolute;\n }\n "]);G=function t(){return e};return e}function X(){var e=P(["\n :host {\n display: block; /* necessary to calculate scaling position */\n }\n slot[name='qti-simple-associable-choice'] {\n display: flex;\n align-items: flex-start;\n flex: 1;\n border: 2px solid transparent;\n padding: 0.3rem;\n border-radius: 0.3rem;\n gap: 0.5rem;\n }\n\n :host::part(associables-container) {\n display: flex;\n padding: 0.5rem;\n justify-content: space-between;\n background: linear-gradient(\n 180deg,\n rgb(0 0 0 / 0%) calc(50% - 1px),\n var(--qti-border-color-gray) calc(50%),\n rgb(0 0 0 / 0%) calc(50% + 1px)\n );\n }\n"]);X=function t(){return e};return e}function Y(){var e=P(['<div part="associables-container">\n <div name="left','" part="drop-list" class="dl" identifier="droplist','_left"></div>\n <div name="right','" part="drop-list" class="dl" identifier="droplist','_right"></div>\n </div>']);Y=function t(){return e};return e}function K(){var e=P([' <slot name="prompt"></slot>\n <slot name="qti-simple-associable-choice"></slot>\n <div part="drop-container">\n ','\n\n <div role="alert" id="validationMessage"></div>\n </div>']);K=function t(){return e};return e}function Z(){var e=P(["\n :host {\n display: block;\n }\n\n [part='slot'] {\n display: grid;\n gap: 10px;\n }\n\n /* Define the number of columns dynamically */\n :host([class*='qti-choices-stacking-']) [part='slot'] {\n grid-template-columns: repeat(var(--stacking-count, 1), 1fr);\n }\n\n /* Apply dynamic stacking count based on class */\n :host(.qti-choices-stacking-1) {\n --stacking-count: 1;\n }\n :host(.qti-choices-stacking-2) {\n --stacking-count: 2;\n }\n :host(.qti-choices-stacking-3) {\n --stacking-count: 3;\n }\n :host(.qti-choices-stacking-4) {\n --stacking-count: 4;\n }\n :host(.qti-choices-stacking-5) {\n --stacking-count: 5;\n }\n :host(.qti-choices-stacking-6) {\n --stacking-count: 6;\n }\n\n /* Default slot item layout */\n ::slotted(qti-simple-choice) {\n display: flex;\n align-items: center;\n white-space: nowrap;\n }\n\n /* Orientation styles */\n :host(.qti-orientation-horizontal) [part='slot'] {\n grid-auto-flow: dense column;\n grid-auto-columns: 1fr;\n }\n\n :host(.qti-orientation-vertical) [part='slot'] {\n grid-auto-flow: row;\n }\n\n /* Vertical and horizontal stacking logic */\n :host(.qti-orientation-vertical[class*='qti-choices-stacking-']) [part='slot'] {\n grid-auto-flow: dense column;\n grid-auto-columns: 1fr;\n grid-template-columns: repeat(var(--stacking-count), 1fr);\n grid-template-rows: repeat(calc(var(--item-count) / var(--stacking-count)), 1fr);\n }\n\n :host(.qti-orientation-horizontal[class*='qti-choices-stacking-']) [part='slot'] {\n grid-auto-flow: row;\n grid-template-columns: repeat(var(--stacking-count), 1fr);\n grid-template-rows: unset;\n }\n\n /* Ensure even distribution in vertical mode */\n :host(.qti-orientation-vertical) ::slotted(qti-simple-choice:nth-child(even)) {\n grid-row: auto;\n }\n"]);Z=function t(){return e};return e}function ee(){var e=P(['\n <slot part="prompt" name="prompt"></slot><slot part="slot" @slotchange=','></slot>\n <div part="message" role="alert" id="validationMessage"></div>\n ']);ee=function t(){return e};return e}function et(){var e=P(['<div style="color:red">\n <h1>Error</h1>\n ',"\n </div>"]);et=function t(){return e};return e}function en(){var e=P(["<iframe\n width=","\n height=",'\n frameborder="0"\n title="pciContainer"\n id="pciContainer"\n >\n </iframe>\n ',""]);en=function t(){return e};return e}function er(){var e=P(["<button ?disabled=",' part="button" @click=',">","</button>"]);er=function t(){return e};return e}function ei(){var e=P(["\n /* PK: display host as block, else design will be collapsed */\n :host {\n display: block;\n }\n textarea {\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n border: 0;\n }\n"]);ei=function t(){return e};return e}function eo(){var e=P(['<slot name="prompt"></slot\n ><textarea\n part="textarea"\n name="','"\n spellcheck="false"\n autocomplete="off"\n maxlength="','"\n @keydown="','"\n @keyup="','"\n @change="','"\n @blur="','"\n placeholder="','"\n rows="','"\n ?disabled="','"\n ?readonly="','"\n .value=',"\n ></textarea>"]);eo=function t(){return e};return e}function ea(){var e=P(["\n :host {\n display: flex;\n user-select: none;\n }\n "]);ea=function t(){return e};return e}function es(){var e=P(["\n :host {\n display: flex;\n align-items: flex-start;\n flex-direction: column;\n flex-wrap: wrap;\n gap: 0.5rem;\n }\n\n :host(.qti-choices-top) {\n flex-direction: column;\n }\n :host(.qti-choices-bottom) {\n flex-direction: column-reverse;\n }\n :host(.qti-choices-left) {\n flex-direction: row;\n }\n :host(.qti-choices-right) {\n flex-direction: row-reverse;\n }\n /* [part='drops'] , */\n [name='prompt'] {\n width: 100%;\n }\n [name='drags'] {\n display: flex;\n align-items: flex-start;\n flex: 1;\n border: 2px solid transparent;\n padding: 0.3rem;\n border-radius: 0.3rem;\n gap: 0.5rem;\n }\n"]);es=function t(){return e};return e}function el(){var e=P(['<slot name="prompt"> </slot>\n <slot part="drags" name="drags"></slot>\n <slot part="drops"></slot>\n <div role="alert" id="validationMessage"></div>']);el=function t(){return e};return e}function eu(){var e=P(["<slot></slot>"]);eu=function t(){return e};return e}function ec(){var e=P(["\n :host {\n display: inline-flex;\n user-select: none;\n }\n "]);ec=function t(){return e};return e}function ed(){var e=P([' <slot name="drags"></slot>']);ed=function t(){return e};return e}function eh(){var e=P(["\n :host {\n display: flex;\n user-select: none;\n }\n "]);eh=function t(){return e};return e}function ef(){var e=P(["\n slot:not([name='prompt']) {\n // position: relative; /* qti-hotspot-choice relative to the slot */\n display: block;\n width: fit-content; /* hotspots not stretching further if image is at max size */\n }\n ::slotted(img) {\n /* image not selectable anymore */\n pointer-events: none;\n user-select: none;\n }\n ::slotted(qti-associable-hotspot) {\n transform: translate(-50%, -50%);\n }\n line-container {\n display: block;\n position: relative;\n width: fit-content;\n }\n svg {\n position: absolute;\n top: 0px;\n left: 0px;\n }\n"]);ef=function t(){return e};return e}function ep(){var e=P(['\n <line\n part="line"\n x1=',"\n y1=","\n x2=","\n y2=",'\n stroke="red"\n stroke-width="3"\n @click=',"\n />\n "]);ep=function t(){return e};return e}function ev(){var e=P(['\n <line\n part="correct-line"\n x1=',"\n y1=","\n x2=","\n y2=",'\n stroke="var(--qti-correct)"\n stroke-width="3"\n stroke-dasharray="5,5"\n />\n ']);ev=function t(){return e};return e}function ey(){var e=P(['<line\n part="point"\n x1=',"\n y1=","\n x2=","\n y2=",'\n stroke="var(--qti-border-active)"\n stroke-width="3"\n />']);ey=function t(){return e};return e}function em(){var e=P(['<slot name="prompt"></slot>\n <line-container>\n <svg\n width=',"\n height=",'\n viewbox="0 0 '," ",'"\n >\n ',"\n ","\n ",'\n </svg>\n <slot></slot>\n </line-container>\n <div role="alert" id="validationMessage"></div>']);em=function t(){return e};return e}function eg(){var e=P(["\n :host {\n display: flex;\n align-items: flex-start;\n flex-direction: column;\n flex-wrap: wrap;\n gap: 0.5rem;\n }\n\n :host(.qti-choices-top) {\n flex-direction: column-reverse;\n }\n :host(.qti-choices-bottom) {\n flex-direction: column;\n }\n :host(.qti-choices-left) {\n flex-direction: row-reverse;\n & [name='drags'] {\n width: 25%;\n }\n & [part='image'] {\n width: 75%;\n }\n }\n :host(.qti-choices-right) {\n flex-direction: row;\n & [name='drags'] {\n width: 25%;\n }\n & [part='image'] {\n width: 75%;\n }\n }\n [part='image'] {\n display: block;\n position: relative;\n }\n /* [part='drops'] , */\n\n [name='drags'] {\n display: flex;\n align-items: flex-start;\n flex-wrap: wrap;\n flex: 1;\n border: 2px solid transparent;\n padding: 0.3rem;\n border-radius: 0.3rem;\n gap: 0.5rem;\n }\n ::slotted(img) {\n display: inline-block;\n user-select: none;\n pointer-events: none;\n }\n"]);eg=function t(){return e};return e}function eb(){var e=P([' <slot name="prompt"></slot>\n <slot part="image"></slot>\n <slot part="drags" name="drags" class="hover-border"></slot>\n <div role="alert" id="validationMessage"></div>']);eb=function t(){return e};return e}function e_(){var e=P(["\n slot:not([name='prompt']) {\n position: relative; /* qti-hotspot-choice relative to the slot */\n display: block;\n width: fit-content; /* hotspots not stretching further if image is at max size */\n }\n ::slotted(img) {\n /* image not selectable anymore */\n pointer-events: none;\n user-select: none;\n }\n"]);e_=function t(){return e};return e}function ek(){var e=P(['\n <slot name="prompt"></slot>\n <slot></slot>\n <div role="alert" id="validationMessage"></div>\n ']);ek=function t(){return e};return e}function ew(){var e=P(["\n :host {\n display: flex;\n user-select: none;\n position: absolute;\n }\n "]);ew=function t(){return e};return e}function eE(){var e=P(["\n slot:not([name='prompt']) {\n position: relative; /* qti-hotspot-choice relative to the slot */\n display: block;\n width: fit-content; /* hotspots not stretching further if image is at max size */\n }\n ::slotted(img) {\n /* image not selectable anymore */\n pointer-events: none;\n user-select: none;\n /* width:100%; */\n }\n"]);eE=function t(){return e};return e}function ex(){var e=P(['\n <slot name="prompt"></slot>\n <slot></slot>\n ']);ex=function t(){return e};return e}function eq(){var e=P(["<slot></slot>"]);eq=function t(){return e};return e}function eA(){var e=P(['<div part="ch"><div part="cha"></div></div>\n <slot></slot> ']);eA=function t(){return e};return e}function eS(){var e=P(["\n :host {\n display: flex;\n user-select: none;\n }\n "]);eS=function t(){return e};return e}function eC(){var e=P(["\n :host {\n display: inline-block;\n }\n slot {\n display: flex;\n flex-direction: column;\n }\n [role='menu'] {\n position: absolute;\n z-index: 1000;\n }\n .anchor {\n /* anchor-name: --infobox; */\n width: fit-content;\n }\n\n .positionedElement {\n position: absolute;\n /* position-anchor: --infobox; */\n /* top: anchor(bottom); */\n }\n "]);eC=function t(){return e};return e}function eR(){var e=P(['\n <option value="','" ?selected="','">',"</option>\n "]);eR=function t(){return e};return e}function eP(){var e=P(['\n <select part="select" @change="','" ?disabled="','" ?readonly="','">\n ',"\n </select>\n\n ","\n "]);eP=function t(){return e};return e}function eI(){var e=P(["\n :host {\n display: block;\n cursor: pointer;\n }\n "]);eI=function t(){return e};return e}function eM(){var e=P([" <slot></slot> "]);eM=function t(){return e};return e}function eT(){var e=P(['\n <slot part="slot"></slot>\n <slot part="dropslot" name="qti-simple-associable-choice"></slot>\n ']);eT=function t(){return e};return e}function eO(){var e=P(["\n :host {\n display: flex;\n user-select: none;\n }\n slot {\n width: 100%;\n display: block;\n }\n slot[name='qti-simple-associable-choice'] {\n /* width: 100%; */\n }\n "]);eO=function t(){return e};return e}function eU(){var e=P(["\n slot:not([hidden]) {\n /* slot where the */\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n align-items: flex-start; /* prevents the drag and drop container slots having the same height */\n }\n :host(.qti-choices-top) slot {\n flex-direction: column;\n }\n :host(.qti-choices-bottom) slot {\n flex-direction: column-reverse;\n }\n :host(.qti-choices-left) slot {\n flex-direction: row;\n }\n :host(.qti-choices-right) slot {\n flex-direction: row-reverse;\n }\n slot[name='prompt'] {\n display: block;\n }\n ::slotted(qti-simple-match-set) {\n /* Make sure the drag and drop container slots have the same width */\n flex: 1;\n }\n"]);eU=function t(){return e};return e}function e$(){var e=P(['<th part="r-header">',"</th>"]);e$=function t(){return e};return e}function eL(){var e=P(["<td>\n <input\n type=","\n part=","\n name=","\n value=","\n .disabled=","\n @change=","\n @click=","\n />\n </td>"]);eL=function t(){return e};return e}function eN(){var e=P(['<tr>\n <td part="c-header">',"</td>\n ","\n </tr>"]);eN=function t(){return e};return e}function eD(){var e=P(["\n <table>\n <tr>\n <td></td>\n ","\n </tr>\n\n ","\n </table>\n "]);eD=function t(){return e};return e}function eV(){var e=P(['\n <slot name="prompt"></slot>\n <slot ?hidden=',"></slot>\n\n ",'\n\n <div role="alert" id="validationMessage"></div>\n ']);eV=function t(){return e};return e}function ej(){var e=P([' <slot name="prompt"></slot>\n <slot></slot>']);ej=function t(){return e};return e}function eH(){var e=P([""]);eH=function t(){return e};return e}function ez(){var e=P(["\n [part='drags'] {\n display: flex;\n align-items: flex-start;\n flex: 1;\n flex-wrap: wrap;\n }\n\n [part='drops'] {\n flex: 1;\n display: grid;\n grid-auto-flow: column;\n grid-auto-columns: 1fr;\n }\n\n :host([orientation='horizontal']) [part='drags'] {\n flex-direction: row;\n }\n :host([orientation='horizontal']) [part='drops'] {\n grid-auto-flow: column;\n }\n :host([orientation='vertical']) [part='drags'] {\n flex-direction: column;\n }\n :host([orientation='vertical']) [part='drops'] {\n grid-auto-flow: row;\n }\n\n [part='drop-list'] {\n display: block;\n flex: 1;\n }\n\n [part='container'] {\n display: flex;\n gap: 0.5rem;\n }\n :host(.qti-choices-top) [part='container'] {\n flex-direction: column;\n }\n :host(.qti-choices-bottom) [part='container'] {\n flex-direction: column-reverse;\n }\n :host(.qti-choices-left) [part='container'] {\n flex-direction: row;\n }\n :host(.qti-choices-right) [part='container'] {\n flex-direction: row-reverse;\n }\n"]);ez=function t(){return e};return e}function eQ(){var e=P(['<drop-list role="region" part="drop-list" identifier="droplist','"></drop-list>']);eQ=function t(){return e};return e}function eF(){var e=P([' <slot name="prompt"> </slot>\n <div part="container">\n <slot part="drags"> </slot>\n <div part="drops">\n ',"\n </div>\n </div>"]);eF=function t(){return e};return e}function eB(){var e=P(["\n ::slotted(qti-interaction-markup) {\n display: none;\n }\n"]);eB=function t(){return e};return e}function eW(){var e=P(['<div style="color:red">\n <h1>Error</h1>\n ',"\n </div>"]);eW=function t(){return e};return e}function eJ(){var e=P(["\n <slot></slot>\n ","\n "]);eJ=function t(){return e};return e}function eG(){var e=P(["\n :host {\n display: block;\n width: 100%;\n min-height: 50px;\n }\n .qti-customInteraction {\n display: block;\n width: 100%;\n min-height: 50px;\n }\n "]);eG=function t(){return e};return e}function eX(){var e=P(["<slot></slot>"]);eX=function t(){return e};return e}function eY(){var e=P(["\n :host {\n display: block;\n }\n ::slotted(img) {\n position: absolute;\n cursor: move;\n user-select: none;\n left: 50%;\n transform: translateX(-50%);\n }\n "]);eY=function t(){return e};return e}function eK(){var e=P(["<slot></slot>"]);eK=function t(){return e};return e}function eZ(){var e=P(["\n :host {\n display: inline-block;\n position: relative;\n }\n "]);eZ=function t(){return e};return e}function e0(){var e=P(['\n <button\n part="point"\n style=','\n aria-label="Remove point at ','"\n @click=',"\n ></button>\n "]);e0=function t(){return e};return e}function e1(){var e=P(["<div\n style=",'\n data-coord="','"\n alt=','\n data-shape="','"\n ></div>']);e1=function t(){return e};return e}function e2(){var e=P([' <slot name="prompt"></slot>\n <point-container>\n ',"\n ","\n <slot></slot>\n </point-container>"]);e2=function t(){return e};return e}function e3(){var e=P(["\n :host {\n display: block;\n }\n point-container {\n display: block;\n position: relative;\n width: fit-content;\n }\n\n ::slotted(img) {\n max-width: 100%;\n height: auto;\n display: block;\n }\n "]);e3=function t(){return e};return e}function e5(){var e=P(['<div id="label">',"</div>"]);e5=function t(){return e};return e}function e4(){var e=P(['<div part="ch">\n <div part="cha"></div>\n </div>\n ','\n <slot part="slot"></slot>']);e4=function t(){return e};return e}function e6(){var e=P(["\n :host {\n display: flex;\n align-items: center;\n user-select: none;\n }\n slot {\n width: 100%;\n display: flex;\n align-items: center;\n }\n [part='ch'] {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n }\n "]);e6=function t(){return e};return e}function e9(){var e=P(["\n :host {\n display: block;\n --show-bounds: true;\n --show-ticks: true;\n --show-value: true;\n }\n\n [part='slider'] {\n margin-left: 2rem; /* mx-8 */\n margin-right: 2rem;\n padding-bottom: 1rem; /* pb-4 */\n padding-top: 1.25rem; /* pt-5 */\n }\n\n [part='bounds'] {\n display: flex;\n width: 100%;\n justify-content: space-between;\n margin-bottom: 0.5rem; /* mb-2 */\n }\n\n [part='ticks'] {\n margin-left: 0.125rem; /* mx-0.5 */\n margin-right: 0.125rem;\n margin-bottom: 0.25rem; /* mb-1 */\n height: 0.5rem; /* h-2 */\n background: linear-gradient(to right, var(--qti-border-color) var(--qti-border-thickness), transparent 1px) repeat-x\n 0 center / calc(calc(100% - var(--qti-border-thickness)) / ((var(--max) - var(--min)) / var(--step))) 100%;\n }\n\n [part='rail'] {\n display: flex;\n align-items: center;\n box-sizing: border-box;\n height: 0.375rem; /* h-1.5 */\n width: 100%;\n cursor: pointer;\n border-radius: 9999px; /* rounded-full */\n border: 1px solid #d1d5db; /* border-gray-300 */\n background-color: #e5e7eb; /* bg-gray-200 */\n }\n\n [part='knob'] {\n background-color: var(--qti-bg-active);\n border: 2px solid var(--qti-border-active);\n position: relative;\n height: 1rem; /* h-4 */\n width: 1rem; /* w-4 */\n transform-origin: center;\n transform: translateX(-50%);\n cursor: pointer;\n border-radius: 9999px; /* rounded-full */\n left: var(--value-percentage);\n }\n [part='knob-correct'] {\n background-color: var(--qti-correct-light);\n border: 2px solid var(--qti-correct);\n position: relative;\n height: 1rem; /* h-4 */\n width: 1rem; /* w-4 */\n transform-origin: center;\n transform: translateX(-50%);\n cursor: pointer;\n border-radius: 9999px; /* rounded-full */\n left: var(--value-percentage-correct);\n }\n\n [part='value'] {\n position: absolute;\n bottom: 2rem; /* bottom-8 */\n left: 0.5rem; /* left-2 */\n transform: translateX(-50%);\n cursor: pointer;\n border-radius: 0.25rem; /* rounded */\n background-color: #f3f4f6; /* bg-gray-100 */\n padding: 0.25rem 0.5rem; /* px-2 py-1 */\n text-align: center;\n color: #6b7280; /* text-gray-500 */\n }\n"]);e9=function t(){return e};return e}function e8(){var e=P(['\n <div id="knob-correct" part="knob-correct">\n <div id="value" part="value">',"</div>\n </div>\n "]);e8=function t(){return e};return e}function e7(){var e=P(['\n <slot name="prompt"></slot>\n <div id="slider" part="slider">\n <div id="bounds" part="bounds">\n <div>',"</div>\n <div>",'</div>\n </div>\n\n <div id="ticks" part="ticks"></div>\n\n <div id="rail" part="rail" @mousedown='," @touchstart=",'>\n <div id="knob" part="knob">\n <div id="value" part="value">',"</div>\n </div>\n\n ","\n </div>\n </div>\n "]);e7=function t(){return e};return e}function te(){var e=P(["\n :host {\n display: inline-block;\n }\n\n :host(.qti-input-width-1) [part='input'] {\n width: 1.1rem;\n min-width: 1.1rem;\n }\n\n :host(.qti-input-width-2) [part='input'] {\n width: 2.3rem;\n min-width: 2.3rem;\n }\n\n :host(.qti-input-width-3) [part='input'] {\n width: 3.3rem;\n min-width: 3.3rem;\n }\n\n :host(.qti-input-width-4) [part='input'] {\n width: 4.2rem;\n min-width: 4.2rem;\n }\n\n :host(.qti-input-width-6) [part='input'] {\n width: 6.6rem;\n min-width: 6.6rem;\n }\n\n :host(.qti-input-width-10) [part='input'] {\n width: 8rem;\n min-width: 8rem;\n }\n\n :host(.qti-input-width-15) [part='input'] {\n width: 12rem;\n min-width: 12rem;\n }\n\n :host(.qti-input-width-20) [part='input'] {\n width: 17rem;\n min-width: 17rem;\n }\n\n :host(.qti-input-width-25) [part='input'] {\n width: 20rem;\n min-width: 20rem;\n }\n\n :host(.qti-input-width-30) [part='input'] {\n width: 24rem;\n min-width: 24rem;\n }\n\n :host(.qti-input-width-35) [part='input'] {\n width: 28rem;\n min-width: 28rem;\n }\n\n :host(.qti-input-width-40) [part='input'] {\n width: 32rem;\n min-width: 32rem;\n }\n\n :host(.qti-input-width-45) [part='input'] {\n width: 36rem;\n min-width: 36rem;\n }\n\n :host(.qti-input-width-50) [part='input'] {\n width: 40rem;\n min-width: 40rem;\n }\n\n :host(.qti-input-width-72) [part='input'] {\n width: 57rem;\n min-width: 57rem;\n }\n\n :host {\n position: relative;\n }\n input {\n anchor-name: --text-entry-input;\n z-index: 100;\n position: relative;\n }\n\n [part='correct'] {\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n background-color: var(--qti-bg);\n z-index: 0;\n position: absolute;\n left: 0;\n right: 0;\n position-anchor: --text-entry-input;\n bottom: anchor(top);\n left: anchor(left);\n /* opacity: 1; */\n transition: all 1s;\n\n @starting-style {\n display: grid;\n /* opacity: 0; */\n bottom: 0;\n }\n }\n"]);te=function t(){return e};return e}function tt(){var e=P(['<div part="correct">',"</div>"]);tt=function t(){return e};return e}function tn(){var e=P(['\n <input\n part="input"\n name="','"\n spellcheck="false"\n autocomplete="off"\n @blur="','"\n @keydown="','"\n @keyup="','"\n @change="','"\n type="','"\n placeholder="','"\n .value="','"\n pattern="','"\n maxlength=','\n ?disabled="','"\n ?readonly="','"\n />\n ',"\n "]);tn=function t(){return e};return e}function tr(){var e=P(['\n <div>\n <slot name="prompt"></slot>\n <input type="file" @change="','" ?disabled="','" ?readonly="','" />\n </div>\n ']);tr=function t(){return e};return e}function ti(){var e=P(["\n :host {\n display: block;\n margin: 1em 0;\n }\n input[type='file'] {\n display: block;\n margin-top: 0.5em;\n }\n "]);ti=function t(){return e};return e}function to(){var e=P(["\n :host {\n display: block;\n }\n"]);to=function t(){return e};return e}function ta(){var e=P(['<slot part="qti-rubric-blocks" name="qti-rubric-block"></slot><slot></slot>']);ta=function t(){return e};return e}function ts(){var e=P(["<slot></slot>"]);ts=function t(){return e};return e}function tl(){var e=P(["\n :host {\n display: none;\n }\n "]);tl=function t(){return e};return e}function tu(){var e=P(["<slot></slot>"]);tu=function t(){return e};return e}function tc(){var e=P(["<slot></slot>"]);tc=function t(){return e};return e}function td(){var e=P(["\n :host {\n display: none;\n }\n "]);td=function t(){return e};return e}function th(){var e=P(["<slot></slot>"]);th=function t(){return e};return e}function tf(){var e=P(["<slot></slot>"]);tf=function t(){return e};return e}function tp(){var e=P(["<slot></slot>"]);tp=function t(){return e};return e}function tv(){var e=P(["",""]);tv=function t(){return e};return e}function ty(){var e=P(["<pre>","</pre>\n <slot></slot>"]);ty=function t(){return e};return e}function tm(){var e=P(["\n slot {\n display: none;\n }\n "]);tm=function t(){return e};return e}function tg(){var e=P(["<pre>","</pre>\n <slot></slot>"]);tg=function t(){return e};return e}function tb(){var e=P(["\n slot {\n display: none;\n }\n "]);tb=function t(){return e};return e}function t_(){var e=P(["",""]);t_=function t(){return e};return e}function tk(){var e=P(["",""]);tk=function t(){return e};return e}function tw(){var e=P(["<slot></slot>"]);tw=function t(){return e};return e}function tE(){var e=P(["<slot></slot>"]);tE=function t(){return e};return e}function tx(){var e=P(["\n :host {\n display: block;\n }\n "]);tx=function t(){return e};return e}function tq(){var e=P(["<slot></slot>"]);tq=function t(){return e};return e}function tA(){var e=P(["",""]);tA=function t(){return e};return e}function tS(){var e=P(["\n :host {\n display: none;\n }\n "]);tS=function t(){return e};return e}function tC(){var e=P(["",""]);tC=function t(){return e};return e}function tR(){var e=P(["\n :host {\n display: none;\n }\n "]);tR=function t(){return e};return e}var QtiComponents=function(){var e=function e(e){var t=e.context;return function(e,n){var r=new WeakMap;if((typeof n==="undefined"?"undefined":T(n))=="object")return{get:function t(){return e.get.call(this)},set:function t(t){return r.get(this).setValue(t),e.set.call(this,t)},init:function e(e){return r.set(this,new tY(this,{context:t,initialValue:e})),e}};{e.constructor.addInitializer(function(e){r.set(e,new tY(e,{context:t}))});var i=Object.getOwnPropertyDescriptor(e,n),o;if(i===void 0){var a=new WeakMap;o={get:function e(){return a.get(this)},set:function e(e){r.get(this).setValue(e),a.set(this,e)},configurable:!0,enumerable:!0}}else{var s=i.set;o=E(k({},i),{set:function e(e){r.get(this).setValue(e),s===null||s===void 0?void 0:s.call(this,e)}})}return void Object.defineProperty(e,n,o)}}};var t=function e(e){var t=e.context,n=e.subscribe;return function(e,r){(typeof r==="undefined"?"undefined":T(r))=="object"?r.addInitializer(function(){var r=this;new tJ(this,{context:t,callback:function(t){e.set.call(r,t)},subscribe:n})}):e.constructor.addInitializer(function(e){new tJ(e,{context:t,callback:function(t){e[r]=t},subscribe:n})})}};var n=function e(e,t){if(!n9(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return nZ!==void 0?nZ.createHTML(t):t};var r=function e(e){return function(t,n){return(typeof n==="undefined"?"undefined":T(n))=="object"?rU(e,t,n):function(e,t,n){var r=t.hasOwnProperty(n);return t.constructor.createProperty(n,e),r?Object.getOwnPropertyDescriptor(t,n):void 0}(e,t,n)}};var i=function e(e){return r(E(k({},e),{state:!0,attribute:!1}))};var l=function e(e,t){return function(n,r,i){var o=function(t){var n;var r;return(r=(n=t.renderRoot)===null||n===void 0?void 0:n.querySelector(e))!==null&&r!==void 0?r:null};if(t){var a=(typeof r==="undefined"?"undefined":T(r))=="object"?n:i!==null&&i!==void 0?i:function(){var e=Symbol();return{get:function t(){return this[e]},set:function t(t){this[e]=t}}}(),s=a.get,l=a.set;return r$(n,r,{get:function e(){var e=s.call(this);return e===void 0&&(e=o(this),(e!==null||this.hasUpdated)&&l.call(this,e)),e}})}return r$(n,r,{get:function e(){return o(this)}})}};var u=function e(e){return function(t,n){var r=e!==null&&e!==void 0?e:{},i=r.slot,o=r.selector,a="slot"+(i?"[name=".concat(i,"]"):":not([name])");return r$(t,n,{get:function t(){var t;var n;var r=(t=this.renderRoot)===null||t===void 0?void 0:t.querySelector(a),i=(n=r===null||r===void 0?void 0:r.assignedElements(e))!==null&&n!==void 0?n:[];return o===void 0?i:i.filter(function(e){return e.matches(o)})}})}};var y=function e(e,t){var n=k({waitUntilFirstUpdate:!1},t);return function(t,r){var i=t.update,o=Array.isArray(e)?e:[e];t.update=function(e){var t=this;o.forEach(function(i){var o=i;if(e.has(o)){var a=e.get(o),s=t[o];a!==s&&(!n.waitUntilFirstUpdate||t.hasUpdated)&&t[r](a,s)}}),i.call(this,e)}}};var m=function e(e,t,n){e.querySelectorAll(t).forEach(function(e){var r="".concat(t,"-").concat(n),i=b(e,r);e.replaceWith(i)})};var g=function e(e,t){e.querySelectorAll("*").forEach(function(e){var n=e.classList;n&&n.forEach(function(n){if(n.startsWith("".concat(t,":"))){var r=n.slice("".concat(t,":").length),i="".concat(e.nodeName,"-").concat(r),o=b(e,i);e.replaceWith(o)}})})};var b=function e(e,t){var n=document.createElement(t);var r=true,i=false,o=undefined;try{for(var a=e.attributes[Symbol.iterator](),s;!(r=(s=a.next()).done);r=true){var l=s.value;n.setAttribute(l.name,l.value)}}catch(e){i=true;o=e}finally{try{if(!r&&a.return!=null){a.return()}}finally{if(i){throw o}}}for(;e.firstChild;)n.appendChild(e.firstChild);return n};var _=function e(e){var t=new XMLHttpRequest;return{promise:new Promise(function(n,r){t.open("GET",e,!0),t.responseType="document",t.onload=function(){t.status>=200&&t.status<300?n(t.responseXML):r(t.statusText)},t.onerror=function(){r(t.statusText)},t.send()}),xhr:t}};var w=function e(e){return new DOMParser().parseFromString(e,"text/xml")};var x=function e(e){var t=new XSLTProcessor,n=new DOMParser().parseFromString(rj,"text/xml");return t.importStylesheet(n),t.transformToFragment(e,document)};var q=function e(e,t){t.endsWith("/")||(t+="/"),e.querySelectorAll("[src],[href],[primary-path]").forEach(function(e){var n;var r="";e.getAttribute("src")&&(r="src"),e.getAttribute("href")&&(r="href"),e.getAttribute("primary-path")&&(r="primary-path");var i=(n=e.getAttribute(r))===null||n===void 0?void 0:n.trim();if(!i.startsWith("data:")&&!i.startsWith("http:")&&!i.startsWith("blob:")){var o=t+encodeURI(i);e.setAttribute(r,o)}})};var S=function e(e){e.querySelectorAll('qti-custom-operator[class="js.org"] > qti-base-value').forEach(function(e){var t=document.createComment(e.textContent);e.replaceChild(t,e.firstChild)})};var R=function e(e){e.querySelectorAll("qti-stylesheet").forEach(function(e){return e.remove()})};var P=function e(e){switch(e){case"qti-choice-interaction":case"qti-order-interaction":return"qti-simple-choice";case"qti-inline-choice-interaction":return"qti-inline-choice";case"qti-match-interaction":return["qti-simple-match-set:first-of-type qti-simple-associable-choice","qti-simple-match-set:last-of-type > qti-simple-associable-choice"];case"qti-gap-match-interaction":return"qti-gap-text";case"qti-associate-interaction":return"qti-simple-associable-choice";default:}};var O=function e(e){return e==null};var $=function e(e){return e.replace(/([^:]\/)\/+/g,"$1").replace(/\/\//g,"/").replace("http:/","http://").replace("https:/","https://")};var tP=function e(e,t){var n;return function(t,r){var i=t.connectedCallback,o=t.disconnectedCallback;t.connectedCallback=function(){var t=this;var o;i.call(this);var a=function(n){var i;var o=Array.from(t.querySelectorAll(e)).concat(Array.from(((i=t.shadowRoot)===null||i===void 0?void 0:i.querySelectorAll(e))||[]));var a=true,s=false,l=undefined;try{for(var u=n[Symbol.iterator](),c;!(a=(c=u.next()).done);a=true){var d=c.value;var h=Array.from(d.addedNodes).map(function(e){return e}),f=Array.from(d.addedNodes).map(function(e){return e});d.type==="childList"&&h.find(function(e){return o.includes(e)})&&t[r](h,f)}}catch(e){s=true;l=e}finally{try{if(!a&&u.return!=null){u.return()}}finally{if(s){throw l}}}};n=new MutationObserver(a),n.observe(this,{childList:!0,subtree:!0});var s=Array.from(this.querySelectorAll(e)).concat(Array.from(((o=this.shadowRoot)===null||o===void 0?void 0:o.querySelectorAll(e))||[]));this[r](Array.from(s),[])},t.disconnectedCallback=function(){o.call(this),n.disconnect()}}};var tI=function e(e,t){var n=/*#__PURE__*/function(e){"use strict";p(n,e);function n(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}s(this,n);var i;i=a(this,n,M(t));i.identifier="";i.tabIndex=0;i.disabled=!1;i.readonly=!1;i.internals=i.attachInternals();return i}c(n,[{key:"handleDisabledChange",value:function e(e,t){this.tabIndex=t?-1:0,t&&this.blur()}},{key:"connectedCallback",value:function e(){h(f(n.prototype),"connectedCallback",this).call(this),this.addEventListener("keyup",this._onKeyUp),this.addEventListener("click",this._onClick),this.dispatchEvent(new CustomEvent("register-".concat(t),{bubbles:!0,composed:!0}))}},{key:"disconnectedCallback",value:function e(){h(f(n.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("keyup",this._onKeyUp),this.removeEventListener("click",this._onClick),this.dispatchEvent(new CustomEvent("unregister-".concat(t),{bubbles:!0,composed:!0}))}},{key:"_onKeyUp",value:function e(e){e.altKey||e.code==="Space"&&(e.preventDefault(),this._activate())}},{key:"_onClick",value:function e(){this.disabled||this.readonly||(this.focus(),this._activate())}},{key:"_activate",value:function e(){this.disabled||this.readonly||this.dispatchEvent(new CustomEvent("activate-".concat(t),{bubbles:!0,composed:!0,detail:{identifier:this.identifier}}))}},{key:"render",value:function e(){return rl(N())}}]);return n}(e);return tF([r({type:String})],n.prototype,"identifier",2),tF([r({type:Number,reflect:!0,attribute:"tabindex"})],n.prototype,"tabIndex",2),tF([r({type:Boolean,reflect:!0,attribute:"aria-disabled",converter:is})],n.prototype,"disabled",2),tF([r({type:Boolean,reflect:!0,attribute:"aria-readonly",converter:is})],n.prototype,"readonly",2),tF([y("disabled",{waitUntilFirstUpdate:!0})],n.prototype,"handleDisabledChange",1),n};var tM=function e(e,t,n,r){var i=n.getAttribute("width")?parseFloat(n.getAttribute("width")):n.naturalWidth,o=n.getAttribute("height")?parseFloat(n.getAttribute("height")):n.naturalHeight;switch(e){case"circle":{if(t.length!==3){console.error("Invalid cirlce coordinates:",t);return}var a=C(t,3),s=a[0],l=a[1],u=a[2],c=s/i*100,d=l/o*100,h=u/i*100;r.style.left=c-h+"%",r.style.top=d-h+"%";var f=u/i*100,p=u/o*100;r.style.width=2*f+"%",r.style.height=2*p+"%",r.style.borderRadius="50%"}break;case"rect":{if(t.length!==4){console.error("Invalid rectangle coordinates:",t);return}var v=C(t,4),y=v[0],m=v[1],g=v[2],b=v[3],_=y/i*100,k=m/o*100,w=g/i*100,E=b/o*100;r.style.left=_+"%",r.style.top=k+"%",r.style.width=w-_+"%",r.style.height=E-k+"%"}break;case"ellipse":{if(t.length!==4){console.error("Invalid ellipse coordinates:",t);return}var x=C(t,4),q=x[0],A=x[1],S=x[2],R=x[3],P=q/i*100,I=A/o*100,T=S/i*100,O=R/o*100;r.style.left=P-T+"%",r.style.top=I-O+"%",r.style.width=2*T+"%",r.style.height=2*O+"%",r.style.borderRadius="50%"}break;case"poly":{var U,$,L,N;if(t.length<6||t.length%2!==0){console.error("Invalid polygon coordinates:",t);return}var D=[];for(var V=0;V<t.length;V+=2)D.push({x:t[V],y:t[V+1]});var j=(U=Math).min.apply(U,M(D.map(function(e){return e.x}))),H=($=Math).max.apply($,M(D.map(function(e){return e.x}))),z=(L=Math).min.apply(L,M(D.map(function(e){return e.y}))),Q=(N=Math).max.apply(N,M(D.map(function(e){return e.y}))),F=j/i*100,B=z/o*100,W=H/i*100,J=Q/o*100;r.style.left=F+"%",r.style.top=B+"%",r.style.width=W-F+"%",r.style.height=J-B+"%";var G=D.map(function(e){return{x:(e.x-j)/(H-j)*100,y:(e.y-z)/(Q-z)*100}}).map(function(e){return"".concat(e.x,"% ").concat(e.y,"%")}).join(",");r.style.clipPath="polygon(".concat(G,")")}break;default:console.error("Unsupported shape: ".concat(e));break}};var tT=function e(e){this._$AN!==void 0?(i5(this),this._$AM=e,i4(this)):this._$AM=e};var tO=function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;var r=this._$AH,i=this._$AN;if(i!==void 0&&i.size!==0)if(t)if(Array.isArray(r))for(var o=n;o<r.length;o++)i3(r[o],!1),i5(r[o]);else r!=null&&(i3(r,!1),i5(r));else i3(this,e)};var tU=function e(e){return /*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"calculateChildren",value:function e(e){return e.map(function(e){var t=e;if(!t.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;var n=t.calculate(),r=!1;if(typeof n=="string")if(n==="true")r=!0;else if(n==="false")r=!1;else return console.error("unexpected val in qti-or, expected boolean"),null;else typeof n=="boolean"&&(r=n);return r}).every(function(e){return typeof e=="boolean"&&e})}}]);return t}(e)};var t$=function e(e){return /*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"calculateChildren",value:function e(e){var t=e.map(function(e){if(!e.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;var t=e.calculate();return Number.isNaN(t)?(console.error("Unexpected value in qti-subtract, expected number"),null):Number(t)});return t.some(function(e){return e===null})?(console.error("One or more child expressions returned invalid values"),0):t[0]-t[1]}}]);return t}(e)};var tL;var tN=Object.defineProperty;var tD=Object.getOwnPropertyDescriptor;var tV=Object.getOwnPropertyNames;var tj=Object.prototype.hasOwnProperty;var tH=function(e,t){for(var n in t)tN(e,n,{get:t[n],enumerable:!0})},tz=function(e,t,n,r){var i=true,o=false,a=undefined;if(t&&(typeof t==="undefined"?"undefined":T(t))=="object"||typeof t=="function")try{var s=function(){var i=u.value;!tj.call(e,i)&&i!==n&&tN(e,i,{get:function(){return t[i]},enumerable:!(r=tD(t,i))||r.enumerable})};for(var l=tV(t)[Symbol.iterator](),u;!(i=(u=l.next()).done);i=true)s()}catch(e){o=true;a=e}finally{try{if(!i&&l.return!=null){l.return()}}finally{if(o){throw a}}}return e};var tQ=function(e){return tz(tN({},"__esModule",{value:!0}),e)},tF=function(e,t,n,r){for(var i=r>1?void 0:r?tD(t,n):t,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=(r?a(t,n,i):a(i))||i);return r&&i&&tN(t,n,i),i};var tB={};tH(tB,{QtiAnd:function(){return ox},QtiAssessmentItem:function(){return rD},QtiAssessmentStimulusRef:function(){return rz},QtiAssociableHotspot:function(){return rZ},QtiAssociateInteraction:function(){return r5},QtiBaseValue:function(){return oq},QtiChoiceInteraction:function(){return r8},QtiCompanionMaterialsInfo:function(){return rQ},QtiContains:function(){return oA},QtiContentBody:function(){return o0},QtiCorrect:function(){return oS},QtiCustomInteraction:function(){return r7},QtiCustomOperator:function(){return rF},QtiDelete:function(){return oZ},QtiEndAttemptInteraction:function(){return ie},QtiEqual:function(){return oP},QtiEqualRounded:function(){return oC},QtiExtendedTextInteraction:function(){return ir},QtiFeedbackBlock:function(){return rG},QtiFeedbackInline:function(){return rY},QtiGap:function(){return iu},QtiGapImg:function(){return ii},QtiGapMatchInteraction:function(){return ia},QtiGapText:function(){return il},QtiGraphicAssociateInteraction:function(){return iA},QtiGraphicGapMatchInteraction:function(){return iC},QtiGraphicOrderInteraction:function(){return iP},QtiGt:function(){return oI},QtiGte:function(){return oM},QtiHotspotChoice:function(){return iI},QtiHotspotInteraction:function(){return iT},QtiHottext:function(){return iU},QtiHottextInteraction:function(){return iO},QtiInlineChoice:function(){return iD},QtiInlineChoiceInteraction:function(){return iN},QtiIsNull:function(){return oT},QtiItemBody:function(){return oa},QtiLookupOutcomeValue:function(){return ov},QtiLt:function(){return oO},QtiLte:function(){return oU},QtiMapResponse:function(){return o$},QtiMapResponsePoint:function(){return oN},QtiMatch:function(){return oD},QtiMatchInteraction:function(){return iH},QtiMediaInteraction:function(){return iz},QtiMember:function(){return oV},QtiModalFeedback:function(){return rK},QtiMultiple:function(){return oj},QtiNot:function(){return oH},QtiOr:function(){return oz},QtiOrderInteraction:function(){return iF},QtiOrdered:function(){return oQ},QtiOutcomeDeclaration:function(){return o5},QtiOutcomeProcessing:function(){return os},QtiOutcomeProcessingProcessor:function(){return ol},QtiPortableCustomInteraction:function(){return iW},QtiPositionObjectInteraction:function(){return iJ},QtiPositionObjectStage:function(){return iG},QtiPrintedVariable:function(){return oF},QtiProduct:function(){return oB},QtiPrompt:function(){return ou},QtiRandom:function(){return oK},QtiResponseCondition:function(){return oy},QtiResponseDeclaration:function(){return o4},QtiResponseElse:function(){return ob},QtiResponseElseIf:function(){return ok},QtiResponseIf:function(){return o_},QtiResponseProcessing:function(){return of},QtiRubricBlock:function(){return o1},QtiRule:function(){return op},QtiSelectPointInteraction:function(){return iZ},QtiSetOutcomeValue:function(){return om},QtiSetOutcomeValueRule:function(){return og},QtiSimpleAssociableChoice:function(){return iV},QtiSimpleChoice:function(){return i0},QtiSliderInteraction:function(){return i2},QtiStringMatch:function(){return oJ},QtiStylesheet:function(){return o2},QtiSubtract:function(){return oW},QtiSum:function(){return oG},QtiSumExpression:function(){return oX},QtiTextEntryInteraction:function(){return or},QtiUploadInteraction:function(){return oi},QtiVariable:function(){return oY},qtiAndMixin:function(){return tU},qtiSubtractMixin:function(){return t$}});var tW=/*#__PURE__*/function(e){"use strict";p(t,e);function t(e,n,r,i){s(this,t);var o;o=a(this,t,["context-request",{bubbles:!0,composed:!0}]),o.context=e,o.contextTarget=n,o.callback=r,o.subscribe=i!==null&&i!==void 0?i:!1;return o}return t}(U(Event));var tJ=/*#__PURE__*/function(){"use strict";function e(t,n,r,i){var o=this;s(this,e);if(this.subscribe=!1,this.provided=!1,this.value=void 0,this.t=function(e,t){o.unsubscribe&&(o.unsubscribe!==t&&(o.provided=!1,o.unsubscribe()),o.subscribe||o.unsubscribe()),o.value=e,o.host.requestUpdate(),o.provided&&!o.subscribe||(o.provided=!0,o.callback&&o.callback(e,t)),o.unsubscribe=t},this.host=t,n.context!==void 0){var a=n;var l;this.context=a.context,this.callback=a.callback,this.subscribe=(l=a.subscribe)!==null&&l!==void 0?l:!1}else this.context=n,this.callback=r,this.subscribe=i!==null&&i!==void 0?i:!1;this.host.addController(this)}c(e,[{key:"hostConnected",value:function e(){this.dispatchRequest()}},{key:"hostDisconnected",value:function e(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0)}},{key:"dispatchRequest",value:function e(){this.host.dispatchEvent(new tW(this.context,this.host,this.t,this.subscribe))}}]);return e}();var tG=/*#__PURE__*/function(){"use strict";function e(t){var n=this;s(this,e);this.subscriptions=new Map,this.updateObservers=function(){var e=true,t=false,r=undefined;try{for(var i=n.subscriptions[Symbol.iterator](),o;!(e=(o=i.next()).done);e=true){var a=C(o.value,2),s=a[0],l=a[1],u=l.disposer;s(n.o,u)}}catch(e){t=true;r=e}finally{try{if(!e&&i.return!=null){i.return()}}finally{if(t){throw r}}}},t!==void 0&&(this.value=t)}c(e,[{key:"value",get:function e(){return this.o},set:function e(e){this.setValue(e)}},{key:"setValue",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;var n=t||!Object.is(e,this.o);this.o=e,n&&this.updateObservers()}},{key:"addCallback",value:function e(e,t,n){var r=this;if(!n)return void e(this.value);this.subscriptions.has(e)||this.subscriptions.set(e,{disposer:function(){r.subscriptions.delete(e)},consumerHost:t});var i=this.subscriptions.get(e),o=i.disposer;e(this.value,o)}},{key:"clearCallbacks",value:function e(){this.subscriptions.clear()}}]);return e}();var tX=/*#__PURE__*/function(e){"use strict";p(t,e);function t(e,n){s(this,t);var r;r=a(this,t,["context-provider",{bubbles:!0,composed:!0}]),r.context=e,r.contextTarget=n;return r}return t}(U(Event)),tY=/*#__PURE__*/function(e){"use strict";p(t,e);function t(e,n,r){s(this,t);var i;var o,l;i=a(this,t,[n.context!==void 0?n.initialValue:r]),i.onContextRequest=function(e){if(e.context!==i.context)return;var t;var n=(t=e.contextTarget)!==null&&t!==void 0?t:e.composedPath()[0];n!==i.host&&(e.stopPropagation(),i.addCallback(e.callback,n,e.subscribe))},i.onProviderRequest=function(e){var t;if(e.context!==i.context||((t=e.contextTarget)!==null&&t!==void 0?t:e.composedPath()[0])===i.host)return;var n=new Set;var r=true,o=false,a=undefined;try{for(var s=i.subscriptions[Symbol.iterator](),l;!(r=(l=s.next()).done);r=true){var u=C(l.value,2),c=u[0],d=u[1],h=d.consumerHost;n.has(c)||(n.add(c),h.dispatchEvent(new tW(i.context,h,c,!0)))}}catch(e){o=true;a=e}finally{try{if(!r&&s.return!=null){s.return()}}finally{if(o){throw a}}}e.stopPropagation()},i.host=e,n.context!==void 0?i.context=n.context:i.context=n,i.attachListeners(),(o=(l=i.host).addController)===null||o===void 0?void 0:o.call(l,i);return i}c(t,[{key:"attachListeners",value:function e(){this.host.addEventListener("context-request",this.onContextRequest),this.host.addEventListener("context-provider",this.onProviderRequest)}},{key:"hostConnected",value:function e(){this.host.dispatchEvent(new tX(this.context,this.host))}}]);return t}(tG);var tK=/*#__PURE__*/function(){"use strict";function e(t){s(this,e);this.ariaAtomic="",this.ariaAutoComplete="",this.ariaBrailleLabel="",this.ariaBrailleRoleDescription="",this.ariaBusy="",this.ariaChecked="",this.ariaColCount="",this.ariaColIndex="",this.ariaColSpan="",this.ariaCurrent="",this.ariaDescription="",this.ariaDisabled="",this.ariaExpanded="",this.ariaHasPopup="",this.ariaHidden="",this.ariaInvalid="",this.ariaKeyShortcuts="",this.ariaLabel="",this.ariaLevel="",this.ariaLive="",this.ariaModal="",this.ariaMultiLine="",this.ariaMultiSelectable="",this.ariaOrientation="",this.ariaPlaceholder="",this.ariaPosInSet="",this.ariaPressed="",this.ariaReadOnly="",this.ariaRequired="",this.ariaRoleDescription="",this.ariaRowCount="",this.ariaRowIndex="",this.ariaRowSpan="",this.ariaSelected="",this.ariaSetSize="",this.ariaSort="",this.ariaValueMax="",this.ariaValueMin="",this.ariaValueNow="",this.ariaValueText="",this.role="",this.form=null,this.labels=[],this.states=new Set,this.validationMessage="",this.validity={},this.willValidate=!0,this.__host=t}c(e,[{key:"shadowRoot",get:function e(){return this.__host.__shadowRoot}},{key:"checkValidity",value:function e(){return console.warn("`ElementInternals.checkValidity()` was called on the server.This method always returns true."),!0}},{key:"reportValidity",value:function e(){return!0}},{key:"setFormValue",value:function e(){}},{key:"setValidity",value:function e(){}}]);return e}();var tZ=function e(e,t,n,r,i){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?i.call(e,n):i?i.value=n:t.set(e,n),n},t0=function e(e,t,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(e):r?r.value:t.get(e)},t1,t2,t3,t5,t4,t6,t9,t8,t7,ne,nt,nn,nr=function(e){var t;return typeof e=="boolean"?e:(t=e===null||e===void 0?void 0:e.capture)!==null&&t!==void 0?t:!1};var ni=/*#__PURE__*/function(){"use strict";function e(){s(this,e);this.__eventListeners=new Map,this.__captureEventListeners=new Map}c(e,[{key:"addEventListener",value:function e(e,t,n){var r=this;var i;if(t==null)return;var o=nr(n)?this.__captureEventListeners:this.__eventListeners,a=o.get(e);if(a===void 0)a=new Map,o.set(e,a);else if(a.has(t))return;var s=(typeof n==="undefined"?"undefined":T(n))=="object"&&n?n:{};(i=s.signal)===null||i===void 0?void 0:i.addEventListener("abort",function(){return r.removeEventListener(e,t,n)}),a.set(t,s!==null&&s!==void 0?s:{})}},{key:"removeEventListener",value:function e(e,t,n){if(t==null)return;var r=nr(n)?this.__captureEventListeners:this.__eventListeners,i=r.get(e);i!==void 0&&(i.delete(t),i.size||r.delete(e))}},{key:"dispatchEvent",value:function e(e){var t=this;var n=[this],r=this.__eventTargetParent;if(e.composed)for(;r;)n.push(r),r=r.__eventTargetParent;else for(;r&&r!==this.__host;)n.push(r),r=r.__eventTargetParent;var i=!1,o=!1,a=0,s=null,l=null,u=null,c=e.stopPropagation,d=e.stopImmediatePropagation;Object.defineProperties(e,{target:k({get:function e(){return s!==null&&s!==void 0?s:l}},na),srcElement:k({get:function t(){return e.target}},na),currentTarget:k({get:function e(){return u}},na),eventPhase:k({get:function e(){return a}},na),composedPath:k({value:function(){return n}},na),stopPropagation:k({value:function(){i=!0,c.call(e)}},na),stopImmediatePropagation:k({value:function(){o=!0,d.call(e)}},na)});var h=function(t,n,r){typeof t=="function"?t(e):typeof(t===null||t===void 0?void 0:t.handleEvent)=="function"&&t.handleEvent(e),n.once&&r.delete(t)},f=function(){return u=null,a=0,!e.defaultPrevented},p=n.slice().reverse();s=!this.__host||!e.composed?this:null;var v=function(e){for(l=t;l.__host&&e.includes(l.__host);)l=l.__host};var y=true,m=false,g=undefined;try{for(var b=p[Symbol.iterator](),_;!(y=(_=b.next()).done);y=true){var w=_.value;!s&&(!l||l===w.__host)&&v(p.slice(p.indexOf(w))),u=w,a=w===e.target?2:1;var E=w.__captureEventListeners.get(e.type);if(E){var x=true,q=false,A=undefined;try{for(var S=E[Symbol.iterator](),R;!(x=(R=S.next()).done);x=true){var P=C(R.value,2),I=P[0],M=P[1];if(h(I,M,E),o)return f()}}catch(e){q=true;A=e}finally{try{if(!x&&S.return!=null){S.return()}}finally{if(q){throw A}}}}if(i)return f()}}catch(e){m=true;g=e}finally{try{if(!y&&b.return!=null){b.return()}}finally{if(m){throw g}}}var T=e.bubbles?n:[this];l=null;var O=true,U=false,$=undefined;try{for(var L=T[Symbol.iterator](),N;!(O=(N=L.next()).done);O=true){var D=N.value;!s&&(!l||D===l.__host)&&v(T.slice(0,T.indexOf(D)+1)),u=D,a=D===e.target?2:3;var V=D.__eventListeners.get(e.type);if(V){var j=true,H=false,z=undefined;try{for(var Q=V[Symbol.iterator](),F;!(j=(F=Q.next()).done);j=true){var B=C(F.value,2),W=B[0],J=B[1];if(h(W,J,V),o)return f()}}catch(e){H=true;z=e}finally{try{if(!j&&Q.return!=null){Q.return()}}finally{if(H){throw z}}}}if(i)return f()}}catch(e){U=true;$=e}finally{try{if(!O&&L.return!=null){L.return()}}finally{if(U){throw $}}}return f()}}]);return e}(),no=ni;var na={__proto__:null};na.enumerable=!0;Object.freeze(na);var ns=(ne=/*#__PURE__*/function(){"use strict";function e(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};s(this,e);if(t1.set(this,!1),t2.set(this,!1),t3.set(this,!1),t5.set(this,!1),t4.set(this,Date.now()),t6.set(this,!1),t9.set(this,void 0),t8.set(this,void 0),t7.set(this,void 0),this.NONE=0,this.CAPTURING_PHASE=1,this.AT_TARGET=2,this.BUBBLING_PHASE=3,arguments.length===0)throw new Error("The type argument must be specified");if((typeof n==="undefined"?"undefined":T(n))!="object"||!n)throw new Error('The "options" argument must be an object');var r=n.bubbles,i=n.cancelable,o=n.composed;tZ(this,t1,!!i,"f"),tZ(this,t2,!!r,"f"),tZ(this,t3,!!o,"f"),tZ(this,t9,"".concat(t),"f"),tZ(this,t8,null,"f"),tZ(this,t7,!1,"f")}c(e,[{key:"initEvent",value:function e(e,t,n){throw new Error("Method not implemented.")}},{key:"stopImmediatePropagation",value:function e(){this.stopPropagation()}},{key:"preventDefault",value:function e(){tZ(this,t5,!0,"f")}},{key:"target",get:function e(){return t0(this,t8,"f")}},{key:"currentTarget",get:function e(){return t0(this,t8,"f")}},{key:"srcElement",get:function e(){return t0(this,t8,"f")}},{key:"type",get:function e(){return t0(this,t9,"f")}},{key:"cancelable",get:function e(){return t0(this,t1,"f")}},{key:"defaultPrevented",get:function e(){return t0(this,t1,"f")&&t0(this,t5,"f")}},{key:"timeStamp",get:function e(){return t0(this,t4,"f")}},{key:"composedPath",value:function e(){return t0(this,t7,"f")?[t0(this,t8,"f")]:[]}},{key:"returnValue",get:function e(){return!t0(this,t1,"f")||!t0(this,t5,"f")}},{key:"bubbles",get:function e(){return t0(this,t2,"f")}},{key:"composed",get:function e(){return t0(this,t3,"f")}},{key:"eventPhase",get:function e(){return t0(this,t7,"f")?ne.AT_TARGET:ne.NONE}},{key:"cancelBubble",get:function e(){return t0(this,t6,"f")},set:function e(e){e&&tZ(this,t6,!0,"f")}},{key:"stopPropagation",value:function e(){tZ(this,t6,!0,"f")}},{key:"isTrusted",get:function e(){return!1}}]);return e}(),t1=new WeakMap,t2=new WeakMap,t3=new WeakMap,t5=new WeakMap,t4=new WeakMap,t6=new WeakMap,t9=new WeakMap,t8=new WeakMap,t7=new WeakMap,ne.NONE=0,ne.CAPTURING_PHASE=1,ne.AT_TARGET=2,ne.BUBBLING_PHASE=3,ne);Object.defineProperties(ns.prototype,{initEvent:na,stopImmediatePropagation:na,preventDefault:na,target:na,currentTarget:na,srcElement:na,type:na,cancelable:na,defaultPrevented:na,timeStamp:na,composedPath:na,returnValue:na,bubbles:na,composed:na,eventPhase:na,cancelBubble:na,stopPropagation:na,isTrusted:na});var nl=(nn=/*#__PURE__*/function(e){"use strict";p(t,e);function t(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};s(this,t);var r;var i;r=a(this,t,[e,n]),nt.set(r,void 0),tZ(r,nt,(i=n===null||n===void 0?void 0:n.detail)!==null&&i!==void 0?i:null,"f");return r}c(t,[{key:"initCustomEvent",value:function e(e,t,n,r){throw new Error("Method not implemented.")}},{key:"detail",get:function e(){return t0(this,nt,"f")}}]);return t}(ns),nt=new WeakMap,nn);Object.defineProperties(nl.prototype,{detail:na});var nu=ns,nc=nl;var nd;(nd=globalThis.Event)!==null&&nd!==void 0?nd:globalThis.Event=nu;var nh;(nh=globalThis.CustomEvent)!==null&&nh!==void 0?nh:globalThis.CustomEvent=nc;var nf=new WeakMap,np=function(e){var t=nf.get(e);return t===void 0&&nf.set(e,t=new Map),t},nv=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments),e.__shadowRootMode=null,e.__shadowRoot=null,e.__internals=null;return e}c(t,[{key:"attributes",get:function e(){return Array.from(np(this)).map(function(e){var t=C(e,2),n=t[0],r=t[1];return{name:n,value:r}})}},{key:"shadowRoot",get:function e(){return this.__shadowRootMode==="closed"?null:this.__shadowRoot}},{key:"localName",get:function e(){return this.constructor.__localName}},{key:"tagName",get:function e(){var e;return(e=this.localName)===null||e===void 0?void 0:e.toUpperCase()}},{key:"setAttribute",value:function e(e,t){np(this).set(e,String(t))}},{key:"removeAttribute",value:function e(e){np(this).delete(e)}},{key:"toggleAttribute",value:function e(e,t){if(this.hasAttribute(e)){if(t===void 0||!t)return this.removeAttribute(e),!1}else return t===void 0||t?(this.setAttribute(e,""),!0):!1;return!0}},{key:"hasAttribute",value:function e(e){return np(this).has(e)}},{key:"attachShadow",value:function e(e){var t={host:this};return this.__shadowRootMode=e.mode,e&&e.mode==="open"&&(this.__shadowRoot=t),t}},{key:"attachInternals",value:function e(){if(this.__internals!==null)throw new Error("Failed to execute 'attachInternals' on 'HTMLElement': ElementInternals for the specified element was already attached.");var e=new tK(this);return this.__internals=e,e}},{key:"getAttribute",value:function e(e){var t;return(t=np(this).get(e))!==null&&t!==void 0?t:null}}]);return t}(no);var ny=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}return t}(nv),nm=ny;var ng;(ng=globalThis.litServerRoot)!==null&&ng!==void 0?ng:globalThis.litServerRoot=Object.defineProperty(new nm,"localName",{get:function e(){return"lit-server-root"}});var nb=/*#__PURE__*/function(){"use strict";function e(){s(this,e);this.__definitions=new Map}c(e,[{key:"define",value:function e(e,t){if(this.__definitions.has(e))if(process.env.NODE_ENV==="development")console.warn("'CustomElementRegistry' already has \"".concat(e,'" defined. This may have been caused by live reload or hot module replacement in which case it can be safely ignored.\nMake sure to test your application with a production build as repeat registrations will throw in production.'));else throw new Error("Failed to execute 'define' on 'CustomElementRegistry': the name \"".concat(e,'" has already been used with this registry'));var n;t.__localName=e,this.__definitions.set(e,{ctor:t,observedAttributes:(n=t.observedAttributes)!==null&&n!==void 0?n:[]})}},{key:"get",value:function e(e){var t;return(t=this.__definitions.get(e))===null||t===void 0?void 0:t.ctor}}]);return e}(),n_=nb;var nk=new n_;var nw=globalThis,nE=nw.ShadowRoot&&(nw.ShadyCSS===void 0||nw.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,nx=Symbol(),nq=new WeakMap,nA=/*#__PURE__*/function(){"use strict";function e(t,n,r){s(this,e);if(this._$cssResult$=!0,r!==nx)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=n}c(e,[{key:"styleSheet",get:function e(){var e=this.o,t=this.t;if(nE&&e===void 0){var n=t!==void 0&&t.length===1;n&&(e=nq.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&nq.set(t,e))}return e}},{key:"toString",value:function e(){return this.cssText}}]);return e}(),nS=function(e){return new nA(typeof e=="string"?e:e+"",void 0,nx)},nC=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++){n[r-1]=arguments[r]}var i=e.length===1?e[0]:n.reduce(function(t,n,r){return t+function(e){if(e._$cssResult$===!0)return e.cssText;if(typeof e=="number")return e;throw Error("Value passed to 'css' function must be a 'css' function result: "+e+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")}(n)+e[r+1]},e[0]);return new nA(i,e,nx)},nR=function(e,t){var n=true,r=false,i=undefined;if(nE)e.adoptedStyleSheets=t.map(function(e){return v(e,CSSStyleSheet)?e:e.styleSheet});else try{for(var o=t[Symbol.iterator](),a;!(n=(a=o.next()).done);n=true){var s=a.value;var l=document.createElement("style"),u=nw.litNonce;u!==void 0&&l.setAttribute("nonce",u),l.textContent=s.cssText,e.appendChild(l)}}catch(e){r=true;i=e}finally{try{if(!n&&o.return!=null){o.return()}}finally{if(r){throw i}}}},nP=nE||nw.CSSStyleSheet===void 0?function(e){return e}:function(e){return v(e,CSSStyleSheet)?function(e){var t="";var n=true,r=false,i=undefined;try{for(var o=e.cssRules[Symbol.iterator](),a;!(n=(a=o.next()).done);n=true){var s=a.value;t+=s.cssText}}catch(e){r=true;i=e}finally{try{if(!n&&o.return!=null){o.return()}}finally{if(r){throw i}}}return nS(t)}(e):e};var nI=Object.is,nM=Object.defineProperty,nT=Object.getOwnPropertyDescriptor,nO=Object.getOwnPropertyNames,nU=Object.getOwnPropertySymbols,n$=Object.getPrototypeOf,nL=globalThis;var nN;(nN=nL.customElements)!==null&&nN!==void 0?nN:nL.customElements=nk;var nD=nL.trustedTypes,nV=nD?nD.emptyScript:"",nj=nL.reactiveElementPolyfillSupport,nH=function(e,t){return e},nz={toAttribute:function e(e,t){switch(t){case Boolean:e=e?nV:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute:function e(e,t){var n=e;switch(t){case Boolean:n=e!==null;break;case Number:n=e===null?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch(e){n=null}}return n}},nQ=function(e,t){return!nI(e,t)},nF={attribute:!0,type:String,converter:nz,reflect:!1,useDefault:!1,hasChanged:nQ};var nB,nW;(nB=Symbol.metadata)!==null&&nB!==void 0?nB:Symbol.metadata=Symbol("metadata"),(nW=nL.litPropertyMetadata)!==null&&nW!==void 0?nW:nL.litPropertyMetadata=new WeakMap;var nJ;var nG=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t),e._$Ep=void 0,e.isUpdatePending=!1,e.hasUpdated=!1,e._$Em=null,e._$Ev();return e}c(t,[{key:"_$Ev",value:function e(){var e=this;var t;this._$ES=new Promise(function(t){return e.enableUpdating=t}),this._$AL=new Map,this._$E_(),this.requestUpdate(),(t=this.constructor.l)===null||t===void 0?void 0:t.forEach(function(t){return t(e)})}},{key:"addController",value:function e(e){var t;var n;((n=this._$EO)!==null&&n!==void 0?n:this._$EO=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&((t=e.hostConnected)===null||t===void 0?void 0:t.call(e))}},{key:"removeController",value:function e(e){var t;(t=this._$EO)===null||t===void 0?void 0:t.delete(e)}},{key:"_$E_",value:function e(){var e=new Map,t=this.constructor.elementProperties;var n=true,r=false,i=undefined;try{for(var o=t.keys()[Symbol.iterator](),a;!(n=(a=o.next()).done);n=true){var s=a.value;this.hasOwnProperty(s)&&(e.set(s,this[s]),delete this[s])}}catch(e){r=true;i=e}finally{try{if(!n&&o.return!=null){o.return()}}finally{if(r){throw i}}}e.size>0&&(this._$Ep=e)}},{key:"createRenderRoot",value:function e(){var e;var t=(e=this.shadowRoot)!==null&&e!==void 0?e:this.attachShadow(this.constructor.shadowRootOptions);return nR(t,this.constructor.elementStyles),t}},{key:"connectedCallback",value:function e(){var e;var t;(t=this.renderRoot)!==null&&t!==void 0?t:this.renderRoot=this.createRenderRoot(),this.enableUpdating(!0),(e=this._$EO)===null||e===void 0?void 0:e.forEach(function(e){var t;return(t=e.hostConnected)===null||t===void 0?void 0:t.call(e)})}},{key:"enableUpdating",value:function e(e){}},{key:"disconnectedCallback",value:function e(){var e;(e=this._$EO)===null||e===void 0?void 0:e.forEach(function(e){var t;return(t=e.hostDisconnected)===null||t===void 0?void 0:t.call(e)})}},{key:"attributeChangedCallback",value:function e(e,t,n){this._$AK(e,n)}},{key:"_$ET",value:function e(e,t){var n=this.constructor.elementProperties.get(e),r=this.constructor._$Eu(e,n);if(r!==void 0&&n.reflect===!0){var i;var o=(((i=n.converter)===null||i===void 0?void 0:i.toAttribute)!==void 0?n.converter:nz).toAttribute(t,n.type);this._$Em=e,o==null?this.removeAttribute(r):this.setAttribute(r,o),this._$Em=null}}},{key:"_$AK",value:function e(e,t){var n=this.constructor,r=n._$Eh.get(e);if(r!==void 0&&this._$Em!==r){var i,o;var a=n.getPropertyOptions(r),s=typeof a.converter=="function"?{fromAttribute:a.converter}:((i=a.converter)===null||i===void 0?void 0:i.fromAttribute)!==void 0?a.converter:nz;var l,u;this._$Em=r,this[r]=(u=(l=s.fromAttribute(t,a.type))!==null&&l!==void 0?l:(o=this._$Ej)===null||o===void 0?void 0:o.get(r))!==null&&u!==void 0?u:null,this._$Em=null}}},{key:"requestUpdate",value:function e(e,t,n){if(e!==void 0){var r;var i=this.constructor,o=this[e];var a;if(n!==null&&n!==void 0?n:n=i.getPropertyOptions(e),!(((a=n.hasChanged)!==null&&a!==void 0?a:nQ)(o,t)||n.useDefault&&n.reflect&&o===((r=this._$Ej)===null||r===void 0?void 0:r.get(e))&&!this.hasAttribute(i._$Eu(e,n))))return;this.C(e,t,n)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}},{key:"C",value:function e(e,t,n,r){var i=n.useDefault,o=n.reflect,a=n.wrapped;var s,l,u;i&&!((s=this._$Ej)!==null&&s!==void 0?s:this._$Ej=new Map).has(e)&&(this._$Ej.set(e,(l=r!==null&&r!==void 0?r:t)!==null&&l!==void 0?l:this[e]),a!==!0||r!==void 0)||(this._$AL.has(e)||(this.hasUpdated||i||(t=void 0),this._$AL.set(e,t)),o===!0&&this._$Em!==e&&((u=this._$Eq)!==null&&u!==void 0?u:this._$Eq=new Set).add(e))}},{key:"_$EP",value:function e(){var e=this;return o(function(){var t,n,r;return L(this,function(i){switch(i.label){case 0:e.isUpdatePending=!0;i.label=1;case 1:i.trys.push([1,3,,4]);return[4,e._$ES];case 2:i.sent();return[3,4];case 3:t=i.sent();Promise.reject(t);return[3,4];case 4:n=e.scheduleUpdate();r=n!=null;if(!r)return[3,6];return[4,n];case 5:r=i.sent();i.label=6;case 6:return[2,(r,!e.isUpdatePending)]}})})()}},{key:"scheduleUpdate",value:function e(){return this.performUpdate()}},{key:"performUpdate",value:function e(){if(!this.isUpdatePending)return;if(!this.hasUpdated){var e;if((e=this.renderRoot)!==null&&e!==void 0?e:this.renderRoot=this.createRenderRoot(),this._$Ep){var t=true,n=false,r=undefined;try{for(var i=this._$Ep[Symbol.iterator](),o;!(t=(o=i.next()).done);t=true){var a=C(o.value,2),s=a[0],l=a[1];this[s]=l}}catch(e){n=true;r=e}finally{try{if(!t&&i.return!=null){i.return()}}finally{if(n){throw r}}}this._$Ep=void 0}var u=this.constructor.elementProperties;var c=true,d=false,h=undefined;if(u.size>0)try{for(var f=u[Symbol.iterator](),p;!(c=(p=f.next()).done);c=true){var v=C(p.value,2),y=v[0],m=v[1];var g=m.wrapped,b=this[y];g!==!0||this._$AL.has(y)||b===void 0||this.C(y,void 0,m,b)}}catch(e){d=true;h=e}finally{try{if(!c&&f.return!=null){f.return()}}finally{if(d){throw h}}}}var _=!1,k=this._$AL;try{var w;_=this.shouldUpdate(k),_?(this.willUpdate(k),(w=this._$EO)===null||w===void 0?void 0:w.forEach(function(e){var t;return(t=e.hostUpdate)===null||t===void 0?void 0:t.call(e)}),this.update(k)):this._$EM()}catch(e){throw _=!1,this._$EM(),e}_&&this._$AE(k)}},{key:"willUpdate",value:function e(e){}},{key:"_$AE",value:function e(e){var t;(t=this._$EO)===null||t===void 0?void 0:t.forEach(function(e){var t;return(t=e.hostUpdated)===null||t===void 0?void 0:t.call(e)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}},{key:"_$EM",value:function e(){this._$AL=new Map,this.isUpdatePending=!1}},{key:"updateComplete",get:function e(){return this.getUpdateComplete()}},{key:"getUpdateComplete",value:function e(){return this._$ES}},{key:"shouldUpdate",value:function e(e){return!0}},{key:"update",value:function e(e){var t=this;this._$Eq&&(this._$Eq=this._$Eq.forEach(function(e){return t._$ET(e,t[e])})),this._$EM()}},{key:"updated",value:function e(e){}},{key:"firstUpdated",value:function e(e){}}],[{key:"addInitializer",value:function e(e){var t;this._$Ei(),((t=this.l)!==null&&t!==void 0?t:this.l=[]).push(e)}},{key:"observedAttributes",get:function e(){return this.finalize(),this._$Eh&&M(this._$Eh.keys())}},{key:"createProperty",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:nF;if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){var n=Symbol(),r=this.getPropertyDescriptor(e,n,t);r!==void 0&&nM(this.prototype,e,r)}}},{key:"getPropertyDescriptor",value:function e(e,t,n){var r;var i=(r=nT(this.prototype,e))!==null&&r!==void 0?r:{get:function e(){return this[t]},set:function e(e){this[t]=e}},o=i.get,a=i.set;return{get:o,set:function t(t){var r=o===null||o===void 0?void 0:o.call(this);a===null||a===void 0?void 0:a.call(this,t),this.requestUpdate(e,r,n)},configurable:!0,enumerable:!0}}},{key:"getPropertyOptions",value:function e(e){var t;return(t=this.elementProperties.get(e))!==null&&t!==void 0?t:nF}},{key:"_$Ei",value:function e(){if(this.hasOwnProperty(nH("elementProperties")))return;var e=n$(this);e.finalize(),e.l!==void 0&&(this.l=M(e.l)),this.elementProperties=new Map(e.elementProperties)}},{key:"finalize",value:function e(){if(this.hasOwnProperty(nH("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(nH("properties"))){var e=this.properties,t=M(nO(e)).concat(M(nU(e)));var n=true,r=false,i=undefined;try{for(var o=t[Symbol.iterator](),a;!(n=(a=o.next()).done);n=true){var s=a.value;this.createProperty(s,e[s])}}catch(e){r=true;i=e}finally{try{if(!n&&o.return!=null){o.return()}}finally{if(r){throw i}}}}var l=this[Symbol.metadata];if(l!==null){var u=litPropertyMetadata.get(l);var c=true,d=false,h=undefined;if(u!==void 0)try{for(var f=u[Symbol.iterator](),p;!(c=(p=f.next()).done);c=true){var v=C(p.value,2),y=v[0],m=v[1];this.elementProperties.set(y,m)}}catch(e){d=true;h=e}finally{try{if(!c&&f.return!=null){f.return()}}finally{if(d){throw h}}}}this._$Eh=new Map;var g=true,b=false,_=undefined;try{for(var k=this.elementProperties[Symbol.iterator](),w;!(g=(w=k.next()).done);g=true){var E=C(w.value,2),x=E[0],q=E[1];var A=this._$Eu(x,q);A!==void 0&&this._$Eh.set(A,x)}}catch(e){b=true;_=e}finally{try{if(!g&&k.return!=null){k.return()}}finally{if(b){throw _}}}this.elementStyles=this.finalizeStyles(this.styles)}},{key:"finalizeStyles",value:function e(e){var t=[];if(Array.isArray(e)){var n=new Set(e.flat(1/0).reverse());var r=true,i=false,o=undefined;try{for(var a=n[Symbol.iterator](),s;!(r=(s=a.next()).done);r=true){var l=s.value;t.unshift(nP(l))}}catch(e){i=true;o=e}finally{try{if(!r&&a.return!=null){a.return()}}finally{if(i){throw o}}}}else e!==void 0&&t.push(nP(e));return t}},{key:"_$Eu",value:function e(e,t){var n=t.attribute;return n===!1?void 0:typeof n=="string"?n:typeof e=="string"?e.toLowerCase():void 0}}]);return t}((nJ=globalThis.HTMLElement)!==null&&nJ!==void 0?nJ:nm);var nX;nG.elementStyles=[],nG.shadowRootOptions={mode:"open"},nG[nH("elementProperties")]=new Map,nG[nH("finalized")]=new Map,nj===null||nj===void 0?void 0:nj({ReactiveElement:nG}),((nX=nL.reactiveElementVersions)!==null&&nX!==void 0?nX:nL.reactiveElementVersions=[]).push("2.1.0");var nY=globalThis,nK=nY.trustedTypes,nZ=nK?nK.createPolicy("lit-html",{createHTML:function(e){return e}}):void 0,n0="$lit$",n1="lit$".concat(Math.random().toFixed(9).slice(2),"$"),n2="?"+n1,n3="<".concat(n2,">"),n5=nY.document===void 0?{createTreeWalker:function(){return{}}}:document,n4=function(){return n5.createComment("")},n6=function(e){return e===null||(typeof e==="undefined"?"undefined":T(e))!="object"&&typeof e!="function"},n9=Array.isArray,n8=function(e){return n9(e)||typeof(e===null||e===void 0?void 0:e[Symbol.iterator])=="function"},n7="[ \n\f\r]",re=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,rt=/-->/g,rn=/>/g,rr=RegExp(">|".concat(n7,"(?:([^\\s\"'>=/]+)(").concat(n7,"*=").concat(n7,"*(?:[^ \n\f\r\"'`<>=]|(\"|')|))|$)"),"g"),ri=/'/g,ro=/"/g,ra=/^(?:script|style|textarea|title)$/i,rs=function(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++){r[i-1]=arguments[i]}return{_$litType$:e,strings:t,values:r}}},rl=rs(1),ru=rs(2),rc=rs(3),rd=Symbol.for("lit-noChange"),rh=Symbol.for("lit-nothing"),rf=new WeakMap,rp=n5.createTreeWalker(n5,129);var rv=function(e,t){var r=e.length-1,i=[],o,a=t===2?"<svg>":t===3?"<math>":"",s=re;for(var l=0;l<r;l++){var u=e[l],c=void 0,d=void 0,h=-1,f=0;for(;f<u.length&&(s.lastIndex=f,d=s.exec(u),d!==null);)f=s.lastIndex,s===re?d[1]==="!--"?s=rt:d[1]!==void 0?s=rn:d[2]!==void 0?(ra.test(d[2])&&(o=RegExp("</"+d[2],"g")),s=rr):d[3]!==void 0&&(s=rr):s===rr?d[0]===">"?(s=o!==null&&o!==void 0?o:re,h=-1):d[1]===void 0?h=-2:(h=s.lastIndex-d[2].length,c=d[1],s=d[3]===void 0?rr:d[3]==='"'?ro:ri):s===ro||s===ri?s=rr:s===rt||s===rn?s=re:(s=rr,o=void 0);var p=s===rr&&e[l+1].startsWith("/>")?" ":"";a+=s===re?u+n3:h>=0?(i.push(c),u.slice(0,h)+n0+u.slice(h)+n1+p):u+n1+(h===-2?l:p)}return[n(e,a+(e[r]||"<?>")+(t===2?"</svg>":t===3?"</math>":"")),i]},ry=/*#__PURE__*/function(){"use strict";function e(t,n){var r=t.strings,i=t._$litType$;s(this,e);var o;this.parts=[];var a=0,l=0,u=r.length-1,c=this.parts,d=C(rv(r,i),2),h=d[0],f=d[1];if(this.el=e.createElement(h,n),rp.currentNode=this.el.content,i===2||i===3){var p;var v=this.el.content.firstChild;(p=v).replaceWith.apply(p,M(v.childNodes))}for(;(o=rp.nextNode())!==null&&c.length<u;){if(o.nodeType===1){var y=true,m=false,g=undefined;if(o.hasAttributes())try{for(var b=o.getAttributeNames()[Symbol.iterator](),_;!(y=(_=b.next()).done);y=true){var k=_.value;if(k.endsWith(n0)){var w=f[l++],E=o.getAttribute(k).split(n1),x=/([.?@])?(.*)/.exec(w);c.push({type:1,index:a,name:x[2],strings:E,ctor:x[1]==="."?rk:x[1]==="?"?rw:x[1]==="@"?rE:r_}),o.removeAttribute(k)}else k.startsWith(n1)&&(c.push({type:6,index:a}),o.removeAttribute(k))}}catch(e){m=true;g=e}finally{try{if(!y&&b.return!=null){b.return()}}finally{if(m){throw g}}}if(ra.test(o.tagName)){var q=o.textContent.split(n1),A=q.length-1;if(A>0){o.textContent=nK?nK.emptyScript:"";for(var S=0;S<A;S++)o.append(q[S],n4()),rp.nextNode(),c.push({type:2,index:++a});o.append(q[A],n4())}}}else if(o.nodeType===8)if(o.data===n2)c.push({type:2,index:a});else{var R=-1;for(;(R=o.data.indexOf(n1,R+1))!==-1;)c.push({type:7,index:a}),R+=n1.length-1}a++}}c(e,null,[{key:"createElement",value:function e(e,t){var n=n5.createElement("template");return n.innerHTML=e,n}}]);return e}();function rm(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e,r=arguments.length>3?arguments[3]:void 0;var i,o;if(t===rd)return t;var a=r!==void 0?(i=n._$Co)===null||i===void 0?void 0:i[r]:n._$Cl,s=n6(t)?void 0:t._$litDirective$;var l;return(a===null||a===void 0?void 0:a.constructor)!==s&&(a===null||a===void 0?void 0:(o=a._$AO)===null||o===void 0?void 0:o.call(a,!1),s===void 0?a=void 0:(a=new s(e),a._$AT(e,n,r)),r!==void 0?((l=n._$Co)!==null&&l!==void 0?l:n._$Co=[])[r]=a:n._$Cl=a),a!==void 0&&(t=rm(e,a._$AS(e,t.values),a,r)),t}var rg=/*#__PURE__*/function(){"use strict";function e(t,n){s(this,e);this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=n}c(e,[{key:"parentNode",get:function e(){return this._$AM.parentNode}},{key:"_$AU",get:function e(){return this._$AM._$AU}},{key:"u",value:function e(e){var t;var n=this._$AD,r=n.el,i=r.content,o=n.parts,a=((t=e===null||e===void 0?void 0:e.creationScope)!==null&&t!==void 0?t:n5).importNode(i,!0);rp.currentNode=a;var s=rp.nextNode(),l=0,u=0,c=o[0];for(;c!==void 0;){if(l===c.index){var d=void 0;c.type===2?d=new rb(s,s.nextSibling,this,e):c.type===1?d=new c.ctor(s,c.name,c.strings,this,e):c.type===6&&(d=new rx(s,this,e)),this._$AV.push(d),c=o[++u]}l!==(c===null||c===void 0?void 0:c.index)&&(s=rp.nextNode(),l++)}return rp.currentNode=n5,a}},{key:"p",value:function e(e){var t=0;var n=true,r=false,i=undefined;try{for(var o=this._$AV[Symbol.iterator](),a;!(n=(a=o.next()).done);n=true){var s=a.value;s!==void 0&&(s.strings!==void 0?(s._$AI(e,s,t),t+=s.strings.length-2):s._$AI(e[t])),t++}}catch(e){r=true;i=e}finally{try{if(!n&&o.return!=null){o.return()}}finally{if(r){throw i}}}}}]);return e}(),rb=/*#__PURE__*/function(){"use strict";function e(t,n,r,i){s(this,e);var o;this.type=2,this._$AH=rh,this._$AN=void 0,this._$AA=t,this._$AB=n,this._$AM=r,this.options=i,this._$Cv=(o=i===null||i===void 0?void 0:i.isConnected)!==null&&o!==void 0?o:!0}c(e,[{key:"_$AU",get:function e(){var e;var t;return(t=(e=this._$AM)===null||e===void 0?void 0:e._$AU)!==null&&t!==void 0?t:this._$Cv}},{key:"parentNode",get:function e(){var e=this._$AA.parentNode,t=this._$AM;return t!==void 0&&(e===null||e===void 0?void 0:e.nodeType)===11&&(e=t.parentNode),e}},{key:"startNode",get:function e(){return this._$AA}},{key:"endNode",get:function e(){return this._$AB}},{key:"_$AI",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this;e=rm(this,e,t),n6(e)?e===rh||e==null||e===""?(this._$AH!==rh&&this._$AR(),this._$AH=rh):e!==this._$AH&&e!==rd&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):n8(e)?this.k(e):this._(e)}},{key:"O",value:function e(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}},{key:"T",value:function e(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}},{key:"_",value:function e(e){this._$AH!==rh&&n6(this._$AH)?this._$AA.nextSibling.data=e:this.T(n5.createTextNode(e)),this._$AH=e}},{key:"$",value:function e(e){var t;var r=e.values,i=e._$litType$,o=typeof i=="number"?this._$AC(e):(i.el===void 0&&(i.el=ry.createElement(n(i.h,i.h[0]),this.options)),i);if(((t=this._$AH)===null||t===void 0?void 0:t._$AD)===o)this._$AH.p(r);else{var a=new rg(o,this),s=a.u(this.options);a.p(r),this.T(s),this._$AH=a}}},{key:"_$AC",value:function e(e){var t=rf.get(e.strings);return t===void 0&&rf.set(e.strings,t=new ry(e)),t}},{key:"k",value:function t(t){n9(this._$AH)||(this._$AH=[],this._$AR());var n=this._$AH,r,i=0;var o=true,a=false,s=undefined;try{for(var l=t[Symbol.iterator](),u;!(o=(u=l.next()).done);o=true){var c=u.value;i===n.length?n.push(r=new e(this.O(n4()),this.O(n4()),this,this.options)):r=n[i],r._$AI(c),i++}}catch(e){a=true;s=e}finally{try{if(!o&&l.return!=null){l.return()}}finally{if(a){throw s}}}i<n.length&&(this._$AR(r&&r._$AB.nextSibling,i),n.length=i)}},{key:"_$AR",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this._$AA.nextSibling,t=arguments.length>1?arguments[1]:void 0;var n,r;for((n=(r=this)._$AP)===null||n===void 0?void 0:n.call(r,!1,!0,t);e&&e!==this._$AB;){var i=e.nextSibling;e.remove(),e=i}}},{key:"setConnected",value:function e(e){var t,n;this._$AM===void 0&&(this._$Cv=e,(t=(n=this)._$AP)===null||t===void 0?void 0:t.call(n,e))}}]);return e}(),r_=/*#__PURE__*/function(){"use strict";function e(t,n,r,i,o){s(this,e);this.type=1,this._$AH=rh,this._$AN=void 0,this.element=t,this.name=n,this._$AM=i,this.options=o,r.length>2||r[0]!==""||r[1]!==""?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=rh}c(e,[{key:"tagName",get:function e(){return this.element.tagName}},{key:"_$AU",get:function e(){return this._$AM._$AU}},{key:"_$AI",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this,n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0;var i=this.strings,o=!1;if(i===void 0)e=rm(this,e,t,0),o=!n6(e)||e!==this._$AH&&e!==rd,o&&(this._$AH=e);else{var a=e,s,l;for(e=i[0],s=0;s<i.length-1;s++)l=rm(this,a[n+s],t,s),l===rd&&(l=this._$AH[s]),o||(o=!n6(l)||l!==this._$AH[s]),l===rh?e=rh:e!==rh&&(e+=(l!==null&&l!==void 0?l:"")+i[s+1]),this._$AH[s]=l}o&&!r&&this.j(e)}},{key:"j",value:function e(e){e===rh?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e!==null&&e!==void 0?e:"")}}]);return e}(),rk=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments),e.type=3;return e}c(t,[{key:"j",value:function e(e){this.element[this.name]=e===rh?void 0:e}}]);return t}(r_),rw=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments),e.type=4;return e}c(t,[{key:"j",value:function e(e){this.element.toggleAttribute(this.name,!!e&&e!==rh)}}]);return t}(r_),rE=/*#__PURE__*/function(e){"use strict";p(t,e);function t(e,n,r,i,o){s(this,t);var l;l=a(this,t,[e,n,r,i,o]),l.type=5;return l}c(t,[{key:"_$AI",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this;var n;if((e=(n=rm(this,e,t,0))!==null&&n!==void 0?n:rh)===rd)return;var r=this._$AH,i=e===rh&&r!==rh||e.capture!==r.capture||e.once!==r.once||e.passive!==r.passive,o=e!==rh&&(r===rh||i);i&&this.element.removeEventListener(this.name,this,r),o&&this.element.addEventListener(this.name,this,e),this._$AH=e}},{key:"handleEvent",value:function e(e){var t;var n;typeof this._$AH=="function"?this._$AH.call((n=(t=this.options)===null||t===void 0?void 0:t.host)!==null&&n!==void 0?n:this.element,e):this._$AH.handleEvent(e)}}]);return t}(r_),rx=/*#__PURE__*/function(){"use strict";function e(t,n,r){s(this,e);this.element=t,this.type=6,this._$AN=void 0,this._$AM=n,this.options=r}c(e,[{key:"_$AU",get:function e(){return this._$AM._$AU}},{key:"_$AI",value:function e(e){rm(this,e)}}]);return e}(),rq={M:n0,P:n1,A:n2,C:1,L:rv,R:rg,D:n8,V:rm,I:rb,H:r_,N:rw,U:rE,B:rk,F:rx},rA=nY.litHtmlPolyfillSupport;var rS;rA===null||rA===void 0?void 0:rA(ry,rb),((rS=nY.litHtmlVersions)!==null&&rS!==void 0?rS:nY.litHtmlVersions=[]).push("3.3.0");var rC=function(e,t,n){var r;var i=(r=n===null||n===void 0?void 0:n.renderBefore)!==null&&r!==void 0?r:t,o=i._$litPart$;if(o===void 0){var a;var s=(a=n===null||n===void 0?void 0:n.renderBefore)!==null&&a!==void 0?a:null;i._$litPart$=o=new rb(t.insertBefore(n4(),s),s,void 0,n!==null&&n!==void 0?n:{})}return o._$AI(e),o};var rR=globalThis,rP=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments),e.renderOptions={host:e},e._$Do=void 0;return e}c(t,[{key:"createRenderRoot",value:function e(){var e;var n=h(f(t.prototype),"createRenderRoot",this).call(this);var r;return(r=(e=this.renderOptions).renderBefore)!==null&&r!==void 0?r:e.renderBefore=n.firstChild,n}},{key:"update",value:function e(e){var n=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),h(f(t.prototype),"update",this).call(this,e),this._$Do=rC(n,this.renderRoot,this.renderOptions)}},{key:"connectedCallback",value:function e(){var e;h(f(t.prototype),"connectedCallback",this).call(this),(e=this._$Do)===null||e===void 0?void 0:e.setConnected(!0)}},{key:"disconnectedCallback",value:function e(){var e;h(f(t.prototype),"disconnectedCallback",this).call(this),(e=this._$Do)===null||e===void 0?void 0:e.setConnected(!1)}},{key:"render",value:function e(){return rd}}]);return t}(nG);rP._$litElement$=!0,rP.finalized=!0,(tL=rR.litElementHydrateSupport)===null||tL===void 0?void 0:tL.call(rR,{LitElement:rP});var rI=rR.litElementPolyfillSupport;rI===null||rI===void 0?void 0:rI({LitElement:rP});var rM;((rM=rR.litElementVersions)!==null&&rM!==void 0?rM:rR.litElementVersions=[]).push("4.2.0");var rT=function(e){return function(t,n){n!==void 0?n.addInitializer(function(){customElements.define(e,t)}):customElements.define(e,t)}};var rO={attribute:!0,type:String,converter:nz,reflect:!1,hasChanged:nQ},rU=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:rO,t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0;var r=n.kind,i=n.metadata,o=globalThis.litPropertyMetadata.get(i);if(o===void 0&&globalThis.litPropertyMetadata.set(i,o=new Map),r==="setter"&&((e=Object.create(e)).wrapped=!0),o.set(n.name,e),r==="accessor"){var a=n.name;return{set:function n(n){var r=t.get.call(this);t.set.call(this,n),this.requestUpdate(a,r,e)},init:function t(t){return t!==void 0&&this.C(a,void 0,e,t),t}}}if(r==="setter"){var s=n.name;return function n(n){var r=this[s];t.call(this,n),this.requestUpdate(s,r,e)}}throw Error("Unsupported decorator location: "+r)};var r$=function(e,t,n){return n.configurable=!0,n.enumerable=!0,Reflect.decorate&&(typeof t==="undefined"?"undefined":T(t))!="object"&&Object.defineProperty(e,t,n),n};var rL=Symbol("item");var rN=[{identifier:"completionStatus",cardinality:"single",baseType:"string",value:"unknown",type:"outcome"},{identifier:"numAttempts",cardinality:"single",baseType:"integer",value:"0",type:"response"}];var rD=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.identifier="";e.adaptive="false";e.timeDependent=null;e._handleDisabledChange=function(t,n){e._interactionElements.forEach(function(e){return e.disabled=n})};e._handleReadonlyChange=function(t,n){return e._interactionElements.forEach(function(e){return e.readonly=n})};e._context={variables:rN};e._initialContext=E(k({},e._context),{variables:e._context.variables});e._feedbackElements=[];e._interactionElements=[];e._handleRegisterVariable=function(t){t.stopImmediatePropagation(),e._context=E(k({},e._context),{variables:M(e._context.variables).concat([t.detail.variable])}),e._initialContext=e._context,t.stopPropagation()};e._handleRegisterFeedback=function(t){var n;t.stopImmediatePropagation();var r=t.detail;e._feedbackElements.push(r),(Number((n=e._context.variables.find(function(e){return e.identifier==="numAttempts"}))===null||n===void 0?void 0:n.value)||0)>0&&r.checkShowFeedback(r.outcomeIdentifier)};e._handleRegisterInteraction=function(t){t.stopImmediatePropagation(),e._interactionElements.push(t.detail.interactionElement)};e._handleEndAttempt=function(t){t.stopImmediatePropagation();var n=t.detail,r=n.responseIdentifier,i=n.countAttempt;e.validate(),e.updateResponseVariable(r,"true"),e.processResponse(i)};e._handleSetOutcomeValue=function(t){t.stopImmediatePropagation();var n=t.detail,r=n.outcomeIdentifier,i=n.value;e.updateOutcomeVariable(r,i),t.stopPropagation()};e._handleUpdateResponseVariable=function(t){t.stopImmediatePropagation();var n=t.detail,r=n.responseIdentifier,i=n.response;e.updateResponseVariable(r,i),e.dispatchEvent(new CustomEvent("qti-item-context-updated",{bubbles:!0,composed:!0,detail:{itemContext:e._context}}))};return e}c(t,[{key:"assessmentItemRefId",get:function e(){return this._context.identifier},set:function e(e){this._context=E(k({},this._context),{identifier:e})}},{key:"variables",get:function e(){return this._context.variables.map(function(e){return k({identifier:e.identifier,value:e.value,type:e.type},e.type==="outcome"&&e.identifier==="SCORE"?{externalScored:e.externalScored}:{})})},set:function e(e){var t=this;if(!Array.isArray(e)||e.some(function(e){return!("identifier"in e)})){console.warn("variables property should be an array of VariableDeclaration");return}this._context=E(k({},this._context),{variables:this._context.variables.map(function(t){var n=e.find(function(e){return e.identifier===t.identifier});return n?k({},t,n):t})}),this._context.variables.forEach(function(e){if(e.type==="response"){var n=t._interactionElements.find(function(t){return t.responseIdentifier===e.identifier});n&&(n.response=e.value)}}),this.variables.forEach(function(e){e.type==="outcome"&&t._feedbackElements.forEach(function(t){return t.checkShowFeedback(e.identifier)})})}},{key:"responses",set:function e(e){var t=true,n=false,r=undefined;if(e)try{var i,o=function(){var e=s.value;i.getResponse(e.responseIdentifier)&&i.updateResponseVariable(e.responseIdentifier,e.response);var t=i._interactionElements.find(function(t){return t.getAttribute("response-identifier")===e.responseIdentifier});t&&(t.response=e.response)};for(var a=e[Symbol.iterator](),s;!(t=(s=a.next()).done);t=true)i=this,o()}catch(e){n=true;r=e}finally{try{if(!t&&a.return!=null){a.return()}}finally{if(n){throw r}}}}},{key:"render",value:function e(){return rl(D())}},{key:"connectedCallback",value:function e(){var e=this;this._attachEventListeners(),h(f(t.prototype),"connectedCallback",this).call(this),this.updateComplete.then(function(){e.dispatchEvent(new CustomEvent("qti-assessment-item-connected",{bubbles:!0,composed:!0,detail:e}))})}},{key:"disconnectedCallback",value:function e(){this._removeEventListeners(),h(f(t.prototype),"disconnectedCallback",this).call(this)}},{key:"_attachEventListeners",value:function e(){this.addEventListener("qti-register-variable",this._handleRegisterVariable),this.addEventListener("qti-register-feedback",this._handleRegisterFeedback),this.addEventListener("qti-register-interaction",this._handleRegisterInteraction),this.addEventListener("end-attempt",this._handleEndAttempt),this.addEventListener("qti-set-outcome-value",this._handleSetOutcomeValue),this.addEventListener("qti-interaction-response",this._handleUpdateResponseVariable)}},{key:"_removeEventListeners",value:function e(){this.removeEventListener("qti-register-variable",this._handleRegisterVariable),this.removeEventListener("qti-register-feedback",this._handleRegisterFeedback),this.removeEventListener("qti-register-interaction",this._handleRegisterInteraction),this.removeEventListener("end-attempt",this._handleEndAttempt),this.removeEventListener("qti-set-outcome-value",this._handleSetOutcomeValue),this.removeEventListener("qti-interaction-response",this._handleUpdateResponseVariable)}},{key:"showCorrectResponse",value:function e(e){var t=this._context.variables.filter(function(e){return e.type==="response"});var n=true,r=false,i=undefined;try{var o=function(){var n=s.value;var r=n.getAttribute("response-identifier"),i=t.find(function(e){return e.identifier===r});i&&n.toggleCorrectResponse(i,e)};for(var a=this._interactionElements[Symbol.iterator](),s;!(n=(s=a.next()).done);n=true)o()}catch(e){r=true;i=e}finally{try{if(!n&&a.return!=null){a.return()}}finally{if(r){throw i}}}}},{key:"processResponse",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;var n;this.validate(t);var r=this.querySelector("qti-response-processing");return!r||!r.process?!1:(r.process(),this.adaptive==="false"&&this.updateOutcomeVariable("completionStatus",this._getCompletionStatus()),e&&this.updateOutcomeVariable("numAttempts",(+((n=this._context.variables.find(function(e){return e.identifier==="numAttempts"}))===null||n===void 0?void 0:n.value)+1).toString()),this.dispatchEvent(new CustomEvent("qti-item-context-updated",{bubbles:!0,composed:!0,detail:{itemContext:this._context}})),!0)}},{key:"resetResponses",value:function e(){this._context=this._initialContext}},{key:"getResponse",value:function e(e){return this.getVariable(e)}},{key:"getOutcome",value:function e(e){return this.getVariable(e)}},{key:"getVariable",value:function e(e){return this._context.variables.find(function(t){return t.identifier===e})||null}},{key:"updateResponseVariable",value:function e(e,t){this._context=E(k({},this._context),{variables:this._context.variables.map(function(n){return n.identifier!==e?n:E(k({},n),{value:t})})}),this.dispatchEvent(new CustomEvent("qti-interaction-changed",{bubbles:!0,composed:!0,detail:{item:this.identifier,responseIdentifier:e,response:Array.isArray(t)?M(t):t}})),this.adaptive==="false"&&this.updateOutcomeVariable("completionStatus",this._getCompletionStatus())}},{key:"setOutcomeVariable",value:function e(e,t){this.updateOutcomeVariable(e,t),this.dispatchEvent(new CustomEvent("qti-item-context-updated",{bubbles:!0,composed:!0,detail:{itemContext:this._context}}))}},{key:"updateOutcomeVariable",value:function e(e,t){var n;var r=this.getOutcome(e);if(!r){console.warn("Can not set qti-outcome-identifier: ".concat(e,", it is not available"));return}this._context=E(k({},this._context),{variables:this._context.variables.map(function(n){return n.identifier!==e?n:E(k({},n),{value:r.cardinality==="single"?t:M(n.value).concat([t])})})}),this._feedbackElements.forEach(function(t){return t.checkShowFeedback(e)}),this.dispatchEvent(new CustomEvent("qti-outcome-changed",{bubbles:!0,composed:!0,detail:{item:this.identifier,outcomeIdentifier:e,value:(n=this._context.variables.find(function(t){return t.identifier===e}))===null||n===void 0?void 0:n.value}}))}},{key:"validate",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._interactionElements.every(function(e){return e.validate()})?!0:this._interactionElements.some(function(e){return e.validate()})?!1:(e&&this.reportValidity(),null)}},{key:"reportValidity",value:function e(){var e=true,t=false,n=undefined;try{for(var r=this._interactionElements[Symbol.iterator](),i;!(e=(i=r.next()).done);e=true){var o=i.value;o.reportValidity()}}catch(e){t=true;n=e}finally{try{if(!e&&r.return!=null){r.return()}}finally{if(t){throw n}}}}},{key:"_getCompletionStatus",value:function e(){var e=this.validate(!1);return e===!0?"completed":e===!1?"incomplete":"not_attempted"}}]);return t}(rP);tF([r({type:String})],rD.prototype,"title",2),tF([r({type:String})],rD.prototype,"identifier",2),tF([r({type:String})],rD.prototype,"adaptive",2),tF([r({type:String})],rD.prototype,"timeDependent",2),tF([r({type:Boolean})],rD.prototype,"disabled",2),tF([y("disabled",{waitUntilFirstUpdate:!0})],rD.prototype,"_handleDisabledChange",2),tF([r({type:Boolean})],rD.prototype,"readonly",2),tF([y("readonly",{waitUntilFirstUpdate:!0})],rD.prototype,"_handleReadonlyChange",2),tF([e({context:rL})],rD.prototype,"_context",2),rD=tF([rT("qti-assessment-item")],rD);var rV=String.raw,rj=rV(V());var rH=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;var t,n="",r={load:function i(i){n=i;var o=encodeURI(i);if(e&&sessionStorage.getItem(o))return{promise:Promise.resolve(r.parse(sessionStorage.getItem(o))),request:null};var a=_(i),s=a.promise,l=a.xhr;return{promise:new Promise(function(n){s.then(function(i){return t=i,r.shuffleInteractions(),e&&sessionStorage.setItem(o,new XMLSerializer().serializeToString(t)),n(r)})}),request:l}},parse:function e(e){return t=w(e),r},path:function(e){return q(t,e),n=null,r},fn:function e(e){return e(t),r},pciHooks:function e(e){var n=["hook","module"],i=e.substring(0,e.lastIndexOf("/"));var o=true,a=false,s=undefined;try{var l=function(){var n=c.value;t.querySelectorAll("["+n+"]").forEach(function(t){var r=t.getAttribute(n);!r.startsWith("data:")&&!r.startsWith("http")&&(t.setAttribute("base-url",e),t.setAttribute("module",i+"/"+encodeURI(r+(r.endsWith(".js")?"":".js"))))})};for(var u=n[Symbol.iterator](),c;!(o=(c=u.next()).done);o=true)l()}catch(e){a=true;s=e}finally{try{if(!o&&u.return!=null){u.return()}}finally{if(a){throw s}}}return r},shuffleInteractions:function e(){var e=t.querySelectorAll('[shuffle="true"]'),n=Array.from(e).filter(function(e){var t;return(t=e.tagName)===null||t===void 0?void 0:t.toLowerCase().endsWith("-interaction")});var i=true,o=false,a=undefined;try{for(var s=n[Symbol.iterator](),l;!(i=(l=s.next()).done);i=true){var u=l.value;var c=P(u.tagName.toLowerCase()),d=Array.isArray(c)?c:[c];var h=true,f=false,p=undefined;try{var v=function(){var e=m.value;var t;var n=Array.from(u.querySelectorAll(e)),i=n.map(function(e,t){return{element:e,fixed:e.hasAttribute("fixed")&&e.getAttribute("fixed")==="true",originalOrder:t}}).filter(function(e){return e.fixed}),o=n.filter(function(e){return!e.hasAttribute("fixed")||e.getAttribute("fixed")!=="true"});if(o.length<=1)return{v:(console.warn("Shuffling is not possible with fewer than 2 non-fixed elements."),r)};var a=M(o),s=!1,l=0;for(;!s&&l<20;){l++;for(var c=o.length-1;c>0;c--){var d=Math.floor(Math.random()*(c+1));var h;h=[o[d],o[c]],o[c]=h[0],o[d]=h[1],h}s=!o.every(function(e,t){return e===a[t]})}if(!s)return{v:(console.warn("Failed to shuffle the choices after multiple attempts."),null)};u.removeAttribute("shuffle");var f=0;var p=true,v=false,y=undefined;try{for(var g=o[Symbol.iterator](),b;!(p=(b=g.next()).done);p=true){var _=b.value;_.parentElement.insertBefore(_,(t=i[f])===null||t===void 0?void 0:t.element),f++}}catch(e){v=true;y=e}finally{try{if(!p&&g.return!=null){g.return()}}finally{if(v){throw y}}}var k=true,w=false,E=undefined;try{for(var x=i[Symbol.iterator](),q;!(k=(q=x.next()).done);k=true){var A=q.value;A.element.parentElement.insertBefore(A.element,o[A.originalOrder])}}catch(e){w=true;E=e}finally{try{if(!k&&x.return!=null){x.return()}}finally{if(w){throw E}}}};for(var y=d[Symbol.iterator](),m;!(h=(m=y.next()).done);h=true){var g=v();if(T(g)==="object")return g.v}}catch(e){f=true;p=e}finally{try{if(!h&&y.return!=null){y.return()}}finally{if(f){throw p}}}}}catch(e){o=true;a=e}finally{try{if(!i&&s.return!=null){s.return()}}finally{if(o){throw a}}}return r},extendElementName:function(e,n){return m(t,e,n),r},extendElementsWithClass:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"extend";return g(t,e),r},customInteraction:function e(e,n){var i=t.querySelector("qti-custom-interaction"),o=i.querySelector("object");return i.setAttribute("data-base-ref",e),i.setAttribute("data-base-item",e+n),i.setAttribute("data",o.getAttribute("data")),i.setAttribute("width",o.getAttribute("width")),i.setAttribute("height",o.getAttribute("height")),i.removeChild(o),r},convertCDATAtoComment:function e(){return S(t),r},stripStyleSheets:function e(){return R(t),r},html:function e(){return n!==null&&q(t,n.substring(0,n.lastIndexOf("/"))),new XMLSerializer().serializeToString(x(t))},xml:function e(){return new XMLSerializer().serializeToString(t)},htmlDoc:function e(){return n!==null&&q(t,n.substring(0,n.lastIndexOf("/"))),x(t)},xmlDoc:function e(){return t}};return r};var rz=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.identifier="";e.href="";return e}c(t,[{key:"connectedCallback",value:function e(){var e=this;var n=this,r=function(){return h(f(t.prototype),"connectedCallback",e)};return o(function(){var e,t,i;return L(this,function(o){switch(o.label){case 0:r().call(n);e=new Event("qti-assessment-stimulus-ref-connected",{cancelable:!0,bubbles:!0,composed:!0});if(!n.dispatchEvent(e))return[3,4];t=n.closest("qti-assessment-item").querySelector("[data-stimulus-idref=".concat(n.identifier,"]"));if(!t)return[3,2];return[4,n.updateStimulusRef(t)];case 1:i=o.sent();return[3,3];case 2:i=console.warn("Stimulus with data-stimulus-idref ".concat(n.identifier," not found"));o.label=3;case 3:i;o.label=4;case 4:return[2]}})})()}},{key:"updateStimulusRef",value:function e(e){var t=this;return o(function(){var n,r,i;return L(this,function(o){switch(o.label){case 0:return[4,rH().load(t.href).promise.then(function(e){return e.htmlDoc()})];case 1:n=o.sent();if(n){;i=n.querySelectorAll("qti-stimulus-body, qti-stylesheet");e.innerHTML="",(r=e).append.apply(r,M(i))}return[2]}})})()}}]);return t}(rP);tF([r({type:String})],rz.prototype,"identifier",2),tF([r({type:String})],rz.prototype,"href",2),rz=tF([rT("qti-assessment-stimulus-ref")],rz);var rQ=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}return t}(rP);rQ=tF([rT("qti-companion-materials-info")],rQ);var rF=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return rl(j(),this.handleSlotChange)}},{key:"handleSlotChange",value:function e(){var e;var t;var n=Array.from((t=(e=this.firstElementChild)===null||e===void 0?void 0:e.childNodes)!==null&&t!==void 0?t:[]).find(function(e){return e.nodeType===Node.COMMENT_NODE});try{var r;this.operatorFunction=new Function("context","fn","item",(r=n===null||n===void 0?void 0:n.textContent)!==null&&r!==void 0?r:"")}catch(e){console.error("custom-operator contains invalid javascript code",e)}}},{key:"calculate",value:function e(){var e=this;var t={variable:function(t){var n,r;var i;return(i=(r=e._context)===null||r===void 0?void 0:(n=r.variables.find(function(e){return e.identifier===t}))===null||n===void 0?void 0:n.value)!==null&&i!==void 0?i:""},correct:function(t){var n,r;var i;return(i=(r=e._context)===null||r===void 0?void 0:(n=r.variables.find(function(e){return e.identifier===t}))===null||n===void 0?void 0:n.correctResponse)!==null&&i!==void 0?i:""}},n={getVariable:function(t){var n;return(n=e._context)===null||n===void 0?void 0:n.variables.find(function(e){return e.identifier===t})},updateOutcomeVariable:function(t,n){e.dispatchEvent(new CustomEvent("qti-set-outcome-value",{bubbles:!0,composed:!0,detail:{outcomeIdentifier:t,value:n}}))},updateResponseVariable:function(t,n){e.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,detail:{responseIdentifier:t,response:n}}))}};return this.operatorFunction(this._context,t,n)}}]);return t}(rP);tF([t({context:rL,subscribe:!0}),i()],rF.prototype,"_context",2),rF=tF([rT("qti-custom-operator")],rF);var rB=function(){return new Intl.NumberFormat().format(.1).replace(/\d/g,"")},rW=function(e){if(typeof e=="string")return e;var t=rB();return t==="."?e.toLocaleString():e.toString().replace(".","").replace(t,".")};var rJ=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.dispatchEvent(new CustomEvent("qti-register-feedback",{bubbles:!0,composed:!0,detail:this}))}},{key:"checkShowFeedback",value:function e(e){var t=this._context.variables.find(function(t){return t.identifier===e})||null;if(this.outcomeIdentifier!==e||!t)return;var n=!1;Array.isArray(t.value)?n=t.value.includes(this.identifier):n=!O(this.identifier)&&!O(t===null||t===void 0?void 0:t.value)&&this.identifier===t.value||!1,this.showFeedback(n)}},{key:"showFeedback",value:function e(e){this.showStatus=e&&this.showHide==="show"||!e&&this.showHide==="hide"?"on":"off"}}]);return t}(rP);tF([r({type:String,attribute:"show-hide"})],rJ.prototype,"showHide",2),tF([r({type:String,attribute:"outcome-identifier"})],rJ.prototype,"outcomeIdentifier",2),tF([r({type:String})],rJ.prototype,"identifier",2),tF([r({type:String,attribute:!1})],rJ.prototype,"showStatus",2),tF([t({context:rL,subscribe:!0}),i()],rJ.prototype,"_context",2);var rG=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return rl(H(),this.showStatus)}},{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.checkShowFeedback(this.outcomeIdentifier)}}]);return t}(rJ);rG.styles=nC(z()),rG=tF([rT("qti-feedback-block")],rG);var rX=function(e){return e!==null&&e!==void 0?e:rh};var rY=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.render=function(){return rl(Q(),rX(e.showStatus))};return e}c(t,[{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.checkShowFeedback(this.outcomeIdentifier)}}]);return t}(rJ);rY.styles=nC(F()),rY=tF([rT("qti-feedback-inline")],rY);var rK=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return rl(B(),this.showStatus==="on",this.closeFeedback)}},{key:"openFeedback",value:function e(){var e;var t=(e=this.shadowRoot)===null||e===void 0?void 0:e.querySelector("dialog");t&&!t.open&&t.showModal()}},{key:"closeFeedback",value:function e(){var e;var t=(e=this.shadowRoot)===null||e===void 0?void 0:e.querySelector("dialog");t&&t.open&&(t.close(),this.showStatus="off")}},{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.showStatus==="on"&&this.openFeedback()}},{key:"updated",value:function e(e){e.has("showStatus")&&(this.showStatus==="on"?this.openFeedback():this.closeFeedback())}}]);return t}(rJ);rK.styles=nC(W()),rK=tF([rT("qti-modal-feedback")],rK);var rZ=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.dispatchEvent(new CustomEvent("qti-register-hotspot",{bubbles:!0,composed:!0,cancelable:!1}))}},{key:"render",value:function e(){return rl(J())}}]);return t}(rP);rZ.styles=nC(G()),rZ=tF([rT("qti-associable-hotspot")],rZ);var r0=function(e,t,n){var r=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}return t}(e);return r};var r1=function(e,t,n,i){var l=/*#__PURE__*/function(e){"use strict";p(r,e);function r(){s(this,r);var e;e=a(this,r,arguments);e.observer=null;e.droppableObsever=null;e.resizeObserver=null;e.draggables=[];e.droppables=[];e.dragContainers=[];e.dragClone=null;e.dragSource=null;e.touchStartPoint=null;e.isDraggable=!1;e.cloneOffset={x:0,y:0};e.isDragging=!1;e.allDropzones=[];e.lastTarget=null;e.currentDropTarget=null;e.MIN_DRAG_DISTANCE=5;e.DRAG_CLONE_OPACITY=1;e.dataTransfer={data:{},setData:function e(e,t){this.data[e]=t},getData:function e(e){return this.data[e]},effectAllowed:"move"};e.configuration={copyStylesDragClone:!0,dragCanBePlacedBack:!0,dragOnClick:!1};e.minAssociations=1;e.maxAssociations=0;e.draggablesModified=function(t,n){var r=true,i=false,o=undefined;try{var a=function(){var t=l.value;e.draggables.includes(t)&&(e.draggables=e.draggables.filter(function(e){return e!==t}),t.removeAttribute("tabindex"),t.removeEventListener("touchstart",e.handleTouchStart.bind(e)),t.removeEventListener("mousedown",e.handleTouchStart.bind(e)))};for(var s=n[Symbol.iterator](),l;!(r=(l=s.next()).done);r=true)a()}catch(e){i=true;o=e}finally{try{if(!r&&s.return!=null){s.return()}}finally{if(i){throw o}}}var u=true,c=false,d=undefined;try{for(var h=t[Symbol.iterator](),f;!(u=(f=h.next()).done);u=true){var p=f.value;e.draggables.includes(p)||(e.draggables.push(p),p.setAttribute("tabindex","0"),p.hasTouchStartListener||(p.addEventListener("touchstart",e.handleTouchStart.bind(e),{passive:!1}),p.addEventListener("mousedown",e.handleTouchStart.bind(e),{passive:!1}),p.hasTouchStartListener=!0))}}catch(e){c=true;d=e}finally{try{if(!u&&h.return!=null){h.return()}}finally{if(c){throw d}}}var v=0;e.draggables.forEach(function(t){t.style.viewTransitionName="drag-".concat(v,"-").concat(e.getAttribute("identifier")||crypto.randomUUID()),t.setAttribute("qti-draggable","true"),v++})};e.droppablesModified=function(t,n){var r=true,i=false,o=undefined;try{var a=function(){var t=l.value;e.droppables.includes(t)&&(e.droppables=e.droppables.filter(function(e){return e!==t}),e.allDropzones=e.allDropzones.filter(function(e){return e!==t}))};for(var s=n[Symbol.iterator](),l;!(r=(l=s.next()).done);r=true)a()}catch(e){i=true;o=e}finally{try{if(!r&&s.return!=null){s.return()}}finally{if(i){throw o}}}var u=true,c=false,d=undefined;try{for(var h=t[Symbol.iterator](),f;!(u=(f=h.next()).done);u=true){var p=f.value;e.droppables.includes(p)||(e.droppables.push(p),e.allDropzones.push(p))}}catch(e){c=true;d=e}finally{try{if(!u&&h.return!=null){h.return()}}finally{if(c){throw d}}}var v=true,y=false,m=undefined;try{for(var g=e.droppables[Symbol.iterator](),b;!(v=(b=g.next()).done);v=true){var _=b.value;e.dataset.choicesContainerWidth&&(_.style.width="".concat(e.dataset.choicesContainerWidth,"px"),_.style.boxSizing="border-box")}}catch(e){y=true;m=e}finally{try{if(!v&&g.return!=null){g.return()}}finally{if(y){throw m}}}};return e}c(r,[{key:"handleDraggableContainerChange",value:function e(e,t){this.isMatchTabular()||(e.length>0||t.length>0)&&this.dragContainersModified(e||[],t||[])}},{key:"dragContainersModified",value:function e(e,t){var n=true,r=false,i=undefined;try{var o,a=function(){var e=l.value;o.dragContainers.includes(e)&&(o.dragContainers=o.dragContainers.filter(function(t){return t!==e}),o.allDropzones=o.allDropzones.filter(function(t){return t!==e}))};for(var s=t[Symbol.iterator](),l;!(n=(l=s.next()).done);n=true)o=this,a()}catch(e){r=true;i=e}finally{try{if(!n&&s.return!=null){s.return()}}finally{if(r){throw i}}}var u=true,c=false,d=undefined;try{for(var h=e[Symbol.iterator](),f;!(u=(f=h.next()).done);u=true){var p=f.value;this.dragContainers.includes(p)||(this.dragContainers.push(p),this.allDropzones.push(p))}}catch(e){c=true;d=e}finally{try{if(!u&&h.return!=null){h.return()}}finally{if(c){throw d}}}}},{key:"handleDraggablesChange",value:function e(e,t){this.isMatchTabular()||(e.length>0||t.length>0)&&this.draggablesModified(e||[],t||[])}},{key:"handleDroppablesChange",value:function e(e,t){this.isMatchTabular()||(e.length>0||t.length>0)&&this.droppablesModified(e||[],t||[])}},{key:"firstUpdated",value:function e(e){var o=this;var a,s,l;h(f(r.prototype),"firstUpdated",this).call(this,e),this.hasAttribute("disabled")||(document.addEventListener("touchmove",this.handleTouchMove.bind(this),{passive:!1}),document.addEventListener("mousemove",this.handleTouchMove.bind(this),{passive:!1}),document.addEventListener("touchend",this.handleTouchEnd.bind(this),{passive:!1}),document.addEventListener("mouseup",this.handleTouchEnd.bind(this),{passive:!1}),document.addEventListener("touchcancel",this.handleTouchCancel.bind(this),{passive:!1}));var u=Array.from(this.querySelectorAll(t)||[]).concat(Array.from(((a=this.shadowRoot)===null||a===void 0?void 0:a.querySelectorAll(t))||[])),c=Array.from(this.querySelectorAll(n)||[]).concat(Array.from(((s=this.shadowRoot)===null||s===void 0?void 0:s.querySelectorAll(n))||[])),d=Array.from(this.querySelectorAll(i)||[]).concat(Array.from(((l=this.shadowRoot)===null||l===void 0?void 0:l.querySelectorAll(i))||[]));this.dragContainersModified(d,[]),this.droppablesModified(c,[]),this.draggablesModified(u,[]),this.updateMinDimensionsForDropZones(),this.observer=new MutationObserver(function(){return o.updateMinDimensionsForDropZones()}),this.observer.observe(this,{childList:!0,subtree:!0}),this.resizeObserver=new ResizeObserver(function(){return o.updateMinDimensionsForDropZones()}),this.querySelectorAll("qti-gap-text").forEach(function(e){var t;return(t=o.resizeObserver)===null||t===void 0?void 0:t.observe(e)})}},{key:"moveDraggableToDroppable",value:function e(e,t){var n=this;return o(function(){return L(this,function(r){(function(){e.style.transform="translate(0, 0)",t.tagName==="SLOT"?e.setAttribute("slot",t.getAttribute("name")):t.appendChild(e),n.checkAllMaxAssociations(),n.saveResponse()})();return[2]})})()}},{key:"activateDroppable",value:function e(e){this.dragContainers.includes(e)?(this._internals.states.add("--dragzone-active"),e.setAttribute("active","")):(this._internals.states.delete("--dragzone-active"),e.setAttribute("active",""))}},{key:"deactivateDroppable",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;t&&this._internals.states.add("--dragzone-active"),e.removeAttribute("active")}},{key:"connectedCallback",value:function e(){h(f(r.prototype),"connectedCallback",this).call(this)}},{key:"isMatchTabular",value:function e(){return this.classList.contains("qti-match-tabular")}},{key:"updateMinDimensionsForDropZones",value:function e(){var e;var r=this.querySelectorAll(t),o=Array.from(this.querySelectorAll(n)).map(function(e){return e}),a=0,s=0;r.forEach(function(e){var t=e.getBoundingClientRect();a=Math.max(a,t.height),s=Math.max(s,t.width)});var l=this.querySelector(i)||((e=this.shadowRoot)===null||e===void 0?void 0:e.querySelector(i));l&&(l.style.minHeight="".concat(a,"px"),l.style.minWidth="".concat(s,"px"));var u=true,c=false,d=undefined;try{for(var h=o[Symbol.iterator](),f;!(u=(f=h.next()).done);u=true){var p=f.value;p.style.minHeight="".concat(a,"px"),p.style.minWidth="".concat(s,"px")}}catch(e){c=true;d=e}finally{try{if(!u&&h.return!=null){h.return()}}finally{if(c){throw d}}}}},{key:"activateDroppables",value:function e(e){this.dragContainers.forEach(function(t){t.setAttribute("enabled",""),t.hasAttribute("disabled")&&(t.contains(e)||t.shadowRoot&&t.shadowRoot.contains(e))&&t.removeAttribute("disabled")}),this.droppables.forEach(function(t){t.setAttribute("enabled",""),t.hasAttribute("disabled")&&(t.contains(e)||t.shadowRoot&&t.shadowRoot.contains(e))&&t.removeAttribute("disabled")})}},{key:"activateDragLocation",value:function e(){this._internals.states.add("--dragzone-enabled")}},{key:"deactivateDragLocation",value:function e(){this._internals.states.delete("--dragzone-enabled")}},{key:"deactivateDroppables",value:function e(){this.dragContainers.forEach(function(e){e.removeAttribute("enabled"),e.removeAttribute("active")}),this.droppables.forEach(function(e){e.removeAttribute("enabled"),e.removeAttribute("active")})}},{key:"disconnectedCallback",value:function e(){h(f(r.prototype),"disconnectedCallback",this).call(this),this.observer&&(this.observer.disconnect(),this.observer=null),this.droppableObsever&&(this.droppableObsever.disconnect(),this.droppableObsever=null),this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),document.removeEventListener("touchmove",this.handleTouchMove),document.removeEventListener("mousemove",this.handleTouchMove),document.removeEventListener("touchend",this.handleTouchEnd),document.removeEventListener("mouseup",this.handleTouchEnd),document.removeEventListener("touchcancel",this.handleTouchCancel)}},{key:"handleTouchMove",value:function e(e){if(this.isDraggable&&this.dragClone){var t=this.getEventCoordinates(e),n=t.x,r=t.y,i={clientX:n,clientY:r};this.calculateDragDistance(i)>=this.MIN_DRAG_DISTANCE&&(this.isDragging=!0,this.updateDragClonePosition(i));var o=this.findClosestDropzone();this.currentDropTarget=o,o!==this.lastTarget&&(this.lastTarget&&(this.deactivateDroppable(this.lastTarget),this.dispatchCustomEvent(this.lastTarget,"dragleave")),o&&(this.activateDroppable(o),this.dispatchCustomEvent(o,"dragenter")),this.lastTarget=o),this.currentDropTarget&&this.dispatchCustomEvent(this.currentDropTarget,"dragover"),e.preventDefault()}}},{key:"handleTouchEnd",value:function e(e){this.isDragging&&this.resetDragState(),this._internals.states.delete("--dragzone-active"),this.checkAllMaxAssociations(),this._internals.states.delete("--dragzone-enabled"),this._internals.states.delete("--dragzone-active"),this.deactivateDragLocation(),this.deactivateDroppables(),this.draggables.forEach(function(e){e.removeAttribute("dragging")}),e.preventDefault()}},{key:"handleTouchCancel",value:function e(e){this.resetDragState()}},{key:"validate",value:function e(){if(!this.shadowRoot)return!1;var e=this.getValidAssociations(),t=!0,n="";this.maxAssociations>0&&e>this.maxAssociations?(t=!1,n=this.dataset.maxSelectionsMessage||"You've selected too many associations. Maximum allowed is ".concat(this.maxAssociations,".")):this.minAssociations>0&&e<this.minAssociations&&(t=!1,n=this.dataset.minSelectionsMessage||"You haven't selected enough associations. Minimum required is ".concat(this.minAssociations,"."));var r=this.lastElementChild;return this._internals.setValidity(t?{}:{customError:!0},n,r),t}},{key:"reportValidity",value:function e(){var e=this.shadowRoot.querySelector("#validationMessage");return e&&(this._internals.validity.valid?(e.textContent="",e.style.display="none"):(e.textContent=this._internals.validationMessage,e.style.display="block")),this._internals.validity.valid}},{key:"checkMaxAssociations",value:function e(e){var t=this.getMatchMaxValue(e),n=e.querySelectorAll('[qti-draggable="true"]').length;return!(t===0)&&n>=t}},{key:"dropDraggableInDroppable",value:function e(e,t){var n=e.cloneNode(!0);n.removeAttribute("style"),this.moveDraggableToDroppable(n,t),this.draggablesModified([n],[]);var r=this.getMatchMaxValue(e),i=this.draggables.filter(function(t){return t.getAttribute("identifier")===e.getAttribute("identifier")});r!==0&&i.length>=r?(e.style.opacity="0.0",e.style.pointerEvents="none"):e.style.opacity="1.0"}},{key:"resetDragState",value:function e(){if(this.dragClone){var e=this.currentDropTarget!==null,t=!e||this.dragContainers.includes(this.currentDropTarget);e&&this.currentDropTarget&&!t&&this.dropDraggableInDroppable(this.dragSource,this.currentDropTarget),t&&(this.dragSource.style.opacity="1.0",this.dragSource.style.display="block",this.dragSource.style.position="static",this.dragSource.style.pointerEvents="auto",this.saveResponse()),this.dragClone.remove(),this.draggablesModified([],[this.dragClone])}this.isDragging=!1,this.isDraggable=!1,this.dragSource=null,this.dragClone=null,this.touchStartPoint=null,this.currentDropTarget=null,this.lastTarget=null,this.deactivateDroppables()}},{key:"checkAllMaxAssociations",value:function e(){var e=this;var t=this.getValidAssociations(),n=this.maxAssociations!==0&&t>=this.maxAssociations;this.droppables.forEach(function(t){n?e.disableDroppable(t):e.checkMaxAssociations(t)?e.disableDroppable(t):e.enableDroppable(t)})}},{key:"getMatchMaxValue",value:function e(e){var t=e.getAttribute("match-max");return t?parseInt(t,10):1}},{key:"disableDroppable",value:function e(e){e.setAttribute("disabled","")}},{key:"enableDroppable",value:function e(e){e.removeAttribute("disabled")}},{key:"response",get:function e(){var e;return typeof this.getResponse=="function"?e=this.getResponse():e=this.collectResponseData(),e.join(",")},set:function e(e){var t=this;if(!this.isMatchTabular())if(typeof this.getValue=="function"&&(e=this.getValue(e)),Array.isArray(e)){this.reset(!1),e===null||e===void 0?void 0:e.forEach(function(e){return t.placeResponse(e)});var n=new FormData;e.forEach(function(e){n.append(t.responseIdentifier,e)}),this._internals.setFormValue(n)}else this._internals.setFormValue(e||"")}},{key:"placeResponse",value:function e(e){var t=this;var n=I(e.split(" ").reverse()),r=n[0],i=n.slice(1),o=Array.from(this.draggables),a=Array.from(this.droppables);i.forEach(function(e){if(e==="")return;var n=o.find(function(t){return t.getAttribute("identifier")===e}),i=a.find(function(e){return e.getAttribute("identifier")===r});t.dropDraggableInDroppable(n,i)})}},{key:"getValidAssociations",value:function e(){var e=0;var t=true,n=false,r=undefined;try{for(var i=this.droppables[Symbol.iterator](),o;!(t=(o=i.next()).done);t=true){var a=o.value;e=e+this.getDraggablesFromDroppable(a).length}}catch(e){n=true;r=e}finally{try{if(!t&&i.return!=null){i.return()}}finally{if(n){throw r}}}return e}},{key:"saveResponse",value:function e(){var e;typeof this.getResponse=="function"?e=this.getResponse():e=this.collectResponseData(),this.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,detail:{responseIdentifier:this.responseIdentifier,response:e}}))}},{key:"collectResponseData",value:function e(){var e=this;return this.droppables.map(function(t){var n=e.getDraggablesFromDroppable(t).map(function(e){return e.getAttribute("identifier")}),r=t.getAttribute("identifier");return n.map(function(e){return"".concat(e," ").concat(r)})}).flat()}},{key:"getDraggablesFromDroppable",value:function e(e){return this.draggables.map(function(e){return e.getAttribute("identifier")}).filter(function(e,t,n){return n.indexOf(e)===t}).flatMap(function(t){return Array.from(e.querySelectorAll("[identifier='".concat(t,"']")))}).filter(function(e){return!!e}).map(function(e){return e})}},{key:"reset",value:function e(){var e=this;var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;this.droppables.forEach(function(t){e.getDraggablesFromDroppable(t).forEach(function(t){t.remove(),e.draggablesModified([],[t])})}),this.dragContainers.forEach(function(e){Array.from(e.querySelectorAll('[qti-draggable="true"]')).forEach(function(e){e.style.opacity="1.0"})}),this.dragClone=null,this.dragSource=null,this.isDragging=!1,this.isDraggable=!1,this.currentDropTarget=null,this.lastTarget=null,t&&this.saveResponse()}},{key:"updateDragClonePosition",value:function e(e){if(!this.isDragging||!this.dragClone)return;var t=e.clientX-this.cloneOffset.x,n=e.clientY-this.cloneOffset.y,r=this.applyInteractionBoundaries(t,n,this.dragClone),i=r.newLeft,o=r.newTop;this.dragClone.style.left="".concat(i,"px"),this.dragClone.style.top="".concat(o,"px")}},{key:"applyInteractionBoundaries",value:function e(e,t,n){var r=this.getBoundingClientRect(),i=n.getBoundingClientRect(),o=i.width,a=i.height,s=Math.max(r.left,Math.min(e,r.right-o)),l=Math.max(r.top,Math.min(t,r.bottom-a));return{newLeft:s,newTop:l}}},{key:"getEventCoordinates",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;var n=e.touches?e.touches[0]:e;return{x:t?n.pageX:n.clientX,y:t?n.pageY:n.clientY}}},{key:"calculateDragDistance",value:function e(e){var t=Math.abs(e.clientX-this.touchStartPoint.x),n=Math.abs(e.clientY-this.touchStartPoint.y);return t+n}},{key:"findClosestDropzone",value:function e(){var e=this.allDropzones.filter(function(e){return!e.hasAttribute("disabled")});if(!this.dragClone||e.length===0)return null;var t=this.dragClone.getBoundingClientRect(),n=null,r=0;var i=true,o=false,a=undefined;try{for(var s=e[Symbol.iterator](),l;!(i=(l=s.next()).done);i=true){var u=l.value;var c=u.getBoundingClientRect(),d=this.calculateOverlapArea(t,c);d>r&&(r=d,n=u)}}catch(e){o=true;a=e}finally{try{if(!i&&s.return!=null){s.return()}}finally{if(o){throw a}}}if(!n){var h=200;var f=true,p=false,v=undefined;try{for(var y=e[Symbol.iterator](),m;!(f=(m=y.next()).done);f=true){var g=m.value;var b=g.getBoundingClientRect(),_=Math.sqrt(Math.pow(t.left-b.left,2)+Math.pow(t.top-b.top,2));_<h&&(h=_,n=g)}}catch(e){p=true;v=e}finally{try{if(!f&&y.return!=null){y.return()}}finally{if(p){throw v}}}}return n}},{key:"calculateOverlapArea",value:function e(e,t){var n=Math.max(0,Math.min(e.right,t.right)-Math.max(e.left,t.left)),r=Math.max(0,Math.min(e.bottom,t.bottom)-Math.max(e.top,t.top));return n*r}},{key:"dispatchCustomEvent",value:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e)return;var r=new CustomEvent(t,{bubbles:n,cancelable:!0});r.dataTransfer=this.dataTransfer,e.dispatchEvent(r)}},{key:"appendClone",value:function e(){document.body.appendChild(this.dragClone)}},{key:"handleTouchStart",value:function e(e){var t=this;if(this.isDragging)return;var n=this.getEventCoordinates(e),r=n.x,i=n.y;this.touchStartPoint={x:r,y:i},this.dragSource=e.currentTarget,this.isDraggable=!0,this._internals.states.add("--dragzone-enabled"),this._internals.states.add("--dragzone-active"),this.activateDragLocation(),this.activateDroppables(this.dragSource);var o=this.findDraggableInDraggableContainer(this.dragSource.getAttribute("identifier")),a=this.droppables.some(function(e){return Array.from(e.children).some(function(e){return e===t.dragSource})}),s=this.dragSource.getBoundingClientRect();a&&(this.dragSource.remove(),this.draggablesModified([],[this.dragSource]),this.dragSource=o),this.cloneOffset.x=r-s.left,this.cloneOffset.y=i-s.top,this.dragClone=o.cloneNode(!0);var l=window.getComputedStyle(o);for(var u=0;u<l.length;u++){var c=l[u];this.dragClone.style.setProperty(c,l.getPropertyValue(c))}var d=o.getBoundingClientRect();this.dragClone.style.width="".concat(d.width,"px"),this.dragClone.style.height="".concat(d.height,"px"),s&&this.setDragCloneStyles(s),this.dragClone.style.display="block",this.dragClone.style.opacity="1",this.appendClone();var h=this.getMatchMaxValue(this.dragSource),f=this.draggables.filter(function(e){return e.getAttribute("identifier")===t.dragSource.getAttribute("identifier")});h!==0&&f.length>=h?(o.style.opacity="0.0",o.style.pointerEvents="none"):o.style.opacity="1.0",e.preventDefault(),this.dragClone.setAttribute("dragging","")}},{key:"findDraggableInDraggableContainer",value:function e(e){var n=this.dragContainers.flat();var r=true,i=false,o=undefined;try{for(var a=n[Symbol.iterator](),s;!(r=(s=a.next()).done);r=true){var l=s.value;if(l.getAttribute("identifier")===e)return l;var u=void 0;v(l,HTMLSlotElement)?u=Array.from((l===null||l===void 0?void 0:l.assignedElements())||[]):u=Array.from(l.querySelectorAll(t));var c=u.find(function(t){return t.getAttribute("identifier")===e});if(c)return c}}catch(e){i=true;o=e}finally{try{if(!r&&a.return!=null){a.return()}}finally{if(i){throw o}}}}},{key:"setDragCloneStyles",value:function e(e){this.dragClone.style.position="fixed",this.dragClone.style.top="".concat(e.top,"px"),this.dragClone.style.left="".concat(e.left,"px"),this.dragClone.style.setProperty("box-sizing","border-box","important"),this.dragClone.style.zIndex="9999",this.dragClone.style.pointerEvents="none",this.dragClone.style.opacity=this.DRAG_CLONE_OPACITY.toString(),this.dragClone.style.display="block"}}]);return r}(r0(e,n,t));return tF([r({attribute:!1,type:Object})],l.prototype,"configuration",2),tF([r({type:Number,reflect:!0,attribute:"min-associations"})],l.prototype,"minAssociations",2),tF([r({type:Number,reflect:!0,attribute:"max-associations"})],l.prototype,"maxAssociations",2),tF([tP(i)],l.prototype,"handleDraggableContainerChange",1),tF([tP(t)],l.prototype,"handleDraggablesChange",1),tF([tP(n)],l.prototype,"handleDroppablesChange",1),l};var r2=nC(X());var r3=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t);e.disabled=!1;e.readonly=!1;e._internals=e.attachInternals();return e}c(t,[{key:"correctResponse",get:function e(){return this._correctResponse},set:function e(e){this._correctResponse=e}},{key:"toggleCorrectResponse",value:function e(e,t){this.correctResponse=t?e===null||e===void 0?void 0:e.correctResponse:e.cardinality==="single"?"":[]}},{key:"value",get:function e(){return JSON.stringify(this.response)},set:function e(e){this.response=e?JSON.parse(e):null}},{key:"reportValidity",value:function e(){return this._internals.reportValidity()}},{key:"reset",value:function e(){this.response=null}},{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.dispatchEvent(new CustomEvent("qti-register-interaction",{bubbles:!0,composed:!0,cancelable:!1,detail:{interactionElement:this,responseIdentifier:this.responseIdentifier}}))}},{key:"saveResponse",value:function e(e){this.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,cancelable:!1,detail:{responseIdentifier:this.responseIdentifier,response:Array.isArray(e)?M(e):e}}))}}]);return t}(rP);r3.formAssociated=!0,tF([r({type:String,attribute:"response-identifier"})],r3.prototype,"responseIdentifier",2),tF([r({reflect:!0,type:Boolean})],r3.prototype,"disabled",2),tF([r({reflect:!0,type:Boolean})],r3.prototype,"readonly",2),tF([i()],r3.prototype,"_correctResponse",2);var r5=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t);e._childrenMap=[];e._registerChoiceHandler=e._registerChoice.bind(e),e.addEventListener("register-qti-simple-associable-choice",e._registerChoiceHandler);return e}c(t,[{key:"_registerChoice",value:function e(e){var t=e.target;this._childrenMap.push(t)}},{key:"render",value:function e(){return rl(K(),this._childrenMap.length>0&&Array.from(Array(Math.ceil(this._childrenMap.length/2)).keys()).map(function(e,t){return rl(Y(),t,t,t,t)}))}},{key:"disconnectedCallback",value:function e(){h(f(t.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("register-qti-simple-associable-choice",this._registerChoiceHandler)}}]);return t}(r1(r3,"qti-simple-associable-choice",".dl","slot[name='qti-simple-associable-choice']"));r5.styles=r2,tF([i()],r5.prototype,"_childrenMap",2),r5=tF([rT("qti-associate-interaction")],r5);var r4=function(e,t){var n=/*#__PURE__*/function(e){"use strict";p(n,e);function n(){s(this,n);var e;e=a(this,n,arguments);e._choiceElements=[];e.minChoices=0;e.maxChoices=1;e._handleDisabledChange=function(t,n){e._choiceElements.forEach(function(e){return e.disabled=n})};e._handleReadonlyChange=function(t,n){e._choiceElements.forEach(function(e){return e.readonly=n})};e.response="";e._handleValueChange=function(){e._internals.setFormValue(e.value),e._updateChoiceSelection()};return e}c(n,[{key:"_handleMaxChoicesChange",value:function e(e,t){this._determineInputType()}},{key:"value",get:function e(){return Array.isArray(this.response)&&this.response.length===0||this.response===""?null:Array.isArray(this.response)?this.response.join(","):this.response},set:function e(e){this.maxChoices>1&&(typeof e=="string"||e===null)?this.response=e?e.toString().split(","):[]:this.response=e||""}},{key:"toggleCorrectResponse",value:function e(e,t){if(e.correctResponse){var n=Array.isArray(e.correctResponse)?e.correctResponse:[e.correctResponse];this._choiceElements.forEach(function(e){e.internals.states.delete("correct-response"),e.internals.states.delete("incorrect-response"),t&&n.length>0&&(n.includes(e.identifier)?e.internals.states.add("correct-response"):e.internals.states.add("incorrect-response"))})}}},{key:"connectedCallback",value:function e(){h(f(n.prototype),"connectedCallback",this).call(this),this.addEventListener("register-".concat(t),this._registerChoiceElement),this.addEventListener("unregister-".concat(t),this._unregisterChoiceElement),this.addEventListener("activate-".concat(t),this._choiceElementSelectedHandler)}},{key:"disconnectedCallback",value:function e(){h(f(n.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("register-".concat(t),this._registerChoiceElement),this.removeEventListener("unregister-".concat(t),this._unregisterChoiceElement),this.removeEventListener("activate-".concat(t),this._choiceElementSelectedHandler)}},{key:"validate",value:function e(){var e=this;var t=this._choiceElements.filter(function(t){return e._getChoiceChecked(t)}),n=t.length,r=!0,i="";return this.maxChoices!==0&&n>this.maxChoices?(r=!1,i=this.dataset.maxSelectionsMessage||"Please select no more than ".concat(this.maxChoices," ").concat(this.maxChoices===1?"option":"options",".")):n<this.minChoices&&(r=!1,i=this.dataset.minSelectionsMessage||"Please select at least ".concat(this.minChoices," ").concat(this.minChoices===1?"option":"options",".")),t.length>0&&this._internals.setValidity(r?{}:{customError:!0},i,t[n-1]||this._choiceElements[0]||this),r}},{key:"reportValidity",value:function e(){return this._validationMessageElement&&(this._internals.validity.valid?(this._validationMessageElement.textContent="",this._validationMessageElement.style.display="none"):(this._validationMessageElement.textContent=this._internals.validationMessage,this._validationMessageElement.style.display="block")),this._internals.validity.valid}},{key:"_registerChoiceElement",value:function e(e){e.stopPropagation();var t=e.target;t.disabled=this.disabled,this._choiceElements.push(t),this._setInputType(t)}},{key:"_unregisterChoiceElement",value:function e(e){e.stopPropagation();var t=e.target;this._choiceElements=this._choiceElements.filter(function(e){return e!==t})}},{key:"_determineInputType",value:function e(){var e=this;this._choiceElements.forEach(function(t){e._setInputType(t)})}},{key:"_setInputType",value:function e(e){this._internals.role=this.maxChoices===1?"radiogroup":null;var t=this.maxChoices===1?"radio":"checkbox";e.internals.role=t,e.internals.states.delete(t==="radio"?"checkbox":"radio"),e.internals.states.add(t)}},{key:"_choiceElementSelectedHandler",value:function e(e){var t=this;this._toggleChoiceChecked(e.target),this.maxChoices===1&&this._choiceElements.forEach(function(n){n.identifier!==e.detail.identifier&&t._setChoiceChecked(n,!1)}),this._handleChoiceSelection()}},{key:"_setChoiceChecked",value:function e(e,t){var n;((n=e.internals)===null||n===void 0?void 0:n.states)&&(t?(e.internals.states.add("--checked"),e.internals.ariaChecked="true"):(e.internals.states.delete("--checked"),e.internals.ariaChecked="false"))}},{key:"_getChoiceChecked",value:function e(e){return e.internals.states.has("--checked")}},{key:"_toggleChoiceChecked",value:function e(e){var t=this._getChoiceChecked(e);this._setChoiceChecked(e,!t)}},{key:"_handleChoiceSelection",value:function e(){var e=this;var t=this._choiceElements.filter(function(t){return e._getChoiceChecked(t)}).map(function(e){return e.identifier});this.response=this.maxChoices===1?t[0]||"":t,this.validate(),this.saveResponse(this.response)}},{key:"_updateChoiceSelection",value:function e(){var e=this;var t=Array.isArray(this.response)?this.response:[this.response];this._choiceElements.forEach(function(n){var r=t.includes(n.identifier);e._setChoiceChecked(n,r)})}}]);return n}(e);return tF([l("#validationMessage")],n.prototype,"_validationMessageElement",2),tF([r({type:Number,attribute:"min-choices"})],n.prototype,"minChoices",2),tF([r({type:Number,attribute:"max-choices"})],n.prototype,"maxChoices",2),tF([y("maxChoices",{waitUntilFirstUpdate:!0})],n.prototype,"_handleMaxChoicesChange",1),tF([y("disabled",{waitUntilFirstUpdate:!0})],n.prototype,"_handleDisabledChange",2),tF([y("readonly",{waitUntilFirstUpdate:!0})],n.prototype,"_handleReadonlyChange",2),tF([i()],n.prototype,"response",2),tF([y("response",{waitUntilFirstUpdate:!0})],n.prototype,"_handleValueChange",2),n};var r6=function(e,t){var n=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e._classes=[];e._allLabels=["qti-labels-decimal","qti-labels-lower-alpha","qti-labels-upper-alpha"];e._allLabelSuffixes=["qti-labels-suffix-period","qti-labels-suffix-parenthesis"];return e}c(t,[{key:"class",get:function e(){var e;return((e=this._classes)===null||e===void 0?void 0:e.join(" "))||""},set:function e(e){e&&(this._classes=e.split(" "),this._addLabels())}},{key:"updated",value:function e(e){h(f(t.prototype),"updated",this).call(this,e),this._addLabels()}},{key:"_addLabels",value:function e(){var e=this;var t=this._classes.some(function(t){return e._allLabels.includes(t)||e._allLabelSuffixes.includes(t)}),n=function(e){return!isNaN(+e)};if(t){var r=Array.from(this.querySelectorAll("qti-simple-choice")).map(function(e){return e}).map(function(e,t){return{el:e,order:n(e.style.order)?+e.style.order:t+1}}).sort(function(e,t){return e.order-t.order}).map(function(e){return e.el});for(var i=0;i<r.length;i++)r[i].marker=this._getLabel(i+1)}}},{key:"_getLabel",value:function e(e){var t=this;var n=this._classes.filter(function(e){return t._allLabels.includes(e)}).pop(),r=this._classes.filter(function(e){return t._allLabelSuffixes.includes(e)}).pop();!n&&r&&(n="qti-labels-upper-alpha");var i="";switch(n){case"qti-labels-decimal":i="".concat(e);break;case"qti-labels-lower-alpha":i="".concat(String.fromCharCode(97+e-1));break;case"qti-labels-upper-alpha":i="".concat(String.fromCharCode(65+e-1));break}return r==="qti-labels-suffix-period"?i+=".":r==="qti-labels-suffix-parenthesis"&&(i+=")"),i}}]);return t}(e);return tF([r({type:String,reflect:!0})],n.prototype,"class",1),n};var r9=nC(Z());var r8=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.orientation="vertical";return e}c(t,[{key:"_handleSlotChange",value:function e(){var e=this.querySelectorAll("qti-simple-choice");this.style.setProperty("--item-count",e.length.toString())}},{key:"render",value:function e(){return rl(ee(),this._handleSlotChange)}}]);return t}(r6(r4(r3,"qti-simple-choice"),"qti-simple-choice"));r8.styles=r9,tF([r({type:String})],r8.prototype,"orientation",2),r8=tF([rT("qti-choice-interaction")],r8);var r7=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t);e._errorMessage=null;e.handlePostMessage=e.handlePostMessage.bind(e);return e}c(t,[{key:"connectedCallback",value:function e(){var e=this;h(f(t.prototype),"connectedCallback",this).call(this);var n=this.data.startsWith("http")||this.data.startsWith("blob")?this.data:$(this.baseItemUrl+"/"+this.data);fetch(n).then(function(e){return e.json()}).then(function(t){e.manifest=t,e.setupCES()}).catch(function(t){e._errorMessage=t})}},{key:"setupCES",value:function e(){var e=this.shadowRoot.querySelector("#pciContainer"),t=e.contentDocument;if(!this.manifest.script||this.manifest.script.length===0){this._errorMessage="No script found in manifest";return}if(!this.manifest.style||this.manifest.style.length===0){this._errorMessage="No style found in manifest";return}var n=this.manifest.style[0],r=n.startsWith("http")||n.startsWith("blob")?n:$("".concat(this.baseRefUrl,"/").concat(n)),i=this.manifest.script[0],o=i.startsWith("http")||i.startsWith("blob")?i:$("".concat(this.baseRefUrl,"/").concat(i));window.addEventListener("message",this.handlePostMessage),t.open(),t.write("\n <html>\n <head>\n <link href='".concat(r,"' rel=\"stylesheet\" />\n <script src='").concat(o,"'><\/script>\n </head>\n <body></body>\n </html>\n ")),t.close()}},{key:"getIFrames",value:function e(){var e=this.shadowRoot.querySelectorAll("iframe"),t=this.querySelectorAll("iframe"),n=M(e).concat(M(t));var r=true,i=false,o=undefined;try{for(var a=n[Symbol.iterator](),s;!(r=(s=a.next()).done);r=true){var l=s.value;var u=l.src;if(new URL(u,window.location.href).origin===window.location.origin)try{var c=l.contentDocument||l.contentWindow.document;c&&this.getInnerIFrames(c,n)}catch(e){console.error("Error accessing nested iframe:",e)}}}catch(e){i=true;o=e}finally{try{if(!r&&a.return!=null){a.return()}}finally{if(i){throw o}}}return n.forEach(function(e,t){n.indexOf(e)!==t&&n.splice(t,1)}),n}},{key:"getInnerIFrames",value:function e(e){var t=this;var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return e.querySelectorAll("iframe").forEach(function(e){n.push(e);var r=e.src;if(new URL(r,window.location.href).origin===window.location.origin)try{var i=e.contentDocument||e.contentWindow.document;t.getInnerIFrames(i,n)}catch(e){console.error("Error accessing nested iframe:",e)}else console.warn("Skipped cross-origin iframe:",r)}),n}},{key:"postToWindowAndIframes",value:function e(e,t){window.postMessage({type:e,data:t},"*");var n=this.getIFrames();var r=true,i=false,o=undefined;try{for(var a=n[Symbol.iterator](),s;!(r=(s=a.next()).done);r=true){var l=s.value;l.contentWindow&&l.contentWindow.postMessage({type:e,data:t},"*")}}catch(e){i=true;o=e}finally{try{if(!r&&a.return!=null){a.return()}}finally{if(i){throw o}}}}},{key:"handlePostMessage",value:function e(e){var t=this;var n=e.data,r=n.type,i=n.data;switch(r){case"setResponse":this.rawResponse=i,this.saveResponse(i);break;case"getResponse":{this.postToWindowAndIframes("responseData",this.rawResponse);break}case"getMedia":{var o=this.manifest.media.map(function(e){return e.startsWith("http")||e.startsWith("blob")?e:$(t.baseRefUrl+"/"+e)});this.postToWindowAndIframes("mediaData",o);break}case"setStageHeight":console.log("setStageHeight not implemented");break}}},{key:"validate",value:function e(){return this.rawResponse!==""}},{key:"response",get:function e(){return this.rawResponse},set:function e(e){if(typeof e=="string")this.rawResponse=e,this.saveResponse(e);else throw new Error("Value must be a string")}},{key:"disconnectedCallback",value:function e(){window.removeEventListener("message",this.handlePostMessage),h(f(t.prototype),"disconnectedCallback",this).call(this)}},{key:"render",value:function e(){return rl(en(),this.getAttribute("width"),this.getAttribute("height"),this._errorMessage&&rl(et(),this._errorMessage))}}]);return t}(r3);tF([r({type:String,attribute:"data"})],r7.prototype,"data",2),tF([r({type:String,attribute:"data-base-item"})],r7.prototype,"baseItemUrl",2),tF([r({type:String,attribute:"data-base-ref"})],r7.prototype,"baseRefUrl",2),tF([r({type:String,attribute:"id"})],r7.prototype,"id",2),tF([i()],r7.prototype,"_errorMessage",2),r7=tF([rT("qti-custom-interaction")],r7);var ie=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.disabled=!1;e.countAttempt=null;e.title="end attempt";return e}c(t,[{key:"render",value:function e(){return rl(er(),this.disabled,this.endAttempt,this.title)}},{key:"endAttempt",value:function e(e){this.dispatchEvent(new CustomEvent("end-attempt",{bubbles:!0,composed:!0,detail:{responseIdentifier:this.responseIdentifier,countAttempt:this.countAttempt==="true"}}))}}]);return t}(rP);tF([r({type:String,attribute:"response-identifier"})],ie.prototype,"responseIdentifier",2),tF([r({reflect:!0,type:Boolean})],ie.prototype,"disabled",2),tF([r({type:String,attribute:"count-attempt"})],ie.prototype,"countAttempt",2),tF([r({type:String})],ie.prototype,"title",2),ie=tF([rT("qti-end-attempt-interaction")],ie);var it=nC(ei());var ir=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e._rows=5;e.response=null;e._handleResponseChange=function(){e._internals.setFormValue(e.value),e.validate()};return e}c(t,[{key:"handleclassNamesChange",value:function e(e,t){var n=this;var r=t.split(" "),i=!1;if(r.forEach(function(e){if(e.startsWith("qti-height-lines-")){var t=e.replace("qti-height-lines-","");n._rows=parseInt(t),i=!0}}),!i&&this.expectedLength){var o=Math.ceil(this.expectedLength/50);this._rows=o}}},{key:"value",get:function e(){return this.response||null},set:function e(e){this.response=e||null}},{key:"validate",value:function e(){var e=this.shadowRoot.querySelector("textarea");if(!e)return!1;if(this.patternMask&&this.dataPatternmaskMessage){this._internals.setValidity({}),e.setCustomValidity("");var t=this.patternMask.startsWith("^")&&this.patternMask.endsWith("$")?this.patternMask:"^".concat(this.patternMask,"$"),n=new RegExp(t);e.checkValidity()&&n.test(e.value)||(this._internals.setValidity({customError:!0},this.dataPatternmaskMessage),e.setCustomValidity(this.dataPatternmaskMessage))}else{var r=e.checkValidity();this._internals.setValidity(r?{}:{customError:!1})}return!!this.response&&e.checkValidity()}},{key:"reportValidity",value:function e(){var e=this.shadowRoot.querySelector("textarea");if(!e)return!1;var t=this.validate();return t||e.reportValidity(),t}},{key:"render",value:function e(){var e=this;return rl(eo(),this.responseIdentifier,5e3,function(e){return e.stopImmediatePropagation()},this.textChanged,this.textChanged,function(t){e.reportValidity()},rX(this.placeholderText?this.placeholderText:void 0),this._rows,this.disabled,this.readonly,this.response)}},{key:"textChanged",value:function e(e){if(this.disabled||this.readonly)return;var t=e.target;this.setEmptyAttribute(t.value),this.response!==t.value&&(this.value=t.value,this.saveResponse(t.value))}},{key:"setEmptyAttribute",value:function e(e){this.setAttribute("empty",e===""?"true":"false")}}]);return t}(r3);ir.styles=it,tF([i()],ir.prototype,"_rows",2),tF([r({type:Number,attribute:"expected-length"})],ir.prototype,"expectedLength",2),tF([r({type:String,attribute:"pattern-mask"})],ir.prototype,"patternMask",2),tF([r({type:String,attribute:"placeholder-text"})],ir.prototype,"placeholderText",2),tF([r({type:String,attribute:"data-patternmask-message"})],ir.prototype,"dataPatternmaskMessage",2),tF([r({type:String,attribute:"class"})],ir.prototype,"classNames",2),tF([y("classNames")],ir.prototype,"handleclassNamesChange",1),tF([i()],ir.prototype,"response",2),tF([y("response",{waitUntilFirstUpdate:!0})],ir.prototype,"_handleResponseChange",2),ir=tF([rT("qti-extended-text-interaction")],ir);var ii=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.tabindex=0;return e}c(t,[{key:"connectedCallback",value:function e(){this.setAttribute("slot","drags")}}]);return t}(rP);ii.styles=nC(ea()),tF([r({type:Number,reflect:!0})],ii.prototype,"tabindex",2),ii=tF([rT("qti-gap-img")],ii);var io=nC(es());var ia=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return rl(el())}},{key:"toggleCorrectResponse",value:function e(e,t){var n=this;if(t&&e.correctResponse){var r=[],i=Array.isArray(e.correctResponse)?e.correctResponse:[e.correctResponse];i&&(r=i.map(function(e){var t=e.split(" ");return{text:t[0],gap:t[1]}})),this.querySelectorAll("qti-gap").forEach(function(e){var t,i,o;var a=e.getAttribute("identifier"),s=(t=r.find(function(e){return e.gap===a}))===null||t===void 0?void 0:t.text,l=(i=n.querySelector('qti-gap-text[identifier="'.concat(s,'"]')))===null||i===void 0?void 0:i.textContent.trim();if(s&&l){var u;if(!((u=e.nextElementSibling)===null||u===void 0?void 0:u.classList.contains("correct-option"))){var c=document.createElement("span");c.classList.add("correct-option"),c.textContent=l,c.style.border="1px solid var(--qti-correct)",c.style.borderRadius="4px",c.style.padding="2px 4px",c.style.display="inline-block",e.insertAdjacentElement("afterend",c)}}else((o=e.nextElementSibling)===null||o===void 0?void 0:o.classList.contains("correct-option"))&&e.nextElementSibling.remove()})}else this.querySelectorAll(".correct-option").forEach(function(e){e.remove()})}}]);return t}(r1(r3,"qti-gap-text","qti-gap","slot[part='drags']"));ia.styles=io,ia=tF([rT("qti-gap-match-interaction")],ia);var is={toAttribute:function(e){return e?"true":"false"},fromAttribute:function(e){return e==="true"}};var il=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.tabindex=0;return e}c(t,[{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.setAttribute("slot","drags")}},{key:"render",value:function e(){return rl(eu())}}]);return t}(tI(rP,"qti-gap-text"));il.styles=nC(ec()),tF([r({type:Number,reflect:!0})],il.prototype,"tabindex",2),il=tF([rT("qti-gap-text")],il);var iu=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.tabindex=0;return e}c(t,[{key:"render",value:function e(){return rl(ed())}}]);return t}(rP);iu.styles=nC(eh()),tF([r({type:Number,reflect:!0})],iu.prototype,"tabindex",2),iu=tF([rT("qti-gap")],iu);var ic={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},id=function(e){return function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++){n[r]=arguments[r]}return{_$litDirective$:e,values:n}}},ih=/*#__PURE__*/function(){"use strict";function e(t){s(this,e)}c(e,[{key:"_$AU",get:function e(){return this._$AM._$AU}},{key:"_$AT",value:function e(e,t,n){this._$Ct=e,this._$AM=t,this._$Ci=n}},{key:"_$AS",value:function e(e,t){return this.update(e,t)}},{key:"update",value:function e(e,t){return this.render.apply(this,M(t))}}]);return e}();var ip=rq.I;var iv=function(e){return e.strings===void 0},iy=function(){return document.createComment("")},im=function(e,t,n){var r=e._$AA.parentNode,i=t===void 0?e._$AB:t._$AA;if(n===void 0){var o=r.insertBefore(iy(),i),a=r.insertBefore(iy(),i);n=new ip(o,a,e,e.options)}else{var s=n._$AB.nextSibling,l=n._$AM,u=l!==e;if(u){var c;var d;(c=n._$AQ)===null||c===void 0?void 0:c.call(n,e),n._$AM=e,n._$AP!==void 0&&(d=e._$AU)!==l._$AU&&n._$AP(d)}if(s!==i||u){var h=n._$AA;for(;h!==s;){var f=h.nextSibling;r.insertBefore(h,i),h=f}}}return n},ig=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e;return e._$AI(t,n),e},ib={},i_=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ib;return e._$AH=t},ik=function(e){return e._$AH},iw=function(e){var t;(t=e._$AP)===null||t===void 0?void 0:t.call(e,!1,!0);var n=e._$AA,r=e._$AB.nextSibling;for(;n!==r;){var i=n.nextSibling;n.remove(),n=i}};var iE=function(e,t,n){var r=new Map;for(var i=t;i<=n;i++)r.set(e[i],i);return r},ix=id(/*#__PURE__*/function(e){"use strict";p(t,e);function t(e){s(this,t);var n;if(n=a(this,t,[e]),e.type!==ic.CHILD)throw Error("repeat() can only be used in text expressions");return n}c(t,[{key:"dt",value:function e(e,t,n){var r;n===void 0?n=t:t!==void 0&&(r=t);var i=[],o=[],a=0;var s=true,l=false,u=undefined;try{for(var c=e[Symbol.iterator](),d;!(s=(d=c.next()).done);s=true){var h=d.value;i[a]=r?r(h,a):a,o[a]=n(h,a),a++}}catch(e){l=true;u=e}finally{try{if(!s&&c.return!=null){c.return()}}finally{if(l){throw u}}}return{values:o,keys:i}}},{key:"render",value:function e(e,t,n){return this.dt(e,t,n).values}},{key:"update",value:function e(e,t){var n=C(t,3),r=n[0],i=n[1],o=n[2];var a=ik(e),s=this.dt(r,i,o),l=s.values,u=s.keys;if(!Array.isArray(a))return this.ut=u,l;var c;var d=(c=this.ut)!==null&&c!==void 0?c:this.ut=[],h=[],f,p,v=0,y=a.length-1,m=0,g=l.length-1;for(;v<=y&&m<=g;)if(a[v]===null)v++;else if(a[y]===null)y--;else if(d[v]===u[m])h[m]=ig(a[v],l[m]),v++,m++;else if(d[y]===u[g])h[g]=ig(a[y],l[g]),y--,g--;else if(d[v]===u[g])h[g]=ig(a[v],l[g]),im(e,h[g+1],a[v]),v++,g--;else if(d[y]===u[m])h[m]=ig(a[y],l[m]),im(e,a[v],a[y]),y--,m++;else if(f===void 0&&(f=iE(u,m,g),p=iE(d,v,y)),f.has(d[v]))if(f.has(d[y])){var b=p.get(u[m]),_=b!==void 0?a[b]:null;if(_===null){var k=im(e,a[v]);ig(k,l[m]),h[m]=k}else h[m]=ig(_,l[m]),im(e,a[v],_),a[b]=null;m++}else iw(a[y]),y--;else iw(a[v]),v++;for(;m<=g;){var w=im(e,h[g+1]);ig(w,l[m]),h[m++]=w}for(;v<=y;){var E=a[v++];E!==null&&iw(E)}return this.ut=u,i_(e,h),rd}}]);return t}(ih));var iq=nC(ef());var iA=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t);e.startPoint=null;e.endPoint=null;e._correctLines=[];e._response=[];e.addEventListener("qti-register-hotspot",e.positionHotspotOnRegister);return e}c(t,[{key:"reset",value:function e(){this._response=[],this._correctLines=[]}},{key:"validate",value:function e(){return this.response.length>0}},{key:"response",get:function e(){return this._response},set:function e(e){this._response=e}},{key:"toggleCorrectResponse",value:function e(e,t){if(!t){this._correctLines=[];return}if(!e.correctResponse){console.error("No correct response found for this interaction.");return}var n=Array.isArray(e.correctResponse)?e.correctResponse:[e.correctResponse];this._correctLines=n}},{key:"render",value:function e(){var e=this;var t,n,r,i;return rl(em(),rX((t=this.grImage[0])===null||t===void 0?void 0:t.width),rX((n=this.grImage[0])===null||n===void 0?void 0:n.height),(r=this.grImage[0])===null||r===void 0?void 0:r.width,(i=this.grImage[0])===null||i===void 0?void 0:i.height,ix(this.response,function(e){return e},function(t,n){return ru(ep(),parseInt(e.querySelector("[identifier=".concat(t.split(" ")[0],"]")).style.left),parseInt(e.querySelector("[identifier=".concat(t.split(" ")[0],"]")).style.top),parseInt(e.querySelector("[identifier=".concat(t.split(" ")[1],"]")).style.left),parseInt(e.querySelector("[identifier=".concat(t.split(" ")[1],"]")).style.top),function(t){t.stopPropagation(),e._response=e._response.filter(function(e,t){return t!==n}),e.saveResponse(e.response)})}),ix(this._correctLines,function(e){return e},function(t,n){return ru(ev(),parseInt(e.querySelector("[identifier=".concat(t.split(" ")[0],"]")).style.left),parseInt(e.querySelector("[identifier=".concat(t.split(" ")[0],"]")).style.top),parseInt(e.querySelector("[identifier=".concat(t.split(" ")[1],"]")).style.left),parseInt(e.querySelector("[identifier=".concat(t.split(" ")[1],"]")).style.top))}),this.startPoint&&ru(ey(),this.startCoord.x,this.startCoord.y,this.mouseCoord.x,this.mouseCoord.y))}},{key:"positionHotspotOnRegister",value:function e(e){var t=this.querySelector("img"),n=e.target,r=n.getAttribute("coords"),i=n.getAttribute("shape"),o=r.split(",").map(function(e){return parseInt(e)});tM(i,o,t,n)}},{key:"firstUpdated",value:function e(){var e=this;this.hotspots=this.querySelectorAll("qti-associable-hotspot"),this.addEventListener("mousemove",function(t){var n=e.grImage[0];if(!n)return;var r=n.getBoundingClientRect();e.mouseCoord={x:t.clientX-r.left,y:t.clientY-r.top}}),this.hotspots.forEach(function(t){t.style.left=t.getAttribute("coords").split(",")[0]+"px",t.style.top=t.getAttribute("coords").split(",")[1]+"px",t.addEventListener("click",function(t){e.startPoint?e.endPoint||(e.endPoint=t.target,e._response=M(e.response).concat(["".concat(e.startPoint.getAttribute("identifier")," ").concat(e.endPoint.getAttribute("identifier"))]),e.saveResponse(e.response),e.startPoint=null,e.endPoint=null):(e.startPoint=t.target,e.startCoord={x:parseInt(e.startPoint.getAttribute("coords").split(",")[0]),y:parseInt(e.startPoint.getAttribute("coords").split(",")[1])})})})}},{key:"disconnectedCallback",value:function e(){h(f(t.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("qti-register-hotspot",this.positionHotspotOnRegister)}}]);return t}(r3);iA.styles=iq,tF([i()],iA.prototype,"_correctLines",2),tF([i()],iA.prototype,"startCoord",2),tF([i()],iA.prototype,"mouseCoord",2),tF([u({selector:"img"})],iA.prototype,"grImage",2),tF([i()],iA.prototype,"_response",2),iA=tF([rT("qti-graphic-associate-interaction")],iA);var iS=nC(eg());var iC=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return rl(eb())}},{key:"positionHotspotOnRegister",value:function e(e){var t=e.target,n=t.getAttribute("coords"),r=t.getAttribute("shape"),i=n.split(",").map(function(e){return parseInt(e)});switch(r){case"circle":{var o=C(i,3),a=o[0],s=o[1],l=o[2];t.style.left=a-l+"px",t.style.top=s-l+"px",t.style.width=t.style.height=2*l+"px"}break;case"rect":{var u=C(i,4),c=u[0],d=u[1],h=u[2],f=u[3];t.style.left=c+"px",t.style.top=d+"px",t.style.width=h-c+"px",t.style.height=f-d+"px"}break;default:break}}},{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.addEventListener("qti-register-hotspot",this.positionHotspotOnRegister)}},{key:"disconnectedCallback",value:function e(){h(f(t.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("qti-register-hotspot",this.positionHotspotOnRegister)}}]);return t}(r1(r3,"qti-gap-img, qti-gap-text","qti-associable-hotspot","slot[part='drags']"));iC.styles=iS,iC=tF([rT("qti-graphic-gap-match-interaction")],iC);var iR=nC(e_());var iP=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e._choiceElements=[];return e}c(t,[{key:"render",value:function e(){return rl(ek())}},{key:"setHotspotOrder",value:function e(e){var t=e.detail,n=t.identifier,r=this._choiceElements.find(function(e){return e.getAttribute("identifier")===n});if(!r)return;var i=this._choiceElements.length;if(!this.choiceOrdering){if(this.choiceOrdering=!0,r.order==null){var o=this._choiceElements.filter(function(e){return e.order!=null}).length;if(o>=i){this.choiceOrdering=!1;return}r.order=o+1}else{var a=r.order;r.order=null,this._choiceElements.forEach(function(e){e.order!=null&&e.order>a&&e.order--})}this.choiceOrdering=!1}}},{key:"toggleCorrectResponse",value:function e(e,t){var n;var r=this._choiceElements;var i=true,o=false,a=undefined;try{var s=function(){var r=u.value;if(t&&((n=e.correctResponse)===null||n===void 0?void 0:n.length)>0&&Array.isArray(e.correctResponse)){var i=e.correctResponse.findIndex(function(e){return e===r.identifier});i>=0?r.orderCorrect=i+1:r.orderCorrect=null}else r.orderCorrect=null};for(var l=r[Symbol.iterator](),u;!(i=(u=l.next()).done);i=true)s()}catch(e){o=true;a=e}finally{try{if(!i&&l.return!=null){l.return()}}finally{if(o){throw a}}}}},{key:"positionHotspotOnRegister",value:function e(e){var t=this.querySelector("img"),n=e.target,r=n.getAttribute("coords"),i=n.getAttribute("shape"),o=r.split(",").map(function(e){return parseInt(e)});tM(i,o,t,n)}},{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.addEventListener("activate-qti-hotspot-choice",this.setHotspotOrder),this.addEventListener("register-qti-hotspot-choice",this.positionHotspotOnRegister)}},{key:"disconnectedCallback",value:function e(){h(f(t.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("activate-qti-hotspot-choice",this.setHotspotOrder),this.removeEventListener("register-qti-hotspot-choice",this.positionHotspotOnRegister)}}]);return t}(r4(r3,"qti-hotspot-choice"));iP.styles=iR,iP=tF([rT("qti-graphic-order-interaction")],iP);var iI=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}return t}(tI(rP,"qti-hotspot-choice"));iI.styles=nC(ew()),tF([r({attribute:"aria-ordervalue",type:Number,reflect:!0})],iI.prototype,"order",2),tF([r({attribute:"aria-ordercorrectvalue",type:Number,reflect:!0})],iI.prototype,"orderCorrect",2),iI=tF([rT("qti-hotspot-choice")],iI);var iM=nC(eE());var iT=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return rl(ex())}},{key:"positionHotspotOnRegister",value:function e(e){var t=this.querySelector("img"),n=e.target,r=n.getAttribute("coords"),i=n.getAttribute("shape"),o=r.split(",").map(function(e){return parseInt(e)});tM(i,o,t,n)}},{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.addEventListener("register-qti-hotspot-choice",this.positionHotspotOnRegister)}},{key:"disconnectedCallback",value:function e(){h(f(t.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("unregister-qti-hotspot-choice",this.positionHotspotOnRegister)}}]);return t}(r4(r3,"qti-hotspot-choice"));iT.styles=iM,iT=tF([rT("qti-hotspot-interaction")],iT);var iO=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.render=function(){return rl(eq())};return e}return t}(r4(r3,"qti-hottext"));iO=tF([rT("qti-hottext-interaction")],iO);var iU=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return rl(eA())}}]);return t}(tI(rP,"qti-hottext"));iU.styles=nC(eS()),iU=tF([rT("qti-hottext")],iU);var i$=/*#__PURE__*/function(e){"use strict";p(t,e);function t(e){s(this,t);var n;if(n=a(this,t,[e]),n.it=rh,e.type!==ic.CHILD)throw Error(n.constructor.directiveName+"() can only be used in child bindings");return n}c(t,[{key:"render",value:function e(e){if(e===rh||e==null)return this._t=void 0,this.it=e;if(e===rd)return e;if(typeof e!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(e===this.it)return this._t;this.it=e;var t=[e];return t.raw=t,this._t={_$litType$:this.constructor.resultType,strings:t,values:[]}}}]);return t}(ih);i$.directiveName="unsafeHTML",i$.resultType=1;var iL=id(i$);var iN=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.options=[];e.correctOption="";e.dataPrompt="select";return e}c(t,[{key:"render",value:function e(){return rl(eP(),this.choiceSelected,this.disabled,this.readonly,this.options.map(function(e){return rl(eR(),e.value,e.selected,iL(e.textContent))}),iL(this.correctOption))}},{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.addEventListener("on-dropdown-selected",this.choiceSelected);var e=Array.from(this.querySelectorAll("qti-inline-choice"));this.options=[{textContent:this.dataPrompt,value:"",selected:!1}].concat(M(e.map(function(e){return{textContent:e.innerHTML,value:e.getAttribute("identifier"),selected:!1}})))}},{key:"disconnectedCallback",value:function e(){this.removeEventListener("on-dropdown-selected",this.choiceSelected)}},{key:"validate",value:function e(){var e=this.options.find(function(e){return e.selected});return e?e.value!=="":!1}},{key:"reset",value:function e(){this.options=this.options.map(function(e,t){return E(k({},e),{selected:t===0})})}},{key:"response",get:function e(){var e;return((e=this.options.find(function(e){return e.selected}))===null||e===void 0?void 0:e.value)||null},set:function e(e){this.options=this.options.map(function(t){return e&&e===t.value&&(t.selected=!0),t})}},{key:"toggleCorrectResponse",value:function e(e,t){var n=this;var r;if(this.correctResponse=t&&((r=e.correctResponse)===null||r===void 0?void 0:r.toString()),!this.correctResponse){this.correctOption="";return}this.correctOption='<span part="correct-option" style="border:1px solid var(--qti-correct); border-radius:4px; padding: 2px 4px; margin: 4px; display:inline-block">'.concat(this.options.find(function(e){return n.correctResponse===e.value}).textContent,"</span>")}},{key:"choiceSelected",value:function e(e){var t=e.target.value;this.options=this.options.map(function(e){return E(k({},e),{selected:e.value===t})}),this.saveResponse(t)}}],[{key:"styles",get:function e(){return[nC(eC())]}}]);return t}(r3);iN.inputWidthClass=["","qti-input-width-2","qti-input-width-1","qti-input-width-3","qti-input-width-4","qti-input-width-6","qti-input-width-10","qti-input-width-15","qti-input-width-20","qti-input-width-72"],tF([i()],iN.prototype,"options",2),tF([i()],iN.prototype,"correctOption",2),tF([r({attribute:"data-prompt",type:String})],iN.prototype,"dataPrompt",2),iN=tF([rT("qti-inline-choice-interaction")],iN);var iD=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.addEventListener("click",this._onSelectInlineChoice),this.dispatchEvent(new CustomEvent("qti-inline-choice-register",{bubbles:!0,composed:!0,cancelable:!1}))}},{key:"disconnectedCallback",value:function e(){this.removeEventListener("click",this._onSelectInlineChoice)}},{key:"render",value:function e(){return rl(eM())}},{key:"_onSelectInlineChoice",value:function e(){this.dispatchEvent(new CustomEvent("qti-inline-choice-select",{bubbles:!0,cancelable:!1,composed:!0,detail:{identifier:this.identifier}}))}}],[{key:"styles",get:function e(){return[nC(eI())]}}]);return t}(rP);tF([r({type:String})],iD.prototype,"identifier",2),iD=tF([rT("qti-inline-choice")],iD);var iV=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.matchMin=0;e.matchMax=1;e.fixed=!1;return e}c(t,[{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.setAttribute("slot","qti-simple-associable-choice"),this.setAttribute("part","qti-simple-associable-choice")}},{key:"render",value:function e(){return rl(eT())}}]);return t}(tI(rP,"qti-simple-associable-choice"));iV.styles=nC(eO()),tF([r({type:Number,attribute:"match-min"})],iV.prototype,"matchMin",2),tF([r({type:Number,attribute:"match-max"})],iV.prototype,"matchMax",2),tF([r({type:String,attribute:"fixed",converter:{fromAttribute:function(e){return e==="true"},toAttribute:function(e){return String(e)}}})],iV.prototype,"fixed",2),iV=tF([rT("qti-simple-associable-choice")],iV);var ij=nC(eU());var iH=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.lastCheckedRadio=null;e.class="";e._response=[];e.responseIdentifier="";e.correctOptions=[];e.handleRadioClick=function(t){var n=t.target;e.lastCheckedRadio===n?(n.checked=!1,e.lastCheckedRadio=null,e.handleRadioChange(t)):e.lastCheckedRadio=n};e.handleRadioChange=function(t){var n=t.target,r=n.value,i=n.name,o=n.type;n.checked?(e.response?e.response.indexOf(r)===-1&&(o==="radio"&&(e.response=e.response.filter(function(e){return e.indexOf(i)===-1})),e.response=M(e.response).concat([r])):e.response=[r],e.lastCheckedRadio=n):(e.response=e.response.filter(function(e){return e!==r}),e.lastCheckedRadio=null),e.requestUpdate(),e.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,detail:{responseIdentifier:e.responseIdentifier,response:Array.isArray(e.response)?M(e.response):e.response}}))};return e}c(t,[{key:"response",get:function e(){return this.classList.contains("qti-match-tabular")?this._response:h(f(t.prototype),"response",this)},set:function e(e){this.classList.contains("qti-match-tabular")?this._response=e:A(f(t.prototype),"response",e,this,true)}},{key:"connectedCallback",value:function e(){var e=this;var n=this,r=function(){return h(f(t.prototype),"connectedCallback",e)};return o(function(){return L(this,function(e){r().call(n),n.rows=Array.from(n.querySelectorAll("qti-simple-match-set:first-of-type qti-simple-associable-choice")),n.cols=Array.from(n.querySelectorAll("qti-simple-match-set:last-of-type qti-simple-associable-choice")),n.response=[];return[2]})})()}},{key:"validate",value:function e(){var e;return this.class.split(" ").includes("qti-match-tabular")?((e=this.response)===null||e===void 0?void 0:e.length)===this.rows.length:h(f(t.prototype),"validate",this).call(this)}},{key:"toggleCorrectResponse",value:function e(e,t){var n=this;if(e.correctResponse){var r=(Array.isArray(e.correctResponse)?e.correctResponse:[e.correctResponse]).map(function(e){var t=C(e.split(" "),2),n=t[0],r=t[1];return{text:n,gap:r}});this.class.split(" ").includes("qti-match-tabular")?t?this.correctOptions=r:this.correctOptions=[]:t&&(this.querySelectorAll(".correct-option").forEach(function(e){return e.remove()}),this.cols.forEach(function(e){var t=e.getAttribute("identifier"),i=r.find(function(e){return e.gap===t});if(i===null||i===void 0?void 0:i.text){var o,a,s;var l=(a=n.querySelector('qti-simple-associable-choice[identifier="'.concat(i.text,'"]')))===null||a===void 0?void 0:(o=a.textContent)===null||o===void 0?void 0:o.trim();if(l&&!((s=e.previousElementSibling)===null||s===void 0?void 0:s.classList.contains("correct-option"))){var u=document.createElement("span");u.classList.add("correct-option"),u.textContent=l,u.style.border="1px solid var(--qti-correct)",u.style.borderRadius="4px",u.style.padding="2px 4px",u.style.display="inline-block",e.insertAdjacentElement("beforebegin",u)}}}))}else this.querySelectorAll(".correct-option").forEach(function(e){return e.remove()})}},{key:"render",value:function e(){var e=this;var t=this.class.split(" ").includes("qti-match-tabular");return rl(eV(),t,t?rl(eD(),this.cols.map(function(e){return rl(e$(),iL(e.innerHTML))}),this.rows.map(function(t){return rl(eN(),iL(t.innerHTML),e.cols.map(function(n){var r=t.getAttribute("identifier"),i=n.getAttribute("identifier"),o="".concat(r," ").concat(i),a=e.response.filter(function(e){return e.split(" ")[0]===r}).length||0,s=e.response.includes(o),l="rb ".concat(s?"rb-checked":""," ").concat(e.correctOptions.find(function(e){return e.text===r&&e.gap===i})?"rb-correct":""),u=e.correctOptions.length>0?!0:t.matchMax===1?!1:t.matchMax!==0&&a>=t.matchMax&&!s;return rl(eL(),t.matchMax===1?"radio":"checkbox",l,r,o,u,function(t){return e.handleRadioChange(t)},function(n){return t.matchMax===1?e.handleRadioClick(n):null})}))})):rh)}}]);return t}(r1(r3,"qti-simple-match-set:first-of-type qti-simple-associable-choice, qti-simple-match-set:last-of-type > qti-simple-associable-choice > qti-simple-associable-choice","qti-simple-match-set:last-of-type > qti-simple-associable-choice","qti-simple-match-set:first-of-type"));iH.styles=ij,tF([r({type:String})],iH.prototype,"class",2),tF([i()],iH.prototype,"_response",2),tF([r({type:String,attribute:"response-identifier"})],iH.prototype,"responseIdentifier",2),tF([i()],iH.prototype,"correctOptions",2),iH=tF([rT("qti-match-interaction")],iH);var iz=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t);e._value=null;return e}c(t,[{key:"reset",value:function e(){}},{key:"validate",value:function e(){return!0}},{key:"response",get:function e(){return this._value?this._value.toString():null},set:function e(e){if(e)if(!isNaN(parseInt(e===null||e===void 0?void 0:e.toString())))this._value=parseInt(e.toString());else throw new Error("Value must be a number ".concat(e))}},{key:"render",value:function e(){return rl(ej())}},{key:"connectedCallback",value:function e(){var e=this;h(f(t.prototype),"connectedCallback",this).call(this);var n=this.querySelector("audio")||this.querySelector("video")||this.querySelector("object");n&&n.addEventListener("ended",function(){e._value++,e.saveResponse(e.value)})}}],[{key:"properties",get:function e(){return E(k({},r3.properties),{step:{type:Number,attribute:"step",default:10}})}}]);return t}(r3);iz.styles=[nC(eH())],iz=tF([rT("qti-media-interaction")],iz);var iQ=nC(ez());var iF=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.nrChoices=0;e.correctResponses=[];e.showCorrectResponses=!1;return e}c(t,[{key:"render",value:function e(){var e=Array.from(this.querySelectorAll("qti-simple-choice"));return this.nrChoices<e.length&&(this.nrChoices=e.length),rl(eF(),M(Array(this.nrChoices)).map(function(e,t){return rl(eQ(),t)}))}},{key:"toggleCorrectResponse",value:function e(e,t){var n=this;if(this.shadowRoot.querySelectorAll(".correct-option").forEach(function(e){return e.remove()}),t&&e.correctResponse){var r=(Array.isArray(e.correctResponse)?e.correctResponse:[e.correctResponse]).map(function(e){return e.split(" ")[0]}),i=new Set;this.querySelectorAll("qti-simple-choice").forEach(function(e,t){var o;var a=e.getAttribute("identifier");if(!a||!r.includes(a)||i.has(a))return;i.add(a);var s=(o=e.textContent)===null||o===void 0?void 0:o.trim();if(!s)return;var l=n.shadowRoot.querySelector('drop-list[identifier="droplist'.concat(t,'"]'));if(!l)return;var u=document.createElement("span");u.classList.add("correct-option"),u.textContent=s,u.style.border="1px solid var(--qti-correct)",u.style.borderRadius="4px",u.style.padding="2px 4px",u.style.display="inline-block",u.style.marginTop="4px",l.insertAdjacentElement("afterend",u)})}}},{key:"getValue",value:function e(e){return(e===null||e===void 0?void 0:e.map(function(e,t){return"".concat(e," droplist").concat(t)}))||[]}},{key:"getResponse",value:function e(){return Array.from(this.shadowRoot.querySelectorAll("drop-list")).map(function(e){var t=e.querySelectorAll('[qti-draggable="true"]');return M(Array.from(t).map(function(e){return e.getAttribute("identifier")})).join(" ")})}},{key:"firstUpdated",value:function e(e){var n=this;var r=this,i=function(){return h(f(t.prototype),"firstUpdated",n)};return o(function(){return L(this,function(t){i().call(r,e),r.childrenMap=Array.from(r.querySelectorAll("qti-simple-choice")),r.childrenMap.forEach(function(e){return e.setAttribute("part","qti-simple-choice")});return[2]})})()}}]);return t}(r1(r3,"qti-simple-choice","drop-list","slot[part='drags']"));iF.styles=iQ,tF([i()],iF.prototype,"nrChoices",2),tF([i()],iF.prototype,"correctResponses",2),tF([i()],iF.prototype,"showCorrectResponses",2),tF([r({type:String})],iF.prototype,"orientation",2),iF=tF([rT("qti-order-interaction")],iF);var iB=nC(eB());var iW=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;var n;e=a(this,t,arguments),n=e;e._iframeLoaded=!1;e._pendingMessages=[];e._responseCheckInterval=null;e._lastResponseStr="";e.requirePathsJson="";e.requireShimJson="";e.requireJsUrl="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js";e.baseUrl="";e.useIframe=!1;e.useDefaultShims=!1;e.useDefaultPaths=!1;e._errorMessage=null;e.response=[];e._parsedRequirePaths=null;e._parsedRequireShim=null;e.handleIframeMessage=function(t){var n=t.data;if(!(!n||n.source!=="qti-pci-iframe"))switch(n.method){case"iframeReady":e.initializeInteraction(),e.processPendingMessages(),e.dispatchEvent(new CustomEvent("qti-portable-custom-interaction-loaded",{bubbles:!0}));break;case"resize":typeof n.height=="number"&&e.iframe&&(e.iframe.style.height="".concat(n.height,"px"),e.iframe.style.width="".concat(n.width,"px"));break;case"interactionChanged":{var r=e.convertQtiVariableJSON(n.params.value);console.log("Interaction changed:",r),e.response=r,e.validate(),e.saveResponse(e.response);break}case"error":e._errorMessage=n.params.message,console.error("Error from PCI iframe:",n.params.message);break}};e._onInteractionChanged=function(t){t.stopPropagation();var n=e.convertQtiVariableJSON(t.detail.value);e.response=n,e.saveResponse(n)};e.loadConfig=/*#__PURE__*/function(){var e=o(function(e,t){var r,i,o,a;return L(this,function(o){switch(o.label){case 0:e=n.removeDoubleSlashes(e);o.label=1;case 1:o.trys.push([1,5,,6]);return[4,fetch(e)];case 2:r=o.sent();if(!r.ok)return[3,4];return[4,r.json()];case 3:i=o.sent();for(var s in i.paths)t&&(i.paths[s]=n.getResolvablePath(i.paths[s],t));return[2,i];case 4:return[3,6];case 5:a=o.sent();return[3,6];case 6:return[2,null]}})});return function(t,n){return e.apply(this,arguments)}}();e.getResolvablePathString=function(t,n){return t=t.replace(/\.js$/,""),(t===null||t===void 0?void 0:t.toLocaleLowerCase().startsWith("http"))||!n?t:e.removeDoubleSlashes("".concat(n,"/").concat(t))};e.getResolvablePath=function(t,n){return Array.isArray(t)?t.map(function(t){return e.getResolvablePathString(t,n)}):e.getResolvablePathString(t,n)};e._previousState=null;return e}c(t,[{key:"getRequirePaths",value:function e(){var e=this;if(this._parsedRequirePaths===null&&this.requirePathsJson)try{var t=JSON.parse(this.requirePathsJson);Array.isArray(t)?(this._parsedRequirePaths={},t.forEach(function(t){t.name&&t.value&&(e._parsedRequirePaths[t.name]=t.value)})):this._parsedRequirePaths=t}catch(e){console.error("Error parsing require paths JSON:",e),this._errorMessage="Error parsing require paths JSON: ".concat(e.message),this._parsedRequirePaths={}}return this._parsedRequirePaths||{}}},{key:"getRequireShim",value:function e(){if(this._parsedRequireShim===null&&this.requireShimJson)try{this._parsedRequireShim=JSON.parse(this.requireShimJson)}catch(e){console.error("Error parsing require shim JSON:",e),this._errorMessage="Error parsing require shim JSON: ".concat(e.message),this._parsedRequireShim={}}return this._parsedRequireShim||{}}},{key:"getDefaultRequirePaths",value:function e(){return{"taoQtiItem/portableLib/OAT/util/event":"/assets/pci-scripts/portableLib/OAT/util/event","taoQtiItem/portableLib/OAT/util/html":"/assets/pci-scripts/portableLib/OAT/util/html","taoQtiItem/portableLib/OAT/util/EventMgr":"/assets/pci-scripts/portableLib/OAT/util/EventMgr","taoQtiItem/portableLib/OAT/util/math":"/assets/pci-scripts/portableLib/OAT/util/math","taoQtiItem/portableLib/OAT/util/xml":"/assets/pci-scripts/portableLib/OAT/util/xml","taoQtiItem/portableLib/OAT/util/tooltip":"/assets/pci-scripts/portableLib/OAT/util/tooltip","taoQtiItem/portableLib/jquery_2_1_1":"/assets/pci-scripts/portableLib/jquery_2_1_1","taoQtiItem/pci-scripts/portableLib/jquery.qtip":"/assets/portableLib/jquery.qtip","taoQtiItem/pci-scripts/portableLib/lodash":"/assets/pci-scripts/portableLib/lodash","taoQtiItem/pci-scripts/portableLib/raphael":"/assets/pci-scripts/portableLib/raphael","IMSGlobal/jquery_2_1_1":"/assets/pci-scripts/IMSGlobal/jquery_2_1_1","OAT/util/event":"/assets/pci-scripts/legacyPortableSharedLib/OAT/util/event","OAT/util/html":"/assets/pci-scripts/legacyPortableSharedLib/OAT/util/html","OAT/util/EventMgr":"/assets/pci-scripts/legacyPortableSharedLib/OAT/util/EventMgr","OAT/util/math":"/assets/pci-scripts/legacyPortableSharedLib/OAT/util/math","OAT/util/xml":"/assets/pci-scripts/legacyPortableSharedLib/OAT/util/xml","OAT/util/tooltip":"/assets/pci-scripts/legacyPortableSharedLib/OAT/util/tooltip","OAT/lodash":"/assets/pci-scripts/legacyPortableSharedLib/lodash",mathJax:"/assets/pci-scripts/mathjax/mathJax",css:"/assets/pci-scripts/css/css"}}},{key:"getDefaultRequireShim",value:function e(){return{mathJax:{exports:"MathJax",init:function e(){var e=window;if(e.MathJax)return e.MathJax.Hub.Config({showMathMenu:!1,showMathMenuMSIE:!1,menuSettings:{inTabOrder:!1}}),e.MathJax.Hub.Startup.MenuZoom=function(){},e.MathJax.Hub.Startup.onload(),e.MathJax}}}}},{key:"getFinalRequirePaths",value:function e(){var e=this.getDefaultRequirePaths(),t=this.getRequirePaths();return this.useDefaultPaths?k({},e,t):t}},{key:"getFinalRequireShim",value:function e(){var e=this.getRequireShim(),t=this.getDefaultRequireShim();return this.useDefaultShims?k({},t,e):e}},{key:"convertQtiVariableJSON",value:function e(e){for(var t in e)if(e.hasOwnProperty(t)){var n=e[t];if(n){for(var r in n)if(n.hasOwnProperty(r)){var i=n[r];if(Array.isArray(i))return i.map(String);if(i!=null)return String(i)}}}return null}},{key:"addHyphenatedKeys",value:function e(e){var t=k({},e);for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=n.replace(/[A-Z]/g,function(e){return"-".concat(e.toLowerCase())});t[r]=e[n]}return t}},{key:"responseVariablesToQtiVariableJSON",value:function e(e,t,n){if(t!=="single"){var r={list:{}};return r.list[n]=e,r}else{var i={base:{}};return i.base[n]=e,i}}},{key:"validate",value:function e(){return!0}},{key:"value",get:function e(){var e,t;if(this.useIframe)return((e=this._value)===null||e===void 0?void 0:e.toString())||null;{var n;var r=(n=this.pci)===null||n===void 0?void 0:n.getResponse();if(r){var i=this.convertQtiVariableJSON(r);return Array.isArray(i)?i.join(","):i}}return Array.isArray(this._value)?this._value.join(","):((t=this._value)===null||t===void 0?void 0:t.toString())||null},set:function e(e){e===null?this._value=[]:this._value=Array.isArray(e)?e:e.split(",")}},{key:"boundTo",get:function e(){var e=this;var t,n;var r={};if((n=this.context)===null||n===void 0?void 0:(t=n.variables)===null||t===void 0?void 0:t.find(function(t){return t.identifier===e.responseIdentifier})){var i,o,a,s,l,u,c,d,h;var f=((a=this.context)===null||a===void 0?void 0:(o=a.variables)===null||o===void 0?void 0:(i=o.find(function(t){return t.identifier===e.responseIdentifier}))===null||i===void 0?void 0:i.cardinality)||"single",p=((u=this.context)===null||u===void 0?void 0:(l=u.variables)===null||l===void 0?void 0:(s=l.find(function(t){return t.identifier===e.responseIdentifier}))===null||s===void 0?void 0:s.baseType)||"string",v=((h=this.context)===null||h===void 0?void 0:(d=h.variables)===null||d===void 0?void 0:(c=d.find(function(t){return t.identifier===e.responseIdentifier}))===null||c===void 0?void 0:c.value)||null,y=this.responseVariablesToQtiVariableJSON(v,f,p);r[this.responseIdentifier]=y}return r},set:function e(e){if(!e||!e[this.responseIdentifier])return;var t=this.convertQtiVariableJSON(e[this.responseIdentifier]);this._value=t,this.saveResponse(t)}},{key:"register",value:function e(e){var t=this;this.pci=e,this.dom=this.querySelector("qti-interaction-markup"),this.dom||(this.dom=document.createElement("div"),this.appendChild(this.dom)),this.dom.classList.add("qti-customInteraction"),this.dom.style.width="100%",this.dom.style.minHeight="50px",this.dom.style.display="block",this.dom.addEventListener("qti-interaction-changed",this._onInteractionChanged),this.querySelector("properties")&&(this.querySelector("properties").style.display="none");var n={properties:this.addHyphenatedKeys(k({},this.dataset)),onready:function(e){if(t.pci=e,t.pci&&typeof t.pci.getResponse=="function")try{var n=t.pci.getResponse();t._lastResponseStr=JSON.stringify(n)}catch(e){console.error("Error getting initial response:",e)}try{var r=new ResizeObserver(function(e){var n=true,r=false,i=undefined;try{for(var o=e[Symbol.iterator](),a;!(n=(a=o.next()).done);n=true){var s=a.value;s.contentRect&&s.contentRect.height>0&&(t.style.height="".concat(s.contentRect.height+20,"px"))}}catch(e){r=true;i=e}finally{try{if(!n&&o.return!=null){o.return()}}finally{if(r){throw i}}}});r.observe(t.dom),t._resizeObserver=r}catch(e){console.warn("ResizeObserver not supported, falling back to static sizing")}},ondone:function(e,n,r,i){t.response=t.convertQtiVariableJSON(n),t.saveResponse(t.response),t._lastResponseStr=JSON.stringify(n)},responseIdentifier:this.responseIdentifier,boundTo:this.boundTo};if(e.getInstance)e.getInstance(this.dom,n,void 0);else{var r=function(e){var t={},n=function(e){var t={};Object.entries(e.dataset).forEach(function(e){var n=C(e,2),r=n[0],i=n[1];r.includes("__")||(t[r]=i)});var n={};return Object.entries(e.dataset).forEach(function(e){var t=C(e,2),r=t[0],i=t[1];var o=r.split("__");if(o.length>1){var a=C(o,3),s=a[0],l=a[1],u=a[2];n[s]=n[s]||{},n[s][l]=n[s][l]||{},n[s][l][u]=i}}),Object.entries(n).forEach(function(e){var n=C(e,2),r=n[0],i=n[1];t[r]=Object.values(i)}),t}(e);for(var r in n)if(Object.prototype.hasOwnProperty.call(n,r)){var i=n[r];r==="config"?t[r]=JSON.parse(i):t[r]=i}return t}(this);e.initialize(this.customInteractionTypeIdentifier,this.dom.firstElementChild||this.dom,Object.keys(r).length?r:null)}}},{key:"disconnectedCallback",value:function e(){if(h(f(t.prototype),"disconnectedCallback",this).call(this),this.useIframe)window.removeEventListener("message",this.handleIframeMessage);else{this.stopResponseCheck(),this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null),requirejs.undef(this.customInteractionTypeIdentifier);var e=requirejs.s.contexts;delete e[this.customInteractionTypeIdentifier],this.removeEventListener("qti-interaction-changed",this._onInteractionChanged)}}},{key:"sendMessageToIframe",value:function e(e,t){if(!this._iframeLoaded){this._pendingMessages.push({method:e,params:t});return}this.iframe.contentWindow.postMessage({source:"qti-portable-custom-interaction",method:e,params:t},"*")}},{key:"processPendingMessages",value:function e(){var e=this;this._pendingMessages.length&&(this._pendingMessages.forEach(function(t){e.sendMessageToIframe(t.method,t.params)}),this._pendingMessages=[])}},{key:"createIframe",value:function e(){var e=this;this.iframe=document.createElement("iframe"),this.iframe.id="pci-iframe-".concat(this.responseIdentifier),this.iframe.setAttribute("title","QTI PCI Iframe"),this.iframe.setAttribute("aria-label","QTI PCI Iframe"),this.iframe.setAttribute("aria-hidden","false"),this.iframe.setAttribute("role","application"),this.iframe.style.width="100%",this.iframe.style.border="none",this.iframe.style.display="block",this.iframe.onload=function(){e._iframeLoaded=!0,e.addMarkupToIframe(),e.sendIframeInitData()};var t="qti-pci-".concat(this.responseIdentifier,"-").concat(Date.now());this.iframe.name=t;var n=this.generateIframeContent(),r=encodeURIComponent(n);this.iframe.src="data:text/html;charset=utf-8,".concat(r),this.appendChild(this.iframe)}},{key:"sendIframeInitData",value:function e(){var e={module:this.module,customInteractionTypeIdentifier:this.customInteractionTypeIdentifier,baseUrl:this.baseUrl?this.baseUrl.startsWith("http")||this.baseUrl.startsWith("blob")||this.baseUrl.startsWith("base64")?this.baseUrl:$("".concat(window.location.origin).concat(this.baseUrl)):window.location.origin,responseIdentifier:this.responseIdentifier,dataAttributes:k({},this.dataset),interactionModules:this.getInteractionModules(),boundTo:this.boundTo};this.sendMessageToIframe("initialize",e)}},{key:"getInteractionModules",value:function e(){var e=[],t=this.querySelector("qti-interaction-modules");if(t){var n=t.querySelectorAll("qti-interaction-module");var r=true,i=false,o=undefined;try{for(var a=n[Symbol.iterator](),s;!(r=(s=a.next()).done);r=true){var l=s.value;e.push({id:l.getAttribute("id"),primaryPath:l.getAttribute("primary-path"),fallbackPath:l.getAttribute("fallback-path")})}}catch(e){i=true;o=e}finally{try{if(!r&&a.return!=null){a.return()}}finally{if(i){throw o}}}}return e}},{key:"addMarkupToIframe",value:function e(){var e=this.querySelector("qti-interaction-markup");e&&this.sendMessageToIframe("setMarkup",e.innerHTML);var t=this.querySelector("properties");t&&this.sendMessageToIframe("setProperties",t.innerHTML)}},{key:"initializeInteraction",value:function e(){}},{key:"connectedCallback",value:function e(){var e=this;if(h(f(t.prototype),"connectedCallback",this).call(this),this.useIframe)window.addEventListener("message",this.handleIframeMessage),this.createIframe();else{define("qtiCustomInteractionContext",function(){return{register:function(t){e.register(t)},notifyReady:function(){}}});var n=this.buildRequireConfig();if(n){var r=requirejs.config(n);requirejs.onError=function(e){throw console.error("RequireJS error:",e),e.requireType==="timeout"&&console.error("Modules that timed out:",e.requireModules),e},r(["require"],function(t){try{t([e.module],function(){},function(e){console.error("Error loading module:",e)})}catch(e){console.error("Error in require call:",e)}}),this.startResponseCheck()}}}},{key:"startResponseCheck",value:function e(){var e=this;this.stopResponseCheck(),this._responseCheckInterval=window.setInterval(function(){if(e.pci&&typeof e.pci.getResponse=="function")try{var t=e.pci.getResponse(),n=JSON.stringify(t);if(n!==e._lastResponseStr){e._lastResponseStr=n;var r=e.convertQtiVariableJSON(t);e.saveResponse(r)}}catch(e){console.error("Error checking for response changes:",e)}},500)}},{key:"stopResponseCheck",value:function e(){this._responseCheckInterval!==null&&(window.clearInterval(this._responseCheckInterval),this._responseCheckInterval=null)}},{key:"buildRequireConfig",value:function e(){var e={context:this.customInteractionTypeIdentifier,catchError:!0,paths:k({},this.getFinalRequirePaths(),window.requirePaths||{}),shim:k({},this.getFinalRequireShim(),window.requireShim||{})};if(!globalThis.require)return this._errorMessage="RequireJS not found. Please load it via CDN: https://cdnjs.com/libraries/require.js",null;var t=this.getAttribute("data-base-url"),n=this.querySelector("qti-interaction-modules");if(n){var r=n.querySelectorAll("qti-interaction-module");var i=true,o=false,a=undefined;try{for(var s=r[Symbol.iterator](),l;!(i=(l=s.next()).done);i=true){var u=l.value;var c=u.getAttribute("id"),d=u.getAttribute("primary-path"),h=u.getAttribute("fallback-path");if(c&&d){var f=h?this.combineRequireResolvePaths(this.getResolvablePath(d,t),this.getResolvablePath(h,t)):this.getResolvablePath(d,t),p=e.paths[c]||[];e.paths[c]=this.combineRequireResolvePaths(p,f)}}}catch(e){o=true;a=e}finally{try{if(!i&&s.return!=null){s.return()}}finally{if(o){throw a}}}}return e}},{key:"combineRequireResolvePaths",value:function e(e,t){var n=Array.isArray(e)?e:[e],r=Array.isArray(t)?t:[t];return n.concat(r).filter(function(e,t,n){return n.indexOf(e)===t})}},{key:"removeDoubleSlashes",value:function e(e){return e.replace(/([^:]\/)\/+/g,"$1").replace(/\/\//g,"/").replace("http:/","http://").replace("https:/","https://")}},{key:"generateIframeContent",value:function e(){var e=window.getComputedStyle(document.body),t=JSON.stringify(this.getFinalRequirePaths()),n=JSON.stringify(this.getFinalRequireShim()),r="\n font-family: ".concat(e.getPropertyValue("font-family"),";\n font-size: ").concat(e.getPropertyValue("font-size"),";\n line-height: ").concat(e.getPropertyValue("line-height"),";\n font-weight: ").concat(e.getPropertyValue("font-weight"),";\n color: ").concat(e.getPropertyValue("color"),";\n ");return'<!DOCTYPE html>\n<html lang="en">\n<head>\n <meta charset="utf-8" />\n <title>QTI PCI Container</title>\n <base href="'.concat(window.location.origin,'" /> \n <style>\n body, html {\n margin: 0;\n padding: 0;\n width: 100%;\n height: auto;\n overflow: hidden;\n /* Add the extracted font styles here */\n ').concat(r,'\n }\n .qti-customInteraction {\n width: 100%;\n height: 100%;\n }\n #pci-container {\n width: 100%;\n </style>\n <script src="').concat(this.requireJsUrl,'"><\/script>\n <script>\n // Define standard paths and shims\n window.requirePaths = ').concat(t,";\n \n window.requireShim = ").concat(n,";\n\n // Single initial RequireJS configuration with error handling\n window.requirejs.config({\n catchError: true,\n waitSeconds: 30,\n paths: window.requirePaths,\n shim: window.requireShim,\n onNodeCreated: function(node, config, moduleName, url) {\n console.log('RequireJS creating node for module:', moduleName, 'URL:', url);\n \n // Add error handler to script node\n node.addEventListener('error', function(evt) {\n console.error('Script load error for module:', moduleName, 'URL:', url, 'Event:', evt);\n });\n },\n onError: function(err) {\n console.error('RequireJS error:', {\n type: err.requireType,\n modules: err.requireModules,\n error: err\n });\n \n if (err.requireType === 'scripterror') {\n console.error('Script error usually indicates a network or CORS issue with:', err.requireModules);\n }\n \n // Notify parent window about the error\n window.parent.postMessage({\n source: 'qti-pci-iframe',\n method: 'error',\n params: {\n message: 'RequireJS ' + err.requireType + ' error for modules: ' + err.requireModules,\n details: {\n type: err.requireType,\n modules: err.requireModules,\n error: err.toString()\n }\n }\n }, '*');\n }\n });\n \n // PCI Manager for iframe implementation \n window.PCIManager = {\n pciInstance: null,\n container: null,\n customInteractionTypeIdentifier: null,\n \n initialize: function(config) {\n this.customInteractionTypeIdentifier = config.customInteractionTypeIdentifier;\n this.container = document.getElementById('pci-container');\n this.container.classList.add('qti-customInteraction');\n \n function getResolvablePath(path, basePath) {\n if (Array.isArray(path)) {\n return path.map(p => getResolvablePathString(p, basePath));\n } else {\n return getResolvablePathString(path, basePath);\n }\n }\n\n function removeDoubleSlashes(str) {\n return str\n .replace(/([^:\\/])\\/\\/+/g, '$1/')\n .replace(/\\/\\//g, '/')\n .replace('http:/', 'http://')\n .replace('https:/', 'https://');\n }\n \n function getResolvablePathString(path, basePath) {\n path = path.replace(/\\.js$/, '');\n return path?.toLocaleLowerCase().startsWith('http') || !basePath\n ? path\n : removeDoubleSlashes(`${basePath}/${path}`);\n }\n\n function combineRequireResolvePaths(path1, path2, baseUrl) {\n path1 = getResolvablePath(path1, baseUrl);\n const path1Array = Array.isArray(path1) ? path1 : [path1];\n if (!path2) {\n return path1Array;\n }\n path2 = getResolvablePath(path2, baseUrl);\n const path2Array = Array.isArray(path2) ? path2 : [path2];\n return path1Array.concat(path2Array).filter((value, index, self) => self.indexOf(value) === index);\n }\n\n // Update paths with modules from the config\n if (config.interactionModules && config.interactionModules.length > 0) {\n config.interactionModules.forEach(module => {\n if (module.id && module.primaryPath) {\n const currentPath = window.requirePaths[module.id] || [];\n const currentPaths = Array.isArray(currentPath) ? currentPath : [currentPath];\n const newPath = combineRequireResolvePaths(\n module.primaryPath, module.fallbackPath, config.baseUrl\n );\n window.requirePaths[module.id] = currentPaths.concat(newPath).filter((value, index, self) => self.indexOf(value) === index);\n }\n });\n }\n \n // The ONLY other requirejs.config call - with the context for this specific PCI\n window.requirejs.config({\n context: this.customInteractionTypeIdentifier,\n paths: window.requirePaths,\n shim: window.requireShim\n });\n \n // Define qtiCustomInteractionContext for the PCI\n define('qtiCustomInteractionContext', () => {\n return {\n register: pciInstance => {\n this.pciInstance = pciInstance;\n // Configure PCI instance\n const pciConfig = {\n properties: this.addHyphenatedKeys({ ...config.dataAttributes }),\n onready: pciInstance => {\n this.pciInstance = pciInstance;\n this.notifyReady();\n },\n ondone: (pciInstance, response, state, status) => {\n this.notifyInteractionChanged(response);\n },\n responseIdentifier: config.responseIdentifier,\n boundTo: config.boundTo,\n };\n \n if (pciInstance.getInstance) {\n pciInstance.getInstance(this.container, pciConfig, undefined);\n } else {\n // TAO custom interaction initialization\n const restoreTAOConfig = (dataset) => {\n const config = {};\n const parseDataAttributes = () => {\n const result = {};\n\n // Separate direct attributes from nested ones\n Object.entries(dataset || []).forEach(([key, value]) => {\n if (!key.includes('__')) {\n // Direct attributes (like version)\n result[key] = value;\n }\n });\n\n // Parse nested attributes\n const nestedData = {};\n\n Object.entries(dataset || []).forEach(([key, value]) => {\n const parts = key.split('__');\n if (parts.length > 1) {\n const [group, index, prop] = parts;\n nestedData[group] = nestedData[group] || {};\n nestedData[group][index] = nestedData[group][index] || {};\n nestedData[group][index][prop] = value;\n }\n });\n\n // Convert nested groups to arrays\n Object.entries(nestedData).forEach(([key, group]) => {\n result[key] = Object.values(group);\n });\n return result;\n };\n const data = parseDataAttributes();\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n const value = data[key];\n if (key === 'config') {\n config[key] = JSON.parse(value);\n } else {\n config[key] = value;\n }\n }\n }\n return config;\n };\n const taoConfig = restoreTAOConfig(config.dataAttributes);\n\n this.pciInstance.initialize(\n this.customInteractionTypeIdentifier,\n this.container.firstElementChild || this.container,\n Object.keys(taoConfig).length ? taoConfig : null\n );\n }\n },\n notifyReady: () => {\n // Notify parent that the PCI is ready\n window.parent.postMessage({\n source: 'qti-pci-iframe',\n method: 'pciReady'\n }, '*');\n }\n };\n });\n \n // Load the PCI module\n this.loadModule(config.module);\n },\n \n loadModule: function(modulePath) {\n try { \n // Get the context-specific require\n const contextRequire = window.requirejs.config({\n context: this.customInteractionTypeIdentifier\n });\n \n contextRequire(['require'], require => { \n // Now load the actual module\n require([modulePath], () => {\n }, err => {\n console.error('Error loading module after tap loaded:', modulePath, err);\n this.notifyError('Module load error: ' + err.toString());\n });\n });\n } catch (error) {\n console.error('Exception in loadModule:', error);\n this.notifyError('Error in require call: ' + error.toString());\n }\n },\n \n notifyReady: function() {\n window.parent.postMessage({\n source: 'qti-pci-iframe',\n method: 'iframeReady'\n }, '*');\n },\n \n notifyInteractionChanged: function(response) {\n window.parent.postMessage({\n source: 'qti-pci-iframe',\n method: 'interactionChanged',\n params: { value: response }\n }, '*');\n },\n \n notifyError: function(message) {\n console.error('PCI Error:', message);\n window.parent.postMessage({\n source: 'qti-pci-iframe',\n method: 'error',\n params: { message: message }\n }, '*');\n },\n \n setMarkup: function(markupHtml) {\n this.container = document.getElementById('pci-container');\n this.container.innerHTML = markupHtml;\n },\n \n addHyphenatedKeys: function(properties) {\n const updatedProperties = { ...properties };\n for (const key in properties) {\n if (Object.prototype.hasOwnProperty.call(properties, key)) {\n const hyphenatedKey = key.replace(/[A-Z]/g, char => `-${char.toLowerCase()}`);\n updatedProperties[hyphenatedKey] = properties[key];\n }\n }\n return updatedProperties;\n },\n };\n \n // Set up message listener for communication with parent\n window.addEventListener('message', function(event) {\n const { data } = event;\n \n // Ensure the message is from our parent\n if (!data || data.source !== 'qti-portable-custom-interaction') {\n return;\n }\n \n switch(data.method) {\n case 'initialize':\n PCIManager.initialize(data.params);\n break;\n \n case 'setMarkup':\n PCIManager.setMarkup(data.params);\n break;\n \n case 'setBoundTo':\n // Handle setting boundTo\n break;\n \n case 'setProperties':\n // Handle setting properties\n break;\n }\n });\n \n // Notify parent that iframe has loaded\n window.addEventListener('load', function() {\n window.parent.postMessage({\n source: 'qti-pci-iframe',\n method: 'iframeLoaded'\n }, '*');\n });\n let resizeTimeout;\n let previousHeight = 0;\n const notifyResize = () => {\n const container = document.getElementById('pci-container');\n const newHeight = container.scrollHeight + 100;\n if (newHeight !== previousHeight) {\n previousHeight = newHeight;\n clearTimeout(resizeTimeout);\n resizeTimeout = setTimeout(() => {\n window.parent.postMessage({\n source: 'qti-pci-iframe',\n method: 'resize',\n height: newHeight,\n width: container.scrollWidth\n }, '*');\n }, 100); // Adjust debounce time as needed\n }\n };\n\n function setupResizeObserver() {\n const container = document.getElementById('pci-container');\n if (!container || !(container instanceof Element)) {\n console.warn('ResizeObserver: document.container is not an Element');\n return;\n }\n\n const resizeObserver = new ResizeObserver(() => {\n notifyResize();\n });\n\n resizeObserver.observe(container);\n }\n\n // Run setup once DOM is ready\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', () => {\n notifyResize(); // initial resize\n setupResizeObserver();\n });\n } else {\n notifyResize();\n setupResizeObserver();\n }\n\n window.addEventListener('load', () => {\n notifyResize();\n });\n let lastResponseStr = '';\n setInterval(() => {\n if (PCIManager.pciInstance && PCIManager.pciInstance.getResponse) {\n const response = PCIManager.pciInstance.getResponse();\n const responseStr = JSON.stringify(response);\n \n if (responseStr !== lastResponseStr) {\n lastResponseStr = responseStr;\n window.parent.postMessage({\n source: 'qti-pci-iframe',\n method: 'interactionChanged',\n params: { value: response }\n }, '*');\n }\n }\n }, 500); // Check every 500ms\n <\/script>\n</head>\n<body>\n <div id=\"pci-container\"></div>\n</body>\n</html>")}},{key:"toggleCorrectResponse",value:function e(e,t){var n;this.correctResponse=t?e===null||e===void 0?void 0:e.correctResponse:e.cardinality==="single"?"":[];var r="correct-response-container-".concat(this.responseIdentifier),i=(n=this.parentElement)===null||n===void 0?void 0:n.querySelectorAll("#".concat(r));if(i&&i.forEach(function(e){e.remove()}),t)this.disable();else{this.enable();return}if(!t||!(e===null||e===void 0?void 0:e.correctResponse))return;var o=document.createElement("div");o.id=r,o.className="pci-correct-response-container",o.style.position="relative",o.style.marginTop="20px",o.style.border="2px solid green",o.style.padding="16px",o.style.borderRadius="4px",o.style.backgroundColor="rgba(0, 128, 0, 0.05)";var a=document.createElement("div");a.textContent="Correct Response:",a.style.fontWeight="bold",a.style.marginBottom="10px",a.style.color="green",o.appendChild(a);var s=document.createElement("qti-portable-custom-interaction");Array.from(this.attributes).forEach(function(e){e.name!=="id"&&e.name!=="response-identifier"&&s.setAttribute(e.name,e.value)});var l=this.responseIdentifier;s.responseIdentifier="".concat(l,"-correct"),Array.from(this.children).forEach(function(e){var t=e.cloneNode(!0);s.appendChild(t)});var u=e.correctResponse;if(this.useIframe){var c=s.connectedCallback;s.connectedCallback=function(){var t=this;c.call(this);var n=function(){return t._iframeLoaded?(setTimeout(function(){var n=t.responseVariablesToQtiVariableJSON(u,e.cardinality,e.baseType);t.sendMessageToIframe("setBoundTo",d({},l,n)),t.sendMessageToIframe("setState",{state:"review"})},1e3),!0):!1};if(!n()){var r=setInterval(function(){n()&&clearInterval(r)},100);setTimeout(function(){clearInterval(r)},1e4)}}}else{var h=s.register;s.register=function(t){var n=this;h.call(this,t);var r=function(){if(n.pci&&typeof n.pci.setResponse=="function"){var t=n.responseVariablesToQtiVariableJSON(u,e.cardinality,e.baseType);return n.pci.setResponse(t),typeof n.pci.setState=="function"&&n.pci.setState("review"),!0}return!1};setTimeout(function(){if(!r()){var e=setInterval(function(){r()&&clearInterval(e)},200);setTimeout(function(){clearInterval(e)},5e3)}},500)}}s.style.pointerEvents="none",o.appendChild(s),this.after(o)}},{key:"disable",value:function e(){if(this._previousState={pointerEvents:this.style.pointerEvents,position:this.style.position},this.useIframe&&this.sendMessageToIframe("setState",{state:"disabled"}),!this.querySelector(".pci-interaction-overlay")){var e=document.createElement("div");e.className="pci-interaction-overlay",e.style.position="absolute",e.style.top="0",e.style.left="0",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="rgba(200, 200, 200, 0.3)",e.style.zIndex="100",e.style.pointerEvents="all",e.style.cursor="not-allowed",getComputedStyle(this).position==="static"&&(this.style.position="relative"),this.appendChild(e)}}},{key:"enable",value:function e(){var e=this.querySelector(".pci-interaction-overlay");e&&e.remove(),this._previousState&&(this._previousState.pointerEvents&&(this.style.pointerEvents=this._previousState.pointerEvents),this._previousState.position&&(this.style.position=this._previousState.position),this._previousState=null),this.useIframe&&this.sendMessageToIframe("setState",{state:"interacting"})}},{key:"render",value:function e(){return rl(eJ(),this._errorMessage?rl(eW(),this._errorMessage):"")}}]);return t}(r3);iW.styles=[iB,nC(eG())],tF([r({type:String,attribute:"module"})],iW.prototype,"module",2),tF([r({type:String,attribute:"custom-interaction-type-identifier"})],iW.prototype,"customInteractionTypeIdentifier",2),tF([r({type:String,attribute:"data-require-paths"})],iW.prototype,"requirePathsJson",2),tF([r({type:String,attribute:"data-require-shim"})],iW.prototype,"requireShimJson",2),tF([r({type:String,attribute:"data-require-js-url"})],iW.prototype,"requireJsUrl",2),tF([r({type:String,attribute:"data-base-url"})],iW.prototype,"baseUrl",2),tF([r({type:Boolean,attribute:"data-use-iframe"})],iW.prototype,"useIframe",2),tF([r({type:Boolean,attribute:"data-use-default-shims"})],iW.prototype,"useDefaultShims",2),tF([r({type:Boolean,attribute:"data-use-default-paths"})],iW.prototype,"useDefaultPaths",2),tF([i()],iW.prototype,"_errorMessage",2),tF([t({context:rL,subscribe:!0}),i()],iW.prototype,"context",2),tF([i()],iW.prototype,"response",2),iW=tF([rT("qti-portable-custom-interaction")],iW);var iJ=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return rl(eX())}}]);return t}(rP);iJ.styles=[nC(eY())];customElements.define("qti-position-object-interaction",iJ);var iG=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t),e.removeMoveListener=e.removeMoveListener.bind(e),e.dragElementHandler=e.dragElementHandler.bind(e);return e}c(t,[{key:"render",value:function e(){return rl(eK())}},{key:"dragElementHandler",value:function e(e){e.preventDefault();var t=e.clientX-this.startX,n=e.clientY-this.startY;this.dragElement.style.left=this.dragElement.offsetLeft+t+"px",this.dragElement.style.top=this.dragElement.offsetTop+n+"px",this.startX=e.clientX,this.startY=e.clientY}},{key:"firstUpdated",value:function e(e){var n=this;h(f(t.prototype),"firstUpdated",this).call(this,e),this.dragElement=this.querySelector("qti-position-object-interaction>img"),this.startX=0,this.startY=0,this.dragElement.addEventListener("mousedown",function(e){n.startX=e.clientX,n.startY=e.clientY,document.addEventListener("mousemove",n.dragElementHandler,!0)}),document.addEventListener("mouseup",this.removeMoveListener)}},{key:"removeMoveListener",value:function e(){document.removeEventListener("mousemove",this.dragElementHandler,!0)}},{key:"disconnectedCallback",value:function e(){h(f(t.prototype),"disconnectedCallback",this).call(this),document.removeEventListener("mousemove",this.dragElementHandler),document.removeEventListener("mouseup",this.removeMoveListener)}}]);return t}(rP);iG.styles=[nC(eZ())],iG=tF([rT("qti-position-object-stage")],iG);var iX="important",iY=" !"+iX,iK=id(/*#__PURE__*/function(e){"use strict";p(t,e);function t(e){s(this,t);var n;var r;if(n=a(this,t,[e]),e.type!==ic.ATTRIBUTE||e.name!=="style"||((r=e.strings)===null||r===void 0?void 0:r.length)>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.");return n}c(t,[{key:"render",value:function e(e){return Object.keys(e).reduce(function(t,n){var r=e[n];return r==null?t:t+"".concat(n=n.includes("-")?n:n.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase(),":").concat(r,";")},"")}},{key:"update",value:function e(e,t){var n=C(t,1),r=n[0];var i=e.element,o=i.style;if(this.ft===void 0)return this.ft=new Set(Object.keys(r)),this.render(r);var a=true,s=false,l=undefined;try{for(var u=this.ft[Symbol.iterator](),c;!(a=(c=u.next()).done);a=true){var d=c.value;r[d]==null&&(this.ft.delete(d),d.includes("-")?o.removeProperty(d):o[d]=null)}}catch(e){s=true;l=e}finally{try{if(!a&&u.return!=null){u.return()}}finally{if(s){throw l}}}for(var h in r){var f=r[h];if(f!=null){this.ft.add(h);var p=typeof f=="string"&&f.endsWith(iY);h.includes("-")||p?o.setProperty(h,p?f.slice(0,-11):f,p?iX:""):o[h]=f}}return rd}}]);return t}(ih));var iZ=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.maxChoices=1/0;e.minChoices=0;e.response=[];e._correctAreas=[];e._imgElement=null;e._scaleX=1;e._scaleY=1;e._imageWidthOrginal=0;e._imageHeightOrginal=0;e._onImageClick=function(t){if(!e._imgElement){console.warn("No <img> element found in <qti-select-point-interaction>");return}e.calculateScale();var n=e._imgElement.getBoundingClientRect(),r=(t.clientX-n.left)*e._scaleX,i=(t.clientY-n.top)*e._scaleY,o="".concat(r.toFixed()," ").concat(i.toFixed());e.maxChoices===1?e.response=[o]:(e.maxChoices===0||e.response.length<e.maxChoices)&&(e.response=M(e.response).concat([o])),e.saveResponse(e.response)};e._onResize=function(){e.calculateScale()};return e}c(t,[{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),window.addEventListener("resize",this._onResize)}},{key:"toggleCorrectResponse",value:function e(e,t){if(!t){this._correctAreas=[];return}var n=e.areaMapping,r=[];if(!n||n.areaMapEntries.length===0)if(e.correctResponse){var i=Array.isArray(e.correctResponse)?e.correctResponse:[e.correctResponse];if(i.length===0||i.find(function(e){return e.split(" ").length<2}))return console.error("No valid correct responses found for the response variable."),null;console.warn("No area mapping found for the response variable. Using the correct responses to display the correct response but it probably won't score correct."),r=i.map(function(e){return{shape:"circle",coords:e.split(" ").join(",").concat(",10"),defaultValue:1,mappedValue:1}})}else{console.error("No area mapping found for the response variable.");return}else r=n.areaMapEntries;this._correctAreas=r.map(function(e){return{coords:e.coords,shape:e.shape}})}},{key:"updated",value:function e(e){h(f(t.prototype),"updated",this).call(this,e);var n=this._imgElement;n&&e.has("_correctAreas")&&this._correctAreas.length>0&&(this.calculateScale(),this.shadowRoot.querySelectorAll("div").forEach(function(e){var t=e.dataset.coord,r=e.dataset.shape;t&&r&&tM(r,t.split(",").map(function(e){return+e}),n,e)}))}},{key:"render",value:function e(){var e=this;var t;return rl(e2(),ix(this.response.filter(function(e){return e}),function(e){return e},function(t,n){var r=C(t.split(" ").map(Number),2),i=r[0],o=r[1],a=i/(e._imageWidthOrginal||1)*100,s=o/(e._imageHeightOrginal||1)*100,l=16,u=l/(e._imageWidthOrginal||1)*100,c=l/(e._imageHeightOrginal||1)*100;return rl(e0(),iK({pointerEvents:e.maxChoices===1?"none":"auto",position:"absolute",transform:"translate(-50%, -50%)",left:"".concat(a,"%"),top:"".concat(s,"%"),width:"min(".concat(u,"%, 1rem)"),height:"min(".concat(c,"%, 1rem)"),minWidth:"min(".concat(u,"%, 1rem)"),minHeight:"min(".concat(c,"%, 1rem)"),borderRadius:"50%",background:"red"}),t,function(t){t.stopPropagation(),e.response=e.response.filter(function(e,t){return t!==n}),e.saveResponse(e.response)})}),ix((t=this._correctAreas)===null||t===void 0?void 0:t.filter(function(e){return e}),function(e){return e},function(e,t){return rl(e1(),iK({position:"absolute",pointerEvents:"none",backgroundColor:"var(--qti-correct)",opacity:"0.5"}),e.coords,"correct-response-".concat(t+1),e.shape)}))}},{key:"reset",value:function e(){this.response=null}},{key:"validate",value:function e(){return this.response.length>=this.minChoices&&this.response.length<=this.maxChoices}},{key:"calculateScale",value:function e(){this._imageWidthOrginal=this._imgElement.getAttribute("width")?parseFloat(this._imgElement.getAttribute("width")):this._imgElement.naturalWidth,this._imageHeightOrginal=this._imgElement.getAttribute("height")?parseFloat(this._imgElement.getAttribute("height")):this._imgElement.naturalHeight;var e=this._imgElement.getBoundingClientRect();this._scaleX=e.width===0?1:this._imageWidthOrginal/e.width,this._scaleY=e.height===0?1:this._imageHeightOrginal/e.height}},{key:"firstUpdated",value:function e(){this._imgElement=this.querySelector("img"),this._imgElement?(this.calculateScale(),this._imgElement.addEventListener("click",this._onImageClick)):console.warn("No <img> element found in <qti-select-point-interaction>")}},{key:"disconnectedCallback",value:function e(){h(f(t.prototype),"disconnectedCallback",this).call(this),window.removeEventListener("resize",this._onResize),this._imgElement&&this._imgElement.removeEventListener("click",this._onImageClick)}}]);return t}(r3);iZ.styles=[nC(e3())],tF([r({type:Number,attribute:"max-choices"})],iZ.prototype,"maxChoices",2),tF([r({type:Number,attribute:"min-choices"})],iZ.prototype,"minChoices",2),tF([i()],iZ.prototype,"response",2),tF([i()],iZ.prototype,"_correctAreas",2),iZ=tF([rT("qti-select-point-interaction")],iZ);var i0=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.templateIdentifier=null;e.showHide="show";e.fixed=!1;return e}c(t,[{key:"checked",get:function e(){return this.internals.states.has("--checked")}},{key:"render",value:function e(){return rl(e4(),this.marker?rl(e5(),this.marker):rh)}}]);return t}(tI(rP,"qti-simple-choice"));i0.styles=nC(e6()),tF([r({type:String,attribute:"template-identifier"})],i0.prototype,"templateIdentifier",2),tF([r({type:String,attribute:"show-hide"})],i0.prototype,"showHide",2),tF([r({type:Boolean,converter:{fromAttribute:function(e){return e==="true"},toAttribute:function(e){return String(e)}}})],i0.prototype,"fixed",2),tF([r({type:String,attribute:!1})],i0.prototype,"marker",2),i0=tF([rT("qti-simple-choice")],i0);var i1=nC(e9());var i2=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e._value=0;e._correctResponseNumber=null;e.min=0;e.max=100;e.step=1;return e}c(t,[{key:"validate",value:function e(){return!0}},{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this._updateValue(this.min),this.setAttribute("tabindex","0"),this.setAttribute("role","slider")}},{key:"response",get:function e(){return this._value.toString()},set:function e(e){var t=parseInt(e,10);isNaN(t)||this._updateValue(t)}},{key:"toggleCorrectResponse",value:function e(e,t){if(t){this._correctResponse=e.correctResponse.toString();var n=parseFloat(e.correctResponse.toString());if(isNaN(n))this._correctResponseNumber=null;else{this._correctResponseNumber=n;var r=(this._correctResponseNumber-this.min)/(this.max-this.min)*100;this.style.setProperty("--value-percentage-correct","".concat(r,"%"))}}else this._correctResponseNumber=null;this.requestUpdate()}},{key:"_updateValue",value:function e(e){var t=this._value;if(this._value=Math.min(this.max,Math.max(this.min,e)),this._value===t)return;var n=(this._value-this.min)/(this.max-this.min)*100;this.style.setProperty("--value-percentage","".concat(n,"%")),this._internals.setFormValue(this.value),this.saveResponse(this.response),this.requestUpdate()}},{key:"render",value:function e(){return rl(e7(),this.min,this.max,this._onMouseDown,this._onTouchStart,this.response,this._correctResponseNumber!==null?rl(e8(),this._correctResponseNumber):null)}},{key:"_onMouseDown",value:function e(e){var t=this;this._startDrag(e.pageX);var n=function(e){return t._onDrag(e.pageX)},r=function(){document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",r),t._onDragEnd()};document.addEventListener("mousemove",n),document.addEventListener("mouseup",r)}},{key:"_onTouchStart",value:function e(e){var t=this;this._startDrag(e.touches[0].pageX);var n=function(e){return t._onDrag(e.touches[0].pageX)},r=function(){document.removeEventListener("touchmove",n),document.removeEventListener("touchend",r),t._onDragEnd()};document.addEventListener("touchmove",n,{passive:!1}),document.addEventListener("touchend",r)}},{key:"_startDrag",value:function e(e){this._onDrag(e)}},{key:"_onDrag",value:function e(e){var t=this._rail.getBoundingClientRect(),n=e-t.left,r=Math.min(1,Math.max(0,n/t.width)),i=this.min+Math.round(r*(this.max-this.min)/this.step)*this.step;this._updateValue(i)}},{key:"_onDragEnd",value:function e(){this.dispatchEvent(new Event("change",{bubbles:!0}))}}]);return t}(r3);i2.styles=i1,tF([l("#rail")],i2.prototype,"_rail",2),tF([r({type:Number,attribute:"lower-bound"})],i2.prototype,"min",2),tF([r({type:Number,attribute:"upper-bound"})],i2.prototype,"max",2),tF([r({type:Number,attribute:"step"})],i2.prototype,"step",2),i2=tF([rT("qti-slider-interaction")],i2);var i3=function(e,t){var n;var r=e._$AN;if(r===void 0)return!1;var i=true,o=false,a=undefined;try{for(var s=r[Symbol.iterator](),l;!(i=(l=s.next()).done);i=true){var u=l.value;(n=u._$AO)===null||n===void 0?void 0:n.call(u,t,!1),i3(u,t)}}catch(e){o=true;a=e}finally{try{if(!i&&s.return!=null){s.return()}}finally{if(o){throw a}}}return!0},i5=function(e){var t,n;do{if((t=e._$AM)===void 0)break;n=t._$AN,n.delete(e),e=t}while((n===null||n===void 0?void 0:n.size)===0)},i4=function(e){for(var t;t=e._$AM;e=t){var n=t._$AN;if(n===void 0)t._$AN=n=new Set;else if(n.has(e))break;n.add(e),i6(t)}};var i6=function(e){var t,n;e.type==ic.CHILD&&((t=e._$AP)!==null&&t!==void 0?t:e._$AP=tO,(n=e._$AQ)!==null&&n!==void 0?n:e._$AQ=tT)},i9=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments),e._$AN=void 0;return e}c(t,[{key:"_$AT",value:function e(e,n,r){h(f(t.prototype),"_$AT",this).call(this,e,n,r),i4(this),this.isConnected=e._$AU}},{key:"_$AO",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;var n,r,i,o;e!==this.isConnected&&(this.isConnected=e,e?(n=(r=this).reconnected)===null||n===void 0?void 0:n.call(r):(i=(o=this).disconnected)===null||i===void 0?void 0:i.call(o)),t&&(i3(this,e),i5(this))}},{key:"setValue",value:function e(e){if(iv(this._$Ct))this._$Ct._$AI(e,this);else{var t=M(this._$Ct._$AH);t[this._$Ci]=e,this._$Ct._$AI(t,this,0)}}},{key:"disconnected",value:function e(){}},{key:"reconnected",value:function e(){}}]);return t}(ih);var i8=function(){return new i7},i7=function e(){"use strict";s(this,e)},oe=new WeakMap,ot=id(/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(e){return rh}},{key:"update",value:function e(e,t){var n=C(t,1),r=n[0];var i;var o=r!==this.G;return o&&this.G!==void 0&&this.rt(void 0),(o||this.lt!==this.ct)&&(this.G=r,this.ht=(i=e.options)===null||i===void 0?void 0:i.host,this.rt(this.ct=e.element)),rh}},{key:"rt",value:function e(e){if(this.isConnected||(e=void 0),typeof this.G=="function"){var t;var n=(t=this.ht)!==null&&t!==void 0?t:globalThis,r=oe.get(n);r===void 0&&(r=new WeakMap,oe.set(n,r)),r.get(this.G)!==void 0&&this.G.call(this.ht,void 0),r.set(this.G,e),e!==void 0&&this.G.call(this.ht,e)}else this.G.value=e}},{key:"lt",get:function e(){var e,t;var n;return typeof this.G=="function"?(e=oe.get((n=this.ht)!==null&&n!==void 0?n:globalThis))===null||e===void 0?void 0:e.get(this.G):(t=this.G)===null||t===void 0?void 0:t.value}},{key:"disconnected",value:function e(){this.lt===this.ct&&this.rt(void 0)}},{key:"reconnected",value:function e(){this.rt(this.ct)}}]);return t}(i9));var on=nC(te());var or=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.inputRef=i8();e.response=null;e._handleValueChange=function(){e._internals.setFormValue(e.value),e.validate()};return e}c(t,[{key:"value",get:function e(){return this.response||null},set:function e(e){this.response=e||null}},{key:"validate",value:function e(){if(!this._input)return!1;if(this.patternMask&&this.dataPatternmaskMessage)this._internals.setValidity({}),this._input.setCustomValidity(""),this._input.checkValidity()||(this._internals.setValidity({customError:!0},this.dataPatternmaskMessage),this._input.setCustomValidity(this.dataPatternmaskMessage));else{var e=this._input.checkValidity();this._internals.setValidity(e?{}:{customError:!1})}return this.response!==""&&this._input.checkValidity()}},{key:"toggleCorrectResponse",value:function e(e,t){if(t&&e.correctResponse){var n=e.correctResponse.toString();this._correctResponse=n}else this._correctResponse=null}},{key:"render",value:function e(){var e=this;return rl(tn(),this.responseIdentifier,function(t){e.reportValidity()},function(e){return e.stopImmediatePropagation()},this.textChanged,this.textChanged,this.patternMask=="[0-9]*"?"number":"text",rX(this.placeholderText?this.placeholderText:void 0),this.response,rX(this.patternMask?this.patternMask:void 0),1e3,this.disabled,this.readonly,this._correctResponse?rl(tt(),this._correctResponse):rh)}},{key:"textChanged",value:function e(e){if(this.disabled||this.readonly)return;var t=e.target;this.setEmptyAttribute(t.value),this.response!==t.value&&(this.value=t.value,this.saveResponse(t.value))}},{key:"reportValidity",value:function e(){var e=this.shadowRoot.querySelector("input");if(!e)return!1;var t=this.validate();return t||e.reportValidity(),t}},{key:"reset",value:function e(){this.response=""}},{key:"setEmptyAttribute",value:function e(e){this.setAttribute("empty",e===""?"true":"false")}}]);return t}(r3);or.styles=on,tF([r({type:Number,attribute:"expected-length"})],or.prototype,"expectedLength",2),tF([r({type:String,attribute:"pattern-mask"})],or.prototype,"patternMask",2),tF([r({type:String,attribute:"placeholder-text"})],or.prototype,"placeholderText",2),tF([r({type:String,attribute:"data-patternmask-message"})],or.prototype,"dataPatternmaskMessage",2),tF([i()],or.prototype,"response",2),tF([l("input")],or.prototype,"_input",2),tF([y("response",{waitUntilFirstUpdate:!0})],or.prototype,"_handleValueChange",2),or=tF([rT("qti-text-entry-interaction")],or);var oi=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e._file=null;e._base64=null;return e}c(t,[{key:"reset",value:function e(){this._file=null,this._base64=null,this.saveResponse(null)}},{key:"validate",value:function e(){return this._base64!==null}},{key:"response",get:function e(){return this._base64},set:function e(e){if(typeof e=="string")this._base64=e,this.saveResponse(e);else if(e===null)this.reset();else throw new Error("Value must be a Base64-encoded string or null")}},{key:"render",value:function e(){return rl(tr(),this._onFileChange,this.disabled,this.readonly)}},{key:"_onFileChange",value:function e(e){var t=this;return o(function(){var n,r;return L(this,function(i){switch(i.label){case 0:n=e.target;r=n.files&&n.files.length>0;if(!r)return[3,2];t._file=n.files[0];return[4,t._convertToBase64(t._file)];case 1:r=(t._base64=i.sent(),t.saveResponse(t._base64),t.dispatchEvent(new CustomEvent("qti-interaction-response",{detail:{response:t._base64}})));i.label=2;case 2:r;return[2]}})})()}},{key:"_convertToBase64",value:function e(e){return new Promise(function(t,n){var r=new FileReader;r.onload=function(){return t(r.result)},r.onerror=function(){return n(r.error)},r.readAsDataURL(e)})}}],[{key:"properties",get:function e(){return k({},r3.properties)}}]);return t}(r3);oi.styles=[nC(ti())],oi=tF([rT("qti-upload-interaction")],oi);var oo=nC(to());var oa=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return rl(ta())}}]);return t}(rP);oa.styles=oo,oa=tF([rT("qti-item-body")],oa);var os=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return rl(ts())}},{key:"process",value:function e(){var e=new ol,t=M(this.children);e.process(t)}}]);return t}(rP);os.styles=[nC(tl())],os=tF([rT("qti-outcome-processing")],os);var ol=/*#__PURE__*/function(){"use strict";function e(){s(this,e)}c(e,[{key:"process",value:function e(e){var t=true,n=false,r=undefined;try{for(var i=e[Symbol.iterator](),o;!(t=(o=i.next()).done);t=true){var a=o.value;a.process()}}catch(e){n=true;r=e}finally{try{if(!t&&i.return!=null){i.return()}}finally{if(n){throw r}}}}}]);return e}();var ou=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return rl(tu())}},{key:"connectedCallback",value:function e(){this.parentElement.tagName.endsWith("INTERACTION")&&this.setAttribute("slot","prompt")}}]);return t}(rP);ou=tF([rT("qti-prompt")],ou);var oc='<qti-response-processing>\n <qti-response-condition>\n <qti-response-if>\n <qti-match>\n <qti-variable identifier="RESPONSE"></qti-variable>\n <qti-correct identifier="RESPONSE"></qti-correct>\n </qti-match>\n <qti-set-outcome-value identifier="SCORE">\n <qti-base-value base-type="float">1</qti-base-value>\n </qti-set-outcome-value>\n </qti-response-if>\n <qti-response-else>\n <qti-set-outcome-value identifier="SCORE">\n <qti-base-value base-type="float">0</qti-base-value>\n </qti-set-outcome-value>\n </qti-response-else>\n </qti-response-condition>\n</qti-response-processing>',od='<qti-response-processing>\n <qti-response-condition>\n <qti-response-if>\n <qti-is-null>\n <qti-variable identifier="RESPONSE"></qti-variable>\n </qti-is-null>\n <qti-set-outcome-value identifier="SCORE">\n <qti-base-value base-type="float">0.0</qti-base-value>\n </qti-set-outcome-value>\n </qti-response-if>\n <qti-response-else>\n <qti-set-outcome-value identifier="SCORE">\n <qti-map-response identifier="RESPONSE"> </qti-map-response>\n </qti-set-outcome-value>\n </qti-response-else>\n </qti-response-condition>\n</qti-response-processing>',oh='<qti-response-processing>\n <qti-response-condition>\n <qti-response-if>\n <qti-is-null>\n <qti-variable identifier="RESPONSE"></qti-variable>\n </qti-is-null>\n <qti-set-outcome-value identifier="SCORE">\n <qti-base-value base-type="float">0</qti-base-value>\n </qti-set-outcome-value>\n </qti-response-if>\n <qti-response-else>\n <qti-set-outcome-value identifier="SCORE">\n <qti-map-response-point identifier="RESPONSE"></qti-map-response-point>\n </qti-set-outcome-value>\n </qti-response-else>\n </qti-response-condition>\n</qti-response-processing>';var of=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return rl(tc())}},{key:"process",value:function e(){if(!this.closest("qti-assessment-item"))return;var e=M(this.children);var t=true,n=false,r=undefined;try{for(var i=e[Symbol.iterator](),o;!(t=(o=i.next()).done);t=true){var a=o.value;a.process()}}catch(e){n=true;r=e}finally{try{if(!t&&i.return!=null){i.return()}}finally{if(n){throw r}}}}},{key:"firstUpdated",value:function e(e){if(this.getAttribute("template")){var t=this.getAttribute("template").split("/"),n=t[t.length-1].replace(".xml","");switch(this.innerHTML="",n){case"map_response":{this.appendChild(this.fragmentFromString(od).firstElementChild.firstElementChild);break}case"map_response_point":{this.appendChild(this.fragmentFromString(oh).firstElementChild.firstElementChild);break}case"match_correct":this.appendChild(this.fragmentFromString(oc).firstElementChild.firstElementChild);break}}}},{key:"fragmentFromString",value:function e(e){return document.createRange().createContextualFragment(e)}}]);return t}(rP);of.styles=[nC(td())],of=tF([rT("qti-response-processing")],of);var op=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return rl(th())}},{key:"process",value:function e(){throw new Error("Not implemented")}}]);return t}(rP);op=tF([rT("qti-rule")],op);var ov=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"childExpression",get:function e(){return this.firstElementChild}},{key:"process",value:function e(){var e=this.getAttribute("identifier"),t=this.context.variables.find(function(t){return t.identifier===e})||null,n;return t.interpolationTable&&(n=t.interpolationTable.get(parseInt(this.childExpression.calculate()))),n==null?(console.warn("lookupOutcomeValue: value is null or undefined"),0):(this.dispatchEvent(new CustomEvent("qti-set-outcome-value",{bubbles:!0,composed:!0,detail:{outcomeIdentifier:this.identifier,value:rW(n)}})),n)}}]);return t}(op);tF([r({type:String})],ov.prototype,"identifier",2),tF([t({context:rL,subscribe:!0}),i()],ov.prototype,"context",2);customElements.define("qti-lookup-outcome-value",ov);var oy=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return rl(tf())}},{key:"process",value:function e(){var e=M(this.children);for(var t=0;t<e.length;t++){var n=e[t];if(n.calculate()){n.process();return}}}}]);return t}(op);customElements.define("qti-response-condition",oy);var om=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"process",value:function e(){var e=this.getAttribute("identifier");if(!e){console.warn('QtiSetOutcomeValue: Missing "identifier" attribute.');return}var t=this.firstElementChild;if(!t){console.warn("QtiSetOutcomeValue: No expression found.");return}var n=new og(t).process();this.dispatchEvent(new CustomEvent("qti-set-outcome-value",{bubbles:!0,composed:!0,detail:{outcomeIdentifier:e,value:this.formatValue(n)}}))}},{key:"formatValue",value:function e(e){return Array.isArray(e)?e.map(rW):e!==null?rW(e):null}}]);return t}(op),og=/*#__PURE__*/function(){"use strict";function e(t){s(this,e);this.expression=t}c(e,[{key:"process",value:function e(){var e;var t=(e=this.expression.calculate())!==null&&e!==void 0?e:null;return t===null&&console.warn("QtiSetOutcomeValueRule: Evaluated value is null."),Array.isArray(t)?t.map(function(e){return e.value?e.value:e}):t}}]);return e}();customElements.define("qti-set-outcome-value",om);var ob=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return rl(tp())}},{key:"calculate",value:function e(){return!0}},{key:"getSubRules",value:function e(){return M(this.children)}},{key:"process",value:function e(){var e=this.getSubRules();for(var t=0;t<e.length;t++)e[t].process()}}]);return t}(rP);customElements.define("qti-response-else",ob);var o_=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"calculate",value:function e(){return this.firstElementChild.calculate()}},{key:"getSubRules",value:function e(){var e=[];for(var t=1;t<this.children.length;t++)e.push(this.children[t]);return e}}]);return t}(ob);customElements.define("qti-response-if",o_);var ok=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return rl(tv(),h(f(t.prototype),"render",this).call(this))}}]);return t}(o_);customElements.define("qti-response-else-if",ok);var ow=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.getVariables=function(){return Array.from(e.children).map(function(t){switch(t.tagName.toLowerCase()){case"qti-base-value":return{baseType:t.getAttribute("base-type"),value:t.textContent.trim(),cardinality:"single"};case"qti-variable":{var n=t.getAttribute("identifier")||"";return e.context.variables.find(function(e){return e.identifier===n})||null}case"qti-multiple":{var r=t.getResult();return r.length>0?{identifier:"",baseType:r[0].baseType,value:r.map(function(e){return e.value}),cardinality:"multiple",type:"response"}:null}case"qti-correct":{var i=t.getAttribute("identifier")||"",o=e.context.variables.find(function(e){return e.identifier===i})||null;return{baseType:o.baseType,value:o.correctResponse,cardinality:o.cardinality}}default:{try{return{baseType:"integer",value:t.getResult().toString(),cardinality:"single"}}catch(e){console.warn("default not sufficient")}return null}}}).filter(function(e){return e!==null})};return e}c(t,[{key:"render",value:function e(){return rl(ty(),JSON.stringify(this.result,null,2))}},{key:"calculate",value:function e(){return this.result=this.getResult(),this.result}},{key:"getResult",value:function e(){throw new Error("Not implemented")}}]);return t}(rP);ow.styles=nC(tm()),tF([i()],ow.prototype,"result",2),tF([t({context:rL,subscribe:!0}),i()],ow.prototype,"context",2);var oE=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"calculate",value:function e(){return this.result=this.getResult(),this.result}},{key:"getResult",value:function e(){throw new Error("Not implemented")}}]);return t}(ow);var ox=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"calculate",value:function e(){return this.calculateChildren(Array.from(this.children))}}]);return t}(tU(oE));ox=tF([rT("qti-and")],ox);var oq=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.baseType="string";return e}c(t,[{key:"getResult",value:function e(){return this.textContent.trim()}}]);return t}(ow);tF([r({type:String,attribute:"base-type"})],oq.prototype,"baseType",2);customElements.define("qti-base-value",oq);var oA=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){var e=this.getVariables();if(this.children.length===2){var t=e[0],n=e[1];if(t.baseType==="directedPair"&&n.baseType==="directedPair"&&t.cardinality==="multiple"){var r=t.value,i=n.value;return r.filter(function(e){return i.includes(e)}).length>0}else if(t.baseType==="directedPair"&&n.baseType==="directedPair"&&t.cardinality==="single"){var o=t.value;return n.value.includes(o)}else console.error("unsupported baseType or cardinality in qti contains, only baseType: directedPair and cardinality: multiple is supported")}else console.error("unexpected number of children in qti contains");return!1}}]);return t}(oE);customElements.define("qti-contains",oA);var oS=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"interpretation",get:function e(){return this.getAttribute("interpretation")||""}},{key:"getResult",value:function e(){var e=this.getAttribute("identifier")||"",t=this.context.variables.find(function(t){return t.identifier===e})||null;return t.cardinality!=="single"?t.correctResponse.length>0?t.correctResponse[0]:"":t.correctResponse}}]);return t}(ow);customElements.define("qti-correct",oS);var oC=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.roundingMode="significantFigures";return e}c(t,[{key:"figures",get:function e(){if(!this.getAttribute("figures"))return console.error("figures attribute is missing"),null;var e=parseInt(this.getAttribute("figures")||"0");return isNaN(e)?(console.error("figures attribute is not a number"),null):e<0?(console.error("figures attribute is negative"),null):e<1&&this.roundingMode==="significantFigures"?(console.error("figures cannot be smaller than 1 for RoundingMode significantFigures"),null):e}},{key:"getResult",value:function e(){if(this.children.length===2){var e=this.getVariables(),t=e[0],n=e[1];if(this.roundingMode===null)return null;if(t.cardinality!=="single"||n.cardinality!=="single"||Array.isArray(t.value)||Array.isArray(n.value))return console.error("unexpected cardinality in qti equal"),!1;switch(e[0].baseType){case"integer":case"float":{var r=parseFloat(t.value),i=parseFloat(n.value);if(!isNaN(r)&&!isNaN(i))return this.roundingMode==="significantFigures"?r.toPrecision(this.figures)===i.toPrecision(this.figures):Math.round(r*Math.pow(10,this.figures))/Math.pow(10,this.figures)===Math.round(i*Math.pow(10,this.figures))/Math.pow(10,this.figures);console.error("value cannot be casted to numeric value in equalRounded operator: ".concat(r,", ").concat(i));break}default:{console.error("values other than float and int cannot be used in equalRounded operator.");break}}return!1}return console.error("unexpected number of children in qti-equal-rounded"),null}}]);return t}(ow);tF([r({type:String})],oC.prototype,"roundingMode",2);customElements.define("qti-equal-rounded",oC);var oR=/*#__PURE__*/function(){"use strict";function e(){s(this,e)}c(e,null,[{key:"isPointInArea",value:function e(e,t,n){if(n!=="point")return console.warn("Base type ".concat(n," is not supported for point area mapping.")),!1;var r=C(e.split(" ").map(Number),2),i=r[0],o=r[1],a=I(t.split(",")),s=a[0],l=a.slice(1),u=l.map(Number);switch(s.toLowerCase()){case"circle":case"default":{var c=C(u,3),d=c[0],h=c[1],f=c[2];return u.length!==3?(console.warn("Invalid circle definition: ".concat(t)),!1):Math.sqrt(Math.pow(i-d,2)+Math.pow(o-h,2))<=f}case"rect":{var p=C(u,4),v=p[0],y=p[1],m=p[2],g=p[3];return u.length!==4?(console.warn("Invalid rectangle definition: ".concat(t)),!1):i>=v&&i<=m&&o>=y&&o<=g}case"ellipse":{var b=C(u,4),_=b[0],k=b[1],w=b[2],E=b[3];if(u.length!==4)return console.warn("Invalid ellipse definition: ".concat(t)),!1;var x=Math.pow(i-_,2)/Math.pow(w,2),q=Math.pow(o-k,2)/Math.pow(E,2);return x+q<=1}case"poly":{if(u.length<6||u.length%2!==0)return console.warn("Invalid polygon definition: ".concat(t)),!1;var A=[];for(var S=0;S<u.length;S+=2)A.push({x:u[S],y:u[S+1]});return this.isPointInPolygon({x:i,y:o},A)}default:return console.warn("Unsupported shape type: ".concat(s)),!1}}},{key:"isPointInPolygon",value:function e(e,t){var n=!1;for(var r=0,i=t.length-1;r<t.length;i=r++){var o=t[r].x,a=t[r].y,s=t[i].x,l=t[i].y;a>e.y!=l>e.y&&e.x<(s-o)*(e.y-a)/(l-a)+o&&(n=!n)}return n}},{key:"compareSingleValues",value:function e(e,t,n){switch(n){case"identifier":case"string":return e===t;case"integer":{var r=parseInt(e,10),i=parseInt(t,10);if(!isNaN(r)&&!isNaN(i))return r===i;console.error("Cannot convert ".concat(e," and/or ").concat(t," to int."));break}case"float":{var o=parseFloat(e),a=parseFloat(t);if(!isNaN(o)&&!isNaN(a))return o===a;console.error("couldn't convert ".concat(e," and/or ").concat(t," to float."));break}case"pair":case"directedPair":{var s=e.split(" ").sort(),l=t.split(" ").sort();if(s.length===2&&l.length===2)return n==="pair"&&(s.sort(),l.sort()),s.join(" ")===l.join(" ");console.error("compared two pair but one of the values does not have 2 values: 1: ".concat(e," 2: ").concat(t));break}}return!1}}]);return e}();var oP=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.toleranceMode="exact";return e}c(t,[{key:"getResult",value:function e(){if(this.children.length===2){var e=this.getVariables(),t=e[0],n=e[1];return this.toleranceMode!=="exact"?(console.error("toleranceMode is not supported yet"),!1):t.cardinality!=="single"||n.cardinality!=="single"||Array.isArray(t.value)||Array.isArray(n.value)?(console.error("unexpected cardinality in qti equal"),!1):oR.compareSingleValues(t.value,n.value,t.baseType)}return console.error("unexpected number of children in qti-equal"),null}}]);return t}(ow);tF([r({type:String})],oP.prototype,"toleranceMode",2);customElements.define("qti-equal",oP);var oI=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){if(this.children.length===2){var e=this.getVariables(),t=e[0],n=e[1];if((t.baseType==="integer"||t.baseType==="float")&&(n.baseType==="integer"||n.baseType==="float"))return+t.value>+n.value;console.error("unexpected baseType or cardinality in qti gt")}return console.error("unexpected number of children in qt"),null}}]);return t}(ow);customElements.define("qti-gt",oI);var oM=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){if(this.children.length===2){var e=this.getVariables(),t=e[0],n=e[1];return(t.baseType==="integer"||t.baseType==="float")&&(n.baseType==="integer"||n.baseType==="float")?+t.value>=+n.value:(console.error("unexpected baseType or cardinality in qti gte"),null)}return console.log("unexpected number of children in qte"),null}}]);return t}(oE);customElements.define("qti-gte",oM);var oT=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){if(this.children.length===1){var e=this.getVariables();if(!e)return!0;var t=e[0].value;return t==null||t==null||t===""}return console.error("unexpected number of children in qti Null"),null}}]);return t}(ow);customElements.define("qti-is-null",oT);var oO=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){if(this.children.length===2){var e=this.getVariables(),t=e[0],n=e[1];if((t.baseType==="integer"||t.baseType==="float")&&(n.baseType==="integer"||n.baseType==="float"))return+t.value<+n.value;console.error("unexpected baseType or cardinality in qti lt")}return console.error("unexpected number of children in lt"),null}}]);return t}(ow);customElements.define("qti-lt",oO);var oU=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){if(this.children.length===2){var e=this.getVariables(),t=e[0],n=e[1];return(t.baseType==="integer"||t.baseType==="float")&&(n.baseType==="integer"||n.baseType==="float")?+t.value<=+n.value:(console.error("unexpected baseType or cardinality in qti lte"),null)}return console.log("unexpected number of children in lte"),null}}]);return t}(oE);customElements.define("qti-lte",oU);var o$=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){var e=this;var t=this.context.variables.find(function(t){return t.identifier===e.identifier});if(!t||!t.mapping)return console.error("Response ".concat(this.identifier," can not be found")),null;var n=t.mapping,r=Array.isArray(t.value)?t.value:[t.value],i=0;var o=true,a=false,s=undefined;try{var l=function(){var e=c.value;var r=n.mapEntries.filter(function(n){return t.baseType==="string"&&!n.caseSensitive?oR.compareSingleValues(n.mapKey.toLowerCase(),e.toLowerCase(),t.baseType):oR.compareSingleValues(n.mapKey,e,t.baseType)}),o=r.reduce(function(e,t){return e.mappedValue>t.mappedValue?e:t},r.length>0?r[0]:{mapKey:null,mappedValue:null});o===null||o.mappedValue==null?i+=n.defaultValue:i+=o.mappedValue};for(var u=r[Symbol.iterator](),c;!(o=(c=u.next()).done);o=true)l()}catch(e){a=true;s=e}finally{try{if(!o&&u.return!=null){u.return()}}finally{if(a){throw s}}}return(n===null||n===void 0?void 0:n.lowerBound)!==null&&(n===null||n===void 0?void 0:n.lowerBound)!==void 0&&(i=Math.max(n.lowerBound,i)),(n===null||n===void 0?void 0:n.upperBound)!==null&&(n===null||n===void 0?void 0:n.upperBound)!==void 0&&(i=Math.min(n.upperBound,i)),i}}]);return t}(ow);tF([r({type:String})],o$.prototype,"identifier",2);customElements.define("qti-map-response",o$);var oL=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.getVariables=function(){return Array.from(e.children).map(function(t){switch(t.tagName.toLowerCase()){case"qti-base-value":return{baseType:t.getAttribute("base-type"),value:t.textContent.trim(),cardinality:"single"};case"qti-variable":{var n=t.getAttribute("identifier")||"";return e.context.variables.find(function(e){return e.identifier===n})||null}case"qti-multiple":{var r=t.getResult();return r.length>0?{identifier:"",baseType:r[0].baseType,value:r.map(function(e){return e.value}),cardinality:"multiple",type:"response"}:null}case"qti-correct":{var i=t.getAttribute("identifier")||"",o=e.context.variables.find(function(e){return e.identifier===i})||null;return{baseType:o.baseType,value:o.correctResponse,cardinality:o.cardinality}}default:{try{return{baseType:"integer",value:t.getResult().toString(),cardinality:"single"}}catch(e){console.warn("default not sufficient")}return null}}}).filter(function(e){return e!==null})};return e}c(t,[{key:"render",value:function e(){return rl(tg(),JSON.stringify(this.result,null,2))}},{key:"calculate",value:function e(){return this.result=this.getResult(),this.result}},{key:"getResult",value:function e(){throw new Error("Not implemented")}}]);return t}(rP);oL.styles=nC(tb()),tF([i()],oL.prototype,"result",2),tF([t({context:rL,subscribe:!0}),i()],oL.prototype,"context",2);var oN=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){var e=this;var t=this.context.variables.find(function(t){return t.identifier===e.identifier});if(!t)return console.warn("Response ".concat(this.identifier," cannot be found")),null;var n=t.areaMapping;if(!n)return console.warn("Area mapping not found for response ".concat(this.identifier)),null;var r=Array.isArray(t.value)?t.value:[t.value];if(!r||r.length===0)return console.warn("No candidate responses for response ".concat(this.identifier)),null;var i=0,o=new Set;var a=true,s=false,l=undefined,u=true,c=false,d=undefined;try{for(var h=r[Symbol.iterator](),f;!(u=(f=h.next()).done);u=true){var p=f.value;try{for(var v=n.areaMapEntries[Symbol.iterator](),y;!(a=(y=v.next()).done);a=true){var m=y.value;if(o.has(m.coords))continue;var g;oR.isPointInArea(p,"".concat(m.shape,",").concat(m.coords),t.baseType)&&(i+=(g=m.mappedValue)!==null&&g!==void 0?g:0,o.add(m.coords))}}catch(e){s=true;l=e}finally{try{if(!a&&v.return!=null){v.return()}}finally{if(s){throw l}}}}}catch(e){c=true;d=e}finally{try{if(!u&&h.return!=null){h.return()}}finally{if(c){throw d}}}return o.size<r.length&&(i+=n.defaultValue),n.lowerBound!=null&&(i=Math.max(n.lowerBound,i)),n.upperBound!=null&&(i=Math.min(n.upperBound,i)),i}}]);return t}(oL);tF([r({type:String})],oN.prototype,"identifier",2);customElements.define("qti-map-response-point",oN);var oD=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){if(this.children.length===2){var e=this.getVariables(),n=e[0],r=e[1];return t.match(n,r)}return console.error("unexpected number of children in match"),null}}],[{key:"match",value:function e(e,t){switch(t.cardinality){case"single":var n;return e.value===null?!1:Array.isArray(e.value)||Array.isArray(t.value)?(console.error("unexpected cardinality in qti match"),!1):oR.compareSingleValues((n=e.value)===null||n===void 0?void 0:n.toString(),t.value.toString(),t.baseType);case"ordered":{if(!Array.isArray(e.value)||!Array.isArray(t.value))return console.error("unexpected cardinality in qti match"),!1;if(e.value.length!==t.value.length)return!1;for(var r=0;r<e.value.length;r++)if(!oR.compareSingleValues(t.value[r],e.value[r],t.baseType))return!1;return!0}case"multiple":{if(!Array.isArray(e.value)||!Array.isArray(t.value))return console.error("unexpected cardinality in qti match"),!1;if(e.value.length!==t.value.length)return!1;var i=0;var o=true,a=false,s=undefined;try{for(var l=t.value[Symbol.iterator](),u;!(o=(u=l.next()).done);o=true){var c=u.value;var d=null,h=M(e.value);var f=true,p=false,v=undefined;try{for(var y=h[Symbol.iterator](),m;!(f=(m=y.next()).done);f=true){var g=m.value;if(oR.compareSingleValues(c,g,t.baseType)){d=g;break}}}catch(e){p=true;v=e}finally{try{if(!f&&y.return!=null){y.return()}}finally{if(p){throw v}}}if(d!==null)h.splice(h.indexOf(d),1);else return!1;i++}}catch(e){a=true;s=e}finally{try{if(!o&&l.return!=null){l.return()}}finally{if(a){throw s}}}return!0}default:return console.error("unexpected cardinality in qti match"),!1}}}]);return t}(ow);customElements.define("qti-match",oD);var oV=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){var e=this.getVariables();this.children.length!==2&&console.warn("The member operator takes two sub-expressions");var t=C(e,2),n=t[0],r=t[1];if(n.baseType===r.baseType||n.baseType==="integer"&&r.baseType==="float"||n.baseType==="float"&&r.baseType==="integer"||console.warn("Which must both have the same base-type"),r.cardinality==="multiple"||r.cardinality==="ordered"||console.warn("and the second must be a multiple or ordered container"),(n.baseType==="float"||r.baseType==="float")&&console.warn("The member operator should not be used on sub-expressions with a base-type of float"),(n.baseType==="duration"||r.baseType==="duration")&&console.warn("It must not be used on sub-expressions with a base-type of duration"),n.value===null||r.value===null)return null;var i=n.value;return r.value.includes(i)}}]);return t}(ow);customElements.define("qti-member",oV);var oj=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){var e=this.getVariables();if(e.length===0)return console.error("unexpected number of children in qti multiple"),null;var t=true,n=false,r=undefined;try{for(var i=e[Symbol.iterator](),o;!(t=(o=i.next()).done);t=true){var a=o.value;if(a.cardinality!=="multiple"&&a.cardinality!=="single")return console.error("unexpected cardinality in qti multiple"),[]}}catch(e){n=true;r=e}finally{try{if(!t&&i.return!=null){i.return()}}finally{if(n){throw r}}}return e}}]);return t}(ow);customElements.define("qti-multiple",oj);var oH=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return rl(t_(),h(f(t.prototype),"render",this).call(this))}},{key:"getResult",value:function e(){return!this.firstElementChild.calculate()}}]);return t}(ow);customElements.define("qti-not",oH);var oz=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){return Array.from(this.children).map(function(e){var t=e;if(!t.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;var n=t.calculate(),r=!1;if(typeof n=="string")if(n==="true")r=!0;else if(n==="false")r=!1;else return console.error("unexpected val in qti-or, expected boolean"),null;else typeof n=="boolean"&&(r=n);return r}).some(function(e){return typeof e=="boolean"&&e})}}]);return t}(oE);customElements.define("qti-or",oz);var oQ=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){var e=this.getVariables();if(e.length===0)return console.error("unexpected number of children in qti multiple"),null;var t=true,n=false,r=undefined;try{for(var i=e[Symbol.iterator](),o;!(t=(o=i.next()).done);t=true){var a=o.value;if(a.cardinality!=="ordered"&&a.cardinality!=="single")return console.error("unexpected cardinality in qti ordered"),[]}}catch(e){n=true;r=e}finally{try{if(!t&&i.return!=null){i.return()}}finally{if(n){throw r}}}return e}}]);return t}(ow);customElements.define("qti-ordered",oQ);var oF=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){var e=this;var t,n;var r=(n=this.context)===null||n===void 0?void 0:(t=n.variables.find(function(t){return t.identifier===e.identifier}))===null||t===void 0?void 0:t.value;return r===null?rh:rl(tk(),JSON.stringify(r,null,2))}},{key:"calculate",value:function e(){var e=this;return this.context.variables.find(function(t){return t.identifier===e.identifier})||null}}]);return t}(rP);tF([r({type:String})],oF.prototype,"identifier",2),tF([t({context:rL,subscribe:!0}),i()],oF.prototype,"context",2);customElements.define("qti-printed-variable",oF);var oB=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){return this.getVariables().reduce(function(e,t){if(t.baseType=="float"||t.baseType=="integer")try{return e*parseInt(t.value.toString())}catch(e){console.warn("can not convert to number")}else console.warn("has another baseType ".concat(t.baseType));return e},1)}}]);return t}(ow);customElements.define("qti-product",oB);var oW=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){return this.calculateChildren(Array.from(this.children))}}]);return t}(t$(ow));customElements.define("qti-subtract",oW);var oJ=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.caseSensitive="true";return e}c(t,[{key:"getResult",value:function e(){if(this.children.length===2){var e=this.getVariables(),t=e[0],n=e[1];if(t.cardinality!=="single"||n.cardinality!=="single"||Array.isArray(t.value)||Array.isArray(n.value))return console.error("unexpected cardinality in qti string-match"),!1;var r=this.caseSensitive==="true"?t.value:t.value.toLowerCase(),i=this.caseSensitive==="true"?n.value:n.value.toLowerCase();return oR.compareSingleValues(r,i,t.baseType)}return console.error("unexpected number of children in qti-string-match"),null}}]);return t}(ow);tF([r({type:String,attribute:"case-sensitive"})],oJ.prototype,"caseSensitive",2);customElements.define("qti-string-match",oJ);var oG=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t),e._expression=new oX(Array.from(e.children));return e}c(t,[{key:"getResult",value:function e(){return this._expression.calculate()}}]);return t}(ow),oX=/*#__PURE__*/function(){"use strict";function e(t){s(this,e);this.expressions=t}c(e,[{key:"calculate",value:function e(){return this.expressions.map(function(e){if(!e.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;var t=e.calculate();return Number.isNaN(t)?(console.error("unexpected value in qti-sum, expected number"),null):Number(t)}).reduce(function(e,t){return e+t},0)}}]);return e}();customElements.define("qti-sum",oG);var oY=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){var e=this.getAttribute("identifier");return this.context.variables.find(function(t){return t.identifier===e}).value}}]);return t}(ow);customElements.define("qti-variable",oY);var oK=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){var e=this.getVariables();if(e.length===1){var t=e[0].value;if(Array.isArray(t)){var n=Math.floor(Math.random()*t.length);return t[n]}return t}return console.error("unexpected number of children in match"),null}}]);return t}(ow);customElements.define("qti-random",oK);var oZ=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){if(this.children.length===2){var e=this.getVariables(),t=e[0],n=e[1];return t.cardinality!=="single"||!Array.isArray(n.value)?(console.error("unexpected cardinality in qti equal"),null):e[0].baseType!==e[1].baseType?(console.error("The baseType of the two variables is different"),null):n.value.filter(function(e){return!t.value.includes(e)})}}}]);return t}(oL);customElements.define("qti-delete",oZ);var o0=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return rl(tw())}}]);return t}(rP);o0=tF([rT("qti-content-body")],o0);var o1=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"handleclassNamesChange",value:function e(){var e=this;this.classNames.split(" ").forEach(function(t){switch(t){case"qti-rubric-discretionary-placement":e.setAttribute("slot","qti-rubric-block");break;case"qti-rubric-inline":e.setAttribute("slot","");break;default:break}})}},{key:"render",value:function e(){return rl(tE())}}]);return t}(rP);o1.styles=nC(tx()),tF([r({type:String})],o1.prototype,"id",2),tF([r({type:String})],o1.prototype,"use",2),tF([r({type:String})],o1.prototype,"view",2),tF([r({type:String,attribute:"class"})],o1.prototype,"classNames",2),tF([y("classNames",{waitUntilFirstUpdate:!0})],o1.prototype,"handleclassNamesChange",1),o1=tF([rT("qti-rubric-block")],o1);var o2=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.styleElement=null;return e}c(t,[{key:"firstUpdated",value:function e(e){var n=this;h(f(t.prototype),"firstUpdated",this).call(this,e);var r=this.getAttribute("href");if(r!==null&&fetch(r).then(function(e){return e.text()}).then(function(e){var t=n.minifyCss(e);n.styleElement=document.createElement("style"),n.styleElement.media="screen",n.styleElement.textContent="@scope {".concat(t,"}"),n.parentElement?n.parentElement.appendChild(n.styleElement):console.warn("No parent element to append the scoped stylesheet to.")}).catch(function(e){console.error("Failed to load stylesheet:",e)}),this.textContent!==null&&this.textContent.trim()!==""){var i=this.minifyCss(this.textContent);this.styleElement=document.createElement("style"),this.styleElement.media="screen",this.styleElement.textContent="@scope {".concat(i,"}"),this.parentElement?this.parentElement.appendChild(this.styleElement):console.warn("No parent element to append the scoped stylesheet to.")}}},{key:"minifyCss",value:function e(e){return e.replace(/\/\*[\s\S]*?\*\//g,"").replace(/\s+/g," ").replace(/\s*([{}:;])\s*/g,"$1").trim()}},{key:"disconnectedCallback",value:function e(){if(this.styleElement)try{this.styleElement.remove()}catch(e){console.error("Could not remove stylesheet:",e)}h(f(t.prototype),"disconnectedCallback",this).call(this)}}]);return t}(rP);o2=tF([rT("qti-stylesheet")],o2);var o3=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return rl(tq())}},{key:"defaultValues",value:function e(e){var t=Array.from(this.querySelectorAll("qti-default-value > qti-value"));if(t.length===0)return null;var n=t.map(function(e){return e.innerHTML.trim()});return n.length>1||e.cardinality==="multiple"||e.cardinality==="ordered"?n:n[0]}}]);return t}(rP);o3=tF([rT("qti-variabledeclaration")],o3);var o5=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.externalScored=null;return e}c(t,[{key:"render",value:function e(){var e=this;var t,n;var r=(n=this.itemContext)===null||n===void 0?void 0:(t=n.variables.find(function(t){return t.identifier===e.identifier}))===null||t===void 0?void 0:t.value;return rl(tA(),JSON.stringify(r,null,2))}},{key:"interpolationTable",get:function e(){var e=this.querySelector("qti-interpolation-table");if(e){var t=new Map;var n=true,r=false,i=undefined;try{for(var o=e.querySelectorAll("qti-interpolation-table-entry")[Symbol.iterator](),a;!(n=(a=o.next()).done);n=true){var s=a.value;!s.getAttribute("source-value")&&s.getAttribute("target-value")&&console.error("source-value or target-value is missing in qti-interpolation-table-entry");var l=parseInt(s.getAttribute("source-value")),u=parseInt(s.getAttribute("target-value"));(isNaN(l)||isNaN(u))&&console.error("source-value or target-value is not a number in qti-interpolation-table-entry"),t.set(l,u)}}catch(e){r=true;i=e}finally{try{if(!n&&o.return!=null){o.return()}}finally{if(r){throw i}}}return t}return null}},{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this);var e={identifier:this.identifier,cardinality:this.cardinality,baseType:this.baseType,type:"outcome",value:null,interpolationTable:this.interpolationTable,externalScored:this.externalScored};e.value=this.defaultValues(e),(e.value===null||e.value==null)&&(e.baseType==="integer"||e.baseType==="float")&&(e.value="0"),this.dispatchEvent(new CustomEvent("qti-register-variable",{bubbles:!0,composed:!0,detail:{variable:e}}))}}]);return t}(o3);o5.styles=[nC(tS())],tF([r({type:String,attribute:"base-type"})],o5.prototype,"baseType",2),tF([r({type:String,attribute:"external-scored"})],o5.prototype,"externalScored",2),tF([r({type:String})],o5.prototype,"identifier",2),tF([r({type:String})],o5.prototype,"cardinality",2),tF([t({context:rL,subscribe:!0}),i()],o5.prototype,"itemContext",2),o5=tF([rT("qti-outcome-declaration")],o5);var o4=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){var e=this;var t,n;var r=(n=this.itemContext)===null||n===void 0?void 0:(t=n.variables.find(function(t){return t.identifier===e.identifier}))===null||t===void 0?void 0:t.value;return rl(tC(),JSON.stringify(r,null,2))}},{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this);var e={baseType:this.baseType,identifier:this.identifier,correctResponse:this.correctResponse,cardinality:this.cardinality||"single",mapping:this.mapping,areaMapping:this.areaMapping,value:null,type:"response",candidateResponse:null};e.value=this.defaultValues(e),this.dispatchEvent(new CustomEvent("qti-register-variable",{bubbles:!0,composed:!0,detail:{variable:e}}))}},{key:"correctResponse",get:function e(){var e,t=this.querySelector("qti-correct-response");if(t){var n=t.querySelectorAll("qti-value");if(this.cardinality==="single"&&n.length>0)e=n[0].textContent.trim(),n[0].remove();else if(this.cardinality!=="single"){e=[];for(var r=0;r<n.length;r++)e.push(n[r].textContent.trim()),n[r].remove()}}return e}},{key:"mapping",get:function e(){var e=this.querySelector("qti-mapping"),t=parseInt(e===null||e===void 0?void 0:e.getAttribute("lower-bound")),n=parseInt(e===null||e===void 0?void 0:e.getAttribute("upper-bound"));return{defaultValue:Number(e===null||e===void 0?void 0:e.getAttribute("default-value"))||0,lowerBound:isNaN(t)?null:t,upperBound:isNaN(n)?null:n,mapEntries:Array.from((e===null||e===void 0?void 0:e.querySelectorAll("qti-map-entry"))||[]).map(function(e){return{mapKey:e.getAttribute("map-key")||"",mappedValue:Number(e.getAttribute("mapped-value"))||0,caseSensitive:e.hasAttribute("case-sensitive")?e.getAttribute("case-sensitive")!=="false":!0}})}}},{key:"areaMapping",get:function e(){var e=this.querySelector("qti-area-mapping"),t=Number(e===null||e===void 0?void 0:e.getAttribute("default-value"))||0,n=parseInt(e===null||e===void 0?void 0:e.getAttribute("lower-bound")),r=parseInt(e===null||e===void 0?void 0:e.getAttribute("upper-bound")),i=Array.from((e===null||e===void 0?void 0:e.querySelectorAll("qti-area-map-entry"))||[]).map(function(e){return{shape:e.getAttribute("shape")||"default",coords:e.getAttribute("coords")||"",mappedValue:Number(e.getAttribute("mapped-value"))||0,defaultValue:Number(e.getAttribute("default-value"))||0}});return{defaultValue:t,lowerBound:isNaN(n)?null:n,upperBound:isNaN(r)?null:r,areaMapEntries:i}}}]);return t}(o3);o4.styles=[nC(tR())],tF([r({type:String,attribute:"base-type"})],o4.prototype,"baseType",2),tF([r({type:String})],o4.prototype,"identifier",2),tF([r({type:String})],o4.prototype,"cardinality",2),tF([t({context:rL,subscribe:!0}),i()],o4.prototype,"itemContext",2),o4=tF([rT("qti-response-declaration")],o4);return tQ(tB)}();