Skip to content

Instantly share code, notes, and snippets.

@jiahao
Created March 6, 2015 18:04
Show Gist options
  • Save jiahao/67fd5cccdf431c5674bc to your computer and use it in GitHub Desktop.
Save jiahao/67fd5cccdf431c5674bc to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Warning: Method definition take(Any,Int64) in module Base at iterator.jl:129 overwritten in module Iterators at /Users/jiahao/.julia/v0.4/Iterators/src/Iterators.jl:50.\n"
]
},
{
"data": {
"text/html": [
"<script>!function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=\"function\"==typeof require&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}for(var i=\"function\"==typeof require&&require,o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require){var VNode=require(\"vtree/vnode\"),svg=require(\"virtual-hyperscript/svg\"),VText=require(\"vtree/vtext\"),VPatch=require(\"vtree/vpatch\"),diff=require(\"virtual-dom/diff\"),patch=require(\"virtual-dom/patch\"),createElement=require(\"virtual-dom/create-element\"),nodeIndex=require(\"./node-index\"),patchVNode=require(\"./patch-vnode\"),isArray=require(\"x-is-array\"),isVPatch=require(\"./is-vpatch\"),P=Patchwork={nodes:{},debug:!1,Node:function(id,jlNode){if(el=document.getElementById(id),this.id=id,jlNode){var vnode=P.makeVNode(jlNode);P.log(\"makeVNode: \",jlNode,\"=>\",vnode),this.mount(vnode,el)}P.nodes[id]=this},NAMESPACES:{xhtml:null,svg:\"http://www.w3.org/2000/svg\",\"null\":null,undefined:null},refDiff:function(a,b,p){var a=P.makeVNode(a);b=P.makeVNode(b),p=P.makeVPatches(a,p),console.log(p,diff(a,b))},massageProps:function(props){if(\"attributes\"in props){console.log(\"attributes \",props.attributes);for(var attr in props.attributes)props.attributes.hasOwnProperty(attr)&&null===props.attributes[attr]&&(console.log(\"remove \",attr,props.attributes[attr]),props.attributes[attr]=void 0)}return props},makeVNode:function(jlNode){if(\"txt\"in jlNode)return new VText(jlNode.txt);var children=[],props=P.massageProps(jlNode.p||{});if(jlNode.c)for(var i=0,l=jlNode.c.length;l>i;i++)children[i]=P.makeVNode(jlNode.c[i]);if(\"svg\"===jlNode.n)return svg(jlNode.t,props,children);var key=null;return props&&props.key&&(key=props.key,delete props.key),new VNode(jlNode.t,props,children,key,P.NAMESPACES[jlNode.n])},makeVPatches:function(root,jlPatches){var indices=[],vpatches={a:root};for(var idx in jlPatches)indices.push(Number(idx));nodes=nodeIndex(root,indices);for(var idx in jlPatches)vpatches[idx]=P.makeVPatch(nodes[idx],jlPatches[idx]);return vpatches},makeVPatch:function(vnode,jlPatch){function vpatch(p){return new VPatch(type,vnode,p)}if(isArray(jlPatch)){for(var ps=[],i=0,l=jlPatch.length;l>i;i++)ps[i]=P.makeVPatch(vnode,jlPatch[i]);return ps}var type,patch;for(var k in jlPatch){type=k,patch=jlPatch[k];break}switch(Number(type)){case VPatch.VTEXT:return vpatch(new VText(patch));case VPatch.VNODE:return vpatch(P.makeVNode(patch));case VPatch.PROPS:return patch=P.massageProps(patch),vnode.namespace===P.NAMESPACES.svg&&(patch=svg(\"dummy\",patch,[]).properties),vpatch(patch);case VPatch.ORDER:return vpatch(patch);case VPatch.INSERT:return vpatch(P.makeVNode(patch));case VPatch.REMOVE:return vpatch(null);default:return null}},log:function(){console&&P.debug&&console.log.apply(console,arguments)}};Patchwork.Node.prototype={mount:function(vnode,outer){var el=createElement(vnode);return P.log(\"createElement: \",vnode,\"=>\",el),outer.appendChild(el),this.element=el,this.root=vnode,el},applyPatch:function(vpatches){isVPatch(vpatches)||(vpatches=P.makeVPatches(this.root,vpatches)),this.element=patch(this.element,vpatches),this.root=patchVNode(this.root,vpatches)}},IPython&&jQuery&&$(document).ready(function(){var commMgr=IPython.notebook.kernel.comm_manager;commMgr.register_target(\"PatchStream\",function(comm,msg){var nodeId=msg.content.data.pwid;comm.on_msg(function(msg){var node=P.nodes[nodeId],patches=msg.content.data;node.applyPatch(patches),P.log(\"received patches\",patches)})})}),window.Patchwork=Patchwork},{\"./is-vpatch\":2,\"./node-index\":3,\"./patch-vnode\":57,\"virtual-dom/create-element\":5,\"virtual-dom/diff\":6,\"virtual-dom/patch\":23,\"virtual-hyperscript/svg\":47,\"vtree/vnode\":52,\"vtree/vpatch\":53,\"vtree/vtext\":54,\"x-is-array\":55}],2:[function(require,module){function isVirtualPatch(x){return x&&\"VirtualPatch\"===x.type&&x.version===version}var version=require(\"vtree/version\");module.exports=isVirtualPatch},{\"vtree/version\":51}],3:[function(require,module){function nodeIndex(tree,indices,nodes){return indices&&0!==indices.length?(indices.sort(ascending),recurse(tree,indices,nodes,0)):{}}function recurse(tree,indices,nodes,rootIndex){if(nodes=nodes||{},tree){indexInRange(indices,rootIndex,rootIndex)&&(nodes[rootIndex]=tree);var vChildren=tree.children;if(vChildren)for(var i=0;i<vChildren.length;i++){rootIndex+=1;var vChild=vChildren[i],nextIndex=rootIndex+(vChild.count||0);indexInRange(indices,rootIndex,nextIndex)&&recurse(vChild,indices,nodes,rootIndex),rootIndex=nextIndex}}return nodes}function indexInRange(indices,left,right){if(0===indices.length)return!1;for(var currentIndex,currentItem,minIndex=0,maxIndex=indices.length-1;maxIndex>=minIndex;){if(currentIndex=(maxIndex+minIndex)/2>>0,currentItem=indices[currentIndex],minIndex===maxIndex)return currentItem>=left&&right>=currentItem;if(left>currentItem)minIndex=currentIndex+1;else{if(!(currentItem>right))return!0;maxIndex=currentIndex-1}}return!1}function ascending(a,b){return a>b?1:-1}module.exports=nodeIndex},{}],4:[function(require,module){function isObject(x){return\"object\"==typeof x&&null!==x}module.exports=isObject},{}],5:[function(require,module){var createElement=require(\"vdom/create-element\");module.exports=createElement},{\"vdom/create-element\":8}],6:[function(require,module){var diff=require(\"vtree/diff\");module.exports=diff},{\"vtree/diff\":14}],7:[function(require,module){function applyProperties(node,props,previous){for(var propName in props){var propValue=props[propName];void 0===propValue?removeProperty(node,props,previous,propName):isHook(propValue)?propValue.hook(node,propName,previous?previous[propName]:void 0):isObject(propValue)?patchObject(node,props,previous,propName,propValue):void 0!==propValue&&(node[propName]=propValue)}}function removeProperty(node,props,previous,propName){if(previous){var previousValue=previous[propName];if(!isHook(previousValue))if(\"attributes\"===propName)for(var attrName in previousValue)node.removeAttribute(attrName);else if(\"style\"===propName)for(var i in previousValue)node.style[i]=\"\";else node[propName]=\"string\"==typeof previousValue?\"\":null}}function patchObject(node,props,previous,propName,propValue){var previousValue=previous?previous[propName]:void 0;if(\"attributes\"!==propName){if(previousValue&&isObject(previousValue)&&getPrototype(previousValue)!==getPrototype(propValue))return void(node[propName]=propValue);isObject(node[propName])||(node[propName]={});var replacer=\"style\"===propName?\"\":void 0;for(var k in propValue){var value=propValue[k];node[propName][k]=void 0===value?replacer:value}}else for(var attrName in propValue){var attrValue=propValue[attrName];void 0===attrValue?node.removeAttribute(attrName):node.setAttribute(attrName,attrValue)}}function getPrototype(value){return Object.getPrototypeOf?Object.getPrototypeOf(value):value.__proto__?value.__proto__:value.constructor?value.constructor.prototype:void 0}var isObject=require(\"is-object\"),isHook=require(\"vtree/is-vhook\");module.exports=applyProperties},{\"is-object\":4,\"vtree/is-vhook\":17}],8:[function(require,module){function createElement(vnode,opts){var doc=opts?opts.document||document:document,warn=opts?opts.warn:null;if(vnode=handleThunk(vnode).a,isWidget(vnode))return vnode.init();if(isVText(vnode))return doc.createTextNode(vnode.text);if(!isVNode(vnode))return warn&&warn(\"Item is not a valid virtual dom node\",vnode),null;var node=null===vnode.namespace?doc.createElement(vnode.tagName):doc.createElementNS(vnode.namespace,vnode.tagName),props=vnode.properties;applyProperties(node,props);for(var children=vnode.children,i=0;i<children.length;i++){var childNode=createElement(children[i],opts);childNode&&node.appendChild(childNode)}return node}var document=require(\"global/document\"),applyProperties=require(\"./apply-properties\"),isVNode=require(\"vtree/is-vnode\"),isVText=require(\"vtree/is-vtext\"),isWidget=require(\"vtree/is-widget\"),handleThunk=require(\"vtree/handle-thunk\");module.exports=createElement},{\"./apply-properties\":7,\"global/document\":10,\"vtree/handle-thunk\":15,\"vtree/is-vnode\":18,\"vtree/is-vtext\":19,\"vtree/is-widget\":20}],9:[function(require,module){function domIndex(rootNode,tree,indices,nodes){return indices&&0!==indices.length?(indices.sort(ascending),recurse(rootNode,tree,indices,nodes,0)):{}}function recurse(rootNode,tree,indices,nodes,rootIndex){if(nodes=nodes||{},rootNode){indexInRange(indices,rootIndex,rootIndex)&&(nodes[rootIndex]=rootNode);var vChildren=tree.children;if(vChildren)for(var childNodes=rootNode.childNodes,i=0;i<tree.children.length;i++){rootIndex+=1;var vChild=vChildren[i]||noChild,nextIndex=rootIndex+(vChild.count||0);indexInRange(indices,rootIndex,nextIndex)&&recurse(childNodes[i],vChild,indices,nodes,rootIndex),rootIndex=nextIndex}}return nodes}function indexInRange(indices,left,right){if(0===indices.length)return!1;for(var currentIndex,currentItem,minIndex=0,maxIndex=indices.length-1;maxIndex>=minIndex;){if(currentIndex=(maxIndex+minIndex)/2>>0,currentItem=indices[currentIndex],minIndex===maxIndex)return currentItem>=left&&right>=currentItem;if(left>currentItem)minIndex=currentIndex+1;else{if(!(currentItem>right))return!0;maxIndex=currentIndex-1}}return!1}function ascending(a,b){return a>b?1:-1}var noChild={};module.exports=domIndex},{}],10:[function(require,module){(function(global){var topLevel=\"undefined\"!=typeof global?global:\"undefined\"!=typeof window?window:{},minDoc=require(\"min-document\");if(\"undefined\"!=typeof document)module.exports=document;else{var doccy=topLevel[\"__GLOBAL_DOCUMENT_CACHE@4\"];doccy||(doccy=topLevel[\"__GLOBAL_DOCUMENT_CACHE@4\"]=minDoc),module.exports=doccy}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"min-document\":59}],11:[function(require,module){function applyPatch(vpatch,domNode,renderOptions){var type=vpatch.type,vNode=vpatch.vNode,patch=vpatch.patch;switch(type){case VPatch.REMOVE:return removeNode(domNode,vNode);case VPatch.INSERT:return insertNode(domNode,patch,renderOptions);case VPatch.VTEXT:return stringPatch(domNode,vNode,patch,renderOptions);case VPatch.WIDGET:return widgetPatch(domNode,vNode,patch,renderOptions);case VPatch.VNODE:return vNodePatch(domNode,vNode,patch,renderOptions);case VPatch.ORDER:return reorderChildren(domNode,patch),domNode;case VPatch.PROPS:return applyProperties(domNode,patch,vNode.properties),domNode;case VPatch.THUNK:return replaceRoot(domNode,renderOptions.patch(domNode,patch,renderOptions));default:return domNode}}function removeNode(domNode,vNode){var parentNode=domNode.parentNode;return parentNode&&parentNode.removeChild(domNode),destroyWidget(domNode,vNode),null}function insertNode(parentNode,vNode,renderOptions){var newNode=render(vNode,renderOptions);return parentNode&&parentNode.appendChild(newNode),parentNode}function stringPatch(domNode,leftVNode,vText,renderOptions){var newNode;if(3===domNode.nodeType)domNode.replaceData(0,domNode.length,vText.text),newNode=domNode;else{var parentNode=domNode.parentNode;newNode=render(vText,renderOptions),parentNode&&parentNode.replaceChild(newNode,domNode)}return destroyWidget(domNode,leftVNode),newNode}function widgetPatch(domNode,leftVNode,widget,renderOptions){if(updateWidget(leftVNode,widget))return widget.update(leftVNode,domNode)||domNode;var parentNode=domNode.parentNode,newWidget=render(widget,renderOptions);return parentNode&&parentNode.replaceChild(newWidget,domNode),destroyWidget(domNode,leftVNode),newWidget}function vNodePatch(domNode,leftVNode,vNode,renderOptions){var parentNode=domNode.parentNode,newNode=render(vNode,renderOptions);return parentNode&&parentNode.replaceChild(newNode,domNode),destroyWidget(domNode,leftVNode),newNode}function destroyWidget(domNode,w){\"function\"==typeof w.destroy&&isWidget(w)&&w.destroy(domNode)}function reorderChildren(domNode,bIndex){var i,children=[],childNodes=domNode.childNodes,len=childNodes.length,reverseIndex=bIndex.reverse;for(i=0;len>i;i++)children.push(domNode.childNodes[i]);var move,node,insertNode,insertOffset=0;for(i=0;len>i;i++)move=bIndex[i],void 0!==move&&move!==i&&(reverseIndex[i]>i&&insertOffset++,node=children[move],insertNode=childNodes[i+insertOffset]||null,node!==insertNode&&domNode.insertBefore(node,insertNode),i>move&&insertOffset--),i in bIndex.removes&&insertOffset++}function replaceRoot(oldRoot,newRoot){return oldRoot&&newRoot&&oldRoot!==newRoot&&oldRoot.parentNode&&(console.log(oldRoot),oldRoot.parentNode.replaceChild(newRoot,oldRoot)),newRoot}var applyProperties=require(\"./apply-properties\"),isWidget=require(\"vtree/is-widget\"),VPatch=require(\"vtree/vpatch\"),render=require(\"./create-element\"),updateWidget=require(\"./update-widget\");module.exports=applyPatch},{\"./apply-properties\":7,\"./create-element\":8,\"./update-widget\":13,\"vtree/is-widget\":20,\"vtree/vpatch\":22}],12:[function(require,module){function patch(rootNode,patches){return patchRecursive(rootNode,patches)}function patchRecursive(rootNode,patches,renderOptions){var indices=patchIndices(patches);if(0===indices.length)return rootNode;var index=domIndex(rootNode,patches.a,indices),ownerDocument=rootNode.ownerDocument;renderOptions||(renderOptions={patch:patchRecursive},ownerDocument!==document&&(renderOptions.document=ownerDocument));for(var i=0;i<indices.length;i++){var nodeIndex=indices[i];rootNode=applyPatch(rootNode,index[nodeIndex],patches[nodeIndex],renderOptions)}return rootNode}function applyPatch(rootNode,domNode,patchList,renderOptions){if(!domNode)return rootNode;var newNode;if(isArray(patchList))for(var i=0;i<patchList.length;i++)newNode=patchOp(patchList[i],domNode,renderOptions),domNode===rootNode&&(rootNode=newNode);else newNode=patchOp(patchList,domNode,renderOptions),domNode===rootNode&&(rootNode=newNode);return rootNode}function patchIndices(patches){var indices=[];for(var key in patches)\"a\"!==key&&indices.push(Number(key));return indices}var document=require(\"global/document\"),isArray=require(\"x-is-array\"),domIndex=require(\"./dom-index\"),patchOp=require(\"./patch-op\");module.exports=patch},{\"./dom-index\":9,\"./patch-op\":11,\"global/document\":10,\"x-is-array\":55}],13:[function(require,module){function updateWidget(a,b){return isWidget(a)&&isWidget(b)?\"name\"in a&&\"name\"in b?a.id===b.id:a.init===b.init:!1}var isWidget=require(\"vtree/is-widget\");module.exports=updateWidget},{\"vtree/is-widget\":20}],14:[function(require,module){function diff(a,b){var patch={a:a};return walk(a,b,patch,0),patch}function walk(a,b,patch,index){if(a===b)return void(isThunk(a)||isThunk(b)?thunks(a,b,patch,index):hooks(b,patch,index));var apply=patch[index];if(null==b)apply=appendPatch(apply,new VPatch(VPatch.REMOVE,a,b)),destroyWidgets(a,patch,index);else if(isThunk(a)||isThunk(b))thunks(a,b,patch,index);else if(isVNode(b))if(isVNode(a))if(a.tagName===b.tagName&&a.namespace===b.namespace&&a.key===b.key){var propsPatch=diffProps(a.properties,b.properties,b.hooks);propsPatch&&(apply=appendPatch(apply,new VPatch(VPatch.PROPS,a,propsPatch))),apply=diffChildren(a,b,patch,apply,index)}else apply=appendPatch(apply,new VPatch(VPatch.VNODE,a,b)),destroyWidgets(a,patch,index);else apply=appendPatch(apply,new VPatch(VPatch.VNODE,a,b)),destroyWidgets(a,patch,index);else isVText(b)?isVText(a)?a.text!==b.text&&(apply=appendPatch(apply,new VPatch(VPatch.VTEXT,a,b))):(apply=appendPatch(apply,new VPatch(VPatch.VTEXT,a,b)),destroyWidgets(a,patch,index)):isWidget(b)&&(apply=appendPatch(apply,new VPatch(VPatch.WIDGET,a,b)),isWidget(a)||destroyWidgets(a,patch,index));apply&&(patch[index]=apply)}function diffProps(a,b,hooks){var diff;for(var aKey in a){aKey in b||(diff=diff||{},diff[aKey]=void 0);var aValue=a[aKey],bValue=b[aKey];if(hooks&&aKey in hooks)diff=diff||{},diff[aKey]=bValue;else if(isObject(aValue)&&isObject(bValue))if(getPrototype(bValue)!==getPrototype(aValue))diff=diff||{},diff[aKey]=bValue;else{var objectDiff=diffProps(aValue,bValue);objectDiff&&(diff=diff||{},diff[aKey]=objectDiff)}else aValue!==bValue&&(diff=diff||{},diff[aKey]=bValue)}for(var bKey in b)bKey in a||(diff=diff||{},diff[bKey]=b[bKey]);return diff}function getPrototype(value){return Object.getPrototypeOf?Object.getPrototypeOf(value):value.__proto__?value.__proto__:value.constructor?value.constructor.prototype:void 0}function diffChildren(a,b,patch,apply,index){for(var aChildren=a.children,bChildren=reorder(aChildren,b.children),aLen=aChildren.length,bLen=bChildren.length,len=aLen>bLen?aLen:bLen,i=0;len>i;i++){var leftNode=aChildren[i],rightNode=bChildren[i];index+=1,leftNode?rightNode?walk(leftNode,rightNode,patch,index):leftNode&&(patch[index]=new VPatch(VPatch.REMOVE,leftNode,null),destroyWidgets(leftNode,patch,index)):rightNode&&(apply=appendPatch(apply,new VPatch(VPatch.INSERT,null,rightNode))),isVNode(leftNode)&&leftNode.count&&(index+=leftNode.count)}return bChildren.moves&&(apply=appendPatch(apply,new VPatch(VPatch.ORDER,a,bChildren.moves))),apply}function destroyWidgets(vNode,patch,index){if(isWidget(vNode))\"function\"==typeof vNode.destroy&&(patch[index]=new VPatch(VPatch.REMOVE,vNode,null));else if(isVNode(vNode)&&vNode.hasWidgets)for(var children=vNode.children,len=children.length,i=0;len>i;i++){var child=children[i];index+=1,destroyWidgets(child,patch,index),isVNode(child)&&child.count&&(index+=child.count)}}function thunks(a,b,patch,index){var nodes=handleThunk(a,b),thunkPatch=diff(nodes.a,nodes.b);hasPatches(thunkPatch)&&(patch[index]=new VPatch(VPatch.THUNK,null,thunkPatch))}function hasPatches(patch){for(var index in patch)if(\"a\"!==index)return!0;return!1}function hooks(vNode,patch,index){if(isVNode(vNode)&&(vNode.hooks&&(patch[index]=new VPatch(VPatch.PROPS,vNode.hooks,vNode.hooks)),vNode.descendantHooks))for(var children=vNode.children,len=children.length,i=0;len>i;i++){var child=children[i];index+=1,hooks(child,patch,index),isVNode(child)&&child.count&&(index+=child.count)}}function reorder(aChildren,bChildren){var bKeys=keyIndex(bChildren);if(!bKeys)return bChildren;var aKeys=keyIndex(aChildren);if(!aKeys)return bChildren;var bMatch={},aMatch={};for(var key in bKeys)bMatch[bKeys[key]]=aKeys[key];for(var key in aKeys)aMatch[aKeys[key]]=bKeys[key];for(var aLen=aChildren.length,bLen=bChildren.length,len=aLen>bLen?aLen:bLen,shuffle=[],freeIndex=0,i=0,moveIndex=0,moves={},removes=moves.removes={},reverse=moves.reverse={},hasMoves=!1;len>freeIndex;){var move=aMatch[i];if(void 0!==move)shuffle[i]=bChildren[move],move!==moveIndex&&(moves[move]=moveIndex,reverse[moveIndex]=move,hasMoves=!0),moveIndex++;else if(i in aMatch)shuffle[i]=void 0,removes[i]=moveIndex++,hasMoves=!0;else{for(;void 0!==bMatch[freeIndex];)freeIndex++;if(len>freeIndex){var freeChild=bChildren[freeIndex];freeChild&&(shuffle[i]=freeChild,freeIndex!==moveIndex&&(hasMoves=!0,moves[freeIndex]=moveIndex,reverse[moveIndex]=freeIndex),moveIndex++),freeIndex++}}i++}return hasMoves&&(shuffle.moves=moves),shuffle}function keyIndex(children){var i,keys;for(i=0;i<children.length;i++){var child=children[i];void 0!==child.key&&(keys=keys||{},keys[child.key]=i)}return keys}function appendPatch(apply,patch){return apply?(isArray(apply)?apply.push(patch):apply=[apply,patch],apply):patch}var isArray=require(\"x-is-array\"),isObject=require(\"is-object\"),VPatch=require(\"./vpatch\"),isVNode=require(\"./is-vnode\"),isVText=require(\"./is-vtext\"),isWidget=require(\"./is-widget\"),isThunk=require(\"./is-thunk\"),handleThunk=require(\"./handle-thunk\");module.exports=diff},{\"./handle-thunk\":15,\"./is-thunk\":16,\"./is-vnode\":18,\"./is-vtext\":19,\"./is-widget\":20,\"./vpatch\":22,\"is-object\":4,\"x-is-array\":55}],15:[function(require,module){function handleThunk(a,b){var renderedA=a,renderedB=b;return isThunk(b)&&(renderedB=renderThunk(b,a)),isThunk(a)&&(renderedA=renderThunk(a,null)),{a:renderedA,b:renderedB}}function renderThunk(thunk,previous){var renderedThunk=thunk.vnode;if(renderedThunk||(renderedThunk=thunk.vnode=thunk.render(previous)),!(isVNode(renderedThunk)||isVText(renderedThunk)||isWidget(renderedThunk)))throw new Error(\"thunk did not return a valid node\");return renderedThunk}var isVNode=require(\"./is-vnode\"),isVText=require(\"./is-vtext\"),isWidget=require(\"./is-widget\"),isThunk=require(\"./is-thunk\");module.exports=handleThunk},{\"./is-thunk\":16,\"./is-vnode\":18,\"./is-vtext\":19,\"./is-widget\":20}],16:[function(require,module){function isThunk(t){return t&&\"Thunk\"===t.type}module.exports=isThunk},{}],17:[function(require,module){function isHook(hook){return hook&&\"function\"==typeof hook.hook&&!hook.hasOwnProperty(\"hook\")}module.exports=isHook},{}],18:[function(require,module){function isVirtualNode(x){return x&&\"VirtualNode\"===x.type&&x.version===version}var version=require(\"./version\");module.exports=isVirtualNode},{\"./version\":21}],19:[function(require,module){function isVirtualText(x){return x&&\"VirtualText\"===x.type&&x.version===version}var version=require(\"./version\");module.exports=isVirtualText},{\"./version\":21}],20:[function(require,module){function isWidget(w){return w&&\"Widget\"===w.type}module.exports=isWidget},{}],21:[function(require,module){module.exports=\"1\"},{}],22:[function(require,module){function VirtualPatch(type,vNode,patch){this.type=Number(type),this.vNode=vNode,this.patch=patch}var version=require(\"./version\");VirtualPatch.NONE=0,VirtualPatch.VTEXT=1,VirtualPatch.VNODE=2,VirtualPatch.WIDGET=3,VirtualPatch.PROPS=4,VirtualPatch.ORDER=5,VirtualPatch.INSERT=6,VirtualPatch.REMOVE=7,VirtualPatch.THUNK=8,module.exports=VirtualPatch,VirtualPatch.prototype.version=version,VirtualPatch.prototype.type=\"VirtualPatch\"},{\"./version\":21}],23:[function(require,module){var patch=require(\"vdom/patch\");module.exports=patch},{\"vdom/patch\":12}],24:[function(require,module){function AttributeHook(value){return this instanceof AttributeHook?void(this.value=value):new AttributeHook(value)}module.exports=AttributeHook,AttributeHook.prototype.hook=function(node,prop,prev){prev&&prev.value===this.value||node.setAttributeNS(null,prop,this.value)}},{}],25:[function(require,module){function DataSetHook(value){return this instanceof DataSetHook?void(this.value=value):new DataSetHook(value)}var DataSet=require(\"data-set\");module.exports=DataSetHook,DataSetHook.prototype.hook=function(node,propertyName){var ds=DataSet(node),propName=propertyName.substr(5);ds[propName]=this.value}},{\"data-set\":30}],26:[function(require,module){function DataSetHook(value){return this instanceof DataSetHook?void(this.value=value):new DataSetHook(value)}var DataSet=require(\"data-set\");module.exports=DataSetHook,DataSetHook.prototype.hook=function(node,propertyName){var ds=DataSet(node),propName=propertyName.substr(3);ds[propName]=this.value}},{\"data-set\":30}],27:[function(require,module){function SoftSetHook(value){return this instanceof SoftSetHook?void(this.value=value):new SoftSetHook(value)}module.exports=SoftSetHook,SoftSetHook.prototype.hook=function(node,propertyName){node[propertyName]!==this.value&&(node[propertyName]=this.value)}},{}],28:[function(require,module){function h(tagName,properties,children){var tag,props,key,namespace,childNodes=[];!children&&isChildren(properties)&&(children=properties,props={}),props=props||properties||{},tag=parseTag(tagName,props),\"key\"in props&&(key=props.key,props.key=void 0),\"namespace\"in props&&(namespace=props.namespace,props.namespace=void 0),\"input\"===tag&&\"value\"in props&&void 0!==props.value&&!isHook(props.value)&&(props.value=softSetHook(props.value));for(var propName,value,keys=Object.keys(props),j=0;j<keys.length;j++)propName=keys[j],value=props[propName],isHook(value)||(\"data-\"===propName.substr(0,5)&&(props[propName]=dataSetHook(value)),\"ev-\"===propName.substr(0,3)&&(props[propName]=evHook(value)));void 0!==children&&null!==children&&addChild(children,childNodes,tag,props);var node=new VNode(tag,props,childNodes,key,namespace);return node}function addChild(c,childNodes,tag,props){if(\"string\"==typeof c)childNodes.push(new VText(c));else if(isChild(c))childNodes.push(c);else{if(!Array.isArray(c)){if(null===c||void 0===c)return;throw UnexpectedVirtualElement({foreignObjectStr:JSON.stringify(c),foreignObject:c,parentVnodeStr:JSON.stringify({tagName:tag,properties:props}),parentVnode:{tagName:tag,properties:props}})}for(var i=0;i<c.length;i++)addChild(c[i],childNodes,tag,props)}}function isChild(x){return isVNode(x)||isVText(x)||isWidget(x)||isVThunk(x)}function isChildren(x){return\"string\"==typeof x||Array.isArray(x)||isChild(x)}var VNode=require(\"vtree/vnode.js\"),VText=require(\"vtree/vtext.js\"),isVNode=require(\"vtree/is-vnode\"),isVText=require(\"vtree/is-vtext\"),isWidget=require(\"vtree/is-widget\"),isHook=require(\"vtree/is-vhook\"),isVThunk=require(\"vtree/is-thunk\"),TypedError=require(\"error/typed\"),parseTag=require(\"./parse-tag.js\"),softSetHook=require(\"./hooks/soft-set-hook.js\"),dataSetHook=require(\"./hooks/data-set-hook.js\"),evHook=require(\"./hooks/ev-hook.js\"),UnexpectedVirtualElement=TypedError({type:\"virtual-hyperscript.unexpected.virtual-element\",message:\"Unexpected virtual child passed to h().\\nExpected a VNode / Vthunk / VWidget / string but:\\ngot a {foreignObjectStr}.\\nThe parent vnode is {parentVnodeStr}.\\nSuggested fix: change your `h(..., [ ... ])` callsite.\",foreignObjectStr:null,parentVnodeStr:null,foreignObject:null,parentVnode:null});module.exports=h},{\"./hooks/data-set-hook.js\":25,\"./hooks/ev-hook.js\":26,\"./hooks/soft-set-hook.js\":27,\"./parse-tag.js\":46,\"error/typed\":37,\"vtree/is-thunk\":38,\"vtree/is-vhook\":39,\"vtree/is-vnode\":40,\"vtree/is-vtext\":41,\"vtree/is-widget\":42,\"vtree/vnode.js\":44,\"vtree/vtext.js\":45}],29:[function(require,module){function createHash(elem){var attributes=elem.attributes,hash={};if(null===attributes||void 0===attributes)return hash;for(var i=0;i<attributes.length;i++){var attr=attributes[i];\"data-\"===attr.name.substr(0,5)&&(hash[attr.name.substr(5)]=attr.value)}return hash}module.exports=createHash},{}],30:[function(require,module){function DataSet(elem){var store=hashStore(elem);return store.hash||(store.hash=createHash(elem)),store.hash}var createStore=require(\"weakmap-shim/create-store\"),Individual=require(\"individual\"),createHash=require(\"./create-hash.js\"),hashStore=Individual(\"__DATA_SET_WEAKMAP@3\",createStore());module.exports=DataSet},{\"./create-hash.js\":29,individual:31,\"weakmap-shim/create-store\":32}],31:[function(require,module){(function(global){function Individual(key,value){return root[key]?root[key]:(Object.defineProperty(root,key,{value:value,configurable:!0}),value)}var root=\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:{};module.exports=Individual}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],32:[function(require,module){function createStore(){var key={};return function(obj){if(\"object\"!=typeof obj||null===obj)throw new Error(\"Weakmap-shim: Key must be object\");var store=obj.valueOf(key);return store&&store.identity===key?store:hiddenStore(obj,key)}}var hiddenStore=require(\"./hidden-store.js\");module.exports=createStore},{\"./hidden-store.js\":33}],33:[function(require,module){function hiddenStore(obj,key){var store={identity:key},valueOf=obj.valueOf;return Object.defineProperty(obj,\"valueOf\",{value:function(value){return value!==key?valueOf.apply(this,arguments):store},writable:!0}),store}module.exports=hiddenStore},{}],34:[function(require,module){function walk(obj){return obj&&\"object\"==typeof obj?isDate(obj)||isRegex(obj)?obj:isArray(obj)?map(obj,walk):reduce(objectKeys(obj),function(acc,key){var camel=camelCase(key);return acc[camel]=walk(obj[key]),acc},{}):obj}function camelCase(str){return str.replace(/[_.-](\\w|$)/g,function(_,x){return x.toUpperCase()})}function map(xs,f){if(xs.map)return xs.map(f);for(var res=[],i=0;i<xs.length;i++)res.push(f(xs[i],i));return res}function reduce(xs,f,acc){if(xs.reduce)return xs.reduce(f,acc);for(var i=0;i<xs.length;i++)acc=f(acc,xs[i],i);return acc}module.exports=function(obj){return\"string\"==typeof obj?camelCase(obj):walk(obj)};var isArray=Array.isArray||function(obj){return\"[object Array]\"===Object.prototype.toString.call(obj)},isDate=function(obj){return\"[object Date]\"===Object.prototype.toString.call(obj)},isRegex=function(obj){return\"[object RegExp]\"===Object.prototype.toString.call(obj)},has=Object.prototype.hasOwnProperty,objectKeys=Object.keys||function(obj){var keys=[];for(var key in obj)has.call(obj,key)&&keys.push(key);return keys}},{}],35:[function(require,module){function template(string){var args;return args=2===arguments.length&&\"object\"==typeof arguments[1]?arguments[1]:slice.call(arguments,1),args&&args.hasOwnProperty||(args={}),string.replace(nargs,function(match,i,index){var result;return\"{\"===string[index-1]&&\"}\"===string[index+match.length]?i:(result=args.hasOwnProperty(i)?args[i]:null,null===result||void 0===result?\"\":result)})}var nargs=/\\{([0-9a-zA-Z]+)\\}/g,slice=Array.prototype.slice;module.exports=template},{}],36:[function(require,module){function extend(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)source.hasOwnProperty(key)&&(target[key]=source[key])}return target}module.exports=extend},{}],37:[function(require,module){function TypedError(args){function createError(opts){var result=new Error;Object.defineProperty(result,\"type\",{value:result.type,enumerable:!0,writable:!0,configurable:!0});var options=extend({},args,opts);return extend(result,options),result.message=template(message,options),result}if(!args)throw new Error(\"args is required\");if(!args.type)throw new Error(\"args.type is required\");if(!args.message)throw new Error(\"args.message is required\");var message=args.message;if(args.type&&!args.name){var errorName=camelize(args.type)+\"Error\";args.name=errorName[0].toUpperCase()+errorName.substr(1)}return createError.type=args.type,createError._name=args.name,createError}var camelize=require(\"camelize\"),template=require(\"string-template\"),extend=require(\"xtend/mutable\");module.exports=TypedError},{camelize:34,\"string-template\":35,\"xtend/mutable\":36}],38:[function(require,module){module.exports=require(16)},{\"/home/shashi/.julia/v0.3/Patchwork/runtime/node_modules/virtual-dom/node_modules/vtree/is-thunk.js\":16}],39:[function(require,module){module.exports=require(17)},{\"/home/shashi/.julia/v0.3/Patchwork/runtime/node_modules/virtual-dom/node_modules/vtree/is-vhook.js\":17}],40:[function(require,module){module.exports=require(18)},{\"./version\":43,\"/home/shashi/.julia/v0.3/Patchwork/runtime/node_modules/virtual-dom/node_modules/vtree/is-vnode.js\":18}],41:[function(require,module){module.exports=require(19)},{\"./version\":43,\"/home/shashi/.julia/v0.3/Patchwork/runtime/node_modules/virtual-dom/node_modules/vtree/is-vtext.js\":19}],42:[function(require,module){module.exports=require(20)},{\"/home/shashi/.julia/v0.3/Patchwork/runtime/node_modules/virtual-dom/node_modules/vtree/is-widget.js\":20}],43:[function(require,module){module.exports=require(21)},{\"/home/shashi/.julia/v0.3/Patchwork/runtime/node_modules/virtual-dom/node_modules/vtree/version.js\":21}],44:[function(require,module){function VirtualNode(tagName,properties,children,key,namespace){this.tagName=tagName,this.properties=properties||noProperties,this.children=children||noChildren,this.key=null!=key?String(key):void 0,this.namespace=\"string\"==typeof namespace?namespace:null;var hooks,count=children&&children.length||0,descendants=0,hasWidgets=!1,descendantHooks=!1;for(var propName in properties)if(properties.hasOwnProperty(propName)){var property=properties[propName];isVHook(property)&&(hooks||(hooks={}),hooks[propName]=property)}for(var i=0;count>i;i++){var child=children[i];isVNode(child)?(descendants+=child.count||0,!hasWidgets&&child.hasWidgets&&(hasWidgets=!0),descendantHooks||!child.hooks&&!child.descendantHooks||(descendantHooks=!0)):!hasWidgets&&isWidget(child)&&\"function\"==typeof child.destroy&&(hasWidgets=!0)}this.count=count+descendants,this.hasWidgets=hasWidgets,this.hooks=hooks,this.descendantHooks=descendantHooks\n",
"}var version=require(\"./version\"),isVNode=require(\"./is-vnode\"),isWidget=require(\"./is-widget\"),isVHook=require(\"./is-vhook\");module.exports=VirtualNode;var noProperties={},noChildren=[];VirtualNode.prototype.version=version,VirtualNode.prototype.type=\"VirtualNode\"},{\"./is-vhook\":39,\"./is-vnode\":40,\"./is-widget\":42,\"./version\":43}],45:[function(require,module){function VirtualText(text){this.text=String(text)}var version=require(\"./version\");module.exports=VirtualText,VirtualText.prototype.version=version,VirtualText.prototype.type=\"VirtualText\"},{\"./version\":43}],46:[function(require,module){function parseTag(tag,props){if(!tag)return\"div\";var noId=!(\"id\"in props),tagParts=tag.split(classIdSplit),tagName=null;notClassId.test(tagParts[1])&&(tagName=\"div\");var classes,part,type,i;for(i=0;i<tagParts.length;i++)part=tagParts[i],part&&(type=part.charAt(0),tagName?\".\"===type?(classes=classes||[],classes.push(part.substring(1,part.length))):\"#\"===type&&noId&&(props.id=part.substring(1,part.length)):tagName=part);return classes&&(props.className&&classes.push(props.className),props.className=classes.join(\" \")),tagName?tagName.toLowerCase():\"div\"}var classIdSplit=/([\\.#]?[a-zA-Z0-9_:-]+)/,notClassId=/^\\.|#/;module.exports=parseTag},{}],47:[function(require,module){function svg(tagName,properties,children){!children&&isChildren(properties)&&(children=properties,properties={}),properties=properties||{},properties.namespace=SVG_NAMESPACE;for(var key in properties)if(properties.hasOwnProperty(key)&&!BLACKLISTED_KEYS[key]){var value=properties[key];(\"string\"==typeof value||\"number\"==typeof value||\"boolean\"==typeof value)&&(properties[key]=attributeHook(value))}return h(tagName,properties,children)}function isChildren(x){return\"string\"==typeof x||Array.isArray(x)}var attributeHook=require(\"./hooks/attribute-hook.js\"),h=require(\"./index.js\"),BLACKLISTED_KEYS={style:!0,namespace:!0,key:!0},SVG_NAMESPACE=\"http://www.w3.org/2000/svg\";module.exports=svg},{\"./hooks/attribute-hook.js\":24,\"./index.js\":28}],48:[function(require,module){module.exports=require(17)},{\"/home/shashi/.julia/v0.3/Patchwork/runtime/node_modules/virtual-dom/node_modules/vtree/is-vhook.js\":17}],49:[function(require,module){module.exports=require(18)},{\"./version\":51,\"/home/shashi/.julia/v0.3/Patchwork/runtime/node_modules/virtual-dom/node_modules/vtree/is-vnode.js\":18}],50:[function(require,module){module.exports=require(20)},{\"/home/shashi/.julia/v0.3/Patchwork/runtime/node_modules/virtual-dom/node_modules/vtree/is-widget.js\":20}],51:[function(require,module){module.exports=require(21)},{\"/home/shashi/.julia/v0.3/Patchwork/runtime/node_modules/virtual-dom/node_modules/vtree/version.js\":21}],52:[function(require,module){module.exports=require(44)},{\"./is-vhook\":48,\"./is-vnode\":49,\"./is-widget\":50,\"./version\":51,\"/home/shashi/.julia/v0.3/Patchwork/runtime/node_modules/virtual-hyperscript/node_modules/vtree/vnode.js\":44}],53:[function(require,module){module.exports=require(22)},{\"./version\":51,\"/home/shashi/.julia/v0.3/Patchwork/runtime/node_modules/virtual-dom/node_modules/vtree/vpatch.js\":22}],54:[function(require,module){module.exports=require(45)},{\"./version\":51,\"/home/shashi/.julia/v0.3/Patchwork/runtime/node_modules/virtual-hyperscript/node_modules/vtree/vtext.js\":45}],55:[function(require,module){function isArray(obj){return\"[object Array]\"===toString.call(obj)}var nativeIsArray=Array.isArray,toString=Object.prototype.toString;module.exports=nativeIsArray||isArray},{}],56:[function(require,module){function reorder(array,moves){if(arr){for(var copy=array.slice(0),i=0,l=array.length;l>i;i++){var move=moves[i];void 0!==move&&(array[move]=copy[i])}return array}}function patchObject(obj,patch){for(var key in patch)obj[key]=isObject(patch[key])&&isObject(obj[key])?patchObject(obj[key],patch[key]):patch[key]}isObject=require(\"is-object\"),module.exports={reorder:reorder,patchObject:patchObject}},{\"is-object\":4}],57:[function(require,module){function patchVNode(root,patches){linkParents(root);for(var key in patches)if(\"a\"!==key)if(patch=patches[key],isArray(patch))for(var i=0,l=patch.length;l>i;i++)mutateNode(patch[i].type,patch[i].vNode,patch[i].patch);else mutateNode(patch.type,patch.vNode,patch.patch);return root}function linkParents(vNode){if(vNode&&vNode.children)for(var children=vNode.children,i=0,l=children.length;l>i;i++)children[i].up=vNode,linkParents(children[i])}var mutateNode=require(\"./vnode-patch-op\"),isArray=require(\"x-is-array\");module.exports=patchVNode},{\"./vnode-patch-op\":58,\"x-is-array\":55}],58:[function(require,module){function applyPatch(type,vNode,patch){switch(type){case VPatch.REMOVE:return removeNode(vNode);case VPatch.INSERT:return insertNode(vNode,patch);case VPatch.VTEXT:return stringPatch(vNode,patch);case VPatch.VNODE:return vNodePatch(vNode,patch);case VPatch.ORDER:return patchUtil.reorder(vNode.children,patch),vNode;case VPatch.PROPS:return patchUtil.patchObject(vNode.properties,patch),vNode;default:return vNode}}function offsetCount(node,count){node&&(void 0!==node.count?(node.count=node.count+count,offsetCount(node.up,count)):node.count=count)}function removeNode(node){if(node){var up=(node.count,node.up),idx=up.children.indexOf(node);return idx>-1&&(up.children.splice(idx,1),offsetCount(up,-node.count-1)),delete node,null}}function insertNode(node,child){return node.children.push(child),offsetCount(node,child.count+1),child.up=node,node}function stringPatch(node,patch){return node.text=patch.text,node}function vNodePatch(node,patch){var up=node.up,idx=up.children.indexOf(node),count=patch.count||0;return idx>-1&&(up.children[idx]=patch,node.count!=count&&offsetCount(up,count-node.count)),node}var VPatch=(require(\"vtree/is-widget\"),require(\"vtree/vpatch\")),patchUtil=require(\"./patch-util.js\");module.exports=applyPatch},{\"./patch-util.js\":56,\"vtree/is-widget\":50,\"vtree/vpatch\":53}],59:[function(){},{}]},{},[1]);</script>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": [
"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"
],
"text/plain": [
"Compose.Image{Compose.PNGBackend}(IOBuffer(data=UInt8[...], readable=true, writable=true, seekable=true, append=false, size=3394, maxsize=Inf, ptr=3395, mark=-1),Cairo.CairoSurface(Ptr{Void} @0x0000000000000000,400.0,400.0,#undef),Cairo.CairoContext(Ptr{Void} @0x0000000000000000,Cairo.CairoSurface(Ptr{Void} @0x0000000000000000,400.0,400.0,#undef),Ptr{Void} @0x00007fc5cb7d80d0),399.950006249219,399.950006249219,Color.AlphaColorValue{Color.RGB{Float64},Float64}(Color.RGB{Float64}(0.0,0.0,0.0),0.0),Color.AlphaColorValue{Color.RGB{Float64},Float64}(Color.RGB{Float64}(0.0,0.0,0.0),1.0),Float64[],Compose.LineCapButt(),Compose.LineJoinMiter(),true,Compose.ImagePropertyState[],Compose.ImagePropertyFrame[],Dict{Type{T},Union(Compose.Property{P<:Compose.PropertyPrimitive},Void)}(),true,false,nothing,true,true,3.7795275590551185)"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": [
"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u2hvbfyYpL+0nAwAkDxOOvO8uendjw0Ut0/wfuPXvrDhAkXRNkmZidwPAJB4Re+ji7v7Bn8w3juMOyArmnInuLR2SDrRNA0AkGhO2jUS+fnrthR2jef247oG0jZfadXpX0U8AKBmeen16VjfbJuv9HhuP66ApI/Pfd45XTi5aQCA5HPvqnttblzf5fSqT2GtWJi7xEXaNJ7bAgBqgpf8ZV29hU3HutExo7C8tXFOSv4n8jqhtNsAAAm3py7Wmbduze8+2g2O9RSWS8X+DuIBAFPSnGKkf9YxHmgc9X0gHc2NK+V0Q1lmAQASz0lvOW9u+n+O9v6QI5Zl5cLGP4ojv11SQ1nXAQCSruBcNL+zZ/A/D//FK57CWrlY9XHkvybiAQCQsrGPv7Zq2SvfQP6KgPhi7u8kzavILABA4jnprD0v5P7mCD//Py9/v8eWw38OAJjyYkmtXb35rQd/8IdQtDVNn5VOxz8R7zYHABzZM5kodebqLS89Jx3yFFYmHX9RxAMAcHQnjcRj/3TwH06SOlqzi713x3zHIQAAkiTnl3b1FDa6G1uVG/a5n0l6c+hNAICq8BtfzP5x6uxTs/8ouUWh1wAAqsaMKCo2uPaW3JiMX20LAJiyxiIRDwDAxKWIBwDAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAhIAAAEwICADAJJI0FnoEAKDqjEVe6gy9AgBQXbzT6mh0Wv5myQ2EHgMAqBpPaST7mWjdBhV87NtDrwEAVAcv/Xn3tmeHIknq3pp/UF73hB4FAEi8u7p78z3SIa/CiuvrVkr6bbBJAICk+10mSv3FwX/8ISBrH3jx+VjuQ5LiILMAAEkWO+euWb3lpecO/iB16G+3D4z85tzTMtOd9M7KbwMAJNhnu3rztx/6g1e8kXB0X/5mSf0V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"
],
"text/plain": [
"Compose.Image{Compose.PNGBackend}(IOBuffer(data=UInt8[...], readable=true, writable=true, seekable=true, append=false, size=5610, maxsize=Inf, ptr=5611, mark=-1),Cairo.CairoSurface(Ptr{Void} @0x0000000000000000,400.0,400.0,#undef),Cairo.CairoContext(Ptr{Void} @0x0000000000000000,Cairo.CairoSurface(Ptr{Void} @0x0000000000000000,400.0,400.0,#undef),Ptr{Void} @0x00007fc5cb7d8180),399.950006249219,399.950006249219,Color.AlphaColorValue{Color.RGB{Float64},Float64}(Color.RGB{Float64}(0.0,0.0,0.0),0.0),Color.AlphaColorValue{Color.RGB{Float64},Float64}(Color.RGB{Float64}(0.0,0.0,0.0),1.0),Float64[],Compose.LineCapButt(),Compose.LineJoinMiter(),true,Compose.ImagePropertyState[],Compose.ImagePropertyFrame[],Dict{Type{T},Union(Compose.Property{P<:Compose.PropertyPrimitive},Void)}(),true,false,nothing,true,true,3.7795275590551185)"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": [
"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"
],
"text/plain": [
"Compose.Image{Compose.PNGBackend}(IOBuffer(data=UInt8[...], readable=true, writable=true, seekable=true, append=false, size=2113, maxsize=Inf, ptr=2114, mark=-1),Cairo.CairoSurface(Ptr{Void} @0x0000000000000000,400.0,400.0,#undef),Cairo.CairoContext(Ptr{Void} @0x0000000000000000,Cairo.CairoSurface(Ptr{Void} @0x0000000000000000,400.0,400.0,#undef),Ptr{Void} @0x00007fc5cb7d8230),399.950006249219,399.950006249219,Color.AlphaColorValue{Color.RGB{Float64},Float64}(Color.RGB{Float64}(0.0,0.0,0.0),0.0),Color.AlphaColorValue{Color.RGB{Float64},Float64}(Color.RGB{Float64}(0.0,0.0,0.0),1.0),Float64[],Compose.LineCapButt(),Compose.LineJoinMiter(),true,Compose.ImagePropertyState[],Compose.ImagePropertyFrame[],Dict{Type{T},Union(Compose.Property{P<:Compose.PropertyPrimitive},Void)}(),true,false,nothing,true,true,3.7795275590551185)"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"using Color\n",
"using Compose\n",
"for i=1:3\n",
" draw(PNG(400px, 400px), compose(context(), circle(0.5, 0.5, 100rand()), fill(RGB(rand(3)...))))\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Julia 0.4.0-dev",
"language": "julia",
"name": "julia 0.4"
},
"language_info": {
"name": "julia",
"version": "0.4.0"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment