react 0.7.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -231
- package/addons.js +1 -0
- package/lib/AutoFocusMixin.js +30 -0
- package/lib/CSSCore.js +115 -0
- package/lib/CSSProperty.js +121 -0
- package/lib/CSSPropertyOperations.js +97 -0
- package/lib/ChangeEventPlugin.js +387 -0
- package/lib/ClientReactRootIndex.js +30 -0
- package/lib/CompositionEventPlugin.js +260 -0
- package/lib/DOMChildrenOperations.js +165 -0
- package/lib/DOMProperty.js +268 -0
- package/lib/DOMPropertyOperations.js +181 -0
- package/lib/Danger.js +187 -0
- package/lib/DefaultDOMPropertyConfig.js +203 -0
- package/lib/DefaultEventPluginOrder.js +44 -0
- package/lib/EnterLeaveEventPlugin.js +145 -0
- package/lib/EventConstants.js +76 -0
- package/lib/EventListener.js +69 -0
- package/lib/EventPluginHub.js +293 -0
- package/lib/EventPluginRegistry.js +281 -0
- package/lib/EventPluginUtils.js +214 -0
- package/lib/EventPropagators.js +143 -0
- package/lib/ExecutionEnvironment.js +44 -0
- package/lib/LinkedStateMixin.js +46 -0
- package/lib/LinkedValueUtils.js +161 -0
- package/lib/MobileSafariClickEventPlugin.js +63 -0
- package/lib/PooledClass.js +119 -0
- package/lib/React.js +95 -0
- package/lib/ReactCSSTransitionGroup.js +65 -0
- package/lib/ReactCSSTransitionGroupChild.js +138 -0
- package/lib/ReactChildren.js +132 -0
- package/lib/ReactComponent.js +550 -0
- package/lib/ReactComponentBrowserEnvironment.js +158 -0
- package/lib/ReactComponentEnvironment.js +26 -0
- package/lib/ReactCompositeComponent.js +1455 -0
- package/lib/ReactContext.js +67 -0
- package/lib/ReactCurrentOwner.js +39 -0
- package/lib/ReactDOM.js +207 -0
- package/lib/ReactDOMButton.js +68 -0
- package/lib/ReactDOMComponent.js +399 -0
- package/lib/ReactDOMForm.js +59 -0
- package/lib/ReactDOMIDOperations.js +218 -0
- package/lib/ReactDOMImg.js +58 -0
- package/lib/ReactDOMInput.js +181 -0
- package/lib/ReactDOMOption.js +51 -0
- package/lib/ReactDOMSelect.js +179 -0
- package/lib/ReactDOMSelection.js +189 -0
- package/lib/ReactDOMTextarea.js +140 -0
- package/lib/ReactDefaultBatchingStrategy.js +75 -0
- package/lib/ReactDefaultInjection.js +115 -0
- package/lib/ReactDefaultPerf.js +244 -0
- package/lib/ReactDefaultPerfAnalysis.js +199 -0
- package/lib/ReactErrorUtils.js +37 -0
- package/lib/ReactEventEmitter.js +339 -0
- package/lib/ReactEventEmitterMixin.js +57 -0
- package/lib/ReactEventTopLevelCallback.js +149 -0
- package/lib/ReactInjection.js +39 -0
- package/lib/ReactInputSelection.js +140 -0
- package/lib/ReactInstanceHandles.js +338 -0
- package/lib/ReactLink.js +54 -0
- package/lib/ReactMarkupChecksum.js +53 -0
- package/lib/ReactMount.js +641 -0
- package/lib/ReactMountReady.js +95 -0
- package/lib/ReactMultiChild.js +425 -0
- package/lib/ReactMultiChildUpdateTypes.js +38 -0
- package/lib/ReactOwner.js +154 -0
- package/lib/ReactPerf.js +85 -0
- package/lib/ReactPropTransferer.js +147 -0
- package/lib/ReactPropTypeLocationNames.js +31 -0
- package/lib/ReactPropTypeLocations.js +29 -0
- package/lib/ReactPropTypes.js +359 -0
- package/lib/ReactPutListenerQueue.js +61 -0
- package/lib/ReactReconcileTransaction.js +181 -0
- package/lib/ReactRootIndex.js +36 -0
- package/lib/ReactServerRendering.js +59 -0
- package/lib/ReactStateSetters.js +111 -0
- package/lib/ReactTestUtils.js +394 -0
- package/lib/ReactTextComponent.js +99 -0
- package/lib/ReactTransitionChildMapping.js +106 -0
- package/lib/ReactTransitionEvents.js +97 -0
- package/lib/ReactTransitionGroup.js +187 -0
- package/lib/ReactUpdates.js +148 -0
- package/lib/ReactWithAddons.js +51 -0
- package/lib/SelectEventPlugin.js +200 -0
- package/lib/ServerReactRootIndex.js +36 -0
- package/lib/SimpleEventPlugin.js +413 -0
- package/lib/SyntheticClipboardEvent.js +51 -0
- package/lib/SyntheticCompositionEvent.js +51 -0
- package/lib/SyntheticDragEvent.js +44 -0
- package/lib/SyntheticEvent.js +164 -0
- package/lib/SyntheticFocusEvent.js +44 -0
- package/lib/SyntheticKeyboardEvent.js +58 -0
- package/lib/SyntheticMouseEvent.js +85 -0
- package/lib/SyntheticTouchEvent.js +50 -0
- package/lib/SyntheticUIEvent.js +45 -0
- package/lib/SyntheticWheelEvent.js +66 -0
- package/lib/Transaction.js +276 -0
- package/lib/ViewportMetrics.js +37 -0
- package/lib/accumulate.js +54 -0
- package/lib/adler32.js +39 -0
- package/lib/cloneWithProps.js +59 -0
- package/lib/containsNode.js +49 -0
- package/lib/copyProperties.js +54 -0
- package/lib/createArrayFrom.js +91 -0
- package/lib/createFullPageComponent.js +63 -0
- package/lib/createNodesFromMarkup.js +93 -0
- package/lib/createObjectFrom.js +61 -0
- package/lib/cx.js +44 -0
- package/lib/dangerousStyleValue.js +57 -0
- package/lib/emptyFunction.js +43 -0
- package/lib/escapeTextForBrowser.js +47 -0
- package/lib/flattenChildren.js +57 -0
- package/lib/forEachAccumulated.js +36 -0
- package/lib/getActiveElement.js +34 -0
- package/lib/getEventKey.js +85 -0
- package/lib/getEventTarget.js +36 -0
- package/lib/getMarkupWrap.js +118 -0
- package/lib/getNodeForCharacterOffset.js +80 -0
- package/lib/getReactRootElementInContainer.js +40 -0
- package/lib/getTextContentAccessor.js +42 -0
- package/lib/getUnboundedScrollPosition.js +45 -0
- package/lib/hyphenate.js +35 -0
- package/lib/invariant.js +62 -0
- package/lib/isEventSupported.js +70 -0
- package/lib/isNode.js +33 -0
- package/lib/isTextInputElement.js +49 -0
- package/lib/isTextNode.js +30 -0
- package/lib/joinClasses.js +44 -0
- package/lib/keyMirror.js +58 -0
- package/lib/keyOf.js +41 -0
- package/lib/memoizeStringOnly.js +39 -0
- package/lib/merge.js +37 -0
- package/lib/mergeHelpers.js +136 -0
- package/lib/mergeInto.js +45 -0
- package/lib/mixInto.js +34 -0
- package/lib/objMap.js +47 -0
- package/lib/objMapKeyVal.js +47 -0
- package/lib/onlyChild.js +43 -0
- package/lib/performanceNow.js +42 -0
- package/lib/shallowEqual.js +49 -0
- package/lib/shouldUpdateReactComponent.js +58 -0
- package/lib/toArray.js +75 -0
- package/lib/traverseAllChildren.js +189 -0
- package/lib/warning.js +48 -0
- package/package.json +33 -21
- package/react.js +1 -0
- package/.npmignore +0 -7
- package/.travis.yml +0 -7
- package/Jakefile.js +0 -39
- package/LICENSE +0 -19
- package/browser-test/dist.html +0 -90
- package/browser-test/index.html +0 -86
- package/browser-test/min.html +0 -90
- package/dist/react.js +0 -3141
- package/dist/react.min.js +0 -22
- package/doc/advanced.md +0 -174
- package/doc/color-def.graffle +0 -938
- package/doc/color-def.png +0 -0
- package/doc/simple.dot +0 -25
- package/doc/simple.png +0 -0
- package/examples/longer-example.js +0 -41
- package/examples/simple.js +0 -45
- package/examples/using-ast-directly.js +0 -30
- package/examples/using-events1.js +0 -79
- package/examples/using-log-events.js +0 -43
- package/lib/base-task.js +0 -120
- package/lib/cb-task.js +0 -84
- package/lib/core.js +0 -138
- package/lib/dsl.js +0 -138
- package/lib/error.js +0 -55
- package/lib/event-collector.js +0 -81
- package/lib/event-manager.js +0 -89
- package/lib/eventemitter.js +0 -20
- package/lib/finalcb-first-task.js +0 -68
- package/lib/finalcb-task.js +0 -65
- package/lib/id.js +0 -22
- package/lib/input-parser.js +0 -56
- package/lib/log-events.js +0 -101
- package/lib/parse.js +0 -41
- package/lib/promise-resolve.js +0 -50
- package/lib/promise-task.js +0 -93
- package/lib/react.js +0 -59
- package/lib/ret-task.js +0 -71
- package/lib/sprintf.js +0 -18
- package/lib/status.js +0 -14
- package/lib/task.js +0 -251
- package/lib/track-tasks.js +0 -74
- package/lib/validate.js +0 -159
- package/lib/vcon.js +0 -113
- package/lib/when-task.js +0 -84
- package/src/dist.build.requirejs +0 -20
- package/test/ast.mocha.js +0 -136
- package/test/cb-task.mocha.js +0 -220
- package/test/core-deferred.mocha.js +0 -143
- package/test/core-when.mocha.js +0 -96
- package/test/core.mocha.js +0 -589
- package/test/dsl.mocha.js +0 -352
- package/test/event-manager.mocha.js +0 -119
- package/test/exec-options.mocha.js +0 -48
- package/test/finalcb-task.mocha.js +0 -58
- package/test/input-parser.mocha.js +0 -86
- package/test/log-events.mocha.js +0 -88
- package/test/mocha.opts +0 -2
- package/test/module-use.mocha.js +0 -164
- package/test/promise-auto-resolve.mocha.js +0 -68
- package/test/ret-task.mocha.js +0 -220
- package/test/task.mocha.js +0 -42
- package/test/validate-cb-task.mocha.js +0 -100
- package/test/validate-ret-task.mocha.js +0 -110
- package/test/validate.mocha.js +0 -324
- package/test/vcon.mocha.js +0 -193
- package/vendor/chai/chai.js +0 -4251
- package/vendor/jquery/jquery-1.7.1.js +0 -9266
- package/vendor/jquery/jquery-1.7.1.min.js +0 -4
- package/vendor/node/util.js +0 -531
- package/vendor/requirejs/require.js +0 -2045
- package/vendor/requirejs/require.min.js +0 -36
package/dist/react.min.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
// Copyright Joyent, Inc. and other Node contributors.
|
|
2
|
-
//
|
|
3
|
-
// Permission is hereby granted, free of charge, to any person obtaining a
|
|
4
|
-
// copy of this software and associated documentation files (the
|
|
5
|
-
// "Software"), to deal in the Software without restriction, including
|
|
6
|
-
// without limitation the rights to use, copy, modify, merge, publish,
|
|
7
|
-
// distribute, sublicense, and/or sell copies of the Software, and to permit
|
|
8
|
-
// persons to whom the Software is furnished to do so, subject to the
|
|
9
|
-
// following conditions:
|
|
10
|
-
//
|
|
11
|
-
// The above copyright notice and this permission notice shall be included
|
|
12
|
-
// in all copies or substantial portions of the Software.
|
|
13
|
-
//
|
|
14
|
-
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
15
|
-
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
16
|
-
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
|
|
17
|
-
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
|
18
|
-
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
|
19
|
-
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
|
20
|
-
// USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
21
|
-
|
|
22
|
-
!function(e,t){function i(){this._events={},this._conf&&s.call(this,this._conf)}function s(e){e&&(this._conf=e,e.delimiter&&(this.delimiter=e.delimiter),e.maxListeners&&(this._events.maxListeners=e.maxListeners),e.wildcard&&(this.wildcard=e.wildcard),e.newListener&&(this.newListener=e.newListener),this.wildcard&&(this.listenerTree={}))}function o(e){this._events={},this.newListener=!1,s.call(this,e)}function u(e,t,n,r){if(!n)return[];var i=[],s,o,a,f,l,c,h,p=t.length,d=t[r],v=t[r+1];if(r===p&&n._listeners){if(typeof n._listeners=="function")return e&&e.push(n._listeners),[n];for(s=0,o=n._listeners.length;s<o;s++)e&&e.push(n._listeners[s]);return[n]}if(d==="*"||d==="**"||n[d]){if(d==="*"){for(a in n)a!=="_listeners"&&n.hasOwnProperty(a)&&(i=i.concat(u(e,t,n[a],r+1)));return i}if(d==="**"){h=r+1===p||r+2===p&&v==="*",h&&n._listeners&&(i=i.concat(u(e,t,n,p)));for(a in n)a!=="_listeners"&&n.hasOwnProperty(a)&&(a==="*"||a==="**"?(n[a]._listeners&&!h&&(i=i.concat(u(e,t,n[a],p))),i=i.concat(u(e,t,n[a],r))):a===v?i=i.concat(u(e,t,n[a],r+2)):i=i.concat(u(e,t,n[a],r)));return i}i=i.concat(u(e,t,n[d],r+1))}f=n["*"],f&&u(e,t,f,r+1),l=n["**"];if(l)if(r<p){l._listeners&&u(e,t,l,p);for(a in l)a!=="_listeners"&&l.hasOwnProperty(a)&&(a===v?u(e,t,l[a],r+2):a===d?u(e,t,l[a],r+1):(c={},c[a]=l[a],u(e,t,{"**":c},r+1)))}else l._listeners?u(e,t,l,p):l["*"]&&l["*"]._listeners&&u(e,t,l["*"],p);return i}function a(e,t){e=typeof e=="string"?e.split(this.delimiter):e.slice();for(var i=0,s=e.length;i+1<s;i++)if(e[i]==="**"&&e[i+1]==="**")return;var o=this.listenerTree,u=e.shift();while(u){o[u]||(o[u]={}),o=o[u];if(e.length===0){if(!o._listeners)o._listeners=t;else if(typeof o._listeners=="function")o._listeners=[o._listeners,t];else if(n(o._listeners)){o._listeners.push(t);if(!o._listeners.warned){var a=r;typeof this._events.maxListeners!="undefined"&&(a=this._events.maxListeners),a>0&&o._listeners.length>a&&(o._listeners.warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",o._listeners.length),console.trace())}}return!0}u=e.shift()}return!0}var n=Array.isArray?Array.isArray:function(t){return Object.prototype.toString.call(t)==="[object Array]"},r=10;o.prototype.delimiter=".",o.prototype.setMaxListeners=function(e){this._events||i.call(this),this._events.maxListeners=e,this._conf||(this._conf={}),this._conf.maxListeners=e},o.prototype.event="",o.prototype.once=function(e,t){return this.many(e,1,t),this},o.prototype.many=function(e,t,n){function i(){--t===0&&r.off(e,i),n.apply(this,arguments)}var r=this;if(typeof n!="function")throw new Error("many only accepts instances of Function");return i._origin=n,this.on(e,i),r},o.prototype.emit=function(){this._events||i.call(this);var e=arguments[0];if(e==="newListener"&&!this.newListener&&!this._events.newListener)return!1;if(this._all){var t=arguments.length,n=new Array(t-1);for(var r=1;r<t;r++)n[r-1]=arguments[r];for(r=0,t=this._all.length;r<t;r++)this.event=e,this._all[r].apply(this,n)}if(e==="error"&&!this._all&&!this._events.error&&(!this.wildcard||!this.listenerTree.error))throw arguments[1]instanceof Error?arguments[1]:new Error("Uncaught, unspecified 'error' event.");var s;if(this.wildcard){s=[];var o=typeof e=="string"?e.split(this.delimiter):e.slice();u.call(this,s,o,this.listenerTree,0)}else s=this._events[e];if(typeof s=="function"){this.event=e;if(arguments.length===1)s.call(this);else if(arguments.length>1)switch(arguments.length){case 2:s.call(this,arguments[1]);break;case 3:s.call(this,arguments[1],arguments[2]);break;default:var t=arguments.length,n=new Array(t-1);for(var r=1;r<t;r++)n[r-1]=arguments[r];s.apply(this,n)}return!0}if(s){var t=arguments.length,n=new Array(t-1);for(var r=1;r<t;r++)n[r-1]=arguments[r];var a=s.slice();for(var r=0,t=a.length;r<t;r++)this.event=e,a[r].apply(this,n);return a.length>0||this._all}return this._all},o.prototype.on=function(e,t){if(typeof e=="function")return this.onAny(e),this;if(typeof t!="function")throw new Error("on only accepts instances of Function");this._events||i.call(this),this.emit("newListener",e,t);if(this.wildcard)return a.call(this,e,t),this;if(!this._events[e])this._events[e]=t;else if(typeof this._events[e]=="function")this._events[e]=[this._events[e],t];else if(n(this._events[e])){this._events[e].push(t);if(!this._events[e].warned){var s=r;typeof this._events.maxListeners!="undefined"&&(s=this._events.maxListeners),s>0&&this._events[e].length>s&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),console.trace())}}return this},o.prototype.onAny=function(e){this._all||(this._all=[]);if(typeof e!="function")throw new Error("onAny only accepts instances of Function");return this._all.push(e),this},o.prototype.addListener=o.prototype.on,o.prototype.off=function(e,t){if(typeof t!="function")throw new Error("removeListener only takes instances of Function");var r,i=[];if(this.wildcard){var s=typeof e=="string"?e.split(this.delimiter):e.slice();i=u.call(this,null,s,this.listenerTree,0)}else{if(!this._events[e])return this;r=this._events[e],i.push({_listeners:r})}for(var o=0;o<i.length;o++){var a=i[o];r=a._listeners;if(n(r)){var f=-1;for(var l=0,c=r.length;l<c;l++)if(r[l]===t||r[l].listener&&r[l].listener===t||r[l]._origin&&r[l]._origin===t){f=l;break}if(f<0)return this;this.wildcard?a._listeners.splice(f,1):this._events[e].splice(f,1),r.length===0&&(this.wildcard?delete a._listeners:delete this._events[e])}else if(r===t||r.listener&&r.listener===t||r._origin&&r._origin===t)this.wildcard?delete a._listeners:delete this._events[e]}return this},o.prototype.offAny=function(e){var t=0,n=0,r;if(e&&this._all&&this._all.length>0){r=this._all;for(t=0,n=r.length;t<n;t++)if(e===r[t])return r.splice(t,1),this}else this._all=[];return this},o.prototype.removeListener=o.prototype.off,o.prototype.removeAllListeners=function(e){if(arguments.length===0)return!this._events||i.call(this),this;if(this.wildcard){var t=typeof e=="string"?e.split(this.delimiter):e.slice(),n=u.call(this,null,t,this.listenerTree,0);for(var r=0;r<n.length;r++){var s=n[r];s._listeners=null}}else{if(!this._events[e])return this;this._events[e]=null}return this},o.prototype.listeners=function(e){if(this.wildcard){var t=[],r=typeof e=="string"?e.split(this.delimiter):e.slice();return u.call(this,t,r,this.listenerTree,0),t}return this._events||i.call(this),this._events[e]||(this._events[e]=[]),n(this._events[e])||(this._events[e]=[this._events[e]]),this._events[e]},o.prototype.listenersAny=function(){return this._all?this._all:[]},typeof define=="function"&&define.amd?define("eventemitter2",[],function(){return o}):e.EventEmitter2=o}(typeof process!="undefined"&&typeof process.title!="undefined"&&typeof exports!="undefined"?exports:window),define("react/eventemitter",["eventemitter2"],function(e){var t=e?e.EventEmitter2?e.EventEmitter2:e:EventEmitter2;return t}),define("util",["require","exports","module"],function(e,t,n){function s(e,t,n,r){var i={showHidden:t,seen:[],stylize:r?a:f};return l(i,e,typeof n=="undefined"?2:n)}function a(e,t){var n=u[t];return n?"["+o[n][0]+"m"+e+"["+o[n][1]+"m":e}function f(e,t){return e}function l(e,n,r){if(n&&typeof n.inspect=="function"&&n.inspect!==t.inspect&&(!n.constructor||n.constructor.prototype!==n))return n.inspect(r);var i=c(e,n);if(i)return i;var s=Object.keys(n),o=e.showHidden?Object.getOwnPropertyNames(n):s;if(o.length===0){if(typeof n=="function"){var u=n.name?": "+n.name:"";return e.stylize("[Function"+u+"]","special")}if(g(n))return e.stylize(RegExp.prototype.toString.call(n),"regexp");if(y(n))return e.stylize(Date.prototype.toString.call(n),"date");if(b(n))return h(n)}var a="",f=!1,l=["{","}"];m(n)&&(f=!0,l=["[","]"]);if(typeof n=="function"){var w=n.name?": "+n.name:"";a=" [Function"+w+"]"}g(n)&&(a=" "+RegExp.prototype.toString.call(n)),y(n)&&(a=" "+Date.prototype.toUTCString.call(n)),b(n)&&(a=" "+h(n));if(o.length!==0||!!f&&n.length!==0){if(r<0)return g(n)?e.stylize(RegExp.prototype.toString.call(n),"regexp"):e.stylize("[Object]","special");e.seen.push(n);var E;return f?E=p(e,n,r,s,o):E=o.map(function(t){return d(e,n,r,s,t,f)}),e.seen.pop(),v(E,a,l)}return l[0]+a+l[1]}function c(e,t){switch(typeof t){case"undefined":return e.stylize("undefined","undefined");case"string":var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string");case"number":return e.stylize(""+t,"number");case"boolean":return e.stylize(""+t,"boolean")}if(t===null)return e.stylize("null","null")}function h(e){return"["+Error.prototype.toString.call(e)+"]"}function p(e,t,n,r,i){var s=[];for(var o=0,u=t.length;o<u;++o)Object.prototype.hasOwnProperty.call(t,String(o))?s.push(d(e,t,n,r,String(o),!0)):s.push("");return i.forEach(function(i){i.match(/^\d+$/)||s.push(d(e,t,n,r,i,!0))}),s}function d(e,t,n,r,i,s){var o,u,a;a=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]},a.get?a.set?u=e.stylize("[Getter/Setter]","special"):u=e.stylize("[Getter]","special"):a.set&&(u=e.stylize("[Setter]","special")),r.indexOf(i)<0&&(o="["+i+"]"),u||(e.seen.indexOf(a.value)<0?(n===null?u=l(e,a.value,null):u=l(e,a.value,n-1),u.indexOf("\n")>-1&&(s?u=u.split("\n").map(function(e){return" "+e}).join("\n").substr(2):u="\n"+u.split("\n").map(function(e){return" "+e}).join("\n"))):u=e.stylize("[Circular]","special"));if(typeof o=="undefined"){if(s&&i.match(/^\d+$/))return u;o=JSON.stringify(""+i),o.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+u}function v(e,t,n){var r=0,i=e.reduce(function(e,t){return r++,t.indexOf("\n")>=0&&r++,e+t.length+1},0);return i>60?n[0]+(t===""?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}function m(e){return Array.isArray(e)||typeof e=="object"&&w(e)==="[object Array]"}function g(e){return typeof e=="object"&&w(e)==="[object RegExp]"}function y(e){return typeof e=="object"&&w(e)==="[object Date]"}function b(e){return typeof e=="object"&&w(e)==="[object Error]"}function w(e){return Object.prototype.toString.call(e)}function E(e){return e<10?"0"+e.toString(10):e.toString(10)}function x(){var e=new Date,t=[E(e.getHours()),E(e.getMinutes()),E(e.getSeconds())].join(":");return[e.getDate(),S[e.getMonth()],t].join(" ")}var r=/%[sdj%]/g;t.format=function(e){if(typeof e!="string"){var t=[];for(var n=0;n<arguments.length;n++)t.push(s(arguments[n]));return t.join(" ")}var i=1,o=arguments,u=o.length,a=String(e).replace(r,function(e){if(e==="%%")return"%";if(i>=u)return e;switch(e){case"%s":return String(o[i++]);case"%d":return Number(o[i++]);case"%j":return JSON.stringify(o[i++]);default:return e}});for(var f=o[i];i<u;f=o[++i])f===null||typeof f!="object"?a+=" "+f:a+=" "+s(f);return a},t.print=function(){for(var e=0,t=arguments.length;e<t;++e)process.stdout.write(String(arguments[e]))},t.puts=function(){for(var e=0,t=arguments.length;e<t;++e)process.stdout.write(arguments[e]+"\n")},t.debug=function(e){process.stderr.write("DEBUG: "+e+"\n")};var i=t.error=function(e){for(var t=0,n=arguments.length;t<n;++t)process.stderr.write(arguments[t]+"\n")};t.inspect=s;var o={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},u={special:"cyan",number:"yellow","boolean":"yellow","undefined":"grey","null":"bold",string:"green",date:"magenta",regexp:"red"};t.isArray=m,t.isRegExp=g,t.isDate=y,t.isError=b;var S=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];t.log=function(e){t.puts(x()+" - "+e.toString())},t.pump=function(e,t,n){function i(e,t,i){n&&!r&&(n(e,t,i),r=!0)}var r=!1;e.addListener("data",function(n){t.write(n)===!1&&e.pause()}),t.addListener("drain",function(){e.resume()}),e.addListener("end",function(){t.end()}),e.addListener("close",function(){i()}),e.addListener("error",function(e){t.end(),i(e)}),t.addListener("error",function(t){e.destroy(),i(t)})},t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t._extend=function(e,t){if(!t)return e;var n=Object.keys(t),r=n.length;while(r--)e[n[r]]=t[n[r]];return e}}),define("react/error",["util"],function(e){function t(e){if(!Error.stackTraceLimit||Error.stackTraceLimit<e)Error.stackTraceLimit=e}function n(e){return e?e&&e.name?e.name:e:"undefined"}function r(t){if(!t.meta)return;var r=t.meta.vcon,i=t.meta.task,s="\n\n";return i&&i.f&&i.a&&(s+="Error occurs in Task function: "+n(i.f)+"("+i.a.join(",")+")\n\n"),r&&(s+="Variable Context: \n",s+=e.inspect(r),s+="\n\n"),i&&i.f&&(s+="Task Source:\n\n",s+=i.f.toString(),s+="\n\n"),s}function i(e,t){typeof e=="string"&&(e=new Error(e));var n=e.toString();return e.meta=t,e.toString=function(){return n+r(e)},e}return{ensureStackTraceLimitSet:t,augmentError:i}}),define("react/sprintf",["util"],function(e){var t=e.format;return t}),function(e,t){typeof exports=="object"?module.exports=t():typeof define=="function"&&define.amd?define("ensure-array",[],t):e.ensureArray=t()}(this,function(){function e(e,t,n){if(arguments.length===0)return[];if(arguments.length===1){if(e===undefined||e===null)return[];if(Array.isArray(e))return e}return Array.prototype.slice.call(arguments)}return e}),define("react/status",[],function(){var e={READY:"ready",RUNNING:"running",ERRORED:"errored",COMPLETE:"complete"};return e}),define("react/event-manager",["./eventemitter"],function(e){function i(){}var t={wildcard:!0,delimiter:".",maxListeners:30},n=/^ast.defined$/,r={AST_DEFINED:"ast.defined",FLOW_BEGIN:"flow.begin",TASK_BEGIN:"task.begin",TASK_COMPLETE:"task.complete",TASK_ERRORED:"task.errored",FLOW_COMPLETE:"flow.complete",FLOW_ERRORED:"flow.errored",EXEC_FLOW_START:"exec.flow.start",EXEC_INPUT_PREPROCESS:"exec.input.preprocess",EXEC_TASKS_PRECREATE:"exec.tasks.precreate",EXEC_OUTTASK_CREATE:"exec.outTask.create",EXEC_TASK_START:"exec.task.start",EXEC_TASK_COMPLETE:"exec.task.complete",EXEC_TASK_ERRORED:"exec.task.errored",EXEC_FLOW_COMPLETE:"exec.flow.complete",EXEC_FLOW_ERRORED:"exec.flow.errored"};return i.create=function(){return new i},i.TYPES=r,i.prototype.TYPES=r,i.prototype.isEnabled=function(){return!!(this.emitter||this.parent&&this.parent.isEnabled())},i.prototype.on=function(n,r){this.emitter||(this.emitter=new e(t)),n==="*"?this.emitter.onAny(r):this.emitter.on(n,r)},i.prototype.emit=function(e,t,r,i){if(e===undefined)throw new Error("event is undefined");this.emitter&&this.emitter.emit.apply(this.emitter,arguments),this.parent&&this.parent.isEnabled()&&this.parent.emit.apply(this.parent,arguments),n.test(e)&&typeof process!="undefined"&&process.emit&&process.emit.apply(process,arguments)},i.prototype.removeListener=function(e,t){this.emitter&&this.emitter.removeListener.apply(this.emitter,arguments)},i.prototype.removeAllListeners=function(e){this.emitter&&this.emitter.removeAllListeners.apply(this.emitter,arguments)},i.global=i.create(),i}),define("react/base-task",["ensure-array","./status","./event-manager"],function(e,t,n){function r(){}function i(e){return e.indexOf(".")!==-1}return r.prototype.getOutParams=function(){return e(this.out)},r.prototype.isComplete=function(){return this.status===t.COMPLETE},r.prototype.start=function(e){this.args=e,this.env.currentTask=this,this.env.flowEmitter.emit(n.TYPES.EXEC_TASK_START,this)},r.prototype.complete=function(e){this.status=t.COMPLETE,this.results=e,this.env.currentTask=this,this.env.flowEmitter.emit(n.TYPES.EXEC_TASK_COMPLETE,this)},r.prototype.functionExists=function(e){var t=this.f;if(!t)return!1;if(t instanceof Function)return!0;if(typeof t=="string"){var n=e.getVar(t);if(n&&n instanceof Function)return!0}return!1},r.prototype.areAllDepArgsDefined=function(e){return this.a.every(function(t){return e.getVar(t)!==undefined})},r.prototype.depTasksAreDone=function(e){return!this.after||!this.after.length||this.after.every(function(t){return e[t].isComplete()})},r.prototype.parentExists=function(e,t){if(!i(e))return!0;var n=e.split(".");n.pop();var r=n.reduce(function(e,t){return e===undefined||e===null?undefined:e[t]},t.values);return r!==undefined&&r!==null},r.prototype.outParentsExist=function(e){var t=this;return this.getOutParams().every(function(n){return n===null?!0:t.parentExists(n,e)})},r.prototype.isReady=function(e,t){return!this.status&&this.functionExists(e)&&this.areAllDepArgsDefined(e)&&this.depTasksAreDone(t)&&(!this.outParentsExist||this.outParentsExist(e))},r.prototype.isMethodCall=function(){return typeof this.f=="string"&&/^.*\..*$/.test(this.f)},r.prototype.getMethodObj=function(e){var t=this.f;if(!t)return undefined;var n=t.split(".");n.pop();if(!n.length)return undefined;var r=e.resolveNameArr(n);return r},r}),define("react/cb-task",["util","./sprintf","./base-task"],function(e,t,n){function r(n,r){return t("%s - %s",n,e.inspect(r))}function a(e){var t=this;Object.keys(e).forEach(function(n){t[n]=e[n]})}var i="cbTask requires f, a, out",s="cbTask requires f to be a function or string",o="cbTask requires a to be an array of string param names",u="cbTask requires out to be an array of string param names";return a.prototype=new n,a.prototype.constructor=a,a.validate=function(e){var t=[];if(!e.f||!e.a||!e.out)t.push(r(i,e));else{var n=typeof e.f;e.f instanceof Function||n==="string"||t.push(r(s,e)),(!Array.isArray(e.a)||!e.a.every(function(e){return typeof e=="string"}))&&t.push(r(o,e)),(!Array.isArray(e.out)||!e.out.every(function(e){return typeof e=="string"}))&&t.push(r(u,e))}return t},a.prototype.prepare=function(t,n,r){var i=this;this.cbFun=function(e,s,o,u){var a=Array.prototype.slice.call(arguments,1);if(e){t(i,e);return}n.saveResults(i.out,a),i.complete(a),r()}},a.prototype.exec=function(t,n,r){try{var i=this.a.map(function(e){return t.getVar(e)});this.start(i),i.push(this.cbFun);var s=this.f,o=t.getVar("this");this.isMethodCall()?(s=t.getVar(this.f),o=this.getMethodObj(t)):typeof s=="string"&&(s=t.getVar(s)),s.apply(o,i)}catch(u){n(this,u)}},a}),define("react/promise-task",["util","./sprintf","./base-task"],function(e,t,n){function r(n,r){return t("%s - %s",n,e.inspect(r))}function a(e){var t=this;Object.keys(e).forEach(function(n){t[n]=e[n]})}var i="promiseTask requires f, a, out",s="promiseTask requires f to be a function or string",o="promiseTask requires a to be an array of string param names",u="promiseTask requires out to be an array[1] of string param names";return a.prototype=new n,a.prototype.constructor=a,a.validate=function(e){var t=[];if(!e.f||!e.a||!e.out)t.push(r(i,e));else{var n=typeof e.f;e.f instanceof Function||n==="string"||t.push(r(s,e)),(!Array.isArray(e.a)||!e.a.every(function(e){return typeof e=="string"}))&&t.push(r(o,e)),Array.isArray(e.out)&&e.out.length<=1&&e.out.every(function(e){return typeof e=="string"})||t.push(r(u,e))}return t},a.prototype.prepare=function(t,n,r){var i=this;this.nextFn=function(e){var t=Array.prototype.slice.call(arguments);n.saveResults(i.out,t),i.complete(t),r()},this.failFn=function(e){t(i,e)}},a.prototype.exec=function(t,n,r){try{var i=this.a.map(function(e){return t.getVar(e)});this.start(i);var s=this.f,o=t.getVar("this");this.isMethodCall()?(s=t.getVar(this.f),o=this.getMethodObj(t)):typeof s=="string"&&(s=t.getVar(s));var u=s.apply(o,i);u&&typeof u.then=="function"?u.then(this.nextFn,this.failFn):this.nextFn(u)}catch(a){n(this,a)}},a}),define("react/ret-task",["util","./sprintf","./base-task"],function(e,t,n){function r(n,r){return t("%s - %s",n,e.inspect(r))}function a(e){var t=this;Object.keys(e).forEach(function(n){t[n]=e[n]})}var i="retTask requires f, a, out",s="retTask requires f to be a function or string",o="retTask requires a to be an array of string param names",u="retTask requires out to be an array with single string param name or []";return a.prototype=new n,a.prototype.constructor=a,a.validate=function(e){var t=[];if(!e.f||!e.a||!e.out)t.push(r(i,e));else{var n=typeof e.f;e.f instanceof Function||n==="string"||t.push(r(s,e)),(!Array.isArray(e.a)||!e.a.every(function(e){return typeof e=="string"}))&&t.push(r(o,e)),(!Array.isArray(e.out)||!(e.out.length===0||e.out.length===1&&typeof (e.out[0]==="string")))&&t.push(r(u,e))}return t},a.prototype.exec=function(t,n,r){try{var i=this.a.map(function(e){return t.getVar(e)});this.start(i);var s=this.f,o=t.getVar("this");this.isMethodCall()?(s=t.getVar(this.f),o=this.getMethodObj(t)):typeof s=="string"&&(s=t.getVar(s));var u=[s.apply(o,i)];t.saveResults(this.out,u),this.complete(u),r()}catch(a){n(this,a)}},a}),define("react/when-task",["util","./sprintf","./base-task"],function(e,t,n){function r(n,r){return t("%s - %s",n,e.inspect(r))}function u(e){var t=this;Object.keys(e).forEach(function(n){t[n]=e[n]})}var i="whenTask requires a, out",s="whenTask requires a to be an array[1] of string param names",o="whenTask requires out to be an array[1] of string param names";return u.prototype=new n,u.prototype.constructor=u,u.prototype.f=function(){},u.validate=function(e){var t=[];return!e.a||!e.out?t.push(r(i,e)):((!Array.isArray(e.a)||e.a.length!==1||!e.a.every(function(e){return typeof e=="string"}))&&t.push(r(s,e)),Array.isArray(e.out)&&e.out.length<=1&&e.out.every(function(e){return typeof e=="string"})||t.push(r(o,e))),t},u.prototype.prepare=function(t,n,r){var i=this;this.nextFn=function(e){var t=Array.prototype.slice.call(arguments);n.saveResults(i.out,t),i.complete(t),r()},this.failFn=function(e){t(i,e)}},u.prototype.exec=function(t,n,r){try{var i=this.a.map(function(e){return t.getVar(e)});this.start(i);var s=i[0];s&&typeof s.then=="function"?s.then(this.nextFn,this.failFn):this.nextFn(s)}catch(o){n(this,o)}},u}),define("react/finalcb-task",["./sprintf","util","./status","./event-manager"],function(e,t,n,r){function s(e){var t=e.taskDef;if(typeof e.cbFunc!="function")throw new Error("callback is not a function");var n=this;for(var r in t)n[r]=t[r];this.f=e.cbFunc,this.tasks=e.tasks,this.vCon=e.vCon,this.retValue=e.retValue,this.execOptions=e.execOptions,this.env=e.env}function o(n,r){return e("%s - %s",n,t.inspect(r))}var i="ast.outTask.a should be an array of string param names";return s.validate=function(e){var t=[];return(!Array.isArray(e.a)||!e.a.every(function(e){return typeof e=="string"}))&&t.push(o(i,e)),t},s.prototype.isReady=function(){return this.tasks.every(function(e){return e.status===n.COMPLETE})},s.prototype.exec=function(e){if(!this.f)return;if(e)this.env.error=e,this.env.flowEmitter.emit(r.TYPES.EXEC_FLOW_ERRORED,this.env),this.f.call(null,e);else{var t=this.vCon,n=this.a.map(function(e){return t.getVar(e)});n.unshift(null),this.env.results=n,this.env.flowEmitter.emit(r.TYPES.EXEC_FLOW_COMPLETE,this.env),this.f.apply(null,n)}this.f=null},s}),define("react/vcon",[],function(){function t(){}var e=":LAST_RESULTS";return t.prototype.getLastResults=function(){return this.getVar(e)},t.prototype.setLastResults=function(t){this.setVar(e,t)},t.prototype.getVar=function(e){var t=this.values;if(typeof e!="string")return e;e=e.trim();if(e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;if(/^-?[0-9]+$/.test(e))return parseInt(e,10);if(/^-?[0-9.]+$/.test(e))return parseFloat(e);var n=/^("|')([^\1]*)\1$/.exec(e);if(n)return n[2];var r=e.split("."),i=this.resolveNameArr(r);return i},t.prototype.resolveNameArr=function(e){var t=this.values,n=e.reduce(function(e,t){return e===undefined||e===null?undefined:e[t]},t);return n===undefined&&this.global!==undefined&&(n=e.reduce(function(e,t){return e===undefined||e===null?undefined:e[t]},this.global)),n},t.prototype.saveResults=function(e,t){var n=this;e.forEach(function(e,r){n.setVar(e,t[r]!==undefined?t[r]:null)}),this.setLastResults(t)},t.prototype.setVar=function(e,t){if(!e)return;var n=this.values,r=e.split("."),i=r.pop(),s=r.reduce(function(e,t){var n=e[t];if(n===undefined||n===null)n=e[t]={};return n},n);s[i]=t},t.create=function(e,n,r,i){var s={};i&&(s["this"]=i),r&&Object.keys(r).forEach(function(e){s[e]=r[e]});var o=new t;return o.values=e.reduce(function(e,t,r){var i=n[r];return i&&(e[i]=t!==undefined?t:null),e},s),typeof global=="object"?o.global=global:o.global=(new Function("return this"))(),o},t}),define("react/finalcb-first-task",["./sprintf","util","./status","./vcon","./event-manager"],function(e,t,n,r,i){function o(e){var t=e.taskDef;if(typeof e.cbFunc!="function")throw new Error("callback is not a function");var n=this;for(var r in t)n[r]=t[r];this.f=e.cbFunc,this.tasks=e.tasks,this.vCon=e.vCon,this.retValue=e.retValue,this.env=e.env}function u(n,r){return e("%s - %s",n,t.inspect(r))}var s="ast.outTask.a should be an array of string param names";return o.validate=function(e){var t=[];return(!Array.isArray(e.a)||!e.a.every(function(e){return typeof e=="string"}))&&t.push(u(s,e)),t},o.prototype.isReady=function(){var e=this.vCon.getLastResults();return e?e.some(function(e){return e!==undefined&&e!==null}):!1},o.prototype.exec=function(e){if(!this.f)return;if(e)this.env.error=e,this.env.flowEmitter.emit(i.TYPES.EXEC_FLOW_ERRORED,this.env),this.f.call(null,e);else{var t=this.vCon,n=this.a.map(function(e){return t.getVar(e)});n.unshift(null),this.env.results=n,this.env.flowEmitter.emit(i.TYPES.EXEC_FLOW_COMPLETE,this.env),this.f.apply(null,n)}this.f=null},o}),define("react/task",["util","./sprintf","ensure-array","./cb-task","./promise-task","./ret-task","./when-task","./finalcb-task","./finalcb-first-task","./status","./error","./vcon","./event-manager"],function(e,t,n,r,i,s,o,u,a,f,l,c,h){function v(){return Object.keys(p)}function g(){return Object.keys(m)}function S(n,r){return t("%s - %s",n,e.inspect(r))}function x(e){return e.type?e:(e.type="cb",e)}function T(e){e.type||(e.type=Object.keys(m)[0])}function N(e){if(!e.after)return;var t=n(e.after);t=t.map(function(e){return typeof e=="function"?e.name:e}),e.after=t}function C(e){if(!e||typeof e!="object")return[S(b,e)];x(e),N(e);var t=[];return t=t.concat(k(e)),t=t.concat(L(e)),t}function k(e){var t=[];return Object.keys(p).some(function(t){return e.type===t})||t.push(S(E,e)),t}function L(e){var t=[],n=p[e.type];return n&&(t=t.concat(n.validate(e))),t}function A(e){var t=[];T(e);var n=m[e.type];return t=t.concat(n.validate(e)),t}function O(e,n,r){function s(){}var i=[],o=e.map(function(e){return s}),u=c.create(o,e,r),a=n.map(D),f=a.filter(function(e){return e.type!=="when"});return f.forEach(function(e,n){if(!e.functionExists(u))if(!e.isMethodCall())i.push(t(y,e.f,n));else{var r=e.getMethodObj(u);r&&r!==s&&i.push(t(y,e.f,n))}}),i}function M(e){return typeof e=="function"?e.name:e?e:""}function _(e){var n=e.reduce(function(e,t){return t.name&&(e[t.name]=t),e},{});return e.forEach(function(e,r){if(!e.name){var i=M(e.f);i||(i=t(d,r));if(!i||n[i])i=t("%s_%s",i,r);e.name=i,n[i]=e}}),n}function D(e){var t=p[e.type];return new t(e)}function P(e,t,n,r,i,s){T(e);var o={taskDef:e,cbFunc:t,tasks:n,vCon:r,execOptions:i,env:s,TaskConstructor:m[e.type]};h.global.emit(h.TYPES.EXEC_OUTTASK_CREATE,o);var u=o.TaskConstructor;return new u(o)}function H(e,t){return function(r,i){r.status=f.ERRORED,r.error=i,t.env.currentTask=r,t.env.flowEmitter.emit(h.TYPES.EXEC_TASK_ERRORED,r);var s=l.augmentError(i,{task:r,vcon:e});t.exec(s)}}function B(e,t,n){return t.filter(function(t){return t.isReady(e,n)})}function j(e,t,n,r){e.forEach(function(e){e.status=f.READY}),e.forEach(function(e){e.exec(t,n,r)})}function F(e,n,r,i){var s=n.filter(function(e){return e.status===f.RUNNING||e.status===f.READY});if(!s.length){var o=n.filter(function(e){return!e.status}),u=o.map(function(e){return e.name}),a=t(w,u.join(", ")),l={env:i};r(l,new Error(a))}}function I(e,t,n,r,i,s){var o=B(e,t,n);o.length||F(e,t,r,s),j(o,e,r,i)}function q(e){return _(e),e.forEach(function(e,t,n){t!==0&&(e.after=[n[t-1].name])}),e}var p={cb:r,ret:s,promise:i,when:o},d="task_%s",m={finalcb:u,finalcbFirst:a},y="function: %s not found in locals or input params - task[%s]",b="task must be an object",w="no tasks running, flow will not complete, remaining tasks: %s",E="task.type should match one of "+Object.keys(p).join(", ");return{serializeTasks:q,TASK_TYPES:p,taskTypeKeys:v,OUT_TASK_TYPES:m,outTaskTypeKeys:g,setMissingType:x,validate:C,validateOutTask:A,validateLocalFunctions:O,nameTasks:_,create:D,createOutTask:P,createErrorHandler:H,findReadyAndExec:I}}),define("react/validate",["util","./sprintf","ensure-array","./task"],function(e,t,n,r){function h(n,r){return t("%s - %s",n,e.inspect(r))}function p(e){return c.test(e)}function d(e){if(!e||!e.inParams||!e.tasks||!e.outTask)return[i];var t=[];return t=t.concat(v(e.inParams)),t=t.concat(m(e.tasks)),t=t.concat(g(e.tasks)),t=t.concat(r.validateOutTask(e.outTask)),t=t.concat(y(e.locals)),t.length===0&&(e.outTask.type!=="finalcbFirst"&&(t=t.concat(w(e.tasks))),t=t.concat(r.validateLocalFunctions(e.inParams,e.tasks,e.locals)),t=t.concat(E(e))),t}function v(e){return!Array.isArray(e)||!e.every(function(e){return typeof e=="string"})?[s]:[]}function m(e){if(!Array.isArray(e))return[o];var t=[];return e.forEach(function(e){t=t.concat(r.validate(e))}),t}function g(e){if(!Array.isArray(e))return[];var n=[],r=e.filter(function(e){return e.name}),i=r.map(function(e){return e.name});return i.reduce(function(e,r){return e[r]?n.push(t("%s %s",u,r)):e[r]=!0,e},{}),n}function y(e){var t=[];return e===null&&t.push(a),t}function b(e){return n(e.out)}function w(e){var n=[];return e.reduce(function(e,r){return b(r).forEach(function(r){e[r]!==undefined?n.push(t("%s: %s",f,r)):e[r]=!0}),e},{}),n}function E(e){var n=[],r={};return e.locals&&(r=Object.keys(e.locals).reduce(function(e,t){return e[t]=!0,e},r)),e.inParams.reduce(function(e,t){return e[t]=!0,e},r),e.tasks.reduce(function(e,t){return t.out.reduce(function(e,t){return e[t]=!0,e},e)},r),e.tasks.reduce(function(e,n){return n.a.reduce(function(e,n){return!p(n)&&!r[n]&&e.push(t(l,n)),e},e)},n),e.outTask.a.reduce(function(e,n){return!p(n)&&!r[n]&&e.push(t(l,n)),e},n),n}var i="ast must be an object with inParams, tasks, and outTask",s="ast.inParams must be an array of strings",o="ast.tasks must be an array of tasks",u="ast.tasks that specify name need to be unique, duplicate:",a="ast.locals should not be null",f="multiple tasks output the same param, must be unique. param",l="missing or mispelled variable referenced in flow definition: %s",c=/^(true|false|this|null|\-?[0-9\.]+)$|'|"|\./i;return d}),define("react/input-parser",["./event-manager"],function(e){function r(e){return e&&e.reactExecOptions}function i(e){return r(e)}function s(e){return!r(e)}function o(e,t){return Object.keys(t).forEach(function(n){e[n]=t[n]}),e}function u(e,t,r){var i={};return i.args=t.map(function(t){return e.shift()}),r===n.CALLBACK&&e.length&&(i.cb=e.shift()),i.extra=e,i}function a(n,r){var a={},f=n.filter(i);f.unshift(t),a.options=f.reduce(o,{});var l=n.filter(s),c=u(l,r.inParams,a.options.outputStyle);return a.args=c.args,a.cb=c.cb,c.outputStyle&&(a.options.outputStyle=c.outputStyle),c.extra&&(a.extraArgs=c.extra),e.global.emit(e.TYPES.EXEC_INPUT_PREPROCESS,a),a}var t={reactExecOptions:!0,outputStyle:"cb"},n={CALLBACK:"cb",NONE:"none"};return a.defaultExecOptions=t,a}),define("react/id",[],function(){function t(){return e+=1,e===Number.MAX_VALUE&&(e=0),e}var e=0;return{createUniqueId:t}}),define("react/core",["./eventemitter","./error","./validate","./task","./status","./vcon","./event-manager","./input-parser","./id","./sprintf"],function(e,t,n,r,i,s,o,u,a,f){function h(e){return Object.keys(l).reduce(function(e,t){return e[t]||(e[t]=l[t]),e},e)}function p(){return f("flow_%s",a.createUniqueId())}function d(){function f(t){Object.keys(t).forEach(function(e){i[e]=t[e]});var s=n(i);return s.length||(i.name||(i.name=p()),r.nameTasks(i.tasks)),Object.freeze&&(Object.keys(t).forEach(function(e){typeof t[e]=="object"&&Object.freeze(t[e])}),Object.freeze(t)),e.emit(o.TYPES.AST_DEFINED,i),s}function d(t,n,f,l){function E(){if(!b.f)return;if(b.isReady())return b.exec();r.findReadyAndExec(m,g,y,w,E,d)}var p=Array.prototype.slice.call(arguments),d={execId:a.createUniqueId(),args:p,ast:i,flowEmitter:e};d.name=i.name||d.execId,e.emit(o.TYPES.EXEC_FLOW_START,d);var v=u(p,i),m=s.create(v.args,i.inParams,i.locals,this);d.parsedInput=v,d.options=h(v.options),d.vCon=m,d.taskDefs=i.tasks.slice(),d.outTaskDef=Object.create(i.outTask),c.emit(o.TYPES.EXEC_TASKS_PRECREATE,d);var g=d.taskDefs.map(r.create),y=r.nameTasks(g),b=r.createOutTask(d.outTaskDef,v.cb,g,m,d.options,d),w=r.createErrorHandler(m,b);return g.forEach(function(t){t.id=a.createUniqueId(),t.env=d,t.prepare&&t.prepare(w,m,E,e)}),E(),b.retValue}if(arguments.length)throw new Error("react() takes no args, check API");t.ensureStackTraceLimitSet(l.stackTraceLimitMin);var e=o.create();e.parent=c;var i={name:undefined,inParams:[],tasks:[],outTask:{},locals:{}},v=d;return v.ast=i,v.setAndValidateAST=f,v.events=e,v}var l={stackTraceLimitMin:30},c=o.global;return d.options=l,d.events=c,d}),define("react/parse",["./sprintf"],function(e){function t(e){return e?e.split(",").map(function(e){return e.trim()}).filter(function(e){return e}):[]}function n(e,t){if(typeof e!="string")return e;var n=t.regex?t.regex.exec(e):e.split(t.splitStr);return n?t.fn(n,e):e}function r(t,r,i){var s=r.reduce(n,t);if(typeof s!="string")return s;throw new Error(e(i,t))}return{splitTrimFilterArgs:t,parseStr:r}}),define("react/dsl",["./sprintf","./core","./parse","./task"],function(e,t,n,r){function h(e){return e.length&&e[e.length-1].match(l)&&e.pop(),e}function p(e){return e.length&&e[0].match(c)&&e.shift(),e}function v(e){var t=n.parseStr(e,[d],s);return t.inDef=h(t.inDef),t}function m(t){var n=[],r,i,s;while(t.length>=2){i={},r=t.shift(),s=v(t.shift()),typeof t[0]=="object"&&(i=t.shift()),i.f=r,i.a=s.inDef;var o=s.type;i.out=s.outDef,i.type=o,n.push(i)}if(t.length)throw new Error(e(a,t[0]));return n}function g(e){var t=e.shift()||"",n=e.length&&typeof e[0]=="object"?e.shift():{},r=e,i={inOutParamStr:t,taskDefArr:r,options:n};return i}function y(n,r,s,o){var u=t();if(n&&f.test(n))throw new Error(e(i,n));var a=g(Array.prototype.slice.call(arguments,1)),l=v(a.inOutParamStr),c={name:n,inParams:l.inDef,tasks:m(a.taskDefArr),outTask:{a:l.outDef}};a.options&&Object.keys(a.options).forEach(function(e){c[e]=a.options[e]});var h=u.setAndValidateAST(c);if(h.length){var p=h.join("\n");throw new Error(p)}return u}function b(e,n,i,s){var o=t(),u=g(Array.prototype.slice.call(arguments,1)),a=v(u.inOutParamStr),f=r.serializeTasks(m(u.taskDefArr)),l={name:e,inParams:a.inDef,tasks:f,outTask:{type:"finalcbFirst",a:a.outDef}};u.options&&Object.keys(u.options).forEach(function(e){l[e]=u.options[e]});var c=o.setAndValidateAST(l);if(c.length){var h=c.join("\n");throw new Error(h)}return o}var i="first flow parameter should be the flow name, but found in/out def: %s",s='params in wrong format, wanted "foo, bar, cb -> err, baz" - found: %s',o='callback specified, but first out param was not "err", use for clarity. Found in/out def: %s',u="found err param, but cb/callback is not specified, is this cb-style async or sync function? Found in/out def: %s",a="extra unmatched task arg: %s",f=/\->/,l=/^cb|callback$/i,c=/^err$/i,d={splitStr:"->",fn:function(t,r){var i=n.splitTrimFilterArgs(t[0]),s=i[i.length-1],a=s&&l.test(s)?"cb":"ret",f=n.splitTrimFilterArgs(t[1]),d=f[0];if(a==="cb"&&(!d||!c.test(d)))throw new Error(e(o,r));if(a==="ret"&&d&&c.test(d))throw new Error(e(u,r));return{type:a,inDef:h(i),outDef:p(f)}}};return y.selectFirst=b,y}),define("react/track-tasks",[],function(){function t(t){if(e)return;e=!0,t.events.on(t.events.TYPES.EXEC_FLOW_START,function(e){e.startTime=Date.now(),e.flowEmitter.emit(t.events.TYPES.FLOW_BEGIN,e)}),t.events.on(t.events.TYPES.EXEC_TASK_START,function(e){e.startTime=Date.now(),e.env.flowEmitter.emit(t.events.TYPES.TASK_BEGIN,e)}),t.events.on(t.events.TYPES.EXEC_TASK_COMPLETE,function(e){e.endTime=Date.now(),e.elapsedTime=e.endTime-e.startTime,e.env.flowEmitter.emit(t.events.TYPES.TASK_COMPLETE,e)}),t.events.on(t.events.TYPES.EXEC_TASK_ERRORED,function(e){e.endTime=Date.now(),e.elapsedTime=e.endTime-e.startTime,e.env.flowEmitter.emit(t.events.TYPES.TASK_ERRORED,e)}),t.events.on(t.events.TYPES.EXEC_FLOW_COMPLETE,function(e){e.endTime=Date.now(),e.elapsedTime=e.endTime-e.startTime,e.flowEmitter.emit(t.events.TYPES.FLOW_COMPLETE,e)}),t.events.on(t.events.TYPES.EXEC_FLOW_ERRORED,function(e){e.endTime=Date.now(),e.elapsedTime=e.endTime-e.startTime,e.flowEmitter.emit(t.events.TYPES.FLOW_ERRORED,e)})}var e=!1;return t}),define("react/log-events",["util"],function(e){function s(t){var n=new Date;n.setTime(t.startTime);var r=t.args.filter(function(e){return typeof e!="function"}),i=n.toISOString();if(this.event==="flow.complete"){var s=t;console.error("%s: %s msecs: %s \n args: %s \n results: %s\n",this.event,s.name,s.elapsedTime,e.inspect(r),e.inspect(s.results))}else{var o=t.name,u=t.args;console.error("%s: %s \n args: %s\n",this.event,o,e.inspect(r))}}function o(t){var n=new Date;n.setTime(t.startTime);var r=t.args.filter(function(e){return typeof e!="function"}),i=n.toISOString();if(this.event==="task.complete"){var s=t;console.error("%s: %s:%s msecs: %s \n args: %s \n results: %s\n",this.event,s.env.name,s.name,s.elapsedTime,e.inspect(r),e.inspect(s.results))}else{var o=t.name,u=t.args;console.error("%s: %s:%s \n args: %s\n",this.event,t.env.name,t.name,e.inspect(r))}}function u(e,t){if(!e)throw new Error("flowFn is required");e.events._loggingEvents||(e.events._loggingEvents=[]);if(t===!1)e.events._loggingEvents.forEach(function(t){e.events.removeAllListeners(t)}),e.events._loggingEvents.length=0;else if(t&&t!=="*"){var u=i.test(t)?s:o;e.events.removeListener(t,u),e.events.on(t,u),e.events._loggingEvents.push(t)}else e.events.removeListener(n,s),e.events.on(n,s),e.events._loggingEvents.push(n),e.events.removeListener(r,o),e.events.on(r,o),e.events._loggingEvents.push(r)}var t={},n="flow.*",r="task.*",i=/^flow\./;return t.logEvents=u,t}),define("react/promise-resolve",[],function(){function n(n){if(t)return;t=!0,n.events.on(n.events.TYPES.EXEC_TASKS_PRECREATE,function(t){var n=t.vCon.values,r=t.ast.inParams.filter(function(e){var t=n[e];return t&&typeof t.then=="function"});r.forEach(function(r){var i=r+e;n[i]=n[r],n[r]=undefined,t.taskDefs.push({type:"when",a:[i],out:[r]})})})}var e="__promise",t=!1;return n}),define("react/event-collector",[],function(){function e(e){function i(){this.events=[]}e.trackTasks();var t=/^ast\./,n=/^task\./,r=/^flow\./;return i.prototype.capture=function(i,s){function a(e){var i={event:this.event,time:Date.now()};r.test(this.event)?i.env=e:n.test(this.event)?i.task=e:t.test(this.event)&&(i.ast=e),u.events.push(i)}!s&&typeof i=="string"?(s=i,i=e):i||(i=e),s||(s="*");var o=i.events,u=this;o.on(s,a)},i.prototype.list=function(){return this.events},i.prototype.clear=function(){this.events=[]},new i}return e}),define("react/react",["./core","./dsl","./track-tasks","./log-events","./promise-resolve","./event-collector"],function(e,t,n,r,i,s){function u(){i(o)}function a(){n(o)}function f(e,t){return typeof e!="function"&&(t=e,e=undefined),e||(e=o),a(),r.logEvents(e,t)}function l(){return s(o)}var o=t;return o.options=e.options,o.events=e.events,o.logEvents=f,o.resolvePromises=u,o.trackTasks=a,o.createEventCollector=l,o}),define("react",["react/react"],function(e){return e});
|
package/doc/advanced.md
DELETED
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
# Advanced React
|
|
2
|
-
|
|
3
|
-
<a name="directAST"/>
|
|
4
|
-
## Example defining directly using AST
|
|
5
|
-
|
|
6
|
-
Defining flow directly using the AST. Additional DSL interfaces can be built by simply having them build the proper AST.
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
```javascript
|
|
10
|
-
var react = require('react');
|
|
11
|
-
|
|
12
|
-
function load(res, cb) { setTimeout(cb, 100, null, res + '-loaded'); }
|
|
13
|
-
function prefix(prefstr, str, cb) { setTimeout(cb, 100, null, prefstr + str); }
|
|
14
|
-
function postfix(str, poststr, cb) { setTimeout(cb, 100, null, str + poststr); }
|
|
15
|
-
function upper(str) { return str.toUpperCase(); }
|
|
16
|
-
|
|
17
|
-
var fn = react();
|
|
18
|
-
var errors = fn.setAndValidateAST({
|
|
19
|
-
inParams: ['res', 'prefstr', 'poststr'],
|
|
20
|
-
tasks: [
|
|
21
|
-
{ f: load, a: ['res'], out: ['lres'] },
|
|
22
|
-
{ f: upper, a: ['lres'], out: ['ulres'], type: 'ret' },
|
|
23
|
-
{ f: prefix, a: ['prefstr', 'ulres'], out: ['plres'] },
|
|
24
|
-
{ f: postfix, a: ['plres', 'poststr'], out: ['plresp'] }
|
|
25
|
-
],
|
|
26
|
-
outTask: { a: ['plresp'] }
|
|
27
|
-
});
|
|
28
|
-
console.error('errors:', errors); // []
|
|
29
|
-
|
|
30
|
-
fn('foo', 'pre-', '-post', function cb(err, lres) {
|
|
31
|
-
console.error('err:', err); // null
|
|
32
|
-
console.error('lres:', lres); // pre-FOO-LOADED-post
|
|
33
|
-
});
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
## AST Definition
|
|
38
|
-
|
|
39
|
-
The abstract syntax tree or AST provided by React represents the data necessary to define the flow. By abstracting this from the DSL, it allows new skins or interfaces to be developed without need to change the core engine.
|
|
40
|
-
|
|
41
|
-
The AST is normally created at parse time when the React main function is called (or one of the alternate DSL's is called). This can be done a module load time such that after loading the React defined flow function's AST is generated and ready to process eliminating parsing and validation overhead when it is invoked in the future. This has the added advantage that since validation has also been performed that additional syntax issues or incomplete flow defintion errors can be caught quickly.
|
|
42
|
-
|
|
43
|
-
After the flow function has been created, you can review the generated AST for a function by accessing the ast.
|
|
44
|
-
|
|
45
|
-
```javascript
|
|
46
|
-
var react = require('react');
|
|
47
|
-
var fn = react('my-flow-name', 'paramName1, paramName2, cb -> err, outParamName1, outParamName2',
|
|
48
|
-
functionRefOrMethodStr, 'paramName1, cb -> err, outParamName2', // async cb task
|
|
49
|
-
functionRefOrMethodStr2, 'paramName2, paramName1 -> outParamName1' // sync task
|
|
50
|
-
);
|
|
51
|
-
|
|
52
|
-
console.error(fn.ast); // output the generated AST
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
The AST contains the following pieces:
|
|
56
|
-
|
|
57
|
-
```javascript
|
|
58
|
-
var ast = {
|
|
59
|
-
name: flowName,
|
|
60
|
-
inParams: [],
|
|
61
|
-
tasks: [],
|
|
62
|
-
outTask: {},
|
|
63
|
-
locals: {}
|
|
64
|
-
};
|
|
65
|
-
```
|
|
66
|
-
- **name** - string - represents the name of the flow or function that will be created. React will use the name when generating events so you can monitor progress and performance and also when errors occur.
|
|
67
|
-
- **inParams** - array of strings - the flow input parameter names (excluding the callback param)
|
|
68
|
-
- **tasks** - array of task defintion objects - each containing:
|
|
69
|
-
- **f** - function reference or method string - async or sync function to be used for this task
|
|
70
|
-
- **a** - array of input parameter names (excluding the callback param)
|
|
71
|
-
- **out** - array of output parameter names (excluding the err parame)
|
|
72
|
-
- **type** - type of function determining how function is invoked and its output style - one of: ('cb', 'ret', 'promise', 'when')
|
|
73
|
-
- **name** - string - unique name for each task provided or generated by React
|
|
74
|
-
- **outTask** - task definition object specifying the flow's output style and parameters containing:
|
|
75
|
-
- **f** - will contain reference to the callback function at runtime
|
|
76
|
-
- **a** - parameters being passed as output from the flow
|
|
77
|
-
- **locals** - object provided which contains additional values that will become part of the React variable space like input parameters but can be defined in advance at flow definition. This can be used to provide functions and objects to React enabling string based DSL's. The global variables are already built-in, but any locals that are needed would be specified here.
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
## Plugins (optional requires which turn on additional functionality)
|
|
81
|
-
|
|
82
|
-
Additional functionality which is not enabled by default but available by requiring additional modules.
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
<a name="LogEvents"/>
|
|
86
|
-
### LogEvents - log react progress to stderr
|
|
87
|
-
|
|
88
|
-
For convenience in debugging or in monitoring flow and performance, React has a built-in plugin for easily logging progress to stderr which is loaded and activated calling the react method `logEvents`. It can be specified to log globally for all react functions or only for particular react functions. You also may optionally listen to select events rather than all flow and task events.
|
|
89
|
-
|
|
90
|
-
```javascript
|
|
91
|
-
var react = require('react');
|
|
92
|
-
react.logEvents(); // turn on flow and task logging for all react functions
|
|
93
|
-
|
|
94
|
-
// OR
|
|
95
|
-
|
|
96
|
-
react.logEvents(myReactFn); // turn on flow and task logging for a specific function, repeat as needed
|
|
97
|
-
react.logEvents(myReactFn).logEvents(myReactFn2); // can also chain
|
|
98
|
-
|
|
99
|
-
// Both methods can also take an optional event wildcard to specify what you want to listen to
|
|
100
|
-
|
|
101
|
-
react.logEvents('flow.*'); // turn on flow logging for all react functions
|
|
102
|
-
react.logEvents(myReactFn, 'task.*'); // turn on task logging for myReactFn
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
To turn off logging
|
|
106
|
-
|
|
107
|
-
```javascript
|
|
108
|
-
react.logEvents(false); // turn off logging
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
Available Events that can be logged:
|
|
114
|
-
|
|
115
|
-
- flow.begin - flow execution has started (receives a flow env)
|
|
116
|
-
- flow.complete - flow execution has successfully completed (receives a flow env)
|
|
117
|
-
- flow.errored - flow execution has errored (receives a flow env)
|
|
118
|
-
- task.begin - task has started (receives task)
|
|
119
|
-
- task.complete - task has successfully complted (receives task)
|
|
120
|
-
- task.errored - task has errored (receives task)
|
|
121
|
-
|
|
122
|
-
### Automatic Promise Resolution for inputs
|
|
123
|
-
|
|
124
|
-
If you want to automatically resolve promises in React without having to manually call `when` or `then`, React provides a plugin which will detect the existence of a `then` method (indicating a promise) at runtime from any inputs to the flow and will internally create `when` tasks to resolve them before passing the values to other tasks. This built-in plugin is not loaded normally but is loaded by invoking the react method `resolvePromises`. External plugins like `react-deferred` also enable this but also provide additional promise integration. See https://github.com/jeffbski/react-deferred
|
|
125
|
-
|
|
126
|
-
```javascript
|
|
127
|
-
var react = require('react');
|
|
128
|
-
react.resolvePromises(); // turn on automatic promise detection and resolution
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
### Track tasks - enable task tracking
|
|
132
|
-
|
|
133
|
-
Instead of only logging events to stderr (like LogEvents), this built-in plugin fires events that can be directly monitored. The LogEvent plugin uses this internally to get access to the metrics.
|
|
134
|
-
|
|
135
|
-
Enable this like the other built-in plugins using the method `trackTasks`
|
|
136
|
-
|
|
137
|
-
```javascript
|
|
138
|
-
var react = require('react');
|
|
139
|
-
react.trackTasks(); // turn on flow and task tracking events
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
Available Events that can be consumed
|
|
143
|
-
|
|
144
|
-
- ast.defined - ast was defined (receives the ast)
|
|
145
|
-
- flow.begin - flow execution has started (receives a flow env)
|
|
146
|
-
- flow.complete - flow execution has successfully completed (receives a flow env)
|
|
147
|
-
- flow.errored - flow execution has errored (receives a flow env)
|
|
148
|
-
- task.begin - task has started (receives task)
|
|
149
|
-
- task.complete - task has successfully complted (receives task)
|
|
150
|
-
- task.errored - task has errored (receives task)
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
### EventCollector - simple event accumulator for debug use
|
|
154
|
-
|
|
155
|
-
When developing or debugging it is often useful to accumulate events and then interrogate them to verify operation, especially in testing.
|
|
156
|
-
|
|
157
|
-
To make this easier to accomplish, this plugin provides a simple event accumulator for development use. Note that this accumulator is designed for short term debug use, as it will continue to accumulate events and does not have any size restrictions, it should not be used in production since it will just continue to grow in size unless manually cleared.
|
|
158
|
-
|
|
159
|
-
```javascript
|
|
160
|
-
var react = require('react');
|
|
161
|
-
var collector = react.createEventCollector();
|
|
162
|
-
|
|
163
|
-
collector.capture(); // capture all flow and task events for all react flows
|
|
164
|
-
collector.capture('flow.*'); // capture all flow events for all react flows
|
|
165
|
-
collector.capture(flowFn, 'task.*'); // capture task events on a flow
|
|
166
|
-
collector.capture(flowFn, 'flow.*'); // add capture flow events on a flow
|
|
167
|
-
|
|
168
|
-
var events = collector.list(); // retrieve the list of events
|
|
169
|
-
collector.clear(); // clear the list of events;
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
### External Plugins
|
|
173
|
-
|
|
174
|
-
- https://github.com/jeffbski/react-deferred - integrates jQuery style Deferred/Promises with react, providing automatic promise resolution and optional usage for react functions where by calling without a callback returns a promise.
|
package/doc/color-def.graffle
DELETED
|
@@ -1,938 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
-
<plist version="1.0">
|
|
4
|
-
<dict>
|
|
5
|
-
<key>ActiveLayerIndex</key>
|
|
6
|
-
<integer>0</integer>
|
|
7
|
-
<key>ApplicationVersion</key>
|
|
8
|
-
<array>
|
|
9
|
-
<string>com.omnigroup.OmniGrafflePro</string>
|
|
10
|
-
<string>138.33.0.157554</string>
|
|
11
|
-
</array>
|
|
12
|
-
<key>AutoAdjust</key>
|
|
13
|
-
<true/>
|
|
14
|
-
<key>BackgroundGraphic</key>
|
|
15
|
-
<dict>
|
|
16
|
-
<key>Bounds</key>
|
|
17
|
-
<string>{{0, 0}, {576, 733}}</string>
|
|
18
|
-
<key>Class</key>
|
|
19
|
-
<string>SolidGraphic</string>
|
|
20
|
-
<key>ID</key>
|
|
21
|
-
<integer>2</integer>
|
|
22
|
-
<key>Style</key>
|
|
23
|
-
<dict>
|
|
24
|
-
<key>shadow</key>
|
|
25
|
-
<dict>
|
|
26
|
-
<key>Draws</key>
|
|
27
|
-
<string>NO</string>
|
|
28
|
-
</dict>
|
|
29
|
-
<key>stroke</key>
|
|
30
|
-
<dict>
|
|
31
|
-
<key>Draws</key>
|
|
32
|
-
<string>NO</string>
|
|
33
|
-
</dict>
|
|
34
|
-
</dict>
|
|
35
|
-
</dict>
|
|
36
|
-
<key>CanvasOrigin</key>
|
|
37
|
-
<string>{0, 0}</string>
|
|
38
|
-
<key>ColumnAlign</key>
|
|
39
|
-
<integer>1</integer>
|
|
40
|
-
<key>ColumnSpacing</key>
|
|
41
|
-
<real>36</real>
|
|
42
|
-
<key>CreationDate</key>
|
|
43
|
-
<string>2012-01-17 20:24:28 +0000</string>
|
|
44
|
-
<key>Creator</key>
|
|
45
|
-
<string>Barczewski, Jeffrey (ELS-STL)</string>
|
|
46
|
-
<key>DisplayScale</key>
|
|
47
|
-
<string>1 0/72 in = 1 0/72 in</string>
|
|
48
|
-
<key>GraphDocumentVersion</key>
|
|
49
|
-
<integer>8</integer>
|
|
50
|
-
<key>GraphicsList</key>
|
|
51
|
-
<array>
|
|
52
|
-
<dict>
|
|
53
|
-
<key>Class</key>
|
|
54
|
-
<string>LineGraphic</string>
|
|
55
|
-
<key>ID</key>
|
|
56
|
-
<integer>26</integer>
|
|
57
|
-
<key>Points</key>
|
|
58
|
-
<array>
|
|
59
|
-
<string>{365.5, 129.8421}</string>
|
|
60
|
-
<string>{275.5, 139}</string>
|
|
61
|
-
</array>
|
|
62
|
-
<key>Style</key>
|
|
63
|
-
<dict>
|
|
64
|
-
<key>stroke</key>
|
|
65
|
-
<dict>
|
|
66
|
-
<key>HeadArrow</key>
|
|
67
|
-
<string>FilledArrow</string>
|
|
68
|
-
<key>LineType</key>
|
|
69
|
-
<integer>1</integer>
|
|
70
|
-
<key>TailArrow</key>
|
|
71
|
-
<string>0</string>
|
|
72
|
-
</dict>
|
|
73
|
-
</dict>
|
|
74
|
-
<key>Tail</key>
|
|
75
|
-
<dict>
|
|
76
|
-
<key>ID</key>
|
|
77
|
-
<integer>22</integer>
|
|
78
|
-
</dict>
|
|
79
|
-
</dict>
|
|
80
|
-
<dict>
|
|
81
|
-
<key>Class</key>
|
|
82
|
-
<string>LineGraphic</string>
|
|
83
|
-
<key>ID</key>
|
|
84
|
-
<integer>25</integer>
|
|
85
|
-
<key>Points</key>
|
|
86
|
-
<array>
|
|
87
|
-
<string>{365.5, 124.95454}</string>
|
|
88
|
-
<string>{302.5, 125.5}</string>
|
|
89
|
-
</array>
|
|
90
|
-
<key>Style</key>
|
|
91
|
-
<dict>
|
|
92
|
-
<key>stroke</key>
|
|
93
|
-
<dict>
|
|
94
|
-
<key>HeadArrow</key>
|
|
95
|
-
<string>FilledArrow</string>
|
|
96
|
-
<key>LineType</key>
|
|
97
|
-
<integer>1</integer>
|
|
98
|
-
<key>TailArrow</key>
|
|
99
|
-
<string>0</string>
|
|
100
|
-
</dict>
|
|
101
|
-
</dict>
|
|
102
|
-
<key>Tail</key>
|
|
103
|
-
<dict>
|
|
104
|
-
<key>ID</key>
|
|
105
|
-
<integer>22</integer>
|
|
106
|
-
</dict>
|
|
107
|
-
</dict>
|
|
108
|
-
<dict>
|
|
109
|
-
<key>Class</key>
|
|
110
|
-
<string>LineGraphic</string>
|
|
111
|
-
<key>ID</key>
|
|
112
|
-
<integer>24</integer>
|
|
113
|
-
<key>Points</key>
|
|
114
|
-
<array>
|
|
115
|
-
<string>{365.5, 119.32394}</string>
|
|
116
|
-
<string>{276, 110.5}</string>
|
|
117
|
-
</array>
|
|
118
|
-
<key>Style</key>
|
|
119
|
-
<dict>
|
|
120
|
-
<key>stroke</key>
|
|
121
|
-
<dict>
|
|
122
|
-
<key>HeadArrow</key>
|
|
123
|
-
<string>FilledArrow</string>
|
|
124
|
-
<key>LineType</key>
|
|
125
|
-
<integer>1</integer>
|
|
126
|
-
<key>TailArrow</key>
|
|
127
|
-
<string>0</string>
|
|
128
|
-
</dict>
|
|
129
|
-
</dict>
|
|
130
|
-
<key>Tail</key>
|
|
131
|
-
<dict>
|
|
132
|
-
<key>ID</key>
|
|
133
|
-
<integer>22</integer>
|
|
134
|
-
</dict>
|
|
135
|
-
</dict>
|
|
136
|
-
<dict>
|
|
137
|
-
<key>Bounds</key>
|
|
138
|
-
<string>{{365.5, 117.5}, {105, 14}}</string>
|
|
139
|
-
<key>Class</key>
|
|
140
|
-
<string>ShapedGraphic</string>
|
|
141
|
-
<key>FitText</key>
|
|
142
|
-
<string>YES</string>
|
|
143
|
-
<key>Flow</key>
|
|
144
|
-
<string>Resize</string>
|
|
145
|
-
<key>ID</key>
|
|
146
|
-
<integer>22</integer>
|
|
147
|
-
<key>Shape</key>
|
|
148
|
-
<string>Rectangle</string>
|
|
149
|
-
<key>Style</key>
|
|
150
|
-
<dict>
|
|
151
|
-
<key>fill</key>
|
|
152
|
-
<dict>
|
|
153
|
-
<key>Draws</key>
|
|
154
|
-
<string>NO</string>
|
|
155
|
-
</dict>
|
|
156
|
-
<key>shadow</key>
|
|
157
|
-
<dict>
|
|
158
|
-
<key>Draws</key>
|
|
159
|
-
<string>NO</string>
|
|
160
|
-
</dict>
|
|
161
|
-
<key>stroke</key>
|
|
162
|
-
<dict>
|
|
163
|
-
<key>Draws</key>
|
|
164
|
-
<string>NO</string>
|
|
165
|
-
</dict>
|
|
166
|
-
</dict>
|
|
167
|
-
<key>Text</key>
|
|
168
|
-
<dict>
|
|
169
|
-
<key>Pad</key>
|
|
170
|
-
<integer>0</integer>
|
|
171
|
-
<key>Text</key>
|
|
172
|
-
<string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230
|
|
173
|
-
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
|
|
174
|
-
{\colortbl;\red255\green255\blue255;}
|
|
175
|
-
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
|
|
176
|
-
|
|
177
|
-
\f0\fs24 \cf0 task in / out params}</string>
|
|
178
|
-
<key>VerticalPad</key>
|
|
179
|
-
<integer>0</integer>
|
|
180
|
-
</dict>
|
|
181
|
-
<key>Wrap</key>
|
|
182
|
-
<string>NO</string>
|
|
183
|
-
</dict>
|
|
184
|
-
<dict>
|
|
185
|
-
<key>Class</key>
|
|
186
|
-
<string>LineGraphic</string>
|
|
187
|
-
<key>Head</key>
|
|
188
|
-
<dict>
|
|
189
|
-
<key>ID</key>
|
|
190
|
-
<integer>4</integer>
|
|
191
|
-
</dict>
|
|
192
|
-
<key>ID</key>
|
|
193
|
-
<integer>21</integer>
|
|
194
|
-
<key>Points</key>
|
|
195
|
-
<array>
|
|
196
|
-
<string>{57, 142}</string>
|
|
197
|
-
<string>{78.5, 141.00331}</string>
|
|
198
|
-
</array>
|
|
199
|
-
<key>Style</key>
|
|
200
|
-
<dict>
|
|
201
|
-
<key>stroke</key>
|
|
202
|
-
<dict>
|
|
203
|
-
<key>HeadArrow</key>
|
|
204
|
-
<string>FilledArrow</string>
|
|
205
|
-
<key>LineType</key>
|
|
206
|
-
<integer>1</integer>
|
|
207
|
-
<key>TailArrow</key>
|
|
208
|
-
<string>0</string>
|
|
209
|
-
</dict>
|
|
210
|
-
</dict>
|
|
211
|
-
</dict>
|
|
212
|
-
<dict>
|
|
213
|
-
<key>Class</key>
|
|
214
|
-
<string>LineGraphic</string>
|
|
215
|
-
<key>ID</key>
|
|
216
|
-
<integer>20</integer>
|
|
217
|
-
<key>Points</key>
|
|
218
|
-
<array>
|
|
219
|
-
<string>{55.5, 126.26373}</string>
|
|
220
|
-
<string>{78.5, 125}</string>
|
|
221
|
-
</array>
|
|
222
|
-
<key>Style</key>
|
|
223
|
-
<dict>
|
|
224
|
-
<key>stroke</key>
|
|
225
|
-
<dict>
|
|
226
|
-
<key>HeadArrow</key>
|
|
227
|
-
<string>FilledArrow</string>
|
|
228
|
-
<key>LineType</key>
|
|
229
|
-
<integer>1</integer>
|
|
230
|
-
<key>TailArrow</key>
|
|
231
|
-
<string>0</string>
|
|
232
|
-
</dict>
|
|
233
|
-
</dict>
|
|
234
|
-
<key>Tail</key>
|
|
235
|
-
<dict>
|
|
236
|
-
<key>ID</key>
|
|
237
|
-
<integer>17</integer>
|
|
238
|
-
</dict>
|
|
239
|
-
</dict>
|
|
240
|
-
<dict>
|
|
241
|
-
<key>Class</key>
|
|
242
|
-
<string>LineGraphic</string>
|
|
243
|
-
<key>ID</key>
|
|
244
|
-
<integer>19</integer>
|
|
245
|
-
<key>Points</key>
|
|
246
|
-
<array>
|
|
247
|
-
<string>{55.5, 112.25275}</string>
|
|
248
|
-
<string>{78.5, 112}</string>
|
|
249
|
-
</array>
|
|
250
|
-
<key>Style</key>
|
|
251
|
-
<dict>
|
|
252
|
-
<key>stroke</key>
|
|
253
|
-
<dict>
|
|
254
|
-
<key>HeadArrow</key>
|
|
255
|
-
<string>FilledArrow</string>
|
|
256
|
-
<key>LineType</key>
|
|
257
|
-
<integer>1</integer>
|
|
258
|
-
<key>TailArrow</key>
|
|
259
|
-
<string>0</string>
|
|
260
|
-
</dict>
|
|
261
|
-
</dict>
|
|
262
|
-
<key>Tail</key>
|
|
263
|
-
<dict>
|
|
264
|
-
<key>ID</key>
|
|
265
|
-
<integer>16</integer>
|
|
266
|
-
</dict>
|
|
267
|
-
</dict>
|
|
268
|
-
<dict>
|
|
269
|
-
<key>Bounds</key>
|
|
270
|
-
<string>{{16.5, 134.5}, {39, 14}}</string>
|
|
271
|
-
<key>Class</key>
|
|
272
|
-
<string>ShapedGraphic</string>
|
|
273
|
-
<key>FitText</key>
|
|
274
|
-
<string>YES</string>
|
|
275
|
-
<key>Flow</key>
|
|
276
|
-
<string>Resize</string>
|
|
277
|
-
<key>ID</key>
|
|
278
|
-
<integer>18</integer>
|
|
279
|
-
<key>Shape</key>
|
|
280
|
-
<string>Rectangle</string>
|
|
281
|
-
<key>Style</key>
|
|
282
|
-
<dict>
|
|
283
|
-
<key>fill</key>
|
|
284
|
-
<dict>
|
|
285
|
-
<key>Draws</key>
|
|
286
|
-
<string>NO</string>
|
|
287
|
-
</dict>
|
|
288
|
-
<key>shadow</key>
|
|
289
|
-
<dict>
|
|
290
|
-
<key>Draws</key>
|
|
291
|
-
<string>NO</string>
|
|
292
|
-
</dict>
|
|
293
|
-
<key>stroke</key>
|
|
294
|
-
<dict>
|
|
295
|
-
<key>Draws</key>
|
|
296
|
-
<string>NO</string>
|
|
297
|
-
</dict>
|
|
298
|
-
</dict>
|
|
299
|
-
<key>Text</key>
|
|
300
|
-
<dict>
|
|
301
|
-
<key>Pad</key>
|
|
302
|
-
<integer>0</integer>
|
|
303
|
-
<key>Text</key>
|
|
304
|
-
<string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230
|
|
305
|
-
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
|
|
306
|
-
{\colortbl;\red255\green255\blue255;}
|
|
307
|
-
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
|
|
308
|
-
|
|
309
|
-
\f0\fs24 \cf0 sync fn}</string>
|
|
310
|
-
<key>VerticalPad</key>
|
|
311
|
-
<integer>0</integer>
|
|
312
|
-
</dict>
|
|
313
|
-
<key>Wrap</key>
|
|
314
|
-
<string>NO</string>
|
|
315
|
-
</dict>
|
|
316
|
-
<dict>
|
|
317
|
-
<key>Bounds</key>
|
|
318
|
-
<string>{{10.5, 120.5}, {45, 14}}</string>
|
|
319
|
-
<key>Class</key>
|
|
320
|
-
<string>ShapedGraphic</string>
|
|
321
|
-
<key>FitText</key>
|
|
322
|
-
<string>YES</string>
|
|
323
|
-
<key>Flow</key>
|
|
324
|
-
<string>Resize</string>
|
|
325
|
-
<key>ID</key>
|
|
326
|
-
<integer>17</integer>
|
|
327
|
-
<key>Shape</key>
|
|
328
|
-
<string>Rectangle</string>
|
|
329
|
-
<key>Style</key>
|
|
330
|
-
<dict>
|
|
331
|
-
<key>fill</key>
|
|
332
|
-
<dict>
|
|
333
|
-
<key>Draws</key>
|
|
334
|
-
<string>NO</string>
|
|
335
|
-
</dict>
|
|
336
|
-
<key>shadow</key>
|
|
337
|
-
<dict>
|
|
338
|
-
<key>Draws</key>
|
|
339
|
-
<string>NO</string>
|
|
340
|
-
</dict>
|
|
341
|
-
<key>stroke</key>
|
|
342
|
-
<dict>
|
|
343
|
-
<key>Draws</key>
|
|
344
|
-
<string>NO</string>
|
|
345
|
-
</dict>
|
|
346
|
-
</dict>
|
|
347
|
-
<key>Text</key>
|
|
348
|
-
<dict>
|
|
349
|
-
<key>Pad</key>
|
|
350
|
-
<integer>0</integer>
|
|
351
|
-
<key>Text</key>
|
|
352
|
-
<string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230
|
|
353
|
-
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
|
|
354
|
-
{\colortbl;\red255\green255\blue255;}
|
|
355
|
-
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
|
|
356
|
-
|
|
357
|
-
\f0\fs24 \cf0 async fn}</string>
|
|
358
|
-
<key>VerticalPad</key>
|
|
359
|
-
<integer>0</integer>
|
|
360
|
-
</dict>
|
|
361
|
-
<key>Wrap</key>
|
|
362
|
-
<string>NO</string>
|
|
363
|
-
</dict>
|
|
364
|
-
<dict>
|
|
365
|
-
<key>Bounds</key>
|
|
366
|
-
<string>{{10.5, 105.5}, {45, 14}}</string>
|
|
367
|
-
<key>Class</key>
|
|
368
|
-
<string>ShapedGraphic</string>
|
|
369
|
-
<key>FitText</key>
|
|
370
|
-
<string>YES</string>
|
|
371
|
-
<key>Flow</key>
|
|
372
|
-
<string>Resize</string>
|
|
373
|
-
<key>ID</key>
|
|
374
|
-
<integer>16</integer>
|
|
375
|
-
<key>Shape</key>
|
|
376
|
-
<string>Rectangle</string>
|
|
377
|
-
<key>Style</key>
|
|
378
|
-
<dict>
|
|
379
|
-
<key>fill</key>
|
|
380
|
-
<dict>
|
|
381
|
-
<key>Draws</key>
|
|
382
|
-
<string>NO</string>
|
|
383
|
-
</dict>
|
|
384
|
-
<key>shadow</key>
|
|
385
|
-
<dict>
|
|
386
|
-
<key>Draws</key>
|
|
387
|
-
<string>NO</string>
|
|
388
|
-
</dict>
|
|
389
|
-
<key>stroke</key>
|
|
390
|
-
<dict>
|
|
391
|
-
<key>Draws</key>
|
|
392
|
-
<string>NO</string>
|
|
393
|
-
</dict>
|
|
394
|
-
</dict>
|
|
395
|
-
<key>Text</key>
|
|
396
|
-
<dict>
|
|
397
|
-
<key>Pad</key>
|
|
398
|
-
<integer>0</integer>
|
|
399
|
-
<key>Text</key>
|
|
400
|
-
<string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230
|
|
401
|
-
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
|
|
402
|
-
{\colortbl;\red255\green255\blue255;}
|
|
403
|
-
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
|
|
404
|
-
|
|
405
|
-
\f0\fs24 \cf0 async fn}</string>
|
|
406
|
-
<key>VerticalPad</key>
|
|
407
|
-
<integer>0</integer>
|
|
408
|
-
</dict>
|
|
409
|
-
<key>Wrap</key>
|
|
410
|
-
<string>NO</string>
|
|
411
|
-
</dict>
|
|
412
|
-
<dict>
|
|
413
|
-
<key>Class</key>
|
|
414
|
-
<string>LineGraphic</string>
|
|
415
|
-
<key>ID</key>
|
|
416
|
-
<integer>15</integer>
|
|
417
|
-
<key>Points</key>
|
|
418
|
-
<array>
|
|
419
|
-
<string>{430.80768, 57.5}</string>
|
|
420
|
-
<string>{434.5, 89.5}</string>
|
|
421
|
-
</array>
|
|
422
|
-
<key>Style</key>
|
|
423
|
-
<dict>
|
|
424
|
-
<key>stroke</key>
|
|
425
|
-
<dict>
|
|
426
|
-
<key>HeadArrow</key>
|
|
427
|
-
<string>FilledArrow</string>
|
|
428
|
-
<key>LineType</key>
|
|
429
|
-
<integer>1</integer>
|
|
430
|
-
<key>TailArrow</key>
|
|
431
|
-
<string>0</string>
|
|
432
|
-
</dict>
|
|
433
|
-
</dict>
|
|
434
|
-
<key>Tail</key>
|
|
435
|
-
<dict>
|
|
436
|
-
<key>ID</key>
|
|
437
|
-
<integer>7</integer>
|
|
438
|
-
</dict>
|
|
439
|
-
</dict>
|
|
440
|
-
<dict>
|
|
441
|
-
<key>Class</key>
|
|
442
|
-
<string>LineGraphic</string>
|
|
443
|
-
<key>ID</key>
|
|
444
|
-
<integer>14</integer>
|
|
445
|
-
<key>Points</key>
|
|
446
|
-
<array>
|
|
447
|
-
<string>{106.08696, 57.5}</string>
|
|
448
|
-
<string>{104, 89.5}</string>
|
|
449
|
-
</array>
|
|
450
|
-
<key>Style</key>
|
|
451
|
-
<dict>
|
|
452
|
-
<key>stroke</key>
|
|
453
|
-
<dict>
|
|
454
|
-
<key>HeadArrow</key>
|
|
455
|
-
<string>FilledArrow</string>
|
|
456
|
-
<key>LineType</key>
|
|
457
|
-
<integer>1</integer>
|
|
458
|
-
<key>TailArrow</key>
|
|
459
|
-
<string>0</string>
|
|
460
|
-
</dict>
|
|
461
|
-
</dict>
|
|
462
|
-
<key>Tail</key>
|
|
463
|
-
<dict>
|
|
464
|
-
<key>ID</key>
|
|
465
|
-
<integer>8</integer>
|
|
466
|
-
</dict>
|
|
467
|
-
</dict>
|
|
468
|
-
<dict>
|
|
469
|
-
<key>Class</key>
|
|
470
|
-
<string>LineGraphic</string>
|
|
471
|
-
<key>Head</key>
|
|
472
|
-
<dict>
|
|
473
|
-
<key>ID</key>
|
|
474
|
-
<integer>4</integer>
|
|
475
|
-
</dict>
|
|
476
|
-
<key>ID</key>
|
|
477
|
-
<integer>12</integer>
|
|
478
|
-
<key>Points</key>
|
|
479
|
-
<array>
|
|
480
|
-
<string>{292.6358, 57.5}</string>
|
|
481
|
-
<string>{288.68518, 89.5}</string>
|
|
482
|
-
</array>
|
|
483
|
-
<key>Style</key>
|
|
484
|
-
<dict>
|
|
485
|
-
<key>stroke</key>
|
|
486
|
-
<dict>
|
|
487
|
-
<key>HeadArrow</key>
|
|
488
|
-
<string>FilledArrow</string>
|
|
489
|
-
<key>LineType</key>
|
|
490
|
-
<integer>1</integer>
|
|
491
|
-
<key>TailArrow</key>
|
|
492
|
-
<string>0</string>
|
|
493
|
-
</dict>
|
|
494
|
-
</dict>
|
|
495
|
-
<key>Tail</key>
|
|
496
|
-
<dict>
|
|
497
|
-
<key>ID</key>
|
|
498
|
-
<integer>6</integer>
|
|
499
|
-
</dict>
|
|
500
|
-
</dict>
|
|
501
|
-
<dict>
|
|
502
|
-
<key>Class</key>
|
|
503
|
-
<string>LineGraphic</string>
|
|
504
|
-
<key>ID</key>
|
|
505
|
-
<integer>11</integer>
|
|
506
|
-
<key>Points</key>
|
|
507
|
-
<array>
|
|
508
|
-
<string>{188.10257, 57.5}</string>
|
|
509
|
-
<string>{184, 89.5}</string>
|
|
510
|
-
</array>
|
|
511
|
-
<key>Style</key>
|
|
512
|
-
<dict>
|
|
513
|
-
<key>stroke</key>
|
|
514
|
-
<dict>
|
|
515
|
-
<key>HeadArrow</key>
|
|
516
|
-
<string>FilledArrow</string>
|
|
517
|
-
<key>LineType</key>
|
|
518
|
-
<integer>1</integer>
|
|
519
|
-
<key>TailArrow</key>
|
|
520
|
-
<string>0</string>
|
|
521
|
-
</dict>
|
|
522
|
-
</dict>
|
|
523
|
-
<key>Tail</key>
|
|
524
|
-
<dict>
|
|
525
|
-
<key>ID</key>
|
|
526
|
-
<integer>5</integer>
|
|
527
|
-
</dict>
|
|
528
|
-
</dict>
|
|
529
|
-
<dict>
|
|
530
|
-
<key>Bounds</key>
|
|
531
|
-
<string>{{71.5, 29.5}, {71, 28}}</string>
|
|
532
|
-
<key>Class</key>
|
|
533
|
-
<string>ShapedGraphic</string>
|
|
534
|
-
<key>FitText</key>
|
|
535
|
-
<string>YES</string>
|
|
536
|
-
<key>Flow</key>
|
|
537
|
-
<string>Resize</string>
|
|
538
|
-
<key>ID</key>
|
|
539
|
-
<integer>8</integer>
|
|
540
|
-
<key>Shape</key>
|
|
541
|
-
<string>Rectangle</string>
|
|
542
|
-
<key>Style</key>
|
|
543
|
-
<dict>
|
|
544
|
-
<key>fill</key>
|
|
545
|
-
<dict>
|
|
546
|
-
<key>Draws</key>
|
|
547
|
-
<string>NO</string>
|
|
548
|
-
</dict>
|
|
549
|
-
<key>shadow</key>
|
|
550
|
-
<dict>
|
|
551
|
-
<key>Draws</key>
|
|
552
|
-
<string>NO</string>
|
|
553
|
-
</dict>
|
|
554
|
-
<key>stroke</key>
|
|
555
|
-
<dict>
|
|
556
|
-
<key>Draws</key>
|
|
557
|
-
<string>NO</string>
|
|
558
|
-
</dict>
|
|
559
|
-
</dict>
|
|
560
|
-
<key>Text</key>
|
|
561
|
-
<dict>
|
|
562
|
-
<key>Pad</key>
|
|
563
|
-
<integer>0</integer>
|
|
564
|
-
<key>Text</key>
|
|
565
|
-
<string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230
|
|
566
|
-
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
|
|
567
|
-
{\colortbl;\red255\green255\blue255;}
|
|
568
|
-
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
|
|
569
|
-
|
|
570
|
-
\f0\fs24 \cf0 react created\
|
|
571
|
-
function}</string>
|
|
572
|
-
<key>VerticalPad</key>
|
|
573
|
-
<integer>0</integer>
|
|
574
|
-
</dict>
|
|
575
|
-
<key>Wrap</key>
|
|
576
|
-
<string>NO</string>
|
|
577
|
-
</dict>
|
|
578
|
-
<dict>
|
|
579
|
-
<key>Bounds</key>
|
|
580
|
-
<string>{{387.5, 43.5}, {85, 14}}</string>
|
|
581
|
-
<key>Class</key>
|
|
582
|
-
<string>ShapedGraphic</string>
|
|
583
|
-
<key>FitText</key>
|
|
584
|
-
<string>YES</string>
|
|
585
|
-
<key>Flow</key>
|
|
586
|
-
<string>Resize</string>
|
|
587
|
-
<key>ID</key>
|
|
588
|
-
<integer>7</integer>
|
|
589
|
-
<key>Shape</key>
|
|
590
|
-
<string>Rectangle</string>
|
|
591
|
-
<key>Style</key>
|
|
592
|
-
<dict>
|
|
593
|
-
<key>fill</key>
|
|
594
|
-
<dict>
|
|
595
|
-
<key>Draws</key>
|
|
596
|
-
<string>NO</string>
|
|
597
|
-
</dict>
|
|
598
|
-
<key>shadow</key>
|
|
599
|
-
<dict>
|
|
600
|
-
<key>Draws</key>
|
|
601
|
-
<string>NO</string>
|
|
602
|
-
</dict>
|
|
603
|
-
<key>stroke</key>
|
|
604
|
-
<dict>
|
|
605
|
-
<key>Draws</key>
|
|
606
|
-
<string>NO</string>
|
|
607
|
-
</dict>
|
|
608
|
-
</dict>
|
|
609
|
-
<key>Text</key>
|
|
610
|
-
<dict>
|
|
611
|
-
<key>Pad</key>
|
|
612
|
-
<integer>0</integer>
|
|
613
|
-
<key>Text</key>
|
|
614
|
-
<string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230
|
|
615
|
-
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
|
|
616
|
-
{\colortbl;\red255\green255\blue255;}
|
|
617
|
-
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
|
|
618
|
-
|
|
619
|
-
\f0\fs24 \cf0 flow out params}</string>
|
|
620
|
-
<key>VerticalPad</key>
|
|
621
|
-
<integer>0</integer>
|
|
622
|
-
</dict>
|
|
623
|
-
<key>Wrap</key>
|
|
624
|
-
<string>NO</string>
|
|
625
|
-
</dict>
|
|
626
|
-
<dict>
|
|
627
|
-
<key>Bounds</key>
|
|
628
|
-
<string>{{254.5, 43.5}, {78, 14}}</string>
|
|
629
|
-
<key>Class</key>
|
|
630
|
-
<string>ShapedGraphic</string>
|
|
631
|
-
<key>FitText</key>
|
|
632
|
-
<string>YES</string>
|
|
633
|
-
<key>Flow</key>
|
|
634
|
-
<string>Resize</string>
|
|
635
|
-
<key>ID</key>
|
|
636
|
-
<integer>6</integer>
|
|
637
|
-
<key>Shape</key>
|
|
638
|
-
<string>Rectangle</string>
|
|
639
|
-
<key>Style</key>
|
|
640
|
-
<dict>
|
|
641
|
-
<key>fill</key>
|
|
642
|
-
<dict>
|
|
643
|
-
<key>Draws</key>
|
|
644
|
-
<string>NO</string>
|
|
645
|
-
</dict>
|
|
646
|
-
<key>shadow</key>
|
|
647
|
-
<dict>
|
|
648
|
-
<key>Draws</key>
|
|
649
|
-
<string>NO</string>
|
|
650
|
-
</dict>
|
|
651
|
-
<key>stroke</key>
|
|
652
|
-
<dict>
|
|
653
|
-
<key>Draws</key>
|
|
654
|
-
<string>NO</string>
|
|
655
|
-
</dict>
|
|
656
|
-
</dict>
|
|
657
|
-
<key>Text</key>
|
|
658
|
-
<dict>
|
|
659
|
-
<key>Pad</key>
|
|
660
|
-
<integer>0</integer>
|
|
661
|
-
<key>Text</key>
|
|
662
|
-
<string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230
|
|
663
|
-
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
|
|
664
|
-
{\colortbl;\red255\green255\blue255;}
|
|
665
|
-
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
|
|
666
|
-
|
|
667
|
-
\f0\fs24 \cf0 flow in params}</string>
|
|
668
|
-
<key>VerticalPad</key>
|
|
669
|
-
<integer>0</integer>
|
|
670
|
-
</dict>
|
|
671
|
-
<key>Wrap</key>
|
|
672
|
-
<string>NO</string>
|
|
673
|
-
</dict>
|
|
674
|
-
<dict>
|
|
675
|
-
<key>Bounds</key>
|
|
676
|
-
<string>{{161, 43.5}, {56, 14}}</string>
|
|
677
|
-
<key>Class</key>
|
|
678
|
-
<string>ShapedGraphic</string>
|
|
679
|
-
<key>FitText</key>
|
|
680
|
-
<string>YES</string>
|
|
681
|
-
<key>Flow</key>
|
|
682
|
-
<string>Resize</string>
|
|
683
|
-
<key>ID</key>
|
|
684
|
-
<integer>5</integer>
|
|
685
|
-
<key>Shape</key>
|
|
686
|
-
<string>Rectangle</string>
|
|
687
|
-
<key>Style</key>
|
|
688
|
-
<dict>
|
|
689
|
-
<key>fill</key>
|
|
690
|
-
<dict>
|
|
691
|
-
<key>Draws</key>
|
|
692
|
-
<string>NO</string>
|
|
693
|
-
</dict>
|
|
694
|
-
<key>shadow</key>
|
|
695
|
-
<dict>
|
|
696
|
-
<key>Draws</key>
|
|
697
|
-
<string>NO</string>
|
|
698
|
-
</dict>
|
|
699
|
-
<key>stroke</key>
|
|
700
|
-
<dict>
|
|
701
|
-
<key>Draws</key>
|
|
702
|
-
<string>NO</string>
|
|
703
|
-
</dict>
|
|
704
|
-
</dict>
|
|
705
|
-
<key>Text</key>
|
|
706
|
-
<dict>
|
|
707
|
-
<key>Pad</key>
|
|
708
|
-
<integer>0</integer>
|
|
709
|
-
<key>Text</key>
|
|
710
|
-
<string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230
|
|
711
|
-
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
|
|
712
|
-
{\colortbl;\red255\green255\blue255;}
|
|
713
|
-
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
|
|
714
|
-
|
|
715
|
-
\f0\fs24 \cf0 flow-name}</string>
|
|
716
|
-
<key>VerticalPad</key>
|
|
717
|
-
<integer>0</integer>
|
|
718
|
-
</dict>
|
|
719
|
-
<key>Wrap</key>
|
|
720
|
-
<string>NO</string>
|
|
721
|
-
</dict>
|
|
722
|
-
<dict>
|
|
723
|
-
<key>Bounds</key>
|
|
724
|
-
<string>{{78.5, 89.5}, {410, 84}}</string>
|
|
725
|
-
<key>Class</key>
|
|
726
|
-
<string>ShapedGraphic</string>
|
|
727
|
-
<key>FitText</key>
|
|
728
|
-
<string>YES</string>
|
|
729
|
-
<key>Flow</key>
|
|
730
|
-
<string>Resize</string>
|
|
731
|
-
<key>ID</key>
|
|
732
|
-
<integer>4</integer>
|
|
733
|
-
<key>Shape</key>
|
|
734
|
-
<string>Rectangle</string>
|
|
735
|
-
<key>Style</key>
|
|
736
|
-
<dict>
|
|
737
|
-
<key>fill</key>
|
|
738
|
-
<dict>
|
|
739
|
-
<key>Draws</key>
|
|
740
|
-
<string>NO</string>
|
|
741
|
-
</dict>
|
|
742
|
-
<key>shadow</key>
|
|
743
|
-
<dict>
|
|
744
|
-
<key>Draws</key>
|
|
745
|
-
<string>NO</string>
|
|
746
|
-
</dict>
|
|
747
|
-
<key>stroke</key>
|
|
748
|
-
<dict>
|
|
749
|
-
<key>Draws</key>
|
|
750
|
-
<string>NO</string>
|
|
751
|
-
</dict>
|
|
752
|
-
</dict>
|
|
753
|
-
<key>Text</key>
|
|
754
|
-
<dict>
|
|
755
|
-
<key>Align</key>
|
|
756
|
-
<integer>0</integer>
|
|
757
|
-
<key>Pad</key>
|
|
758
|
-
<integer>0</integer>
|
|
759
|
-
<key>Text</key>
|
|
760
|
-
<string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230
|
|
761
|
-
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
|
|
762
|
-
{\colortbl;\red255\green255\blue255;\red11\green130\blue127;\red29\green168\blue7;\red55\green79\blue168;
|
|
763
|
-
\red130\green18\blue115;\red130\green8\blue36;\red57\green89\blue130;\red112\green130\blue22;\red130\green4\blue35;
|
|
764
|
-
\red56\green86\blue130;\red115\green130\blue25;\red130\green7\blue38;\red117\green130\blue26;\red130\green13\blue116;
|
|
765
|
-
}
|
|
766
|
-
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural
|
|
767
|
-
|
|
768
|
-
\f0\fs24 \cf0 var \cf2 fn\cf0 = react('\cf3 loadRender\cf0 ', '\cf4 fooPath, barPath, barP2, cb\cf0 -> \cf5 err, renderedOut\cf0 ',\
|
|
769
|
-
\cf6 loadFoo\cf0 , '\cf7 fooPath\cf0 , cb -> err, \cf8 foo\cf0 ',\
|
|
770
|
-
\cf9 loadBar\cf0 , '\cf10 barPath, barP2\cf0 , cb -> err, \cf11 bar\cf0 ',\
|
|
771
|
-
\cf12 render\cf0 , '\cf13 foo, bar\cf0 -> \cf14 renderedOut\cf0 '\
|
|
772
|
-
);\
|
|
773
|
-
}</string>
|
|
774
|
-
<key>VerticalPad</key>
|
|
775
|
-
<integer>0</integer>
|
|
776
|
-
</dict>
|
|
777
|
-
<key>Wrap</key>
|
|
778
|
-
<string>NO</string>
|
|
779
|
-
</dict>
|
|
780
|
-
</array>
|
|
781
|
-
<key>GridInfo</key>
|
|
782
|
-
<dict/>
|
|
783
|
-
<key>GuidesLocked</key>
|
|
784
|
-
<string>NO</string>
|
|
785
|
-
<key>GuidesVisible</key>
|
|
786
|
-
<string>YES</string>
|
|
787
|
-
<key>HPages</key>
|
|
788
|
-
<integer>1</integer>
|
|
789
|
-
<key>ImageCounter</key>
|
|
790
|
-
<integer>1</integer>
|
|
791
|
-
<key>KeepToScale</key>
|
|
792
|
-
<false/>
|
|
793
|
-
<key>Layers</key>
|
|
794
|
-
<array>
|
|
795
|
-
<dict>
|
|
796
|
-
<key>Lock</key>
|
|
797
|
-
<string>NO</string>
|
|
798
|
-
<key>Name</key>
|
|
799
|
-
<string>Layer 1</string>
|
|
800
|
-
<key>Print</key>
|
|
801
|
-
<string>YES</string>
|
|
802
|
-
<key>View</key>
|
|
803
|
-
<string>YES</string>
|
|
804
|
-
</dict>
|
|
805
|
-
</array>
|
|
806
|
-
<key>LayoutInfo</key>
|
|
807
|
-
<dict>
|
|
808
|
-
<key>Animate</key>
|
|
809
|
-
<string>NO</string>
|
|
810
|
-
<key>circoMinDist</key>
|
|
811
|
-
<real>18</real>
|
|
812
|
-
<key>circoSeparation</key>
|
|
813
|
-
<real>0.0</real>
|
|
814
|
-
<key>layoutEngine</key>
|
|
815
|
-
<string>dot</string>
|
|
816
|
-
<key>neatoSeparation</key>
|
|
817
|
-
<real>0.0</real>
|
|
818
|
-
<key>twopiSeparation</key>
|
|
819
|
-
<real>0.0</real>
|
|
820
|
-
</dict>
|
|
821
|
-
<key>LinksVisible</key>
|
|
822
|
-
<string>NO</string>
|
|
823
|
-
<key>MagnetsVisible</key>
|
|
824
|
-
<string>NO</string>
|
|
825
|
-
<key>MasterSheets</key>
|
|
826
|
-
<array/>
|
|
827
|
-
<key>ModificationDate</key>
|
|
828
|
-
<string>2012-01-17 20:43:33 +0000</string>
|
|
829
|
-
<key>Modifier</key>
|
|
830
|
-
<string>Barczewski, Jeffrey (ELS-STL)</string>
|
|
831
|
-
<key>NotesVisible</key>
|
|
832
|
-
<string>NO</string>
|
|
833
|
-
<key>Orientation</key>
|
|
834
|
-
<integer>2</integer>
|
|
835
|
-
<key>OriginVisible</key>
|
|
836
|
-
<string>NO</string>
|
|
837
|
-
<key>PageBreaks</key>
|
|
838
|
-
<string>YES</string>
|
|
839
|
-
<key>PrintInfo</key>
|
|
840
|
-
<dict>
|
|
841
|
-
<key>NSBottomMargin</key>
|
|
842
|
-
<array>
|
|
843
|
-
<string>float</string>
|
|
844
|
-
<string>41</string>
|
|
845
|
-
</array>
|
|
846
|
-
<key>NSHorizonalPagination</key>
|
|
847
|
-
<array>
|
|
848
|
-
<string>int</string>
|
|
849
|
-
<string>0</string>
|
|
850
|
-
</array>
|
|
851
|
-
<key>NSLeftMargin</key>
|
|
852
|
-
<array>
|
|
853
|
-
<string>float</string>
|
|
854
|
-
<string>18</string>
|
|
855
|
-
</array>
|
|
856
|
-
<key>NSPaperSize</key>
|
|
857
|
-
<array>
|
|
858
|
-
<string>coded</string>
|
|
859
|
-
<string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAx7X05TU2l6ZT1mZn2WgWQCgRgDhg==</string>
|
|
860
|
-
</array>
|
|
861
|
-
<key>NSPrintReverseOrientation</key>
|
|
862
|
-
<array>
|
|
863
|
-
<string>int</string>
|
|
864
|
-
<string>0</string>
|
|
865
|
-
</array>
|
|
866
|
-
<key>NSRightMargin</key>
|
|
867
|
-
<array>
|
|
868
|
-
<string>float</string>
|
|
869
|
-
<string>18</string>
|
|
870
|
-
</array>
|
|
871
|
-
<key>NSTopMargin</key>
|
|
872
|
-
<array>
|
|
873
|
-
<string>float</string>
|
|
874
|
-
<string>18</string>
|
|
875
|
-
</array>
|
|
876
|
-
</dict>
|
|
877
|
-
<key>PrintOnePage</key>
|
|
878
|
-
<false/>
|
|
879
|
-
<key>ReadOnly</key>
|
|
880
|
-
<string>NO</string>
|
|
881
|
-
<key>RowAlign</key>
|
|
882
|
-
<integer>1</integer>
|
|
883
|
-
<key>RowSpacing</key>
|
|
884
|
-
<real>36</real>
|
|
885
|
-
<key>SheetTitle</key>
|
|
886
|
-
<string>Canvas 1</string>
|
|
887
|
-
<key>SmartAlignmentGuidesActive</key>
|
|
888
|
-
<string>YES</string>
|
|
889
|
-
<key>SmartDistanceGuidesActive</key>
|
|
890
|
-
<string>YES</string>
|
|
891
|
-
<key>UniqueID</key>
|
|
892
|
-
<integer>1</integer>
|
|
893
|
-
<key>UseEntirePage</key>
|
|
894
|
-
<false/>
|
|
895
|
-
<key>VPages</key>
|
|
896
|
-
<integer>1</integer>
|
|
897
|
-
<key>WindowInfo</key>
|
|
898
|
-
<dict>
|
|
899
|
-
<key>CurrentSheet</key>
|
|
900
|
-
<integer>0</integer>
|
|
901
|
-
<key>ExpandedCanvases</key>
|
|
902
|
-
<array>
|
|
903
|
-
<dict>
|
|
904
|
-
<key>name</key>
|
|
905
|
-
<string>Canvas 1</string>
|
|
906
|
-
</dict>
|
|
907
|
-
</array>
|
|
908
|
-
<key>Frame</key>
|
|
909
|
-
<string>{{218, 119}, {1216, 858}}</string>
|
|
910
|
-
<key>ListView</key>
|
|
911
|
-
<true/>
|
|
912
|
-
<key>OutlineWidth</key>
|
|
913
|
-
<integer>142</integer>
|
|
914
|
-
<key>RightSidebar</key>
|
|
915
|
-
<false/>
|
|
916
|
-
<key>ShowRuler</key>
|
|
917
|
-
<true/>
|
|
918
|
-
<key>Sidebar</key>
|
|
919
|
-
<true/>
|
|
920
|
-
<key>SidebarWidth</key>
|
|
921
|
-
<integer>120</integer>
|
|
922
|
-
<key>VisibleRegion</key>
|
|
923
|
-
<string>{{0, 0}, {533.5, 344}}</string>
|
|
924
|
-
<key>Zoom</key>
|
|
925
|
-
<real>2</real>
|
|
926
|
-
<key>ZoomValues</key>
|
|
927
|
-
<array>
|
|
928
|
-
<array>
|
|
929
|
-
<string>Canvas 1</string>
|
|
930
|
-
<real>2</real>
|
|
931
|
-
<real>1</real>
|
|
932
|
-
</array>
|
|
933
|
-
</array>
|
|
934
|
-
</dict>
|
|
935
|
-
<key>saveQuickLookFiles</key>
|
|
936
|
-
<string>YES</string>
|
|
937
|
-
</dict>
|
|
938
|
-
</plist>
|