2022-2023/2gt1/230224_DS4/Ds4.ipynb

4479 lines
3.7 MiB
Plaintext
Raw Normal View History

2023-02-28 15:02:27 +00:00
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "25b1d95f",
"metadata": {
"execution": {
"iopub.execute_input": "2023-02-28T14:59:26.060875Z",
"iopub.status.busy": "2023-02-28T14:59:26.060368Z",
"iopub.status.idle": "2023-02-28T14:59:26.763612Z",
"shell.execute_reply": "2023-02-28T14:59:26.763926Z"
},
"extensions": {
"jupyter_dashboards": {
"version": 1,
"views": {
"grid_default": {},
"report_default": {
"hidden": true
}
}
}
},
"papermill": {
"duration": 0.756539,
"end_time": "2023-02-28T14:59:26.764050",
"exception": false,
"start_time": "2023-02-28T14:59:26.007511",
"status": "completed"
},
"slideshow": {
"slide_type": "skip"
},
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
" <script type=\"text/javascript\">\n",
" window.PlotlyConfig = {MathJaxConfig: 'local'};\n",
" if (window.MathJax) {MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}\n",
" if (typeof require !== 'undefined') {\n",
" require.undef(\"plotly\");\n",
" define('plotly', function(require, exports, module) {\n",
" /**\n",
"* plotly.js v2.8.3\n",
"* Copyright 2012-2021, Plotly, Inc.\n",
"* All rights reserved.\n",
"* Licensed under the MIT license\n",
"*/\n",
"!function(t){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=t();else if(\"function\"==typeof define&&define.amd)define([],t);else{(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).Plotly=t()}}((function(){return function t(e,r,n){function i(o,s){if(!r[o]){if(!e[o]){var l=\"function\"==typeof require&&require;if(!s&&l)return l(o,!0);if(a)return a(o,!0);var c=new Error(\"Cannot find module '\"+o+\"'\");throw c.code=\"MODULE_NOT_FOUND\",c}var u=r[o]={exports:{}};e[o][0].call(u.exports,(function(t){return i(e[o][1][t]||t)}),u,u.exports,t,e,r,n)}return r[o].exports}for(var a=\"function\"==typeof require&&require,o=0;o<n.length;o++)i(n[o]);return i}({1:[function(t,e,r){\"use strict\";var n=t(\"../src/lib\"),i={\"X,X div\":'direction:ltr;font-family:\"Open Sans\",verdana,arial,sans-serif;margin:0;padding:0;',\"X input,X button\":'font-family:\"Open Sans\",verdana,arial,sans-serif;',\"X input:focus,X button:focus\":\"outline:none;\",\"X a\":\"text-decoration:none;\",\"X a:hover\":\"text-decoration:none;\",\"X .crisp\":\"shape-rendering:crispEdges;\",\"X .user-select-none\":\"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;\",\"X svg\":\"overflow:hidden;\",\"X svg a\":\"fill:#447adb;\",\"X svg a:hover\":\"fill:#3c6dc5;\",\"X .main-svg\":\"position:absolute;top:0;left:0;pointer-events:none;\",\"X .main-svg .draglayer\":\"pointer-events:all;\",\"X .cursor-default\":\"cursor:default;\",\"X .cursor-pointer\":\"cursor:pointer;\",\"X .cursor-crosshair\":\"cursor:crosshair;\",\"X .cursor-move\":\"cursor:move;\",\"X .cursor-col-resize\":\"cursor:col-resize;\",\"X .cursor-row-resize\":\"cursor:row-resize;\",\"X .cursor-ns-resize\":\"cursor:ns-resize;\",\"X .cursor-ew-resize\":\"cursor:ew-resize;\",\"X .cursor-sw-resize\":\"cursor:sw-resize;\",\"X .cursor-s-resize\":\"cursor:s-resize;\",\"X .cursor-se-resize\":\"cursor:se-resize;\",\"X .cursor-w-resize\":\"cursor:w-resize;\",\"X .cursor-e-resize\":\"cursor:e-resize;\",\"X .cursor-nw-resize\":\"cursor:nw-resize;\",\"X .cursor-n-resize\":\"cursor:n-resize;\",\"X .cursor-ne-resize\":\"cursor:ne-resize;\",\"X .cursor-grab\":\"cursor:-webkit-grab;cursor:grab;\",\"X .modebar\":\"position:absolute;top:2px;right:2px;\",\"X .ease-bg\":\"-webkit-transition:background-color .3s ease 0s;-moz-transition:background-color .3s ease 0s;-ms-transition:background-color .3s ease 0s;-o-transition:background-color .3s ease 0s;transition:background-color .3s ease 0s;\",\"X .modebar--hover>:not(.watermark)\":\"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;\",\"X:hover .modebar--hover .modebar-group\":\"opacity:1;\",\"X .modebar-group\":\"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;\",\"X .modebar-btn\":\"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;\",\"X .modebar-btn svg\":\"position:relative;top:2px;\",\"X .modebar.vertical\":\"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;\",\"X .modebar.vertical svg\":\"top:-1px;\",\"X .modebar.vertical .modebar-group\":\"display:block;float:none;padding-left:0px;padding-bottom:8px;\",\"X .modebar.vertical .modebar-group .modebar-btn\":\"display:block;text-align:center;\",\"X [data-title]:before,X [data-title]:after\":\"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;\",\"X [data-title]:hover:before,X [data-title]:hover:after\":\"display:block;opacity:1;\",\"X [data-title]:before\":'content:\"\";position:absolute;background:transparent;border:6px solid transparent;z-index:10
"/*!\n",
" * The buffer module from node.js, for the browser.\n",
" *\n",
" * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n",
" * @license MIT\n",
" */function i(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i<a;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0}function a(t){return r.Buffer&&\"function\"==typeof r.Buffer.isBuffer?r.Buffer.isBuffer(t):!(null==t||!t._isBuffer)}var o=t(\"util/\"),s=Object.prototype.hasOwnProperty,l=Array.prototype.slice,c=\"foo\"===function(){}.name;function u(t){return Object.prototype.toString.call(t)}function f(t){return!a(t)&&(\"function\"==typeof r.ArrayBuffer&&(\"function\"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):!!t&&(t instanceof DataView||!!(t.buffer&&t.buffer instanceof ArrayBuffer))))}var h=e.exports=y,p=/\\s*function\\s+([^\\(\\s]*)\\s*/;function d(t){if(o.isFunction(t)){if(c)return t.name;var e=t.toString().match(p);return e&&e[1]}}function m(t,e){return\"string\"==typeof t?t.length<e?t:t.slice(0,e):t}function g(t){if(c||!o.isFunction(t))return o.inspect(t);var e=d(t);return\"[Function\"+(e?\": \"+e:\"\")+\"]\"}function v(t,e,r,n,i){throw new h.AssertionError({message:r,actual:t,expected:e,operator:n,stackStartFunction:i})}function y(t,e){t||v(t,!0,e,\"==\",h.ok)}function x(t,e,r,n){if(t===e)return!0;if(a(t)&&a(e))return 0===i(t,e);if(o.isDate(t)&&o.isDate(e))return t.getTime()===e.getTime();if(o.isRegExp(t)&&o.isRegExp(e))return t.source===e.source&&t.global===e.global&&t.multiline===e.multiline&&t.lastIndex===e.lastIndex&&t.ignoreCase===e.ignoreCase;if(null!==t&&\"object\"==typeof t||null!==e&&\"object\"==typeof e){if(f(t)&&f(e)&&u(t)===u(e)&&!(t instanceof Float32Array||t instanceof Float64Array))return 0===i(new Uint8Array(t.buffer),new Uint8Array(e.buffer));if(a(t)!==a(e))return!1;var s=(n=n||{actual:[],expected:[]}).actual.indexOf(t);return-1!==s&&s===n.expected.indexOf(e)||(n.actual.push(t),n.expected.push(e),function(t,e,r,n){if(null==t||null==e)return!1;if(o.isPrimitive(t)||o.isPrimitive(e))return t===e;if(r&&Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var i=b(t),a=b(e);if(i&&!a||!i&&a)return!1;if(i)return t=l.call(t),e=l.call(e),x(t,e,r);var s,c,u=T(t),f=T(e);if(u.length!==f.length)return!1;for(u.sort(),f.sort(),c=u.length-1;c>=0;c--)if(u[c]!==f[c])return!1;for(c=u.length-1;c>=0;c--)if(s=u[c],!x(t[s],e[s],r,n))return!1;return!0}(t,e,r,n))}return r?t===e:t==e}function b(t){return\"[object Arguments]\"==Object.prototype.toString.call(t)}function _(t,e){if(!t||!e)return!1;if(\"[object RegExp]\"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function w(t,e,r,n){var i;if(\"function\"!=typeof e)throw new TypeError('\"block\" argument must be a function');\"string\"==typeof r&&(n=r,r=null),i=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&&r.name?\" (\"+r.name+\").\":\".\")+(n?\" \"+n:\".\"),t&&!i&&v(i,r,\"Missing expected exception\"+n);var a=\"string\"==typeof n,s=!t&&i&&!r;if((!t&&o.isError(i)&&a&&_(i,r)||s)&&v(i,r,\"Got unwanted exception\"+n),t&&i&&r&&!_(i,r)||!t&&i)throw i}h.AssertionError=function(t){this.name=\"AssertionError\",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=function(t){return m(g(t.actual),128)+\" \"+t.operator+\" \"+m(g(t.expected),128)}(this),this.generatedMessage=!0);var e=t.stackStartFunction||v;if(Error.captureStackTrace)Error.captureStackTrace(this,e);else{var r=new Error;if(r.stack){var n=r.stack,i=d(e),a=n.indexOf(\"\\n\"+i);if(a>=0){var o=n.indexOf(\"\\n\",a+1);n=n.substring(o+1)}this.stack=n}}},o.inherits(h.AssertionError,Error),h.fail=v,h.ok=y,h.equal=function(t,e,r){t!=e&&v(t,e,r,\"==\",h.equal)},h.notEqual=function(t,e,r){t==e&&v(t,e,r,\"!=\",h.notEqual)},h.deepEqual=function(t,e,r){x(t,e,!1)||v(t,e,r,\"deepEqual\",h.deepEqual)},h.deepStrictEqual=function(t,e,r){x(t,e,!0)||v(t,e,r,\"deepStrictEqual\",h.deepStrictEqual)},h.notDeepEqual=function(t,e,r){x(t,e,!1)&&v(t,e,r,\"notDeepEqual\",h.notDeepEqual)},h.notDeepStrictEqual=function t(e,r,n){x(e,r,!0)&&v(e,r,n,\"notDeepStrictEqual\",t)},h.strictEqual=function(t,e
"/*!\n",
" * The buffer module from node.js, for the browser.\n",
" *\n",
" * @author Feross Aboukhadijeh <https://feross.org>\n",
" * @license MIT\n",
" */\n",
"\"use strict\";var e=t(\"base64-js\"),n=t(\"ieee754\");r.Buffer=a,r.SlowBuffer=function(t){+t!=t&&(t=0);return a.alloc(+t)},r.INSPECT_MAX_BYTES=50;function i(t){if(t>2147483647)throw new RangeError('The value \"'+t+'\" is invalid for option \"size\"');var e=new Uint8Array(t);return e.__proto__=a.prototype,e}function a(t,e,r){if(\"number\"==typeof t){if(\"string\"==typeof e)throw new TypeError('The \"string\" argument must be of type string. Received type number');return l(t)}return o(t,e,r)}function o(t,e,r){if(\"string\"==typeof t)return function(t,e){\"string\"==typeof e&&\"\"!==e||(e=\"utf8\");if(!a.isEncoding(e))throw new TypeError(\"Unknown encoding: \"+e);var r=0|f(t,e),n=i(r),o=n.write(t,e);o!==r&&(n=n.slice(0,o));return n}(t,e);if(ArrayBuffer.isView(t))return c(t);if(null==t)throw TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof t);if(B(t,ArrayBuffer)||t&&B(t.buffer,ArrayBuffer))return function(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('\"offset\" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('\"length\" is outside of buffer bounds');var n;n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r);return n.__proto__=a.prototype,n}(t,e,r);if(\"number\"==typeof t)throw new TypeError('The \"value\" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return a.from(n,e,r);var o=function(t){if(a.isBuffer(t)){var e=0|u(t.length),r=i(e);return 0===r.length||t.copy(r,0,0,e),r}if(void 0!==t.length)return\"number\"!=typeof t.length||N(t.length)?i(0):c(t);if(\"Buffer\"===t.type&&Array.isArray(t.data))return c(t.data)}(t);if(o)return o;if(\"undefined\"!=typeof Symbol&&null!=Symbol.toPrimitive&&\"function\"==typeof t[Symbol.toPrimitive])return a.from(t[Symbol.toPrimitive](\"string\"),e,r);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof t)}function s(t){if(\"number\"!=typeof t)throw new TypeError('\"size\" argument must be of type number');if(t<0)throw new RangeError('The value \"'+t+'\" is invalid for option \"size\"')}function l(t){return s(t),i(t<0?0:0|u(t))}function c(t){for(var e=t.length<0?0:0|u(t.length),r=i(e),n=0;n<e;n+=1)r[n]=255&t[n];return r}function u(t){if(t>=2147483647)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+2147483647..toString(16)+\" bytes\");return 0|t}function f(t,e){if(a.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||B(t,ArrayBuffer))return t.byteLength;if(\"string\"!=typeof t)throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":return D(t).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*r;case\"hex\":return r>>>1;case\"base64\":return R(t).length;default:if(i)return n?-1:D(t).length;e=(\"\"+e).toLowerCase(),i=!0}}function h(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return\"\";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return\"\";if((r>>>=0)<=(e>>>=0))return\"\";for(t||(t=\"utf8\");;)switch(t){case\"hex\":return M(this,e,r);case\"utf8\":case\"utf-8\":return T(this,e,r);case\"ascii\":return k(this,e,r);case\"latin1\":case\"binary\":return A(this,e,r);case\"base64\":return w(this,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return S(this,e,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+t);t=(t+\"\").toLowerCase(),n=!0}}function p(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function d(t,e,r,n,i){if(0===t.length)return-1;if(\"string\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),N(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}i
"/*! Native Promise Only\n",
" v0.8.1 (c) Kyle Simpson\n",
" MIT License: http://getify.mit-license.org\n",
"*/\n",
"!function(t,r,n){r[t]=r[t]||n(),void 0!==e&&e.exports&&(e.exports=r[t])}(\"Promise\",void 0!==t?t:this,(function(){\"use strict\";var t,e,n,i=Object.prototype.toString,a=void 0!==r?function(t){return r(t)}:setTimeout;try{Object.defineProperty({},\"x\",{}),t=function(t,e,r,n){return Object.defineProperty(t,e,{value:r,writable:!0,configurable:!1!==n})}}catch(e){t=function(t,e,r){return t[e]=r,t}}function o(t,r){n.add(t,r),e||(e=a(n.drain))}function s(t){var e,r=typeof t;return null==t||\"object\"!=r&&\"function\"!=r||(e=t.then),\"function\"==typeof e&&e}function l(){for(var t=0;t<this.chain.length;t++)c(this,1===this.state?this.chain[t].success:this.chain[t].failure,this.chain[t]);this.chain.length=0}function c(t,e,r){var n,i;try{!1===e?r.reject(t.msg):(n=!0===e?t.msg:e.call(void 0,t.msg))===r.promise?r.reject(TypeError(\"Promise-chain cycle\")):(i=s(n))?i.call(n,r.resolve,r.reject):r.resolve(n)}catch(t){r.reject(t)}}function u(t){var e,r=this;if(!r.triggered){r.triggered=!0,r.def&&(r=r.def);try{(e=s(t))?o((function(){var n=new p(r);try{e.call(t,(function(){u.apply(n,arguments)}),(function(){f.apply(n,arguments)}))}catch(t){f.call(n,t)}})):(r.msg=t,r.state=1,r.chain.length>0&&o(l,r))}catch(t){f.call(new p(r),t)}}}function f(t){var e=this;e.triggered||(e.triggered=!0,e.def&&(e=e.def),e.msg=t,e.state=2,e.chain.length>0&&o(l,e))}function h(t,e,r,n){for(var i=0;i<e.length;i++)!function(i){t.resolve(e[i]).then((function(t){r(i,t)}),n)}(i)}function p(t){this.def=t,this.triggered=!1}function d(t){this.promise=t,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function m(t){if(\"function\"!=typeof t)throw TypeError(\"Not a function\");if(0!==this.__NPO__)throw TypeError(\"Not a promise\");this.__NPO__=1;var e=new d(this);this.then=function(t,r){var n={success:\"function\"!=typeof t||t,failure:\"function\"==typeof r&&r};return n.promise=new this.constructor((function(t,e){if(\"function\"!=typeof t||\"function\"!=typeof e)throw TypeError(\"Not a function\");n.resolve=t,n.reject=e})),e.chain.push(n),0!==e.state&&o(l,e),n.promise},this.catch=function(t){return this.then(void 0,t)};try{t.call(void 0,(function(t){u.call(e,t)}),(function(t){f.call(e,t)}))}catch(t){f.call(e,t)}}n=function(){var t,r,n;function i(t,e){this.fn=t,this.self=e,this.next=void 0}return{add:function(e,a){n=new i(e,a),r?r.next=n:t=n,r=n,n=void 0},drain:function(){var n=t;for(t=r=e=void 0;n;)n.fn.call(n.self),n=n.next}}}();var g=t({},\"constructor\",m,!1);return m.prototype=g,t(g,\"__NPO__\",0,!1),t(m,\"resolve\",(function(t){return t&&\"object\"==typeof t&&1===t.__NPO__?t:new this((function(e,r){if(\"function\"!=typeof e||\"function\"!=typeof r)throw TypeError(\"Not a function\");e(t)}))})),t(m,\"reject\",(function(t){return new this((function(e,r){if(\"function\"!=typeof e||\"function\"!=typeof r)throw TypeError(\"Not a function\");r(t)}))})),t(m,\"all\",(function(t){var e=this;return\"[object Array]\"!=i.call(t)?e.reject(TypeError(\"Not an array\")):0===t.length?e.resolve([]):new e((function(r,n){if(\"function\"!=typeof r||\"function\"!=typeof n)throw TypeError(\"Not a function\");var i=t.length,a=Array(i),o=0;h(e,t,(function(t,e){a[t]=e,++o===i&&r(a)}),n)}))})),t(m,\"race\",(function(t){var e=this;return\"[object Array]\"!=i.call(t)?e.reject(TypeError(\"Not an array\")):new e((function(r,n){if(\"function\"!=typeof r||\"function\"!=typeof n)throw TypeError(\"Not a function\");h(e,t,(function(t,e){r(e)}),n)}))})),m}))}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},t(\"timers\").setImmediate)},{timers:311}],246:[function(t,e,r){var n=Math.PI,i=c(120);function a(t,e,r,n){return[\"C\",t,e,r,n,r,n]}function o(t,e,r,n,i,a){return[\"C\",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function s(t,e,r,a,o,c,u,f,h,p){if(p)T=p[0],k=p[1],_=p[2],w=p[3];else{var d=l(t,e,-o);t=d.x,e=d.y;var m=(t-(f=(d=l(f,h,-o)).x))/2,g=(e-(h=d.y))/2,v=m*m/(r*r)+g*g/(a*a);v>1&&(r*=v=Math.sqrt(v),a*=v);var y=r*r,x=a*a,b=(c==u?-1:1)*Math.sqrt(Math.abs((y*x-y*g*g-x*m*m)/(y*g*g+x*m*m)));b==1/0&&(
"/*\n",
"object-assign\n",
"(c) Sindre Sorhus\n",
"@license MIT\n",
"*/\n",
"\"use strict\";var n=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;function o(t){if(null==t)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(t)}e.exports=function(){try{if(!Object.assign)return!1;var t=new String(\"abc\");if(t[5]=\"de\",\"5\"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e[\"_\"+String.fromCharCode(r)]=r;if(\"0123456789\"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(\"\"))return!1;var n={};return\"abcdefghijklmnopqrst\".split(\"\").forEach((function(t){n[t]=t})),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},n)).join(\"\")}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,s,l=o(t),c=1;c<arguments.length;c++){for(var u in r=Object(arguments[c]))i.call(r,u)&&(l[u]=r[u]);if(n){s=n(r);for(var f=0;f<s.length;f++)a.call(r,s[f])&&(l[s[f]]=r[s[f]])}}return l}},{}],248:[function(t,e,r){\"use strict\";function n(t,e){if(\"string\"!=typeof t)return[t];var r=[t];\"string\"==typeof e||Array.isArray(e)?e={brackets:e}:e||(e={});var n=e.brackets?Array.isArray(e.brackets)?e.brackets:[e.brackets]:[\"{}\",\"[]\",\"()\"],i=e.escape||\"___\",a=!!e.flat;n.forEach((function(t){var e=new RegExp([\"\\\\\",t[0],\"[^\\\\\",t[0],\"\\\\\",t[1],\"]*\\\\\",t[1]].join(\"\")),n=[];function a(e,a,o){var s=r.push(e.slice(t[0].length,-t[1].length))-1;return n.push(s),i+s+i}r.forEach((function(t,n){for(var i,o=0;t!=i;)if(i=t,t=t.replace(e,a),o++>1e4)throw Error(\"References have circular dependency. Please, check them.\");r[n]=t})),n=n.reverse(),r=r.map((function(e){return n.forEach((function(r){e=e.replace(new RegExp(\"(\\\\\"+i+r+\"\\\\\"+i+\")\",\"g\"),t[0]+\"$1\"+t[1])})),e}))}));var o=new RegExp(\"\\\\\"+i+\"([0-9]+)\\\\\"+i);return a?r:function t(e,r,n){for(var i,a=[],s=0;i=o.exec(e);){if(s++>1e4)throw Error(\"Circular references in parenthesis\");a.push(e.slice(0,i.index)),a.push(t(r[i[1]],r)),e=e.slice(i.index+i[0].length)}return a.push(e),a}(r[0],r)}function i(t,e){if(e&&e.flat){var r,n=e&&e.escape||\"___\",i=t[0];if(!i)return\"\";for(var a=new RegExp(\"\\\\\"+n+\"([0-9]+)\\\\\"+n),o=0;i!=r;){if(o++>1e4)throw Error(\"Circular references in \"+t);r=i,i=i.replace(a,s)}return i}return t.reduce((function t(e,r){return Array.isArray(r)&&(r=r.reduce(t,\"\")),e+r}),\"\");function s(e,r){if(null==t[r])throw Error(\"Reference \"+r+\"is undefined\");return t[r]}}function a(t,e){return Array.isArray(t)?i(t,e):n(t,e)}a.parse=n,a.stringify=i,e.exports=a},{}],249:[function(t,e,r){\"use strict\";var n=t(\"pick-by-alias\");e.exports=function(t){var e;arguments.length>1&&(t=arguments);\"string\"==typeof t?t=t.split(/\\s/).map(parseFloat):\"number\"==typeof t&&(t=[t]);t.length&&\"number\"==typeof t[0]?e=1===t.length?{width:t[0],height:t[0],x:0,y:0}:2===t.length?{width:t[0],height:t[1],x:0,y:0}:{x:t[0],y:t[1],width:t[2]-t[0]||0,height:t[3]-t[1]||0}:t&&(t=n(t,{left:\"x l left Left\",top:\"y t top Top\",width:\"w width W Width\",height:\"h height W Width\",bottom:\"b bottom Bottom\",right:\"r right Right\"}),e={x:t.left||0,y:t.top||0},null==t.width?t.right?e.width=t.right-e.x:e.width=0:e.width=t.width,null==t.height?t.bottom?e.height=t.bottom-e.y:e.height=0:e.height=t.height);return e}},{\"pick-by-alias\":253}],250:[function(t,e,r){e.exports=function(t){var e=[];return t.replace(i,(function(t,r,i){var o=r.toLowerCase();for(i=function(t){var e=t.match(a);return e?e.map(Number):[]}(i),\"m\"==o&&i.length>2&&(e.push([r].concat(i.splice(0,2))),o=\"l\",r=\"m\"==r?\"l\":\"L\");;){if(i.length==n[o])return i.unshift(r),e.push(i);if(i.length<n[o])throw new Error(\"malformed path data\");e.push([r].concat(i.splice(0,n[o])))}})),e};var n={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},i=/([astvzqmhlc])([^astvzqmhlc]*)/gi;var a=/-?[0-9]*\\.?[0-9]+(?:e[-+]?\\d+)?/gi},{}],251:[function(t,e,r){e.exports=function(t,e){e||(e=[0,\"\"]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",e}},{}],252:[function(t,e,r){(function(t){(function(){(function(){var r,n,
"/*\n",
" * @copyright 2016 Sean Connelly (@voidqk), http://syntheti.cc\n",
" * @license MIT\n",
" * @preserve Project Home: https://github.com/voidqk/polybooljs\n",
" */\n",
"var n,i=t(\"./lib/build-log\"),a=t(\"./lib/epsilon\"),o=t(\"./lib/intersecter\"),s=t(\"./lib/segment-chainer\"),l=t(\"./lib/segment-selector\"),c=t(\"./lib/geojson\"),u=!1,f=a();function h(t,e,r){var i=n.segments(t),a=n.segments(e),o=r(n.combine(i,a));return n.polygon(o)}n={buildLog:function(t){return!0===t?u=i():!1===t&&(u=!1),!1!==u&&u.list},epsilon:function(t){return f.epsilon(t)},segments:function(t){var e=o(!0,f,u);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:o(!1,f,u).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:l.union(t.combined,u),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:l.intersect(t.combined,u),inverted:t.inverted1&&t.inverted2}},selectDifference:function(t){return{segments:l.difference(t.combined,u),inverted:t.inverted1&&!t.inverted2}},selectDifferenceRev:function(t){return{segments:l.differenceRev(t.combined,u),inverted:!t.inverted1&&t.inverted2}},selectXor:function(t){return{segments:l.xor(t.combined,u),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:s(t.segments,f,u),inverted:t.inverted}},polygonFromGeoJSON:function(t){return c.toPolygon(n,t)},polygonToGeoJSON:function(t){return c.fromPolygon(n,f,t)},union:function(t,e){return h(t,e,n.selectUnion)},intersect:function(t,e){return h(t,e,n.selectIntersect)},difference:function(t,e){return h(t,e,n.selectDifference)},differenceRev:function(t,e){return h(t,e,n.selectDifferenceRev)},xor:function(t,e){return h(t,e,n.selectXor)}},\"object\"==typeof window&&(window.PolyBool=n),e.exports=n},{\"./lib/build-log\":255,\"./lib/epsilon\":256,\"./lib/geojson\":257,\"./lib/intersecter\":258,\"./lib/segment-chainer\":260,\"./lib/segment-selector\":261}],255:[function(t,e,r){e.exports=function(){var t,e=0,r=!1;function n(e,r){return t.list.push({type:e,data:r?JSON.parse(JSON.stringify(r)):void 0}),t}return t={list:[],segmentId:function(){return e++},checkIntersection:function(t,e){return n(\"check\",{seg1:t,seg2:e})},segmentChop:function(t,e){return n(\"div_seg\",{seg:t,pt:e}),n(\"chop\",{seg:t,pt:e})},statusRemove:function(t){return n(\"pop_seg\",{seg:t})},segmentUpdate:function(t){return n(\"seg_update\",{seg:t})},segmentNew:function(t,e){return n(\"new_seg\",{seg:t,primary:e})},segmentRemove:function(t){return n(\"rem_seg\",{seg:t})},tempStatus:function(t,e,r){return n(\"temp_status\",{seg:t,above:e,below:r})},rewind:function(t){return n(\"rewind\",{seg:t})},status:function(t,e,r){return n(\"status\",{seg:t,above:e,below:r})},vert:function(e){return e===r?t:(r=e,n(\"vert\",{x:e}))},log:function(t){return\"string\"!=typeof t&&(t=JSON.stringify(t,!1,\" \")),n(\"log\",{txt:t})},reset:function(){return n(\"reset\")},selected:function(t){return n(\"selected\",{segs:t})},chainStart:function(t){return n(\"chain_start\",{seg:t})},chainRemoveHead:function(t,e){return n(\"chain_rem_head\",{index:t,pt:e})},chainRemoveTail:function(t,e){return n(\"chain_rem_tail\",{index:t,pt:e})},chainNew:function(t,e){return n(\"chain_new\",{pt1:t,pt2:e})},chainMatch:function(t){return n(\"chain_match\",{index:t})},chainClose:function(t){return n(\"chain_close\",{index:t})},chainAddHead:function(t,e){return n(\"chain_add_head\",{index:t,pt:e})},chainAddTail:function(t,e){return n(\"chain_add_tail\",{index:t,pt:e})},chainConnect:function(t,e){return n(\"chain_con\",{index1:t,index2:e})},chainReverse:function(t){return n(\"chain_rev\",{index:t})},chainJoin:function(t,e){return n(\"chain_join\",{index1:t,index2:e})},done:function(){return n(\"done\")}}}},{}],256:[function(t,e,r){e.exports=function(t){\"number\"!=typeof t&&(t=1e-10);var e={epsilon:function(e){return\"number\"==typeof e&&(t=e),t},pointAboveOrOnLine:function(e,r,n){var i=r[0],a=r[1],o=n[0],s=n[1],l=e[0];return(o-i)*(e[1]-a)-(s-a)*(l-i)>=-t},pointBetween:function(e,r,n){var i=e[1]-r[1],a=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l<t)&&!(l-(a*a+s*s)>-t)},pointsSameX:function(e,r){r
"/*!\n",
" * The buffer module from node.js, for the browser.\n",
" *\n",
" * @author Feross Aboukhadijeh <https://feross.org>\n",
" * @license MIT\n",
" */\n",
"\"use strict\";var e=t(\"base64-js\"),n=t(\"ieee754\");r.Buffer=a,r.SlowBuffer=function(t){+t!=t&&(t=0);return a.alloc(+t)},r.INSPECT_MAX_BYTES=50;function i(t){if(t>2147483647)throw new RangeError('The value \"'+t+'\" is invalid for option \"size\"');var e=new Uint8Array(t);return e.__proto__=a.prototype,e}function a(t,e,r){if(\"number\"==typeof t){if(\"string\"==typeof e)throw new TypeError('The \"string\" argument must be of type string. Received type number');return l(t)}return o(t,e,r)}function o(t,e,r){if(\"string\"==typeof t)return function(t,e){\"string\"==typeof e&&\"\"!==e||(e=\"utf8\");if(!a.isEncoding(e))throw new TypeError(\"Unknown encoding: \"+e);var r=0|f(t,e),n=i(r),o=n.write(t,e);o!==r&&(n=n.slice(0,o));return n}(t,e);if(ArrayBuffer.isView(t))return c(t);if(null==t)throw TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof t);if(B(t,ArrayBuffer)||t&&B(t.buffer,ArrayBuffer))return function(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('\"offset\" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('\"length\" is outside of buffer bounds');var n;n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r);return n.__proto__=a.prototype,n}(t,e,r);if(\"number\"==typeof t)throw new TypeError('The \"value\" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return a.from(n,e,r);var o=function(t){if(a.isBuffer(t)){var e=0|u(t.length),r=i(e);return 0===r.length||t.copy(r,0,0,e),r}if(void 0!==t.length)return\"number\"!=typeof t.length||N(t.length)?i(0):c(t);if(\"Buffer\"===t.type&&Array.isArray(t.data))return c(t.data)}(t);if(o)return o;if(\"undefined\"!=typeof Symbol&&null!=Symbol.toPrimitive&&\"function\"==typeof t[Symbol.toPrimitive])return a.from(t[Symbol.toPrimitive](\"string\"),e,r);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof t)}function s(t){if(\"number\"!=typeof t)throw new TypeError('\"size\" argument must be of type number');if(t<0)throw new RangeError('The value \"'+t+'\" is invalid for option \"size\"')}function l(t){return s(t),i(t<0?0:0|u(t))}function c(t){for(var e=t.length<0?0:0|u(t.length),r=i(e),n=0;n<e;n+=1)r[n]=255&t[n];return r}function u(t){if(t>=2147483647)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+2147483647..toString(16)+\" bytes\");return 0|t}function f(t,e){if(a.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||B(t,ArrayBuffer))return t.byteLength;if(\"string\"!=typeof t)throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":return D(t).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*r;case\"hex\":return r>>>1;case\"base64\":return R(t).length;default:if(i)return n?-1:D(t).length;e=(\"\"+e).toLowerCase(),i=!0}}function h(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return\"\";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return\"\";if((r>>>=0)<=(e>>>=0))return\"\";for(t||(t=\"utf8\");;)switch(t){case\"hex\":return M(this,e,r);case\"utf8\":case\"utf-8\":return T(this,e,r);case\"ascii\":return k(this,e,r);case\"latin1\":case\"binary\":return A(this,e,r);case\"base64\":return w(this,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return S(this,e,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+t);t=(t+\"\").toLowerCase(),n=!0}}function p(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function d(t,e,r,n,i){if(0===t.length)return-1;if(\"string\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),N(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}i
"/*!\n",
" * Determine if an object is a Buffer\n",
" *\n",
" * @author Feross Aboukhadijeh <https://feross.org>\n",
" * @license MIT\n",
" */\n",
"e.exports=function(t){return null!=t&&(n(t)||function(t){return\"function\"==typeof t.readFloatLE&&\"function\"==typeof t.slice&&n(t.slice(0,0))}(t)||!!t._isBuffer)}},{}],238:[function(t,e,r){\"use strict\";e.exports=a,e.exports.isMobile=a,e.exports.default=a;var n=/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series[46]0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,i=/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series[46]0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i;function a(t){t||(t={});var e=t.ua;if(e||\"undefined\"==typeof navigator||(e=navigator.userAgent),e&&e.headers&&\"string\"==typeof e.headers[\"user-agent\"]&&(e=e.headers[\"user-agent\"]),\"string\"!=typeof e)return!1;var r=t.tablet?i.test(e):n.test(e);return!r&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==e.indexOf(\"Macintosh\")&&-1!==e.indexOf(\"Safari\")&&(r=!0),r}},{}],239:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e,r=t.length,n=0;n<r;n++)if(((e=t.charCodeAt(n))<9||e>13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},{}],240:[function(t,e,r){e.exports=function(t,e,r){return t*(1-r)+e*r}},{}],241:[function(t,e,r){var n=t(\"./normalize\"),i=t(\"gl-mat4/create\"),a=t(\"gl-mat4/clone\"),o=t(\"gl-mat4/determinant\"),s=t(\"gl-mat4/invert\"),l=t(\"gl-mat4/transpose\"),c={length:t(\"gl-vec3/length\"),normalize:t(\"gl-vec3/normalize\"),dot:t(\"gl-vec3/dot\"),cross:t(\"gl-vec3/cross\")},u=i(),f=i(),h=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],d=[0,0,0];function m(t,e,r,n,i){t[0]=e[0]*n+r[0]*i,t[1]=e[1]*n+r[1]*i,t[2]=e[2]*n+r[2]*i}e.exports=function(t,e,r,i,g,v){if(e||(e=[0,0,0]),r||(r=[0,0,0]),i||(i=[0,0,0]),g||(g=[0,0,0,1]),v||(v=[0,0,0,1]),!n(u,t))return!1;if(a(f,u),f[3]=0,f[7]=0,f[11]=0,f[15]=1,Math.abs(o(f)<1e-8))return!1;var y,x,b,_,w,T,k,A=u[3],M=u[7],S=u[11],E=u[12],L=u[13],C=u[14],P=u[15];if(0!==A||0!==M||0!==S){if(h[0]=A,h[1]=M,h[2]=S,h[3]=P,!s(f,f))return!1;l(f,f),y=g,b=f,_=(x=h)[0],w=x[1],T=x[2],k=x[3],y[0]=b[0]*_+b[4]*w+b[8]*T+b[12]*k,y[1]=b[1]*_+b[5]*w+b[9]*T+b[13]*k,y[2]=b[2]*_+b[6]*w+b[10]*T+b[14]*k,y[3]=b[3]*_+b[7]*w+b[11]*T+b[15]*k}else g[0]=g[1]=g[2]=0,g[3]=1;if(e[0]=E,e[1]=L,e[2]=C,function(t,e){t[0][0]=e[0],t[0][1]=e[1],t[0][2]=e[2],t[1][0]=e[4],t[1][1]=e[5],t[1][2]=e[6],t[2][0]=e[8],t[2][1]=e[9],t[2][2]=e[10]}(p,u),r[0]=c.length(p[0]),c.normalize(p[0],p[0]),i[0]=c.dot(p[0],p[1]),m(p[1],p[1],p[0],1,-i[0]),r[1]=c.length(p[1]),c.normalize(p[1],p[1]),i[0]/=r[1],i[1]=c.dot(p[0],p[2]),m(p[2],p[2],p[0],1,-i[1]),i[2]=c.dot(p[1],p[2]),m(p[2],p[2],p[1],1,-i[2]),r[2]=c.length(p[2]),c.normalize(p[2],p[2]),i[1]/=r[2],i[2]/=r[2],c.cross(d,p[1],p[2]),c.dot(p[0],d)<0)for(var I=0;I<3;I++)r[I]*=-1,p[I][0]*=-1,p[I][1]*=-1,p[I][2]*=-1;return v[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),v[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),v[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),v[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(v[0]=-v[0]),p[0][2]>p[2][0]&&(v[1]=-v[1]),p[1][0]>p[0][1]&&(v[2]=-v[2]),!0}},{\"./normalize\":242,\"gl-mat4/clone\":92,\"gl-mat4/create\":93,\"gl-mat4/determinant\":94,\"gl-mat4/invert\":98,\"gl-mat4/transpose\":109,\"gl-vec3/cross\":157,\"gl-vec3/dot\":162,\"gl-vec3/length\":172,\"gl-vec3/normalize\":179}],242:[function(t,e,r){e.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}},{}],243:[function(t,e,r){var n=t(\"gl-vec3/lerp\"),i=t(\"mat4-recompose\"),a=t(\"mat4-decompose\"),o=t(\"gl-mat4/determinant\"),s=t(\"
"/*!\n",
" * pad-left <https://github.com/jonschlinkert/pad-left>\n",
" *\n",
" * Copyright (c) 2014-2015, Jon Schlinkert.\n",
" * Licensed under the MIT license.\n",
" */\n",
"\"use strict\";var n=t(\"repeat-string\");e.exports=function(t,e,r){return n(r=void 0!==r?r+\"\":\" \",e)+t}},{\"repeat-string\":277}],265:[function(t,e,r){e.exports=function(t,e){e||(e=[0,\"\"]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",e}},{}],266:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r=0|e.length,i=t.length,a=[new Array(r),new Array(r)],o=0;o<r;++o)a[0][o]=[],a[1][o]=[];for(o=0;o<i;++o){var s=t[o];a[0][s[0]].push(s),a[1][s[1]].push(s)}var l=[];for(o=0;o<r;++o)a[0][o].length+a[1][o].length===0&&l.push([o]);function c(t,e){var r=a[e][t[e]];r.splice(r.indexOf(t),1)}function u(t,r,i){for(var o,s,l,u=0;u<2;++u)if(a[u][r].length>0){o=a[u][r][0],l=u;break}s=o[1^l];for(var f=0;f<2;++f)for(var h=a[f][r],p=0;p<h.length;++p){var d=h[p],m=d[1^f];n(e[t],e[r],e[s],e[m])>0&&(o=d,s=m,l=f)}return i||o&&c(o,l),s}function f(t,r){var i=a[r][t][0],o=[t];c(i,r);for(var s=i[1^r];;){for(;s!==t;)o.push(s),s=u(o[o.length-2],s,!1);if(a[0][t].length+a[1][t].length===0)break;var l=o[o.length-1],f=t,h=o[1],p=u(l,f,!0);if(n(e[l],e[f],e[h],e[p])<0)break;o.push(t),s=u(l,f)}return o}function h(t,e){return e[1]===e[e.length-1]}for(o=0;o<r;++o)for(var p=0;p<2;++p){for(var d=[];a[p][o].length>0;){a[0][o].length;var m=f(o,p);h(0,m)?d.push.apply(d,m):(d.length>0&&l.push(d),d=m)}d.length>0&&l.push(d)}return l};var n=t(\"compare-angle\")},{\"compare-angle\":54}],267:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r=n(t,e.length),i=new Array(e.length),a=new Array(e.length),o=[],s=0;s<e.length;++s){var l=r[s].length;a[s]=l,i[s]=!0,l<=1&&o.push(s)}for(;o.length>0;){var c=o.pop();i[c]=!1;var u=r[c];for(s=0;s<u.length;++s){var f=u[s];0==--a[f]&&o.push(f)}}var h=new Array(e.length),p=[];for(s=0;s<e.length;++s)if(i[s]){c=p.length;h[s]=c,p.push(e[s])}else h[s]=-1;var d=[];for(s=0;s<t.length;++s){var m=t[s];i[m[0]]&&i[m[1]]&&d.push([h[m[0]],h[m[1]]])}return[d,p]};var n=t(\"edges-to-adjacency-list\")},{\"edges-to-adjacency-list\":66}],268:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=c(t,e);t=r[0];for(var f=(e=r[1]).length,h=(t.length,n(t,e.length)),p=0;p<f;++p)if(h[p].length%2==1)throw new Error(\"planar-graph-to-polyline: graph must be manifold\");var d=i(t,e);var m=(d=d.filter((function(t){for(var r=t.length,n=[0],i=0;i<r;++i){var a=e[t[i]],l=e[t[(i+1)%r]],c=o(-a[0],a[1]),u=o(-a[0],l[1]),f=o(l[0],a[1]),h=o(l[0],l[1]);n=s(n,s(s(c,u),s(f,h)))}return n[n.length-1]>0}))).length,g=new Array(m),v=new Array(m);for(p=0;p<m;++p){g[p]=p;var y=new Array(m),x=d[p].map((function(t){return e[t]})),b=a([x]),_=0;t:for(var w=0;w<m;++w)if(y[w]=0,p!==w){for(var T=(H=d[w]).length,k=0;k<T;++k){var A=b(e[H[k]]);if(0!==A){A<0&&(y[w]=1,_+=1);continue t}}y[w]=1,_+=1}v[p]=[_,p,y]}v.sort((function(t,e){return e[0]-t[0]}));for(p=0;p<m;++p){var M=(y=v[p])[1],S=y[2];for(w=0;w<m;++w)S[w]&&(g[w]=M)}var E=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=[];return e}(m);for(p=0;p<m;++p)E[p].push(g[p]),E[g[p]].push(p);var L={},C=u(f,!1);for(p=0;p<m;++p)for(T=(H=d[p]).length,w=0;w<T;++w){var P=H[w],I=H[(w+1)%T],O=Math.min(P,I)+\":\"+Math.max(P,I);if(O in L){var z=L[O];E[z].push(p),E[p].push(z),C[P]=C[I]=!0}else L[O]=p}function D(t){for(var e=t.length,r=0;r<e;++r)if(!C[t[r]])return!1;return!0}var R=[],F=u(m,-1);for(p=0;p<m;++p)g[p]!==p||D(d[p])?F[p]=-1:(R.push(p),F[p]=0);r=[];for(;R.length>0;){var B=R.pop(),N=E[B];l(N,(function(t,e){return t-e}));var j,U=N.length,V=F[B];if(0===V){var H=d[B];j=[H]}for(p=0;p<U;++p){var q=N[p];if(!(F[q]>=0))if(F[q]=1^V,R.push(q),0===V)D(H=d[q])||(H.reverse(),j.push(H))}0===V&&r.push(j)}return r};var n=t(\"edges-to-adjacency-list\"),i=t(\"planar-dual\"),a=t(\"point-in-big-polygon\"),o=t(\"two-product\"),s=t(\"robust-sum\"),l=t(\"uniq\"),c=t(\"./lib/trim-leaves\");function u(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}},{\"./lib/trim-leaves\":267,\"edges-to-adjacency-list\":66,\"planar-dual\":266,\"point-in-big-polygon\":269,\"robust-sum\":289,\"two-product\":306,uniq:310}],269:[function(t,e,r){e.exports=function(t){for(var e=t.length,r=[]
"/*!\n",
" * repeat-string <https://github.com/jonschlinkert/repeat-string>\n",
" *\n",
" * Copyright (c) 2014-2015, Jon Schlinkert.\n",
" * Licensed under the MIT License.\n",
" */\n",
"\"use strict\";var n,i=\"\";e.exports=function(t,e){if(\"string\"!=typeof t)throw new TypeError(\"expected a string\");if(1===e)return t;if(2===e)return t+t;var r=t.length*e;if(n!==t||void 0===n)n=t,i=\"\";else if(i.length>=r)return i.substr(0,r);for(;r>i.length&&e>1;)1&e&&(i+=t),e>>=1,t+=t;return i=(i+=t).substr(0,r)}},{}],278:[function(t,e,r){(function(t){(function(){e.exports=t.performance&&t.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}}).call(this)}).call(this,void 0!==n?n:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],279:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i>=0;--i){var a=r,o=t[i];(l=o-((r=a+o)-a))&&(t[--n]=r,r=l)}var s=0;for(i=n;i<e;++i){var l;a=t[i];(l=(o=r)-((r=a+o)-a))&&(t[s++]=l)}return t[s++]=r,t.length=s,t}},{}],280:[function(t,e,r){\"use strict\";var n=t(\"two-product\"),i=t(\"robust-sum\"),a=t(\"robust-scale\"),o=t(\"robust-compress\");function s(t,e,r,n){return function(e){return n(t(r(e[0][0],e[1][1]),r(-e[0][1],e[1][0])))}}function l(t,e,r,n){return function(i){return n(t(e(t(r(i[1][1],i[2][2]),r(-i[1][2],i[2][1])),i[0][0]),t(e(t(r(i[1][0],i[2][2]),r(-i[1][2],i[2][0])),-i[0][1]),e(t(r(i[1][0],i[2][1]),r(-i[1][1],i[2][0])),i[0][2]))))}}function c(t){return(2===t?s:3===t?l:void 0)(i,a,n,o)}var u=[function(){return[0]},function(t){return[t[0][0]]}];function f(t,e,r,n,i,a){return function(o){switch(o.length){case 0:return t(o);case 1:return e(o);case 2:return r(o);case 3:return n(o)}var s=i[o.length];return s||(s=i[o.length]=a(o.length)),s(o)}}!function(){for(;u.length<4;)u.push(c(u.length));e.exports=f.apply(void 0,u.concat([u,c]));for(var t=0;t<u.length;++t)e.exports[t]=u[t]}()},{\"robust-compress\":279,\"robust-scale\":286,\"robust-sum\":289,\"two-product\":306}],281:[function(t,e,r){\"use strict\";var n=t(\"two-product\"),i=t(\"robust-sum\");e.exports=function(t,e){for(var r=n(t[0],e[0]),a=1;a<t.length;++a)r=i(r,n(t[a],e[a]));return r}},{\"robust-sum\":289,\"two-product\":306}],282:[function(t,e,r){\"use strict\";var n=t(\"two-product\"),i=t(\"robust-sum\"),a=t(\"robust-subtract\"),o=t(\"robust-scale\");function s(t){return(3===t?l:4===t?c:5===t?u:f)(i,a,n,o)}function l(t,e,r,n){return function(i,a,o){var s=r(i[0],i[0]),l=n(s,a[0]),c=n(s,o[0]),u=r(a[0],a[0]),f=n(u,i[0]),h=n(u,o[0]),p=r(o[0],o[0]),d=n(p,i[0]),m=n(p,a[0]),g=t(e(m,h),e(f,l)),v=e(d,c),y=e(g,v);return y[y.length-1]}}function c(t,e,r,n){return function(i,a,o,s){var l=t(r(i[0],i[0]),r(i[1],i[1])),c=n(l,a[0]),u=n(l,o[0]),f=n(l,s[0]),h=t(r(a[0],a[0]),r(a[1],a[1])),p=n(h,i[0]),d=n(h,o[0]),m=n(h,s[0]),g=t(r(o[0],o[0]),r(o[1],o[1])),v=n(g,i[0]),y=n(g,a[0]),x=n(g,s[0]),b=t(r(s[0],s[0]),r(s[1],s[1])),_=n(b,i[0]),w=n(b,a[0]),T=n(b,o[0]),k=t(t(n(e(T,x),a[1]),t(n(e(w,m),-o[1]),n(e(y,d),s[1]))),t(n(e(w,m),i[1]),t(n(e(_,f),-a[1]),n(e(p,c),s[1])))),A=t(t(n(e(T,x),i[1]),t(n(e(_,f),-o[1]),n(e(v,u),s[1]))),t(n(e(y,d),i[1]),t(n(e(v,u),-a[1]),n(e(p,c),o[1])))),M=e(k,A);return M[M.length-1]}}function u(t,e,r,n){return function(i,a,o,s,l){var c=t(r(i[0],i[0]),t(r(i[1],i[1]),r(i[2],i[2]))),u=n(c,a[0]),f=n(c,o[0]),h=n(c,s[0]),p=n(c,l[0]),d=t(r(a[0],a[0]),t(r(a[1],a[1]),r(a[2],a[2]))),m=n(d,i[0]),g=n(d,o[0]),v=n(d,s[0]),y=n(d,l[0]),x=t(r(o[0],o[0]),t(r(o[1],o[1]),r(o[2],o[2]))),b=n(x,i[0]),_=n(x,a[0]),w=n(x,s[0]),T=n(x,l[0]),k=t(r(s[0],s[0]),t(r(s[1],s[1]),r(s[2],s[2]))),A=n(k,i[0]),M=n(k,a[0]),S=n(k,o[0]),E=n(k,l[0]),L=t(r(l[0],l[0]),t(r(l[1],l[1]),r(l[2],l[2]))),C=n(L,i[0]),P=n(L,a[0]),I=n(L,o[0]),O=n(L,s[0]),z=t(t(t(n(t(n(e(O,E),o[1]),t(n(e(I,T),-s[1]),n(e(S,w),l[1]))),a[2]),t(n(t(n(e(O,E),a[1]),t(n(e(P,y),-s[1]),n(e(M,v),l[1]))),-o[2]),n(t(n(e(I,T),a[1]),t(n(e(P,y),-o[1]),n(e(_,g),l[1]))),s[2]))),t(n(t(n(e(S,w),a[1]),t(n(e(M,v),-o[1]),n(e(_,g),s[1]))),-l[2]),t(n(t(n(e(O,E),a[1]),t(n(e(P,y),-s[1]),n(e(M,v),l[1]))),i[2]),n(t(n(e(O,E),i[1]),t(n(e(C,p),-s[1]),n(e(A,h),l[1]))),-a[2])))),t(t(n(t(n(e(P,y),i[1]),t(n(e(C,p),-a[1]),n(e(m,u),l[1]))),s[2]),t(n(t(n(e(M,v),i[1]),t(n(e(A,h),-a[1]),n(e(m,u),s[1]))),-l[2]),n(t(n(e(S,
" });\n",
" require(['plotly'], function(Plotly) {\n",
" window._Plotly = Plotly;\n",
" });\n",
" }\n",
" </script>\n",
" "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from IPython.display import Markdown as md\n",
"from IPython.display import display, HTML\n",
"import pandas as pd\n",
"import numpy as np\n",
"import ipywidgets as widgets\n",
"from pathlib import Path\n",
"from datetime import datetime\n",
"from recopytex import flat_df_students, pp_q_scores\n",
"from datetime import datetime\n",
"\n",
"\n",
"import chart_studio.plotly as py\n",
"import plotly.graph_objects as go\n",
"import plotly.figure_factory as ff\n",
"\n",
"from plotly.offline import iplot, init_notebook_mode\n",
"init_notebook_mode()"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "3a865047",
"metadata": {
"execution": {
"iopub.execute_input": "2023-02-28T14:59:26.912665Z",
"iopub.status.busy": "2023-02-28T14:59:26.912247Z",
"iopub.status.idle": "2023-02-28T14:59:26.913413Z",
"shell.execute_reply": "2023-02-28T14:59:26.913699Z"
},
"extensions": {
"jupyter_dashboards": {
"version": 1,
"views": {
"grid_default": {},
"report_default": {
"hidden": true
}
}
}
},
"papermill": {
"duration": 0.076668,
"end_time": "2023-02-28T14:59:26.913778",
"exception": false,
"start_time": "2023-02-28T14:59:26.837110",
"status": "completed"
},
"slideshow": {
"slide_type": "skip"
},
"tags": [
"parameters"
]
},
"outputs": [],
"source": [
"tribe = \"ES\"\n",
"assessment = \"ds2\"\n",
"date = \"14/10/19\"\n",
"csv_file = Path(f\"../{tribe}/191014_{assessment}.csv\")"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "76f73c11",
"metadata": {
"execution": {
"iopub.execute_input": "2023-02-28T14:59:27.062644Z",
"iopub.status.busy": "2023-02-28T14:59:27.062296Z",
"iopub.status.idle": "2023-02-28T14:59:27.063603Z",
"shell.execute_reply": "2023-02-28T14:59:27.063875Z"
},
"papermill": {
"duration": 0.077335,
"end_time": "2023-02-28T14:59:27.063957",
"exception": false,
"start_time": "2023-02-28T14:59:26.986622",
"status": "completed"
},
"tags": [
"injected-parameters"
]
},
"outputs": [],
"source": [
"# Parameters\n",
"tribe = \"2gt1\"\n",
"assessment = \"Ds4\"\n",
"date = \"24/02/23\"\n",
"csv_file = \"/home/lafrite/Cours/2022-2023/Notes/2gt1/230224_DS4.csv\"\n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "63832c37",
"metadata": {
"execution": {
"iopub.execute_input": "2023-02-28T14:59:27.213463Z",
"iopub.status.busy": "2023-02-28T14:59:27.213110Z",
"iopub.status.idle": "2023-02-28T14:59:27.214461Z",
"shell.execute_reply": "2023-02-28T14:59:27.214733Z"
},
"papermill": {
"duration": 0.077937,
"end_time": "2023-02-28T14:59:27.214814",
"exception": false,
"start_time": "2023-02-28T14:59:27.136877",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"/home/lafrite/Cours/2022-2023/Notes/2gt1/230224_DS4\n"
]
}
],
"source": [
"date = datetime.strptime(date, \"%d/%m/%y\")\n",
"output_path = Path(csv_file[:-4])\n",
"print(output_path)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "2a41f502",
"metadata": {
"execution": {
"iopub.execute_input": "2023-02-28T14:59:27.367480Z",
"iopub.status.busy": "2023-02-28T14:59:27.367125Z",
"iopub.status.idle": "2023-02-28T14:59:27.368635Z",
"shell.execute_reply": "2023-02-28T14:59:27.368919Z"
},
"extensions": {
"jupyter_dashboards": {
"version": 1,
"views": {
"grid_default": {},
"report_default": {
"hidden": false
}
}
}
},
"papermill": {
"duration": 0.081224,
"end_time": "2023-02-28T14:59:27.368999",
"exception": false,
"start_time": "2023-02-28T14:59:27.287775",
"status": "completed"
},
"slideshow": {
"slide_type": "slide"
},
"tags": []
},
"outputs": [
{
"data": {
"text/markdown": [
"# Ds4 (23/02/24) pour 2gt1"
],
"text/plain": [
"<IPython.core.display.Markdown object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"if date is None:\n",
" display(md(f\"# {assessment} pour {tribe}\"))\n",
"else:\n",
" display(md(f\"# {assessment} ({date:%y/%m/%d}) pour {tribe}\"))"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "3149dc30",
"metadata": {
"execution": {
"iopub.execute_input": "2023-02-28T14:59:27.556422Z",
"iopub.status.busy": "2023-02-28T14:59:27.529858Z",
"iopub.status.idle": "2023-02-28T14:59:27.672229Z",
"shell.execute_reply": "2023-02-28T14:59:27.671858Z"
},
"extensions": {
"jupyter_dashboards": {
"version": 1,
"views": {
"grid_default": {},
"report_default": {
"hidden": true
}
}
}
},
"papermill": {
"duration": 0.229877,
"end_time": "2023-02-28T14:59:27.672303",
"exception": false,
"start_time": "2023-02-28T14:59:27.442426",
"status": "completed"
},
"slideshow": {
"slide_type": "skip"
},
"tags": []
},
"outputs": [],
"source": [
"stack_scores = pd.read_csv(csv_file, encoding=\"UTF8\")\n",
"#comments = stack_scores.iloc[0]\n",
"#stack_scores.drop([0], inplace=True)\n",
"scores = flat_df_students(stack_scores).dropna(subset=[\"Score\"])\n",
"scores = pp_q_scores(scores)\n",
"#scores.head()\n",
"#comments.drop()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "48cb4a36",
"metadata": {
"execution": {
"iopub.execute_input": "2023-02-28T14:59:27.824571Z",
"iopub.status.busy": "2023-02-28T14:59:27.822678Z",
"iopub.status.idle": "2023-02-28T14:59:27.827184Z",
"shell.execute_reply": "2023-02-28T14:59:27.826836Z"
},
"extensions": {
"jupyter_dashboards": {
"version": 1,
"views": {
"grid_default": {},
"report_default": {
"hidden": true
}
}
}
},
"papermill": {
"duration": 0.081613,
"end_time": "2023-02-28T14:59:27.827255",
"exception": false,
"start_time": "2023-02-28T14:59:27.745642",
"status": "completed"
},
"slideshow": {
"slide_type": "skip"
},
"tags": []
},
"outputs": [],
"source": [
"exercises_scores = scores.groupby([\"Exercice\", \"Eleve\"]).agg({\"Note\": \"sum\", \"Bareme\": \"sum\"})"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "15025186",
"metadata": {
"execution": {
"iopub.execute_input": "2023-02-28T14:59:27.977591Z",
"iopub.status.busy": "2023-02-28T14:59:27.977238Z",
"iopub.status.idle": "2023-02-28T14:59:27.982314Z",
"shell.execute_reply": "2023-02-28T14:59:27.982023Z"
},
"papermill": {
"duration": 0.081389,
"end_time": "2023-02-28T14:59:27.982386",
"exception": false,
"start_time": "2023-02-28T14:59:27.900997",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th></th>\n",
" <th>Note</th>\n",
" <th>Bareme</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Exercice</th>\n",
" <th>Eleve</th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th rowspan=\"5\" valign=\"top\">Exercice 1</th>\n",
" <th>ACHOUR Ilyes</th>\n",
" <td>3.00</td>\n",
" <td>7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>BELARBI Islem</th>\n",
" <td>0.00</td>\n",
" <td>7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>BEN ELALLID Hajar</th>\n",
" <td>3.00</td>\n",
" <td>7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>BISWAS Lina</th>\n",
" <td>2.67</td>\n",
" <td>7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>BOULAABA Rayan</th>\n",
" <td>5.00</td>\n",
" <td>7</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Note Bareme\n",
"Exercice Eleve \n",
"Exercice 1 ACHOUR Ilyes 3.00 7\n",
" BELARBI Islem 0.00 7\n",
" BEN ELALLID Hajar 3.00 7\n",
" BISWAS Lina 2.67 7\n",
" BOULAABA Rayan 5.00 7"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"exercises_scores.head()"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "71c672c0",
"metadata": {
"execution": {
"iopub.execute_input": "2023-02-28T14:59:28.132706Z",
"iopub.status.busy": "2023-02-28T14:59:28.132290Z",
"iopub.status.idle": "2023-02-28T14:59:28.133456Z",
"shell.execute_reply": "2023-02-28T14:59:28.133740Z"
},
"papermill": {
"duration": 0.077782,
"end_time": "2023-02-28T14:59:28.133824",
"exception": false,
"start_time": "2023-02-28T14:59:28.056042",
"status": "completed"
},
"tags": []
},
"outputs": [],
"source": [
"assessment_scores = scores.groupby([\"Eleve\"]).agg({\"Note\": \"sum\", \"Bareme\": \"sum\"})"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "d8a02878",
"metadata": {
"execution": {
"iopub.execute_input": "2023-02-28T14:59:28.284141Z",
"iopub.status.busy": "2023-02-28T14:59:28.283722Z",
"iopub.status.idle": "2023-02-28T14:59:28.285828Z",
"shell.execute_reply": "2023-02-28T14:59:28.285486Z"
},
"papermill": {
"duration": 0.078551,
"end_time": "2023-02-28T14:59:28.285895",
"exception": false,
"start_time": "2023-02-28T14:59:28.207344",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
"Index(['Nom', 'Trimestre', 'Date', 'Exercice', 'Question', 'Competence',\n",
" 'Domaine', 'Commentaire', 'Est_nivele', 'Bareme', 'Eleve', 'Score',\n",
" 'Note', 'Niveau', 'Normalise'],\n",
" dtype='object')"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"scores.columns"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "b6717594",
"metadata": {
"execution": {
"iopub.execute_input": "2023-02-28T14:59:28.439475Z",
"iopub.status.busy": "2023-02-28T14:59:28.439098Z",
"iopub.status.idle": "2023-02-28T14:59:28.440321Z",
"shell.execute_reply": "2023-02-28T14:59:28.440605Z"
},
"papermill": {
"duration": 0.080898,
"end_time": "2023-02-28T14:59:28.440689",
"exception": false,
"start_time": "2023-02-28T14:59:28.359791",
"status": "completed"
},
"tags": []
},
"outputs": [],
"source": [
"domain_scores = scores.groupby([\"Eleve\", \"Domaine\"]).agg({\"Note\": \"sum\", \"Bareme\": \"sum\"})\n",
"domain_scores[\"Normalized\"] = domain_scores[\"Note\"] / domain_scores[\"Bareme\"]"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "d87553e1",
"metadata": {
"execution": {
"iopub.execute_input": "2023-02-28T14:59:28.590946Z",
"iopub.status.busy": "2023-02-28T14:59:28.590592Z",
"iopub.status.idle": "2023-02-28T14:59:28.592342Z",
"shell.execute_reply": "2023-02-28T14:59:28.592040Z"
},
"papermill": {
"duration": 0.077857,
"end_time": "2023-02-28T14:59:28.592409",
"exception": false,
"start_time": "2023-02-28T14:59:28.514552",
"status": "completed"
},
"tags": []
},
"outputs": [],
"source": [
"#domain_scores"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "61a49219",
"metadata": {
"execution": {
"iopub.execute_input": "2023-02-28T14:59:28.746366Z",
"iopub.status.busy": "2023-02-28T14:59:28.745895Z",
"iopub.status.idle": "2023-02-28T14:59:28.747049Z",
"shell.execute_reply": "2023-02-28T14:59:28.747337Z"
},
"papermill": {
"duration": 0.081107,
"end_time": "2023-02-28T14:59:28.747422",
"exception": false,
"start_time": "2023-02-28T14:59:28.666315",
"status": "completed"
},
"tags": []
},
"outputs": [],
"source": [
"competence_scores = scores.groupby([\"Eleve\", \"Competence\"]).agg({\"Note\": \"sum\", \"Bareme\": \"sum\"})\n",
"competence_scores[\"Normalized\"] = competence_scores[\"Note\"] / competence_scores[\"Bareme\"]"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "7c8ad2c9",
"metadata": {
"execution": {
"iopub.execute_input": "2023-02-28T14:59:28.901705Z",
"iopub.status.busy": "2023-02-28T14:59:28.901337Z",
"iopub.status.idle": "2023-02-28T14:59:28.902902Z",
"shell.execute_reply": "2023-02-28T14:59:28.903191Z"
},
"papermill": {
"duration": 0.081904,
"end_time": "2023-02-28T14:59:28.903273",
"exception": false,
"start_time": "2023-02-28T14:59:28.821369",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th></th>\n",
" <th>Note</th>\n",
" <th>Bareme</th>\n",
" <th>Normalized</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Eleve</th>\n",
" <th>Competence</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th rowspan=\"2\" valign=\"top\">TOURRETTE Elise</th>\n",
" <th>Raisonner</th>\n",
" <td>3.33</td>\n",
" <td>8</td>\n",
" <td>0.42</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Représenter</th>\n",
" <td>3.67</td>\n",
" <td>5</td>\n",
" <td>0.73</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"3\" valign=\"top\">TROPHARDY Eline</th>\n",
" <th>Calculer</th>\n",
" <td>6.33</td>\n",
" <td>7</td>\n",
" <td>0.90</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Raisonner</th>\n",
" <td>7.00</td>\n",
" <td>8</td>\n",
" <td>0.88</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Représenter</th>\n",
" <td>4.67</td>\n",
" <td>5</td>\n",
" <td>0.93</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Note Bareme Normalized\n",
"Eleve Competence \n",
"TOURRETTE Elise Raisonner 3.33 8 0.42\n",
" Représenter 3.67 5 0.73\n",
"TROPHARDY Eline Calculer 6.33 7 0.90\n",
" Raisonner 7.00 8 0.88\n",
" Représenter 4.67 5 0.93"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"competence_scores.tail()"
]
},
{
"cell_type": "markdown",
"id": "3437315d",
"metadata": {
"papermill": {
"duration": 0.073401,
"end_time": "2023-02-28T14:59:29.051095",
"exception": false,
"start_time": "2023-02-28T14:59:28.977694",
"status": "completed"
},
"tags": []
},
"source": [
"### Bilans personnalisés"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "dd4fa512",
"metadata": {
"execution": {
"iopub.execute_input": "2023-02-28T14:59:29.203343Z",
"iopub.status.busy": "2023-02-28T14:59:29.202996Z",
"iopub.status.idle": "2023-02-28T14:59:29.219589Z",
"shell.execute_reply": "2023-02-28T14:59:29.219222Z"
},
"papermill": {
"duration": 0.09395,
"end_time": "2023-02-28T14:59:29.219661",
"exception": false,
"start_time": "2023-02-28T14:59:29.125711",
"status": "completed"
},
"scrolled": true,
"tags": []
},
"outputs": [],
"source": [
"import pytex\n",
"#scores.head()"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "6a667215",
"metadata": {
"execution": {
"iopub.execute_input": "2023-02-28T14:59:29.442198Z",
"iopub.status.busy": "2023-02-28T14:59:29.432437Z",
"iopub.status.idle": "2023-02-28T14:59:29.443363Z",
"shell.execute_reply": "2023-02-28T14:59:29.443653Z"
},
"papermill": {
"duration": 0.149598,
"end_time": "2023-02-28T14:59:29.443738",
"exception": false,
"start_time": "2023-02-28T14:59:29.294140",
"status": "completed"
},
"tags": []
},
"outputs": [],
"source": [
"datas = {\n",
" \"assessment\": {\n",
" \"name\": assessment,\n",
" \"date\": date\n",
" },\n",
" #\"exercises\": scores[\"Exercice\"].unique(),\n",
" #\"questions\": scores[[\"Exercice\", 'Question', 'Competence', 'Domaine', 'Commentaire', 'Bareme', 'Est_nivele']],\n",
" \"eleves\": {}\n",
"}\n",
"for e in scores[\"Eleve\"].unique():\n",
" edatas = {\n",
" \"e\": e,\n",
" \"assessment\": assessment_scores.loc[e],\n",
" \"exercices\": exercises_scores.xs(e, level=\"Eleve\"), \"exercices\": exercises_scores.xs(e, level=\"Eleve\"),\n",
" \"domains\": domain_scores.xs(e, level=\"Eleve\"),\n",
" \"competences\": competence_scores.xs(e, level=\"Eleve\"),\n",
" \"exscores\": {}\n",
" }\n",
" for i, ex in edatas[\"exercices\"].iterrows():\n",
" edatas[\"exscores\"][i] = scores.loc[(scores.Exercice==i) & (scores.Eleve==e)]\n",
" datas[\"eleves\"][e] = edatas"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "16b39fd6",
"metadata": {
"execution": {
"iopub.execute_input": "2023-02-28T14:59:29.596604Z",
"iopub.status.busy": "2023-02-28T14:59:29.596209Z",
"iopub.status.idle": "2023-02-28T14:59:29.597824Z",
"shell.execute_reply": "2023-02-28T14:59:29.597479Z"
},
"papermill": {
"duration": 0.07978,
"end_time": "2023-02-28T14:59:29.597892",
"exception": false,
"start_time": "2023-02-28T14:59:29.518112",
"status": "completed"
},
"tags": []
},
"outputs": [],
"source": [
"score_template = r\"\"\"\n",
"\\documentclass[a5paper,10pt]{article}\n",
"\\usepackage{fullpage}\n",
"\\usepackage{booktabs}\n",
"\\usepackage{longtable}\n",
"\\usepackage{tikz}\n",
"\\usepackage{multicol}\n",
"\n",
"\\usepackage{geometry}\n",
"\\geometry{left=10mm,right=10mm, top=10mm}\n",
"\n",
"\\renewcommand{\\arraystretch}{1}\n",
"\\setlength{\\columnseprule}{0pt}\n",
"\n",
"\\pagestyle{empty}\n",
"\n",
"\n",
"\\begin{document}\n",
"\n",
"\n",
" \\section*{\\Var{assessment.name} \\hfill \\Var{e} \\hfill \\Var{sc.assessment.Note}/\\Var{sc.assessment.Bareme}}\n",
" %- for i,ex in sc.exercices.iterrows() \n",
" \\subsection*{\\Var{i}: \\hfill \\Var{ex.Note} / \\Var{ex.Bareme}}\n",
" \\begin{center}\n",
" \\Var{sc.exscores[i].to_latex(index=False, columns=[\"Question\", \"Domaine\", \"Commentaire\", \"Note\", \"Bareme\"])}\n",
" \\end{center}\n",
" %- endfor\n",
" \n",
" \\subsection*{Compétences}\n",
" \\begin{multicols}{2}\n",
" %- for i,dom in sc.competences.iterrows()\n",
" \\noindent\n",
" \\Var{i} \\hfill\n",
" \\begin{tikzpicture}[scale=0.7]\n",
" \\draw [](0,0) rectangle (3, 1);\n",
" \\draw [fill=black!20] (0, 0) rectangle (\\Var{dom.Normalized*3}, 1);\n",
" \\end{tikzpicture}\n",
" \\hfill\n",
" %\\Var{dom.Normalized}\n",
" \n",
" %- endfor\n",
" \\end{multicols}\n",
"\n",
"\\end{document}\n",
"\"\"\""
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "e7d7716e",
"metadata": {
"execution": {
"iopub.execute_input": "2023-02-28T14:59:29.757714Z",
"iopub.status.busy": "2023-02-28T14:59:29.757138Z",
"iopub.status.idle": "2023-02-28T14:59:34.219379Z",
"shell.execute_reply": "2023-02-28T14:59:34.218221Z"
},
"papermill": {
"duration": 4.546299,
"end_time": "2023-02-28T14:59:34.219450",
"exception": false,
"start_time": "2023-02-28T14:59:29.673151",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_ACHOUR Ilyes.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_ACHOUR Ilyes.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_ACHOUR Ilyes.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Wrote 230224_Ds4_ACHOUR Ilyes.tex\n",
"Wrote 230224_Ds4_BELARBI Islem.tex\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_BELARBI Islem.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_BELARBI Islem.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_BELARBI Islem.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_BEN ELALLID Hajar.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_BEN ELALLID Hajar.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_BEN ELALLID Hajar.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Wrote 230224_Ds4_BEN ELALLID Hajar.tex\n",
"Wrote 230224_Ds4_BISWAS Lina.tex\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_BISWAS Lina.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_BISWAS Lina.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_BISWAS Lina.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_BOULAABA Rayan.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_BOULAABA Rayan.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_BOULAABA Rayan.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Wrote 230224_Ds4_BOULAABA Rayan.tex\n",
"Wrote 230224_Ds4_BREZUN Ines.tex\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_BREZUN Ines.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_BREZUN Ines.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_BREZUN Ines.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_BUGNON Enzo.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_BUGNON Enzo.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_BUGNON Enzo.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Wrote 230224_Ds4_BUGNON Enzo.tex\n",
"Wrote 230224_Ds4_CALLEWAERT Idaline.tex\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_CALLEWAERT Idaline.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_CALLEWAERT Idaline.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_CALLEWAERT Idaline.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_CATTIN Clément.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_CATTIN Clément.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_CATTIN Clément.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Wrote 230224_Ds4_CATTIN Clément.tex\n",
"Wrote 230224_Ds4_CHRISTMANN Nathan.tex\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_CHRISTMANN Nathan.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_CHRISTMANN Nathan.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_CHRISTMANN Nathan.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_DECOSTER Clément.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_DECOSTER Clément.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_DECOSTER Clément.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Wrote 230224_Ds4_DECOSTER Clément.tex\n",
"Wrote 230224_Ds4_DEHIMAT Launy.tex\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_DEHIMAT Launy.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_DEHIMAT Launy.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_DEHIMAT Launy.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_DUPONT Jessica.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_DUPONT Jessica.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_DUPONT Jessica.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Wrote 230224_Ds4_DUPONT Jessica.tex\n",
"Wrote 230224_Ds4_GASAN Jéssica.tex\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_GASAN Jéssica.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_GASAN Jéssica.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_GASAN Jéssica.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_GEORGET Raphaël.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_GEORGET Raphaël.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_GEORGET Raphaël.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Wrote 230224_Ds4_GEORGET Raphaël.tex\n",
"Wrote 230224_Ds4_HABBAZ Hajar.tex\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_HABBAZ Hajar.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_HABBAZ Hajar.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_HABBAZ Hajar.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_JACQUEMIER Samuel.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_JACQUEMIER Samuel.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_JACQUEMIER Samuel.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Wrote 230224_Ds4_JACQUEMIER Samuel.tex\n",
"Wrote 230224_Ds4_JACQUIER Juliette.tex\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_JACQUIER Juliette.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_JACQUIER Juliette.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_JACQUIER Juliette.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_KASSI Cheïma.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_KASSI Cheïma.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_KASSI Cheïma.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Wrote 230224_Ds4_KASSI Cheïma.tex\n",
"Wrote 230224_Ds4_KICHENASSAMY Sanjay.tex\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_KICHENASSAMY Sanjay.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_KICHENASSAMY Sanjay.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_KICHENASSAMY Sanjay.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_LE VEUZIT Adrien.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_LE VEUZIT Adrien.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_LE VEUZIT Adrien.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Wrote 230224_Ds4_LE VEUZIT Adrien.tex\n",
"Wrote 230224_Ds4_LETIF Ilef.tex\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_LETIF Ilef.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_LETIF Ilef.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_LETIF Ilef.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_MANJALI Hiba.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_MANJALI Hiba.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_MANJALI Hiba.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Wrote 230224_Ds4_MANJALI Hiba.tex\n",
"Wrote 230224_Ds4_NEIVA Hugo.tex\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_NEIVA Hugo.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_NEIVA Hugo.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_NEIVA Hugo.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_OLLIET Gioia.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_OLLIET Gioia.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_OLLIET Gioia.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Wrote 230224_Ds4_OLLIET Gioia.tex\n",
"Wrote 230224_Ds4_PERNOT Gabin.tex\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_PERNOT Gabin.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_PERNOT Gabin.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_PERNOT Gabin.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_RIZZI Elisa.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_RIZZI Elisa.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_RIZZI Elisa.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Wrote 230224_Ds4_RIZZI Elisa.tex\n",
"Wrote 230224_Ds4_ROSTANT Emma.tex\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_ROSTANT Emma.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_ROSTANT Emma.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_ROSTANT Emma.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_SIBABA Moaad.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_SIBABA Moaad.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_SIBABA Moaad.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Wrote 230224_Ds4_SIBABA Moaad.tex\n",
"Wrote 230224_Ds4_SOUJOL Damien.tex\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_SOUJOL Damien.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_SOUJOL Damien.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_SOUJOL Damien.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_THORAL Fanny.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_THORAL Fanny.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_THORAL Fanny.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Wrote 230224_Ds4_THORAL Fanny.tex\n",
"Wrote 230224_Ds4_TOURRETTE Elise.tex\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_TOURRETTE Elise.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_TOURRETTE Elise.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_TOURRETTE Elise.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! I can't find file `230224_Ds4_TROPHARDY Eline.tex'.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_TROPHARDY Eline.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: (Press Enter to retry, or Control-D to exit)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Please type another input file name\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! Emergency stop.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: <*> \"230224_Ds4_TROPHARDY Eline.tex\"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 270 words of node memory still in use:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: 1 hlist, 39 glue_spec nodes\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: avail lists: 2:12,3:1,4:1,5:1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: ! ==> Fatal error occurred, no output PDF file produced!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"pytex.pytex :: ERROR :: Transcript written on texput.log.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Wrote 230224_Ds4_TROPHARDY Eline.tex\n"
]
}
],
"source": [
"tpl = pytex.texenv.from_string(score_template)\n",
"\n",
"for e,sc in datas['eleves'].items():\n",
" reportfilename = f\"{date:%y%m%d}_{assessment}_{e}.tex\"\n",
" with open(output_path / reportfilename, \"w\") as f:\n",
" f.write(tpl.render(sc=sc, e=e,**datas))\n",
" print(f\"Wrote {reportfilename}\")\n",
" pytex.pdflatex(reportfilename)"
]
},
{
"cell_type": "markdown",
"id": "dfaf5d3d",
"metadata": {
"papermill": {
"duration": 0.201831,
"end_time": "2023-02-28T14:59:34.573238",
"exception": false,
"start_time": "2023-02-28T14:59:34.371407",
"status": "completed"
},
"tags": []
},
"source": [
"## Envoie des bilans par mail"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "76384db8",
"metadata": {
"execution": {
"iopub.execute_input": "2023-02-28T14:59:34.890210Z",
"iopub.status.busy": "2023-02-28T14:59:34.889738Z",
"iopub.status.idle": "2023-02-28T14:59:34.891357Z",
"shell.execute_reply": "2023-02-28T14:59:34.891750Z"
},
"papermill": {
"duration": 0.160246,
"end_time": "2023-02-28T14:59:34.891858",
"exception": false,
"start_time": "2023-02-28T14:59:34.731612",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Bian du devoir Ds4\n",
"Bonsoir,\n",
"En pièce jointe, vous trouverez un document détaillant la note du devoir.\n",
"B.Bertrand\n",
"\n"
]
}
],
"source": [
"mailfrom = \"benjamin.bertrand@ac-lyon.fr\"\n",
"subject = f\"Bian du devoir {assessment}\"\n",
"message = \"\"\"Bonsoir,\n",
"En pièce jointe, vous trouverez un document détaillant la note du devoir.\n",
"B.Bertrand\n",
"\"\"\"\n",
"print(subject)\n",
"print(message)"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "71eb9a2b",
"metadata": {
"execution": {
"iopub.execute_input": "2023-02-28T14:59:35.194933Z",
"iopub.status.busy": "2023-02-28T14:59:35.194593Z",
"iopub.status.idle": "2023-02-28T14:59:35.205696Z",
"shell.execute_reply": "2023-02-28T14:59:35.205383Z"
},
"papermill": {
"duration": 0.163028,
"end_time": "2023-02-28T14:59:35.205767",
"exception": false,
"start_time": "2023-02-28T14:59:35.042739",
"status": "completed"
},
"tags": []
},
"outputs": [],
"source": [
"import smtplib\n",
"import os\n",
"import sys\n",
"from email.message import EmailMessage\n",
"import mimetypes\n",
"import time\n",
"import random"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "f2834e6b",
"metadata": {
"execution": {
"iopub.execute_input": "2023-02-28T14:59:35.506270Z",
"iopub.status.busy": "2023-02-28T14:59:35.505926Z",
"iopub.status.idle": "2023-02-28T14:59:35.507126Z",
"shell.execute_reply": "2023-02-28T14:59:35.507421Z"
},
"papermill": {
"duration": 0.154338,
"end_time": "2023-02-28T14:59:35.507501",
"exception": false,
"start_time": "2023-02-28T14:59:35.353163",
"status": "completed"
},
"tags": []
},
"outputs": [],
"source": [
"def build_msg(subj, to_addr, from_addr, body, att):\n",
" msg = EmailMessage()\n",
" msg[\"Subject\"] = subj\n",
" msg[\"To\"] = to_addr\n",
" #msg[\"To\"] = \"lafrite26@gmail.com\"\n",
" msg[\"From\"] = from_addr\n",
" msg.set_content(body)\n",
"\n",
" if att != []:\n",
" ctype, encoding = mimetypes.guess_type(att)\n",
" if ctype is None or encoding is not None:\n",
" ctype = 'application/octet-stream'\n",
" maintype, subtype = ctype.split('/', 1)\n",
" with open(att, \"rb\") as f:\n",
" msg.add_attachment(f.read(),\n",
" maintype=maintype,\n",
" subtype=subtype,\n",
" filename=att.name)\n",
" return msg\n"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "30311066",
"metadata": {
"execution": {
"iopub.execute_input": "2023-02-28T14:59:35.807898Z",
"iopub.status.busy": "2023-02-28T14:59:35.807559Z",
"iopub.status.idle": "2023-02-28T14:59:35.808878Z",
"shell.execute_reply": "2023-02-28T14:59:35.809146Z"
},
"papermill": {
"duration": 0.152521,
"end_time": "2023-02-28T14:59:35.809232",
"exception": false,
"start_time": "2023-02-28T14:59:35.656711",
"status": "completed"
},
"tags": []
},
"outputs": [],
"source": [
"send = 0\n",
"fake = 1"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "d31598c3",
"metadata": {
"execution": {
"iopub.execute_input": "2023-02-28T14:59:36.114803Z",
"iopub.status.busy": "2023-02-28T14:59:36.114464Z",
"iopub.status.idle": "2023-02-28T14:59:36.115779Z",
"shell.execute_reply": "2023-02-28T14:59:36.116059Z"
},
"papermill": {
"duration": 0.157249,
"end_time": "2023-02-28T14:59:36.116137",
"exception": false,
"start_time": "2023-02-28T14:59:35.958888",
"status": "completed"
},
"tags": []
},
"outputs": [],
"source": [
"if send:\n",
" if fake:\n",
" server = smtplib.SMTP(\"localhost\", 8025)\n",
" server.ehlo()\n",
" else:\n",
" server = smtplib.SMTP(\"smtps.ac-lyon.fr\", 587)\n",
" server.ehlo()\n",
" server.starttls()\n",
" server.ehlo()\n",
" server.login(\"bbertrand\", os.popen(\"pass Prof/Lyon/bbertrand\").read()[:-1]) "
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "ca5690d7",
"metadata": {
"execution": {
"iopub.execute_input": "2023-02-28T14:59:36.419607Z",
"iopub.status.busy": "2023-02-28T14:59:36.419258Z",
"iopub.status.idle": "2023-02-28T14:59:36.422277Z",
"shell.execute_reply": "2023-02-28T14:59:36.421939Z"
},
"papermill": {
"duration": 0.158371,
"end_time": "2023-02-28T14:59:36.422345",
"exception": false,
"start_time": "2023-02-28T14:59:36.263974",
"status": "completed"
},
"tags": []
},
"outputs": [],
"source": [
"try:\n",
" eleves_data = pd.read_csv(f\"../../{tribe}.csv\")\n",
"except FileNotFoundError:\n",
" try:\n",
" eleves_data = pd.read_csv(f\"../{tribe}.csv\")\n",
" except FileNotFoundError:\n",
" eleves_data = pd.read_csv(f\"{tribe}.csv\")\n",
"eleves_data.fillna(\"\", inplace=True)\n",
"#eleves_data"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "b676f878",
"metadata": {
"execution": {
"iopub.execute_input": "2023-02-28T14:59:36.721559Z",
"iopub.status.busy": "2023-02-28T14:59:36.721203Z",
"iopub.status.idle": "2023-02-28T14:59:36.726562Z",
"shell.execute_reply": "2023-02-28T14:59:36.726842Z"
},
"papermill": {
"duration": 0.156141,
"end_time": "2023-02-28T14:59:36.726924",
"exception": false,
"start_time": "2023-02-28T14:59:36.570783",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Pas de rapport pour ACHOUR Ilyes\n",
"Pas de rapport pour BELARBI Islem\n",
"Pas de rapport pour BEN ELALLID Hajar\n",
"Pas de rapport pour BISWAS Lina\n",
"Pas de rapport pour BOULAABA Rayan\n",
"Pas de rapport pour BREZUN Ines\n",
"Pas de rapport pour BUGNON Enzo\n",
"Pas de rapport pour CALLEWAERT Idaline\n",
"Pas de rapport pour CATTIN Clément\n",
"Pas de rapport pour CHRISTMANN Nathan\n",
"Pas de rapport pour DECOSTER Clément\n",
"Pas de rapport pour DEHIMAT Launy\n",
"Pas de rapport pour DUPONT Jessica\n",
"Pas de rapport pour GASAN Jéssica\n",
"Pas de rapport pour GEORGET Raphaël\n",
"Pas de rapport pour HABBAZ Hajar\n",
"Pas de rapport pour JACQUEMIER Samuel\n",
"Pas de rapport pour JACQUIER Juliette\n",
"Pas de rapport pour JOVIC Atanase\n",
"Pas de rapport pour KASSI Cheïma\n",
"Pas de rapport pour KICHENASSAMY Sanjay\n",
"Pas de rapport pour LE VEUZIT Adrien\n",
"Pas de rapport pour LETIF Ilef\n",
"Pas de rapport pour MANJALI Hiba\n",
"Pas de rapport pour MUTTONI Lou\n",
"Pas de rapport pour NEIVA Hugo\n",
"Pas de rapport pour OLLIET Gioia\n",
"Pas de rapport pour PERNOT Gabin\n",
"Pas de rapport pour RIZZI Elisa\n",
"Pas de rapport pour ROSTANT Emma\n",
"Pas de rapport pour SIBABA Moaad\n",
"Pas de rapport pour SOUJOL Damien\n",
"Pas de rapport pour THORAL Fanny\n",
"Pas de rapport pour TOURRETTE Elise\n",
"Pas de rapport pour TROPHARDY Eline\n"
]
}
],
"source": [
"for e in eleves_data.iterrows():\n",
" reportfilename = Path(f\"{date:%y%m%d}_{assessment}_{e[1]['Nom']}.pdf\")\n",
" try:\n",
" assert reportfilename.exists()\n",
" except:\n",
" print(f\"Pas de rapport pour {e[1]['Nom']}\")\n",
" else:\n",
" if e[1][\"mail\"] != \"\":\n",
" if send:\n",
" msg = build_msg(subject, e[1][\"mail\"], mailfrom, message, reportfilename)\n",
" server.send_message(msg)\n",
" print(f\"\\tBilan envoyé à {e[1]['Nom']}\")\n",
" else:\n",
" print(f\"Pas de mail pour {e[1]['Nom']}\")\n",
" "
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "78e914c1",
"metadata": {
"papermill": {
"duration": 0.150776,
"end_time": "2023-02-28T14:59:37.025855",
"exception": false,
"start_time": "2023-02-28T14:59:36.875079",
"status": "completed"
},
"tags": []
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "24ff9733",
"metadata": {
"papermill": {
"duration": 0.156133,
"end_time": "2023-02-28T14:59:37.344154",
"exception": false,
"start_time": "2023-02-28T14:59:37.188021",
"status": "completed"
},
"tags": []
},
"outputs": [],
"source": []
}
],
"metadata": {
"celltoolbar": "Diaporama",
"extensions": {
"jupyter_dashboards": {
"activeView": "grid_default",
"version": 1,
"views": {
"grid_default": {
"cellMargin": 10,
"defaultCellHeight": 20,
"maxColumns": 12,
"name": "grid",
"type": "grid"
},
"report_default": {
"name": "report",
"type": "report"
}
}
}
},
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.9"
},
"papermill": {
"duration": 12.724282,
"end_time": "2023-02-28T14:59:37.804177",
"environment_variables": {},
"exception": null,
"input_path": "templates/tpl_evaluation.ipynb",
"output_path": "2gt1/230224_DS4/Ds4.ipynb",
"parameters": {
"assessment": "Ds4",
"csv_file": "/home/lafrite/Cours/2022-2023/Notes/2gt1/230224_DS4.csv",
"date": "24/02/23",
"tribe": "2gt1"
},
"start_time": "2023-02-28T14:59:25.079895",
"version": "1.2.1"
}
},
"nbformat": 4,
"nbformat_minor": 5
}