udata 9.1.4.dev31221__py2.py3-none-any.whl → 9.1.4.dev31257__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of udata might be problematic. Click here for more details.

Files changed (30) hide show
  1. udata/core/dataservices/api.py +37 -1
  2. udata/core/dataservices/models.py +38 -0
  3. udata/core/organization/api.py +7 -1
  4. udata/core/organization/rdf.py +4 -1
  5. udata/core/site/api.py +1 -26
  6. udata/cors.py +4 -4
  7. udata/static/chunks/{10.c1c9496ebfc8949f3de2.js → 10.1d9b1714c0289863ba0a.js} +3 -3
  8. udata/static/chunks/{10.c1c9496ebfc8949f3de2.js.map → 10.1d9b1714c0289863ba0a.js.map} +1 -1
  9. udata/static/chunks/{11.16618d9eedd3f6a7a3c2.js → 11.b6991d2651a318d28ccc.js} +3 -3
  10. udata/static/chunks/{11.16618d9eedd3f6a7a3c2.js.map → 11.b6991d2651a318d28ccc.js.map} +1 -1
  11. udata/static/chunks/{13.9cfb8ee33c4d62e33f8a.js → 13.413af7c95ac0ab6c909a.js} +2 -2
  12. udata/static/chunks/{13.9cfb8ee33c4d62e33f8a.js.map → 13.413af7c95ac0ab6c909a.js.map} +1 -1
  13. udata/static/chunks/{16.d1de045f4bc4b5acdf6b.js → 16.133ce8c70b1e42c9e717.js} +2 -2
  14. udata/static/chunks/{16.d1de045f4bc4b5acdf6b.js.map → 16.133ce8c70b1e42c9e717.js.map} +1 -1
  15. udata/static/chunks/{19.f1ff6cd5816f2d9debc4.js → 19.28f355064e529318c9b1.js} +3 -3
  16. udata/static/chunks/{19.f1ff6cd5816f2d9debc4.js.map → 19.28f355064e529318c9b1.js.map} +1 -1
  17. udata/static/chunks/{8.b50a30118e9e2e1ab436.js → 8.95c59b717494bac4ce43.js} +2 -2
  18. udata/static/chunks/{8.b50a30118e9e2e1ab436.js.map → 8.95c59b717494bac4ce43.js.map} +1 -1
  19. udata/static/chunks/{9.8ad948dd393d38f07a7a.js → 9.5009f558f2268bbe4094.js} +3 -3
  20. udata/static/chunks/{9.8ad948dd393d38f07a7a.js.map → 9.5009f558f2268bbe4094.js.map} +1 -1
  21. udata/static/common.js +1 -1
  22. udata/static/common.js.map +1 -1
  23. udata/tests/api/test_dataservices_api.py +59 -0
  24. udata/tests/organization/test_organization_rdf.py +31 -6
  25. {udata-9.1.4.dev31221.dist-info → udata-9.1.4.dev31257.dist-info}/METADATA +3 -1
  26. {udata-9.1.4.dev31221.dist-info → udata-9.1.4.dev31257.dist-info}/RECORD +30 -30
  27. {udata-9.1.4.dev31221.dist-info → udata-9.1.4.dev31257.dist-info}/LICENSE +0 -0
  28. {udata-9.1.4.dev31221.dist-info → udata-9.1.4.dev31257.dist-info}/WHEEL +0 -0
  29. {udata-9.1.4.dev31221.dist-info → udata-9.1.4.dev31257.dist-info}/entry_points.txt +0 -0
  30. {udata-9.1.4.dev31221.dist-info → udata-9.1.4.dev31257.dist-info}/top_level.txt +0 -0
udata/static/common.js CHANGED
@@ -1,2 +1,2 @@
1
- !function(e){function __webpack_require__(a){if(c[a])return c[a].exports;var f=c[a]={exports:{},id:a,loaded:!1};return e[a].call(f.exports,f,f.exports,__webpack_require__),f.loaded=!0,f.exports}var a=window.webpackJsonp;window.webpackJsonp=function(r,b){for(var t,d,_=0,n=[];_<r.length;_++)d=r[_],f[d]&&n.push.apply(n,f[d]),f[d]=0;for(t in b){var i=b[t];switch(typeof i){case"object":e[t]=function(a){var c=a.slice(1),f=a[0];return function(a,r,b){e[f].apply(this,[a,r,b].concat(c))}}(i);break;case"function":e[t]=i;break;default:e[t]=e[i]}}for(a&&a(r,b);n.length;)n.shift().call(null,__webpack_require__);if(b[0])return c[0]=0,__webpack_require__(0)};var c={},f={31:0};__webpack_require__.e=function(e,a){if(0===f[e])return a.call(null,__webpack_require__);if(void 0!==f[e])f[e].push(a);else{f[e]=[a];var c=document.getElementsByTagName("head")[0],r=document.createElement("script");r.type="text/javascript",r.charset="utf-8",r.async=!0,r.src=__webpack_require__.p+"chunks/"+e+"."+{0:"8f152ff3f1e15e3d8778",1:"c53dfc91009cfdf4583b",2:"c6dba6a3f04d53321e86",3:"31f4515503a814e0e3a3",4:"3720aa269a60fa6d03b4",5:"270f2cb840d87976aecd",6:"c433506a3004b8f4d5fb",7:"6ce1bc0456cf60b71a71",8:"b50a30118e9e2e1ab436",9:"8ad948dd393d38f07a7a",10:"c1c9496ebfc8949f3de2",11:"16618d9eedd3f6a7a3c2",12:"576e63b7a990f8eab784",13:"9cfb8ee33c4d62e33f8a",14:"42393a4d555321f07b8b",15:"7de380008f4ec6ea4b5b",16:"d1de045f4bc4b5acdf6b",17:"4687eae5e18d3049fe7b",18:"b7098bfe5401f75973fa",19:"f1ff6cd5816f2d9debc4",20:"17e9e766625991aa0a7b",21:"2b48c7e5fe59775d5eb3",22:"2a919b7f6014457264e8",23:"3e0c3e2e54035b03f0cd",24:"90ea877940aa6e51aa05",25:"f58e4af656779957db54",26:"980f1773d9ad3068ab73",27:"d27b63112823e700bf20",28:"1ef31a46255dc2bf56d1",29:"056b71a60b1ba45eb81b",30:"01f57358f352314e7df0",32:"92a026dcad120ccdf15f",33:"c1ee77b51bb867f3d7cd"}[e]+".js",c.appendChild(r)}},__webpack_require__.m=e,__webpack_require__.c=c,__webpack_require__.p="/static/"}(function(e){for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a))switch(typeof e[a]){case"function":break;case"object":e[a]=function(a){var c=a.slice(1),f=e[a[0]];return function(e,a,r){f.apply(this,[e,a,r].concat(c))}}(e[a]);break;default:e[a]=e[e[a]]}return e}([]));
1
+ !function(e){function __webpack_require__(a){if(c[a])return c[a].exports;var f=c[a]={exports:{},id:a,loaded:!1};return e[a].call(f.exports,f,f.exports,__webpack_require__),f.loaded=!0,f.exports}var a=window.webpackJsonp;window.webpackJsonp=function(b,r){for(var t,_,n=0,d=[];n<b.length;n++)_=b[n],f[_]&&d.push.apply(d,f[_]),f[_]=0;for(t in r){var i=r[t];switch(typeof i){case"object":e[t]=function(a){var c=a.slice(1),f=a[0];return function(a,b,r){e[f].apply(this,[a,b,r].concat(c))}}(i);break;case"function":e[t]=i;break;default:e[t]=e[i]}}for(a&&a(b,r);d.length;)d.shift().call(null,__webpack_require__);if(r[0])return c[0]=0,__webpack_require__(0)};var c={},f={31:0};__webpack_require__.e=function(e,a){if(0===f[e])return a.call(null,__webpack_require__);if(void 0!==f[e])f[e].push(a);else{f[e]=[a];var c=document.getElementsByTagName("head")[0],b=document.createElement("script");b.type="text/javascript",b.charset="utf-8",b.async=!0,b.src=__webpack_require__.p+"chunks/"+e+"."+{0:"8f152ff3f1e15e3d8778",1:"c53dfc91009cfdf4583b",2:"c6dba6a3f04d53321e86",3:"31f4515503a814e0e3a3",4:"3720aa269a60fa6d03b4",5:"270f2cb840d87976aecd",6:"c433506a3004b8f4d5fb",7:"6ce1bc0456cf60b71a71",8:"95c59b717494bac4ce43",9:"5009f558f2268bbe4094",10:"1d9b1714c0289863ba0a",11:"b6991d2651a318d28ccc",12:"576e63b7a990f8eab784",13:"413af7c95ac0ab6c909a",14:"42393a4d555321f07b8b",15:"7de380008f4ec6ea4b5b",16:"133ce8c70b1e42c9e717",17:"4687eae5e18d3049fe7b",18:"b7098bfe5401f75973fa",19:"28f355064e529318c9b1",20:"17e9e766625991aa0a7b",21:"2b48c7e5fe59775d5eb3",22:"2a919b7f6014457264e8",23:"3e0c3e2e54035b03f0cd",24:"90ea877940aa6e51aa05",25:"f58e4af656779957db54",26:"980f1773d9ad3068ab73",27:"d27b63112823e700bf20",28:"1ef31a46255dc2bf56d1",29:"056b71a60b1ba45eb81b",30:"01f57358f352314e7df0",32:"92a026dcad120ccdf15f",33:"c1ee77b51bb867f3d7cd"}[e]+".js",c.appendChild(b)}},__webpack_require__.m=e,__webpack_require__.c=c,__webpack_require__.p="/static/"}(function(e){for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a))switch(typeof e[a]){case"function":break;case"object":e[a]=function(a){var c=a.slice(1),f=e[a[0]];return function(e,a,b){f.apply(this,[e,a,b].concat(c))}}(e[a]);break;default:e[a]=e[e[a]]}return e}([]));
2
2
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///common.js","webpack:///webpack/bootstrap 21890d57493ab201d68b"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","id","loaded","call","parentJsonpFunction","window","chunkIds","moreModules","chunkId","i","callbacks","length","installedChunks","push","apply","_m","args","slice","templateId","a","b","c","this","concat","shift","31","e","callback","undefined","head","document","getElementsByTagName","script","createElement","type","charset","async","src","p","0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","32","33","appendChild","m","Object","prototype","hasOwnProperty","fn"],"mappings":"CAAS,SAAUA,GCwDnB,QAAAC,qBAAAC,GAGA,GAAAC,EAAAD,GACA,MAAAC,GAAAD,GAAAE,OAGA,IAAAC,GAAAF,EAAAD,IACAE,WACAE,GAAAJ,EACAK,QAAA,EAUA,OANAP,GAAAE,GAAAM,KAAAH,EAAAD,QAAAC,IAAAD,QAAAH,qBAGAI,EAAAE,QAAA,EAGAF,EAAAD,QA3EA,GAAAK,GAAAC,OAAA,YACAA,QAAA,sBAAAC,EAAAC,GAIA,IADA,GAAAV,GAAAW,EAAAC,EAAA,EAAAC,KACQD,EAAAH,EAAAK,OAAoBF,IAC5BD,EAAAF,EAAAG,GACAG,EAAAJ,IACAE,EAAAG,KAAAC,MAAAJ,EAAAE,EAAAJ,IACAI,EAAAJ,GAAA,CAEA,KAAAX,IAAAU,GAAA,CACA,GAAAQ,GAAAR,EAAAV,EAGA,cAAAkB,IACA,aAEApB,EAAAE,GAAA,SAAAkB,GACA,GAAAC,GAAAD,EAAAE,MAAA,GAAAC,EAAAH,EAAA,EACA,iBAAAI,EAAAC,EAAAC,GACA1B,EAAAuB,GAAAJ,MAAAQ,MAAAH,EAAAC,EAAAC,GAAAE,OAAAP,MAEMD,EACN,MACA,gBAEApB,EAAAE,GAAAkB,CACA,MACA,SAEApB,EAAAE,GAAAF,EAAAoB,IAKA,IADAX,KAAAE,EAAAC,GACAG,EAAAC,QACAD,EAAAc,QAAArB,KAAA,KAAAP,oBACA,IAAAW,EAAA,GAEA,MADAT,GAAA,KACAF,oBAAA,GAKA,IAAAE,MAKAc,GACAa,GAAA,EA6BA7B,qBAAA8B,EAAA,SAAAlB,EAAAmB,GAEA,OAAAf,EAAAJ,GACA,MAAAmB,GAAAxB,KAAA,KAAAP,oBAGA,IAAAgC,SAAAhB,EAAAJ,GACAI,EAAAJ,GAAAK,KAAAc,OACI,CAEJf,EAAAJ,IAAAmB,EACA,IAAAE,GAAAC,SAAAC,qBAAA,WACAC,EAAAF,SAAAG,cAAA,SACAD,GAAAE,KAAA,kBACAF,EAAAG,QAAA,QACAH,EAAAI,OAAA,EAEAJ,EAAAK,IAAAzC,oBAAA0C,EAAA,UAAA9B,EAAA,KAAsE+B,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,wBAAk5B/D,GAAA,MACx9BqB,EAAA2C,YAAAxC,KAKApC,oBAAA6E,EAAA9E,EAGAC,oBAAAyB,EAAAvB,EAGAF,oBAAA0C,EAAA,YDIW,SAAS3C,GAEnB,IAAI,GAAIc,KAAKd,GACZ,GAAG+E,OAAOC,UAAUC,eAAezE,KAAKR,EAASc,GAChD,aAAcd,GAAQc,IACtB,IAAK,WAAY,KACjB,KAAK,SAEJd,EAAQc,GAAM,SAASM,GACtB,GAAIC,GAAOD,EAAGE,MAAM,GAAI4D,EAAKlF,EAAQoB,EAAG,GACxC,OAAO,UAAUI,EAAEC,EAAEC,GACpBwD,EAAG/D,MAAMQ,MAAOH,EAAEC,EAAEC,GAAGE,OAAOP,MAE9BrB,EAAQc,GACV,MACD,SAECd,EAAQc,GAAKd,EAAQA,EAAQc,IAKhC,MAAOd","file":"common.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// install a JSONP callback for chunk loading\n/******/ \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n/******/ \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules) {\n/******/ \t\t// add \"moreModules\" to the modules object,\n/******/ \t\t// then flag all \"chunkIds\" as loaded and fire callback\n/******/ \t\tvar moduleId, chunkId, i = 0, callbacks = [];\n/******/ \t\tfor(;i < chunkIds.length; i++) {\n/******/ \t\t\tchunkId = chunkIds[i];\n/******/ \t\t\tif(installedChunks[chunkId])\n/******/ \t\t\t\tcallbacks.push.apply(callbacks, installedChunks[chunkId]);\n/******/ \t\t\tinstalledChunks[chunkId] = 0;\n/******/ \t\t}\n/******/ \t\tfor(moduleId in moreModules) {\n/******/ \t\t\tvar _m = moreModules[moduleId];\n/******/\n/******/ \t\t\t// Check if module is deduplicated\n/******/ \t\t\tswitch(typeof _m) {\n/******/ \t\t\tcase \"object\":\n/******/ \t\t\t\t// Module can be created from a template\n/******/ \t\t\t\tmodules[moduleId] = (function(_m) {\n/******/ \t\t\t\t\tvar args = _m.slice(1), templateId = _m[0];\n/******/ \t\t\t\t\treturn function (a,b,c) {\n/******/ \t\t\t\t\t\tmodules[templateId].apply(this, [a,b,c].concat(args));\n/******/ \t\t\t\t\t};\n/******/ \t\t\t\t}(_m));\n/******/ \t\t\t\tbreak;\n/******/ \t\t\tcase \"function\":\n/******/ \t\t\t\t// Normal module\n/******/ \t\t\t\tmodules[moduleId] = _m;\n/******/ \t\t\t\tbreak;\n/******/ \t\t\tdefault:\n/******/ \t\t\t\t// Module is a copy of another module\n/******/ \t\t\t\tmodules[moduleId] = modules[_m];\n/******/ \t\t\t\tbreak;\n/******/ \t\t\t}\n/******/ \t\t}\n/******/ \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules);\n/******/ \t\twhile(callbacks.length)\n/******/ \t\t\tcallbacks.shift().call(null, __webpack_require__);\n/******/ \t\tif(moreModules[0]) {\n/******/ \t\t\tinstalledModules[0] = 0;\n/******/ \t\t\treturn __webpack_require__(0);\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// object to store loaded and loading chunks\n/******/ \t// \"0\" means \"already loaded\"\n/******/ \t// Array means \"loading\", array contains callbacks\n/******/ \tvar installedChunks = {\n/******/ \t\t31:0\n/******/ \t};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/ \t// This file contains only the entry chunk.\n/******/ \t// The chunk loading function for additional chunks\n/******/ \t__webpack_require__.e = function requireEnsure(chunkId, callback) {\n/******/ \t\t// \"0\" is the signal for \"already loaded\"\n/******/ \t\tif(installedChunks[chunkId] === 0)\n/******/ \t\t\treturn callback.call(null, __webpack_require__);\n/******/\n/******/ \t\t// an array means \"currently loading\".\n/******/ \t\tif(installedChunks[chunkId] !== undefined) {\n/******/ \t\t\tinstalledChunks[chunkId].push(callback);\n/******/ \t\t} else {\n/******/ \t\t\t// start chunk loading\n/******/ \t\t\tinstalledChunks[chunkId] = [callback];\n/******/ \t\t\tvar head = document.getElementsByTagName('head')[0];\n/******/ \t\t\tvar script = document.createElement('script');\n/******/ \t\t\tscript.type = 'text/javascript';\n/******/ \t\t\tscript.charset = 'utf-8';\n/******/ \t\t\tscript.async = true;\n/******/\n/******/ \t\t\tscript.src = __webpack_require__.p + \"chunks/\" + chunkId + \".\" + {\"0\":\"8f152ff3f1e15e3d8778\",\"1\":\"c53dfc91009cfdf4583b\",\"2\":\"c6dba6a3f04d53321e86\",\"3\":\"31f4515503a814e0e3a3\",\"4\":\"3720aa269a60fa6d03b4\",\"5\":\"270f2cb840d87976aecd\",\"6\":\"c433506a3004b8f4d5fb\",\"7\":\"6ce1bc0456cf60b71a71\",\"8\":\"b50a30118e9e2e1ab436\",\"9\":\"8ad948dd393d38f07a7a\",\"10\":\"c1c9496ebfc8949f3de2\",\"11\":\"16618d9eedd3f6a7a3c2\",\"12\":\"576e63b7a990f8eab784\",\"13\":\"9cfb8ee33c4d62e33f8a\",\"14\":\"42393a4d555321f07b8b\",\"15\":\"7de380008f4ec6ea4b5b\",\"16\":\"d1de045f4bc4b5acdf6b\",\"17\":\"4687eae5e18d3049fe7b\",\"18\":\"b7098bfe5401f75973fa\",\"19\":\"f1ff6cd5816f2d9debc4\",\"20\":\"17e9e766625991aa0a7b\",\"21\":\"2b48c7e5fe59775d5eb3\",\"22\":\"2a919b7f6014457264e8\",\"23\":\"3e0c3e2e54035b03f0cd\",\"24\":\"90ea877940aa6e51aa05\",\"25\":\"f58e4af656779957db54\",\"26\":\"980f1773d9ad3068ab73\",\"27\":\"d27b63112823e700bf20\",\"28\":\"1ef31a46255dc2bf56d1\",\"29\":\"056b71a60b1ba45eb81b\",\"30\":\"01f57358f352314e7df0\",\"32\":\"92a026dcad120ccdf15f\",\"33\":\"c1ee77b51bb867f3d7cd\"}[chunkId] + \".js\";\n/******/ \t\t\thead.appendChild(script);\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/static/\";\n/******/ })\n/************************************************************************/\n/******/ ((function(modules) {\n\t// Check all modules for deduplicated modules\n\tfor(var i in modules) {\n\t\tif(Object.prototype.hasOwnProperty.call(modules, i)) {\n\t\t\tswitch(typeof modules[i]) {\n\t\t\tcase \"function\": break;\n\t\t\tcase \"object\":\n\t\t\t\t// Module can be created from a template\n\t\t\t\tmodules[i] = (function(_m) {\n\t\t\t\t\tvar args = _m.slice(1), fn = modules[_m[0]];\n\t\t\t\t\treturn function (a,b,c) {\n\t\t\t\t\t\tfn.apply(this, [a,b,c].concat(args));\n\t\t\t\t\t};\n\t\t\t\t}(modules[i]));\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t// Module is a copy of another module\n\t\t\t\tmodules[i] = modules[modules[i]];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\treturn modules;\n}([])));\n\n\n/** WEBPACK FOOTER **\n ** common.js\n **/"," \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, callbacks = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId])\n \t\t\t\tcallbacks.push.apply(callbacks, installedChunks[chunkId]);\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tvar _m = moreModules[moduleId];\n\n \t\t\t// Check if module is deduplicated\n \t\t\tswitch(typeof _m) {\n \t\t\tcase \"object\":\n \t\t\t\t// Module can be created from a template\n \t\t\t\tmodules[moduleId] = (function(_m) {\n \t\t\t\t\tvar args = _m.slice(1), templateId = _m[0];\n \t\t\t\t\treturn function (a,b,c) {\n \t\t\t\t\t\tmodules[templateId].apply(this, [a,b,c].concat(args));\n \t\t\t\t\t};\n \t\t\t\t}(_m));\n \t\t\t\tbreak;\n \t\t\tcase \"function\":\n \t\t\t\t// Normal module\n \t\t\t\tmodules[moduleId] = _m;\n \t\t\t\tbreak;\n \t\t\tdefault:\n \t\t\t\t// Module is a copy of another module\n \t\t\t\tmodules[moduleId] = modules[_m];\n \t\t\t\tbreak;\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules);\n \t\twhile(callbacks.length)\n \t\t\tcallbacks.shift().call(null, __webpack_require__);\n \t\tif(moreModules[0]) {\n \t\t\tinstalledModules[0] = 0;\n \t\t\treturn __webpack_require__(0);\n \t\t}\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// \"0\" means \"already loaded\"\n \t// Array means \"loading\", array contains callbacks\n \tvar installedChunks = {\n \t\t31:0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId, callback) {\n \t\t// \"0\" is the signal for \"already loaded\"\n \t\tif(installedChunks[chunkId] === 0)\n \t\t\treturn callback.call(null, __webpack_require__);\n\n \t\t// an array means \"currently loading\".\n \t\tif(installedChunks[chunkId] !== undefined) {\n \t\t\tinstalledChunks[chunkId].push(callback);\n \t\t} else {\n \t\t\t// start chunk loading\n \t\t\tinstalledChunks[chunkId] = [callback];\n \t\t\tvar head = document.getElementsByTagName('head')[0];\n \t\t\tvar script = document.createElement('script');\n \t\t\tscript.type = 'text/javascript';\n \t\t\tscript.charset = 'utf-8';\n \t\t\tscript.async = true;\n\n \t\t\tscript.src = __webpack_require__.p + \"chunks/\" + chunkId + \".\" + {\"0\":\"8f152ff3f1e15e3d8778\",\"1\":\"c53dfc91009cfdf4583b\",\"2\":\"c6dba6a3f04d53321e86\",\"3\":\"31f4515503a814e0e3a3\",\"4\":\"3720aa269a60fa6d03b4\",\"5\":\"270f2cb840d87976aecd\",\"6\":\"c433506a3004b8f4d5fb\",\"7\":\"6ce1bc0456cf60b71a71\",\"8\":\"b50a30118e9e2e1ab436\",\"9\":\"8ad948dd393d38f07a7a\",\"10\":\"c1c9496ebfc8949f3de2\",\"11\":\"16618d9eedd3f6a7a3c2\",\"12\":\"576e63b7a990f8eab784\",\"13\":\"9cfb8ee33c4d62e33f8a\",\"14\":\"42393a4d555321f07b8b\",\"15\":\"7de380008f4ec6ea4b5b\",\"16\":\"d1de045f4bc4b5acdf6b\",\"17\":\"4687eae5e18d3049fe7b\",\"18\":\"b7098bfe5401f75973fa\",\"19\":\"f1ff6cd5816f2d9debc4\",\"20\":\"17e9e766625991aa0a7b\",\"21\":\"2b48c7e5fe59775d5eb3\",\"22\":\"2a919b7f6014457264e8\",\"23\":\"3e0c3e2e54035b03f0cd\",\"24\":\"90ea877940aa6e51aa05\",\"25\":\"f58e4af656779957db54\",\"26\":\"980f1773d9ad3068ab73\",\"27\":\"d27b63112823e700bf20\",\"28\":\"1ef31a46255dc2bf56d1\",\"29\":\"056b71a60b1ba45eb81b\",\"30\":\"01f57358f352314e7df0\",\"32\":\"92a026dcad120ccdf15f\",\"33\":\"c1ee77b51bb867f3d7cd\"}[chunkId] + \".js\";\n \t\t\thead.appendChild(script);\n \t\t}\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/static/\";\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 21890d57493ab201d68b\n **/"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///common.js","webpack:///webpack/bootstrap 14190042fbf38715f79a"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","id","loaded","call","parentJsonpFunction","window","chunkIds","moreModules","chunkId","i","callbacks","length","installedChunks","push","apply","_m","args","slice","templateId","a","b","c","this","concat","shift","31","e","callback","undefined","head","document","getElementsByTagName","script","createElement","type","charset","async","src","p","0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","32","33","appendChild","m","Object","prototype","hasOwnProperty","fn"],"mappings":"CAAS,SAAUA,GCwDnB,QAAAC,qBAAAC,GAGA,GAAAC,EAAAD,GACA,MAAAC,GAAAD,GAAAE,OAGA,IAAAC,GAAAF,EAAAD,IACAE,WACAE,GAAAJ,EACAK,QAAA,EAUA,OANAP,GAAAE,GAAAM,KAAAH,EAAAD,QAAAC,IAAAD,QAAAH,qBAGAI,EAAAE,QAAA,EAGAF,EAAAD,QA3EA,GAAAK,GAAAC,OAAA,YACAA,QAAA,sBAAAC,EAAAC,GAIA,IADA,GAAAV,GAAAW,EAAAC,EAAA,EAAAC,KACQD,EAAAH,EAAAK,OAAoBF,IAC5BD,EAAAF,EAAAG,GACAG,EAAAJ,IACAE,EAAAG,KAAAC,MAAAJ,EAAAE,EAAAJ,IACAI,EAAAJ,GAAA,CAEA,KAAAX,IAAAU,GAAA,CACA,GAAAQ,GAAAR,EAAAV,EAGA,cAAAkB,IACA,aAEApB,EAAAE,GAAA,SAAAkB,GACA,GAAAC,GAAAD,EAAAE,MAAA,GAAAC,EAAAH,EAAA,EACA,iBAAAI,EAAAC,EAAAC,GACA1B,EAAAuB,GAAAJ,MAAAQ,MAAAH,EAAAC,EAAAC,GAAAE,OAAAP,MAEMD,EACN,MACA,gBAEApB,EAAAE,GAAAkB,CACA,MACA,SAEApB,EAAAE,GAAAF,EAAAoB,IAKA,IADAX,KAAAE,EAAAC,GACAG,EAAAC,QACAD,EAAAc,QAAArB,KAAA,KAAAP,oBACA,IAAAW,EAAA,GAEA,MADAT,GAAA,KACAF,oBAAA,GAKA,IAAAE,MAKAc,GACAa,GAAA,EA6BA7B,qBAAA8B,EAAA,SAAAlB,EAAAmB,GAEA,OAAAf,EAAAJ,GACA,MAAAmB,GAAAxB,KAAA,KAAAP,oBAGA,IAAAgC,SAAAhB,EAAAJ,GACAI,EAAAJ,GAAAK,KAAAc,OACI,CAEJf,EAAAJ,IAAAmB,EACA,IAAAE,GAAAC,SAAAC,qBAAA,WACAC,EAAAF,SAAAG,cAAA,SACAD,GAAAE,KAAA,kBACAF,EAAAG,QAAA,QACAH,EAAAI,OAAA,EAEAJ,EAAAK,IAAAzC,oBAAA0C,EAAA,UAAA9B,EAAA,KAAsE+B,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,wBAAk5B/D,GAAA,MACx9BqB,EAAA2C,YAAAxC,KAKApC,oBAAA6E,EAAA9E,EAGAC,oBAAAyB,EAAAvB,EAGAF,oBAAA0C,EAAA,YDIW,SAAS3C,GAEnB,IAAI,GAAIc,KAAKd,GACZ,GAAG+E,OAAOC,UAAUC,eAAezE,KAAKR,EAASc,GAChD,aAAcd,GAAQc,IACtB,IAAK,WAAY,KACjB,KAAK,SAEJd,EAAQc,GAAM,SAASM,GACtB,GAAIC,GAAOD,EAAGE,MAAM,GAAI4D,EAAKlF,EAAQoB,EAAG,GACxC,OAAO,UAAUI,EAAEC,EAAEC,GACpBwD,EAAG/D,MAAMQ,MAAOH,EAAEC,EAAEC,GAAGE,OAAOP,MAE9BrB,EAAQc,GACV,MACD,SAECd,EAAQc,GAAKd,EAAQA,EAAQc,IAKhC,MAAOd","file":"common.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// install a JSONP callback for chunk loading\n/******/ \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n/******/ \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules) {\n/******/ \t\t// add \"moreModules\" to the modules object,\n/******/ \t\t// then flag all \"chunkIds\" as loaded and fire callback\n/******/ \t\tvar moduleId, chunkId, i = 0, callbacks = [];\n/******/ \t\tfor(;i < chunkIds.length; i++) {\n/******/ \t\t\tchunkId = chunkIds[i];\n/******/ \t\t\tif(installedChunks[chunkId])\n/******/ \t\t\t\tcallbacks.push.apply(callbacks, installedChunks[chunkId]);\n/******/ \t\t\tinstalledChunks[chunkId] = 0;\n/******/ \t\t}\n/******/ \t\tfor(moduleId in moreModules) {\n/******/ \t\t\tvar _m = moreModules[moduleId];\n/******/\n/******/ \t\t\t// Check if module is deduplicated\n/******/ \t\t\tswitch(typeof _m) {\n/******/ \t\t\tcase \"object\":\n/******/ \t\t\t\t// Module can be created from a template\n/******/ \t\t\t\tmodules[moduleId] = (function(_m) {\n/******/ \t\t\t\t\tvar args = _m.slice(1), templateId = _m[0];\n/******/ \t\t\t\t\treturn function (a,b,c) {\n/******/ \t\t\t\t\t\tmodules[templateId].apply(this, [a,b,c].concat(args));\n/******/ \t\t\t\t\t};\n/******/ \t\t\t\t}(_m));\n/******/ \t\t\t\tbreak;\n/******/ \t\t\tcase \"function\":\n/******/ \t\t\t\t// Normal module\n/******/ \t\t\t\tmodules[moduleId] = _m;\n/******/ \t\t\t\tbreak;\n/******/ \t\t\tdefault:\n/******/ \t\t\t\t// Module is a copy of another module\n/******/ \t\t\t\tmodules[moduleId] = modules[_m];\n/******/ \t\t\t\tbreak;\n/******/ \t\t\t}\n/******/ \t\t}\n/******/ \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules);\n/******/ \t\twhile(callbacks.length)\n/******/ \t\t\tcallbacks.shift().call(null, __webpack_require__);\n/******/ \t\tif(moreModules[0]) {\n/******/ \t\t\tinstalledModules[0] = 0;\n/******/ \t\t\treturn __webpack_require__(0);\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// object to store loaded and loading chunks\n/******/ \t// \"0\" means \"already loaded\"\n/******/ \t// Array means \"loading\", array contains callbacks\n/******/ \tvar installedChunks = {\n/******/ \t\t31:0\n/******/ \t};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/ \t// This file contains only the entry chunk.\n/******/ \t// The chunk loading function for additional chunks\n/******/ \t__webpack_require__.e = function requireEnsure(chunkId, callback) {\n/******/ \t\t// \"0\" is the signal for \"already loaded\"\n/******/ \t\tif(installedChunks[chunkId] === 0)\n/******/ \t\t\treturn callback.call(null, __webpack_require__);\n/******/\n/******/ \t\t// an array means \"currently loading\".\n/******/ \t\tif(installedChunks[chunkId] !== undefined) {\n/******/ \t\t\tinstalledChunks[chunkId].push(callback);\n/******/ \t\t} else {\n/******/ \t\t\t// start chunk loading\n/******/ \t\t\tinstalledChunks[chunkId] = [callback];\n/******/ \t\t\tvar head = document.getElementsByTagName('head')[0];\n/******/ \t\t\tvar script = document.createElement('script');\n/******/ \t\t\tscript.type = 'text/javascript';\n/******/ \t\t\tscript.charset = 'utf-8';\n/******/ \t\t\tscript.async = true;\n/******/\n/******/ \t\t\tscript.src = __webpack_require__.p + \"chunks/\" + chunkId + \".\" + {\"0\":\"8f152ff3f1e15e3d8778\",\"1\":\"c53dfc91009cfdf4583b\",\"2\":\"c6dba6a3f04d53321e86\",\"3\":\"31f4515503a814e0e3a3\",\"4\":\"3720aa269a60fa6d03b4\",\"5\":\"270f2cb840d87976aecd\",\"6\":\"c433506a3004b8f4d5fb\",\"7\":\"6ce1bc0456cf60b71a71\",\"8\":\"95c59b717494bac4ce43\",\"9\":\"5009f558f2268bbe4094\",\"10\":\"1d9b1714c0289863ba0a\",\"11\":\"b6991d2651a318d28ccc\",\"12\":\"576e63b7a990f8eab784\",\"13\":\"413af7c95ac0ab6c909a\",\"14\":\"42393a4d555321f07b8b\",\"15\":\"7de380008f4ec6ea4b5b\",\"16\":\"133ce8c70b1e42c9e717\",\"17\":\"4687eae5e18d3049fe7b\",\"18\":\"b7098bfe5401f75973fa\",\"19\":\"28f355064e529318c9b1\",\"20\":\"17e9e766625991aa0a7b\",\"21\":\"2b48c7e5fe59775d5eb3\",\"22\":\"2a919b7f6014457264e8\",\"23\":\"3e0c3e2e54035b03f0cd\",\"24\":\"90ea877940aa6e51aa05\",\"25\":\"f58e4af656779957db54\",\"26\":\"980f1773d9ad3068ab73\",\"27\":\"d27b63112823e700bf20\",\"28\":\"1ef31a46255dc2bf56d1\",\"29\":\"056b71a60b1ba45eb81b\",\"30\":\"01f57358f352314e7df0\",\"32\":\"92a026dcad120ccdf15f\",\"33\":\"c1ee77b51bb867f3d7cd\"}[chunkId] + \".js\";\n/******/ \t\t\thead.appendChild(script);\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/static/\";\n/******/ })\n/************************************************************************/\n/******/ ((function(modules) {\n\t// Check all modules for deduplicated modules\n\tfor(var i in modules) {\n\t\tif(Object.prototype.hasOwnProperty.call(modules, i)) {\n\t\t\tswitch(typeof modules[i]) {\n\t\t\tcase \"function\": break;\n\t\t\tcase \"object\":\n\t\t\t\t// Module can be created from a template\n\t\t\t\tmodules[i] = (function(_m) {\n\t\t\t\t\tvar args = _m.slice(1), fn = modules[_m[0]];\n\t\t\t\t\treturn function (a,b,c) {\n\t\t\t\t\t\tfn.apply(this, [a,b,c].concat(args));\n\t\t\t\t\t};\n\t\t\t\t}(modules[i]));\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t// Module is a copy of another module\n\t\t\t\tmodules[i] = modules[modules[i]];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\treturn modules;\n}([])));\n\n\n/** WEBPACK FOOTER **\n ** common.js\n **/"," \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, callbacks = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId])\n \t\t\t\tcallbacks.push.apply(callbacks, installedChunks[chunkId]);\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tvar _m = moreModules[moduleId];\n\n \t\t\t// Check if module is deduplicated\n \t\t\tswitch(typeof _m) {\n \t\t\tcase \"object\":\n \t\t\t\t// Module can be created from a template\n \t\t\t\tmodules[moduleId] = (function(_m) {\n \t\t\t\t\tvar args = _m.slice(1), templateId = _m[0];\n \t\t\t\t\treturn function (a,b,c) {\n \t\t\t\t\t\tmodules[templateId].apply(this, [a,b,c].concat(args));\n \t\t\t\t\t};\n \t\t\t\t}(_m));\n \t\t\t\tbreak;\n \t\t\tcase \"function\":\n \t\t\t\t// Normal module\n \t\t\t\tmodules[moduleId] = _m;\n \t\t\t\tbreak;\n \t\t\tdefault:\n \t\t\t\t// Module is a copy of another module\n \t\t\t\tmodules[moduleId] = modules[_m];\n \t\t\t\tbreak;\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules);\n \t\twhile(callbacks.length)\n \t\t\tcallbacks.shift().call(null, __webpack_require__);\n \t\tif(moreModules[0]) {\n \t\t\tinstalledModules[0] = 0;\n \t\t\treturn __webpack_require__(0);\n \t\t}\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// \"0\" means \"already loaded\"\n \t// Array means \"loading\", array contains callbacks\n \tvar installedChunks = {\n \t\t31:0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId, callback) {\n \t\t// \"0\" is the signal for \"already loaded\"\n \t\tif(installedChunks[chunkId] === 0)\n \t\t\treturn callback.call(null, __webpack_require__);\n\n \t\t// an array means \"currently loading\".\n \t\tif(installedChunks[chunkId] !== undefined) {\n \t\t\tinstalledChunks[chunkId].push(callback);\n \t\t} else {\n \t\t\t// start chunk loading\n \t\t\tinstalledChunks[chunkId] = [callback];\n \t\t\tvar head = document.getElementsByTagName('head')[0];\n \t\t\tvar script = document.createElement('script');\n \t\t\tscript.type = 'text/javascript';\n \t\t\tscript.charset = 'utf-8';\n \t\t\tscript.async = true;\n\n \t\t\tscript.src = __webpack_require__.p + \"chunks/\" + chunkId + \".\" + {\"0\":\"8f152ff3f1e15e3d8778\",\"1\":\"c53dfc91009cfdf4583b\",\"2\":\"c6dba6a3f04d53321e86\",\"3\":\"31f4515503a814e0e3a3\",\"4\":\"3720aa269a60fa6d03b4\",\"5\":\"270f2cb840d87976aecd\",\"6\":\"c433506a3004b8f4d5fb\",\"7\":\"6ce1bc0456cf60b71a71\",\"8\":\"95c59b717494bac4ce43\",\"9\":\"5009f558f2268bbe4094\",\"10\":\"1d9b1714c0289863ba0a\",\"11\":\"b6991d2651a318d28ccc\",\"12\":\"576e63b7a990f8eab784\",\"13\":\"413af7c95ac0ab6c909a\",\"14\":\"42393a4d555321f07b8b\",\"15\":\"7de380008f4ec6ea4b5b\",\"16\":\"133ce8c70b1e42c9e717\",\"17\":\"4687eae5e18d3049fe7b\",\"18\":\"b7098bfe5401f75973fa\",\"19\":\"28f355064e529318c9b1\",\"20\":\"17e9e766625991aa0a7b\",\"21\":\"2b48c7e5fe59775d5eb3\",\"22\":\"2a919b7f6014457264e8\",\"23\":\"3e0c3e2e54035b03f0cd\",\"24\":\"90ea877940aa6e51aa05\",\"25\":\"f58e4af656779957db54\",\"26\":\"980f1773d9ad3068ab73\",\"27\":\"d27b63112823e700bf20\",\"28\":\"1ef31a46255dc2bf56d1\",\"29\":\"056b71a60b1ba45eb81b\",\"30\":\"01f57358f352314e7df0\",\"32\":\"92a026dcad120ccdf15f\",\"33\":\"c1ee77b51bb867f3d7cd\"}[chunkId] + \".js\";\n \t\t\thead.appendChild(script);\n \t\t}\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/static/\";\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 14190042fbf38715f79a\n **/"],"sourceRoot":""}
@@ -1,11 +1,16 @@
1
+ from xml.etree.ElementTree import XML
2
+
3
+ import pytest
1
4
  from flask import url_for
2
5
 
6
+ from udata.core.dataservices.factories import DataserviceFactory
3
7
  from udata.core.dataservices.models import Dataservice
4
8
  from udata.core.dataset.factories import DatasetFactory, LicenseFactory
5
9
  from udata.core.organization.factories import OrganizationFactory
6
10
  from udata.core.organization.models import Member
7
11
  from udata.core.user.factories import UserFactory
8
12
  from udata.i18n import gettext as _
13
+ from udata.tests.helpers import assert200, assert_redirects
9
14
 
10
15
  from . import APITestCase
11
16
 
@@ -311,3 +316,57 @@ class DataserviceAPITest(APITestCase):
311
316
  dataservice = Dataservice.objects(id=response.json["id"]).first()
312
317
  self.assertEqual(dataservice.owner, None)
313
318
  self.assertEqual(dataservice.organization.id, me_org.id)
319
+
320
+
321
+ @pytest.mark.frontend
322
+ class DataserviceRdfViewsTest:
323
+ def test_rdf_default_to_jsonld(self, client):
324
+ dataservice = DataserviceFactory()
325
+ expected = url_for("api.dataservice_rdf_format", dataservice=dataservice.id, format="json")
326
+ response = client.get(url_for("api.dataservice_rdf", dataservice=dataservice))
327
+ assert_redirects(response, expected)
328
+
329
+ def test_rdf_perform_content_negociation(self, client):
330
+ dataservice = DataserviceFactory()
331
+ expected = url_for("api.dataservice_rdf_format", dataservice=dataservice.id, format="xml")
332
+ url = url_for("api.dataservice_rdf", dataservice=dataservice)
333
+ headers = {"accept": "application/xml"}
334
+ response = client.get(url, headers=headers)
335
+ assert_redirects(response, expected)
336
+
337
+ def test_rdf_perform_content_negociation_response(self, client):
338
+ """Check we have valid XML as output"""
339
+ dataservice = DataserviceFactory()
340
+ url = url_for("api.dataservice_rdf", dataservice=dataservice)
341
+ headers = {"accept": "application/xml"}
342
+ response = client.get(url, headers=headers, follow_redirects=True)
343
+ element = XML(response.data)
344
+ assert element.tag == "{http://www.w3.org/1999/02/22-rdf-syntax-ns#}RDF"
345
+
346
+ def test_dataservice_rdf_json_ld(self, client):
347
+ dataservice = DataserviceFactory()
348
+ for fmt in "json", "jsonld":
349
+ url = url_for("api.dataservice_rdf_format", dataservice=dataservice, format=fmt)
350
+ response = client.get(url, headers={"Accept": "application/ld+json"})
351
+ assert200(response)
352
+ assert response.content_type == "application/ld+json"
353
+ assert response.json["@context"]["@vocab"] == "http://www.w3.org/ns/dcat#"
354
+
355
+ @pytest.mark.parametrize(
356
+ "fmt,mime",
357
+ [
358
+ ("n3", "text/n3"),
359
+ ("nt", "application/n-triples"),
360
+ ("ttl", "application/x-turtle"),
361
+ ("xml", "application/rdf+xml"),
362
+ ("rdf", "application/rdf+xml"),
363
+ ("owl", "application/rdf+xml"),
364
+ ("trig", "application/trig"),
365
+ ],
366
+ )
367
+ def test_dataservice_rdf_formats(self, client, fmt, mime):
368
+ dataservice = DataserviceFactory()
369
+ url = url_for("api.dataservice_rdf_format", dataservice=dataservice, format=fmt)
370
+ response = client.get(url, headers={"Accept": mime})
371
+ assert200(response)
372
+ assert response.content_type == mime
@@ -4,6 +4,8 @@ from rdflib.namespace import FOAF, RDF, RDFS
4
4
  from rdflib.resource import Resource as RdfResource
5
5
 
6
6
  from udata import api
7
+ from udata.core.dataservices.factories import DataserviceFactory
8
+ from udata.core.dataservices.models import Dataservice
7
9
  from udata.core.dataset.factories import DatasetFactory
8
10
  from udata.core.dataset.models import Dataset
9
11
  from udata.core.organization.factories import OrganizationFactory
@@ -55,7 +57,8 @@ class OrganizationToRdfTest(DBTestMixin, TestCase):
55
57
  uri = url_for("api.organization_rdf", org=origin_org.id, _external=True)
56
58
 
57
59
  datasets = DatasetFactory.create_batch(3, organization=origin_org)
58
- catalog = build_org_catalog(origin_org, datasets)
60
+ dataservices = DataserviceFactory.create_batch(3, organization=origin_org)
61
+ catalog = build_org_catalog(origin_org, datasets, dataservices)
59
62
 
60
63
  graph = catalog.graph
61
64
 
@@ -69,6 +72,7 @@ class OrganizationToRdfTest(DBTestMixin, TestCase):
69
72
  self.assertEqual(str(catalog.identifier), uri)
70
73
 
71
74
  self.assertEqual(len(list(catalog.objects(DCAT.dataset))), len(datasets))
75
+ self.assertEqual(len(list(catalog.objects(DCAT.dataservice))), len(dataservices))
72
76
 
73
77
  org = catalog.value(DCT.publisher)
74
78
  self.assertEqual(org.value(RDF.type).identifier, FOAF.Organization)
@@ -80,6 +84,8 @@ class OrganizationToRdfTest(DBTestMixin, TestCase):
80
84
  graph = catalog.graph
81
85
  graph_datasets = graph.subjects(RDF.type, DCAT.Dataset)
82
86
  self.assertEqual(len(list(graph_datasets)), len(datasets))
87
+ graph_dataservices = graph.subjects(RDF.type, DCAT.DataService)
88
+ self.assertEqual(len(list(graph_dataservices)), len(dataservices))
83
89
 
84
90
  def test_catalog_pagination(self):
85
91
  origin_org = OrganizationFactory()
@@ -102,11 +108,23 @@ class OrganizationToRdfTest(DBTestMixin, TestCase):
102
108
  page_size=page_size,
103
109
  _external=True,
104
110
  )
111
+ # First create a dataset and it's associated dataservice, which should be listed
112
+ # last, and thus on the second page.
113
+ extra_dataset = DatasetFactory.create(organization=origin_org)
114
+ _extra_dataservice = DataserviceFactory.create(
115
+ datasets=[extra_dataset], organization=origin_org
116
+ )
117
+
118
+ # Create `total` datasets that should be listed on the first page up to `page_size`
105
119
  DatasetFactory.create_batch(total, organization=origin_org)
120
+ # And all the dataservices with no datasets, which will all be listed on the first page.
121
+ # See DataserviceQuerySet.filter_by_dataset_pagination.
122
+ DataserviceFactory.create_batch(total, organization=origin_org)
106
123
 
107
124
  # First page
108
125
  datasets = Dataset.objects.paginate(1, page_size)
109
- catalog = build_org_catalog(origin_org, datasets, format="json")
126
+ dataservices = Dataservice.objects.filter_by_dataset_pagination(datasets, 1)
127
+ catalog = build_org_catalog(origin_org, datasets, dataservices, format="json")
110
128
  graph = catalog.graph
111
129
 
112
130
  self.assertIsInstance(catalog, RdfResource)
@@ -115,9 +133,12 @@ class OrganizationToRdfTest(DBTestMixin, TestCase):
115
133
  self.assertIn(DCAT.Catalog, types)
116
134
  self.assertIn(HYDRA.Collection, types)
117
135
 
118
- self.assertEqual(catalog.value(HYDRA.totalItems), Literal(total))
136
+ self.assertEqual(catalog.value(HYDRA.totalItems), Literal(total + 1))
119
137
 
120
138
  self.assertEqual(len(list(catalog.objects(DCAT.dataset))), page_size)
139
+ # All dataservices that are not linked to a dataset are listed in the first page.
140
+ # See DataserviceQuerySet.filter_by_dataset_pagination.
141
+ self.assertEqual(len(list(catalog.objects(DCAT.dataservice))), total)
121
142
 
122
143
  paginations = list(graph.subjects(RDF.type, HYDRA.PartialCollectionView))
123
144
  self.assertEqual(len(paginations), 1)
@@ -130,7 +151,8 @@ class OrganizationToRdfTest(DBTestMixin, TestCase):
130
151
 
131
152
  # Second page
132
153
  datasets = Dataset.objects.paginate(2, page_size)
133
- catalog = build_org_catalog(origin_org, datasets, format="json")
154
+ dataservices = Dataservice.objects.filter_by_dataset_pagination(datasets, 2)
155
+ catalog = build_org_catalog(origin_org, datasets, dataservices, format="json")
134
156
  graph = catalog.graph
135
157
 
136
158
  self.assertIsInstance(catalog, RdfResource)
@@ -139,9 +161,12 @@ class OrganizationToRdfTest(DBTestMixin, TestCase):
139
161
  self.assertIn(DCAT.Catalog, types)
140
162
  self.assertIn(HYDRA.Collection, types)
141
163
 
142
- self.assertEqual(catalog.value(HYDRA.totalItems), Literal(total))
164
+ self.assertEqual(catalog.value(HYDRA.totalItems), Literal(total + 1))
143
165
 
144
- self.assertEqual(len(list(catalog.objects(DCAT.dataset))), 1)
166
+ # 5 datasets total, 3 on the first page, 2 on the second.
167
+ self.assertEqual(len(list(catalog.objects(DCAT.dataset))), 2)
168
+ # 1 extra_dataservice, listed on the same page as its associated extra_dataset.
169
+ self.assertEqual(len(list(catalog.objects(DCAT.dataservice))), 1)
145
170
 
146
171
  paginations = list(graph.subjects(RDF.type, HYDRA.PartialCollectionView))
147
172
  self.assertEqual(len(paginations), 1)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: udata
3
- Version: 9.1.4.dev31221
3
+ Version: 9.1.4.dev31257
4
4
  Summary: Open data portal
5
5
  Home-page: https://github.com/opendatateam/udata
6
6
  Author: Opendata Team
@@ -148,6 +148,7 @@ It is collectively taken care of by members of the
148
148
  - Add a new `related_to` filter parameter to the activities API endpoint [#3127](https://github.com/opendatateam/udata/pull/3127)
149
149
  - Properly import the `Discussion.closed_by` from the fixtures [#3125](https://github.com/opendatateam/udata/pull/3125)
150
150
  - Send an API token to Hydra when publishing resource events [#3130](https://github.com/opendatateam/udata/pull/3130)
151
+ - Always add Vary even for non CORS requests [#3132](https://github.com/opendatateam/udata/pull/3132)
151
152
 
152
153
  ## 9.1.3 (2024-08-01)
153
154
 
@@ -157,6 +158,7 @@ It is collectively taken care of by members of the
157
158
  - Update to the version v2.0.0 of udata-fixtures (with the dataservices)
158
159
  - Add type hints [#3111](https://github.com/opendatateam/udata/pull/3111)
159
160
  - Make sure requests v2.32.3 is used everywhere consistently [#3116](https://github.com/opendatateam/udata/pull/3116)
161
+ - Expose a dataservice in its organization's catalog, and expose a dataservice's catalog [#3122](https://github.com/opendatateam/udata/pull/3122)
160
162
 
161
163
  ## 9.1.2 (2024-07-29)
162
164
 
@@ -4,7 +4,7 @@ udata/__init__.py,sha256=iIfkZcu-LQi4btmqKGrdK2F_zRkl8dI8cm8sFeYz9Fk,101
4
4
  udata/api_fields.py,sha256=tnGdUBgfcGxbBBvZntXm59I9J4fI-x5kXK5iPMGnr1Y,19252
5
5
  udata/app.py,sha256=xjk2D3EgboYBpTwBwdIxd2klt2yMoWMyCrkry5fz0LA,7292
6
6
  udata/assets.py,sha256=H5Hrc2vnKM0IFLyWfLXmJ2Kj35w1i8W1D8Cgy8_cUj4,657
7
- udata/cors.py,sha256=QyhlcnkLo9SmJhgK3FRjLcD5YC-03bU514UVMAHfbSc,2995
7
+ udata/cors.py,sha256=m4_AttmBwUEI_njVJkGDFMCpCD3Tvt9k7xBjuQTDqbU,2987
8
8
  udata/entrypoints.py,sha256=mbAAUVT8ZenzSYdang2PbAwZcK1pENtA3axBmPRiWCw,2717
9
9
  udata/errors.py,sha256=E8W7b4PH7c5B85g_nsUMt8fHqMVpDFOZFkO6wMPl6bA,117
10
10
  udata/factories.py,sha256=MoklZnU8iwNL25dm3JsoXhoQs1PQWSVYL1WvcUBtJqM,492
@@ -80,9 +80,9 @@ udata/core/contact_point/factories.py,sha256=MWu3fbE6G84e-7_gtsM5OifZPxHFRWDjw__
80
80
  udata/core/contact_point/forms.py,sha256=uioyzAySatniPdDdoBYyHj9n-m1LkMtaJpCnyS0-IRU,572
81
81
  udata/core/contact_point/models.py,sha256=yB82UcZJGeVhSIsvnpAT8yao7fmAyl59WVGphP3LGHw,309
82
82
  udata/core/dataservices/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
83
- udata/core/dataservices/api.py,sha256=7d4Gn9z9P40AapeMMEk63QY60Htg-LurUC63NzUfr2I,3092
83
+ udata/core/dataservices/api.py,sha256=LTYXOVeYp8ihWJiuZbUJWyjpeCRnXJrSG-jDMnjEY88,4574
84
84
  udata/core/dataservices/factories.py,sha256=LDk8vvG0zhW8J-ZX5LoJQDU13pqeIyjQ05muuMro_eA,876
85
- udata/core/dataservices/models.py,sha256=2eF6LImNXOKiLgqktNd5Lc-FS7NA47yQJ_VDoDoQvFU,5883
85
+ udata/core/dataservices/models.py,sha256=tSRfONyvU2QMqUbocE7x_J0gZYu7mU7iD_RwPnXvpXA,8260
86
86
  udata/core/dataservices/permissions.py,sha256=98zM_R4v2ZtRubflB7ajaVQz-DVc-pZBMgtKUYy34oI,169
87
87
  udata/core/dataservices/rdf.py,sha256=l1vItR7jhaTxs5f6kU6MAR32uvRR233GDbp1hIUbP3k,4673
88
88
  udata/core/dataservices/tasks.py,sha256=a43x1oKNF-EYmzM3O-8GQPJvZsgJmQiXOZx8Qti3M4E,960
@@ -137,7 +137,7 @@ udata/core/metrics/signals.py,sha256=9mdJW__gR2GJT3huBr6HN2SDhKYJRgNbW9dnh48cAnU
137
137
  udata/core/metrics/tasks.py,sha256=Z6821OgupmDCN7Hj3esdb_udZbc1Haw7YpM48ytMIs4,797
138
138
  udata/core/organization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
139
139
  udata/core/organization/activities.py,sha256=NY9pDzOVcdo2HZ-ax77lioiDGUZ8jpUguSLt_824saQ,1133
140
- udata/core/organization/api.py,sha256=K9TIBO-wy75ZbWFKo55rp5NlpjT9mNN-Zg2hO8h2BzE,17374
140
+ udata/core/organization/api.py,sha256=AAqgzfz5V3CKDWc_Ho69vhLZOigr8qs2JeVytUPrER0,17609
141
141
  udata/core/organization/api_fields.py,sha256=eE8Zswe01entlHoTTkbNkHTzm6N4THtv6Xhp9n2jj1Q,7193
142
142
  udata/core/organization/apiv2.py,sha256=1HQRQNu8r5dKPOGdkQyYfn7romhOoZydd4ZVUA0tQIk,3169
143
143
  udata/core/organization/commands.py,sha256=DsRAtFDZvTciYNsUWumQWdn0jnNmKW-PwfIHUUZoBb8,1591
@@ -149,7 +149,7 @@ udata/core/organization/metrics.py,sha256=UlHOBOph9s_QW-X7dkEivVITdyZ0ku9kLKl7Bm
149
149
  udata/core/organization/models.py,sha256=Jwqq5Yh0jxOuO4yesEO1-57oFRdfpahbZz407AZk7fg,8426
150
150
  udata/core/organization/notifications.py,sha256=i_36-l2y7fOGmnBmr5NDWmGGmrGRaCWbU-6XS4c2wQs,917
151
151
  udata/core/organization/permissions.py,sha256=GD-9TMtRppVCPaC1ysXYrONvGJV-ArzAOXm2XMKf9yo,1256
152
- udata/core/organization/rdf.py,sha256=VdvR-oTYmsuHsOev_tAcwUvnHkcJlhNHFewwbmjSU0k,1752
152
+ udata/core/organization/rdf.py,sha256=GmWliHFf356cUiXfNuK56b-O-zRNQqxLKJhNULGVcKA,1940
153
153
  udata/core/organization/search.py,sha256=Oie3BvGdyYTtiC8noJerlfDg5glMEk7acRQz7K5sVAk,2162
154
154
  udata/core/organization/signals.py,sha256=Ft1MBU9S41uxFN-rUrKHhiwedR1OYGv-ncuroKg8orY,488
155
155
  udata/core/organization/tasks.py,sha256=2Pd9ixeKNd7BGxBHrHYbR9AelhqkflX3ocnGgtoa8Uc,5641
@@ -181,7 +181,7 @@ udata/core/reuse/search.py,sha256=NkCRE8mGBdmlau0S9SsNPG0_zvB7MMNws64HGsq4yWM,30
181
181
  udata/core/reuse/signals.py,sha256=nDrEUpYKN0AdYiEbrR0z3nzXzjaRcD8SAMutwIDsQPM,155
182
182
  udata/core/reuse/tasks.py,sha256=oyi6SGNfCKRLLuS-tLUCs_jcfa43jOn4Wuzq65Vnj8A,1529
183
183
  udata/core/site/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
184
- udata/core/site/api.py,sha256=tj-FKb-f9GfV9ZZjyCM8pTitX9vTAp_tDTv8yTT-FsU,6178
184
+ udata/core/site/api.py,sha256=OwlzjgwdrtEemw63cxc4HYEGe5n-oN0sEXCzjt22ebA,4545
185
185
  udata/core/site/factories.py,sha256=O0nLFmjrFyemzcs-YwNukq5nqd383KBGrgL5bOQsGbA,378
186
186
  udata/core/site/forms.py,sha256=avEZ4rJhibF7sKexqMlKt1qMFiUHNrmJGKjZqcAyjrc,459
187
187
  udata/core/site/models.py,sha256=PVB4I2dTQDr5p5md3faVDGZSgOcGKbloHzjzdOG96_I,6266
@@ -422,8 +422,8 @@ udata/static/admin.css,sha256=RC7GvbVK8c5wDuELPeVdQpy3ab7HbHl1T4hUo5n-NVk,185167
422
422
  udata/static/admin.css.map,sha256=tUhFfsJUK3RrWCih9gUkf-Ywccuztxf4tqvXcN6zP3Y,626542
423
423
  udata/static/admin.js,sha256=4dT1TxL-t0lHOWeuQNv4UNQdBPdNeNI1HyoAKdJ1oag,1327903
424
424
  udata/static/admin.js.map,sha256=rYa-YLNxQK7QNoMSkGC2Gg26sb6qtqhj6rWm2B5laMk,8511948
425
- udata/static/common.js,sha256=o5oXrDfJokiY4ZRHGEHWncrvd5xDJIpp7P3VhB1WMTg,2252
426
- udata/static/common.js.map,sha256=bx91B8CuSAohvdE_OyLkv2DKvemW3__x_CZSLlZB_G8,14137
425
+ udata/static/common.js,sha256=jTN79_NQsIxcQ-0QRNkCIhOQhHn3owR9Unwo8RmWHz8,2252
426
+ udata/static/common.js.map,sha256=WVp6K1WphwFmhjgngbW1kOi8N7VKE0HqekPmLJWngf4,14137
427
427
  udata/static/fontawesome-webfont.eot,sha256=e_yrbbmdXPvxcFygU23ceFhUMsxfpBu9etDwCQM7KXk,165742
428
428
  udata/static/fontawesome-webfont.svg,sha256=rWFXkmwWIrpOHQPUePFUE2hSS_xG9R5C_g2UX37zI-Q,444379
429
429
  udata/static/fontawesome-webfont.ttf,sha256=qljzPyOaD7AvXHpsRcBD16msmgkzNYBmlOzW1O3A1qg,165548
@@ -440,26 +440,26 @@ udata/static/chunks/0.8f152ff3f1e15e3d8778.js,sha256=yV1lGW1ppi3d6liRuN8RToHbv72
440
440
  udata/static/chunks/0.8f152ff3f1e15e3d8778.js.map,sha256=3BZZZC_2uSHarLJFIpC-itu-Zgi0EGh5_2FtSmpLDxQ,1670384
441
441
  udata/static/chunks/1.c53dfc91009cfdf4583b.js,sha256=_0SRYucqFnI1MFd_oc6jxiF62iDFJd61MRBDvdZi47c,304018
442
442
  udata/static/chunks/1.c53dfc91009cfdf4583b.js.map,sha256=Qx0PVyJdsbJe2b4vJ5GO6jbQsqmB7LpZqmCqlWcmcp8,1740520
443
- udata/static/chunks/10.c1c9496ebfc8949f3de2.js,sha256=_c1TZ9A3QYiV16Ia4ZTOtCdgS4JcJroS6UsJpvJXpGo,414754
444
- udata/static/chunks/10.c1c9496ebfc8949f3de2.js.map,sha256=nUjRgXE2w07GZL2B3pmsW7PFExt9O1V7r7WeGs2IITo,2736101
445
- udata/static/chunks/11.16618d9eedd3f6a7a3c2.js,sha256=EBll9dfAFZA4Z86G7E_adNi-UV4nZ8cEX_8K1a04Xgs,395574
446
- udata/static/chunks/11.16618d9eedd3f6a7a3c2.js.map,sha256=jyCpZ2tWjIPiOR8ULTXaT8aU7MjDbWSYVDdEEOLwDYg,2268995
443
+ udata/static/chunks/10.1d9b1714c0289863ba0a.js,sha256=xBAi81cpvlnj68yX-5HfS_8wiSdCwi9QPnzBUNPzo-s,414754
444
+ udata/static/chunks/10.1d9b1714c0289863ba0a.js.map,sha256=pxZU4wHJcIL5KpU4rMEBhfYLuu1PiuhVYz6hevbrzaY,2736101
445
+ udata/static/chunks/11.b6991d2651a318d28ccc.js,sha256=uylvVYDLEWtm6a4JaNJqfLeXDe5rf-LzMowkjB8t83k,395574
446
+ udata/static/chunks/11.b6991d2651a318d28ccc.js.map,sha256=do_k44GtsmBSkVrUOyEZCtXHd4vGpYIPW9l2y6VZyro,2268995
447
447
  udata/static/chunks/12.576e63b7a990f8eab784.js,sha256=zYqbe5FZP9NI5Sv_9D-bOwq4JcxQjZpMj--3YE2iJ00,420868
448
448
  udata/static/chunks/12.576e63b7a990f8eab784.js.map,sha256=v5Vc1o2TJwPJX36_WeItlxKMfaCOZhbAIFoyVa0d4bo,2441014
449
- udata/static/chunks/13.9cfb8ee33c4d62e33f8a.js,sha256=APhZyJt1ylSK7yJLplT6aLJ6_Lci2E3vuyHzCyVbuTE,420359
450
- udata/static/chunks/13.9cfb8ee33c4d62e33f8a.js.map,sha256=Wn1-fiwZufb_ZRj5Ahh7p70lkOBW0kr57N-_nde2COc,2429413
449
+ udata/static/chunks/13.413af7c95ac0ab6c909a.js,sha256=DR8ykWL1SFtIsHKb691CLDvyYl_iafaBp2DJqXxnBag,420359
450
+ udata/static/chunks/13.413af7c95ac0ab6c909a.js.map,sha256=AApPHTYmZGPaVJ2mplhD2ZBHHKi7_zB4acwaNICuwSM,2429413
451
451
  udata/static/chunks/14.42393a4d555321f07b8b.js,sha256=PDjrjHWtEH25yDvj3V-lbvvAosaOrp7rpU4-86HCtRk,290138
452
452
  udata/static/chunks/14.42393a4d555321f07b8b.js.map,sha256=utPoZTpqGMCZkDaCnY03uwhoJSCQvZYkY19hhFd1Eg0,1635687
453
453
  udata/static/chunks/15.7de380008f4ec6ea4b5b.js,sha256=XXTC9s-FlP7vOI5HL55ucXyDCSRdixSj6MuWmG8Q0j4,228573
454
454
  udata/static/chunks/15.7de380008f4ec6ea4b5b.js.map,sha256=kASNYsUarGRLBj7FOVG8KwUtYjmVqnhhEzwHVf6gkPo,1574491
455
- udata/static/chunks/16.d1de045f4bc4b5acdf6b.js,sha256=Z4stlgmtr-Hhz90YTFtFWF6OqZa607TwpR-IXJlIQFk,236471
456
- udata/static/chunks/16.d1de045f4bc4b5acdf6b.js.map,sha256=U3r0VblewjYUyjFOAuIJ5hKEsNcdi42I1BsjQL9F-4Y,1288639
455
+ udata/static/chunks/16.133ce8c70b1e42c9e717.js,sha256=DyxMbqRvb1WQ5EjBGqMmOB7x7R6c8bIDn2H7aWoY4yc,236471
456
+ udata/static/chunks/16.133ce8c70b1e42c9e717.js.map,sha256=FmovWRd21ZUQXWCJT2rJp8H-AdUY1xA7cqhUVi6PqSw,1288639
457
457
  udata/static/chunks/17.4687eae5e18d3049fe7b.js,sha256=Q50AMYCTzlZH3gSw0-dLD-c7yRHVImaQxNf6HHyabfE,134827
458
458
  udata/static/chunks/17.4687eae5e18d3049fe7b.js.map,sha256=Uf7ofeDK8Lg4Ga6htNiqIcmBpfAUhMq728sCOBq8xqY,681947
459
459
  udata/static/chunks/18.b7098bfe5401f75973fa.js,sha256=ntlr4y2ssL4wG8pPprUu7x23Uq81n7pSQym1nwQb1jk,50398
460
460
  udata/static/chunks/18.b7098bfe5401f75973fa.js.map,sha256=tPyhZOsDl9NOfS9X8c9e80nShe6OztZ-ZrS9e2Rq1co,277843
461
- udata/static/chunks/19.f1ff6cd5816f2d9debc4.js,sha256=riNMFNYXFRPzsyfCRLnjTIELGotE4oVPwch0sjtwK7E,203430
462
- udata/static/chunks/19.f1ff6cd5816f2d9debc4.js.map,sha256=QL1ZHCSFK8L7FBqdmgr0wuhMnoajNd7Nur3OSA2i5XM,1080009
461
+ udata/static/chunks/19.28f355064e529318c9b1.js,sha256=twTXAI2UJWE7ouqTqrDAraFQQjQUs-wXkbvTdW6qSgI,203430
462
+ udata/static/chunks/19.28f355064e529318c9b1.js.map,sha256=lCnCAKFsjLzHo_h2OWq8MZLt2XHiP4bG3YiruHda8t8,1080009
463
463
  udata/static/chunks/2.c6dba6a3f04d53321e86.js,sha256=Bq6jt0KQ6stPPHb27Uwem29GurSFw3yxRKv7QW7Dsng,276355
464
464
  udata/static/chunks/2.c6dba6a3f04d53321e86.js.map,sha256=5V4YKp8cnITwJzQGHSGDObwdHrDRNcfoq2v0M3XREzU,1554832
465
465
  udata/static/chunks/20.17e9e766625991aa0a7b.js,sha256=3d-hTgMZBST-fYU7dJyJaAQgMBUzqbfWKxMuImrfoX8,36778
@@ -496,10 +496,10 @@ udata/static/chunks/6.c433506a3004b8f4d5fb.js,sha256=01IbKOG3MtmNwquDkVQaKNQMfYu
496
496
  udata/static/chunks/6.c433506a3004b8f4d5fb.js.map,sha256=TrU2oHFEGSuzEFGG_UuxnsK9gdFqqkFZMweSQGU61fc,3781963
497
497
  udata/static/chunks/7.6ce1bc0456cf60b71a71.js,sha256=3VciyJI920D2bjkT28AxZ6xnoouUEjjSIUyB3iUhWNY,153013
498
498
  udata/static/chunks/7.6ce1bc0456cf60b71a71.js.map,sha256=An_Z-RqmY4LrX87JOkl1LhNctHRhrl2V9wJvgIYCef0,792279
499
- udata/static/chunks/8.b50a30118e9e2e1ab436.js,sha256=wNBoAvguhP2Lc9t8fVLd_6gWxot0AFezgr4Prmj_RkM,222870
500
- udata/static/chunks/8.b50a30118e9e2e1ab436.js.map,sha256=0y14R9_cJ3XE3dN5Y_2BrcMTxLjRXefhABfkCIZ0aJs,1205115
501
- udata/static/chunks/9.8ad948dd393d38f07a7a.js,sha256=f_STNW3kkPshGI2BcDnlvQybcrxP0tBq_w0sBig0u7E,416730
502
- udata/static/chunks/9.8ad948dd393d38f07a7a.js.map,sha256=FCjw1dvwaZ3duUHvwFqKTUKIDYrWqm7OPQ_MRG9-tso,2746345
499
+ udata/static/chunks/8.95c59b717494bac4ce43.js,sha256=luwrjjoovILf2a5lMe0tyWrgsqvl2pZiJjGRhsvT6DQ,222870
500
+ udata/static/chunks/8.95c59b717494bac4ce43.js.map,sha256=tjWQ_xbinyRpdOejZ_7zEqUoteQE_7X4effVRbshTk0,1205115
501
+ udata/static/chunks/9.5009f558f2268bbe4094.js,sha256=Hfr8k5pCax6bJ-JLJ3gWDhfhMEjp-vERNOTD4PBnpAE,416730
502
+ udata/static/chunks/9.5009f558f2268bbe4094.js.map,sha256=1n4oWJJSGGPzQdDfqZrC3kyT3AHUUzo2MqNDULEwy5E,2746345
503
503
  udata/storage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
504
504
  udata/storage/s3.py,sha256=enxbTm1IZksiKLkbafASrO2bqO44OTCn4F7_FeMjhgg,1557
505
505
  udata/templates/admin.html,sha256=RfX03rUOW7NIlgMYNhFfx0pL-p2j8BtAKvEFUadaIIs,787
@@ -601,7 +601,7 @@ udata/tests/api/test_activities_api.py,sha256=RjDDeNle3T-ydVnh6BRypqxAE_244-DXaK
601
601
  udata/tests/api/test_auth_api.py,sha256=0Y_JXQ4x8jvc_pp4g3H6gZ_X0QVGM6TaZ2IN9LeOWEg,21657
602
602
  udata/tests/api/test_base_api.py,sha256=2w_vz0eEuq3P3aN-ByvxGc3VZAo7XtgatFfcrzf2uEU,2244
603
603
  udata/tests/api/test_contact_points.py,sha256=pyakkKnM4lH_asuEoXq9lQyJC9to6ZxSp4QQrHh1c1U,1041
604
- udata/tests/api/test_dataservices_api.py,sha256=CeYyjezBvjHkE4rEneprw19artxgdSL3VmfqxZQCrus,11993
604
+ udata/tests/api/test_dataservices_api.py,sha256=dfPonOmHcx83KLeUa2uqVaa2DJ_Xx91fHBqmFOlOP10,14636
605
605
  udata/tests/api/test_datasets_api.py,sha256=LQAUaYY8Sj2HibHu6Qg1T46LlLxlPRa_aP0r1Z7A0jc,80614
606
606
  udata/tests/api/test_fields.py,sha256=OW85Z5MES5HeWOpapeem8OvR1cIcrqW-xMWpdZO4LZ8,1033
607
607
  udata/tests/api/test_follow_api.py,sha256=fccgVNfcqET221PPS3p7qzb9hpvbBBUGhV-l4UeOpyk,3352
@@ -661,7 +661,7 @@ udata/tests/organization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
661
661
  udata/tests/organization/test_csv_adapter.py,sha256=vgTVbPMqKipcdg7wi99pHk9ZNhqtuU-yneEaVW3pZmU,1564
662
662
  udata/tests/organization/test_notifications.py,sha256=PGmME5BbYVtcPffeSE1sx47J6iAfm4RDAZIRv_MXDFE,1366
663
663
  udata/tests/organization/test_organization_model.py,sha256=98ud3w37hn4VXqJgpxM43UGr2mE1YHM1m0IMCPE9J9E,2030
664
- udata/tests/organization/test_organization_rdf.py,sha256=ryr3OeJ6u8KeRlcSp7EL2mib7gvBNLVjKJ_0c824Uh0,6307
664
+ udata/tests/organization/test_organization_rdf.py,sha256=v_gC4BI0hCFKDkK0CMmZO6PBwqe--pc0OLhyftZpQeg,8086
665
665
  udata/tests/organization/test_organization_tasks.py,sha256=ehPirwfLqaEcnJ9TLk3jGw3Xh-CVx1WXhvIDFYrT2iQ,2845
666
666
  udata/tests/reuse/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
667
667
  udata/tests/reuse/test_reuse_model.py,sha256=ro_p0GmDvkaP6jQmCxDDLiGBFetDInjn9McnHRglWZY,3989
@@ -697,9 +697,9 @@ udata/translations/pt/LC_MESSAGES/udata.mo,sha256=WpPzAqVd2Onv_kz45ULUySKPLrpjcc
697
697
  udata/translations/pt/LC_MESSAGES/udata.po,sha256=18Op9RUITewoDRewlOdYzzq6gjsf1lsvepACV1d7zxs,44976
698
698
  udata/translations/sr/LC_MESSAGES/udata.mo,sha256=NIYRNhVoETZUvIvWm3cCW7DtMBAnS2vXzZjMF5ZzD_c,28500
699
699
  udata/translations/sr/LC_MESSAGES/udata.po,sha256=rQB-4V4WJ7bURj6g2j653vItr5TMHadcLQxec7_fDmg,51545
700
- udata-9.1.4.dev31221.dist-info/LICENSE,sha256=V8j_M8nAz8PvAOZQocyRDX7keai8UJ9skgmnwqETmdY,34520
701
- udata-9.1.4.dev31221.dist-info/METADATA,sha256=GqUiTv3B5lognYIkQLV51WkIFALdczPpOQkgQqUNcNk,129255
702
- udata-9.1.4.dev31221.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
703
- udata-9.1.4.dev31221.dist-info/entry_points.txt,sha256=3SKiqVy4HUqxf6iWspgMqH8d88Htk6KoLbG1BU-UddQ,451
704
- udata-9.1.4.dev31221.dist-info/top_level.txt,sha256=39OCg-VWFWOq4gCKnjKNu-s3OwFlZIu_dVH8Gl6ndHw,12
705
- udata-9.1.4.dev31221.dist-info/RECORD,,
700
+ udata-9.1.4.dev31257.dist-info/LICENSE,sha256=V8j_M8nAz8PvAOZQocyRDX7keai8UJ9skgmnwqETmdY,34520
701
+ udata-9.1.4.dev31257.dist-info/METADATA,sha256=VSMCl_yTt8IcZjJQ_pDloREZTXz31jpPwlzapktFAqQ,129503
702
+ udata-9.1.4.dev31257.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
703
+ udata-9.1.4.dev31257.dist-info/entry_points.txt,sha256=3SKiqVy4HUqxf6iWspgMqH8d88Htk6KoLbG1BU-UddQ,451
704
+ udata-9.1.4.dev31257.dist-info/top_level.txt,sha256=39OCg-VWFWOq4gCKnjKNu-s3OwFlZIu_dVH8Gl6ndHw,12
705
+ udata-9.1.4.dev31257.dist-info/RECORD,,