PageSourceSearch

https://algorithm-visualizer.org/static/js/main.ef70c668.chunk.js

js algorithm-visualizer.org collected 2026-10-03 21:46:18 UTC 86,251 bytes, 2 lines download raw bytes

1(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{105:function(e,t,a){e.exports={themeDark:"#242424",themeNormal:"#393939",themeLight:"#505050",colorFont:"#bbbbbb",colorShadow:"rgba(0, 0, 0, 0.2)",colorOverlay:"rgba(255, 255, 255, 0.1)",colorAlert:"#f3bd58",colorSelected:"#2962ff",colorPatched:"#c51162",colorHighlight:"#29d",colorActive:"#00e676",lineHeight:"32px",fontSizeNormal:"12px",fontSizeLarge:"14px",renderer:"Renderer_renderer__3hRap",title:"Renderer_title__1AlLd"}},106:function(e,t,a){e.exports={themeDark:"#242424",themeNormal:"#393939",themeLight:"#505050",colorFont:"#bbbbbb",colorShadow:"rgba(0, 0, 0, 0.2)",colorOverlay:"rgba(255, 255, 255, 0.1)",colorAlert:"#f3bd58",colorSelected:"#2962ff",colorPatched:"#c51162",colorHighlight:"#29d",colorActive:"#00e676",lineHeight:"32px",fontSizeNormal:"12px",fontSizeLarge:"14px",markdown:"MarkdownRenderer_markdown__Dcf_q",content:"MarkdownRenderer_content__2J4XN"}},107:function(e,t,a){e.exports={themeDark:"#242424",themeNormal:"#393939",themeLight:"#505050",colorFont:"#bbbbbb",colorShadow:"rgba(0, 0, 0, 0.2)",colorOverlay:"rgba(255, 255, 255, 0.1)",colorAlert:"#f3bd58",colorSelected:"#2962ff",colorPatched:"#c51162",colorHighlight:"#29d",colorActive:"#00e676",lineHeight:"32px",fontSizeNormal:"12px",fontSizeLarge:"14px",log:"LogRenderer_log__11Rkd",content:"LogRenderer_content__2C7HM"}},112:function(e,t,a){"use strict";a.r(t),t.default="// import visualization libraries {\nconst { Array2DTracer, Layout, LogTracer, Tracer, VerticalLayout } = require('algorithm-visualizer');\n// }\n\n// define tracer variables {\nconst array2dTracer = new Array2DTracer('Grid');\nconst logTracer = new LogTracer('Console');\n// }\n\n// define input variables\nconst messages = [\n  'Visualize',\n  'your',\n  'own',\n  'code',\n  'here!',\n];\n\n// highlight each line of messages recursively\nfunction highlight(line) {\n  if (line >= messages.length) return;\n  const message = messages[line];\n  // visualize {\n  logTracer.println(message);\n  array2dTracer.selectRow(line, 0, message.length - 1);\n  Tracer.delay();\n  array2dTracer.deselectRow(line, 0, message.length - 1);\n  // }\n  highlight(line + 1);\n}\n\n(function main() {\n  // visualize {\n  Layout.setRoot(new VerticalLayout([array2dTracer, logTracer]));\n  array2dTracer.set(messages);\n  Tracer.delay();\n  // }\n  highlight(0);\n})();\n"},14:function(e,t,a){e.exports={themeDark:"#242424",themeNormal:"#393939",themeLight:"#505050",colorFont:"#bbbbbb",colorShadow:"rgba(0, 0, 0, 0.2)",colorOverlay:"rgba(255, 255, 255, 0.1)",colorAlert:"#f3bd58",colorSelected:"#2962ff",colorPatched:"#c51162",colorHighlight:"#29d",colorActive:"#00e676",lineHeight:"32px",fontSizeNormal:"12px",fontSizeLarge:"14px",graph:"GraphRenderer_graph__C3_uQ",node:"GraphRenderer_node__2_anC",circle:"GraphRenderer_circle__376bI",id:"GraphRenderer_id__1B0xF",weight:"GraphRenderer_weight__3maoC",selected:"GraphRenderer_selected__2BrQi",visited:"GraphRenderer_visited__2zT59",edge:"GraphRenderer_edge__qmq4Z",line:"GraphRenderer_line__3Qx_L",directed:"GraphRenderer_directed__3lB43",arrow:"GraphRenderer_arrow__1cFI4"}},15:function(e,t,a){e.exports={themeDark:"#242424",themeNormal:"#393939",themeLight:"#505050",colorFont:"#bbbbbb",colorShadow:"rgba(0, 0, 0, 0.2)",colorOverlay:"rgba(255, 255, 255, 0.1)",colorAlert:"#f3bd58",colorSelected:"#2962ff",colorPatched:"#c51162",colorHighlight:"#29d",colorActive:"#00e676",lineHeight:"32px",fontSizeNormal:"12px",fontSizeLarge:"14px",header:"Header_header__1v0yI",row:"Header_row__2feZg",section:"Header_section__3l3LZ",title_bar:"Header_title_bar__27gzM",nav_arrow:"Header_nav_arrow__2bVDh",nav_caret:"Header_nav_caret__2I1kf",input_title:"Header_input_title__3MtDf",btn_dropdown:"Header_btn_dropdown__2sGIj",dropdown:"Header_dropdown__8OMp8"}},159:function(e,t,a){e.exports={themeDark:"#242424",themeNormal:"#393939",themeLight:"#505050",colorFont:"#bbbbbb",colorShadow:"rgba(0, 0, 0, 0.2)",colorOverlay:"rgba(255, 255, 255, 0.1)",colorAlert:"#f3bd58",colorSelected:"#2962ff",colorPatched:"#c51162",colorHighlight:"#29d",colorActive:"#00e676",lineHeight:"32px",fontSizeNormal:"12px",fontSizeLarge:"14px",ellipsis:"Ellipsis_ellipsis__3t3hF"}},16:function(e,t,a){e.exports={themeDark:"#242424",themeNormal:"#393939",themeLight:"#505050",colorFont:"#bbbbbb",colorShadow:"rgba(0, 0, 0, 0.2)",colorOverlay:"rgba(255, 255, 255, 0.1)",colorAlert:"#f3bd58",colorSelected:"#2962ff",colorPatched:"#c51162",colorHighlight:"#29d",colorActive:"#00e676",lineHeight:"32px",fontSizeNormal:"12px",fontSizeLarge:"14px",array_2d:"Array2DRenderer_array_2d__GFND0",row:"Array2DRenderer_row__2AhI2",col:"Array2DRenderer_col___7iHS",value:"Array2DRenderer_value__2hqED",selected:"Array2DRenderer_selected__36Jpq",patched:"Array2DRenderer_patched__RzGnA",index:"Array2DRenderer_index__c6iPJ"}},177:function(e,t,a){e.exports={themeDark:"#242424",themeNormal:"#393939",themeLight:"#505050",colorFont:"#bbbbbb",colorShadow:"rgba(0, 0, 0, 0.2)",colorOverlay:"rgba(255, 255, 255, 0.1)",colorAlert:"#f3bd58",colorSelected:"#2962ff",colorPatched:"#c51162",colorHighlight:"#29d",colorActive:"#00e676",lineHeight:"32px",fontSizeNormal:"12px",fontSizeLarge:"14px",visualization_viewer:"VisualizationViewer_visualization_viewer__23cWq"}},181:function(e,t,a){e.exports=a(436)},210:function(e,t,a){var r={"./":84,"./algorithm-visualizer/README.md":211,"./index":84,"./index.js":84,"./scratch-paper/README.md":212,"./skeletons/code":112,"./skeletons/code.cpp":213,"./skeletons/code.java":214,"./skeletons/code.js":112};function n(e){var t=i(e);return a(t)}function i(e){if(!a.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}n.keys=function(){return Object.keys(r)},n.resolve=i,e.exports=n,n.id=210},211:function(e,t,a){"use strict";a.r(t),t.default="# Algorithm Visualizer\n\n## Introduction\nWelcome to Algorithm Visualizer, an interactive online platform designed to bring algorithms to life through visualization. Whether you're a student, teacher, or professional, our platform provides an engaging way to explore and understand various algorithms.\n\n[![GitHub contributors](https://img.shields.io/github/contributors/algorithm-visualizer/algorithm-visualizer.svg?style=flat-square)](https://github.com/algorithm-visualizer/algorithm-visualizer/graphs/contributors)\n[![GitHub license](https://img.shields.io/github/license/algorithm-visualizer/algorithm-visualizer.svg?style=flat-square)](https://github.com/algorithm-visualizer/algorithm-visualizer/blob/master/LICENSE)\n\n## Languages and Frameworks Used\n[![Languages](https://skillicons.dev/icons?i=html,css,js,react,nodejs,redux)](https://skillicons.dev)\n\n\n## Key Features\n<ul> \n<li>\n\n### Visualize algorithms from code:\nAlgorithm Visualizer allows you to witness algorithms in action by visualizing code written in various programming languages. This visual approach facilitates a better understanding of algorithmic behavior..</li>\n<li>\n\n### Learn about Algorithms:\nExplore our collection of tutorials, articles, and videos that serve as valuable resources for learning about algorithms.\n</li>\n</ul>\n\n## algorithms\nIn this repository, you'll find visualizations of algorithms showcased in the website's side menu. Contributions here directly impact the educational content available on the platform.   https://github.com/algorithm-visualizer/algorithms</li>\n</ul>\n\n\n## tracers\nExplore the various visualization libraries in different programming languages. These libraries extract visualization commands from code.\nhttps://github.com/search?q=topic%3Avisualization-library+org%3Aalgorithm-visualizer&type=Repositories</li>\n</ul>\n\n## Live Demo\nLearning an algorithm gets much easier with visualizing it. Don't get what we mean? Check it out:\n\n[**algorithm-visualizer.org**![Screenshot](https://raw.githubusercontent.com/algorithm-visualizer/algorithm-visualizer/master/branding/screenshot.png)](https://algorithm-visualizer.org/)\n\n## Contributing\n\nOur project consists of multiple repositories, each playing a crucial role in the Algorithm Visualizer ec
1osystem. If you're interested in contributing, check out the guidelines for the specific repository:\n\n\n- [**`algorithm-visualizer`**](https://github.com/algorithm-visualizer/algorithm-visualizer) is a web app written in React. It contains UI components and interprets commands into visualizations. Check out [the contributing guidelines](CONTRIBUTING.md).\n\n- [**`server`**](https://github.com/algorithm-visualizer/server) serves the web app and provides APIs that it needs on the fly. (e.g., GitHub sign in, compiling/running code, etc.)\n\n- [**`algorithms`**](https://github.com/algorithm-visualizer/algorithms) contains visualizations of algorithms shown on the side menu of the website.\n\n- [**`tracers.*`**](https://github.com/search?q=topic%3Avisualization-library+org%3Aalgorithm-visualizer&type=Repositories) are visualization libraries written in each supported language. They extract visualizing commands from code.\n\nReady to contribute? Explore the repositories and become part of the Algorithm Visualizer community!"},212:function(e,t,a){"use strict";a.r(t),t.default="# Scratch Paper\n\nVisualize your own code here!\n\n## Learning About Tracers\n\nThe project [Algorithm Visualizer](https://github.com/algorithm-visualizer) has a visualization library in each\nsupported language ([JavaScript](https://github.com/algorithm-visualizer/tracers.js)\n, [C++](https://github.com/algorithm-visualizer/tracers.cpp),\nand [Java](https://github.com/algorithm-visualizer/tracers.java)) to visualize codes.\n\nThere are five tracers in the library to visualize different types of data:\n\n- [Array1DTracer](https://github.com/algorithm-visualizer/algorithm-visualizer/wiki/Array1DTracer)\n- [Array2DTracer](https://github.com/algorithm-visualizer/algorithm-visualizer/wiki/Array2DTracer)\n- [ChartTracer](https://github.com/algorithm-visualizer/algorithm-visualizer/wiki/ChartTracer)\n- [GraphTracer](https://github.com/algorithm-visualizer/algorithm-visualizer/wiki/GraphTracer)\n- [LogTracer](https://github.com/algorithm-visualizer/algorithm-visualizer/wiki/LogTracer)\n\nThere are also randomizers to help you create random data.\n\nCheck out the [API reference](https://github.com/algorithm-visualizer/algorithm-visualizer/wiki) for more information.\n\n## Making Your Visualization Public\n\nIf you think other people would find your visualization useful, you can add it to the side menu\nby [contributing to `algorithm-visualizer/algorithms`](https://github.com/algorithm-visualizer/algorithms/blob/master/CONTRIBUTING.md)\n."},213:function(e,t,a){"use strict";a.r(t),t.default='// import visualization libraries {\n#include "algorithm-visualizer.h"\n// }\n\n#include <vector>\n#include <string>\n\n// define tracer variables {\nArray2DTracer array2dTracer = Array2DTracer("Grid");\nLogTracer logTracer = LogTracer("Console");\n// }\n\n// define input variables\nstd::vector<std::string> messages{\n        "Visualize",\n        "your",\n        "own",\n        "code",\n        "here!",\n};\n\n// highlight each line of messages recursively\nvoid highlight(int line) {\n    if (line >= messages.size()) return;\n    std::string message = messages[line];\n    // visualize {\n    logTracer.println(message);\n    array2dTracer.selectRow(line, 0, message.size() - 1);\n    Tracer::delay();\n    array2dTracer.deselectRow(line, 0, message.size() - 1);\n    // }\n    highlight(line + 1);\n}\n\nint main() {\n    // visualize {\n    Layout::setRoot(VerticalLayout({array2dTracer, logTracer}));\n    array2dTracer.set(messages);\n    Tracer::delay();\n    // }\n    highlight(0);\n    return 0;\n}\n'},214:function(e,t,a){"use strict";a.r(t),t.default='// import visualization libraries {\nimport org.algorithm_visualizer.*;\n// }\n\nclass Main {\n    // define tracer variables {\n    Array2DTracer array2dTracer = new Array2DTracer("Grid");\n    LogTracer logTracer = new LogTracer("Console");\n    // }\n\n    // define input variables\n    String[] messages = {\n            "Visualize",\n            "your",\n            "own",\n            "code",\n            "here!",\n    };\n\n    // highlight each line of messages recursively\n    void highlight(int line) {\n        if (line >= messages.length) return;\n        String message = messages[line];\n        // visualize {\n        logTracer.println(message);\n        array2dTracer.selectRow(line, 0, message.length() - 1);\n        Tracer.delay();\n        array2dTracer.deselectRow(line, 0, message.length() - 1);\n        // }\n        highlight(line + 1);\n    }\n\n    Main() {\n        // visualize {\n        Layout.setRoot(new VerticalLayout(new Commander[]{array2dTracer, logTracer}));\n        array2dTracer.set(messages);\n        Tracer.delay();\n        // }\n        highlight(0);\n    }\n\n    public static void main(String[] args) {\n        new Main();\n    }\n}\n'},23:function(e,t,a){e.exports={themeDark:"#242424",themeNormal:"#393939",themeLight:"#505050",colorFont:"#bbbbbb",colorShadow:"rgba(0, 0, 0, 0.2)",colorOverlay:"rgba(255, 255, 255, 0.1)",colorAlert:"#f3bd58",colorSelected:"#2962ff",colorPatched:"#c51162",colorHighlight:"#29d",colorActive:"#00e676",lineHeight:"32px",fontSizeNormal:"12px",fontSizeLarge:"14px",tab_container:"TabContainer_tab_container__33eJi",tab_bar:"TabContainer_tab_bar__2EN8X",title:"TabContainer_title__3oMd8",input_title:"TabContainer_input_title__2w8l2",selected:"Tab
1Container_selected__1gcoR",fake:"TabContainer_fake___7JPH",content:"TabContainer_content__ybM0P"}},29:function(e,t,a){e.exports={themeDark:"#242424",themeNormal:"#393939",themeLight:"#505050",colorFont:"#bbbbbb",colorShadow:"rgba(0, 0, 0, 0.2)",colorOverlay:"rgba(255, 255, 255, 0.1)",colorAlert:"#f3bd58",colorSelected:"#2962ff",colorPatched:"#c51162",colorHighlight:"#29d",colorActive:"#00e676",lineHeight:"32px",fontSizeNormal:"12px",fontSizeLarge:"14px",button:"Button_button__2Lf63",icon:"Button_icon__36xd-",image:"Button_image__3G9aX",reverse:"Button_reverse__Ya3D0",icon_only:"Button_icon_only__3Gd1N",primary:"Button_primary__I_9I9",active:"Button_active__h0ecc",selected:"Button_selected__1eH-d",disabled:"Button_disabled__1f6YP",confirming:"Button_confirming__1HlcH"}},32:function(e,t,a){e.exports={themeDark:"#242424",themeNormal:"#393939",themeLight:"#505050",colorFont:"#bbbbbb",colorShadow:"rgba(0, 0, 0, 0.2)",colorOverlay:"rgba(255, 255, 255, 0.1)",colorAlert:"#f3bd58",colorSelected:"#2962ff",colorPatched:"#c51162",colorHighlight:"#29d",colorActive:"#00e676",lineHeight:"32px",fontSizeNormal:"12px",fontSizeLarge:"14px",code_editor:"CodeEditor_code_editor__1KuKf",ace_editor:"CodeEditor_ace_editor__2hCBR",current_line_marker:"CodeEditor_current_line_marker__q1pcj",line_highlight:"CodeEditor_line_highlight__20WFp",contributors_viewer:"CodeEditor_contributors_viewer__2nGLF",contributor:"CodeEditor_contributor__3mAe9",label:"CodeEditor_label__2Yz1B",empty:"CodeEditor_empty__2KISM",delete:"CodeEditor_delete__19oaU"}},39:function(e,t,a){e.exports={themeDark:"#242424",themeNormal:"#393939",themeLight:"#505050",colorFont:"#bbbbbb",colorShadow:"rgba(0, 0, 0, 0.2)",colorOverlay:"rgba(255, 255, 255, 0.1)",colorAlert:"#f3bd58",colorSelected:"#2962ff",colorPatched:"#c51162",colorHighlight:"#29d",colorActive:"#00e676",lineHeight:"32px",fontSizeNormal:"12px",fontSizeLarge:"14px",player:"Player_player__zS77t",progress_bar:"Player_progress_bar__2PIUg",speed:"Player_speed__2cNCr",range:"Player_range__SYBRm",range_label_container:"Player_range_label_container__2r9cE",range_track:"Player_range_track__zOnWE",range_slider:"Player_range_slider__1CSri"}},43:function(e,t,a){e.exports={themeDark:"#242424",themeNormal:"#393939",themeLight:"#505050",colorFont:"#bbbbbb",colorShadow:"rgba(0, 0, 0, 0.2)",colorOverlay:"rgba(255, 255, 255, 0.1)",colorAlert:"#f3bd58",colorSelected:"#2962ff",colorPatched:"#c51162",colorHighlight:"#29d",colorActive:"#00e676",lineHeight:"32px",fontSizeNormal:"12px",fontSizeLarge:"14px",navigator:"Navigator_navigator__Zgj11",search_bar_container:"Navigator_search_bar_container__3uYdo",search_icon:"Navigator_search_icon__339_Z",search_bar:"Navigator_search_bar__1y5UI",algorithm_list:"Navigator_algorithm_list__1ekbw",footer:"Navigator_footer__3pC2E"}},435:function(e,t,a){e.exports={themeDark:"#242424",themeNormal:"#393939",themeLight:"#505050",colorFont:"#bbbbbb",colorShadow:"rgba(0, 0, 0, 0.2)",colorOverlay:"rgba(255, 255, 255, 0.1)",colorAlert:"#f3bd58",colorSelected:"#2962ff",colorPatched:"#c51162",colorHighlight:"#29d",colorActive:"#00e676",lineHeight:"32px",fontSizeNormal:"12px",fontSizeLarge:"14px"}},436:function(e,t,a){"use strict";a.r(t);var r={};a.r(r),a.d(r,"current",function(){return Se}),a.d(r,"directory",function(){return Ae}),a.d(r,"env",function(){return Pe}),a.d(r,"player",function(){return Be}),a.d(r,"toast",function(){return Je}),a.d(r,"actions",function(){return Qe});var n={};a.r(n),a.d(n,"Tracer",function(){return vr}),a.d(n,"MarkdownTracer",function(){return br}),a.d(n,"LogTracer",function(){return _r}),a.d(n,"Array2DTracer",function(){return kr}),a.d(n,"Array1DTracer",function(){return jr}),a.d(n,"ChartTracer",function(){return Er}),a.d(n,"GraphTracer",function(){return wr}),a.d(n,"ScatterTracer",function(){return Nr});var i={};a.r(i),a.d(i,"Layout",function(){return Cr}),a.d(i,"HorizontalLayout",function(){return Sr}),a.d(i,"VerticalLayout",function(){return xr});var o,c,s=a(7),l=a(0),u=a.n(l),h=a(68),d=a.n(h),p=a(53),m=a(70),g=a(33),f=a(11),v=a(152),b=a(13),y=a(17),_=a(2),O=a(5),k=a(4),j=a(1),E=a(10),w=a(3),N=a(41),C=a.n(N),S=a(30),x=a.n(S),z=a(153),T=a(101),A=a.n(T),R=function(e){function t(e){var a;return Object(_.a)(this,t),(a=Object(k.a)(this,Object(j.a)(t).call(this,e))).handleError=a.handleError.bind(Object(E.a)(a)),a}return Object(w.a)(t,e),Object(O.a)(t,[{key:"handleError",value:function(e){if(e.response){var t=e.response,a=t.data,r=t.statusText,n=a?"string"===typeof a?a:JSON.stringify(a):r;console.error(n),this.props.showErrorToast(n)}else console.error(e.message),this.props.showErrorToast(e.message)}}]),t}
1(u.a.Component),L=a(27),M=a(26),D=a(154),P=a.n(D),I=a(155),F=a.n(I),H=function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return t.filter(function(e){return e}).join(" ")},W=function(e,t){var a=e.x-t.x,r=e.y-t.y;return Math.sqrt(a*a+r*r)},G=function(e){return/(?:\.([^.]+))?$/.exec(e)[1]},B=function(e){var t=e.id,a=e.description;delete e.files["algorithm-visualizer"];var r=e.owner,n=r.login,i=r.avatar_url,o=Object.values(e.files).map(function(e){return{name:e.filename,content:e.content,contributors:[{login:n,avatar_url:i}]}});return{login:n,gistId:t,title:a,files:o}},U=function(e,t,a){return{name:e,content:t,contributors:a}},V=function(e,t){return U(e,t,void 0)},Y=function(e){var t=e.titles,a=e.files,r=e.lastTitles,n=e.lastFiles,i=function(e,t){return JSON.stringify({titles:e,files:t.map(function(e){return{name:e.name,content:e.content}})})};return i(t,a)===i(r,n)},K=a(29),q=a.n(K),X=function(e){function t(e){var a;return Object(_.a)(this,t),(a=Object(k.a)(this,Object(j.a)(t).call(this,e))).state={confirming:!1},a.timeout=null,a}return Object(w.a)(t,e),Object(O.a)(t,[{key:"componentWillUnmount",value:function(){this.timeout&&(window.clearTimeout(this.timeout),this.timeout=void 0)}},{key:"render",value:function(){var e=this,t=this.props,a=t.className,r=t.children,n=t.to,i=t.href,o=t.onClick,c=t.icon,l=t.reverse,h=t.selected,d=t.disabled,p=t.primary,g=t.active,f=t.confirmNeeded,v=t.inProgress,b=Object(L.a)(t,["className","children","to","href","onClick","icon","reverse","selected","disabled","primary","active","confirmNeeded","inProgress"]),y=this.state.confirming;if(f)if(y){a=H(q.a.confirming,a),c=P.a,r=u.a.createElement(lt,{key:"text"},"Click to Confirm");var _=o;o=function(){_&&_(),e.timeout&&(window.clearTimeout(e.timeout),e.timeout=void 0,e.setState({confirming:!1}))}}else n=null,i=null,o=function(){e.setState({confirming:!0}),e.timeout=window.setTimeout(function(){e.timeout=void 0,e.setState({confirming:!1})},2e3)};var O=!r,k=Object(s.a)({className:H(q.a.button,l&&q.a.reverse,h&&q.a.selected,d&&q.a.disabled,p&&q.a.primary,g&&q.a.active,O&&q.a.icon_only,a),to:d?null:n,href:d?null:i,onClick:d?null:o,children:[c&&("string"===typeof c?u.a.createElement("div",{className:H(q.a.icon,q.a.image),key:"icon",style:{backgroundImage:"url(".concat(c,")")}}):u.a.createElement(M.a,{className:q.a.icon,fixedWidth:!0,icon:v?F.a:c,spin:v,key:"icon"})),r]},b);return n?u.a.createElement(m.b,k):i?u.a.createElement("a",Object.assign({rel:"noopener",target:"_blank"},k)):u.a.createElement("div",k)}}]),t}(u.a.Component),J=a(71),Q=a.n(J),Z=a(157),$=a.n(Z),ee=a(12),te=a(439),ae=a(437),re=a(438),ne=function(e){return e.split("/").pop()},ie=function(e){return a(210)("./"+e).default},oe=function(e){return t=ne(e),a=ie(e),U(t,a,[{login:"algorithm-visualizer",avatar_url:"https://github.com/algorithm-visualizer.png"}]);var t,a},ce=function(e){return V(ne(e),ie(e))},se=ce("skeletons/code.cpp"),le=ce("skeletons/code.java"),ue=ce("skeletons/code.js"),he=oe("algorithm-visualizer/README.md"),de=oe("scratch-paper/README.md"),pe="CURRENT",me=Object(te.a)("".concat(pe,"/SET_HOME"),function(){return Ce}),ge=Object(te.a)("".concat(pe,"/SET_ALGORITHM"),function(e){var t=e.categoryKey,a=e.categoryName;return{algorithm:{categoryKey:t,algorithmKey:e.algorithmKey},titles:[a,e.algorithmName],files:e.files,description:e.description}}),fe=Object(te.a)("".concat(pe,"/SET_SCRATCH_PAPER"),function(e){return{scratchPaper:{login:e.login,gistId:e.gistId},titles:["Scratch Paper",e.title],files:e.files,description:Ne}}),ve=Object(te.a)("".concat(pe,"/SET_EDITING_FILE"),function(e){return{file:e}}),be=Object(te.a)("".concat(pe,"/MODIFY_TITLE"),function(e){return{title:e}}),ye=Object(te.a)("".concat(pe,"/ADD_FILE"),function(e){return{file:e}}),_e=Object(te.a)("".concat(pe,"/RENAME_FILE"),function(e,t){return{file:e,name:t}}),Oe=Object(te.a)("".concat(pe,"/MODIFY_FILE"),function(e,t){return{file:e,content:t}}),ke=Object(te.a)("".concat(pe,"/DELETE_FILE"),function(e){return{file:e}}),je={setHome:me,setAlgorithm:ge,setScratchPaper:fe,setEditingFile:ve,modifyTitle:be,addFile:ye,modifyFile:Oe,deleteFile:ke,renameFile:_e},Ee=["Algorithm Visualizer"],we=[he],Ne="Algorithm Visualizer is an interactive online platform that visualizes algorithms from code.",Ce={algorithm:{categoryKey:"algorithm-visualizer",algorithmKey:"home"},scratchPaper:void 0,titles:Ee,files:we,lastTitles:Ee,lastFiles:we,description:Ne,editingFile:void 0,shouldBuild:!0,saved:!0}
1,Se=Object(ae.a)((o={},Object(ee.a)(o,Object(re.a)(me,ge,fe),function(e,t){var a=t.payload,r=a.algorithm,n=a.scratchPaper,i=a.titles,o=a.files,c=a.description;return Object(s.a)({},e,{algorithm:r,scratchPaper:n,titles:i,files:o,lastTitles:i,lastFiles:o,description:c,editingFile:void 0,shouldBuild:!0,saved:!0})}),Object(ee.a)(o,ve,function(e,t){var a=t.payload.file;return Object(s.a)({},e,{editingFile:a,shouldBuild:!0})}),Object(ee.a)(o,be,function(e,t){var a=t.payload.title,r=Object(s.a)({},e,{titles:[e.titles[0],a]});return Object(s.a)({},r,{saved:Y(r)})}),Object(ee.a)(o,ye,function(e,t){var a=t.payload.file,r=Object(s.a)({},e,{files:[].concat(Object(y.a)(e.files),[a]),editingFile:a,shouldBuild:!0});return Object(s.a)({},r,{saved:Y(r)})}),Object(ee.a)(o,Object(re.a)(_e,Oe),function(e,t){var a=t.payload,r=a.file,n=Object(L.a)(a,["file"]),i=Object(s.a)({},r,n),o=Object(s.a)({},e,{files:e.files.map(function(e){return e===r?i:e}),editingFile:i,shouldBuild:"md"===G(i.name)});return Object(s.a)({},o,{saved:Y(o)})}),Object(ee.a)(o,ke,function(e,t){var a=t.payload.file,r=e.files.indexOf(a),n=e.files.filter(function(e){return e!==a}),i=n[Math.min(r,n.length-1)],o=Object(s.a)({},e,{files:n,editingFile:i,shouldBuild:!0});return Object(s.a)({},o,{saved:Y(o)})}),o),Ce),xe=Object(te.a)("".concat("DIRECTORY","/SET_CATEGORIES"),function(e){return{categories:e}}),ze=Object(te.a)("".concat("DIRECTORY","/SET_SCRATCH_PAPERS"),function(e){return{scratchPapers:e}}),Te={setCategories:xe,setScratchPapers:ze},Ae=Object(ae.a)(Object(ee.a)({},Object(re.a)(xe,ze),function(e,t){var a=t.payload;return Object(s.a)({},e,a)}),{categories:[],scratchPapers:[]}),Re=Object(te.a)("".concat("ENV","/SET_EXT"),function(e){return C.a.set("ext",e),{ext:e}}),Le=Object(te.a)("".concat("ENV","/SET_USER"),function(e){return{user:e}}),Me={setExt:Re,setUser:Le},De={ext:C.a.get("ext")||"js",user:void 0},Pe=Object(ae.a)(Object(ee.a)({},Object(re.a)(Re,Le),function(e,t){var a=t.payload;return Object(s.a)({},e,a)}),De),Ie=Object(te.a)("".concat("PLAYER","/SET_CHUNKS"),function(e){return{chunks:e}}),Fe=Object(te.a)("".concat("PLAYER","/SET_CURSOR"),function(e){return{cursor:e}}),He=Object(te.a)("".concat("PLAYER","/SET_LINE_INDICATOR"),function(e){return{lineIndicator:e}}),We={setChunks:Ie,setCursor:Fe,setLineIndicator:He},Ge={chunks:[],cursor:0,lineIndicator:void 0},Be=Object(ae.a)(Object(ee.a)({},Object(re.a)(Ie,Fe,He),function(e,t){var a=t.payload;return Object(s.a)({},e,a)}),Ge),Ue=a(158),Ve=a.n(Ue),Ye=Object(te.a)("".concat("TOAST","/SHOW_SUCCESS_TOAST"),function(e){return{type:"success",message:e}}),Ke=Object(te.a)("".concat("TOAST","/SHOW_ERROR_TOAST"),function(e){return{type:"error",message:e}}),qe=Object(te.a)("".concat("TOAST","/HIDE_TOAST"),function(e){return{id:e}}),Xe={showSuccessToast:Ye,showErrorToast:Ke,hideToast:qe},Je=Object(ae.a)((c={},Object(ee.a)(c,Object(re.a)(Ye,Ke),function(e,t){var a=t.payload,r=Ve.a.v4(),n=Object(s.a)({id:r},a),i=[].concat(Object(y.a)(e.toasts),[n]);return Object(s.a)({},e,{toasts:i})}),Object(ee.a)(c,qe,function(e,t){var a=t.payload.id,r=e.toasts.filter(function(e){return e.id!==a});return Object(s.a)({},e,{toasts:r})}),c),{toasts:[]}),Qe=Object(s.a)({},je,Te,Me,We,Xe),Ze=[{name:"JavaScript",ext:"js",mode:"javascript",skeleton:ue},{name:"C++",ext:"cpp",mode:"c_cpp",skeleton:se},{name:"Java",ext:"java",mode:"java",skeleton:le}],$e=Ze.map(function(e){return e.ext}),et=a(32),tt=a.n(et),at=function(e){function t(e){var a;return Object(_.a)(this,t),(a=Object(k.a)(this,Object(j.a)(t).call(this,e))).aceEditorRef=u.a.createRef(),a}return Object(w.a)(t,e),Object(O.a)(t,[{key:"handleResize",value:function(){this.aceEditorRef.current.resize()}},{key:"render",value:function(){var e=this,t=this.props.className,a=this.props.current.editingFile,r=this.props.env.user,n=this.props.player.lineIndicator;if(!a)return null;var i=G(a.name),o=Ze.find(function(e){return e.ext===i}),c=o?o.mode:"md"===i?"markdown":"json"===i?"json":"plain_text";return u.a.createElement("div",{className:H(tt.a.code_editor,t)},u.a.createElement(Ot,{className:tt.a.ace_editor,ref:this.aceEditorRef,mode:c,theme:"tomorrow_night_eighties",name:"code_editor",editorProps:{$blockScrolling:!0},onChange:function(t){return e.props.modifyFile(a,t)},markers:n?[{startRow:n.lineNumber,startCol:0,endRow:n.lineNumber,endCol:1/0,className:tt.a.current_line_marker,type:"line",inFront:!0,_key:n.cursor}]:[],value:a.content}),u.a.createElement("div",{className:H(tt.a.contributors_viewer,t)},u.a.createElement("span",{className:H(tt.a.contributor,tt.a.label)},"Contributed by"),(a.contributors||[r||{login:"guest",avatar_url:$.a}]).map(function(e){return u.a.createElement(X,{className:tt.a.contributor,icon:e.avatar_url,key:e.login,href:"https://github.com/".concat(e.login)},e.login)}),u.a.createElement("div",{className:tt.a.empty},u.a.createElement("div",{className:tt.a.empty}),u.a.createElement(X,{className:tt.a.delete,icon:Q.a,primary:!0,confirmNeeded:!0,onClick:function(){return e.props.deleteFile(a)}},u.a.createElement(lt,null,"Delete File")))))}}]),t}(u.a.Component),rt=Object(f.b)(function(e){return{current:e.current,env:e.env,player:e.player}},Qe,null,{forwardRef:!0})(at),nt=a(77),it=a.n(nt),ot=function(e){function t(e){var a;return Object(_.a)(this,t),(a=Object(k.a)(this,Object(j.a)(t).call(this,e))).handleMouseDown=a.handleMouseDown.bind(Object(E.a)(a)),a.handleMouseMove=a.handleMouseMove.bind(Object(E.a)(a)),a.handleMouseUp=a.handleMouseUp.bind(Object(E.a)(a)),a}return Object(w.a)(t,e),Object(O.a)(t,[{key:"handleMouseDown",value:function(e){this.target=e.target,document.addEventListener("mousemove",this.handleMouseMove),document.addEventListener("mouseup",this.handleMouseUp)}},{key:"handleMouseMove",value:function(e){var t=this.props.onResize;t&&t(this.target.parentElement,e.clientX,e.clientY)}},{key:"handleMouseUp",value:function(e){document.removeEventListener("mousemove",this.handleMouseMove),document.removeEventListener("mouseup",this.handleMouseUp)}},{key:"render",value:function(){var e=this.props,t=e.className,a=e.horizontal;return u.a.createElement("div",{className:H(it.a.divider,a?it.a.horizontal:it.a.vertical,t),onMouseDown:this.handleMouseDown})}}]),t}(u.a.Component),ct=a(159),st=a.n(ct),lt=function(e){function t(){return Object(_.a)(this,t),Object(k.a)(this,Object(j.a)(t).apply(this,arguments))}return Object(w.a)(t,e),Object(O.a)(t,[{key:"render",value:function(){var e=this.props,t=e.className,a=e.children;return u.a.createElement("span",{className:H(st.a.ellipsis,t)},a)}}]),t}(u.a.Component),ut=a(72),ht=a.n(ut),dt=a(73),pt=a.n(dt),mt=a(48),gt=a.n(mt),ft=function(e){function t(){return Object(_.a)(this,t),Object(k.a)(this,Object(j.a)(t).apply(this,arguments))}return Object(w.a)(t,e),Object(O.a)(t,[{key:"render",value:function(){var e=this.props,t=e.className,a=e.children,r=e.opened,n=Object(L.a)(e,["className","children","opened"]);return r?u.a.createElement("div",{className:H(gt.a.expandable_list_item,t)},u.a.createElement(aa,Object.assign({className:gt.a.category},n),u.a.createElement(M.a,{className:gt.a.icon,fixedWidth:!0,icon:ht.a})),a):u.a.createElement(aa,Object.assign({className:H(gt.a.category,t)},n),u.a.createElement(M.a,{className:gt.a.icon,fixedWidth:!0,icon:pt.a}))}}]),t}(u.a.Component),vt=a(9),bt=a(160),yt=a.n(bt),_t=(a(222),a(223),a(227),a(229),a(230),a(231),a(232),a(233),function(e){function t(){return Object(_.a)(this,t),Object(k.a)(this,Object(j.a)(t).apply(this,arguments))}
1return Object(w.a)(t,e),Object(O.a)(t,[{key:"componentDidMount",value:function(){Object(vt.a)(Object(j.a)(t.prototype),"componentDidMount",this).call(this),this.props.current.shouldBuild&&this.foldTracers()}},{key:"componentDidUpdate",value:function(e,a,r){Object(vt.a)(Object(j.a)(t.prototype),"componentDidUpdate",this).call(this,e,a,r);var n=this.props.current,i=n.editingFile,o=n.shouldBuild;i!==e.current.editingFile&&o&&this.foldTracers()}},{key:"foldTracers",value:function(){for(var e=this.editor.getSession(),t=0;t<e.getLength();t++)if(/^\s*\/\/.+{\s*$/.test(e.getLine(t))){var a=e.getFoldWidgetRange(t);a&&(e.addFold("...",a),t=a.end.row)}}},{key:"resize",value:function(){this.editor.resize()}}]),t}(yt.a)),Ot=Object(f.b)(function(e){return{current:e.current}},Qe,null,{forwardRef:!0})(_t),kt=a(74),jt=a.n(kt),Et=a(55),wt=a.n(Et),Nt=a(161),Ct=a.n(Nt),St=a(162),xt=a.n(St),zt=a(163),Tt=a.n(zt),At=a(75),Rt=a.n(At),Lt=a(164),Mt=a.n(Lt),Dt=a(165),Pt=a.n(Dt),It=a(166),Ft=a.n(It),Ht=a(31),Wt=a.n(Ht);Wt.a.interceptors.response.use(function(e){return e.data});var Gt,Bt=function(e,t){var a=e.split("/"),r=/^https?:\/\//i.test(e)?"":"/api";return function(){for(var e=arguments.length,n=new Array(e),i=0;i<e;i++)n[i]=arguments[i];var o=r+a.map(function(e,t){return e.startsWith(":")?n.shift():e}).join("/");return x.a.resolve(t(o,n))}},Ut=function(e){return Bt(e,function(e,t){var a=Object(b.a)(t,2),r=a[0],n=a[1];return Wt.a.get(e,{params:r,cancelToken:n})})},Vt=function(e){return Bt(e,function(e,t){var a=Object(b.a)(t,3),r=a[0],n=a[1],i=a[2];return Wt.a.post(e,r,{params:n,cancelToken:i})})},Yt={getCategories:Ut("/algorithms"),getAlgorithm:Ut("/algorithms/:categoryKey/:algorithmKey")},Kt={getVisualization:Ut("/visualizations/:visualizationId")},qt={auth:function(e){return x.a.resolve(Wt.a.defaults.headers.common.Authorization=e&&"token ".concat(e))},getUser:Ut("https://api.github.com/user"),listGists:Ut("https://api.github.com/gists"),createGist:Vt("https://api.github.com/gists"),editGist:(Gt="https://api.github.com/gists/:id",Bt(Gt,function(e,t){var a=Object(b.a)(t,3),r=a[0],n=a[1],i=a[2];return Wt.a.patch(e,r,{params:n,cancelToken:i})})),getGist:Ut("https://api.github.com/gists/:id"),deleteGist:function(e){return Bt(e,function(e,t){var a=Object(b.a)(t,2),r=a[0],n=a[1];return Wt.a.delete(e,{params:r,cancelToken:n})})}("https://api.github.com/gists/:id"),forkGist:Vt("https://api.github.com/gists/:id/forks")},Xt={md:function(e){var t=e.code;return x.a.resolve([{key:"markdown",method:"MarkdownTracer",args:["Markdown"]},{key:"markdown",method:"set",args:[t]},{key:null,method:"setRoot",args:["markdown"]}])},json:function(e){var t=e.code;return new x.a(function(e){return e(JSON.parse(t))})},js:function(e,t,a){var r=e.code;return new x.a(function(e,t){var n=new Worker("/api/tracers/js/worker");a&&a.promise.then(function(e){n.terminate(),t(e)}),n.onmessage=function(t){n.terminate(),e(t.data)},n.onerror=function(e){n.terminate(),t(e)},n.postMessage(r)})},cpp:Vt("/tracers/cpp"),java:Vt("/tracers/java")},Jt=a(15),Qt=a.n(Jt),Zt=function(e){function t(){return Object(_.a)(this,t),Object(k.a)(this,Object(j.a)(t).apply(this,arguments))}return Object(w.a)(t,e),Object(O.a)(t,[{key:"handleClickFullScreen",value:function(){wt.a.enabled&&(wt.a.isFullscreen?wt.a.exit():wt.a.request())}},{key:"handleChangeTitle",value:function(e){var t=e.target.value;this.props.modifyTitle(t)}},{key:"saveGist",value:function(){var e=this,t=this.props.env.user,a=this.props.current,r=a.scratchPaper,n=a.titles,i=a.files,o=a.lastFiles,c=a.editingFile,s={description:n[n.length-1],files:{}};i.forEach(function(e){s.files[e.name]={content:e.content}}),o.forEach(function(e){e.name in s.files||(s.files[e.name]=null)}),s.files["algorithm-visualizer"]={content:"https://algorithm-visualizer.org/"};(function(e){return t?r&&r.login?r.login===t.login?qt.editGist(r.gistId,e):qt.forkGist(r.gistId).then(function(t){return qt.editGist(t.id,e)}):qt.createGist(e):x.a.reject(new Error("Sign In Required"))})(s).then(B).then(function(t){e.props.setScratchPaper(t),e.props.setEditingFile(t.files.find(function(e){return e.name===c.name})),r&&r.gistId===t.gistId||e.props.history.push("/scratch-paper/".concat(t.gistId))}).then(this.props.loadScratchPapers).catch(this.handleError)}},{key:"hasPermission",value:function(){var e=this.props.current.scratchPaper,t=this.props.env.user;if(!e)return!1;if("new"!==e.gistId){if(!t)return!1;if(e.login!==t.login)return!1}return!0}},{key:"deleteGist",value:function(){var e=this,t=this.props.current.scratchPaper.gistId;"new"===t?this.props.ignoreHistoryBlock(function(){return e.props.history.push("/")}):qt.deleteGist(t).then(function(){e.props.ignoreHistoryBlock(function(){return e.props.history.push("/")})}).then(this.props.loadScratchPapers).catch(this.handleError)}},{key:"render",value:function(){var e=this,t=this.props,a=t.className,r=t.onClickTitleBar,n=t.navigatorOpened,i=this.props.current,o=i.scratchPaper,c=i.titles,s=i.saved,l=this.props.env,h=l.ext,d=l.user,p=this.hasPermission();return u.a.createElement("header",{className:H(Qt.a.header,a)},u.a.createElement("div",{className:Qt.a.row},u.a.createElement("div",{className:Qt.a.section},u.a.createElement(X,{className:Qt.a.title_bar,onClick:r}
1,c.map(function(t,a){return[o&&1===a?u.a.createElement(jt.a,{className:Qt.a.input_title,key:"title-".concat(a),value:t,onClick:function(e){return e.stopPropagation()},onChange:function(t){return e.handleChangeTitle(t)}}):u.a.createElement(lt,{key:"title-".concat(a)},t),a<c.length-1&&u.a.createElement(M.a,{className:Qt.a.nav_arrow,fixedWidth:!0,icon:Ct.a,key:"arrow-".concat(a)})]}),u.a.createElement(M.a,{className:Qt.a.nav_caret,fixedWidth:!0,icon:n?ht.a:pt.a}))),u.a.createElement("div",{className:Qt.a.section},u.a.createElement(X,{icon:p?Mt.a:xt.a,primary:!0,disabled:p&&s,onClick:function(){return e.saveGist()}},p?"Save":"Fork"),p&&u.a.createElement(X,{icon:Q.a,primary:!0,onClick:function(){return e.deleteGist()},confirmNeeded:!0},"Delete"),u.a.createElement(X,{icon:Pt.a,primary:!0,href:"https://www.facebook.com/sharer/sharer.php?u=".concat(encodeURIComponent(window.location.href))},"Share"),u.a.createElement(X,{icon:Tt.a,primary:!0,onClick:function(){return e.handleClickFullScreen()}},"Fullscreen"))),u.a.createElement("div",{className:Qt.a.row},u.a.createElement("div",{className:Qt.a.section},d?u.a.createElement(X,{className:Qt.a.btn_dropdown,icon:d.avatar_url},d.login,u.a.createElement("div",{className:Qt.a.dropdown},u.a.createElement(aa,{label:"Sign Out",href:"/api/auth/destroy",rel:"opener"}))):u.a.createElement(X,{icon:Rt.a,primary:!0,href:"/api/auth/request",rel:"opener"},u.a.createElement(lt,null,"Sign In")),u.a.createElement(X,{className:Qt.a.btn_dropdown,icon:Ft.a},Ze.find(function(e){return e.ext===h}).name,u.a.createElement("div",{className:Qt.a.dropdown},Ze.map(function(t){return t.ext===h?null:u.a.createElement(aa,{key:t.ext,onClick:function(){return e.props.setExt(t.ext)},label:t.name})})))),u.a.createElement(Sa,{className:Qt.a.section})))}}]),t}(R),$t=Object(g.f)(Object(f.b)(function(e){return{current:e.current,env:e.env}},Qe)(Zt)),ea=a(78),ta=a.n(ea),aa=function(e){function t(){return Object(_.a)(this,t),Object(k.a)(this,Object(j.a)(t).apply(this,arguments))}return Object(w.a)(t,e),Object(O.a)(t,[{key:"render",value:function(){var e=this.props,t=e.className,a=e.children,r=e.indent,n=e.label,i=Object(L.a)(e,["className","children","indent","label"]);return u.a.createElement(X,Object.assign({className:H(ta.a.list_item,r&&ta.a.indent,t)},i),u.a.createElement(lt,{className:ta.a.label},n),a)}}]),t}(u.a.Component),ra=a(167),na=a.n(ra),ia=a(168),oa=a.n(ia),ca=a(169),sa=a.n(ca),la=a(43),ua=a.n(la),ha=function(e){function t(e){var a;return Object(_.a)(this,t),(a=Object(k.a)(this,Object(j.a)(t).call(this,e))).state={categoriesOpened:{},scratchPaperOpened:!0,query:""},a}return Object(w.a)(t,e),Object(O.a)(t,[{key:"componentDidMount",value:function(){var e=this.props.current.algorithm;e&&this.toggleCategory(e.categoryKey,!0)}},{key:"componentWillReceiveProps",value:function(e){var t=e.current.algorithm;t&&this.toggleCategory(t.categoryKey,!0)}},{key:"toggleCategory",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:!this.state.categoriesOpened[e],a=Object(s.a)({},this.state.categoriesOpened,Object(ee.a)({},e,t));this.setState({categoriesOpened:a})}},{key:"toggleScratchPaper",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:!this.state.scratchPaperOpened;this.setState({scratchPaperOpened:e})}},{key:"handleChangeQuery",value:function(e){var t=this,a=this.props.directory.categories,r={},n=e.target.value;a.forEach(function(e){(t.testQuery(e.name)||e.algorithms.find(function(e){return t.testQuery(e.name)}))&&(r[e.key]=!0)}),this.setState({categoriesOpened:r,query:n})}},{key:"testQuery",value:function(e){var t=function(e){return e.replace(/-/g," ").replace(/[^\w ]/g,"")},a=t(this.state.query),r=t(e);return new RegExp("(^| )".concat(a),"i").test(r)||new RegExp(a,"i").test(r.split(" ").map(function(e){return e&&e[0]}).join(""))}},{key:"render",value:function(){var e=this,t=this.state,a=t.categoriesOpened,r=t.scratchPaperOpened,n=t.query,i=this.props.className,o=this.props.directory,c=o.categories,s=o.scratchPapers,l=this.props.current,h=l.algorithm,d=l.scratchPaper,p=h&&h.categoryKey,m=h&&h.algorithmKey,g=d&&d.gistId;return u.a.createElement("nav",{className:H(ua.a.navigator,i)},u.a.createElement("div",{className:ua.a.search_bar_container},u.a.createElement(M.a,{fixedWidth:!0,icon:na.a,className:ua.a.search_icon}),u.a.createElement("input",{type:"text",className:ua.a.search_bar,"aria-label":"Search",placeholder:"Search ...",autoFocus:!0,value:n,onChange:function(t){return e.handleChangeQuery(t)}})),u.a.createElement("div",{className:ua.a.algorithm_list},c.map(function(t){var r=a[t.key],n=t.algorithms;return e.testQuery(t.name)||(n=n.filter(function(t){return e.testQuery(t.name)})).length?u.a.createElement(ft,{key:t.key,onClick:function(){return e.toggleCategory(t.key)},label:t.name,opened:r},n.map(function(e){return u.a.createElement(aa,{indent:!0,key:e.key,selected:t.key===p&&e.key===m,to:"/".concat(t.key,"/").concat(e.key),label:e.name})})):null})),u.a.createElement("div",{className:ua.a.footer},u.a.createElement(ft,{icon:oa.a,label:"Scratch Paper",onClick:function(){return e.toggleScratchPaper()},opened:r},u.a.createElement(aa,{indent:!0,label:"New ...",to:"/scratch-paper/new"}),s.map(function(e){return u.a.createElement(aa,{indent:!0,key:e.key,selected:e.key===g,to:"/scratch-paper/".concat(e.key),label:e.name})})),u.a.createElement(aa,{icon:sa.a,label:"API Reference",href:"https://github.com/algorithm-visualizer/algorithm-visualizer/wiki"}),u.a.createElement(aa,{icon:Rt.a,label:"Fork me on GitHub",href:"https://github.com/algorithm-visualizer/algorithm-visualizer"})))}}]),t}(u.a.Component),da=Object(f.b)(function(e){return{current:e.current,directory:e.directory,env:e.env}},Qe)(ha),pa=a(170),ma=a.n(pa),ga=a(171),fa=a.n(ga),va=a(172),ba=a.n(va),ya=a(173),_a=a.n(ya),Oa=a(174),ka=a.n(Oa),ja=a(175),Ea=a.n(ja),wa=a(39),Na=a.n(wa),Ca=function(e){function t(e){var a;return Object(_.a)(this,t),(a=Object(k.a)(this,Object(j.a)(t).call(this,e))).state={speed:2,playing:!1,building:!1},a.tracerApiSource=null,a.reset(),a}
1return Object(w.a)(t,e),Object(O.a)(t,[{key:"componentDidMount",value:function(){var e=this.props.current,t=e.editingFile;e.shouldBuild&&this.build(t)}},{key:"componentWillReceiveProps",value:function(e){var t=e.current,a=t.editingFile,r=t.shouldBuild;a!==this.props.current.editingFile&&r&&this.build(a)}},{key:"reset",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=[{commands:[],lineNumber:void 0}];e.length;){var a=e.shift(),r=a.key,n=a.method,i=a.args;if(null===r&&"delay"===n){var o=Object(b.a)(i,1)[0];t[t.length-1].lineNumber=o,t.push({commands:[],lineNumber:void 0})}else t[t.length-1].commands.push(a)}this.props.setChunks(t),this.props.setCursor(0),this.pause(),this.props.setLineIndicator(void 0)}},{key:"build",value:function(e){var t=this;if(this.reset(),e){this.tracerApiSource&&this.tracerApiSource.cancel(),this.tracerApiSource=Wt.a.CancelToken.source(),this.setState({building:!0});var a=G(e.name);a in Xt?Xt[a]({code:e.content},void 0,this.tracerApiSource.token).then(function(e){t.tracerApiSource=null,t.setState({building:!1}),t.reset(e),t.next()}).catch(function(e){Wt.a.isCancel(e)||(t.tracerApiSource=null,t.setState({building:!1}),t.handleError(e))}):(this.setState({building:!1}),this.handleError(new Error("Language Not Supported")))}}},{key:"isValidCursor",value:function(e){var t=this.props.player.chunks;return 1<=e&&e<=t.length}},{key:"prev",value:function(){this.pause();var e=this.props.player.cursor-1;return!!this.isValidCursor(e)&&(this.props.setCursor(e),!0)}},{key:"resume",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.pause(),this.next()||t&&this.props.setCursor(1)){var a=4e3/Math.pow(Math.E,this.state.speed);this.timer=window.setTimeout(function(){return e.resume()},a),this.setState({playing:!0})}}},{key:"pause",value:function(){this.timer&&(window.clearTimeout(this.timer),this.timer=void 0,this.setState({playing:!1}))}},{key:"next",value:function(){this.pause();var e=this.props.player.cursor+1;return!!this.isValidCursor(e)&&(this.props.setCursor(e),!0)}},{key:"handleChangeSpeed",value:function(e){this.setState({speed:e})}},{key:"handleChangeProgress",value:function(e){var t=this.props.player.chunks,a=Math.max(1,Math.min(t.length,Math.round(e*t.length)));this.pause(),this.props.setCursor(a)}},{key:"render",value:function(){var e=this,t=this.props.className,a=this.props.current.editingFile,r=this.props.player,n=r.chunks,i=r.cursor,o=this.state,c=o.speed,s=o.playing,l=o.building;return u.a.createElement("div",{className:H(Na.a.player,t)},u.a.createElement(X,{icon:Ea.a,primary:!0,disabled:l,inProgress:l,onClick:function(){return e.build(a)}},l?"Building":"Build"),s?u.a.createElement(X,{icon:ka.a,primary:!0,active:!0,onClick:function(){return e.pause()}},"Pause"):u.a.createElement(X,{icon:fa.a,primary:!0,onClick:function(){return e.resume(!0)}},"Play"),u.a.createElement(X,{icon:ba.a,primary:!0,disabled:!this.isValidCursor(i-1),onClick:function(){return e.prev()}}),u.a.createElement(Ta,{className:Na.a.progress_bar,current:i,total:n.length,onChangeProgress:function(t){return e.handleChangeProgress(t)}}),u.a.createElement(X,{icon:_a.a,reverse:!0,primary:!0,disabled:!this.isValidCursor(i+1),onClick:function(){return e.next()}}),u.a.createElement("div",{className:Na.a.speed},"Speed",u.a.createElement(ma.a,{classNames:{inputRange:Na.a.range,labelContainer:Na.a.range_label_container,slider:Na.a.range_slider,track:Na.a.range_track},minValue:0,maxValue:4,step:.5,value:c,onChange:function(t){return e.handleChangeSpeed(t)}})))}}]),t}(R),Sa=Object(f.b)(function(e){return{current:e.current,player:e.player}},Qe)(Ca),xa=a(56),za=a.n(xa),Ta=function(e){function t(e){var a;return Object(_.a)(this,t),(a=Object(k.a)(this,Object(j.a)(t).call(this,e))).handleMouseDown=a.handleMouseDown.bind(Object(E.a)(a)),a.handleMouseMove=a.handleMouseMove.bind(Object(E.a)(a)),a.handleMouseUp=a.handleMouseUp.bind(Object(E.a)(a)),a}return Object(w.a)(t,e),Object(O.a)(t,[{key:"handleMouseDown",value:function(e){this.target=e.target,this.handleMouseMove(e),document.addEventListener("mousemove",this.handleMouseMove),document.addEventListener("mouseup",this.handleMouseUp)}},{key:"handleMouseMove",value:function(e){var t=this.target.getBoundingClientRect().left,a=this.target.offsetWidth,r=this.props.onChangeProgress,n=(e.clientX-t)/a;r&&r(n)}},{key:"handleMouseUp",value:function(e){document.removeEventListener("mousemove",this.handleMouseMove),document.removeEventListener("mouseup",this.handleMouseUp)}},{key:"render",value:function(){var e=this.props,t=e.className,a=e.total,r=e.current;return u.a.createElement("div",{className:H(za.a.progress_bar,t),onMouseDown:this.handleMouseDown},u.a.createElement("div",{className:za.a.active,style:{width:"".concat(r/a*100,"%")}}),u.a.createElement("div",{className:za.a.label},u.a.createElement("span",{className:za.a.current},r)," / ",a))}}]),t}(u.a.Component),Aa=a(79),Ra=a.n(Aa),La=function(e){function t(){return Object(_.a)(this,t),Object(k.a)(this,Object(j.a)(t).apply(this,arguments))}return Object(w.a)(t,e),Object(O.a)(t,[{key:"handleResize",value:function(e,t,a,r,n){var i=this.props,o=i.horizontal,c=i.visibles,s=i.onChangeWeights,l=Object(y.a)(this.props.weights),u=a.getBoundingClientRect(),h=u.left,d=u.top,p=a.parentElement,m=p.offsetWidth,g=p.offsetHeight,f=o?r-h:n-d,v=o?m:g,b=0,_=0;l.forEach(function(e,a){c&&!c[a]||(b+=e,a<t&&(_+=e))});var O=f/v*b-_;O=Math.max(O,-l[e]),O=Math.min(O,l[t]),l[e]+=O,l[t]-=O,s(l)}},{key:"render",value:function(){var e=this,t=this.props,a=t.className,r=t.children,n=t.horizontal,i=t.weights,o=t.visibles,c=[],s=-1,l=i.filter(function(e,t){return!o||o[t]}).reduce(function(e,t){return e+t},0);return r.forEach(function(t,a){if(!o||o[a]){if(~s){var r=s;c.push(u.a.createElement(ot,{key:"divider-".concat(a),horizontal:n,onResize:function(t,n,i){return e.handleResize(r,a,t,n,i)}}))}c.push(u.a.createElement("div",{key:a,className:H(Ra.a.wrapper),style:{flexGrow:i[a]/l}},t)),s=a}}),u.a.createElement("div",{className:H(Ra.a.resizable_container,n&&Ra.a.horizontal,a)},c)}}]),t}(u.a.Component),Ma=a(176),Da=a.n(Ma),Pa=a(23),Ia=a.n(Pa),Fa=function(e){function t(){return Object(_.a)(this,t),Object(k.a)(this,Object(j.a)(t).apply(this,arguments))}return Object(w.a)(t,e),Object(O.a)(t,[{key:"handleAddFile",value:function(){for(var e=this.props.env.ext,t=this.props.current.files,a=Ze.find(function(t){return t.ext===e}),r=Object(s.a)({},a.skeleton),n=0;t.some(function(e){return e.name===r.name});)r.name="code-".concat(++n,".").concat(e);this.props.addFile(r)}},{key:"render",value:function(){var e=this,t=this.props,a=t.className,r=t.children,n=this.props.current,i=n.editingFile,o=n.files;return u.a.createElement("div",{className:H(Ia.a.tab_container,a)},u.a.createElement("div",{className:Ia.a.tab_bar},u.a.createElement("div",{className:H(Ia.a.title,Ia.a.fake)}),o.map(function(t,a){return t===i?u.a.createElement("div",{className:H(Ia.a.title,Ia.a.selected),key:a,onClick:function(){return e.props.setEditingFile(t)}},u.a.createElement(jt.a,{className:Ia.a.input_title,value:t.name,onClick:function(e){return e.stopPropagation()},onChange:function(a){return e.props.renameFile(t,a.target.value)}})):u.a.createElement("div",{className:Ia.a.title,key:a,onClick:function(){return e.props.setEditingFile(t)}},t.name)}
1),u.a.createElement("div",{className:Ia.a.title,onClick:function(){return e.handleAddFile()}},u.a.createElement(M.a,{fixedWidth:!0,icon:Da.a})),u.a.createElement("div",{className:H(Ia.a.title,Ia.a.fake)})),u.a.createElement("div",{className:Ia.a.content},r))}}]),t}(u.a.Component),Ha=Object(f.b)(function(e){return{current:e.current,env:e.env}},Qe)(Fa),Wa=a(80),Ga=a.n(Wa),Ba=function(e){function t(){return Object(_.a)(this,t),Object(k.a)(this,Object(j.a)(t).apply(this,arguments))}return Object(w.a)(t,e),Object(O.a)(t,[{key:"componentWillReceiveProps",value:function(e){var t=this;e.toast.toasts.filter(function(e){return!t.props.toast.toasts.includes(e)}).forEach(function(e){window.setTimeout(function(){return t.props.hideToast(e.id)},3e3)})}},{key:"render",value:function(){var e=this.props.className,t=this.props.toast.toasts;return u.a.createElement("div",{className:H(Ga.a.toast_container,e)},t.map(function(e){return u.a.createElement("div",{className:H(Ga.a.toast,Ga.a[e.type]),key:e.id},e.message)}))}}]),t}(u.a.Component),Ua=Object(f.b)(function(e){return{toast:e.toast}},Qe)(Ba),Va=a(177),Ya=a.n(Va),Ka=a(105),qa=a.n(Ka),Xa=function(e){function t(e){var a;return Object(_.a)(this,t),(a=Object(k.a)(this,Object(j.a)(t).call(this,e))).handleMouseDown=a.handleMouseDown.bind(Object(E.a)(a)),a.handleMouseMove=a.handleMouseMove.bind(Object(E.a)(a)),a.handleMouseUp=a.handleMouseUp.bind(Object(E.a)(a)),a.handleWheel=a.handleWheel.bind(Object(E.a)(a)),a._handleMouseDown=a.handleMouseDown,a._handleWheel=a.handleWheel,a.togglePan(!1),a.toggleZoom(!1),a.lastX=null,a.lastY=null,a.centerX=0,a.centerY=0,a.zoom=1,a.zoomFactor=1.01,a.zoomMax=20,a.zoomMin=.05,a}return Object(w.a)(t,e),Object(O.a)(t,[{key:"componentDidUpdate",value:function(e,t,a){}},{key:"togglePan",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:!this.handleMouseDown;this.handleMouseDown=e?this._handleMouseDown:void 0}},{key:"toggleZoom",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:!this.handleWheel;this.handleWheel=e?this._handleWheel:void 0}},{key:"handleMouseDown",value:function(e){var t=e.clientX,a=e.clientY;this.lastX=t,this.lastY=a,document.addEventListener("mousemove",this.handleMouseMove),document.addEventListener("mouseup",this.handleMouseUp)}},{key:"handleMouseMove",value:function(e){var t=e.clientX,a=e.clientY,r=t-this.lastX,n=a-this.lastY;this.centerX-=r,this.centerY-=n,this.refresh(),this.lastX=t,this.lastY=a}},{key:"handleMouseUp",value:function(e){document.removeEventListener("mousemove",this.handleMouseMove),document.removeEventListener("mouseup",this.handleMouseUp)}},{key:"handleWheel",value:function(e){e.preventDefault();var t=e.deltaY;this.zoom*=Math.pow(this.zoomFactor,t),this.zoom=Math.min(this.zoomMax,Math.max(this.zoomMin,this.zoom)),this.refresh()}},{key:"toString",value:function(e){switch(typeof e){case"number":return[Number.POSITIVE_INFINITY,Number.MAX_SAFE_INTEGER,2147483647].includes(e)?"\u221e":[Number.NEGATIVE_INFINITY,Number.MIN_SAFE_INTEGER,-2147483648].includes(e)?"-\u221e":Number.isInteger(e)?e.toString():e.toFixed(3);case"boolean":return e?"T":"F";default:return e}}},{key:"refresh",value:function(){this.forceUpdate()}},{key:"renderData",value:function(){return null}},{key:"render",value:function(){var e=this.props,t=e.className,a=e.title;return u.a.createElement("div",{className:H(qa.a.renderer,t),onMouseDown:this.handleMouseDown,onWheel:this.handleWheel},u.a.createElement(lt,{className:qa.a.title},a),this.renderData())}}]),t}(u.a.Component),Ja=a(106),Qa=a.n(Ja),Za=a(178),$a=a.n(Za),er=function(e){function t(){return Object(_.a)(this,t),Object(k.a)(this,Object(j.a)(t).apply(this,arguments))}return Object(w.a)(t,e),Object(O.a)(t,[{key:"renderData",value:function(){var e=this.props.data.markdown;return u.a.createElement("div",{className:Qa.a.markdown},u.a.createElement($a.a,{className:Qa.a.content,source:e,renderers:{heading:function(e){var t=e.level,a=e.children,r=Object(L.a)(e,["level","children"]),n=[function(e){return u.a.createElement("h1",e)},function(e){return u.a.createElement("h2",e)},function(e){return u.a.createElement("h3",e)},function(e){return u.a.createElement("h4",e)},function(e){return u.a.createElement("h5",e)},function(e){return u.a.createElement("h6",e)}][t-1],i=function e(t){return u.a.Children.map(t,function(t){return t?"string"===typeof t?t:"props"in t?e(t.props.children):"":""}).join("")}(a).toLowerCase().trim().replace(/[^\w \-]/g,"").replace(/ /g,"-");return u.a.createElement(n,Object.assign({id:i},r),a)},link:function(e){var t=e.href,a=Object(L.a)(e,["href"]);return/^#/.test(t)?u.a.createElement("a",Object.assign({href:t},a)):u.a.createElement("a",Object.assign({href:t,rel:"noopener",target:"_blank"},a))},image:function(e){var t=e.src,a=Object(L.a)(e,["src"]),r=t,n={maxWidth:"100%"},i="https://latex.codecogs.com/svg.latex?";if(t.startsWith(i)){var o=t.substring(i.length);r="".concat(i,"\\color{White}").concat(o)}else t.startsWith("https://upload.wikimedia.org/wikipedia/")?n.backgroundColor="white":t.startsWith("https://wikimedia.org/api/rest_v1/media/math/render/svg/")&&(n.filter="invert(100%)");return u.a.createElement("img",Object.assign({src:r,style:n},a))}},escapeHtml:!1}))}}]),t}(Xa),tr=a(107),ar=a.n(tr),rr=function(e){function t(e){var a;return Object(_.a)(this,t),(a=Object(k.a)(this,Object(j.a)(t).call(this,e))).elementRef=u.a.createRef(),a}
1return Object(w.a)(t,e),Object(O.a)(t,[{key:"componentDidUpdate",value:function(e,a,r){Object(vt.a)(Object(j.a)(t.prototype),"componentDidUpdate",this).call(this,e,a,r);var n=this.elementRef.current;n.scrollTop=n.scrollHeight}},{key:"renderData",value:function(){var e=this.props.data.log;return u.a.createElement("div",{className:ar.a.log,ref:this.elementRef},u.a.createElement("div",{className:ar.a.content,dangerouslySetInnerHTML:{__html:e}}))}}]),t}(Xa),nr=a(16),ir=a.n(nr),or=function(e){function t(e){var a;return Object(_.a)(this,t),(a=Object(k.a)(this,Object(j.a)(t).call(this,e))).togglePan(!0),a.toggleZoom(!0),a}return Object(w.a)(t,e),Object(O.a)(t,[{key:"renderData",value:function(){var e=this,t=this.props.data.data,a=this instanceof cr,r=t.reduce(function(e,t){return e.length<t.length?t:e},[]);return u.a.createElement("table",{className:ir.a.array_2d,style:{marginLeft:2*-this.centerX,marginTop:2*-this.centerY,transform:"scale(".concat(this.zoom,")")}},u.a.createElement("tbody",null,u.a.createElement("tr",{className:ir.a.row},!a&&u.a.createElement("td",{className:H(ir.a.col,ir.a.index)}),r.map(function(e,t){return u.a.createElement("td",{className:H(ir.a.col,ir.a.index),key:t},u.a.createElement("span",{className:ir.a.value},t))})),t.map(function(t,r){return u.a.createElement("tr",{className:ir.a.row,key:r},!a&&u.a.createElement("td",{className:H(ir.a.col,ir.a.index)},u.a.createElement("span",{className:ir.a.value},r)),t.map(function(t,a){return u.a.createElement("td",{className:H(ir.a.col,t.selected&&ir.a.selected,t.patched&&ir.a.patched),key:a},u.a.createElement("span",{className:ir.a.value},e.toString(t.value)))}))})))}}]),t}(Xa),cr=function(e){function t(){return Object(_.a)(this,t),Object(k.a)(this,Object(j.a)(t).apply(this,arguments))}return Object(w.a)(t,e),t}(or),sr=a(76),lr=a(81),ur=a.n(lr),hr=function(e){function t(){return Object(_.a)(this,t),Object(k.a)(this,Object(j.a)(t).apply(this,arguments))}return Object(w.a)(t,e),Object(O.a)(t,[{key:"renderData",value:function(){var e=Object(b.a)(this.props.data.data,1)[0],t={labels:e.map(function(e){return"".concat(e.value)}),datasets:[{backgroundColor:e.map(function(e){return e.patched?ur.a.colorPatched:e.selected?ur.a.colorSelected:ur.a.colorFont}),data:e.map(function(e){return e.value})}]};return u.a.createElement(sr.a,{data:t,options:{scales:{yAxes:[{ticks:{beginAtZero:!0}}]},animation:!1,legend:!1,responsive:!0,maintainAspectRatio:!1}})}}]),t}(cr),dr=a(14),pr=a.n(dr),mr=function(e){function t(e){var a;return Object(_.a)(this,t),(a=Object(k.a)(this,Object(j.a)(t).call(this,e))).elementRef=u.a.createRef(),a.selectedNode=null,a.togglePan(!0),a.toggleZoom(!0),a}return Object(w.a)(t,e),Object(O.a)(t,[{key:"handleMouseDown",value:function(e){Object(vt.a)(Object(j.a)(t.prototype),"handleMouseDown",this).call(this,e);
1var a=this.computeCoords(e),r=this.props.data,n=r.nodes,i=r.dimensions.nodeRadius;this.selectedNode=n.find(function(e){return W(a,e)<=i})}},{key:"handleMouseMove",value:function(e){if(this.selectedNode){var a=this.computeCoords(e),r=a.x,n=a.y,i=this.props.data.findNode(this.selectedNode.id);i.x=r,i.y=n,this.refresh()}else Object(vt.a)(Object(j.a)(t.prototype),"handleMouseMove",this).call(this,e)}},{key:"computeCoords",value:function(e){var t=this.elementRef.current,a=t.createSVGPoint();a.x=e.clientX,a.y=e.clientY;var r=a.matrixTransform(t.getScreenCTM().inverse());return{x:r.x,y:r.y}}},{key:"renderData",value:function(){var e=this,t=this.props.data,a=t.nodes,r=t.edges,n=t.isDirected,i=t.isWeighted,o=t.dimensions,c=o.baseWidth,s=o.baseHeight,l=o.nodeRadius,h=o.arrowGap,d=o.nodeWeightGap,p=o.edgeWeightGap,m=[(this.centerX-c/2)*this.zoom,(this.centerY-s/2)*this.zoom,c*this.zoom,s*this.zoom];return u.a.createElement("svg",{className:pr.a.graph,viewBox:m,ref:this.elementRef},u.a.createElement("defs",null,u.a.createElement("marker",{id:"markerArrow",markerWidth:"4",markerHeight:"4",refX:"2",refY:"2",orient:"auto"},u.a.createElement("path",{d:"M0,0 L0,4 L4,2 L0,0",className:pr.a.arrow})),u.a.createElement("marker",{id:"markerArrowSelected",markerWidth:"4",markerHeight:"4",refX:"2",refY:"2",orient:"auto"},u.a.createElement("path",{d:"M0,0 L0,4 L4,2 L0,0",className:H(pr.a.arrow,pr.a.selected)})),u.a.createElement("marker",{id:"markerArrowVisited",markerWidth:"4",markerHeight:"4",refX:"2",refY:"2",orient:"auto"},u.a.createElement("path",{d:"M0,0 L0,4 L4,2 L0,0",className:H(pr.a.arrow,pr.a.visited)}))),r.sort(function(e,t){return e.visitedCount-t.visitedCount}).map(function(t){var a=t.source,r=t.target,o=t.weight,c=t.visitedCount,s=t.selectedCount,d=e.props.data.findNode(a),m=e.props.data.findNode(r);if(d&&m){var g=d.x,f=d.y,v=m.x,b=m.y,y=(g+v)/2,_=(f+b)/2,O=v-g,k=b-f,j=Math.atan2(k,O)/Math.PI*180;if(n){var E=Math.sqrt(O*O+k*k);0!==E&&(v=g+O/E*(E-l-h),b=f+k/E*(E-l-h))}return u.a.createElement("g",{className:H(pr.a.edge,s&&pr.a.selected,c&&pr.a.visited),key:"".concat(a,"-").concat(r)},u.a.createElement("path",{d:"M".concat(g,",").concat(f," L").concat(v,",").concat(b),className:H(pr.a.line,n&&pr.a.directed)}),i&&u.a.createElement("g",{transform:"translate(".concat(y,",").concat(_,")")},u.a.createElement("text",{className:pr.a.weight,transform:"rotate(".concat(j,")"),y:-p},e.toString(o))))}}),a.map(function(t){var a=t.id,r=t.x,n=t.y,o=t.weight,c=t.visitedCount,s=t.selectedCount;return u.a.createElement("g",{className:H(pr.a.node,s&&pr.a.selected,c&&pr.a.visited),key:a,transform:"translate(".concat(r,",").concat(n,")")},u.a.createElement("circle",{className:pr.a.circle,r:l}),u.a.createElement("text",{className:pr.a.id},a),i&&u.a.createElement("text",{className:pr.a.weight,x:l+d},e.toString(o)))}))}}]),t}(Xa),gr=["white","green","blue","red","yellow","cyan"],fr=function(e){function t(){return Object(_.a)(this,t),Object(k.a)(this,Object(j.a)(t).apply(this,arguments))}return Object(w.a)(t,e),Object(O.a)(t,[{key:"renderData",value:function(){var e={datasets:this.props.data.data.map(function(e,t){return{backgroundColor:gr[t],data:e.map(function(e){return function(e){var t=Object(b.a)(e,2);return{x:t[0],y:t[1]}}(e.value)}),label:Math.random(),radius:2*(t+1)}})};return u.a.createElement(sr.b,{data:e,options:{legend:!1,animation:!1,layout:{padding:{left:20,right:20,top:20,bottom:20}},scales:{yAxes:[{ticks:{beginAtZero:!1}}],xAxes:[{ticks:{beginAtZero:!1}}]}}})}}]),t}(or),vr=function(){function e(t,a,r){Object(_.a)(this,e),this.key=t,this.getObject=a,this.title=r,this.init(),this.reset()}return Object(O.a)(e,[{key:"getRendererClass",value:function(){return Xa}},{key:"init",value:function(){}},{key:"render",value:function(){var e=this.getRendererClass();return u.a.createElement(e,{key:this.key,title:this.title,data:this})}},{key:"set",value:function(){}},{key:"reset",value:function(){this.set()}}]),e}(),br=function(e){function t(){return Object(_.a)(this,t),Object(k.a)(this,Object(j.a)(t).apply(this,arguments))}return Object(w.a)(t,e),Object(O.a)(t,[{key:"getRendererClass",value:function(){return er}},{key:"set",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";this.markdown=e,Object(vt.a)(Object(j.a)(t.prototype),"set",this).call(this)}}]),t}(vr),yr=a(180),_r=function(e){function t(){return Object(_.a)(this,t),Object(k.a)(this,Object(j.a)(t).apply(this,arguments))}return Object(w.a)(t,e),Object(O.a)(t,[{key:"getRendererClass",value:function(){return rr}},{key:"set",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";this.log=e,Object(vt.a)(Object(j.a)(t.prototype),"set",this).call(this)}},{key:"print",value:function(e){this.log+=e}},{key:"println",value:function(e){this.print(e+"\n")}},{key:"printf",value:function(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),r=1;r<t;r++)a[r-1]=arguments[r];this.print(yr.sprintf.apply(void 0,[e].concat(a)))}}]),t}(vr),Or=function e(t){Object(_.a)(this,e),this.value=t,this.patched=!1,this.selected=!1},kr=function(e){function t(){return Object(_.a)(this,t),Object(k.a)(this,Object(j.a)(t).apply(this,arguments))}return Object(w.a)(t,e),Object(O.a)(t,[{key:"getRendererClass",value:function(){return or}},{key:"set",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.data=e.map(function(e){return Object(y.a)(e).map(function(e){return new Or(e)})}),Object(vt.a)(Object(j.a)(t.prototype),"set",this).call(this)}},{key:"patch",value:function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.data[e][t].value;this.data[e][t]||(this.data[e][t]=new Or),this.data[e][t].value=a,this.data[e][t].patched=!0}},{key:"depatch",value:function(e,t){this.data[e][t].patched=!1}},{key:"select",value:function(e,t){for(var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t,n=e;n<=a;n++)for(var i=t;i<=r;i++)this.data[n][i].selected=!0}},{key:"selectRow",value:function(e,t,a){this.select(e,t,e,a)}},{key:"selectCol",value:function(e,t,a){this.select(t,e,a,e)}},{key:"deselect",value:function(e,t){for(var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t,n=e;n<=a;n++)for(var i=t;i<=r;i++)this.data[n][i].selected=!1}},{key:"deselectRow",value:function(e,t,a){this.deselect(e,t,e,a)}},{key:"deselectCol",value:function(e,t,a){this.deselect(t,e,a,e)}}]),t}(vr),jr=function(e){function t(){return Object(_.a)(this,t),Object(k.a)(this,Object(j.a)(t).apply(this,arguments))}return Object(w.a)(t,e),Object(O.a)(t,[{key:"getRendererClass",value:function(){return cr}},{key:"init",value:function(){Object(vt.a)(Object(j.a)(t.prototype),"init",this).call(this),this.chartTracer=null}},{key:"set",value:function(){var e=[arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]];Object(vt.a)(Object(j.a)(t.prototype),"set",this).call(this,e),this.syncChartTracer()}},{key:"patch",value:function(e,a){Object(vt.a)(Object(j.a)(t.prototype),"patch",this).call(this,0,e,a)}},{key:"depatch",value:function(e){Object(vt.a)(Object(j.a)(t.prototype),"depatch",this).call(this,0,e)}},{key:"select",value:function(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;Object(vt.a)(Object(j.a)(t.prototype),"select",this).call(this,0,e,0,a)}},{key:"deselect",value:function(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;Object(vt.a)(Object(j.a)(t.prototype),"deselect",this).call(this,0,e,0,a)}},{key:"chart",value:function(e){this.chartTracer=e?this.getObject(e):null,this.syncChartTracer()}},{key:"syncChartTracer",value:function(){this.chartTracer&&(this.chartTracer.data=this.data)}}]),t}(kr),Er=function(e){function t(){return Object(_.a)(this,t),Object(k.a)(this,Object(j.a)(t).apply(this,arguments))}return Object(w.a)(t,e),Object(O.a)(t,[{key:"getRendererClass",value:function(){return hr}}]),t}(jr),wr=function(e){function t(){return Object(_.a)(this,t),Object(k.a)(this,Object(j.a)(t).apply(this,arguments))}return Object(w.a)(t,e),Object(O.a)(t,[{key:"getRendererClass",value:function(){return mr}},{key:"init",value:function(){Object(vt.a)(Object(j.a)(t.prototype),"init",this).call(this),this.dimensions={baseWidth:320,baseHeight:320,padding:32,nodeRadius:12,arrowGap:4,nodeWeightGap:4,edgeWeightGap:4},this.isDirected=!0,this.isWeighted=!1,this.callLayout={method:this.layoutCircle,args:[]},this.logTracer=null}},{key:"set",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.nodes=[],this.edges=[];for(var a=0;a<e.length;a++){this.addNode(a);for(var r=0;r<e.length;r++){var n=e[a][r];n&&this.addEdge(a,r,this.isWeighted?n:null)}}this.layout(),Object(vt.a)(Object(j.a)(t.prototype),"set",this).call(this)}},{key:"directed",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.isDirected=e}},{key:"weighted",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.isWeighted=e}},{key:"addNode",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;this.findNode(e)||(this.nodes.push({id:e,weight:t,x:a,y:r,visitedCount:n,selectedCount:i}),this.layout())}},{key:"updateNode",value:function(e,t,a,r,n,i){var o=this.findNode(e),c={weight:t,x:a,y:r,visitedCount:n,selectedCount:i};
1Object.keys(c).forEach(function(e){void 0===c[e]&&delete c[e]}),Object.assign(o,c)}},{key:"removeNode",value:function(e){var t=this.findNode(e);if(t){var a=this.nodes.indexOf(t);this.nodes.splice(a,1),this.layout()}}},{key:"addEdge",value:function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;this.findEdge(e,t)||(this.edges.push({source:e,target:t,weight:a,visitedCount:r,selectedCount:n}),this.layout())}},{key:"updateEdge",value:function(e,t,a,r,n){var i=this.findEdge(e,t),o={weight:a,visitedCount:r,selectedCount:n};Object.keys(o).forEach(function(e){void 0===o[e]&&delete o[e]}),Object.assign(i,o)}},{key:"removeEdge",value:function(e,t){var a=this.findEdge(e,t);if(a){var r=this.edges.indexOf(a);this.edges.splice(r,1),this.layout()}}},{key:"findNode",value:function(e){return this.nodes.find(function(t){return t.id===e})}},{key:"findEdge",value:function(e,t){return(arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.isDirected)?this.edges.find(function(a){return a.source===e&&a.target===t}):this.edges.find(function(a){return a.source===e&&a.target===t||a.source===t&&a.target===e})}},{key:"findLinkedEdges",value:function(e){return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.isDirected)?this.edges.filter(function(t){return t.source===e}):this.edges.filter(function(t){return t.source===e||t.target===e})}},{key:"findLinkedNodeIds",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.isDirected;return this.findLinkedEdges(e,t).map(function(t){return t.source===e?t.target:t.source})}},{key:"findLinkedNodes",value:function(e){var t=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.isDirected;return this.findLinkedNodeIds(e,a).map(function(e){return t.findNode(e)})}},{key:"getRect",value:function(){var e=this.dimensions,t=e.baseWidth,a=e.baseHeight,r=e.padding,n=-t/2+r,i=-a/2+r,o=t/2-r,c=a/2-r;return{left:n,top:i,right:o,bottom:c,width:o-n,height:c-i}}},{key:"layout",value:function(){var e=this.callLayout,t=e.method,a=e.args;t.apply(this,a)}},{key:"layoutCircle",value:function(){this.callLayout={method:this.layoutCircle,args:arguments};var e=this.getRect(),t=2*Math.PI/this.nodes.length,a=-Math.PI/2,r=!0,n=!1,i=void 0;try{for(var o,c=this.nodes[Symbol.iterator]();!(r=(o=c.next()).done);r=!0){var s=o.value,l=Math.cos(a)*e.width/2,u=Math.sin(a)*e.height/2;s.x=l,s.y=u,a+=t}}catch(h){n=!0,i=h}finally{try{r||null==c.return||c.return()}finally{if(n)throw i}}}},{key:"layoutTree",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,a=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.callLayout={method:this.layoutTree,args:arguments};var r=this.getRect();if(1===this.nodes.length){var n=Object(b.a)(this.nodes,1)[0];return n.x=(r.left+r.right)/2,void(n.y=(r.top+r.bottom)/2)}var i=0,o={},c={};!function t(a,r){c[a]=!0,o[a]=0,i<r&&(i=r);var n=e.findLinkedNodeIds(a,!1),s=!0,l=!1,u=void 0;try{for(var h,d=n[Symbol.iterator]();!(s=(h=d.next()).done);s=!0){var p=h.value;c[p]||(o[a]+=t(p,r+1))}}catch(m){l=!0,u=m}finally{try{s||null==d.return||d.return()}finally{if(l)throw u}}return 0===o[a]&&(o[a]=1),o[a]}(t,0);var s=r.width/o[t],l=r.height/i;c={};!function t(n,i,u){c[n.id]=!0,n.x=r.left+(i+o[n.id]/2)*s,n.y=r.top+u*l;var h=e.findLinkedNodes(n.id,!1);a&&h.sort(function(e,t){return e.id-t.id});var d=!0,p=!1,m=void 0;try{for(var g,f=h[Symbol.iterator]();!(d=(g=f.next()).done);d=!0){var v=g.value;c[v.id]||(t(v,i,u+1),i+=o[v.id])}}catch(b){p=!0,m=b}finally{try{d||null==f.return||f.return()}finally{if(p)throw m}}}(this.findNode(t),0,0)}},{key:"layoutRandom",value:function(){this.callLayout={method:this.layoutRandom,args:arguments};var e=this.getRect(),t=[],a=!0,r=!1,n=void 0;try{for(var i,o=function(){var a=i.value;do{a.x=e.left+Math.random()*e.width,a.y=e.top+Math.random()*e.height}while(t.find(function(e){return W(a,e)<48}));t.push(a)},c=this.nodes[Symbol.iterator]();!(a=(i=c.next()).done);a=!0)o()}catch(s){r=!0,n=s}finally{try{a||null==c.return||c.return()}finally{if(r)throw n}}}},{key:"visit",value:function(e,t,a){this.visitOrLeave(!0,e,t,a)}},{key:"leave",value:function(e,t,a){this.visitOrLeave(!1,e,t,a)}},{key:"visitOrLeave",value:function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3?arguments[3]:void 0,n=this.findEdge(a,t);n&&(n.visitedCount+=e?1:-1);var i=this.findNode(t);void 0!==r&&(i.weight=r),i.visitedCount+=e?1:-1,this.logTracer&&this.logTracer.println(e?(a||"")+" -> "+t:(a||"")+" <- "+t)}},{key:"select",value:function(e,t){this.selectOrDeselect(!0,e,t)}},{key:"deselect",value:function(e,t){this.selectOrDeselect(!1,e,t)}},{key:"selectOrDeselect",value:function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=this.findEdge(a,t);r&&(r.selectedCount+=e?1:-1),this.findNode(t).selectedCount+=e?1:-1,this.logTracer&&this.logTracer.println(e?(a||"")+" => "+t:(a||"")+" <= "+t)}},{key:"log",value:function(e){this.logTracer=e?this.getObject(e):null}}]),t}(vr),Nr=function(e){function t(){return Object(_.a)(this,t),Object(k.a)(this,Object(j.a)(t).apply(this,arguments))}return Object(w.a)(t,e),Object(O.a)(t,[{key:"getRendererClass",value:function(){return fr}}]),t}(kr),Cr=function(){function e(t,a,r){var n=this;Object(_.a)(this,e),this.key=t,this.getObject=a,this.children=r.map(function(e){return n.getObject(e)}),this.weights=r.map(function(){return 1}),this.ref=u.a.createRef(),this.handleChangeWeights=this.handleChangeWeights.bind(this)}return Object(O.a)(e,[{key:"add",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.children.length,a=this.getObject(e);this.children.splice(t,0,a),this.weights.splice(t,0,1)}},{key:"remove",value:function(e){var t=this.getObject(e),a=this.children.indexOf(t);~a&&(this.children.splice(a,1),this.weights.splice(a,1))}},{key:"removeAll",value:function(){this.children=[],this.weights=[]}},{key:"handleChangeWeights",value:function(e){var t;(t=this.weights).splice.apply(t,[0,this.weights.length].concat(Object(y.a)(e))),this.ref.current.forceUpdate()}},{key:"render",value:function(){var e=this instanceof Sr;return u.a.createElement(La,{key:this.key,ref:this.ref,weights:this.weights,horizontal:e,onChangeWeights:this.handleChangeWeights},this.children.map(function(e){return e&&e.render()}))}}]),e}(),Sr=function(e){function t(){return Object(_.a)(this,t),Object(k.a)(this,Object(j.a)(t).apply(this,arguments))}return Object(w.a)(t,e),t}(Cr),xr=function(e){function t(){return Object(_.a)(this,t),Object(k.a)(this,Object(j.a)(t).apply(this,arguments))}return Object(w.a)(t,e),t}(Cr),zr=function(e){function t(e){var a;return Object(_.a)(this,t),(a=Object(k.a)(this,Object(j.a)(t).call(this,e))).reset(),a}return Object(w.a)(t,e),Object(O.a)(t,[{key:"reset",value:function(){this.root=null,this.objects={}}
1},{key:"componentDidMount",value:function(){var e=this.props.player,t=e.chunks,a=e.cursor;this.update(t,a)}},{key:"componentWillReceiveProps",value:function(e){var t=e.player,a=t.chunks,r=t.cursor,n=this.props.player,i=n.chunks,o=n.cursor;a===i&&r===o||this.update(a,r,i,o)}},{key:"update",value:function(e,t){var a,r=this,n=(arguments.length>2&&void 0!==arguments[2]&&arguments[2],arguments.length>3&&void 0!==arguments[3]?arguments[3]:0);t>n?a=e.slice(n,t):(this.reset(),a=e.slice(0,t)),a.forEach(function(e){return r.applyChunk(e)});var i=a[a.length-1];i&&void 0!==i.lineNumber?this.props.setLineIndicator({lineNumber:i.lineNumber,cursor:t}):this.props.setLineIndicator(void 0)}},{key:"applyCommand",value:function(e){var t=this,a=e.key,r=e.method,o=e.args;try{if(null===a&&"setRoot"===r){var c=Object(b.a)(o,1)[0];this.root=this.objects[c]}else if("destroy"===r)delete this.objects[a];else if(r in i){var s=Object(b.a)(o,1)[0],l=i[r];this.objects[a]=new l(a,function(e){return t.objects[e]},s)}else if(r in n){var u=r,h=Object(b.a)(o,1)[0],d=void 0===h?u:h,p=n[u];this.objects[a]=new p(a,function(e){return t.objects[e]},d)}else{var m;(m=this.objects[a])[r].apply(m,Object(y.a)(o))}}catch(g){this.handleError(g)}}},{key:"applyChunk",value:function(e){var t=this;e.commands.forEach(function(e){return t.applyCommand(e)})}},{key:"render",value:function(){var e=this.props.className;return u.a.createElement("div",{className:H(Ya.a.visualization_viewer,e)},this.root&&this.root.render())}}]),t}(R),Tr=Object(f.b)(function(e){return{player:e.player}},Qe)(zr),Ar=a(44),Rr=a.n(Ar),Lr=function(e){function t(e){var a;return Object(_.a)(this,t),(a=Object(k.a)(this,Object(j.a)(t).call(this,e))).state={workspaceVisibles:[!0,!0,!0],workspaceWeights:[1,2,2]},a.codeEditorRef=u.a.createRef(),a.ignoreHistoryBlock=a.ignoreHistoryBlock.bind(Object(E.a)(a)),a.handleClickTitleBar=a.handleClickTitleBar.bind(Object(E.a)(a)),a.loadScratchPapers=a.loadScratchPapers.bind(Object(E.a)(a)),a.handleChangeWorkspaceWeights=a.handleChangeWorkspaceWeights.bind(Object(E.a)(a)),a}return Object(w.a)(t,e),Object(O.a)(t,[{key:"componentDidMount",value:function(){var e=this;window.signIn=this.signIn.bind(this),window.signOut=this.signOut.bind(this);var t=this.props.match.params,a=this.props.location.search;this.loadAlgorithm(t,A.a.parse(a));var r=C.a.get("access_token");r&&this.signIn(r),Yt.getCategories().then(function(t){var a=t.categories;return e.props.setCategories(a)}).catch(this.handleError),this.toggleHistoryBlock(!0)}},{key:"componentWillUnmount",value:function(){delete window.signIn,delete window.signOut,this.toggleHistoryBlock(!1)}},{key:"componentWillReceiveProps",value:function(e){var t=e.match.params,a=e.location.search;if(t!==this.props.match.params||a!==this.props.location.search){var r=t.categoryKey,n=t.algorithmKey,i=t.gistId,o=e.current,c=o.algorithm,s=o.scratchPaper;if(c&&c.categoryKey===r&&c.algorithmKey===n)return;if(s&&s.gistId===i)return;this.loadAlgorithm(t,A.a.parse(a))}}},{key:"toggleHistoryBlock",value:function(){var e=this;if(arguments.length>0&&void 0!==arguments[0]?arguments[0]:!this.unblock){window.onbeforeunload=function(){if(!e.props.current.saved)return"Are you sure you want to discard changes?"},this.unblock=this.props.history.block(function(t){if(t.pathname!==e.props.location.pathname)return e.props.current.saved?void 0:"Are you sure you want to discard changes?"})}else window.onbeforeunload=void 0,this.unblock(),this.unblock=void 0}},{key:"ignoreHistoryBlock",value:function(e){this.toggleHistoryBlock(!1),e(),this.toggleHistoryBlock(!0)}},{key:"signIn",value:function(e){var t=this;C.a.set("access_token",e),qt.auth(e).then(function(){return qt.getUser()}).then(function(e){var a=e.login,r=e.avatar_url;t.props.setUser({login:a,avatar_url:r})}).then(function(){return t.loadScratchPapers()}).catch(function(){return t.signOut()})}},{key:"signOut",value:function(){var e=this;C.a.remove("access_token"),qt.auth(void 0).then(function(){e.props.setUser(void 0)}).then(function(){return e.props.setScratchPapers([])})}},{key:"loadScratchPapers",value:function(){var e=this;return function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return qt.listGists({per_page:100,page:t,timestamp:Date.now()}
1).then(function(r){return a.push.apply(a,Object(y.a)(r.filter(function(e){return"algorithm-visualizer"in e.files}).map(function(e){return{key:e.id,name:e.description,files:Object.keys(e.files)}}))),r.length<100?a:e(t+1,a)})}().then(function(t){return e.props.setScratchPapers(t)}).catch(this.handleError)}},{key:"loadAlgorithm",value:function(e,t){var a=this,r=e.categoryKey,n=e.algorithmKey,i=e.gistId,o=t.visualizationId,c=this.props.env.ext;(function(){if(window.__PRELOADED_ALGORITHM__)a.props.setAlgorithm(window.__PRELOADED_ALGORITHM__),delete window.__PRELOADED_ALGORITHM__;else{if(null===window.__PRELOADED_ALGORITHM__)return delete window.__PRELOADED_ALGORITHM__,x.a.reject(new Error("Algorithm Not Found"));if(r&&n)return Yt.getAlgorithm(r,n).then(function(e){var t=e.algorithm;return a.props.setAlgorithm(t)});if("new"===i&&o)return Kt.getVisualization(o).then(function(e){a.props.setScratchPaper({login:void 0,gistId:i,title:"Untitled",files:[de,V("visualization.json",JSON.stringify(e))]})});if("new"===i){var e=Ze.find(function(e){return e.ext===c});a.props.setScratchPaper({login:void 0,gistId:i,title:"Untitled",files:[de,e.skeleton]})}else{if(i)return qt.getGist(i,{timestamp:Date.now()}).then(B).then(a.props.setScratchPaper);a.props.setHome()}}return x.a.resolve()})().then(function(){return a.selectDefaultTab(),null}).catch(function(e){a.handleError(e),a.props.history.push("/")})}},{key:"selectDefaultTab",value:function(){var e=this.props.env.ext,t=this.props.current.files,a=t.find(function(e){return"json"===G(e.name)})||t.find(function(t){return G(t.name)===e})||t.find(function(e){return $e.includes(G(e.name))})||t[t.length-1];this.props.setEditingFile(a)}},{key:"handleChangeWorkspaceWeights",value:function(e){this.setState({workspaceWeights:e}),this.codeEditorRef.current.handleResize()}},{key:"toggleNavigatorOpened",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:!this.state.workspaceVisibles[0],t=Object(y.a)(this.state.workspaceVisibles);t[0]=e,this.setState({workspaceVisibles:t})}},{key:"handleClickTitleBar",value:function(){this.toggleNavigatorOpened()}},{key:"render",value:function(){var e=this.state,t=e.workspaceVisibles,a=e.workspaceWeights,r=this.props.current,n=r.titles,i=r.description,o=r.saved,c="".concat(o?"":"(Unsaved) ").concat(n.join(" - ")),s=Object(b.a)(t,1)[0];return u.a.createElement("div",{className:Rr.a.app},u.a.createElement(z.Helmet,null,u.a.createElement("title",null,c),u.a.createElement("meta",{name:"description",content:i})),u.a.createElement($t,{className:Rr.a.header,onClickTitleBar:this.handleClickTitleBar,navigatorOpened:s,loadScratchPapers:this.loadScratchPapers,ignoreHistoryBlock:this.ignoreHistoryBlock}),u.a.createElement(La,{className:Rr.a.workspace,horizontal:!0,weights:a,visibles:t,onChangeWeights:this.handleChangeWorkspaceWeights},u.a.createElement(da,null),u.a.createElement(Tr,{className:Rr.a.visualization_viewer}),u.a.createElement(Ha,{className:Rr.a.editor_tab_container},u.a.createElement(rt,{ref:this.codeEditorRef}))),u.a.createElement(Ua,{className:Rr.a.toast_container}))}}]),t}(R),Mr=Object(f.b)(function(e){return{current:e.current,env:e.env}},Qe)(Lr),Dr=(a(435),Object(p.c)(Object(p.b)(Object(s.a)({},r,{routing:v.routerReducer}))));d.a.render(u.a.createElement(f.a,{store:Dr},u.a.createElement(m.a,null,u.a.createElement(g.c,null,u.a.createElement(g.a,{exact:!0,path:"/scratch-paper/:gistId",component:Mr}),u.a.createElement(g.a,{exact:!0,path:"/:categoryKey/:algorithmKey",component:Mr}),u.a.createElement(g.a,{path:"/",component:Mr})))),document.getElementById("root"))},44:function(e,t,a){e.exports={themeDark:"#242424",themeNormal:"#393939",themeLight:"#505050",colorFont:"#bbbbbb",colorShadow:"rgba(0, 0, 0, 0.2)",colorOverlay:"rgba(255, 255, 255, 0.1)",colorAlert:"#f3bd58",colorSelected:"#2962ff",colorPatched:"#c51162",colorHighlight:"#29d",colorActive:"#00e676",lineHeight:"32px",fontSizeNormal:"12px",fontSizeLarge:"14px",app:"App_app__3BT4Y",workspace:"App_workspace__G_qXx",visualization_viewer:"App_visualization_viewer__3ph_N",toast_container:"App_toast_container__3cY54"}},48:function(e,t,a){e.exports={themeDark:"#242424",themeNormal:"#393939",themeLight:"#505050",colorFont:"#bbbbbb",colorShadow:"rgba(0, 0, 0, 0.2)",colorOverlay:"rgba(255, 255, 255, 0.1)",colorAlert:"#f3bd58",colorSelected:"#2962ff",colorPatched:"#c51162",colorHighlight:"#29d",colorActive:"#00e676",lineHeight:"32px",fontSizeNormal:"12px",fontSizeLarge:"14px",category:"ExpandableListItem_category__29mB1",icon:"ExpandableListItem_icon__3JgeT",expandable_list_item:"ExpandableListItem_expandable_list_item__3xrFI"}},56:function(e,t,a){e.exports={themeDark:"#242424",themeNormal:"#393939",themeLight:"#505050",colorFont:"#bbbbbb",colorShadow:"rgba(0, 0, 0, 0.2)",colorOverlay:"rgba(255, 255, 255, 0.1)",colorAlert:"#f3bd58",colorSelected:"#2962ff",colorPatched:"#c51162",colorHighlight:"#29d",colorActive:"#00e676",lineHeight:"32px",fontSizeNormal:"12px",fontSizeLarge:"14px",progress_bar:"ProgressBar_progress_bar__2
1KomT",active:"ProgressBar_active__eLyY3",label:"ProgressBar_label__T0iH5",current:"ProgressBar_current__2uw7y"}},77:function(e,t,a){e.exports={themeDark:"#242424",themeNormal:"#393939",themeLight:"#505050",colorFont:"#bbbbbb",colorShadow:"rgba(0, 0, 0, 0.2)",colorOverlay:"rgba(255, 255, 255, 0.1)",colorAlert:"#f3bd58",colorSelected:"#2962ff",colorPatched:"#c51162",colorHighlight:"#29d",colorActive:"#00e676",lineHeight:"32px",fontSizeNormal:"12px",fontSizeLarge:"14px",divider:"Divider_divider__3utla",horizontal:"Divider_horizontal__2bcot",vertical:"Divider_vertical__Qkg9i"}},78:function(e,t,a){e.exports={themeDark:"#242424",themeNormal:"#393939",themeLight:"#505050",colorFont:"#bbbbbb",colorShadow:"rgba(0, 0, 0, 0.2)",colorOverlay:"rgba(255, 255, 255, 0.1)",colorAlert:"#f3bd58",colorSelected:"#2962ff",colorPatched:"#c51162",colorHighlight:"#29d",colorActive:"#00e676",lineHeight:"32px",fontSizeNormal:"12px",fontSizeLarge:"14px",list_item:"ListItem_list_item__3OjXj",label:"ListItem_label__g8mSC",indent:"ListItem_indent__38ieJ"}},79:function(e,t,a){e.exports={themeDark:"#242424",themeNormal:"#393939",themeLight:"#505050",colorFont:"#bbbbbb",colorShadow:"rgba(0, 0, 0, 0.2)",colorOverlay:"rgba(255, 255, 255, 0.1)",colorAlert:"#f3bd58",colorSelected:"#2962ff",colorPatched:"#c51162",colorHighlight:"#29d",colorActive:"#00e676",lineHeight:"32px",fontSizeNormal:"12px",fontSizeLarge:"14px",resizable_container:"ResizableContainer_resizable_container__1ojQs",horizontal:"ResizableContainer_horizontal__3iaYA",wrapper:"ResizableContainer_wrapper__2mxJZ"}},80:function(e,t,a){e.exports={themeDark:"#242424",themeNormal:"#393939",themeLight:"#505050",colorFont:"#bbbbbb",colorShadow:"rgba(0, 0, 0, 0.2)",colorOverlay:"rgba(255, 255, 255, 0.1)",colorAlert:"#f3bd58",colorSelected:"#2962ff",colorPatched:"#c51162",colorHighlight:"#29d",colorActive:"#00e676",lineHeight:"32px",fontSizeNormal:"12px",fontSizeLarge:"14px",toast_container:"ToastContainer_toast_container__2ncxN",toast:"ToastContainer_toast__1Bgc5",success:"ToastContainer_success__GvDck",error:"ToastContainer_error__357Qi"}},81:function(e,t,a){e.exports={themeDark:"#242424",themeNormal:"#393939",themeLight:"#505050",colorFont:"#bbbbbb",colorShadow:"rgba(0, 0, 0, 0.2)",colorOverlay:"rgba(255, 255, 255, 0.1)",colorAlert:"#f3bd58",colorSelected:"#2962ff",colorPatched:"#c51162",colorHighlight:"#29d",colorActive:"#00e676",lineHeight:"32px",fontSizeNormal:"12px",fontSizeLarge:"14px"}},84:function(e,t,a){"use strict";a.r(t),t.default="import { createProjectFile, createUserFile } from 'common/util';\n\nconst getName = filePath => filePath.split('/').pop();\nconst getContent = filePath => require('!raw-loader!./' + filePath).default;\nconst readProjectFile = filePath => createProjectFile(getName(filePath), getContent(filePath));\nconst readUserFile = filePath => createUserFile(getName(filePath), getContent(filePath));\n\nexport const CODE_CPP = readUserFile('skeletons/code.cpp');\nexport const CODE_JAVA = readUserFile('skeletons/code.java');\nexport const CODE_JS = readUserFile('skeletons/code.js');\nexport const ROOT_README_MD = readProjectFile('algorithm-visualizer/README.md');\nexport const SCRATCH_PAPER_README_MD = readProjectFile('scratch-paper/README.md');\n"}},[[181,1,2]]]);
2//# sourceMappingURL=main.ef70c668.chunk.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.